summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore10
-rw-r--r--CHANGELOG106
-rw-r--r--Makefile.am273
-rw-r--r--Makefile.in2008
-rw-r--r--aclocal.m41189
-rw-r--r--bootstrap/doc/re2c.11610
-rw-r--r--bootstrap/src/ast/lex.cc3014
-rw-r--r--bootstrap/src/ast/lex_conf.cc4049
-rw-r--r--bootstrap/src/ast/parser.cc1835
-rw-r--r--bootstrap/src/ast/y.tab.h (renamed from bootstrap/src/parse/y.tab.h)73
-rw-r--r--bootstrap/src/conf/help.cc264
-rw-r--r--bootstrap/src/conf/parse_opts.cc3452
-rw-r--r--bootstrap/src/parse/lex.cc2861
-rw-r--r--bootstrap/src/parse/lex_conf.cc2284
-rw-r--r--bootstrap/src/parse/parser.cc2464
-rwxr-xr-xbuild.sh10
-rwxr-xr-xbuild_mingw.sh10
-rwxr-xr-xcompile348
-rw-r--r--config.h.in58
-rwxr-xr-xconfigure6690
-rw-r--r--configure.ac9
-rwxr-xr-xdepcomp791
-rwxr-xr-xdistcheck.sh24
-rw-r--r--doc/help.rst5
-rw-r--r--doc/help.rst.in5
-rw-r--r--doc/manpage.rst.in958
-rw-r--r--doc/manual/contributors.rst_34
-rw-r--r--doc/manual/features/conditions/conditions.rst_52
-rw-r--r--doc/manual/features/encodings/encodings.rst_56
-rw-r--r--doc/manual/features/generic_api/generic_api.rst_54
-rw-r--r--doc/manual/features/state/state.rst_28
-rw-r--r--doc/manual/features/submatch/submatch.rst_68
-rw-r--r--doc/manual/options/options_list.rst171
-rw-r--r--doc/manual/syntax/configurations.rst_308
-rw-r--r--doc/manual/syntax/interface.rst_119
-rw-r--r--doc/manual/syntax/named_definitions.rst_6
-rw-r--r--doc/manual/syntax/regular_expressions.rst_44
-rw-r--r--doc/manual/syntax/rules.rst_17
-rw-r--r--doc/manual/warnings/warnings_general.rst22
-rw-r--r--doc/manual/warnings/warnings_list.rst40
-rw-r--r--doc/tdfa/tdfa.pdfbin0 -> 836087 bytes
-rw-r--r--examples/001_upn_calculator/README83
-rw-r--r--examples/001_upn_calculator/calc_001.re84
-rw-r--r--examples/001_upn_calculator/calc_002.re69
-rw-r--r--examples/001_upn_calculator/calc_003.re61
-rw-r--r--examples/001_upn_calculator/calc_004.re78
-rw-r--r--examples/001_upn_calculator/calc_005.re144
-rw-r--r--examples/001_upn_calculator/calc_006.s.re162
-rw-r--r--examples/001_upn_calculator/calc_007.b.re135
-rw-r--r--examples/001_upn_calculator/calc_008.b.re158
-rw-r--r--examples/001_upn_calculator/windows/HiResTimer.h54
-rw-r--r--examples/001_upn_calculator/windows/main.b.re291
-rw-r--r--examples/002_strip_comments/README21
-rw-r--r--examples/002_strip_comments/strip_001.s.re147
-rw-r--r--examples/002_strip_comments/strip_002.s.re162
-rw-r--r--examples/002_strip_comments/strip_003.b.re179
-rw-r--r--examples/01_recognizing_integers.i.c171
-rw-r--r--examples/01_recognizing_integers.i.re38
-rw-r--r--examples/02_recognizing_strings.i.c72
-rw-r--r--examples/02_recognizing_strings.i.re47
-rw-r--r--examples/03_arbitrary_large_input.i.c121
-rw-r--r--examples/03_arbitrary_large_input.i.re78
-rw-r--r--examples/04_parsing_integers_blocks.i.c251
-rw-r--r--examples/04_parsing_integers_blocks.i.re78
-rw-r--r--examples/05_parsing_integers_conditions.ci.c251
-rw-r--r--examples/05_parsing_integers_conditions.ci.re59
-rw-r--r--examples/06_braille.cr8i.c1701
-rw-r--r--examples/06_braille.cr8i.re229
-rw-r--r--examples/07_cxx98.i.c8332
-rw-r--r--examples/07_cxx98.i.re374
-rw-r--r--examples/08_ipv4.i--tags.c253
-rw-r--r--examples/08_ipv4.i--tags.re32
-rw-r--r--examples/09_etc_passwd.i--tags.c238
-rw-r--r--examples/09_etc_passwd.i--tags.re74
-rw-r--r--examples/10_uri_rfc3986.i--tags.c7935
-rw-r--r--examples/10_uri_rfc3986.i--tags.re169
-rw-r--r--examples/11_http_rfc7230.i--tags.c13267
-rw-r--r--examples/11_http_rfc7230.i--tags.re296
-rw-r--r--examples/13_records.i--tags.c1226
-rw-r--r--examples/13_records.i--tags.re98
-rw-r--r--examples/14_options.i--tags.c1636
-rw-r--r--examples/14_options.i--tags.re91
-rw-r--r--examples/15_binsyms.i--input(custom).c209
-rw-r--r--examples/15_binsyms.i--input(custom).re49
-rw-r--r--examples/16_fake_sentinel.i--input(custom).c249
-rw-r--r--examples/16_fake_sentinel.i--input(custom).re31
-rw-r--r--examples/17_ifstream.i--input(custom).c49
-rw-r--r--examples/17_ifstream.i--input(custom).re30
-rw-r--r--examples/18_push_model.if.c240
-rw-r--r--examples/18_push_model.if.re95
-rw-r--r--examples/input_custom/fixed.re35
-rw-r--r--examples/input_custom/simple/README20
-rw-r--r--examples/input_custom/simple/default.re24
-rw-r--r--examples/input_custom/simple/fgetc.re43
-rw-r--r--examples/input_custom/simple/istringstream.re27
-rw-r--r--examples/langs/c.re272
-rw-r--r--examples/langs/modula.re203
-rw-r--r--examples/langs/rexx.re319
-rw-r--r--examples/push_model/push.re340
-rwxr-xr-xgenhelp.sh13
-rwxr-xr-xinstall-sh501
-rwxr-xr-xmissing215
-rw-r--r--run_tests.sh.in59
-rw-r--r--src/adfa/action.h108
-rw-r--r--src/adfa/adfa.cc177
-rw-r--r--src/adfa/adfa.h120
-rw-r--r--src/adfa/dump.cc101
-rw-r--r--src/adfa/dump.h15
-rw-r--r--src/adfa/prepare.cc348
-rw-r--r--src/ast/ast.cc145
-rw-r--r--src/ast/ast.h140
-rw-r--r--src/ast/input.cc (renamed from src/parse/input.cc)2
-rw-r--r--src/ast/input.h (renamed from src/parse/input.h)8
-rw-r--r--src/ast/lex.re (renamed from src/parse/lex.re)491
-rw-r--r--src/ast/lex_conf.re300
-rw-r--r--src/ast/normalize.cc49
-rw-r--r--src/ast/parser.h32
-rw-r--r--src/ast/parser.ypp274
-rw-r--r--src/ast/scanner.cc98
-rw-r--r--src/ast/scanner.h120
-rw-r--r--src/ast/unescape.cc (renamed from src/parse/unescape.cc)2
-rw-r--r--src/ast/unescape.h (renamed from src/parse/unescape.h)6
-rw-r--r--src/ast/validate.cc99
-rw-r--r--src/code/bitmap.cc150
-rw-r--r--src/code/bitmap.h48
-rw-r--r--src/code/emit.h29
-rw-r--r--src/code/emit_action.cc473
-rw-r--r--src/code/emit_dfa.cc285
-rw-r--r--src/code/go.h240
-rw-r--r--src/code/go_construct.cc328
-rw-r--r--src/code/go_destruct.cc (renamed from src/codegen/go_destruct.cc)10
-rw-r--r--src/code/go_emit.cc249
-rw-r--r--src/code/go_used_labels.cc (renamed from src/codegen/go_used_labels.cc)35
-rw-r--r--src/code/input_api.cc131
-rw-r--r--src/code/input_api.h37
-rw-r--r--src/code/label.cc (renamed from src/codegen/label.cc)2
-rw-r--r--src/code/label.h (renamed from src/codegen/label.h)9
-rw-r--r--src/code/output.cc776
-rw-r--r--src/code/output.h191
-rw-r--r--src/code/print.cc96
-rw-r--r--src/code/print.h17
-rw-r--r--src/codegen/bitmap.cc168
-rw-r--r--src/codegen/bitmap.h45
-rw-r--r--src/codegen/emit.h43
-rw-r--r--src/codegen/emit_action.cc388
-rw-r--r--src/codegen/emit_dfa.cc348
-rw-r--r--src/codegen/go.h216
-rw-r--r--src/codegen/go_construct.cc284
-rw-r--r--src/codegen/go_emit.cc271
-rw-r--r--src/codegen/indent.h24
-rw-r--r--src/codegen/input_api.cc175
-rw-r--r--src/codegen/input_api.h43
-rw-r--r--src/codegen/output.cc465
-rw-r--r--src/codegen/output.h158
-rw-r--r--src/codegen/print.cc156
-rw-r--r--src/codegen/print.h20
-rw-r--r--src/compile.cc193
-rw-r--r--src/compile.h19
-rw-r--r--src/conf/msg.cc197
-rw-r--r--src/conf/msg.h10
-rw-r--r--src/conf/opt.cc220
-rw-r--r--src/conf/opt.h394
-rw-r--r--src/conf/parse_opts.re144
-rw-r--r--src/conf/warn.cc77
-rw-r--r--src/conf/warn.h32
-rw-r--r--src/dfa/cfg/cfg.cc205
-rw-r--r--src/dfa/cfg/cfg.h57
-rw-r--r--src/dfa/cfg/compact.cc48
-rw-r--r--src/dfa/cfg/dce.cc29
-rw-r--r--src/dfa/cfg/dump.cc85
-rw-r--r--src/dfa/cfg/freeze.cc56
-rw-r--r--src/dfa/cfg/interfere.cc101
-rw-r--r--src/dfa/cfg/liveanal.cc173
-rw-r--r--src/dfa/cfg/normalize.cc116
-rw-r--r--src/dfa/cfg/optimize.cc47
-rw-r--r--src/dfa/cfg/rename.cc55
-rw-r--r--src/dfa/cfg/varalloc.cc145
-rw-r--r--src/dfa/closure.cc522
-rw-r--r--src/dfa/closure.h68
-rw-r--r--src/dfa/dead_rules.cc252
-rw-r--r--src/dfa/determinization.cc194
-rw-r--r--src/dfa/dfa.h86
-rw-r--r--src/dfa/dump.cc328
-rw-r--r--src/dfa/dump.h45
-rw-r--r--src/dfa/fallback_tags.cc132
-rw-r--r--src/dfa/fillpoints.cc (renamed from src/ir/dfa/fillpoints.cc)23
-rw-r--r--src/dfa/find_state.cc418
-rw-r--r--src/dfa/find_state.h95
-rw-r--r--src/dfa/minimization.cc (renamed from src/ir/dfa/minimization.cc)78
-rw-r--r--src/dfa/tagpool.cc83
-rw-r--r--src/dfa/tagpool.h52
-rw-r--r--src/dfa/tagtree.cc159
-rw-r--r--src/dfa/tagtree.h48
-rw-r--r--src/dfa/tcmd.cc229
-rw-r--r--src/dfa/tcmd.h56
-rw-r--r--src/globals.h24
-rw-r--r--src/ir/adfa/action.h109
-rw-r--r--src/ir/adfa/adfa.cc135
-rw-r--r--src/ir/adfa/adfa.h101
-rw-r--r--src/ir/adfa/prepare.cc268
-rw-r--r--src/ir/compile.cc104
-rw-r--r--src/ir/compile.h20
-rw-r--r--src/ir/dfa/determinization.cc197
-rw-r--r--src/ir/dfa/dfa.h58
-rw-r--r--src/ir/nfa/calc_size.cc50
-rw-r--r--src/ir/nfa/nfa.cc72
-rw-r--r--src/ir/nfa/nfa.h90
-rw-r--r--src/ir/nfa/split.cc49
-rw-r--r--src/ir/regexp/display.cc51
-rw-r--r--src/ir/regexp/encoding/range_suffix.cc38
-rw-r--r--src/ir/regexp/encoding/utf16/utf16_regexp.h16
-rw-r--r--src/ir/regexp/encoding/utf8/utf8_range.h18
-rw-r--r--src/ir/regexp/encoding/utf8/utf8_regexp.h16
-rw-r--r--src/ir/regexp/fixed_length.cc55
-rw-r--r--src/ir/regexp/regexp.cc241
-rw-r--r--src/ir/regexp/regexp.h52
-rw-r--r--src/ir/regexp/regexp_alt.h31
-rw-r--r--src/ir/regexp/regexp_cat.h30
-rw-r--r--src/ir/regexp/regexp_close.h27
-rw-r--r--src/ir/regexp/regexp_match.h29
-rw-r--r--src/ir/regexp/regexp_null.h21
-rw-r--r--src/ir/regexp/regexp_rule.h52
-rw-r--r--src/ir/rule_rank.cc68
-rw-r--r--src/ir/rule_rank.h44
-rw-r--r--src/ir/skeleton/control_flow.cc61
-rw-r--r--src/ir/skeleton/generate_code.cc323
-rw-r--r--src/ir/skeleton/generate_data.cc215
-rw-r--r--src/ir/skeleton/match_empty.cc49
-rw-r--r--src/ir/skeleton/maxlen.cc50
-rw-r--r--src/ir/skeleton/path.h103
-rw-r--r--src/ir/skeleton/skeleton.cc163
-rw-r--r--src/ir/skeleton/skeleton.h174
-rw-r--r--src/ir/skeleton/unreachable.cc73
-rw-r--r--src/ir/skeleton/way.cc74
-rw-r--r--src/ir/skeleton/way.h20
-rw-r--r--src/main.cc59
-rw-r--r--src/nfa/dump.cc80
-rw-r--r--src/nfa/estimate_size.cc46
-rw-r--r--src/nfa/nfa.h121
-rw-r--r--src/nfa/re_to_nfa.cc125
-rw-r--r--src/parse/code.cc8
-rw-r--r--src/parse/code.h31
-rw-r--r--src/parse/extop.h17
-rw-r--r--src/parse/lex_conf.re222
-rw-r--r--src/parse/loc.h24
-rw-r--r--src/parse/parser.h28
-rw-r--r--src/parse/parser.ypp775
-rw-r--r--src/parse/rules.h29
-rw-r--r--src/parse/scanner.cc211
-rw-r--r--src/parse/scanner.h147
-rw-r--r--src/parse/spec.h55
-rw-r--r--src/re/ast_to_re.cc373
-rw-r--r--src/re/default_tags.cc58
-rw-r--r--src/re/empty_class_policy.h (renamed from src/ir/regexp/empty_class_policy.h)6
-rw-r--r--src/re/encoding/case.h (renamed from src/ir/regexp/encoding/case.h)6
-rw-r--r--src/re/encoding/enc.cc (renamed from src/ir/regexp/encoding/enc.cc)5
-rw-r--r--src/re/encoding/enc.h (renamed from src/ir/regexp/encoding/enc.h)69
-rw-r--r--src/re/encoding/range_suffix.cc32
-rw-r--r--src/re/encoding/range_suffix.h (renamed from src/ir/regexp/encoding/range_suffix.h)13
-rw-r--r--src/re/encoding/utf16/utf16.cc (renamed from src/ir/regexp/encoding/utf16/utf16.cc)2
-rw-r--r--src/re/encoding/utf16/utf16.h (renamed from src/ir/regexp/encoding/utf16/utf16.h)6
-rw-r--r--src/re/encoding/utf16/utf16_range.cc (renamed from src/ir/regexp/encoding/utf16/utf16_range.cc)7
-rw-r--r--src/re/encoding/utf16/utf16_range.h (renamed from src/ir/regexp/encoding/utf16/utf16_range.h)8
-rw-r--r--src/re/encoding/utf16/utf16_regexp.cc (renamed from src/ir/regexp/encoding/utf16/utf16_regexp.cc)26
-rw-r--r--src/re/encoding/utf16/utf16_regexp.h16
-rw-r--r--src/re/encoding/utf8/utf8.cc (renamed from src/ir/regexp/encoding/utf8/utf8.cc)2
-rw-r--r--src/re/encoding/utf8/utf8.h (renamed from src/ir/regexp/encoding/utf8/utf8.h)6
-rw-r--r--src/re/encoding/utf8/utf8_range.cc (renamed from src/ir/regexp/encoding/utf8/utf8_range.cc)7
-rw-r--r--src/re/encoding/utf8/utf8_range.h18
-rw-r--r--src/re/encoding/utf8/utf8_regexp.cc (renamed from src/ir/regexp/encoding/utf8/utf8_regexp.cc)22
-rw-r--r--src/re/encoding/utf8/utf8_regexp.h16
-rw-r--r--src/re/fixed_tags.cc84
-rw-r--r--src/re/nullable.cc51
-rw-r--r--src/re/re.h128
-rw-r--r--src/re/rule.cc12
-rw-r--r--src/re/rule.h89
-rw-r--r--src/re/split_charset.cc60
-rw-r--r--src/re/tag.cc12
-rw-r--r--src/re/tag.h82
-rw-r--r--src/skeleton/control_flow.cc116
-rw-r--r--src/skeleton/generate_code.cc521
-rw-r--r--src/skeleton/generate_data.cc409
-rw-r--r--src/skeleton/maxpath.cc71
-rw-r--r--src/skeleton/path.h78
-rw-r--r--src/skeleton/skeleton.cc107
-rw-r--r--src/skeleton/skeleton.h125
-rw-r--r--src/util/hash32.h21
-rw-r--r--src/util/lookup.h122
-rw-r--r--src/util/ord_hash_set.h115
-rw-r--r--src/util/range.h2
-rw-r--r--src/util/s_to_n32_unsafe.h3
-rw-r--r--src/util/slab_allocator.h70
-rw-r--r--src/util/string_utils.h37
-rw-r--r--src/util/wrap_iter.h26
-rwxr-xr-xtest-driver148
-rw-r--r--test/bug1054496.c4
-rw-r--r--test/bug116.c7
-rw-r--r--test/bug1163046.--skeleton.c39
-rw-r--r--test/bug1163046.c1
-rw-r--r--test/bug128.c5
-rw-r--r--test/bug1297658.c6
-rw-r--r--test/bug142.cbin0 -> 46 bytes
-rw-r--r--test/bug142.rebin0 -> 2 bytes
-rw-r--r--test/bug145.ci.c59
-rw-r--r--test/bug145.ci.re32
-rw-r--r--test/bug147.c1
-rw-r--r--test/bug147.re3
-rw-r--r--test/bug152.c.c15
-rw-r--r--test/bug152.c.re10
-rw-r--r--test/bug1529351.c2
-rw-r--r--test/bug1682718.c5
-rw-r--r--test/bug1682718.is.c3
-rw-r--r--test/bug1708378.ib.c4
-rw-r--r--test/bug2462777.ci.c2
-rw-r--r--test/bug46_infinite_loop.c1
-rw-r--r--test/bug47_dot_escapes.--emit-dot.c2
-rw-r--r--test/bug57.c14
-rw-r--r--test/bug57_original.bi--case-insensitive.c804
-rw-r--r--test/bug60_redundant_yymarker.ci.c54
-rw-r--r--test/bug61.i--empty-class(error).c2
-rw-r--r--test/bug61.i--empty-class(match-empty).c2
-rw-r--r--test/bug61.i--empty-class(match-none)--eager-skip.c49
-rw-r--r--test/bug61.i--empty-class(match-none)--eager-skip.re19
-rw-r--r--test/bug61.i.c2
-rw-r--r--test/bug61_difference_full.i--empty-class(error).c2
-rw-r--r--test/bug61_difference_negative.i--empty-class(error).c2
-rw-r--r--test/bug61_difference_negative.i--empty-class(match-empty).c2
-rw-r--r--test/bug61_difference_negative.i.c2
-rw-r--r--test/bug61_difference_positive.i--empty-class(error).c2
-rw-r--r--test/bug61_difference_positive.i--empty-class(match-empty).c2
-rw-r--r--test/bug61_difference_positive.i.c2
-rw-r--r--test/bug61_negative.i--empty-class(error).c2
-rw-r--r--test/bug61_positive.i--empty-class(error).c2
-rw-r--r--test/c.c360
-rw-r--r--test/calc_001.c23
-rw-r--r--test/calc_001.dei.c5
-rw-r--r--test/calc_001.ei.c5
-rw-r--r--test/calc_002.c23
-rw-r--r--test/calc_003.c23
-rw-r--r--test/calc_004.c21
-rw-r--r--test/calc_005.c21
-rw-r--r--test/calc_006.s.c24
-rw-r--r--test/calc_007.b.c24
-rw-r--r--test/calc_008.b--skeleton.cbin21928 -> 19162 bytes
-rw-r--r--test/calc_008.b.c24
-rw-r--r--test/class3.i8.c912
-rw-r--r--test/cmmap.c360
-rw-r--r--test/cnokw.c168
-rw-r--r--test/code_points.8.c8
-rw-r--r--test/code_points.x.c4
-rw-r--r--test/code_points_error.8.c2
-rw-r--r--test/code_points_error.c2
-rw-r--r--test/code_points_error.e.c2
-rw-r--r--test/code_points_error.u.c2
-rw-r--r--test/code_points_error.w.c2
-rw-r--r--test/code_points_error.x.c2
-rw-r--r--test/code_points_error_esc.c1
-rw-r--r--test/code_points_error_lf.c1
-rw-r--r--test/cond_error_00.c2
-rw-r--r--test/cond_error_01.c.c2
-rw-r--r--test/cond_error_02.c.c1
-rw-r--r--test/cond_error_02.c.re5
-rw-r--r--test/cond_error_03.c.c2
-rw-r--r--test/cond_error_04.c.c1
-rw-r--r--test/cond_error_04.c.re5
-rw-r--r--test/cond_error_05.c.c1
-rw-r--r--test/cond_error_05.c.re5
-rw-r--r--test/cond_error_06.c.c1
-rw-r--r--test/cond_error_06.c.re5
-rw-r--r--test/cond_error_07.c.c2
-rw-r--r--test/cond_error_08.c.c2
-rw-r--r--test/cond_error_09.c.c2
-rw-r--r--test/cond_error_10.c.c4
-rw-r--r--test/cond_error_11.c.c4
-rw-r--r--test/cond_error_12.c.c1
-rw-r--r--test/cond_error_12.c.re6
-rw-r--r--test/condition_02.c.c2
-rw-r--r--test/condition_02.cg.c2
-rw-r--r--test/condition_03.cg.c2
-rw-r--r--test/condition_05.cg.c34
-rw-r--r--test/condition_05.cgitcondition_05.cgit.h.c22
-rw-r--r--test/condition_05.cgtcondition_05.cgt.h.c34
-rw-r--r--test/condition_05.cs.c34
-rw-r--r--test/condition_06.cs.c163
-rw-r--r--test/condition_07.cbi.c1
-rw-r--r--test/condition_08.cbi.c135
-rw-r--r--test/condition_08.cbif.c143
-rw-r--r--test/condition_09.cbif.c144
-rw-r--r--test/condition_09.cgif.c246
-rw-r--r--test/condition_10.cgif--skeleton.c535
-rw-r--r--test/condition_10.cgif.c238
-rw-r--r--test/condition_11.cg.c2
-rw-r--r--test/condition_12.cgif.c238
-rw-r--r--test/condition_13.cg.c2
-rw-r--r--test/condition_13a.cg.c74
-rw-r--r--test/condition_13a.cg.re9
-rw-r--r--test/condition_14.cbif.c136
-rw-r--r--test/condition_14.cgif.c238
-rw-r--r--test/condition_14.cif.c152
-rw-r--r--test/condition_14.csif.c136
-rw-r--r--test/condition_15.csif.c136
-rw-r--r--test/condtype_decl.c.c9
-rw-r--r--test/condtype_decl.cg.c9
-rw-r--r--test/condtype_decl.cs.c9
-rw-r--r--test/condtype_forwdecl.cg.c3
-rw-r--r--test/condtype_forwdecl.cs.c3
-rw-r--r--test/condtype_yysetcondition.cg.c21
-rw-r--r--test/condtype_yysetcondition.cs.c21
-rw-r--r--test/config/flags.c3
-rw-r--r--test/config/flags.re44
-rw-r--r--test/config10.--skeleton.cbin19428 -> 18365 bytes
-rw-r--r--test/config10.c19
-rw-r--r--test/config12_error1.c2
-rw-r--r--test/config4f.f.c7
-rw-r--r--test/config4g.ifs.c1
-rw-r--r--test/config5.c15
-rw-r--r--test/config6.c14
-rw-r--r--test/config8.c19
-rw-r--r--test/config9.b.c17
-rw-r--r--test/control_flow_fail.--skeleton.cbin10908 -> 11339 bytes
-rw-r--r--test/control_flow_fail.c6
-rw-r--r--test/control_flow_ok.--skeleton.cbin7423 -> 7854 bytes
-rw-r--r--test/control_flow_ok.c6
-rw-r--r--test/control_flow_yymarker_fail.--skeleton.cbin10357 -> 10776 bytes
-rw-r--r--test/control_flow_yymarker_fail.c2
-rw-r--r--test/control_flow_yymarker_ok.--skeleton.cbin8241 -> 8660 bytes
-rw-r--r--test/control_flow_yymarker_ok.c6
-rw-r--r--test/control_flow_yymarker_yyaccept_fail.--skeleton.cbin14805 -> 15281 bytes
-rw-r--r--test/control_flow_yymarker_yyaccept_fail.c2
-rw-r--r--test/control_flow_yymarker_yyaccept_ok.--skeleton.cbin12143 -> 12619 bytes
-rw-r--r--test/control_flow_yymarker_yyaccept_ok.c2
-rw-r--r--test/cpoint_class_error_eol.c1
-rw-r--r--test/cpoint_class_error_eol.re4
-rw-r--r--test/cpoint_class_error_esc_eol.c1
-rw-r--r--test/cpoint_class_error_esc_eol.re4
-rw-r--r--test/cpoint_string_error_eol.c1
-rw-r--r--test/cpoint_string_error_eol.re (renamed from test/code_points_error_lf.re)0
-rw-r--r--test/cpoint_string_error_esc_eol.c1
-rw-r--r--test/cpoint_string_error_esc_eol.re (renamed from test/code_points_error_esc.re)0
-rw-r--r--test/ctx.--skeleton.cbin19438 -> 18355 bytes
-rw-r--r--test/ctx.b.c18
-rw-r--r--test/ctx.c20
-rw-r--r--test/ctx.s.c18
-rw-r--r--test/cunroll.c270
-rw-r--r--test/default.8.c5
-rw-r--r--test/default.c5
-rw-r--r--test/default.e.c5
-rw-r--r--test/default.u.c5
-rw-r--r--test/default.w.c5
-rw-r--r--test/default.x.c5
-rw-r--r--test/default_dup.i.c2
-rw-r--r--test/default_dup.ic.c2
-rw-r--r--test/default_dup_star_1.ic.c15
-rw-r--r--test/default_dup_star_2.ic.c2
-rw-r--r--test/default_full.8--encoding-policy(fail).c4
-rw-r--r--test/default_full.8--encoding-policy(substitute).c4
-rw-r--r--test/default_full.8.c4
-rw-r--r--test/default_full.c5
-rw-r--r--test/default_full.e.c5
-rw-r--r--test/default_full.u.c5
-rw-r--r--test/default_full.w.c5
-rw-r--r--test/default_full.x--encoding-policy(fail).c5
-rw-r--r--test/default_full.x--encoding-policy(substitute).c5
-rw-r--r--test/default_full.x.c4
-rw-r--r--test/dot.--emit-dot.c4
-rw-r--r--test/dot2.--emit-dot.c4
-rw-r--r--test/dot_backslash.--emit-dot.c2
-rw-r--r--test/dot_conditions.c--emit-dot.c4
-rw-r--r--test/dot_ranges.--emit-dot.c4
-rw-r--r--test/enc_reset.i.c47
-rw-r--r--test/enc_reset.i.re14
-rw-r--r--test/error1.c2
-rw-r--r--test/error10.c2
-rw-r--r--test/error11.c2
-rw-r--r--test/error12.c2
-rw-r--r--test/error13.1.c9
-rw-r--r--test/error13.c9
-rw-r--r--test/error14.1.c2
-rw-r--r--test/error14.c2
-rw-r--r--test/error15.c1
-rw-r--r--test/error15.re7
-rw-r--r--test/error2.c2
-rw-r--r--test/error3.c2
-rw-r--r--test/error4.c2
-rw-r--r--test/error5.c2
-rw-r--r--test/error6.c2
-rw-r--r--test/error7.c2
-rw-r--r--test/error8.c2
-rw-r--r--test/error9.c2
-rw-r--r--test/flex-01.i.c2
-rw-r--r--test/input11.b--eager-skip.c139
-rw-r--r--test/input11.b--eager-skip.re17
-rw-r--r--test/input2.b.c2
-rw-r--r--test/input2.c2
-rw-r--r--test/input3.c2
-rw-r--r--test/input4.--empty-class(error).c2
-rw-r--r--test/input4.--empty-class(match-empty).c11
-rw-r--r--test/input4.--empty-class(match-none).c5
-rw-r--r--test/input4.c11
-rw-r--r--test/input6.--empty-class(error).c2
-rw-r--r--test/input6.--empty-class(match-empty).c11
-rw-r--r--test/input6.--empty-class(match-none).c5
-rw-r--r--test/input6.c11
-rw-r--r--test/input8.b.c1
-rw-r--r--test/input8.c1
-rw-r--r--test/input8.g.c1
-rw-r--r--test/input_custom_default.--input(custom).c7
-rw-r--r--test/input_custom_default.--skeleton--input(custom).cbin49002 -> 49438 bytes
-rw-r--r--test/input_custom_fgetc.--input(custom).c7
-rw-r--r--test/input_custom_fgetc.--skeleton--input(custom).cbin48998 -> 49434 bytes
-rw-r--r--test/input_custom_istringstream.--input(custom).c7
-rw-r--r--test/input_custom_istringstream.--skeleton--input(custom).cbin49014 -> 49450 bytes
-rw-r--r--test/input_custom_mjson.--input(custom).c141
-rw-r--r--test/input_custom_mjson.--skeleton--input(custom).c447
-rw-r--r--test/main.b.c31
-rw-r--r--test/modula.c330
-rw-r--r--test/overflow-2.c2
-rw-r--r--test/overflow-3.c2
-rw-r--r--test/parse_date.b.c271
-rw-r--r--test/parse_date.c313
-rw-r--r--test/parse_date.db.c211
-rw-r--r--test/parse_date.g.c271
-rw-r--r--test/parse_date.s.c271
-rw-r--r--test/parse_date_1_78.db.c171
-rw-r--r--test/php20140822_zend_language_scanner.igcd--flex-syntax.c8914
-rw-r--r--test/php20140822_zend_language_scanner_crlf.igcd--flex-syntax.c7553
-rw-r--r--test/php20140822_zend_language_scanner_crlf.igcd--flex-syntax.re2443
-rw-r--r--test/php20150211_json_scanner.igc.c14
-rw-r--r--test/php20150211_parse_date.ig.c177
-rw-r--r--test/php20150211_parse_date_crlf.ig.c27020
-rw-r--r--test/php20150211_parse_date_crlf.ig.re2245
-rw-r--r--test/php20150211_parse_iso_intervals.ig--skeleton.c52
-rw-r--r--test/php20150211_parse_iso_intervals.ig.c3
-rw-r--r--test/php20150211_pdo_sql_parser.ig--skeleton.c178
-rw-r--r--test/php20150211_pdo_sql_parser.ig.c128
-rw-r--r--test/php20150211_pdo_sql_parser_trimmed.ig--skeleton.c845
-rw-r--r--test/php20150211_pdo_sql_parser_trimmed.ig--skeleton.re20
-rw-r--r--test/php20150211_pdo_sql_parser_trimmed.ig.c316
-rw-r--r--test/php20150211_pdo_sql_parser_trimmed.ig.re20
-rw-r--r--test/php20150211_phar_path_check.ig--skeleton.c56
-rw-r--r--test/php20150211_phpdbg_lexer.igcd--flex-syntax.c2091
-rw-r--r--test/php20150211_url_scanner_ex.ig--skeleton.c469
-rw-r--r--test/php20150211_var_unserializer.ig--skeleton.c79
-rw-r--r--test/php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.c991
-rw-r--r--test/php20150211_zend_ini_scanner.igcd--flex-syntax--case-inverted.c4376
-rw-r--r--test/php20150211_zend_ini_scanner.igcd--skeleton--flex-syntax--case-inverted.c25239
-rw-r--r--test/php20150211_zend_ini_scanner_trimmed.ic--flex-syntax.c1344
-rw-r--r--test/php20150211_zend_ini_scanner_trimmed.icwb--flex-syntax.c2720
-rw-r--r--test/php20150211_zend_ini_scanner_trimmed_minimal_wb_bug.iwb.c2
-rw-r--r--test/php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.c2965
-rw-r--r--test/php20150211_zend_language_scanner.igcd--flex-syntax--case-inverted.c9848
-rw-r--r--test/php20150211_zend_language_scanner.igcd--skeleton--flex-syntax--case-inverted.c33675
-rw-r--r--test/posix_captures/.dat/basic.dat59
-rw-r--r--test/posix_captures/.dat/categorize.dat11
-rw-r--r--test/posix_captures/.dat/forcedassoc.dat28
-rw-r--r--test/posix_captures/.dat/glennfowler.dat59
-rw-r--r--test/posix_captures/.dat/nullsubexpr.dat51
-rw-r--r--test/posix_captures/.dat/osxbsdcritical.dat7
-rw-r--r--test/posix_captures/.dat/other.dat69
-rw-r--r--test/posix_captures/.dat/repetition.dat94
-rw-r--r--test/posix_captures/.dat/rightassoc.dat12
-rwxr-xr-xtest/posix_captures/.gen/__gen.sh25
-rw-r--r--test/posix_captures/.gen/template7
-rwxr-xr-xtest/posix_captures/.run/__run.sh44
-rw-r--r--test/posix_captures/.run/template49
-rw-r--r--test/posix_captures/basic/01.i--flex-syntax.c87
-rw-r--r--test/posix_captures/basic/01.i--flex-syntax.rebin0 -> 95 bytes
-rw-r--r--test/posix_captures/basic/02.i--flex-syntax.c87
-rw-r--r--test/posix_captures/basic/02.i--flex-syntax.rebin0 -> 95 bytes
-rw-r--r--test/posix_captures/basic/03.i--flex-syntax.c59
-rw-r--r--test/posix_captures/basic/03.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/04.i--flex-syntax.c45
-rw-r--r--test/posix_captures/basic/04.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/05.i--flex-syntax.c95
-rw-r--r--test/posix_captures/basic/05.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/06.i--flex-syntax.c95
-rw-r--r--test/posix_captures/basic/06.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/07.i--flex-syntax.c31
-rw-r--r--test/posix_captures/basic/07.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/08.i--flex-syntax.c39
-rw-r--r--test/posix_captures/basic/08.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/09.i--flex-syntax.c44
-rw-r--r--test/posix_captures/basic/09.i--flex-syntax.rebin0 -> 81 bytes
-rw-r--r--test/posix_captures/basic/10.i--flex-syntax.c77
-rw-r--r--test/posix_captures/basic/10.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/11.i--flex-syntax.c43
-rw-r--r--test/posix_captures/basic/11.i--flex-syntax.rebin0 -> 80 bytes
-rw-r--r--test/posix_captures/basic/12.i--flex-syntax.c62
-rw-r--r--test/posix_captures/basic/12.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/13.i--flex-syntax.c62
-rw-r--r--test/posix_captures/basic/13.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/14.i--flex-syntax.c53
-rw-r--r--test/posix_captures/basic/14.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/15.i--flex-syntax.c97
-rw-r--r--test/posix_captures/basic/15.i--flex-syntax.rebin0 -> 106 bytes
-rw-r--r--test/posix_captures/basic/16.i--flex-syntax.c78
-rw-r--r--test/posix_captures/basic/16.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/17.i--flex-syntax.c78
-rw-r--r--test/posix_captures/basic/17.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/18.i--flex-syntax.c55
-rw-r--r--test/posix_captures/basic/18.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/19.i--flex-syntax.c109
-rw-r--r--test/posix_captures/basic/19.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/20.i--flex-syntax.c318
-rw-r--r--test/posix_captures/basic/20.i--flex-syntax.rebin0 -> 109 bytes
-rw-r--r--test/posix_captures/basic/21.i--flex-syntax.c45
-rw-r--r--test/posix_captures/basic/21.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/22.i--flex-syntax.c84
-rw-r--r--test/posix_captures/basic/22.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/23.i--flex-syntax.c97
-rw-r--r--test/posix_captures/basic/23.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/24.i--flex-syntax.c132
-rw-r--r--test/posix_captures/basic/24.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/25.i--flex-syntax.c41
-rw-r--r--test/posix_captures/basic/25.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/26.i--flex-syntax.c50
-rw-r--r--test/posix_captures/basic/26.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/27.i--flex-syntax.c50
-rw-r--r--test/posix_captures/basic/27.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/28.i--flex-syntax.c48
-rw-r--r--test/posix_captures/basic/28.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/29.i--flex-syntax.c48
-rw-r--r--test/posix_captures/basic/29.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/30.i--flex-syntax.c42
-rw-r--r--test/posix_captures/basic/30.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/31.i--flex-syntax.c40
-rw-r--r--test/posix_captures/basic/31.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/32.i--flex-syntax.c40
-rw-r--r--test/posix_captures/basic/32.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/33.i--flex-syntax.c28
-rw-r--r--test/posix_captures/basic/33.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/34.i--flex-syntax.c43
-rw-r--r--test/posix_captures/basic/34.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/35.i--flex-syntax.c29
-rw-r--r--test/posix_captures/basic/35.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/36.i--flex-syntax.c36
-rw-r--r--test/posix_captures/basic/36.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/37.i--flex-syntax.c31
-rw-r--r--test/posix_captures/basic/37.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/38.i--flex-syntax.c57
-rw-r--r--test/posix_captures/basic/38.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/39.i--flex-syntax.c58
-rw-r--r--test/posix_captures/basic/39.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/40.i--flex-syntax.c54
-rw-r--r--test/posix_captures/basic/40.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/41.i--flex-syntax.c44
-rw-r--r--test/posix_captures/basic/41.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/42.i--flex-syntax.c52
-rw-r--r--test/posix_captures/basic/42.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/43.i--flex-syntax.c100
-rw-r--r--test/posix_captures/basic/43.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/44.i--flex-syntax.c28
-rw-r--r--test/posix_captures/basic/44.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/45.i--flex-syntax.c39
-rw-r--r--test/posix_captures/basic/45.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/46.i--flex-syntax.c59
-rw-r--r--test/posix_captures/basic/46.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/47.i--flex-syntax.c46
-rw-r--r--test/posix_captures/basic/47.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/48.i--flex-syntax.c47
-rw-r--r--test/posix_captures/basic/48.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/49.i--flex-syntax.c55
-rw-r--r--test/posix_captures/basic/49.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/50.i--flex-syntax.c52
-rw-r--r--test/posix_captures/basic/50.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/51.i--flex-syntax.c65
-rw-r--r--test/posix_captures/basic/51.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/52.i--flex-syntax.c90
-rw-r--r--test/posix_captures/basic/52.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/53.i--flex-syntax.c60
-rw-r--r--test/posix_captures/basic/53.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/54.i--flex-syntax.c53
-rw-r--r--test/posix_captures/basic/54.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/55.i--flex-syntax.c42
-rw-r--r--test/posix_captures/basic/55.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/56.i--flex-syntax.c66
-rw-r--r--test/posix_captures/basic/56.i--flex-syntax.rebin0 -> 84 bytes
-rw-r--r--test/posix_captures/basic/57.i--flex-syntax.c47
-rw-r--r--test/posix_captures/basic/57.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/58.i--flex-syntax.c44
-rw-r--r--test/posix_captures/basic/58.i--flex-syntax.re7
-rw-r--r--test/posix_captures/basic/59.i--flex-syntax.c67
-rw-r--r--test/posix_captures/basic/59.i--flex-syntax.re7
-rw-r--r--test/posix_captures/categorize/01.i--flex-syntax.c122
-rw-r--r--test/posix_captures/categorize/01.i--flex-syntax.re7
-rw-r--r--test/posix_captures/categorize/02.i--flex-syntax.c102
-rw-r--r--test/posix_captures/categorize/02.i--flex-syntax.re7
-rw-r--r--test/posix_captures/categorize/03.i--flex-syntax.c61
-rw-r--r--test/posix_captures/categorize/03.i--flex-syntax.rebin0 -> 90 bytes
-rw-r--r--test/posix_captures/categorize/04.i--flex-syntax.c59
-rw-r--r--test/posix_captures/categorize/04.i--flex-syntax.re7
-rw-r--r--test/posix_captures/categorize/05.i--flex-syntax.c116
-rw-r--r--test/posix_captures/categorize/05.i--flex-syntax.re7
-rw-r--r--test/posix_captures/categorize/06.i--flex-syntax.c36
-rw-r--r--test/posix_captures/categorize/06.i--flex-syntax.re7
-rw-r--r--test/posix_captures/categorize/07.i--flex-syntax.c36
-rw-r--r--test/posix_captures/categorize/07.i--flex-syntax.re7
-rw-r--r--test/posix_captures/categorize/08.i--flex-syntax.c152
-rw-r--r--test/posix_captures/categorize/08.i--flex-syntax.re7
-rw-r--r--test/posix_captures/categorize/09.i--flex-syntax.c56
-rw-r--r--test/posix_captures/categorize/09.i--flex-syntax.re7
-rw-r--r--test/posix_captures/categorize/10.i--flex-syntax.c32
-rw-r--r--test/posix_captures/categorize/10.i--flex-syntax.rebin0 -> 81 bytes
-rw-r--r--test/posix_captures/categorize/11.i--flex-syntax.c193
-rw-r--r--test/posix_captures/categorize/11.i--flex-syntax.re7
-rw-r--r--test/posix_captures/exponential_epsilon_closure.i--posix-captures.c19
-rw-r--r--test/posix_captures/exponential_epsilon_closure.i--posix-captures.re6
-rw-r--r--test/posix_captures/forcedassoc/01.i--flex-syntax.c78
-rw-r--r--test/posix_captures/forcedassoc/01.i--flex-syntax.re7
-rw-r--r--test/posix_captures/forcedassoc/02.i--flex-syntax.c78
-rw-r--r--test/posix_captures/forcedassoc/02.i--flex-syntax.re7
-rw-r--r--test/posix_captures/forcedassoc/03.i--flex-syntax.c78
-rw-r--r--test/posix_captures/forcedassoc/03.i--flex-syntax.re7
-rw-r--r--test/posix_captures/forcedassoc/04.i--flex-syntax.c78
-rw-r--r--test/posix_captures/forcedassoc/04.i--flex-syntax.re7
-rw-r--r--test/posix_captures/forcedassoc/05.i--flex-syntax.c94
-rw-r--r--test/posix_captures/forcedassoc/05.i--flex-syntax.re7
-rw-r--r--test/posix_captures/forcedassoc/06.i--flex-syntax.c94
-rw-r--r--test/posix_captures/forcedassoc/06.i--flex-syntax.re7
-rw-r--r--test/posix_captures/forcedassoc/07.i--flex-syntax.c94
-rw-r--r--test/posix_captures/forcedassoc/07.i--flex-syntax.re7
-rw-r--r--test/posix_captures/forcedassoc/08.i--flex-syntax.c94
-rw-r--r--test/posix_captures/forcedassoc/08.i--flex-syntax.re7
-rw-r--r--test/posix_captures/forcedassoc/09.i--flex-syntax.c81
-rw-r--r--test/posix_captures/forcedassoc/09.i--flex-syntax.re7
-rw-r--r--test/posix_captures/forcedassoc/10.i--flex-syntax.c81
-rw-r--r--test/posix_captures/forcedassoc/10.i--flex-syntax.re7
-rw-r--r--test/posix_captures/forcedassoc/11.i--flex-syntax.c81
-rw-r--r--test/posix_captures/forcedassoc/11.i--flex-syntax.re7
-rw-r--r--test/posix_captures/forcedassoc/12.i--flex-syntax.c81
-rw-r--r--test/posix_captures/forcedassoc/12.i--flex-syntax.re7
-rw-r--r--test/posix_captures/forcedassoc/13.i--flex-syntax.c68
-rw-r--r--test/posix_captures/forcedassoc/13.i--flex-syntax.re7
-rw-r--r--test/posix_captures/forcedassoc/14.i--flex-syntax.c68
-rw-r--r--test/posix_captures/forcedassoc/14.i--flex-syntax.re7
-rw-r--r--test/posix_captures/forcedassoc/15.i--flex-syntax.c84
-rw-r--r--test/posix_captures/forcedassoc/15.i--flex-syntax.re7
-rw-r--r--test/posix_captures/forcedassoc/16.i--flex-syntax.c84
-rw-r--r--test/posix_captures/forcedassoc/16.i--flex-syntax.re7
-rw-r--r--test/posix_captures/forcedassoc/17.i--flex-syntax.c63
-rw-r--r--test/posix_captures/forcedassoc/17.i--flex-syntax.re7
-rw-r--r--test/posix_captures/forcedassoc/18.i--flex-syntax.c63
-rw-r--r--test/posix_captures/forcedassoc/18.i--flex-syntax.re7
-rw-r--r--test/posix_captures/forcedassoc/19.i--flex-syntax.c68
-rw-r--r--test/posix_captures/forcedassoc/19.i--flex-syntax.re7
-rw-r--r--test/posix_captures/forcedassoc/20.i--flex-syntax.c68
-rw-r--r--test/posix_captures/forcedassoc/20.i--flex-syntax.re7
-rw-r--r--test/posix_captures/forcedassoc/21.i--flex-syntax.c84
-rw-r--r--test/posix_captures/forcedassoc/21.i--flex-syntax.re7
-rw-r--r--test/posix_captures/forcedassoc/22.i--flex-syntax.c84
-rw-r--r--test/posix_captures/forcedassoc/22.i--flex-syntax.re7
-rw-r--r--test/posix_captures/forcedassoc/23.i--flex-syntax.c63
-rw-r--r--test/posix_captures/forcedassoc/23.i--flex-syntax.re7
-rw-r--r--test/posix_captures/forcedassoc/24.i--flex-syntax.c63
-rw-r--r--test/posix_captures/forcedassoc/24.i--flex-syntax.re7
-rw-r--r--test/posix_captures/forcedassoc/25.i--flex-syntax.c36
-rw-r--r--test/posix_captures/forcedassoc/25.i--flex-syntax.re7
-rw-r--r--test/posix_captures/forcedassoc/26.i--flex-syntax.c36
-rw-r--r--test/posix_captures/forcedassoc/26.i--flex-syntax.re7
-rw-r--r--test/posix_captures/forcedassoc/27.i--flex-syntax.c50
-rw-r--r--test/posix_captures/forcedassoc/27.i--flex-syntax.re7
-rw-r--r--test/posix_captures/forcedassoc/28.i--flex-syntax.c50
-rw-r--r--test/posix_captures/forcedassoc/28.i--flex-syntax.re7
-rw-r--r--test/posix_captures/glennfowler/01.i--flex-syntax.c58
-rw-r--r--test/posix_captures/glennfowler/01.i--flex-syntax.re7
-rw-r--r--test/posix_captures/glennfowler/02.i--flex-syntax.c85
-rw-r--r--test/posix_captures/glennfowler/02.i--flex-syntax.re7
-rw-r--r--test/posix_captures/glennfowler/03.i--flex-syntax.c72
-rw-r--r--test/posix_captures/glennfowler/03.i--flex-syntax.re7
-rw-r--r--test/posix_captures/glennfowler/04.i--flex-syntax.c87
-rw-r--r--test/posix_captures/glennfowler/04.i--flex-syntax.re7
-rw-r--r--test/posix_captures/glennfowler/05.i--flex-syntax.c23
-rw-r--r--test/posix_captures/glennfowler/05.i--flex-syntax.rebin0 -> 76 bytes
-rw-r--r--test/posix_captures/glennfowler/06.i--flex-syntax.c23
-rw-r--r--test/posix_captures/glennfowler/06.i--flex-syntax.rebin0 -> 79 bytes
-rw-r--r--test/posix_captures/glennfowler/07.i--flex-syntax.c31
-rw-r--r--test/posix_captures/glennfowler/07.i--flex-syntax.rebin0 -> 83 bytes
-rw-r--r--test/posix_captures/glennfowler/08.i--flex-syntax.c29
-rw-r--r--test/posix_captures/glennfowler/08.i--flex-syntax.rebin0 -> 79 bytes
-rw-r--r--test/posix_captures/glennfowler/09.i--flex-syntax.c33
-rw-r--r--test/posix_captures/glennfowler/09.i--flex-syntax.rebin0 -> 77 bytes
-rw-r--r--test/posix_captures/glennfowler/10.i--flex-syntax.c25
-rw-r--r--test/posix_captures/glennfowler/10.i--flex-syntax.rebin0 -> 81 bytes
-rw-r--r--test/posix_captures/glennfowler/11.i--flex-syntax.c25
-rw-r--r--test/posix_captures/glennfowler/11.i--flex-syntax.rebin0 -> 84 bytes
-rw-r--r--test/posix_captures/glennfowler/12.i--flex-syntax.c38
-rw-r--r--test/posix_captures/glennfowler/12.i--flex-syntax.rebin0 -> 93 bytes
-rw-r--r--test/posix_captures/glennfowler/13.i--flex-syntax.c36
-rw-r--r--test/posix_captures/glennfowler/13.i--flex-syntax.rebin0 -> 84 bytes
-rw-r--r--test/posix_captures/glennfowler/14.i--flex-syntax.c51
-rw-r--r--test/posix_captures/glennfowler/14.i--flex-syntax.rebin0 -> 105 bytes
-rw-r--r--test/posix_captures/glennfowler/15.i--flex-syntax.c46
-rw-r--r--test/posix_captures/glennfowler/15.i--flex-syntax.rebin0 -> 84 bytes
-rw-r--r--test/posix_captures/glennfowler/16.i--flex-syntax.c40
-rw-r--r--test/posix_captures/glennfowler/16.i--flex-syntax.rebin0 -> 82 bytes
-rw-r--r--test/posix_captures/glennfowler/17.i--flex-syntax.c83
-rw-r--r--test/posix_captures/glennfowler/17.i--flex-syntax.re7
-rw-r--r--test/posix_captures/glennfowler/18.i--flex-syntax.c83
-rw-r--r--test/posix_captures/glennfowler/18.i--flex-syntax.re7
-rw-r--r--test/posix_captures/glennfowler/19.i--flex-syntax.c81
-rw-r--r--test/posix_captures/glennfowler/19.i--flex-syntax.re7
-rw-r--r--test/posix_captures/glennfowler/20.i--flex-syntax.c36
-rw-r--r--test/posix_captures/glennfowler/20.i--flex-syntax.re7
-rw-r--r--test/posix_captures/glennfowler/21.i--flex-syntax.c69
-rw-r--r--test/posix_captures/glennfowler/21.i--flex-syntax.re7
-rw-r--r--test/posix_captures/glennfowler/22.i--flex-syntax.c59
-rw-r--r--test/posix_captures/glennfowler/22.i--flex-syntax.re7
-rw-r--r--test/posix_captures/glennfowler/23.i--flex-syntax.c48
-rw-r--r--test/posix_captures/glennfowler/23.i--flex-syntax.re7
-rw-r--r--test/posix_captures/glennfowler/24.i--flex-syntax.c76
-rw-r--r--test/posix_captures/glennfowler/24.i--flex-syntax.re7
-rw-r--r--test/posix_captures/glennfowler/25.i--flex-syntax.c81
-rw-r--r--test/posix_captures/glennfowler/25.i--flex-syntax.re7
-rw-r--r--test/posix_captures/glennfowler/26.i--flex-syntax.c57
-rw-r--r--test/posix_captures/glennfowler/26.i--flex-syntax.re7
-rw-r--r--test/posix_captures/glennfowler/27.i--flex-syntax.c116
-rw-r--r--test/posix_captures/glennfowler/27.i--flex-syntax.re7
-rw-r--r--test/posix_captures/glennfowler/28.i--flex-syntax.c202
-rw-r--r--test/posix_captures/glennfowler/28.i--flex-syntax.re7
-rw-r--r--test/posix_captures/glennfowler/29.i--flex-syntax.c152
-rw-r--r--test/posix_captures/glennfowler/29.i--flex-syntax.re7
-rw-r--r--test/posix_captures/glennfowler/30.i--flex-syntax.c42
-rw-r--r--test/posix_captures/glennfowler/30.i--flex-syntax.re7
-rw-r--r--test/posix_captures/glennfowler/31.i--flex-syntax.c73
-rw-r--r--test/posix_captures/glennfowler/31.i--flex-syntax.re7
-rw-r--r--test/posix_captures/glennfowler/32.i--flex-syntax.c120
-rw-r--r--test/posix_captures/glennfowler/32.i--flex-syntax.re7
-rw-r--r--test/posix_captures/glennfowler/33.i--flex-syntax.c64
-rw-r--r--test/posix_captures/glennfowler/33.i--flex-syntax.re7
-rw-r--r--test/posix_captures/glennfowler/34.i--flex-syntax.c43
-rw-r--r--test/posix_captures/glennfowler/34.i--flex-syntax.re7
-rw-r--r--test/posix_captures/glennfowler/35.i--flex-syntax.c70
-rw-r--r--test/posix_captures/glennfowler/35.i--flex-syntax.re7
-rw-r--r--test/posix_captures/glennfowler/36.i--flex-syntax.c56
-rw-r--r--test/posix_captures/glennfowler/36.i--flex-syntax.re7
-rw-r--r--test/posix_captures/glennfowler/37.i--flex-syntax.c34
-rw-r--r--test/posix_captures/glennfowler/37.i--flex-syntax.rebin0 -> 83 bytes
-rw-r--r--test/posix_captures/glennfowler/38.i--flex-syntax.c32
-rw-r--r--test/posix_captures/glennfowler/38.i--flex-syntax.rebin0 -> 81 bytes
-rw-r--r--test/posix_captures/glennfowler/39.i--flex-syntax.c76
-rw-r--r--test/posix_captures/glennfowler/39.i--flex-syntax.rebin0 -> 86 bytes
-rw-r--r--test/posix_captures/glennfowler/40.i--flex-syntax.c429
-rw-r--r--test/posix_captures/glennfowler/40.i--flex-syntax.rebin0 -> 103 bytes
-rw-r--r--test/posix_captures/glennfowler/41.i--flex-syntax.c174
-rw-r--r--test/posix_captures/glennfowler/41.i--flex-syntax.rebin0 -> 87 bytes
-rw-r--r--test/posix_captures/glennfowler/42.i--flex-syntax.c41
-rw-r--r--test/posix_captures/glennfowler/42.i--flex-syntax.rebin0 -> 91 bytes
-rw-r--r--test/posix_captures/glennfowler/43.i--flex-syntax.c89
-rw-r--r--test/posix_captures/glennfowler/43.i--flex-syntax.rebin0 -> 97 bytes
-rw-r--r--test/posix_captures/glennfowler/44.i--flex-syntax.c98
-rw-r--r--test/posix_captures/glennfowler/44.i--flex-syntax.rebin0 -> 125 bytes
-rw-r--r--test/posix_captures/glennfowler/45.i--flex-syntax.c89
-rw-r--r--test/posix_captures/glennfowler/45.i--flex-syntax.rebin0 -> 98 bytes
-rw-r--r--test/posix_captures/gor1.i--posix-captures.c41
-rw-r--r--test/posix_captures/gor1.i--posix-captures.re3
-rw-r--r--test/posix_captures/gor2.i--posix-captures.c36
-rw-r--r--test/posix_captures/gor2.i--posix-captures.re3
-rw-r--r--test/posix_captures/gor3.i--posix-captures.c149
-rw-r--r--test/posix_captures/gor3.i--posix-captures.re3
-rw-r--r--test/posix_captures/implicit_grouping1.i--posix-captures.c1
-rw-r--r--test/posix_captures/implicit_grouping1.i--posix-captures.re4
-rw-r--r--test/posix_captures/implicit_grouping2.i--posix-captures.c47
-rw-r--r--test/posix_captures/implicit_grouping2.i--posix-captures.re4
-rw-r--r--test/posix_captures/implicit_grouping3.i--posix-captures.c47
-rw-r--r--test/posix_captures/implicit_grouping3.i--posix-captures.re4
-rw-r--r--test/posix_captures/leftmost1.i--posix-captures.c42
-rw-r--r--test/posix_captures/leftmost1.i--posix-captures.re3
-rw-r--r--test/posix_captures/leftmost2.i--posix-captures.c40
-rw-r--r--test/posix_captures/leftmost2.i--posix-captures.re4
-rw-r--r--test/posix_captures/multisubhistories.i--posix-captures.c65
-rw-r--r--test/posix_captures/multisubhistories.i--posix-captures.re3
-rw-r--r--test/posix_captures/nullsubexpr/01.i--flex-syntax.c36
-rw-r--r--test/posix_captures/nullsubexpr/01.i--flex-syntax.re7
-rw-r--r--test/posix_captures/nullsubexpr/02.i--flex-syntax.c31
-rw-r--r--test/posix_captures/nullsubexpr/02.i--flex-syntax.re7
-rw-r--r--test/posix_captures/nullsubexpr/03.i--flex-syntax.c37
-rw-r--r--test/posix_captures/nullsubexpr/03.i--flex-syntax.re7
-rw-r--r--test/posix_captures/nullsubexpr/04.i--flex-syntax.c35
-rw-r--r--test/posix_captures/nullsubexpr/04.i--flex-syntax.re7
-rw-r--r--test/posix_captures/nullsubexpr/05.i--flex-syntax.c36
-rw-r--r--test/posix_captures/nullsubexpr/05.i--flex-syntax.re7
-rw-r--r--test/posix_captures/nullsubexpr/06.i--flex-syntax.c31
-rw-r--r--test/posix_captures/nullsubexpr/06.i--flex-syntax.re7
-rw-r--r--test/posix_captures/nullsubexpr/07.i--flex-syntax.c38
-rw-r--r--test/posix_captures/nullsubexpr/07.i--flex-syntax.rebin0 -> 78 bytes
-rw-r--r--test/posix_captures/nullsubexpr/08.i--flex-syntax.c38
-rw-r--r--test/posix_captures/nullsubexpr/08.i--flex-syntax.re7
-rw-r--r--test/posix_captures/nullsubexpr/09.i--flex-syntax.c38
-rw-r--r--test/posix_captures/nullsubexpr/09.i--flex-syntax.rebin0 -> 78 bytes
-rw-r--r--test/posix_captures/nullsubexpr/10.i--flex-syntax.c40
-rw-r--r--test/posix_captures/nullsubexpr/10.i--flex-syntax.rebin0 -> 79 bytes
-rw-r--r--test/posix_captures/nullsubexpr/11.i--flex-syntax.c63
-rw-r--r--test/posix_captures/nullsubexpr/11.i--flex-syntax.re7
-rw-r--r--test/posix_captures/nullsubexpr/12.i--flex-syntax.c26
-rw-r--r--test/posix_captures/nullsubexpr/12.i--flex-syntax.re7
-rw-r--r--test/posix_captures/nullsubexpr/13.i--flex-syntax.c47
-rw-r--r--test/posix_captures/nullsubexpr/13.i--flex-syntax.re7
-rw-r--r--test/posix_captures/nullsubexpr/14.i--flex-syntax.c47
-rw-r--r--test/posix_captures/nullsubexpr/14.i--flex-syntax.re7
-rw-r--r--test/posix_captures/nullsubexpr/15.i--flex-syntax.c47
-rw-r--r--test/posix_captures/nullsubexpr/15.i--flex-syntax.re7
-rw-r--r--test/posix_captures/nullsubexpr/16.i--flex-syntax.c45
-rw-r--r--test/posix_captures/nullsubexpr/16.i--flex-syntax.re7
-rw-r--r--test/posix_captures/nullsubexpr/17.i--flex-syntax.c45
-rw-r--r--test/posix_captures/nullsubexpr/17.i--flex-syntax.re7
-rw-r--r--test/posix_captures/nullsubexpr/18.i--flex-syntax.c45
-rw-r--r--test/posix_captures/nullsubexpr/18.i--flex-syntax.re7
-rw-r--r--test/posix_captures/nullsubexpr/19.i--flex-syntax.c47
-rw-r--r--test/posix_captures/nullsubexpr/19.i--flex-syntax.re7
-rw-r--r--test/posix_captures/nullsubexpr/20.i--flex-syntax.c47
-rw-r--r--test/posix_captures/nullsubexpr/20.i--flex-syntax.re7
-rw-r--r--test/posix_captures/nullsubexpr/21.i--flex-syntax.c47
-rw-r--r--test/posix_captures/nullsubexpr/21.i--flex-syntax.re7
-rw-r--r--test/posix_captures/offsets.i--posix-captures--input(custom).c76
-rw-r--r--test/posix_captures/offsets.i--posix-captures--input(custom).re37
-rw-r--r--test/posix_captures/osxbsdcritical/01.i--flex-syntax.c56
-rw-r--r--test/posix_captures/osxbsdcritical/01.i--flex-syntax.rebin0 -> 83 bytes
-rw-r--r--test/posix_captures/osxbsdcritical/02.i--flex-syntax.c56
-rw-r--r--test/posix_captures/osxbsdcritical/02.i--flex-syntax.re7
-rw-r--r--test/posix_captures/osxbsdcritical/03.i--flex-syntax.c84
-rw-r--r--test/posix_captures/osxbsdcritical/03.i--flex-syntax.re7
-rw-r--r--test/posix_captures/osxbsdcritical/04.i--flex-syntax.c56
-rw-r--r--test/posix_captures/osxbsdcritical/04.i--flex-syntax.rebin0 -> 83 bytes
-rw-r--r--test/posix_captures/osxbsdcritical/05.i--flex-syntax.c56
-rw-r--r--test/posix_captures/osxbsdcritical/05.i--flex-syntax.re7
-rw-r--r--test/posix_captures/osxbsdcritical/06.i--flex-syntax.c84
-rw-r--r--test/posix_captures/osxbsdcritical/06.i--flex-syntax.re7
-rw-r--r--test/posix_captures/osxbsdcritical/07.i--flex-syntax.c50
-rw-r--r--test/posix_captures/osxbsdcritical/07.i--flex-syntax.rebin0 -> 79 bytes
-rw-r--r--test/posix_captures/other/01.i--flex-syntax.c49
-rw-r--r--test/posix_captures/other/01.i--flex-syntax.re7
-rw-r--r--test/posix_captures/other/02.i--flex-syntax.c49
-rw-r--r--test/posix_captures/other/02.i--flex-syntax.re7
-rw-r--r--test/posix_captures/other/03.i--flex-syntax.c27
-rw-r--r--test/posix_captures/other/03.i--flex-syntax.re7
-rw-r--r--test/posix_captures/other/04.i--flex-syntax.c29
-rw-r--r--test/posix_captures/other/04.i--flex-syntax.re7
-rw-r--r--test/posix_captures/other/05.i--flex-syntax.c42
-rw-r--r--test/posix_captures/other/05.i--flex-syntax.re7
-rw-r--r--test/posix_captures/other/06.i--flex-syntax.c41
-rw-r--r--test/posix_captures/other/06.i--flex-syntax.re7
-rw-r--r--test/posix_captures/other/07.i--flex-syntax.c37
-rw-r--r--test/posix_captures/other/07.i--flex-syntax.re7
-rw-r--r--test/posix_captures/other/08.i--flex-syntax.c49
-rw-r--r--test/posix_captures/other/08.i--flex-syntax.re7
-rw-r--r--test/posix_captures/other/09.i--flex-syntax.c99
-rw-r--r--test/posix_captures/other/09.i--flex-syntax.re7
-rw-r--r--test/posix_captures/other/10.i--flex-syntax.c97
-rw-r--r--test/posix_captures/other/10.i--flex-syntax.re7
-rw-r--r--test/posix_captures/other/11.i--flex-syntax.c116
-rw-r--r--test/posix_captures/other/11.i--flex-syntax.re7
-rw-r--r--test/posix_captures/other/12.i--flex-syntax.c292
-rw-r--r--test/posix_captures/other/12.i--flex-syntax.re7
-rw-r--r--test/posix_captures/other/13.i--flex-syntax.c39
-rw-r--r--test/posix_captures/other/13.i--flex-syntax.re7
-rw-r--r--test/posix_captures/other/14.i--flex-syntax.c41
-rw-r--r--test/posix_captures/other/14.i--flex-syntax.re7
-rw-r--r--test/posix_captures/other/15.i--flex-syntax.c38
-rw-r--r--test/posix_captures/other/15.i--flex-syntax.re7
-rw-r--r--test/posix_captures/other/16.i--flex-syntax.c48
-rw-r--r--test/posix_captures/other/16.i--flex-syntax.re7
-rw-r--r--test/posix_captures/other/17.i--flex-syntax.c47
-rw-r--r--test/posix_captures/other/17.i--flex-syntax.re7
-rw-r--r--test/posix_captures/other/18.i--flex-syntax.c48
-rw-r--r--test/posix_captures/other/18.i--flex-syntax.re7
-rw-r--r--test/posix_captures/other/19.i--flex-syntax.c36
-rw-r--r--test/posix_captures/other/19.i--flex-syntax.re7
-rw-r--r--test/posix_captures/other/20.i--flex-syntax.c40
-rw-r--r--test/posix_captures/other/20.i--flex-syntax.re7
-rw-r--r--test/posix_captures/other/21.i--flex-syntax.c34
-rw-r--r--test/posix_captures/other/21.i--flex-syntax.re7
-rw-r--r--test/posix_captures/other/22.i--flex-syntax.c45
-rw-r--r--test/posix_captures/other/22.i--flex-syntax.re7
-rw-r--r--test/posix_captures/other/23.i--flex-syntax.c46
-rw-r--r--test/posix_captures/other/23.i--flex-syntax.re7
-rw-r--r--test/posix_captures/other/24.i--flex-syntax.c43
-rw-r--r--test/posix_captures/other/24.i--flex-syntax.re7
-rw-r--r--test/posix_captures/other/25.i--flex-syntax.c91
-rw-r--r--test/posix_captures/other/25.i--flex-syntax.re7
-rw-r--r--test/posix_captures/other/26.i--flex-syntax.c69
-rw-r--r--test/posix_captures/other/26.i--flex-syntax.re7
-rw-r--r--test/posix_captures/repetition/01.i--flex-syntax.c38
-rw-r--r--test/posix_captures/repetition/01.i--flex-syntax.rebin0 -> 88 bytes
-rw-r--r--test/posix_captures/repetition/02.i--flex-syntax.c66
-rw-r--r--test/posix_captures/repetition/02.i--flex-syntax.rebin0 -> 107 bytes
-rw-r--r--test/posix_captures/repetition/03.i--flex-syntax.c101
-rw-r--r--test/posix_captures/repetition/03.i--flex-syntax.rebin0 -> 126 bytes
-rw-r--r--test/posix_captures/repetition/04.i--flex-syntax.c38
-rw-r--r--test/posix_captures/repetition/04.i--flex-syntax.rebin0 -> 91 bytes
-rw-r--r--test/posix_captures/repetition/05.i--flex-syntax.c56
-rw-r--r--test/posix_captures/repetition/05.i--flex-syntax.rebin0 -> 91 bytes
-rw-r--r--test/posix_captures/repetition/06.i--flex-syntax.c64
-rw-r--r--test/posix_captures/repetition/06.i--flex-syntax.rebin0 -> 91 bytes
-rw-r--r--test/posix_captures/repetition/07.i--flex-syntax.c47
-rw-r--r--test/posix_captures/repetition/07.i--flex-syntax.rebin0 -> 89 bytes
-rw-r--r--test/posix_captures/repetition/08.i--flex-syntax.c38
-rw-r--r--test/posix_captures/repetition/08.i--flex-syntax.rebin0 -> 88 bytes
-rw-r--r--test/posix_captures/repetition/09.i--flex-syntax.c66
-rw-r--r--test/posix_captures/repetition/09.i--flex-syntax.rebin0 -> 107 bytes
-rw-r--r--test/posix_captures/repetition/10.i--flex-syntax.c101
-rw-r--r--test/posix_captures/repetition/10.i--flex-syntax.rebin0 -> 126 bytes
-rw-r--r--test/posix_captures/repetition/11.i--flex-syntax.c38
-rw-r--r--test/posix_captures/repetition/11.i--flex-syntax.rebin0 -> 91 bytes
-rw-r--r--test/posix_captures/repetition/12.i--flex-syntax.c56
-rw-r--r--test/posix_captures/repetition/12.i--flex-syntax.rebin0 -> 91 bytes
-rw-r--r--test/posix_captures/repetition/13.i--flex-syntax.c64
-rw-r--r--test/posix_captures/repetition/13.i--flex-syntax.rebin0 -> 91 bytes
-rw-r--r--test/posix_captures/repetition/14.i--flex-syntax.c47
-rw-r--r--test/posix_captures/repetition/14.i--flex-syntax.rebin0 -> 89 bytes
-rw-r--r--test/posix_captures/repetition/15.i--flex-syntax.c38
-rw-r--r--test/posix_captures/repetition/15.i--flex-syntax.rebin0 -> 88 bytes
-rw-r--r--test/posix_captures/repetition/16.i--flex-syntax.c66
-rw-r--r--test/posix_captures/repetition/16.i--flex-syntax.rebin0 -> 107 bytes
-rw-r--r--test/posix_captures/repetition/17.i--flex-syntax.c101
-rw-r--r--test/posix_captures/repetition/17.i--flex-syntax.rebin0 -> 126 bytes
-rw-r--r--test/posix_captures/repetition/18.i--flex-syntax.c38
-rw-r--r--test/posix_captures/repetition/18.i--flex-syntax.rebin0 -> 91 bytes
-rw-r--r--test/posix_captures/repetition/19.i--flex-syntax.c56
-rw-r--r--test/posix_captures/repetition/19.i--flex-syntax.rebin0 -> 91 bytes
-rw-r--r--test/posix_captures/repetition/20.i--flex-syntax.c64
-rw-r--r--test/posix_captures/repetition/20.i--flex-syntax.rebin0 -> 91 bytes
-rw-r--r--test/posix_captures/repetition/21.i--flex-syntax.c47
-rw-r--r--test/posix_captures/repetition/21.i--flex-syntax.rebin0 -> 89 bytes
-rw-r--r--test/posix_captures/repetition/22.i--flex-syntax.c38
-rw-r--r--test/posix_captures/repetition/22.i--flex-syntax.rebin0 -> 88 bytes
-rw-r--r--test/posix_captures/repetition/23.i--flex-syntax.c66
-rw-r--r--test/posix_captures/repetition/23.i--flex-syntax.rebin0 -> 107 bytes
-rw-r--r--test/posix_captures/repetition/24.i--flex-syntax.c101
-rw-r--r--test/posix_captures/repetition/24.i--flex-syntax.rebin0 -> 126 bytes
-rw-r--r--test/posix_captures/repetition/25.i--flex-syntax.c38
-rw-r--r--test/posix_captures/repetition/25.i--flex-syntax.rebin0 -> 91 bytes
-rw-r--r--test/posix_captures/repetition/26.i--flex-syntax.c56
-rw-r--r--test/posix_captures/repetition/26.i--flex-syntax.rebin0 -> 91 bytes
-rw-r--r--test/posix_captures/repetition/27.i--flex-syntax.c64
-rw-r--r--test/posix_captures/repetition/27.i--flex-syntax.rebin0 -> 91 bytes
-rw-r--r--test/posix_captures/repetition/28.i--flex-syntax.c47
-rw-r--r--test/posix_captures/repetition/28.i--flex-syntax.rebin0 -> 89 bytes
-rw-r--r--test/posix_captures/repetition/29.i--flex-syntax.c38
-rw-r--r--test/posix_captures/repetition/29.i--flex-syntax.rebin0 -> 88 bytes
-rw-r--r--test/posix_captures/repetition/30.i--flex-syntax.c66
-rw-r--r--test/posix_captures/repetition/30.i--flex-syntax.rebin0 -> 107 bytes
-rw-r--r--test/posix_captures/repetition/31.i--flex-syntax.c101
-rw-r--r--test/posix_captures/repetition/31.i--flex-syntax.rebin0 -> 126 bytes
-rw-r--r--test/posix_captures/repetition/32.i--flex-syntax.c38
-rw-r--r--test/posix_captures/repetition/32.i--flex-syntax.rebin0 -> 91 bytes
-rw-r--r--test/posix_captures/repetition/33.i--flex-syntax.c56
-rw-r--r--test/posix_captures/repetition/33.i--flex-syntax.rebin0 -> 91 bytes
-rw-r--r--test/posix_captures/repetition/34.i--flex-syntax.c64
-rw-r--r--test/posix_captures/repetition/34.i--flex-syntax.rebin0 -> 91 bytes
-rw-r--r--test/posix_captures/repetition/35.i--flex-syntax.c47
-rw-r--r--test/posix_captures/repetition/35.i--flex-syntax.rebin0 -> 89 bytes
-rw-r--r--test/posix_captures/repetition/36.i--flex-syntax.c38
-rw-r--r--test/posix_captures/repetition/36.i--flex-syntax.rebin0 -> 88 bytes
-rw-r--r--test/posix_captures/repetition/37.i--flex-syntax.c66
-rw-r--r--test/posix_captures/repetition/37.i--flex-syntax.rebin0 -> 107 bytes
-rw-r--r--test/posix_captures/repetition/38.i--flex-syntax.c101
-rw-r--r--test/posix_captures/repetition/38.i--flex-syntax.rebin0 -> 126 bytes
-rw-r--r--test/posix_captures/repetition/39.i--flex-syntax.c38
-rw-r--r--test/posix_captures/repetition/39.i--flex-syntax.rebin0 -> 91 bytes
-rw-r--r--test/posix_captures/repetition/40.i--flex-syntax.c56
-rw-r--r--test/posix_captures/repetition/40.i--flex-syntax.rebin0 -> 91 bytes
-rw-r--r--test/posix_captures/repetition/41.i--flex-syntax.c64
-rw-r--r--test/posix_captures/repetition/41.i--flex-syntax.rebin0 -> 91 bytes
-rw-r--r--test/posix_captures/repetition/42.i--flex-syntax.c47
-rw-r--r--test/posix_captures/repetition/42.i--flex-syntax.rebin0 -> 89 bytes
-rw-r--r--test/posix_captures/repetition/43.i--flex-syntax.c38
-rw-r--r--test/posix_captures/repetition/43.i--flex-syntax.rebin0 -> 88 bytes
-rw-r--r--test/posix_captures/repetition/44.i--flex-syntax.c66
-rw-r--r--test/posix_captures/repetition/44.i--flex-syntax.rebin0 -> 107 bytes
-rw-r--r--test/posix_captures/repetition/45.i--flex-syntax.c101
-rw-r--r--test/posix_captures/repetition/45.i--flex-syntax.rebin0 -> 126 bytes
-rw-r--r--test/posix_captures/repetition/46.i--flex-syntax.c38
-rw-r--r--test/posix_captures/repetition/46.i--flex-syntax.rebin0 -> 91 bytes
-rw-r--r--test/posix_captures/repetition/47.i--flex-syntax.c56
-rw-r--r--test/posix_captures/repetition/47.i--flex-syntax.rebin0 -> 91 bytes
-rw-r--r--test/posix_captures/repetition/48.i--flex-syntax.c64
-rw-r--r--test/posix_captures/repetition/48.i--flex-syntax.rebin0 -> 91 bytes
-rw-r--r--test/posix_captures/repetition/49.i--flex-syntax.c47
-rw-r--r--test/posix_captures/repetition/49.i--flex-syntax.rebin0 -> 89 bytes
-rw-r--r--test/posix_captures/repetition/50.i--flex-syntax.c85
-rw-r--r--test/posix_captures/repetition/50.i--flex-syntax.rebin0 -> 82 bytes
-rw-r--r--test/posix_captures/repetition/51.i--flex-syntax.c85
-rw-r--r--test/posix_captures/repetition/51.i--flex-syntax.rebin0 -> 82 bytes
-rw-r--r--test/posix_captures/repetition/52.i--flex-syntax.c106
-rw-r--r--test/posix_captures/repetition/52.i--flex-syntax.rebin0 -> 82 bytes
-rw-r--r--test/posix_captures/repetition/53.i--flex-syntax.c125
-rw-r--r--test/posix_captures/repetition/53.i--flex-syntax.rebin0 -> 82 bytes
-rw-r--r--test/posix_captures/repetition/54.i--flex-syntax.c144
-rw-r--r--test/posix_captures/repetition/54.i--flex-syntax.rebin0 -> 82 bytes
-rw-r--r--test/posix_captures/repetition/55.i--flex-syntax.c163
-rw-r--r--test/posix_captures/repetition/55.i--flex-syntax.rebin0 -> 82 bytes
-rw-r--r--test/posix_captures/repetition/56.i--flex-syntax.c182
-rw-r--r--test/posix_captures/repetition/56.i--flex-syntax.rebin0 -> 82 bytes
-rw-r--r--test/posix_captures/repetition/57.i--flex-syntax.c201
-rw-r--r--test/posix_captures/repetition/57.i--flex-syntax.rebin0 -> 82 bytes
-rw-r--r--test/posix_captures/repetition/58.i--flex-syntax.c220
-rw-r--r--test/posix_captures/repetition/58.i--flex-syntax.rebin0 -> 82 bytes
-rw-r--r--test/posix_captures/repetition/59.i--flex-syntax.c253
-rw-r--r--test/posix_captures/repetition/59.i--flex-syntax.rebin0 -> 83 bytes
-rw-r--r--test/posix_captures/repetition/60.i--flex-syntax.c249
-rw-r--r--test/posix_captures/repetition/60.i--flex-syntax.rebin0 -> 83 bytes
-rw-r--r--test/posix_captures/repetition/61.i--flex-syntax.c249
-rw-r--r--test/posix_captures/repetition/61.i--flex-syntax.rebin0 -> 83 bytes
-rw-r--r--test/posix_captures/repetition/62.i--flex-syntax.c240
-rw-r--r--test/posix_captures/repetition/62.i--flex-syntax.rebin0 -> 83 bytes
-rw-r--r--test/posix_captures/repetition/63.i--flex-syntax.c231
-rw-r--r--test/posix_captures/repetition/63.i--flex-syntax.rebin0 -> 83 bytes
-rw-r--r--test/posix_captures/repetition/64.i--flex-syntax.c222
-rw-r--r--test/posix_captures/repetition/64.i--flex-syntax.rebin0 -> 83 bytes
-rw-r--r--test/posix_captures/repetition/65.i--flex-syntax.c213
-rw-r--r--test/posix_captures/repetition/65.i--flex-syntax.rebin0 -> 83 bytes
-rw-r--r--test/posix_captures/repetition/66.i--flex-syntax.c207
-rw-r--r--test/posix_captures/repetition/66.i--flex-syntax.rebin0 -> 83 bytes
-rw-r--r--test/posix_captures/repetition/67.i--flex-syntax.c199
-rw-r--r--test/posix_captures/repetition/67.i--flex-syntax.rebin0 -> 83 bytes
-rw-r--r--test/posix_captures/repetition/68.i--flex-syntax.c168
-rw-r--r--test/posix_captures/repetition/68.i--flex-syntax.re7
-rw-r--r--test/posix_captures/repetition/69.i--flex-syntax.c162
-rw-r--r--test/posix_captures/repetition/69.i--flex-syntax.re7
-rw-r--r--test/posix_captures/repetition/70.i--flex-syntax.c210
-rw-r--r--test/posix_captures/repetition/70.i--flex-syntax.re7
-rw-r--r--test/posix_captures/repetition/71.i--flex-syntax.c255
-rw-r--r--test/posix_captures/repetition/71.i--flex-syntax.re7
-rw-r--r--test/posix_captures/repetition/72.i--flex-syntax.c300
-rw-r--r--test/posix_captures/repetition/72.i--flex-syntax.re7
-rw-r--r--test/posix_captures/repetition/73.i--flex-syntax.c921
-rw-r--r--test/posix_captures/repetition/73.i--flex-syntax.re7
-rw-r--r--test/posix_captures/repetition/74.i--flex-syntax.c814
-rw-r--r--test/posix_captures/repetition/74.i--flex-syntax.re7
-rw-r--r--test/posix_captures/repetition/75.i--flex-syntax.c815
-rw-r--r--test/posix_captures/repetition/75.i--flex-syntax.re7
-rw-r--r--test/posix_captures/repetition/76.i--flex-syntax.c772
-rw-r--r--test/posix_captures/repetition/76.i--flex-syntax.re7
-rw-r--r--test/posix_captures/repetition/77.i--flex-syntax.c745
-rw-r--r--test/posix_captures/repetition/77.i--flex-syntax.re7
-rw-r--r--test/posix_captures/repetition/78.i--flex-syntax.c168
-rw-r--r--test/posix_captures/repetition/78.i--flex-syntax.re7
-rw-r--r--test/posix_captures/repetition/79.i--flex-syntax.c162
-rw-r--r--test/posix_captures/repetition/79.i--flex-syntax.re7
-rw-r--r--test/posix_captures/repetition/80.i--flex-syntax.c168
-rw-r--r--test/posix_captures/repetition/80.i--flex-syntax.re7
-rw-r--r--test/posix_captures/repetition/81.i--flex-syntax.c162
-rw-r--r--test/posix_captures/repetition/81.i--flex-syntax.re7
-rw-r--r--test/posix_captures/repetition/82.i--flex-syntax.c210
-rw-r--r--test/posix_captures/repetition/82.i--flex-syntax.re7
-rw-r--r--test/posix_captures/repetition/83.i--flex-syntax.c255
-rw-r--r--test/posix_captures/repetition/83.i--flex-syntax.re7
-rw-r--r--test/posix_captures/repetition/84.i--flex-syntax.c300
-rw-r--r--test/posix_captures/repetition/84.i--flex-syntax.re7
-rw-r--r--test/posix_captures/repetition/85.i--flex-syntax.c921
-rw-r--r--test/posix_captures/repetition/85.i--flex-syntax.re7
-rw-r--r--test/posix_captures/repetition/86.i--flex-syntax.c814
-rw-r--r--test/posix_captures/repetition/86.i--flex-syntax.re7
-rw-r--r--test/posix_captures/repetition/87.i--flex-syntax.c815
-rw-r--r--test/posix_captures/repetition/87.i--flex-syntax.re7
-rw-r--r--test/posix_captures/repetition/88.i--flex-syntax.c772
-rw-r--r--test/posix_captures/repetition/88.i--flex-syntax.re7
-rw-r--r--test/posix_captures/repetition/89.i--flex-syntax.c745
-rw-r--r--test/posix_captures/repetition/89.i--flex-syntax.re7
-rw-r--r--test/posix_captures/repetition/90.i--flex-syntax.c168
-rw-r--r--test/posix_captures/repetition/90.i--flex-syntax.re7
-rw-r--r--test/posix_captures/repetition/91.i--flex-syntax.c162
-rw-r--r--test/posix_captures/repetition/91.i--flex-syntax.re7
-rw-r--r--test/posix_captures/rightassoc/01.i--flex-syntax.c79
-rw-r--r--test/posix_captures/rightassoc/01.i--flex-syntax.re7
-rw-r--r--test/posix_captures/rightassoc/02.i--flex-syntax.c79
-rw-r--r--test/posix_captures/rightassoc/02.i--flex-syntax.re7
-rw-r--r--test/posix_captures/rightassoc/03.i--flex-syntax.c79
-rw-r--r--test/posix_captures/rightassoc/03.i--flex-syntax.re7
-rw-r--r--test/posix_captures/rightassoc/04.i--flex-syntax.c79
-rw-r--r--test/posix_captures/rightassoc/04.i--flex-syntax.re7
-rw-r--r--test/posix_captures/rightassoc/05.i--flex-syntax.c61
-rw-r--r--test/posix_captures/rightassoc/05.i--flex-syntax.re7
-rw-r--r--test/posix_captures/rightassoc/06.i--flex-syntax.c61
-rw-r--r--test/posix_captures/rightassoc/06.i--flex-syntax.re7
-rw-r--r--test/posix_captures/rightassoc/07.i--flex-syntax.c61
-rw-r--r--test/posix_captures/rightassoc/07.i--flex-syntax.re7
-rw-r--r--test/posix_captures/rightassoc/08.i--flex-syntax.c61
-rw-r--r--test/posix_captures/rightassoc/08.i--flex-syntax.re7
-rw-r--r--test/posix_captures/rightassoc/09.i--flex-syntax.c77
-rw-r--r--test/posix_captures/rightassoc/09.i--flex-syntax.rebin0 -> 91 bytes
-rw-r--r--test/posix_captures/rightassoc/10.i--flex-syntax.c77
-rw-r--r--test/posix_captures/rightassoc/10.i--flex-syntax.rebin0 -> 91 bytes
-rw-r--r--test/posix_captures/rightassoc/11.i--flex-syntax.c77
-rw-r--r--test/posix_captures/rightassoc/11.i--flex-syntax.rebin0 -> 91 bytes
-rw-r--r--test/posix_captures/rightassoc/12.i--flex-syntax.c77
-rw-r--r--test/posix_captures/rightassoc/12.i--flex-syntax.rebin0 -> 91 bytes
-rw-r--r--test/posix_captures/uncomparable_bottoms.i--posix-captures.c68
-rw-r--r--test/posix_captures/uncomparable_bottoms.i--posix-captures.re7
-rw-r--r--test/push.--skeleton.c127
-rw-r--r--test/push.c28
-rw-r--r--test/push.f.c28
-rw-r--r--test/push.fb.c28
-rw-r--r--test/push.fg.c28
-rw-r--r--test/push.fs.c28
-rw-r--r--test/range_dot.8.c4
-rw-r--r--test/range_dot.x.c4
-rw-r--r--test/range_full.8.c4
-rw-r--r--test/range_full.c5
-rw-r--r--test/range_full.e.c5
-rw-r--r--test/range_full.u.c5
-rw-r--r--test/range_full.w.c5
-rw-r--r--test/range_full.x.c4
-rw-r--r--test/range_neg_lf.8.c4
-rw-r--r--test/range_neg_lf.x.c4
-rw-r--r--test/repeat-00.cgi.c2
-rw-r--r--test/repeat-01.cgir--skeleton.c771
-rw-r--r--test/repeat-01.cgir.c13
-rw-r--r--test/repeat-02.cgir--skeleton.c771
-rw-r--r--test/repeat-02.cgir.c13
-rw-r--r--test/repeat-03.cgir--skeleton.c172
-rw-r--r--test/repeat-03.cgir.c1
-rw-r--r--test/repeat-04.cgir.c6
-rw-r--r--test/repeat-05.cgir.c2
-rw-r--r--test/repeat-06.gir--skeleton.c137
-rw-r--r--test/repeat-07_default.gir--skeleton.c146
-rw-r--r--test/repeat-07_error.gir.c3
-rw-r--r--test/repeat-07_error.gir.re64
-rw-r--r--test/repeat-08.ir.c5
-rw-r--r--test/repeat-08.ir.re4
-rw-r--r--test/repeat-09.ir.c22
-rw-r--r--test/repeat-09.ir.re11
-rw-r--r--test/repeater2.c26
-rw-r--r--test/repeater_overflow.c2
-rw-r--r--test/reuse_conds_default_0.cgir--skeleton.c172
-rw-r--r--test/reuse_conds_default_1.cgir--skeleton.c180
-rw-r--r--test/reuse_conds_default_1.cgir.c14
-rw-r--r--test/reuse_conds_default_1.cgir.re4
-rw-r--r--test/reuse_conds_setup_0.cgir.c194
-rw-r--r--test/reuse_conds_setup_0.cgir.re5
-rw-r--r--test/reuse_conds_setup_1.cgir--eager-skip.c195
-rw-r--r--test/reuse_conds_setup_1.cgir--eager-skip.re30
-rw-r--r--test/reuse_conds_setup_1.cgir.c208
-rw-r--r--test/reuse_conds_setup_1.cgir.re3
-rw-r--r--test/rexx.--empty-class(error).c2
-rw-r--r--test/rexx.--empty-class(match-empty).c1743
-rw-r--r--test/rexx.--empty-class(match-none).c1738
-rw-r--r--test/rexx.--skeleton.c2161
-rw-r--r--test/rexx.c1743
-rw-r--r--test/sample.c4
-rw-r--r--test/scanner.--skeleton.c330
-rw-r--r--test/scanner.c12
-rw-r--r--test/scanner.fs.c12
-rw-r--r--test/scanner.s.c12
-rw-r--r--test/scanner_re2c.bi.c1215
-rw-r--r--test/scanner_re2c_default.--emit-dot.c842
-rw-r--r--test/scanner_re2c_default.bi.c1219
-rw-r--r--test/segfault_full_range_star.bi.c2
-rw-r--r--test/segfault_full_range_star_startlabel.ci.c2
-rw-r--r--test/segfault_full_range_star_startlabel.i.c2
-rw-r--r--test/segfault_full_range_star_startlabel2.ci.c2
-rw-r--r--test/segfault_full_range_star_startlabel2.i.c2
-rw-r--r--test/strip_001.s.c28
-rw-r--r--test/strip_002.s.c40
-rw-r--r--test/strip_003.b--skeleton.c422
-rw-r--r--test/strip_003.b.c16
-rw-r--r--test/tags/ambiguity/alt0.i--tags.c13
-rw-r--r--test/tags/ambiguity/alt0.i--tags.re6
-rw-r--r--test/tags/ambiguity/alt1.i--tags.c20
-rw-r--r--test/tags/ambiguity/alt1.i--tags.re4
-rw-r--r--test/tags/ambiguity/alt2.i--tags.c21
-rw-r--r--test/tags/ambiguity/alt2.i--tags.re4
-rw-r--r--test/tags/ambiguity/cat1.i--tags.c38
-rw-r--r--test/tags/ambiguity/cat1.i--tags.re4
-rw-r--r--test/tags/ambiguity/cat3.i.c148
-rw-r--r--test/tags/ambiguity/cat3.i.re31
-rw-r--r--test/tags/ambiguity/cat4.i--tags.c44
-rw-r--r--test/tags/ambiguity/cat4.i--tags.re6
-rw-r--r--test/tags/ambiguity/iter.i--tags.c105
-rw-r--r--test/tags/ambiguity/iter.i--tags.re10
-rw-r--r--test/tags/bench_http_rfc7230.i.c13288
-rw-r--r--test/tags/bench_http_rfc7230.i.re318
-rw-r--r--test/tags/bench_http_simple.i.c2437
-rw-r--r--test/tags/bench_http_simple.i.re231
-rw-r--r--test/tags/bench_uri_rfc3986.i.c7943
-rw-r--r--test/tags/bench_uri_rfc3986.i.re178
-rw-r--r--test/tags/bench_uri_simple.i.c1382
-rw-r--r--test/tags/bench_uri_simple.i.re134
-rw-r--r--test/tags/bug121_fix_multiple.i--input(custom).c1
-rw-r--r--test/tags/bug121_fix_multiple.i--input(custom).re10
-rw-r--r--test/tags/bug121_fix_multiple.i--tags--input(custom).c72
-rw-r--r--test/tags/bug121_fix_multiple.i--tags--input(custom).re10
-rw-r--r--test/tags/bug121_fix_none.i.c47
-rw-r--r--test/tags/bug121_fix_none.i.re8
-rw-r--r--test/tags/bug121_fix_single.i--input(custom).c58
-rw-r--r--test/tags/bug121_fix_single.i--input(custom).re11
-rw-r--r--test/tags/bug121_var_multiple.i--input(custom).c1
-rw-r--r--test/tags/bug121_var_multiple.i--input(custom).re8
-rw-r--r--test/tags/bug121_var_multiple.i--tags--eager-skip--input(custom).c73
-rw-r--r--test/tags/bug121_var_multiple.i--tags--eager-skip--input(custom).re8
-rw-r--r--test/tags/bug121_var_multiple.i--tags--eager-skip.c71
-rw-r--r--test/tags/bug121_var_multiple.i--tags--eager-skip.re8
-rw-r--r--test/tags/bug121_var_multiple.i--tags--input(custom).c69
-rw-r--r--test/tags/bug121_var_multiple.i--tags--input(custom).re8
-rw-r--r--test/tags/bug121_var_multiple.i--tags.c65
-rw-r--r--test/tags/bug121_var_multiple.i--tags.re8
-rw-r--r--test/tags/bug121_var_multiple.i.c1
-rw-r--r--test/tags/bug121_var_multiple.i.re8
-rw-r--r--test/tags/bug121_var_single.i--input(custom).c62
-rw-r--r--test/tags/bug121_var_single.i--input(custom).re10
-rw-r--r--test/tags/bug121_var_single.i.c60
-rw-r--r--test/tags/bug121_var_single.i.re10
-rw-r--r--test/tags/cond_star0.ci--input(custom).c62
-rw-r--r--test/tags/cond_star0.ci--input(custom).re8
-rw-r--r--test/tags/cond_star0.ci.c60
-rw-r--r--test/tags/cond_star0.ci.re8
-rw-r--r--test/tags/cond_star1.ci--input(custom).c105
-rw-r--r--test/tags/cond_star1.ci--input(custom).re10
-rw-r--r--test/tags/cond_star1.ci.c102
-rw-r--r--test/tags/cond_star1.ci.re10
-rw-r--r--test/tags/cond_star2.ci.c159
-rw-r--r--test/tags/cond_star2.ci.re14
-rw-r--r--test/tags/conf1.i--tags--input(custom).c299
-rw-r--r--test/tags/conf1.i--tags--input(custom).re59
-rw-r--r--test/tags/conf1.i--tags.c277
-rw-r--r--test/tags/conf1.i--tags.re49
-rw-r--r--test/tags/conf2.i--tags--input(custom).c363
-rw-r--r--test/tags/conf2.i--tags--input(custom).re110
-rw-r--r--test/tags/conf2.i--tags.c339
-rw-r--r--test/tags/conf2.i--tags.re105
-rw-r--r--test/tags/conf3.i--tags--input(custom).c320
-rw-r--r--test/tags/conf3.i--tags--input(custom).re87
-rw-r--r--test/tags/conf3.i--tags.c298
-rw-r--r--test/tags/conf3.i--tags.re80
-rw-r--r--test/tags/copy_coalescing1.i--tags.c101
-rw-r--r--test/tags/copy_coalescing1.i--tags.re15
-rw-r--r--test/tags/copy_coalescing2.i--tags.c87
-rw-r--r--test/tags/copy_coalescing2.i--tags.re10
-rw-r--r--test/tags/copy_save.i--tags.c56
-rw-r--r--test/tags/copy_save.i--tags.re5
-rw-r--r--test/tags/counter1.i--tags.c118
-rw-r--r--test/tags/counter1.i--tags.re6
-rw-r--r--test/tags/dedup0.i--input(custom).c75
-rw-r--r--test/tags/dedup0.i--input(custom).re6
-rw-r--r--test/tags/dedup0.i.c72
-rw-r--r--test/tags/dedup0.i.re6
-rw-r--r--test/tags/dedup1.i--input(custom).c91
-rw-r--r--test/tags/dedup1.i--input(custom).re6
-rw-r--r--test/tags/dedup1.i.c87
-rw-r--r--test/tags/dedup1.i.re6
-rw-r--r--test/tags/dedup2.i--input(custom).c16
-rw-r--r--test/tags/dedup2.i--input(custom).re5
-rw-r--r--test/tags/dedup2.i.c16
-rw-r--r--test/tags/dedup2.i.re5
-rw-r--r--test/tags/dedup3.i--input(custom).c77
-rw-r--r--test/tags/dedup3.i--input(custom).re5
-rw-r--r--test/tags/dedup3.i.c73
-rw-r--r--test/tags/dedup3.i.re5
-rw-r--r--test/tags/dedup4.i--tags.c268
-rw-r--r--test/tags/dedup4.i--tags.re23
-rw-r--r--test/tags/dedup5.i--tags.c113
-rw-r--r--test/tags/dedup5.i--tags.re16
-rw-r--r--test/tags/exponential_bottoms.i--tags.c59
-rw-r--r--test/tags/exponential_bottoms.i--tags.re8
-rw-r--r--test/tags/fallback1.i--tags.c75
-rw-r--r--test/tags/fallback1.i--tags.re19
-rw-r--r--test/tags/fallback2.i--tags.c61
-rw-r--r--test/tags/fallback2.i--tags.re19
-rw-r--r--test/tags/fallback3.i--tags.c69
-rw-r--r--test/tags/fallback3.i--tags.re11
-rw-r--r--test/tags/fallback4.i--tags.c77
-rw-r--r--test/tags/fallback4.i--tags.re12
-rw-r--r--test/tags/fallback5.i--tags.c67
-rw-r--r--test/tags/fallback5.i--tags.re3
-rw-r--r--test/tags/fallback6.i--tags.c106
-rw-r--r--test/tags/fallback6.i--tags.re8
-rw-r--r--test/tags/fix2.i--tags.c134
-rw-r--r--test/tags/fix2.i--tags.re35
-rw-r--r--test/tags/fix2_trail.i--tags--input(custom).c166
-rw-r--r--test/tags/fix2_trail.i--tags--input(custom).re42
-rw-r--r--test/tags/fix2_trail.i--tags.c134
-rw-r--r--test/tags/fix2_trail.i--tags.re35
-rw-r--r--test/tags/fix3.i--tags.c128
-rw-r--r--test/tags/fix3.i--tags.re35
-rw-r--r--test/tags/fix3_trail.i--tags--input(custom).c166
-rw-r--r--test/tags/fix3_trail.i--tags--input(custom).re42
-rw-r--r--test/tags/fix3_trail.i--tags.c128
-rw-r--r--test/tags/fix3_trail.i--tags.re35
-rw-r--r--test/tags/fix4.i--tags.c86
-rw-r--r--test/tags/fix4.i--tags.re35
-rw-r--r--test/tags/fix4_trail.i--tags--input(custom).c106
-rw-r--r--test/tags/fix4_trail.i--tags--input(custom).re42
-rw-r--r--test/tags/fix4_trail.i--tags.c86
-rw-r--r--test/tags/fix4_trail.i--tags.re35
-rw-r--r--test/tags/fix5.i--tags.c109
-rw-r--r--test/tags/fix5.i--tags.re35
-rw-r--r--test/tags/fix5_trail.i--tags--input(custom).c132
-rw-r--r--test/tags/fix5_trail.i--tags--input(custom).re42
-rw-r--r--test/tags/fix5_trail.i--tags.c109
-rw-r--r--test/tags/fix5_trail.i--tags.re35
-rw-r--r--test/tags/interference.i--tags.c72
-rw-r--r--test/tags/interference.i--tags.re7
-rw-r--r--test/tags/iter_plus.i--tags.c33
-rw-r--r--test/tags/iter_plus.i--tags.re7
-rw-r--r--test/tags/lost_tag.i--tags--no-lookahead--input(custom).c24
-rw-r--r--test/tags/lost_tag.i--tags--no-lookahead--input(custom).re5
-rw-r--r--test/tags/map_ord1.i--tags--no-lookahead.c51
-rw-r--r--test/tags/map_ord1.i--tags--no-lookahead.re6
-rw-r--r--test/tags/map_ord1.i--tags.c45
-rw-r--r--test/tags/map_ord1.i--tags.re6
-rw-r--r--test/tags/map_ord2.i--tags--no-lookahead.c98
-rw-r--r--test/tags/map_ord2.i--tags--no-lookahead.re6
-rw-r--r--test/tags/map_ord2.i--tags.c83
-rw-r--r--test/tags/map_ord2.i--tags.re6
-rw-r--r--test/tags/minimization.i.c70
-rw-r--r--test/tags/minimization.i.re14
-rw-r--r--test/tags/skip_tags_disorder1.i--tags--no-lookahead.c30
-rw-r--r--test/tags/skip_tags_disorder1.i--tags--no-lookahead.re5
-rw-r--r--test/tags/skip_tags_disorder2.i--tags--no-lookahead.c55
-rw-r--r--test/tags/skip_tags_disorder2.i--tags--no-lookahead.re6
-rw-r--r--test/tags/skip_tags_disorder3.i--eager-skip.c47
-rw-r--r--test/tags/skip_tags_disorder3.i--eager-skip.re6
-rw-r--r--test/tags/skip_tags_disorder4.i--tags--no-lookahead.c66
-rw-r--r--test/tags/skip_tags_disorder4.i--tags--no-lookahead.re6
-rw-r--r--test/tags/syntax_error0.c1
-rw-r--r--test/tags/syntax_error0.re4
-rw-r--r--test/tags/tags_in_trail.i--tags.c50
-rw-r--r--test/tags/tags_in_trail.i--tags.re5
-rw-r--r--test/tags/topsort1.i--tags.c63
-rw-r--r--test/tags/topsort1.i--tags.re6
-rw-r--r--test/tags/topsort2.i--tags.c57
-rw-r--r--test/tags/topsort2.i--tags.re5
-rw-r--r--test/tags/topsort3.i--tags--no-lookahead.c71
-rw-r--r--test/tags/topsort3.i--tags--no-lookahead.re6
-rw-r--r--test/tags/twopass.i--tags.c210
-rw-r--r--test/tags/twopass.i--tags.re9
-rw-r--r--test/tags/uniq.i--tags.c56
-rw-r--r--test/tags/uniq.i--tags.re8
-rw-r--r--test/tags/yyaccept1.i.c63
-rw-r--r--test/tags/yyaccept1.i.re11
-rw-r--r--test/unicode_blocks.8--encoding-policy(fail).c2
-rw-r--r--test/unicode_blocks.8--encoding-policy(ignore).c4
-rw-r--r--test/unicode_blocks.8--encoding-policy(substitute).c4
-rw-r--r--test/unicode_blocks.8--skeleton--encoding-policy(ignore).c3503
-rw-r--r--test/unicode_blocks.u--encoding-policy(fail).c2
-rw-r--r--test/unicode_blocks.u--skeleton--encoding-policy(ignore).c3500
-rw-r--r--test/unicode_blocks.x--encoding-policy(fail).c2
-rw-r--r--test/unicode_blocks.x--skeleton--encoding-policy(ignore).c3500
-rw-r--r--test/unicode_group_C.8--encoding-policy(fail).c2
-rw-r--r--test/unicode_group_C.8--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_C.8--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_C.u--encoding-policy(fail).c2
-rw-r--r--test/unicode_group_C.x--encoding-policy(fail).c2
-rw-r--r--test/unicode_group_C.x--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_C.x--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_Cc.8--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_Cc.8--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_Cc.8--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_Cf.8--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_Cf.8--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_Cf.8--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_Cf.x--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_Cf.x--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_Cf.x--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_Cn.8--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_Cn.8--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_Cn.8--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_Cn.x--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_Cn.x--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_Cn.x--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_Co.8--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_Co.8--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_Co.8--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_Cs.8--encoding-policy(fail).c2
-rw-r--r--test/unicode_group_Cs.u--encoding-policy(fail).c2
-rw-r--r--test/unicode_group_Cs.x--encoding-policy(fail).c2
-rw-r--r--test/unicode_group_L.8--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_L.8--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_L.8--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_L.x--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_L.x--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_L.x--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_L_.8--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_L_.8--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_L_.8--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_L_.x--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_L_.x--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_L_.x--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_Ll.8--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_Ll.8--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_Ll.8--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_Ll.x--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_Ll.x--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_Ll.x--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_Lm.8--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_Lm.8--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_Lm.8--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_Lo.8--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_Lo.8--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_Lo.8--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_Lo.x--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_Lo.x--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_Lo.x--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_Lt.8--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_Lt.8--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_Lt.8--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_Lu.8--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_Lu.8--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_Lu.8--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_Lu.x--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_Lu.x--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_Lu.x--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_M.8--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_M.8--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_M.8--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_M.x--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_M.x--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_M.x--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_Mc.8--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_Mc.8--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_Mc.8--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_Mc.x--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_Mc.x--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_Mc.x--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_Me.8--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_Me.8--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_Me.8--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_Mn.8--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_Mn.8--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_Mn.8--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_Mn.x--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_Mn.x--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_Mn.x--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_N.8--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_N.8--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_N.8--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_N.x--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_N.x--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_N.x--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_Nd.8--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_Nd.8--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_Nd.8--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_Nd.x--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_Nd.x--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_Nd.x--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_Nl.8--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_Nl.8--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_Nl.8--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_Nl.x--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_Nl.x--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_Nl.x--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_No.8--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_No.8--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_No.8--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_No.x--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_No.x--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_No.x--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_P.8--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_P.8--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_P.8--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_P.x--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_P.x--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_P.x--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_Pc.8--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_Pc.8--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_Pc.8--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_Pd.8--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_Pd.8--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_Pd.8--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_Pe.8--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_Pe.8--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_Pe.8--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_Pf.8--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_Pf.8--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_Pf.8--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_Pi.8--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_Pi.8--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_Pi.8--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_Po.8--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_Po.8--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_Po.8--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_Po.x--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_Po.x--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_Po.x--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_Ps.8--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_Ps.8--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_Ps.8--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_S.8--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_S.8--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_S.8--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_S.x--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_S.x--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_S.x--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_Sc.8--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_Sc.8--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_Sc.8--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_Sk.8--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_Sk.8--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_Sk.8--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_Sm.8--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_Sm.8--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_Sm.8--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_Sm.x--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_Sm.x--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_Sm.x--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_So.8--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_So.8--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_So.8--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_So.x--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_So.x--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_So.x--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_Z.8--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_Z.8--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_Z.8--encoding-policy(substitute).c4
-rw-r--r--test/unicode_group_Zs.8--encoding-policy(fail).c4
-rw-r--r--test/unicode_group_Zs.8--encoding-policy(ignore).c4
-rw-r--r--test/unicode_group_Zs.8--encoding-policy(substitute).c4
-rw-r--r--test/wunreachable_rules.i.c110
-rw-r--r--test/wunreachable_rules.i.re19
-rw-r--r--test/yyaccept_initial.i.c61
-rw-r--r--test/yyaccept_initial.i.re11
-rw-r--r--test/yyaccept_missing.bci--eager-skip.c158
-rw-r--r--test/yyaccept_missing.bci--eager-skip.re67
-rw-r--r--test/yyaccept_missing.bci.c3
1614 files changed, 222016 insertions, 116691 deletions
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 795216ce..00000000
--- a/.gitignore
+++ /dev/null
@@ -1,10 +0,0 @@
-autom4te.cache/
-Makefile.in
-aclocal.m4
-configure
-compile
-config.h.in
-depcomp
-install-sh
-missing
-test-driver
diff --git a/CHANGELOG b/CHANGELOG
index 02a523c2..17378069 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,5 +1,109 @@
+Version 1.0.2 (2017-08-26)
+--------------------------
+- Fixed bug #194 Build with "--enable-docs"
+- Updated documentation.
+
+Version 1.0.1 (2017-08-11)
+--------------------------
+- Fixed bug #193 1.0 build failure on macOS: error: calling a private constructor of class 're2c::Rule'
+- Added paper "Tagged Deterministic Finite Automata with Lookahead" to distribution
+
+Version 1.0 (2017-08-11)
+------------------------
+- Added options:
+ '-P --posix-captures' (POSIX-compliant capturing groups)
+ '-T --tags' (standalone tags with leftmost greedy disambiguation)
+ '--no-lookahead'
+ '--no-optimize-tags'
+ '--eager-skip'
+ '--dump-nfa'
+ '--dump-dfa-raw'
+ '--dump-dfa-det'
+ '--dump-dfa-tagopt'
+ '--dump-dfa-min'
+ '--dump-adfa'
+- Added new syntax:
+ '@<stag>'
+ '#<mtag>'
+- Added new directives:
+ '/*!stags:re2c ... */'
+ '/*!mtags:re2c ... */'
+ '/*!maxnmatch:re2c ... */'
+- Added new API:
+ 'YYSTAGN (t)'
+ 'YYSTAGP (t)'
+ 'YYMTAGN (t)'
+ 'YYMTAGP (t)'
+ 'YYRESTORETAG (t)'
+ 'YYMAXNMATCH'
+ 'yynmatch'
+ 'yypmatch'
+- Added inplace confgurations:
+ 're2c:define:YYSTAGN'
+ 're2c:define:YYSTAGP'
+ 're2c:define:YYMTAGN'
+ 're2c:define:YYMTAGP'
+ 're2c:define:YYRESTORETAG'
+ 're2c:flags:8' or 're2c:flags:utf-8''
+ 're2c:flags:b' or 're2c:flags:bit-vectors'
+ 're2c:flags:case-insensitive'
+ 're2c:flags:case-inverted'
+ 're2c:flags:d' or 're2c:flags:debug-output'
+ 're2c:flags:dfa-minimization'
+ 're2c:flags:eager-skip'
+ 're2c:flags:e' or 're2c:flags:ecb'
+ 're2c:flags:empty-class'
+ 're2c:flags:encoding-policy'
+ 're2c:flags:g' or 're2c:flags:computed-gotos'
+ 're2c:flags:i' or 're2c:flags:no-debug-info'
+ 're2c:flags:input'
+ 're2c:flags:lookahead'
+ 're2c:flags:optimize-tags'
+ 're2c:flags:P' or 're2c:flags:posix-captures'
+ 're2c:flags:s' or 're2c:flags:nested-ifs'
+ 're2c:flags:T' or 're2c:flags:tags'
+ 're2c:flags:u' or 're2c:flags:unicode'
+ 're2c:flags:w' or 're2c:flags:wide-chars'
+ 're2c:flags:x' or 're2c:flags:utf-16'
+ 're2c:tags:expression'
+ 're2c:tags:prefix'
+- Added warning '-Wnondeterministic-tags'
+- Added fuzz-testing scripts
+- Added paper "Tagged Deterministic Finite Automata with Lookahead"
+- Fixed bugs:
+ #121 "trailing contexts are fundamentally broken"
+ #135 "In installation 'make check' give syntax error"
+ #137 "run_tests.sh fail when running configure script with absolute path"
+ #138 "website improvement"
+ #141 "Tests under Windows"
+ #142 "segvault with null terminated input"
+ #145 "Values for enum YYCONDTYPE are not generated when default rules with conditions are used"
+ #147 "Please add symbol name to "can't find symbol" error message"
+ #152 "Line number in #line directive after enum YYCONDTYPE is 0-based"
+ #156 "Build with Visual Studio 14 2015: symbol name conflict"
+ #158 "Inconsistent forward declaration of struct/class vs definition"
+ #160 "Open text files with "wb" causes issues on Windows"
+ #162 "Reading files with "rb" causes issues in Windows"
+ #165 "Trailing context consumed if initial expression matches it"
+ #176 "re2c help message is too wide for most terminals"
+ #184 "Small documentation issue"
+ #186 "Difference operator sometimes doesn't work with utf-8"
+- Merged pull requests:
+ #131 "Use bash-specific '[[' builtin"
+ #136 "Added basic support for travis-ci.org integration"
+ #171 "Typo fix"
+ #172 "Grammar fixes in the docs"
+ #173 "Grammar fixes in the manpage"
+ #174 "more documentation fixes"
+ #175 "more manpage fixes"
+ #177 "sync --help output w/ manpage"
+ #178 "Moves rts used in the manpage to master"
+ #179 "compose manpage out of rsts from gh-pages-gen"
+ #189 "Typo fix and small grammatical change"
+ #191 "Makefile.am: create target directory before writing into it"
+
Version 0.16 (2016-01-21)
----------------------------
+-------------------------
- Fixed bug #127 "code generation error with wide chars and bitmaps (omitted 'goto' statement)"
- Added DFA minimization and option '--dfa-minimization <table | moore>'
- Fixed bug #128 "very slow DFA construction (resulting in a very large DFA)"
diff --git a/Makefile.am b/Makefile.am
index 3b3b2c5e..378fb767 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -9,116 +9,138 @@ RE2C = re2c$(EXEEXT)
# sources
SRC_HDR = \
- src/codegen/bitmap.h \
- src/codegen/emit.h \
- src/codegen/go.h \
- src/codegen/indent.h \
- src/codegen/input_api.h \
- src/codegen/label.h \
- src/codegen/output.h \
- src/codegen/print.h \
+ src/code/bitmap.h \
+ src/code/emit.h \
+ src/code/go.h \
+ src/code/input_api.h \
+ src/code/label.h \
+ src/code/output.h \
+ src/code/print.h \
src/conf/msg.h \
src/conf/opt.h \
src/conf/warn.h \
- src/ir/adfa/action.h \
- src/ir/adfa/adfa.h \
- src/ir/dfa/dfa.h \
- src/ir/nfa/nfa.h \
- src/ir/regexp/encoding/case.h \
- src/ir/regexp/encoding/enc.h \
- src/ir/regexp/encoding/range_suffix.h \
- src/ir/regexp/encoding/utf8/utf8.h \
- src/ir/regexp/encoding/utf8/utf8_regexp.h \
- src/ir/regexp/encoding/utf8/utf8_range.h \
- src/ir/regexp/encoding/utf16/utf16_range.h \
- src/ir/regexp/encoding/utf16/utf16_regexp.h \
- src/ir/regexp/encoding/utf16/utf16.h \
- src/ir/regexp/empty_class_policy.h \
- src/ir/regexp/regexp_alt.h \
- src/ir/regexp/regexp_match.h \
- src/ir/regexp/regexp_rule.h \
- src/ir/regexp/regexp_cat.h \
- src/ir/regexp/regexp_null.h \
- src/ir/regexp/regexp.h \
- src/ir/regexp/regexp_close.h \
- src/ir/compile.h \
- src/ir/rule_rank.h \
- src/ir/skeleton/path.h \
- src/ir/skeleton/way.h \
- src/ir/skeleton/skeleton.h \
- src/globals.h \
- src/parse/code.h \
- src/parse/extop.h \
- src/parse/input.h \
- src/parse/loc.h \
- src/parse/parser.h \
- src/parse/rules.h \
- src/parse/scanner.h \
- src/parse/spec.h \
- src/parse/unescape.h \
+ src/adfa/action.h \
+ src/adfa/adfa.h \
+ src/adfa/dump.h \
+ src/dfa/cfg/cfg.h \
+ src/dfa/closure.h \
+ src/dfa/dfa.h \
+ src/dfa/dump.h \
+ src/dfa/find_state.h \
+ src/dfa/tagpool.h \
+ src/dfa/tagtree.h \
+ src/dfa/tcmd.h \
+ src/nfa/nfa.h \
+ src/re/encoding/case.h \
+ src/re/encoding/enc.h \
+ src/re/encoding/range_suffix.h \
+ src/re/encoding/utf8/utf8.h \
+ src/re/encoding/utf8/utf8_regexp.h \
+ src/re/encoding/utf8/utf8_range.h \
+ src/re/encoding/utf16/utf16_range.h \
+ src/re/encoding/utf16/utf16_regexp.h \
+ src/re/encoding/utf16/utf16.h \
+ src/re/empty_class_policy.h \
+ src/re/re.h \
+ src/re/rule.h \
+ src/re/tag.h \
+ src/compile.h \
+ src/skeleton/path.h \
+ src/skeleton/skeleton.h \
+ src/ast/ast.h \
+ src/ast/input.h \
+ src/ast/parser.h \
+ src/ast/scanner.h \
+ src/ast/unescape.h \
src/util/allocate.h \
src/util/attribute.h \
src/util/c99_stdint.h \
src/util/counter.h \
src/util/forbid_copy.h \
src/util/free_list.h \
+ src/util/hash32.h \
src/util/local_increment.h \
- src/util/ord_hash_set.h \
+ src/util/lookup.h \
src/util/range.h \
src/util/s_to_n32_unsafe.h \
+ src/util/slab_allocator.h \
src/util/smart_ptr.h \
src/util/static_assert.h \
+ src/util/string_utils.h \
src/util/u32lim.h \
- src/util/uniq_vector.h
+ src/util/uniq_vector.h \
+ src/util/wrap_iter.h
SRC = \
- src/codegen/bitmap.cc \
- src/codegen/emit_action.cc \
- src/codegen/emit_dfa.cc \
- src/codegen/label.cc \
- src/codegen/go_construct.cc \
- src/codegen/go_destruct.cc \
- src/codegen/go_emit.cc \
- src/codegen/go_used_labels.cc \
- src/codegen/input_api.cc \
- src/codegen/output.cc \
- src/codegen/print.cc \
+ src/code/bitmap.cc \
+ src/code/emit_action.cc \
+ src/code/emit_dfa.cc \
+ src/code/label.cc \
+ src/code/go_construct.cc \
+ src/code/go_destruct.cc \
+ src/code/go_emit.cc \
+ src/code/go_used_labels.cc \
+ src/code/input_api.cc \
+ src/code/output.cc \
+ src/code/print.cc \
src/conf/msg.cc \
src/conf/opt.cc \
src/conf/warn.cc \
- src/ir/nfa/calc_size.cc \
- src/ir/nfa/nfa.cc \
- src/ir/nfa/split.cc \
- src/ir/adfa/adfa.cc \
- src/ir/adfa/prepare.cc \
- src/ir/dfa/determinization.cc \
- src/ir/dfa/fillpoints.cc \
- src/ir/dfa/minimization.cc \
- src/ir/regexp/display.cc \
- src/ir/regexp/encoding/enc.cc \
- src/ir/regexp/encoding/range_suffix.cc \
- src/ir/regexp/encoding/utf8/utf8_regexp.cc \
- src/ir/regexp/encoding/utf8/utf8_range.cc \
- src/ir/regexp/encoding/utf8/utf8.cc \
- src/ir/regexp/encoding/utf16/utf16_regexp.cc \
- src/ir/regexp/encoding/utf16/utf16.cc \
- src/ir/regexp/encoding/utf16/utf16_range.cc \
- src/ir/regexp/fixed_length.cc \
- src/ir/regexp/regexp.cc \
- src/ir/compile.cc \
- src/ir/rule_rank.cc \
- src/ir/skeleton/control_flow.cc \
- src/ir/skeleton/generate_code.cc \
- src/ir/skeleton/generate_data.cc \
- src/ir/skeleton/match_empty.cc \
- src/ir/skeleton/maxlen.cc \
- src/ir/skeleton/skeleton.cc \
- src/ir/skeleton/unreachable.cc \
- src/ir/skeleton/way.cc \
+ src/nfa/dump.cc \
+ src/nfa/estimate_size.cc \
+ src/nfa/re_to_nfa.cc \
+ src/adfa/adfa.cc \
+ src/adfa/dump.cc \
+ src/adfa/prepare.cc \
+ src/dfa/cfg/cfg.cc \
+ src/dfa/cfg/compact.cc \
+ src/dfa/cfg/dce.cc \
+ src/dfa/cfg/dump.cc \
+ src/dfa/cfg/freeze.cc \
+ src/dfa/cfg/interfere.cc \
+ src/dfa/cfg/liveanal.cc \
+ src/dfa/cfg/normalize.cc \
+ src/dfa/cfg/optimize.cc \
+ src/dfa/cfg/rename.cc \
+ src/dfa/cfg/varalloc.cc \
+ src/dfa/closure.cc \
+ src/dfa/dead_rules.cc \
+ src/dfa/determinization.cc \
+ src/dfa/dump.cc \
+ src/dfa/fallback_tags.cc \
+ src/dfa/fillpoints.cc \
+ src/dfa/find_state.cc \
+ src/dfa/minimization.cc \
+ src/dfa/tagpool.cc \
+ src/dfa/tagtree.cc \
+ src/dfa/tcmd.cc \
+ src/re/encoding/enc.cc \
+ src/re/encoding/range_suffix.cc \
+ src/re/encoding/utf8/utf8_regexp.cc \
+ src/re/encoding/utf8/utf8_range.cc \
+ src/re/encoding/utf8/utf8.cc \
+ src/re/encoding/utf16/utf16_regexp.cc \
+ src/re/encoding/utf16/utf16.cc \
+ src/re/encoding/utf16/utf16_range.cc \
+ src/re/ast_to_re.cc \
+ src/re/default_tags.cc \
+ src/re/fixed_tags.cc \
+ src/re/nullable.cc \
+ src/re/rule.cc \
+ src/re/split_charset.cc \
+ src/re/tag.cc \
+ src/compile.cc \
+ src/skeleton/control_flow.cc \
+ src/skeleton/generate_code.cc \
+ src/skeleton/generate_data.cc \
+ src/skeleton/maxpath.cc \
+ src/skeleton/skeleton.cc \
src/main.cc \
- src/parse/code.cc \
- src/parse/input.cc \
- src/parse/scanner.cc \
- src/parse/unescape.cc \
+ src/ast/ast.cc \
+ src/ast/input.cc \
+ src/ast/normalize.cc \
+ src/ast/scanner.cc \
+ src/ast/unescape.cc \
+ src/ast/validate.cc \
src/util/s_to_n32_unsafe.cc \
src/util/range.cc
re2c_SOURCES = \
@@ -126,59 +148,83 @@ re2c_SOURCES = \
$(SRC)
# autogenerated sources
-AUTOGEN_LEX = src/parse/lex.cc
-AUTOGEN_LEX_CONF = src/parse/lex_conf.cc
+AUTOGEN_LEX = src/ast/lex.cc
+AUTOGEN_LEX_CONF = src/ast/lex_conf.cc
AUTOGEN_PARSEOPT = src/conf/parse_opts.cc
-AUTOGEN_PARSER = src/parse/parser.cc
-AUTOGEN_PARSER_HDR = src/parse/y.tab.h
+AUTOGEN_PARSER = src/ast/parser.cc
+AUTOGEN_PARSER_HDR = src/ast/y.tab.h
+AUTOGEN_HELP = src/conf/help.cc
AUTOGEN = \
$(AUTOGEN_LEX) \
$(AUTOGEN_LEX_CONF) \
$(AUTOGEN_PARSER) \
$(AUTOGEN_PARSER_HDR) \
- $(AUTOGEN_PARSEOPT)
+ $(AUTOGEN_PARSEOPT)\
+ $(AUTOGEN_HELP)
nodist_re2c_SOURCES = $(AUTOGEN)
# bootstrap sources
-BOOTSTRAP_LEX = bootstrap/src/parse/lex.cc
-BOOTSTRAP_LEX_CONF = bootstrap/src/parse/lex_conf.cc
+BOOTSTRAP_LEX = bootstrap/src/ast/lex.cc
+BOOTSTRAP_LEX_CONF = bootstrap/src/ast/lex_conf.cc
BOOTSTRAP_PARSEOPT = bootstrap/src/conf/parse_opts.cc
-BOOTSTRAP_PARSER = bootstrap/src/parse/parser.cc
-BOOTSTRAP_PARSER_HDR = bootstrap/src/parse/y.tab.h
+BOOTSTRAP_PARSER = bootstrap/src/ast/parser.cc
+BOOTSTRAP_PARSER_HDR = bootstrap/src/ast/y.tab.h
BOOTSTRAP_DOC = bootstrap/doc/re2c.1
+BOOTSTRAP_HELP = bootstrap/src/conf/help.cc
BOOTSTRAP = \
$(BOOTSTRAP_LEX) \
$(BOOTSTRAP_LEX_CONF) \
$(BOOTSTRAP_DOC) \
+ $(BOOTSTRAP_HELP) \
$(BOOTSTRAP_PARSER) \
$(BOOTSTRAP_PARSER_HDR) \
$(BOOTSTRAP_PARSEOPT)
# custom sources
-CUSTOM_LEX = src/parse/lex.re
-CUSTOM_LEX_CONF = src/parse/lex_conf.re
+CUSTOM_LEX = src/ast/lex.re
+CUSTOM_LEX_CONF = src/ast/lex_conf.re
CUSTOM_PARSEOPT = src/conf/parse_opts.re
-CUSTOM_PARSER = src/parse/parser.ypp
+CUSTOM_PARSER = src/ast/parser.ypp
+CUSTOM_HELP = doc/help.rst
CUSTOM = \
$(CUSTOM_LEX) \
$(CUSTOM_LEX_CONF) \
$(CUSTOM_PARSER) \
- $(CUSTOM_PARSEOPT)
+ $(CUSTOM_PARSEOPT) \
+ $(CUSTOM_HELP)
# docs
SRC_DOC = doc/manpage.rst
+SRC_DOC_EXT = \
+ doc/manual/contributors.rst_ \
+ doc/manual/syntax/rules.rst_ \
+ doc/manual/syntax/interface.rst_ \
+ doc/manual/syntax/configurations.rst_ \
+ doc/manual/syntax/named_definitions.rst_ \
+ doc/manual/syntax/regular_expressions.rst_ \
+ doc/manual/warnings/warnings_list.rst \
+ doc/manual/warnings/warnings_general.rst \
+ doc/manual/features/generic_api/generic_api.rst_ \
+ doc/manual/features/conditions/conditions.rst_ \
+ doc/manual/features/state/state.rst_ \
+ doc/manual/features/submatch/submatch.rst_ \
+ doc/manual/features/encodings/encodings.rst_ \
+ doc/manual/options/options_list.rst
DOC = doc/re2c.1
man_MANS = $(DOC)
EXTRA_DIST = \
$(BOOTSTRAP) \
$(CUSTOM) \
+ $(SRC_DOC_EXT) \
CHANGELOG \
NO_WARRANTY \
README \
autogen.sh \
+ genhelp.sh \
doc/loplas.ps \
doc/sample.bib \
+ doc/tdfa/tdfa.pdf \
examples \
test
@@ -187,6 +233,7 @@ CLEANFILES = \
$(DOC)
$(AUTOGEN_PARSER): $(CUSTOM_PARSER)
+ $(AM_V_at)$(MKDIR_P) $(@D)
$(AM_V_GEN) if test $(BISON) = "no"; \
then \
cp $(top_srcdir)/$(BOOTSTRAP_PARSER) $@ && \
@@ -203,6 +250,7 @@ $(AUTOGEN_PARSER): $(CUSTOM_PARSER)
$(AUTOGEN_LEX): $(AUTOGEN_PARSER)
$(BOOTSTRAP_PARSER): $(CUSTOM_PARSER)
+# target directory exists (as part of source file tree)
$(AM_V_GEN) test $(BISON) = "no" || \
$(BISON) \
--output=$(top_srcdir)/$@ \
@@ -211,6 +259,7 @@ $(BOOTSTRAP_PARSER): $(CUSTOM_PARSER)
$(top_srcdir)/$(CUSTOM_PARSER);
.re.cc:
+ $(AM_V_at)$(MKDIR_P) $(@D)
$(AM_V_GEN) if test -x $(RE2C); \
then \
$(top_builddir)/$(RE2C) $(RE2CFLAGS) -o $@ $< && \
@@ -229,15 +278,25 @@ bootstrap: all
.PHONY: docs
if REBUILD_DOCS
-docs: $(DOC)
-$(DOC): $(SRC_DOC)
- rst2man.py $(top_builddir)/$(SRC_DOC) > $@
+docs: $(DOC) $(AUTOGEN_HELP)
+$(DOC): $(SRC_DOC) $(SRC_DOC_EXT)
+ $(AM_V_at)$(MKDIR_P) $(@D)
+ $(RST2MAN) $(top_builddir)/$(SRC_DOC) > $@
cp $@ $(top_srcdir)/$(BOOTSTRAP_DOC)
+$(AUTOGEN_HELP): $(CUSTOM_HELP)
+ $(AM_V_at)$(MKDIR_P) $(@D)
+ $(RST2MAN) $(top_builddir)/$(CUSTOM_HELP) > $@.1
+ $(top_srcdir)/genhelp.sh $@.1 $@
+ cp $@ $(top_srcdir)/$(BOOTSTRAP_HELP)
else
-docs: $(DOC)
+docs: $(DOC) $(AUTOGEN_HELP)
@echo "Reconfigure to rebuild docs: ./configure --enable-docs"
$(DOC): $(BOOTSTRAP_DOC)
+ $(AM_V_at)$(MKDIR_P) $(@D)
cp $(top_srcdir)/$(BOOTSTRAP_DOC) $@
+$(AUTOGEN_HELP): $(BOOTSTRAP_HELP)
+ $(AM_V_at)$(MKDIR_P) $(@D)
+ cp $(top_srcdir)/$(BOOTSTRAP_HELP) $@
endif
all-local: docs $(BOOTSTRAP_PARSER)
diff --git a/Makefile.in b/Makefile.in
new file mode 100644
index 00000000..dba14078
--- /dev/null
+++ b/Makefile.in
@@ -0,0 +1,2008 @@
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+am__is_gnu_make = { \
+ if test -z '$(MAKELEVEL)'; then \
+ false; \
+ elif test -n '$(MAKE_HOST)'; then \
+ true; \
+ elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+ true; \
+ else \
+ false; \
+ fi; \
+}
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
+ case $$MAKEFLAGS in \
+ *\\[\ \ ]*) \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
+ esac; \
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+bin_PROGRAMS = re2c$(EXEEXT)
+check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2)
+subdir = .
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
+ $(am__configure_deps) $(am__DIST_COMMON)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno config.status.lineno
+mkinstalldirs = $(install_sh) -d
+CONFIG_HEADER = config.h
+CONFIG_CLEAN_FILES = doc/manpage.rst doc/help.rst run_tests.sh
+CONFIG_CLEAN_VPATH_FILES =
+am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"
+am__EXEEXT_1 = testrange$(EXEEXT)
+am__EXEEXT_2 = testston32unsafe$(EXEEXT)
+PROGRAMS = $(bin_PROGRAMS)
+am__objects_1 =
+am__dirstamp = $(am__leading_dot)dirstamp
+am__objects_2 = src/code/bitmap.$(OBJEXT) \
+ src/code/emit_action.$(OBJEXT) src/code/emit_dfa.$(OBJEXT) \
+ src/code/label.$(OBJEXT) src/code/go_construct.$(OBJEXT) \
+ src/code/go_destruct.$(OBJEXT) src/code/go_emit.$(OBJEXT) \
+ src/code/go_used_labels.$(OBJEXT) src/code/input_api.$(OBJEXT) \
+ src/code/output.$(OBJEXT) src/code/print.$(OBJEXT) \
+ src/conf/msg.$(OBJEXT) src/conf/opt.$(OBJEXT) \
+ src/conf/warn.$(OBJEXT) src/nfa/dump.$(OBJEXT) \
+ src/nfa/estimate_size.$(OBJEXT) src/nfa/re_to_nfa.$(OBJEXT) \
+ src/adfa/adfa.$(OBJEXT) src/adfa/dump.$(OBJEXT) \
+ src/adfa/prepare.$(OBJEXT) src/dfa/cfg/cfg.$(OBJEXT) \
+ src/dfa/cfg/compact.$(OBJEXT) src/dfa/cfg/dce.$(OBJEXT) \
+ src/dfa/cfg/dump.$(OBJEXT) src/dfa/cfg/freeze.$(OBJEXT) \
+ src/dfa/cfg/interfere.$(OBJEXT) src/dfa/cfg/liveanal.$(OBJEXT) \
+ src/dfa/cfg/normalize.$(OBJEXT) src/dfa/cfg/optimize.$(OBJEXT) \
+ src/dfa/cfg/rename.$(OBJEXT) src/dfa/cfg/varalloc.$(OBJEXT) \
+ src/dfa/closure.$(OBJEXT) src/dfa/dead_rules.$(OBJEXT) \
+ src/dfa/determinization.$(OBJEXT) src/dfa/dump.$(OBJEXT) \
+ src/dfa/fallback_tags.$(OBJEXT) src/dfa/fillpoints.$(OBJEXT) \
+ src/dfa/find_state.$(OBJEXT) src/dfa/minimization.$(OBJEXT) \
+ src/dfa/tagpool.$(OBJEXT) src/dfa/tagtree.$(OBJEXT) \
+ src/dfa/tcmd.$(OBJEXT) src/re/encoding/enc.$(OBJEXT) \
+ src/re/encoding/range_suffix.$(OBJEXT) \
+ src/re/encoding/utf8/utf8_regexp.$(OBJEXT) \
+ src/re/encoding/utf8/utf8_range.$(OBJEXT) \
+ src/re/encoding/utf8/utf8.$(OBJEXT) \
+ src/re/encoding/utf16/utf16_regexp.$(OBJEXT) \
+ src/re/encoding/utf16/utf16.$(OBJEXT) \
+ src/re/encoding/utf16/utf16_range.$(OBJEXT) \
+ src/re/ast_to_re.$(OBJEXT) src/re/default_tags.$(OBJEXT) \
+ src/re/fixed_tags.$(OBJEXT) src/re/nullable.$(OBJEXT) \
+ src/re/rule.$(OBJEXT) src/re/split_charset.$(OBJEXT) \
+ src/re/tag.$(OBJEXT) src/compile.$(OBJEXT) \
+ src/skeleton/control_flow.$(OBJEXT) \
+ src/skeleton/generate_code.$(OBJEXT) \
+ src/skeleton/generate_data.$(OBJEXT) \
+ src/skeleton/maxpath.$(OBJEXT) src/skeleton/skeleton.$(OBJEXT) \
+ src/main.$(OBJEXT) src/ast/ast.$(OBJEXT) \
+ src/ast/input.$(OBJEXT) src/ast/normalize.$(OBJEXT) \
+ src/ast/scanner.$(OBJEXT) src/ast/unescape.$(OBJEXT) \
+ src/ast/validate.$(OBJEXT) src/util/s_to_n32_unsafe.$(OBJEXT) \
+ src/util/range.$(OBJEXT)
+am_re2c_OBJECTS = $(am__objects_1) $(am__objects_2)
+am__objects_3 = src/ast/lex.$(OBJEXT)
+am__objects_4 = src/ast/lex_conf.$(OBJEXT)
+am__objects_5 = src/ast/parser.$(OBJEXT)
+am__objects_6 = src/conf/parse_opts.$(OBJEXT)
+am__objects_7 = src/conf/help.$(OBJEXT)
+am__objects_8 = $(am__objects_3) $(am__objects_4) $(am__objects_5) \
+ $(am__objects_1) $(am__objects_6) $(am__objects_7)
+nodist_re2c_OBJECTS = $(am__objects_8)
+re2c_OBJECTS = $(am_re2c_OBJECTS) $(nodist_re2c_OBJECTS)
+re2c_LDADD = $(LDADD)
+am_testrange_OBJECTS = src/test/range/test.$(OBJEXT) \
+ src/util/range.$(OBJEXT)
+testrange_OBJECTS = $(am_testrange_OBJECTS)
+testrange_LDADD = $(LDADD)
+am_testston32unsafe_OBJECTS = src/test/s_to_n32_unsafe/test.$(OBJEXT) \
+ src/util/s_to_n32_unsafe.$(OBJEXT)
+testston32unsafe_OBJECTS = $(am_testston32unsafe_OBJECTS)
+testston32unsafe_LDADD = $(LDADD)
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
+DEFAULT_INCLUDES = -I.@am__isrc@
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_@AM_V@)
+am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
+am__v_CXX_0 = @echo " CXX " $@;
+am__v_CXX_1 =
+CXXLD = $(CXX)
+CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
+ -o $@
+AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
+am__v_CXXLD_0 = @echo " CXXLD " $@;
+am__v_CXXLD_1 =
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_@AM_V@)
+am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
+am__v_CC_0 = @echo " CC " $@;
+am__v_CC_1 =
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_@AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo " CCLD " $@;
+am__v_CCLD_1 =
+SOURCES = $(re2c_SOURCES) $(nodist_re2c_SOURCES) $(testrange_SOURCES) \
+ $(testston32unsafe_SOURCES)
+DIST_SOURCES = $(re2c_SOURCES) $(testrange_SOURCES) \
+ $(testston32unsafe_SOURCES)
+am__can_run_installinfo = \
+ case $$AM_UPDATE_INFO_DIR in \
+ n|no|NO) false;; \
+ *) (install-info --version) >/dev/null 2>&1;; \
+ esac
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+ if (++n[$$2] == $(am__install_max)) \
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+ END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+ test -z "$$files" \
+ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && rm -f $$files; }; \
+ }
+man1dir = $(mandir)/man1
+NROFF = nroff
+MANS = $(man_MANS)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
+ $(LISP)config.h.in
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
+ETAGS = etags
+CTAGS = ctags
+CSCOPE = cscope
+AM_RECURSIVE_TARGETS = cscope check recheck
+am__tty_colors_dummy = \
+ mgn= red= grn= lgn= blu= brg= std=; \
+ am__color_tests=no
+am__tty_colors = { \
+ $(am__tty_colors_dummy); \
+ if test "X$(AM_COLOR_TESTS)" = Xno; then \
+ am__color_tests=no; \
+ elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
+ am__color_tests=yes; \
+ elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
+ am__color_tests=yes; \
+ fi; \
+ if test $$am__color_tests = yes; then \
+ red=''; \
+ grn=''; \
+ lgn=''; \
+ blu=''; \
+ mgn=''; \
+ brg=''; \
+ std=''; \
+ fi; \
+}
+am__recheck_rx = ^[ ]*:recheck:[ ]*
+am__global_test_result_rx = ^[ ]*:global-test-result:[ ]*
+am__copy_in_global_log_rx = ^[ ]*:copy-in-global-log:[ ]*
+# A command that, given a newline-separated list of test names on the
+# standard input, print the name of the tests that are to be re-run
+# upon "make recheck".
+am__list_recheck_tests = $(AWK) '{ \
+ recheck = 1; \
+ while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+ { \
+ if (rc < 0) \
+ { \
+ if ((getline line2 < ($$0 ".log")) < 0) \
+ recheck = 0; \
+ break; \
+ } \
+ else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
+ { \
+ recheck = 0; \
+ break; \
+ } \
+ else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
+ { \
+ break; \
+ } \
+ }; \
+ if (recheck) \
+ print $$0; \
+ close ($$0 ".trs"); \
+ close ($$0 ".log"); \
+}'
+# A command that, given a newline-separated list of test names on the
+# standard input, create the global log from their .trs and .log files.
+am__create_global_log = $(AWK) ' \
+function fatal(msg) \
+{ \
+ print "fatal: making $@: " msg | "cat >&2"; \
+ exit 1; \
+} \
+function rst_section(header) \
+{ \
+ print header; \
+ len = length(header); \
+ for (i = 1; i <= len; i = i + 1) \
+ printf "="; \
+ printf "\n\n"; \
+} \
+{ \
+ copy_in_global_log = 1; \
+ global_test_result = "RUN"; \
+ while ((rc = (getline line < ($$0 ".trs"))) != 0) \
+ { \
+ if (rc < 0) \
+ fatal("failed to read from " $$0 ".trs"); \
+ if (line ~ /$(am__global_test_result_rx)/) \
+ { \
+ sub("$(am__global_test_result_rx)", "", line); \
+ sub("[ ]*$$", "", line); \
+ global_test_result = line; \
+ } \
+ else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
+ copy_in_global_log = 0; \
+ }; \
+ if (copy_in_global_log) \
+ { \
+ rst_section(global_test_result ": " $$0); \
+ while ((rc = (getline line < ($$0 ".log"))) != 0) \
+ { \
+ if (rc < 0) \
+ fatal("failed to read from " $$0 ".log"); \
+ print line; \
+ }; \
+ printf "\n"; \
+ }; \
+ close ($$0 ".trs"); \
+ close ($$0 ".log"); \
+}'
+# Restructured Text title.
+am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
+# Solaris 10 'make', and several other traditional 'make' implementations,
+# pass "-e" to $(SHELL), and POSIX 2008 even requires this. Work around it
+# by disabling -e (using the XSI extension "set +e") if it's set.
+am__sh_e_setup = case $$- in *e*) set +e;; esac
+# Default flags passed to test drivers.
+am__common_driver_flags = \
+ --color-tests "$$am__color_tests" \
+ --enable-hard-errors "$$am__enable_hard_errors" \
+ --expect-failure "$$am__expect_failure"
+# To be inserted before the command running the test. Creates the
+# directory for the log if needed. Stores in $dir the directory
+# containing $f, in $tst the test, in $log the log. Executes the
+# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
+# passes TESTS_ENVIRONMENT. Set up options for the wrapper that
+# will run the test scripts (or their associated LOG_COMPILER, if
+# thy have one).
+am__check_pre = \
+$(am__sh_e_setup); \
+$(am__vpath_adj_setup) $(am__vpath_adj) \
+$(am__tty_colors); \
+srcdir=$(srcdir); export srcdir; \
+case "$@" in \
+ */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \
+ *) am__odir=.;; \
+esac; \
+test "x$$am__odir" = x"." || test -d "$$am__odir" \
+ || $(MKDIR_P) "$$am__odir" || exit $$?; \
+if test -f "./$$f"; then dir=./; \
+elif test -f "$$f"; then dir=; \
+else dir="$(srcdir)/"; fi; \
+tst=$$dir$$f; log='$@'; \
+if test -n '$(DISABLE_HARD_ERRORS)'; then \
+ am__enable_hard_errors=no; \
+else \
+ am__enable_hard_errors=yes; \
+fi; \
+case " $(XFAIL_TESTS) " in \
+ *[\ \ ]$$f[\ \ ]* | *[\ \ ]$$dir$$f[\ \ ]*) \
+ am__expect_failure=yes;; \
+ *) \
+ am__expect_failure=no;; \
+esac; \
+$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
+# A shell command to get the names of the tests scripts with any registered
+# extension removed (i.e., equivalently, the names of the test logs, with
+# the '.log' extension removed). The result is saved in the shell variable
+# '$bases'. This honors runtime overriding of TESTS and TEST_LOGS. Sadly,
+# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
+# since that might cause problem with VPATH rewrites for suffix-less tests.
+# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
+am__set_TESTS_bases = \
+ bases='$(TEST_LOGS)'; \
+ bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
+ bases=`echo $$bases`
+RECHECK_LOGS = $(TEST_LOGS)
+TEST_SUITE_LOG = test-suite.log
+TEST_EXTENSIONS = @EXEEXT@ .test
+LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver
+LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS)
+am__set_b = \
+ case '$@' in \
+ */*) \
+ case '$*' in \
+ */*) b='$*';; \
+ *) b=`echo '$@' | sed 's/\.log$$//'`; \
+ esac;; \
+ *) \
+ b='$*';; \
+ esac
+am__test_logs1 = $(TESTS:=.log)
+am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log)
+TEST_LOGS = $(am__test_logs2:.test.log=.log)
+TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver
+TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
+ $(TEST_LOG_FLAGS)
+am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \
+ $(srcdir)/run_tests.sh.in $(top_srcdir)/doc/help.rst.in \
+ $(top_srcdir)/doc/manpage.rst.in README compile depcomp \
+ install-sh missing test-driver
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+ if test -d "$(distdir)"; then \
+ find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
+ && rm -rf "$(distdir)" \
+ || { sleep 5 && rm -rf "$(distdir)"; }; \
+ else :; fi
+am__post_remove_distdir = $(am__remove_distdir)
+DIST_ARCHIVES = $(distdir).tar.gz
+GZIP_ENV = --best
+DIST_TARGETS = dist-gzip
+distuninstallcheck_listfiles = find . -type f -print
+am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
+ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
+distcleancheck_listfiles = find . -type f -print
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BISON = @BISON@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CXXFLAGSDEFAULT = @CXXFLAGSDEFAULT@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EXEEXT = @EXEEXT@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+LDFLAGS = @LDFLAGS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_DATE = @PACKAGE_DATE@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_RELEASE = @PACKAGE_RELEASE@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+RST2MAN = @RST2MAN@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+VERSION = @VERSION@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build_alias = @build_alias@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+
+# flags
+# do *not* add CXXFLAGS here, add them in configure.ac
+AM_CXXFLAGS = $(CXXFLAGSDEFAULT)
+RE2CFLAGS = -b
+RE2C = re2c$(EXEEXT)
+
+# sources
+SRC_HDR = \
+ src/code/bitmap.h \
+ src/code/emit.h \
+ src/code/go.h \
+ src/code/input_api.h \
+ src/code/label.h \
+ src/code/output.h \
+ src/code/print.h \
+ src/conf/msg.h \
+ src/conf/opt.h \
+ src/conf/warn.h \
+ src/adfa/action.h \
+ src/adfa/adfa.h \
+ src/adfa/dump.h \
+ src/dfa/cfg/cfg.h \
+ src/dfa/closure.h \
+ src/dfa/dfa.h \
+ src/dfa/dump.h \
+ src/dfa/find_state.h \
+ src/dfa/tagpool.h \
+ src/dfa/tagtree.h \
+ src/dfa/tcmd.h \
+ src/nfa/nfa.h \
+ src/re/encoding/case.h \
+ src/re/encoding/enc.h \
+ src/re/encoding/range_suffix.h \
+ src/re/encoding/utf8/utf8.h \
+ src/re/encoding/utf8/utf8_regexp.h \
+ src/re/encoding/utf8/utf8_range.h \
+ src/re/encoding/utf16/utf16_range.h \
+ src/re/encoding/utf16/utf16_regexp.h \
+ src/re/encoding/utf16/utf16.h \
+ src/re/empty_class_policy.h \
+ src/re/re.h \
+ src/re/rule.h \
+ src/re/tag.h \
+ src/compile.h \
+ src/skeleton/path.h \
+ src/skeleton/skeleton.h \
+ src/ast/ast.h \
+ src/ast/input.h \
+ src/ast/parser.h \
+ src/ast/scanner.h \
+ src/ast/unescape.h \
+ src/util/allocate.h \
+ src/util/attribute.h \
+ src/util/c99_stdint.h \
+ src/util/counter.h \
+ src/util/forbid_copy.h \
+ src/util/free_list.h \
+ src/util/hash32.h \
+ src/util/local_increment.h \
+ src/util/lookup.h \
+ src/util/range.h \
+ src/util/s_to_n32_unsafe.h \
+ src/util/slab_allocator.h \
+ src/util/smart_ptr.h \
+ src/util/static_assert.h \
+ src/util/string_utils.h \
+ src/util/u32lim.h \
+ src/util/uniq_vector.h \
+ src/util/wrap_iter.h
+
+SRC = \
+ src/code/bitmap.cc \
+ src/code/emit_action.cc \
+ src/code/emit_dfa.cc \
+ src/code/label.cc \
+ src/code/go_construct.cc \
+ src/code/go_destruct.cc \
+ src/code/go_emit.cc \
+ src/code/go_used_labels.cc \
+ src/code/input_api.cc \
+ src/code/output.cc \
+ src/code/print.cc \
+ src/conf/msg.cc \
+ src/conf/opt.cc \
+ src/conf/warn.cc \
+ src/nfa/dump.cc \
+ src/nfa/estimate_size.cc \
+ src/nfa/re_to_nfa.cc \
+ src/adfa/adfa.cc \
+ src/adfa/dump.cc \
+ src/adfa/prepare.cc \
+ src/dfa/cfg/cfg.cc \
+ src/dfa/cfg/compact.cc \
+ src/dfa/cfg/dce.cc \
+ src/dfa/cfg/dump.cc \
+ src/dfa/cfg/freeze.cc \
+ src/dfa/cfg/interfere.cc \
+ src/dfa/cfg/liveanal.cc \
+ src/dfa/cfg/normalize.cc \
+ src/dfa/cfg/optimize.cc \
+ src/dfa/cfg/rename.cc \
+ src/dfa/cfg/varalloc.cc \
+ src/dfa/closure.cc \
+ src/dfa/dead_rules.cc \
+ src/dfa/determinization.cc \
+ src/dfa/dump.cc \
+ src/dfa/fallback_tags.cc \
+ src/dfa/fillpoints.cc \
+ src/dfa/find_state.cc \
+ src/dfa/minimization.cc \
+ src/dfa/tagpool.cc \
+ src/dfa/tagtree.cc \
+ src/dfa/tcmd.cc \
+ src/re/encoding/enc.cc \
+ src/re/encoding/range_suffix.cc \
+ src/re/encoding/utf8/utf8_regexp.cc \
+ src/re/encoding/utf8/utf8_range.cc \
+ src/re/encoding/utf8/utf8.cc \
+ src/re/encoding/utf16/utf16_regexp.cc \
+ src/re/encoding/utf16/utf16.cc \
+ src/re/encoding/utf16/utf16_range.cc \
+ src/re/ast_to_re.cc \
+ src/re/default_tags.cc \
+ src/re/fixed_tags.cc \
+ src/re/nullable.cc \
+ src/re/rule.cc \
+ src/re/split_charset.cc \
+ src/re/tag.cc \
+ src/compile.cc \
+ src/skeleton/control_flow.cc \
+ src/skeleton/generate_code.cc \
+ src/skeleton/generate_data.cc \
+ src/skeleton/maxpath.cc \
+ src/skeleton/skeleton.cc \
+ src/main.cc \
+ src/ast/ast.cc \
+ src/ast/input.cc \
+ src/ast/normalize.cc \
+ src/ast/scanner.cc \
+ src/ast/unescape.cc \
+ src/ast/validate.cc \
+ src/util/s_to_n32_unsafe.cc \
+ src/util/range.cc
+
+re2c_SOURCES = \
+ $(SRC_HDR) \
+ $(SRC)
+
+
+# autogenerated sources
+AUTOGEN_LEX = src/ast/lex.cc
+AUTOGEN_LEX_CONF = src/ast/lex_conf.cc
+AUTOGEN_PARSEOPT = src/conf/parse_opts.cc
+AUTOGEN_PARSER = src/ast/parser.cc
+AUTOGEN_PARSER_HDR = src/ast/y.tab.h
+AUTOGEN_HELP = src/conf/help.cc
+AUTOGEN = \
+ $(AUTOGEN_LEX) \
+ $(AUTOGEN_LEX_CONF) \
+ $(AUTOGEN_PARSER) \
+ $(AUTOGEN_PARSER_HDR) \
+ $(AUTOGEN_PARSEOPT)\
+ $(AUTOGEN_HELP)
+
+nodist_re2c_SOURCES = $(AUTOGEN)
+
+# bootstrap sources
+BOOTSTRAP_LEX = bootstrap/src/ast/lex.cc
+BOOTSTRAP_LEX_CONF = bootstrap/src/ast/lex_conf.cc
+BOOTSTRAP_PARSEOPT = bootstrap/src/conf/parse_opts.cc
+BOOTSTRAP_PARSER = bootstrap/src/ast/parser.cc
+BOOTSTRAP_PARSER_HDR = bootstrap/src/ast/y.tab.h
+BOOTSTRAP_DOC = bootstrap/doc/re2c.1
+BOOTSTRAP_HELP = bootstrap/src/conf/help.cc
+BOOTSTRAP = \
+ $(BOOTSTRAP_LEX) \
+ $(BOOTSTRAP_LEX_CONF) \
+ $(BOOTSTRAP_DOC) \
+ $(BOOTSTRAP_HELP) \
+ $(BOOTSTRAP_PARSER) \
+ $(BOOTSTRAP_PARSER_HDR) \
+ $(BOOTSTRAP_PARSEOPT)
+
+
+# custom sources
+CUSTOM_LEX = src/ast/lex.re
+CUSTOM_LEX_CONF = src/ast/lex_conf.re
+CUSTOM_PARSEOPT = src/conf/parse_opts.re
+CUSTOM_PARSER = src/ast/parser.ypp
+CUSTOM_HELP = doc/help.rst
+CUSTOM = \
+ $(CUSTOM_LEX) \
+ $(CUSTOM_LEX_CONF) \
+ $(CUSTOM_PARSER) \
+ $(CUSTOM_PARSEOPT) \
+ $(CUSTOM_HELP)
+
+
+# docs
+SRC_DOC = doc/manpage.rst
+SRC_DOC_EXT = \
+ doc/manual/contributors.rst_ \
+ doc/manual/syntax/rules.rst_ \
+ doc/manual/syntax/interface.rst_ \
+ doc/manual/syntax/configurations.rst_ \
+ doc/manual/syntax/named_definitions.rst_ \
+ doc/manual/syntax/regular_expressions.rst_ \
+ doc/manual/warnings/warnings_list.rst \
+ doc/manual/warnings/warnings_general.rst \
+ doc/manual/features/generic_api/generic_api.rst_ \
+ doc/manual/features/conditions/conditions.rst_ \
+ doc/manual/features/state/state.rst_ \
+ doc/manual/features/submatch/submatch.rst_ \
+ doc/manual/features/encodings/encodings.rst_ \
+ doc/manual/options/options_list.rst
+
+DOC = doc/re2c.1
+man_MANS = $(DOC)
+EXTRA_DIST = \
+ $(BOOTSTRAP) \
+ $(CUSTOM) \
+ $(SRC_DOC_EXT) \
+ CHANGELOG \
+ NO_WARRANTY \
+ README \
+ autogen.sh \
+ genhelp.sh \
+ doc/loplas.ps \
+ doc/sample.bib \
+ doc/tdfa/tdfa.pdf \
+ examples \
+ test
+
+CLEANFILES = \
+ $(AUTOGEN) \
+ $(DOC)
+
+
+# tests
+TST_SUITE = run_tests.sh
+TST_RANGE = testrange
+testrange_SOURCES = \
+ src/test/range/test-impl.h \
+ src/test/range/test.cc \
+ src/test/range/test.h \
+ src/util/range.cc\
+ src/util/range.h \
+ src/util/static_assert.h
+
+TST_S_TO_N32_UNSAFE = testston32unsafe
+testston32unsafe_SOURCES = \
+ src/test/s_to_n32_unsafe/test.cc \
+ src/util/s_to_n32_unsafe.cc
+
+TESTS = $(TST_SUITE) $(check_PROGRAMS)
+all: config.h
+ $(MAKE) $(AM_MAKEFLAGS) all-am
+
+.SUFFIXES:
+.SUFFIXES: .cc .log .o .obj .re .test .test$(EXEEXT) .trs
+am--refresh: Makefile
+ @:
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
+ $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
+ $(am__cd) $(top_srcdir) && \
+ $(AUTOMAKE) --foreign Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ echo ' $(SHELL) ./config.status'; \
+ $(SHELL) ./config.status;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ $(am__cd) $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+$(am__aclocal_m4_deps):
+
+config.h: stamp-h1
+ @test -f $@ || rm -f stamp-h1
+ @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1
+
+stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
+ @rm -f stamp-h1
+ cd $(top_builddir) && $(SHELL) ./config.status config.h
+$(srcdir)/config.h.in: $(am__configure_deps)
+ ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
+ rm -f stamp-h1
+ touch $@
+
+distclean-hdr:
+ -rm -f config.h stamp-h1
+doc/manpage.rst: $(top_builddir)/config.status $(top_srcdir)/doc/manpage.rst.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+doc/help.rst: $(top_builddir)/config.status $(top_srcdir)/doc/help.rst.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+run_tests.sh: $(top_builddir)/config.status $(srcdir)/run_tests.sh.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+install-binPROGRAMS: $(bin_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
+ fi; \
+ for p in $$list; do echo "$$p $$p"; done | \
+ sed 's/$(EXEEXT)$$//' | \
+ while read p p1; do if test -f $$p \
+ ; then echo "$$p"; echo "$$p"; else :; fi; \
+ done | \
+ sed -e 'p;s,.*/,,;n;h' \
+ -e 's|.*|.|' \
+ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
+ sed 'N;N;N;s,\n, ,g' | \
+ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
+ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
+ if ($$2 == $$4) files[d] = files[d] " " $$1; \
+ else { print "f", $$3 "/" $$4, $$1; } } \
+ END { for (d in files) print "f", d, files[d] }' | \
+ while read type dir files; do \
+ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
+ test -z "$$files" || { \
+ echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
+ $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
+ } \
+ ; done
+
+uninstall-binPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
+ files=`for p in $$list; do echo "$$p"; done | \
+ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
+ -e 's/$$/$(EXEEXT)/' \
+ `; \
+ test -n "$$list" || exit 0; \
+ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
+ cd "$(DESTDIR)$(bindir)" && rm -f $$files
+
+clean-binPROGRAMS:
+ -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
+
+clean-checkPROGRAMS:
+ -test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS)
+src/code/$(am__dirstamp):
+ @$(MKDIR_P) src/code
+ @: > src/code/$(am__dirstamp)
+src/code/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) src/code/$(DEPDIR)
+ @: > src/code/$(DEPDIR)/$(am__dirstamp)
+src/code/bitmap.$(OBJEXT): src/code/$(am__dirstamp) \
+ src/code/$(DEPDIR)/$(am__dirstamp)
+src/code/emit_action.$(OBJEXT): src/code/$(am__dirstamp) \
+ src/code/$(DEPDIR)/$(am__dirstamp)
+src/code/emit_dfa.$(OBJEXT): src/code/$(am__dirstamp) \
+ src/code/$(DEPDIR)/$(am__dirstamp)
+src/code/label.$(OBJEXT): src/code/$(am__dirstamp) \
+ src/code/$(DEPDIR)/$(am__dirstamp)
+src/code/go_construct.$(OBJEXT): src/code/$(am__dirstamp) \
+ src/code/$(DEPDIR)/$(am__dirstamp)
+src/code/go_destruct.$(OBJEXT): src/code/$(am__dirstamp) \
+ src/code/$(DEPDIR)/$(am__dirstamp)
+src/code/go_emit.$(OBJEXT): src/code/$(am__dirstamp) \
+ src/code/$(DEPDIR)/$(am__dirstamp)
+src/code/go_used_labels.$(OBJEXT): src/code/$(am__dirstamp) \
+ src/code/$(DEPDIR)/$(am__dirstamp)
+src/code/input_api.$(OBJEXT): src/code/$(am__dirstamp) \
+ src/code/$(DEPDIR)/$(am__dirstamp)
+src/code/output.$(OBJEXT): src/code/$(am__dirstamp) \
+ src/code/$(DEPDIR)/$(am__dirstamp)
+src/code/print.$(OBJEXT): src/code/$(am__dirstamp) \
+ src/code/$(DEPDIR)/$(am__dirstamp)
+src/conf/$(am__dirstamp):
+ @$(MKDIR_P) src/conf
+ @: > src/conf/$(am__dirstamp)
+src/conf/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) src/conf/$(DEPDIR)
+ @: > src/conf/$(DEPDIR)/$(am__dirstamp)
+src/conf/msg.$(OBJEXT): src/conf/$(am__dirstamp) \
+ src/conf/$(DEPDIR)/$(am__dirstamp)
+src/conf/opt.$(OBJEXT): src/conf/$(am__dirstamp) \
+ src/conf/$(DEPDIR)/$(am__dirstamp)
+src/conf/warn.$(OBJEXT): src/conf/$(am__dirstamp) \
+ src/conf/$(DEPDIR)/$(am__dirstamp)
+src/nfa/$(am__dirstamp):
+ @$(MKDIR_P) src/nfa
+ @: > src/nfa/$(am__dirstamp)
+src/nfa/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) src/nfa/$(DEPDIR)
+ @: > src/nfa/$(DEPDIR)/$(am__dirstamp)
+src/nfa/dump.$(OBJEXT): src/nfa/$(am__dirstamp) \
+ src/nfa/$(DEPDIR)/$(am__dirstamp)
+src/nfa/estimate_size.$(OBJEXT): src/nfa/$(am__dirstamp) \
+ src/nfa/$(DEPDIR)/$(am__dirstamp)
+src/nfa/re_to_nfa.$(OBJEXT): src/nfa/$(am__dirstamp) \
+ src/nfa/$(DEPDIR)/$(am__dirstamp)
+src/adfa/$(am__dirstamp):
+ @$(MKDIR_P) src/adfa
+ @: > src/adfa/$(am__dirstamp)
+src/adfa/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) src/adfa/$(DEPDIR)
+ @: > src/adfa/$(DEPDIR)/$(am__dirstamp)
+src/adfa/adfa.$(OBJEXT): src/adfa/$(am__dirstamp) \
+ src/adfa/$(DEPDIR)/$(am__dirstamp)
+src/adfa/dump.$(OBJEXT): src/adfa/$(am__dirstamp) \
+ src/adfa/$(DEPDIR)/$(am__dirstamp)
+src/adfa/prepare.$(OBJEXT): src/adfa/$(am__dirstamp) \
+ src/adfa/$(DEPDIR)/$(am__dirstamp)
+src/dfa/cfg/$(am__dirstamp):
+ @$(MKDIR_P) src/dfa/cfg
+ @: > src/dfa/cfg/$(am__dirstamp)
+src/dfa/cfg/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) src/dfa/cfg/$(DEPDIR)
+ @: > src/dfa/cfg/$(DEPDIR)/$(am__dirstamp)
+src/dfa/cfg/cfg.$(OBJEXT): src/dfa/cfg/$(am__dirstamp) \
+ src/dfa/cfg/$(DEPDIR)/$(am__dirstamp)
+src/dfa/cfg/compact.$(OBJEXT): src/dfa/cfg/$(am__dirstamp) \
+ src/dfa/cfg/$(DEPDIR)/$(am__dirstamp)
+src/dfa/cfg/dce.$(OBJEXT): src/dfa/cfg/$(am__dirstamp) \
+ src/dfa/cfg/$(DEPDIR)/$(am__dirstamp)
+src/dfa/cfg/dump.$(OBJEXT): src/dfa/cfg/$(am__dirstamp) \
+ src/dfa/cfg/$(DEPDIR)/$(am__dirstamp)
+src/dfa/cfg/freeze.$(OBJEXT): src/dfa/cfg/$(am__dirstamp) \
+ src/dfa/cfg/$(DEPDIR)/$(am__dirstamp)
+src/dfa/cfg/interfere.$(OBJEXT): src/dfa/cfg/$(am__dirstamp) \
+ src/dfa/cfg/$(DEPDIR)/$(am__dirstamp)
+src/dfa/cfg/liveanal.$(OBJEXT): src/dfa/cfg/$(am__dirstamp) \
+ src/dfa/cfg/$(DEPDIR)/$(am__dirstamp)
+src/dfa/cfg/normalize.$(OBJEXT): src/dfa/cfg/$(am__dirstamp) \
+ src/dfa/cfg/$(DEPDIR)/$(am__dirstamp)
+src/dfa/cfg/optimize.$(OBJEXT): src/dfa/cfg/$(am__dirstamp) \
+ src/dfa/cfg/$(DEPDIR)/$(am__dirstamp)
+src/dfa/cfg/rename.$(OBJEXT): src/dfa/cfg/$(am__dirstamp) \
+ src/dfa/cfg/$(DEPDIR)/$(am__dirstamp)
+src/dfa/cfg/varalloc.$(OBJEXT): src/dfa/cfg/$(am__dirstamp) \
+ src/dfa/cfg/$(DEPDIR)/$(am__dirstamp)
+src/dfa/$(am__dirstamp):
+ @$(MKDIR_P) src/dfa
+ @: > src/dfa/$(am__dirstamp)
+src/dfa/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) src/dfa/$(DEPDIR)
+ @: > src/dfa/$(DEPDIR)/$(am__dirstamp)
+src/dfa/closure.$(OBJEXT): src/dfa/$(am__dirstamp) \
+ src/dfa/$(DEPDIR)/$(am__dirstamp)
+src/dfa/dead_rules.$(OBJEXT): src/dfa/$(am__dirstamp) \
+ src/dfa/$(DEPDIR)/$(am__dirstamp)
+src/dfa/determinization.$(OBJEXT): src/dfa/$(am__dirstamp) \
+ src/dfa/$(DEPDIR)/$(am__dirstamp)
+src/dfa/dump.$(OBJEXT): src/dfa/$(am__dirstamp) \
+ src/dfa/$(DEPDIR)/$(am__dirstamp)
+src/dfa/fallback_tags.$(OBJEXT): src/dfa/$(am__dirstamp) \
+ src/dfa/$(DEPDIR)/$(am__dirstamp)
+src/dfa/fillpoints.$(OBJEXT): src/dfa/$(am__dirstamp) \
+ src/dfa/$(DEPDIR)/$(am__dirstamp)
+src/dfa/find_state.$(OBJEXT): src/dfa/$(am__dirstamp) \
+ src/dfa/$(DEPDIR)/$(am__dirstamp)
+src/dfa/minimization.$(OBJEXT): src/dfa/$(am__dirstamp) \
+ src/dfa/$(DEPDIR)/$(am__dirstamp)
+src/dfa/tagpool.$(OBJEXT): src/dfa/$(am__dirstamp) \
+ src/dfa/$(DEPDIR)/$(am__dirstamp)
+src/dfa/tagtree.$(OBJEXT): src/dfa/$(am__dirstamp) \
+ src/dfa/$(DEPDIR)/$(am__dirstamp)
+src/dfa/tcmd.$(OBJEXT): src/dfa/$(am__dirstamp) \
+ src/dfa/$(DEPDIR)/$(am__dirstamp)
+src/re/encoding/$(am__dirstamp):
+ @$(MKDIR_P) src/re/encoding
+ @: > src/re/encoding/$(am__dirstamp)
+src/re/encoding/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) src/re/encoding/$(DEPDIR)
+ @: > src/re/encoding/$(DEPDIR)/$(am__dirstamp)
+src/re/encoding/enc.$(OBJEXT): src/re/encoding/$(am__dirstamp) \
+ src/re/encoding/$(DEPDIR)/$(am__dirstamp)
+src/re/encoding/range_suffix.$(OBJEXT): \
+ src/re/encoding/$(am__dirstamp) \
+ src/re/encoding/$(DEPDIR)/$(am__dirstamp)
+src/re/encoding/utf8/$(am__dirstamp):
+ @$(MKDIR_P) src/re/encoding/utf8
+ @: > src/re/encoding/utf8/$(am__dirstamp)
+src/re/encoding/utf8/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) src/re/encoding/utf8/$(DEPDIR)
+ @: > src/re/encoding/utf8/$(DEPDIR)/$(am__dirstamp)
+src/re/encoding/utf8/utf8_regexp.$(OBJEXT): \
+ src/re/encoding/utf8/$(am__dirstamp) \
+ src/re/encoding/utf8/$(DEPDIR)/$(am__dirstamp)
+src/re/encoding/utf8/utf8_range.$(OBJEXT): \
+ src/re/encoding/utf8/$(am__dirstamp) \
+ src/re/encoding/utf8/$(DEPDIR)/$(am__dirstamp)
+src/re/encoding/utf8/utf8.$(OBJEXT): \
+ src/re/encoding/utf8/$(am__dirstamp) \
+ src/re/encoding/utf8/$(DEPDIR)/$(am__dirstamp)
+src/re/encoding/utf16/$(am__dirstamp):
+ @$(MKDIR_P) src/re/encoding/utf16
+ @: > src/re/encoding/utf16/$(am__dirstamp)
+src/re/encoding/utf16/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) src/re/encoding/utf16/$(DEPDIR)
+ @: > src/re/encoding/utf16/$(DEPDIR)/$(am__dirstamp)
+src/re/encoding/utf16/utf16_regexp.$(OBJEXT): \
+ src/re/encoding/utf16/$(am__dirstamp) \
+ src/re/encoding/utf16/$(DEPDIR)/$(am__dirstamp)
+src/re/encoding/utf16/utf16.$(OBJEXT): \
+ src/re/encoding/utf16/$(am__dirstamp) \
+ src/re/encoding/utf16/$(DEPDIR)/$(am__dirstamp)
+src/re/encoding/utf16/utf16_range.$(OBJEXT): \
+ src/re/encoding/utf16/$(am__dirstamp) \
+ src/re/encoding/utf16/$(DEPDIR)/$(am__dirstamp)
+src/re/$(am__dirstamp):
+ @$(MKDIR_P) src/re
+ @: > src/re/$(am__dirstamp)
+src/re/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) src/re/$(DEPDIR)
+ @: > src/re/$(DEPDIR)/$(am__dirstamp)
+src/re/ast_to_re.$(OBJEXT): src/re/$(am__dirstamp) \
+ src/re/$(DEPDIR)/$(am__dirstamp)
+src/re/default_tags.$(OBJEXT): src/re/$(am__dirstamp) \
+ src/re/$(DEPDIR)/$(am__dirstamp)
+src/re/fixed_tags.$(OBJEXT): src/re/$(am__dirstamp) \
+ src/re/$(DEPDIR)/$(am__dirstamp)
+src/re/nullable.$(OBJEXT): src/re/$(am__dirstamp) \
+ src/re/$(DEPDIR)/$(am__dirstamp)
+src/re/rule.$(OBJEXT): src/re/$(am__dirstamp) \
+ src/re/$(DEPDIR)/$(am__dirstamp)
+src/re/split_charset.$(OBJEXT): src/re/$(am__dirstamp) \
+ src/re/$(DEPDIR)/$(am__dirstamp)
+src/re/tag.$(OBJEXT): src/re/$(am__dirstamp) \
+ src/re/$(DEPDIR)/$(am__dirstamp)
+src/$(am__dirstamp):
+ @$(MKDIR_P) src
+ @: > src/$(am__dirstamp)
+src/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) src/$(DEPDIR)
+ @: > src/$(DEPDIR)/$(am__dirstamp)
+src/compile.$(OBJEXT): src/$(am__dirstamp) \
+ src/$(DEPDIR)/$(am__dirstamp)
+src/skeleton/$(am__dirstamp):
+ @$(MKDIR_P) src/skeleton
+ @: > src/skeleton/$(am__dirstamp)
+src/skeleton/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) src/skeleton/$(DEPDIR)
+ @: > src/skeleton/$(DEPDIR)/$(am__dirstamp)
+src/skeleton/control_flow.$(OBJEXT): src/skeleton/$(am__dirstamp) \
+ src/skeleton/$(DEPDIR)/$(am__dirstamp)
+src/skeleton/generate_code.$(OBJEXT): src/skeleton/$(am__dirstamp) \
+ src/skeleton/$(DEPDIR)/$(am__dirstamp)
+src/skeleton/generate_data.$(OBJEXT): src/skeleton/$(am__dirstamp) \
+ src/skeleton/$(DEPDIR)/$(am__dirstamp)
+src/skeleton/maxpath.$(OBJEXT): src/skeleton/$(am__dirstamp) \
+ src/skeleton/$(DEPDIR)/$(am__dirstamp)
+src/skeleton/skeleton.$(OBJEXT): src/skeleton/$(am__dirstamp) \
+ src/skeleton/$(DEPDIR)/$(am__dirstamp)
+src/main.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
+src/ast/$(am__dirstamp):
+ @$(MKDIR_P) src/ast
+ @: > src/ast/$(am__dirstamp)
+src/ast/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) src/ast/$(DEPDIR)
+ @: > src/ast/$(DEPDIR)/$(am__dirstamp)
+src/ast/ast.$(OBJEXT): src/ast/$(am__dirstamp) \
+ src/ast/$(DEPDIR)/$(am__dirstamp)
+src/ast/input.$(OBJEXT): src/ast/$(am__dirstamp) \
+ src/ast/$(DEPDIR)/$(am__dirstamp)
+src/ast/normalize.$(OBJEXT): src/ast/$(am__dirstamp) \
+ src/ast/$(DEPDIR)/$(am__dirstamp)
+src/ast/scanner.$(OBJEXT): src/ast/$(am__dirstamp) \
+ src/ast/$(DEPDIR)/$(am__dirstamp)
+src/ast/unescape.$(OBJEXT): src/ast/$(am__dirstamp) \
+ src/ast/$(DEPDIR)/$(am__dirstamp)
+src/ast/validate.$(OBJEXT): src/ast/$(am__dirstamp) \
+ src/ast/$(DEPDIR)/$(am__dirstamp)
+src/util/$(am__dirstamp):
+ @$(MKDIR_P) src/util
+ @: > src/util/$(am__dirstamp)
+src/util/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) src/util/$(DEPDIR)
+ @: > src/util/$(DEPDIR)/$(am__dirstamp)
+src/util/s_to_n32_unsafe.$(OBJEXT): src/util/$(am__dirstamp) \
+ src/util/$(DEPDIR)/$(am__dirstamp)
+src/util/range.$(OBJEXT): src/util/$(am__dirstamp) \
+ src/util/$(DEPDIR)/$(am__dirstamp)
+src/ast/lex.$(OBJEXT): src/ast/$(am__dirstamp) \
+ src/ast/$(DEPDIR)/$(am__dirstamp)
+src/ast/lex_conf.$(OBJEXT): src/ast/$(am__dirstamp) \
+ src/ast/$(DEPDIR)/$(am__dirstamp)
+src/ast/parser.$(OBJEXT): src/ast/$(am__dirstamp) \
+ src/ast/$(DEPDIR)/$(am__dirstamp)
+src/conf/parse_opts.$(OBJEXT): src/conf/$(am__dirstamp) \
+ src/conf/$(DEPDIR)/$(am__dirstamp)
+src/conf/help.$(OBJEXT): src/conf/$(am__dirstamp) \
+ src/conf/$(DEPDIR)/$(am__dirstamp)
+
+re2c$(EXEEXT): $(re2c_OBJECTS) $(re2c_DEPENDENCIES) $(EXTRA_re2c_DEPENDENCIES)
+ @rm -f re2c$(EXEEXT)
+ $(AM_V_CXXLD)$(CXXLINK) $(re2c_OBJECTS) $(re2c_LDADD) $(LIBS)
+src/test/range/$(am__dirstamp):
+ @$(MKDIR_P) src/test/range
+ @: > src/test/range/$(am__dirstamp)
+src/test/range/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) src/test/range/$(DEPDIR)
+ @: > src/test/range/$(DEPDIR)/$(am__dirstamp)
+src/test/range/test.$(OBJEXT): src/test/range/$(am__dirstamp) \
+ src/test/range/$(DEPDIR)/$(am__dirstamp)
+
+testrange$(EXEEXT): $(testrange_OBJECTS) $(testrange_DEPENDENCIES) $(EXTRA_testrange_DEPENDENCIES)
+ @rm -f testrange$(EXEEXT)
+ $(AM_V_CXXLD)$(CXXLINK) $(testrange_OBJECTS) $(testrange_LDADD) $(LIBS)
+src/test/s_to_n32_unsafe/$(am__dirstamp):
+ @$(MKDIR_P) src/test/s_to_n32_unsafe
+ @: > src/test/s_to_n32_unsafe/$(am__dirstamp)
+src/test/s_to_n32_unsafe/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) src/test/s_to_n32_unsafe/$(DEPDIR)
+ @: > src/test/s_to_n32_unsafe/$(DEPDIR)/$(am__dirstamp)
+src/test/s_to_n32_unsafe/test.$(OBJEXT): \
+ src/test/s_to_n32_unsafe/$(am__dirstamp) \
+ src/test/s_to_n32_unsafe/$(DEPDIR)/$(am__dirstamp)
+
+testston32unsafe$(EXEEXT): $(testston32unsafe_OBJECTS) $(testston32unsafe_DEPENDENCIES) $(EXTRA_testston32unsafe_DEPENDENCIES)
+ @rm -f testston32unsafe$(EXEEXT)
+ $(AM_V_CXXLD)$(CXXLINK) $(testston32unsafe_OBJECTS) $(testston32unsafe_LDADD) $(LIBS)
+
+mostlyclean-compile:
+ -rm -f *.$(OBJEXT)
+ -rm -f src/*.$(OBJEXT)
+ -rm -f src/adfa/*.$(OBJEXT)
+ -rm -f src/ast/*.$(OBJEXT)
+ -rm -f src/code/*.$(OBJEXT)
+ -rm -f src/conf/*.$(OBJEXT)
+ -rm -f src/dfa/*.$(OBJEXT)
+ -rm -f src/dfa/cfg/*.$(OBJEXT)
+ -rm -f src/nfa/*.$(OBJEXT)
+ -rm -f src/re/*.$(OBJEXT)
+ -rm -f src/re/encoding/*.$(OBJEXT)
+ -rm -f src/re/encoding/utf16/*.$(OBJEXT)
+ -rm -f src/re/encoding/utf8/*.$(OBJEXT)
+ -rm -f src/skeleton/*.$(OBJEXT)
+ -rm -f src/test/range/*.$(OBJEXT)
+ -rm -f src/test/s_to_n32_unsafe/*.$(OBJEXT)
+ -rm -f src/util/*.$(OBJEXT)
+
+distclean-compile:
+ -rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/compile.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/main.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/adfa/$(DEPDIR)/adfa.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/adfa/$(DEPDIR)/dump.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/adfa/$(DEPDIR)/prepare.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/ast/$(DEPDIR)/ast.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/ast/$(DEPDIR)/input.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/ast/$(DEPDIR)/lex.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/ast/$(DEPDIR)/lex_conf.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/ast/$(DEPDIR)/normalize.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/ast/$(DEPDIR)/parser.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/ast/$(DEPDIR)/scanner.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/ast/$(DEPDIR)/unescape.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/ast/$(DEPDIR)/validate.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/code/$(DEPDIR)/bitmap.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/code/$(DEPDIR)/emit_action.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/code/$(DEPDIR)/emit_dfa.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/code/$(DEPDIR)/go_construct.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/code/$(DEPDIR)/go_destruct.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/code/$(DEPDIR)/go_emit.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/code/$(DEPDIR)/go_used_labels.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/code/$(DEPDIR)/input_api.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/code/$(DEPDIR)/label.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/code/$(DEPDIR)/output.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/code/$(DEPDIR)/print.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/conf/$(DEPDIR)/help.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/conf/$(DEPDIR)/msg.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/conf/$(DEPDIR)/opt.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/conf/$(DEPDIR)/parse_opts.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/conf/$(DEPDIR)/warn.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/dfa/$(DEPDIR)/closure.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/dfa/$(DEPDIR)/dead_rules.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/dfa/$(DEPDIR)/determinization.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/dfa/$(DEPDIR)/dump.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/dfa/$(DEPDIR)/fallback_tags.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/dfa/$(DEPDIR)/fillpoints.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/dfa/$(DEPDIR)/find_state.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/dfa/$(DEPDIR)/minimization.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/dfa/$(DEPDIR)/tagpool.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/dfa/$(DEPDIR)/tagtree.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/dfa/$(DEPDIR)/tcmd.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/dfa/cfg/$(DEPDIR)/cfg.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/dfa/cfg/$(DEPDIR)/compact.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/dfa/cfg/$(DEPDIR)/dce.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/dfa/cfg/$(DEPDIR)/dump.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/dfa/cfg/$(DEPDIR)/freeze.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/dfa/cfg/$(DEPDIR)/interfere.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/dfa/cfg/$(DEPDIR)/liveanal.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/dfa/cfg/$(DEPDIR)/normalize.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/dfa/cfg/$(DEPDIR)/optimize.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/dfa/cfg/$(DEPDIR)/rename.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/dfa/cfg/$(DEPDIR)/varalloc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/nfa/$(DEPDIR)/dump.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/nfa/$(DEPDIR)/estimate_size.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/nfa/$(DEPDIR)/re_to_nfa.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/re/$(DEPDIR)/ast_to_re.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/re/$(DEPDIR)/default_tags.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/re/$(DEPDIR)/fixed_tags.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/re/$(DEPDIR)/nullable.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/re/$(DEPDIR)/rule.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/re/$(DEPDIR)/split_charset.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/re/$(DEPDIR)/tag.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/re/encoding/$(DEPDIR)/enc.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/re/encoding/$(DEPDIR)/range_suffix.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/re/encoding/utf16/$(DEPDIR)/utf16.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/re/encoding/utf16/$(DEPDIR)/utf16_range.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/re/encoding/utf16/$(DEPDIR)/utf16_regexp.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/re/encoding/utf8/$(DEPDIR)/utf8.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/re/encoding/utf8/$(DEPDIR)/utf8_range.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/re/encoding/utf8/$(DEPDIR)/utf8_regexp.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/skeleton/$(DEPDIR)/control_flow.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/skeleton/$(DEPDIR)/generate_code.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/skeleton/$(DEPDIR)/generate_data.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/skeleton/$(DEPDIR)/maxpath.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/skeleton/$(DEPDIR)/skeleton.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/test/range/$(DEPDIR)/test.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/test/s_to_n32_unsafe/$(DEPDIR)/test.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/util/$(DEPDIR)/range.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/util/$(DEPDIR)/s_to_n32_unsafe.Po@am__quote@
+
+.cc.o:
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
+@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $<
+
+.cc.obj:
+@am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
+@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
+@am__fastdepCXX_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+install-man1: $(man_MANS)
+ @$(NORMAL_INSTALL)
+ @list1=''; \
+ list2='$(man_MANS)'; \
+ test -n "$(man1dir)" \
+ && test -n "`echo $$list1$$list2`" \
+ || exit 0; \
+ echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \
+ { for i in $$list1; do echo "$$i"; done; \
+ if test -n "$$list2"; then \
+ for i in $$list2; do echo "$$i"; done \
+ | sed -n '/\.1[a-z]*$$/p'; \
+ fi; \
+ } | while read p; do \
+ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; echo "$$p"; \
+ done | \
+ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
+ sed 'N;N;s,\n, ,g' | { \
+ list=; while read file base inst; do \
+ if test "$$base" = "$$inst"; then list="$$list $$file"; else \
+ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \
+ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \
+ fi; \
+ done; \
+ for i in $$list; do echo "$$i"; done | $(am__base_list) | \
+ while read files; do \
+ test -z "$$files" || { \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \
+ done; }
+
+uninstall-man1:
+ @$(NORMAL_UNINSTALL)
+ @list=''; test -n "$(man1dir)" || exit 0; \
+ files=`{ for i in $$list; do echo "$$i"; done; \
+ l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
+ sed -n '/\.1[a-z]*$$/p'; \
+ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
+ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
+ dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
+
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-am
+TAGS: tags
+
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ set x; \
+ here=`pwd`; \
+ $(am__define_uniq_tagged_files); \
+ shift; \
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+ test -n "$$unique" || unique=$$empty_fix; \
+ if test $$# -gt 0; then \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ "$$@" $$unique; \
+ else \
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+ $$unique; \
+ fi; \
+ fi
+ctags: ctags-am
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
+ test -z "$(CTAGS_ARGS)$$unique" \
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+ $$unique
+
+GTAGS:
+ here=`$(am__cd) $(top_builddir) && pwd` \
+ && $(am__cd) $(top_srcdir) \
+ && gtags -i $(GTAGS_ARGS) "$$here"
+cscope: cscope.files
+ test ! -s cscope.files \
+ || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
+clean-cscope:
+ -rm -f cscope.files
+cscope.files: clean-cscope cscopelist
+cscopelist: cscopelist-am
+
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
+ case "$(srcdir)" in \
+ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
+ *) sdir=$(subdir)/$(srcdir) ;; \
+ esac; \
+ for i in $$list; do \
+ if test -f "$$i"; then \
+ echo "$(subdir)/$$i"; \
+ else \
+ echo "$$sdir/$$i"; \
+ fi; \
+ done >> $(top_builddir)/cscope.files
+
+distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+ -rm -f cscope.out cscope.in.out cscope.po.out cscope.files
+
+# Recover from deleted '.trs' file; this should ensure that
+# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
+# both 'foo.log' and 'foo.trs'. Break the recipe in two subshells
+# to avoid problems with "make -n".
+.log.trs:
+ rm -f $< $@
+ $(MAKE) $(AM_MAKEFLAGS) $<
+
+# Leading 'am--fnord' is there to ensure the list of targets does not
+# expand to empty, as could happen e.g. with make check TESTS=''.
+am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
+am--force-recheck:
+ @:
+
+$(TEST_SUITE_LOG): $(TEST_LOGS)
+ @$(am__set_TESTS_bases); \
+ am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
+ redo_bases=`for i in $$bases; do \
+ am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
+ done`; \
+ if test -n "$$redo_bases"; then \
+ redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
+ redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
+ if $(am__make_dryrun); then :; else \
+ rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
+ fi; \
+ fi; \
+ if test -n "$$am__remaking_logs"; then \
+ echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
+ "recursion detected" >&2; \
+ elif test -n "$$redo_logs"; then \
+ am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
+ fi; \
+ if $(am__make_dryrun); then :; else \
+ st=0; \
+ errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
+ for i in $$redo_bases; do \
+ test -f $$i.trs && test -r $$i.trs \
+ || { echo "$$errmsg $$i.trs" >&2; st=1; }; \
+ test -f $$i.log && test -r $$i.log \
+ || { echo "$$errmsg $$i.log" >&2; st=1; }; \
+ done; \
+ test $$st -eq 0 || exit 1; \
+ fi
+ @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
+ ws='[ ]'; \
+ results=`for b in $$bases; do echo $$b.trs; done`; \
+ test -n "$$results" || results=/dev/null; \
+ all=` grep "^$$ws*:test-result:" $$results | wc -l`; \
+ pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \
+ fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \
+ skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \
+ xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
+ xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
+ error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
+ if test `expr $$fail + $$xpass + $$error` -eq 0; then \
+ success=true; \
+ else \
+ success=false; \
+ fi; \
+ br='==================='; br=$$br$$br$$br$$br; \
+ result_count () \
+ { \
+ if test x"$$1" = x"--maybe-color"; then \
+ maybe_colorize=yes; \
+ elif test x"$$1" = x"--no-color"; then \
+ maybe_colorize=no; \
+ else \
+ echo "$@: invalid 'result_count' usage" >&2; exit 4; \
+ fi; \
+ shift; \
+ desc=$$1 count=$$2; \
+ if test $$maybe_colorize = yes && test $$count -gt 0; then \
+ color_start=$$3 color_end=$$std; \
+ else \
+ color_start= color_end=; \
+ fi; \
+ echo "$${color_start}# $$desc $$count$${color_end}"; \
+ }; \
+ create_testsuite_report () \
+ { \
+ result_count $$1 "TOTAL:" $$all "$$brg"; \
+ result_count $$1 "PASS: " $$pass "$$grn"; \
+ result_count $$1 "SKIP: " $$skip "$$blu"; \
+ result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
+ result_count $$1 "FAIL: " $$fail "$$red"; \
+ result_count $$1 "XPASS:" $$xpass "$$red"; \
+ result_count $$1 "ERROR:" $$error "$$mgn"; \
+ }; \
+ { \
+ echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \
+ $(am__rst_title); \
+ create_testsuite_report --no-color; \
+ echo; \
+ echo ".. contents:: :depth: 2"; \
+ echo; \
+ for b in $$bases; do echo $$b; done \
+ | $(am__create_global_log); \
+ } >$(TEST_SUITE_LOG).tmp || exit 1; \
+ mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \
+ if $$success; then \
+ col="$$grn"; \
+ else \
+ col="$$red"; \
+ test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \
+ fi; \
+ echo "$${col}$$br$${std}"; \
+ echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \
+ echo "$${col}$$br$${std}"; \
+ create_testsuite_report --maybe-color; \
+ echo "$$col$$br$$std"; \
+ if $$success; then :; else \
+ echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \
+ if test -n "$(PACKAGE_BUGREPORT)"; then \
+ echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}"; \
+ fi; \
+ echo "$$col$$br$$std"; \
+ fi; \
+ $$success || exit 1
+
+check-TESTS:
+ @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list
+ @list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
+ @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+ @set +e; $(am__set_TESTS_bases); \
+ log_list=`for i in $$bases; do echo $$i.log; done`; \
+ trs_list=`for i in $$bases; do echo $$i.trs; done`; \
+ log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
+ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
+ exit $$?;
+recheck: all $(check_PROGRAMS)
+ @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+ @set +e; $(am__set_TESTS_bases); \
+ bases=`for i in $$bases; do echo $$i; done \
+ | $(am__list_recheck_tests)` || exit 1; \
+ log_list=`for i in $$bases; do echo $$i.log; done`; \
+ log_list=`echo $$log_list`; \
+ $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
+ am__force_recheck=am--force-recheck \
+ TEST_LOGS="$$log_list"; \
+ exit $$?
+run_tests.sh.log: run_tests.sh
+ @p='run_tests.sh'; \
+ b='run_tests.sh'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+testrange.log: testrange$(EXEEXT)
+ @p='testrange$(EXEEXT)'; \
+ b='testrange'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+testston32unsafe.log: testston32unsafe$(EXEEXT)
+ @p='testston32unsafe$(EXEEXT)'; \
+ b='testston32unsafe'; \
+ $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+.test.log:
+ @p='$<'; \
+ $(am__set_b); \
+ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+ --log-file $$b.log --trs-file $$b.trs \
+ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+ "$$tst" $(AM_TESTS_FD_REDIRECT)
+@am__EXEEXT_TRUE@.test$(EXEEXT).log:
+@am__EXEEXT_TRUE@ @p='$<'; \
+@am__EXEEXT_TRUE@ $(am__set_b); \
+@am__EXEEXT_TRUE@ $(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
+@am__EXEEXT_TRUE@ --log-file $$b.log --trs-file $$b.trs \
+@am__EXEEXT_TRUE@ $(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
+@am__EXEEXT_TRUE@ "$$tst" $(AM_TESTS_FD_REDIRECT)
+
+distdir: $(DISTFILES)
+ $(am__remove_distdir)
+ test -d "$(distdir)" || mkdir "$(distdir)"
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+ list='$(DISTFILES)'; \
+ dist_files=`for file in $$list; do echo $$file; done | \
+ sed -e "s|^$$srcdirstrip/||;t" \
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+ case $$dist_files in \
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+ sort -u` ;; \
+ esac; \
+ for file in $$dist_files; do \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test -d "$(distdir)/$$file"; then \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+ fi; \
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+ else \
+ test -f "$(distdir)/$$file" \
+ || cp -p $$d/$$file "$(distdir)/$$file" \
+ || exit 1; \
+ fi; \
+ done
+ -test -n "$(am__skip_mode_fix)" \
+ || find "$(distdir)" -type d ! -perm -755 \
+ -exec chmod u+rwx,go+rx {} \; -o \
+ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
+ || chmod -R a+r "$(distdir)"
+dist-gzip: distdir
+ tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz
+ $(am__post_remove_distdir)
+
+dist-bzip2: distdir
+ tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
+ $(am__post_remove_distdir)
+
+dist-lzip: distdir
+ tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
+ $(am__post_remove_distdir)
+
+dist-xz: distdir
+ tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
+ $(am__post_remove_distdir)
+
+dist-tarZ: distdir
+ @echo WARNING: "Support for distribution archives compressed with" \
+ "legacy program 'compress' is deprecated." >&2
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
+ tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+ $(am__post_remove_distdir)
+
+dist-shar: distdir
+ @echo WARNING: "Support for shar distribution archives is" \
+ "deprecated." >&2
+ @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
+ shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
+ $(am__post_remove_distdir)
+
+dist-zip: distdir
+ -rm -f $(distdir).zip
+ zip -rq $(distdir).zip $(distdir)
+ $(am__post_remove_distdir)
+
+dist dist-all:
+ $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
+ $(am__post_remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ case '$(DIST_ARCHIVES)' in \
+ *.tar.gz*) \
+ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
+ *.tar.bz2*) \
+ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
+ *.tar.lz*) \
+ lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
+ *.tar.xz*) \
+ xz -dc $(distdir).tar.xz | $(am__untar) ;;\
+ *.tar.Z*) \
+ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+ *.shar.gz*) \
+ eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
+ *.zip*) \
+ unzip $(distdir).zip ;;\
+ esac
+ chmod -R a-w $(distdir)
+ chmod u+w $(distdir)
+ mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
+ chmod a-w $(distdir)
+ test -d $(distdir)/_build || exit 0; \
+ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+ && am__cwd=`pwd` \
+ && $(am__cd) $(distdir)/_build/sub \
+ && ../../configure \
+ $(AM_DISTCHECK_CONFIGURE_FLAGS) \
+ $(DISTCHECK_CONFIGURE_FLAGS) \
+ --srcdir=../.. --prefix="$$dc_install_base" \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+ distuninstallcheck \
+ && chmod -R a-w "$$dc_install_base" \
+ && ({ \
+ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+ } || { rm -rf "$$dc_destdir"; exit 1; }) \
+ && rm -rf "$$dc_destdir" \
+ && $(MAKE) $(AM_MAKEFLAGS) dist \
+ && rm -rf $(DIST_ARCHIVES) \
+ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
+ && cd "$$am__cwd" \
+ || exit 1
+ $(am__post_remove_distdir)
+ @(echo "$(distdir) archives ready for distribution: "; \
+ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
+distuninstallcheck:
+ @test -n '$(distuninstallcheck_dir)' || { \
+ echo 'ERROR: trying to run $@ with an empty' \
+ '$$(distuninstallcheck_dir)' >&2; \
+ exit 1; \
+ }; \
+ $(am__cd) '$(distuninstallcheck_dir)' || { \
+ echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
+ exit 1; \
+ }; \
+ test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
+ || { echo "ERROR: files left after uninstall:" ; \
+ if test -n "$(DESTDIR)"; then \
+ echo " (check DESTDIR support)"; \
+ fi ; \
+ $(distuninstallcheck_listfiles) ; \
+ exit 1; } >&2
+distcleancheck: distclean
+ @if test '$(srcdir)' = . ; then \
+ echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+ exit 1 ; \
+ fi
+ @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+ || { echo "ERROR: files left in build directory after distclean:" ; \
+ $(distcleancheck_listfiles) ; \
+ exit 1; } >&2
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
+ $(MAKE) $(AM_MAKEFLAGS) check-TESTS
+check: check-am
+all-am: Makefile $(PROGRAMS) $(MANS) config.h all-local
+installdirs:
+ for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ if test -z '$(STRIP)'; then \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ install; \
+ else \
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+ fi
+mostlyclean-generic:
+ -test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
+ -test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
+ -test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+ -rm -f src/$(DEPDIR)/$(am__dirstamp)
+ -rm -f src/$(am__dirstamp)
+ -rm -f src/adfa/$(DEPDIR)/$(am__dirstamp)
+ -rm -f src/adfa/$(am__dirstamp)
+ -rm -f src/ast/$(DEPDIR)/$(am__dirstamp)
+ -rm -f src/ast/$(am__dirstamp)
+ -rm -f src/code/$(DEPDIR)/$(am__dirstamp)
+ -rm -f src/code/$(am__dirstamp)
+ -rm -f src/conf/$(DEPDIR)/$(am__dirstamp)
+ -rm -f src/conf/$(am__dirstamp)
+ -rm -f src/dfa/$(DEPDIR)/$(am__dirstamp)
+ -rm -f src/dfa/$(am__dirstamp)
+ -rm -f src/dfa/cfg/$(DEPDIR)/$(am__dirstamp)
+ -rm -f src/dfa/cfg/$(am__dirstamp)
+ -rm -f src/nfa/$(DEPDIR)/$(am__dirstamp)
+ -rm -f src/nfa/$(am__dirstamp)
+ -rm -f src/re/$(DEPDIR)/$(am__dirstamp)
+ -rm -f src/re/$(am__dirstamp)
+ -rm -f src/re/encoding/$(DEPDIR)/$(am__dirstamp)
+ -rm -f src/re/encoding/$(am__dirstamp)
+ -rm -f src/re/encoding/utf16/$(DEPDIR)/$(am__dirstamp)
+ -rm -f src/re/encoding/utf16/$(am__dirstamp)
+ -rm -f src/re/encoding/utf8/$(DEPDIR)/$(am__dirstamp)
+ -rm -f src/re/encoding/utf8/$(am__dirstamp)
+ -rm -f src/skeleton/$(DEPDIR)/$(am__dirstamp)
+ -rm -f src/skeleton/$(am__dirstamp)
+ -rm -f src/test/range/$(DEPDIR)/$(am__dirstamp)
+ -rm -f src/test/range/$(am__dirstamp)
+ -rm -f src/test/s_to_n32_unsafe/$(DEPDIR)/$(am__dirstamp)
+ -rm -f src/test/s_to_n32_unsafe/$(am__dirstamp)
+ -rm -f src/util/$(DEPDIR)/$(am__dirstamp)
+ -rm -f src/util/$(am__dirstamp)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-binPROGRAMS clean-checkPROGRAMS clean-generic \
+ mostlyclean-am
+
+distclean: distclean-am
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -rf src/$(DEPDIR) src/adfa/$(DEPDIR) src/ast/$(DEPDIR) src/code/$(DEPDIR) src/conf/$(DEPDIR) src/dfa/$(DEPDIR) src/dfa/cfg/$(DEPDIR) src/nfa/$(DEPDIR) src/re/$(DEPDIR) src/re/encoding/$(DEPDIR) src/re/encoding/utf16/$(DEPDIR) src/re/encoding/utf8/$(DEPDIR) src/skeleton/$(DEPDIR) src/test/range/$(DEPDIR) src/test/s_to_n32_unsafe/$(DEPDIR) src/util/$(DEPDIR)
+ -rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+ distclean-hdr distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-man
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am: install-binPROGRAMS
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man: install-man1
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
+ -rm -rf $(top_srcdir)/autom4te.cache
+ -rm -rf src/$(DEPDIR) src/adfa/$(DEPDIR) src/ast/$(DEPDIR) src/code/$(DEPDIR) src/conf/$(DEPDIR) src/dfa/$(DEPDIR) src/dfa/cfg/$(DEPDIR) src/nfa/$(DEPDIR) src/re/$(DEPDIR) src/re/encoding/$(DEPDIR) src/re/encoding/utf16/$(DEPDIR) src/re/encoding/utf8/$(DEPDIR) src/skeleton/$(DEPDIR) src/test/range/$(DEPDIR) src/test/s_to_n32_unsafe/$(DEPDIR) src/util/$(DEPDIR)
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-binPROGRAMS uninstall-man
+
+uninstall-man: uninstall-man1
+
+.MAKE: all check-am install-am install-strip
+
+.PHONY: CTAGS GTAGS TAGS all all-am all-local am--refresh check \
+ check-TESTS check-am clean clean-binPROGRAMS \
+ clean-checkPROGRAMS clean-cscope clean-generic cscope \
+ cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \
+ dist-gzip dist-lzip dist-shar dist-tarZ dist-xz dist-zip \
+ distcheck distclean distclean-compile distclean-generic \
+ distclean-hdr distclean-tags distcleancheck distdir \
+ distuninstallcheck dvi dvi-am html html-am info info-am \
+ install install-am install-binPROGRAMS install-data \
+ install-data-am install-dvi install-dvi-am install-exec \
+ install-exec-am install-html install-html-am install-info \
+ install-info-am install-man install-man1 install-pdf \
+ install-pdf-am install-ps install-ps-am install-strip \
+ installcheck installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic pdf pdf-am ps ps-am recheck tags tags-am \
+ uninstall uninstall-am uninstall-binPROGRAMS uninstall-man \
+ uninstall-man1
+
+.PRECIOUS: Makefile
+
+
+$(AUTOGEN_PARSER): $(CUSTOM_PARSER)
+ $(AM_V_at)$(MKDIR_P) $(@D)
+ $(AM_V_GEN) if test $(BISON) = "no"; \
+ then \
+ cp $(top_srcdir)/$(BOOTSTRAP_PARSER) $@ && \
+ cp $(top_srcdir)/$(BOOTSTRAP_PARSER_HDR) $(AUTOGEN_PARSER_HDR); \
+ else \
+ $(BISON) \
+ --output=$@ \
+ --defines=$(AUTOGEN_PARSER_HDR) \
+ $(top_srcdir)/$(CUSTOM_PARSER); \
+ fi
+
+# lexer depends on bison-generated header
+# so bison rule must be triggered before lexer rule
+$(AUTOGEN_LEX): $(AUTOGEN_PARSER)
+
+$(BOOTSTRAP_PARSER): $(CUSTOM_PARSER)
+# target directory exists (as part of source file tree)
+ $(AM_V_GEN) test $(BISON) = "no" || \
+ $(BISON) \
+ --output=$(top_srcdir)/$@ \
+ --defines=$(top_srcdir)/$(BOOTSTRAP_PARSER_HDR) \
+ --no-lines \
+ $(top_srcdir)/$(CUSTOM_PARSER);
+
+.re.cc:
+ $(AM_V_at)$(MKDIR_P) $(@D)
+ $(AM_V_GEN) if test -x $(RE2C); \
+ then \
+ $(top_builddir)/$(RE2C) $(RE2CFLAGS) -o $@ $< && \
+ cp $@ $(top_srcdir)/bootstrap/$@; \
+ else \
+ cp $(top_srcdir)/bootstrap/$@ $@; \
+ fi
+
+# rebuild all re2c sources using newly built re2c
+.PHONY: bootstrap
+bootstrap: all
+ rm $(top_builddir)/$(AUTOGEN_LEX)
+ rm $(top_builddir)/$(AUTOGEN_LEX_CONF)
+ rm $(top_builddir)/$(AUTOGEN_PARSEOPT)
+ $(MAKE) all
+
+.PHONY: docs
+@REBUILD_DOCS_TRUE@docs: $(DOC) $(AUTOGEN_HELP)
+@REBUILD_DOCS_TRUE@$(DOC): $(SRC_DOC) $(SRC_DOC_EXT)
+@REBUILD_DOCS_TRUE@ $(AM_V_at)$(MKDIR_P) $(@D)
+@REBUILD_DOCS_TRUE@ $(RST2MAN) $(top_builddir)/$(SRC_DOC) > $@
+@REBUILD_DOCS_TRUE@ cp $@ $(top_srcdir)/$(BOOTSTRAP_DOC)
+@REBUILD_DOCS_TRUE@$(AUTOGEN_HELP): $(CUSTOM_HELP)
+@REBUILD_DOCS_TRUE@ $(AM_V_at)$(MKDIR_P) $(@D)
+@REBUILD_DOCS_TRUE@ $(RST2MAN) $(top_builddir)/$(CUSTOM_HELP) > $@.1
+@REBUILD_DOCS_TRUE@ $(top_srcdir)/genhelp.sh $@.1 $@
+@REBUILD_DOCS_TRUE@ cp $@ $(top_srcdir)/$(BOOTSTRAP_HELP)
+@REBUILD_DOCS_FALSE@docs: $(DOC) $(AUTOGEN_HELP)
+@REBUILD_DOCS_FALSE@ @echo "Reconfigure to rebuild docs: ./configure --enable-docs"
+@REBUILD_DOCS_FALSE@$(DOC): $(BOOTSTRAP_DOC)
+@REBUILD_DOCS_FALSE@ $(AM_V_at)$(MKDIR_P) $(@D)
+@REBUILD_DOCS_FALSE@ cp $(top_srcdir)/$(BOOTSTRAP_DOC) $@
+@REBUILD_DOCS_FALSE@$(AUTOGEN_HELP): $(BOOTSTRAP_HELP)
+@REBUILD_DOCS_FALSE@ $(AM_V_at)$(MKDIR_P) $(@D)
+@REBUILD_DOCS_FALSE@ cp $(top_srcdir)/$(BOOTSTRAP_HELP) $@
+
+all-local: docs $(BOOTSTRAP_PARSER)
+.PHONY: tests
+tests: all $(TST_SUITE)
+ $(top_builddir)/$(TST_SUITE)
+.PHONY: vtests
+vtests: all $(TST_SUITE)
+ $(top_builddir)/$(TST_SUITE) --valgrind
+.PHONY: wtests
+wtests: all $(TST_SUITE)
+ $(top_builddir)/$(TST_SUITE) --wine -j1
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/aclocal.m4 b/aclocal.m4
new file mode 100644
index 00000000..2a6168be
--- /dev/null
+++ b/aclocal.m4
@@ -0,0 +1,1189 @@
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
+
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],,
+[m4_warning([this file was generated for autoconf 2.69.
+You have another version of autoconf. It may work, but is not guaranteed to.
+If you have problems, you may need to regenerate the build system entirely.
+To do so, use the procedure documented by the package, typically 'autoreconf'.])])
+
+# Copyright (C) 2002-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+# (This private macro should not be called outside this file.)
+AC_DEFUN([AM_AUTOMAKE_VERSION],
+[am__api_version='1.15'
+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+dnl require some minimum version. Point them to the right macro.
+m4_if([$1], [1.15.1], [],
+ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+])
+
+# _AM_AUTOCONF_VERSION(VERSION)
+# -----------------------------
+# aclocal traces this macro to find the Autoconf version.
+# This is a private macro too. Using m4_define simplifies
+# the logic in aclocal, which can simply ignore this definition.
+m4_define([_AM_AUTOCONF_VERSION], [])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+[AM_AUTOMAKE_VERSION([1.15.1])dnl
+m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+
+# AM_AUX_DIR_EXPAND -*- Autoconf -*-
+
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to
+# '$srcdir', '$srcdir/..', or '$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory. The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run. This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+# fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+# fails if $ac_aux_dir is absolute,
+# fails when called from a subdirectory in a VPATH build with
+# a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir. In an in-source build this is usually
+# harmless because $srcdir is '.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
+# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+# MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH. The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
+])
+
+# AM_COND_IF -*- Autoconf -*-
+
+# Copyright (C) 2008-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_COND_IF
+# _AM_COND_ELSE
+# _AM_COND_ENDIF
+# --------------
+# These macros are only used for tracing.
+m4_define([_AM_COND_IF])
+m4_define([_AM_COND_ELSE])
+m4_define([_AM_COND_ENDIF])
+
+# AM_COND_IF(COND, [IF-TRUE], [IF-FALSE])
+# ---------------------------------------
+# If the shell condition COND is true, execute IF-TRUE, otherwise execute
+# IF-FALSE. Allow automake to learn about conditional instantiating macros
+# (the AC_CONFIG_FOOS).
+AC_DEFUN([AM_COND_IF],
+[m4_ifndef([_AM_COND_VALUE_$1],
+ [m4_fatal([$0: no such condition "$1"])])dnl
+_AM_COND_IF([$1])dnl
+if test -z "$$1_TRUE"; then :
+ m4_n([$2])[]dnl
+m4_ifval([$3],
+[_AM_COND_ELSE([$1])dnl
+else
+ $3
+])dnl
+_AM_COND_ENDIF([$1])dnl
+fi[]dnl
+])
+
+# AM_CONDITIONAL -*- Autoconf -*-
+
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ([2.52])dnl
+ m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])dnl
+AC_SUBST([$1_FALSE])dnl
+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+m4_define([_AM_COND_VALUE_$1], [$2])dnl
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+ AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+
+# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery. Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+m4_if([$1], [CC], [depcc="$CC" am_compiler_list=],
+ [$1], [CXX], [depcc="$CXX" am_compiler_list=],
+ [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+ [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'],
+ [$1], [UPC], [depcc="$UPC" am_compiler_list=],
+ [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
+ [depcc="$$1" am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+ [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named 'D' -- because '-MD' means "put the output
+ # in D".
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_$1_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+ fi
+ am__universal=false
+ m4_case([$1], [CC],
+ [case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac],
+ [CXX],
+ [case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac])
+
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+ # Solaris 10 /bin/sh.
+ echo '/* dummy */' > sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ # We check with '-c' and '-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle '-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs.
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
+ case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
+ nosideeffect)
+ # After this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested.
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+ # This compiler won't grok '-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
+ none) break ;;
+ esac
+ if depmode=$depmode \
+ source=sub/conftest.c object=$am__obj \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_$1_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
+
+
+# AM_SET_DEPDIR
+# -------------
+# Choose a directory name for dependency files.
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES.
+AC_DEFUN([AM_SET_DEPDIR],
+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+])
+
+
+# AM_DEP_TRACK
+# ------------
+AC_DEFUN([AM_DEP_TRACK],
+[AC_ARG_ENABLE([dependency-tracking], [dnl
+AS_HELP_STRING(
+ [--enable-dependency-tracking],
+ [do not reject slow dependency extractors])
+AS_HELP_STRING(
+ [--disable-dependency-tracking],
+ [speeds up one-time build])])
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+ am__nodep='_no'
+fi
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+AC_SUBST([am__nodep])dnl
+_AM_SUBST_NOTMAKE([am__nodep])dnl
+])
+
+# Generate code to set up dependency tracking. -*- Autoconf -*-
+
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[{
+ # Older Autoconf quotes --file arguments for eval, but not when files
+ # are listed without --file. Let's play safe and only enable the eval
+ # if we detect the quoting.
+ case $CONFIG_FILES in
+ *\'*) eval set x "$CONFIG_FILES" ;;
+ *) set x $CONFIG_FILES ;;
+ esac
+ shift
+ for mf
+ do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named 'Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+ dirpart=`AS_DIRNAME("$mf")`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running 'make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "$am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`AS_DIRNAME(["$file"])`
+ AS_MKDIR_P([$dirpart/$fdir])
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+ done
+}
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
+#
+# This code is only required when automatic dependency tracking
+# is enabled. FIXME. This creates each '.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+ [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+
+# Do all the work for Automake. -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This macro actually does too much. Some checks are only needed if
+# your package does certain things. But this isn't really a big deal.
+
+dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O.
+m4_define([AC_PROG_CC],
+m4_defn([AC_PROG_CC])
+[_AM_PROG_CC_C_O
+])
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out. PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition. After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.65])dnl
+dnl Autoconf wants to disallow AM_ names. We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+ # is not polluted with repeated "-I."
+ AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+ fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[AC_DIAGNOSE([obsolete],
+ [$0: two- and three-arguments forms are deprecated.])
+m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
+m4_if(
+ m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]),
+ [ok:ok],,
+ [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package])
+ AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}])
+AM_MISSING_PROG([AUTOCONF], [autoconf])
+AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}])
+AM_MISSING_PROG([AUTOHEADER], [autoheader])
+AM_MISSING_PROG([MAKEINFO], [makeinfo])
+AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+# For better backward compatibility. To be removed once Automake 1.9.x
+# dies out for good. For more background, see:
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
+# We need awk for the "check" target (and possibly the TAP driver). The
+# system "awk" is bad on some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+ [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+ [_AM_DEPENDENCIES([CC])],
+ [m4_define([AC_PROG_CC],
+ m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [_AM_DEPENDENCIES([CXX])],
+ [m4_define([AC_PROG_CXX],
+ m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+ [_AM_DEPENDENCIES([OBJC])],
+ [m4_define([AC_PROG_OBJC],
+ m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJCXX],
+ [_AM_DEPENDENCIES([OBJCXX])],
+ [m4_define([AC_PROG_OBJCXX],
+ m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl
+])
+AC_REQUIRE([AM_SILENT_RULES])dnl
+dnl The testsuite driver may need to know about EXEEXT, so add the
+dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This
+dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_CONFIG_COMMANDS_PRE(dnl
+[m4_provide_if([_AM_COMPILER_EXEEXT],
+ [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
+
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes. So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+ cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present. This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message. This
+can help us improve future automake versions.
+
+END
+ if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+ echo 'Configuration will proceed anyway, since you have set the' >&2
+ echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+ echo >&2
+ else
+ cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+ AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
+ fi
+fi
+dnl The trailing newline in this macro's definition is deliberate, for
+dnl backward compatibility and to allow trailing 'dnl'-style comments
+dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841.
+])
+
+dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
+dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
+dnl mangled by Autoconf and run in a shell conditional statement.
+m4_define([_AC_COMPILER_EXEEXT],
+m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated. The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_arg=$1
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $_am_arg | $_am_arg:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+if test x"${install_sh+set}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+ *)
+ install_sh="\${SHELL} $am_aux_dir/install-sh"
+ esac
+fi
+AC_SUBST([install_sh])])
+
+# Copyright (C) 2003-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot. For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Check to see how 'make' treats includes. -*- Autoconf -*-
+
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from 'make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+ am__include=include
+ am__quote=
+ _am_result=GNU
+ ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ case `$am_make -s -f confmf 2> /dev/null` in #(
+ *the\ am__doit\ target*)
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ ;;
+ esac
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
+])
+
+# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
+
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it is modern enough.
+# If it is, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([missing])dnl
+if test x"${MISSING+set}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+ *)
+ MISSING="\${SHELL} $am_aux_dir/missing" ;;
+ esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --is-lightweight"; then
+ am_missing_run="$MISSING "
+else
+ am_missing_run=
+ AC_MSG_WARN(['missing' script is too old or missing])
+fi
+])
+
+# Helper functions for option handling. -*- Autoconf -*-
+
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# --------------------
+# Set option NAME. Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), [1])])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_PROG_CC_C_O
+# ---------------
+# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC
+# to automatically call this.
+AC_DEFUN([_AM_PROG_CC_C_O],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([compile])dnl
+AC_LANG_PUSH([C])dnl
+AC_CACHE_CHECK(
+ [whether $CC understands -c and -o together],
+ [am_cv_prog_cc_c_o],
+ [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])])
+ # Make sure it works both with $CC and with simple cc.
+ # Following AC_PROG_CC_C_O, we do the test twice because some
+ # compilers refuse to overwrite an existing .o file with -o,
+ # though they will create one.
+ am_cv_prog_cc_c_o=yes
+ for am_i in 1 2; do
+ if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \
+ && test -f conftest2.$ac_objext; then
+ : OK
+ else
+ am_cv_prog_cc_c_o=no
+ break
+ fi
+ done
+ rm -f core conftest*
+ unset am_i])
+if test "$am_cv_prog_cc_c_o" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+AC_LANG_POP([C])])
+
+# For backward compatibility.
+AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
+
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_RUN_LOG(COMMAND)
+# -------------------
+# Run COMMAND, save the exit status in ac_status, and log it.
+# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
+AC_DEFUN([AM_RUN_LOG],
+[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
+ ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+ (exit $ac_status); }])
+
+# Check to make sure that the build environment is sane. -*- Autoconf -*-
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name. Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+ *[[\\\"\#\$\&\'\`$am_lf]]*)
+ AC_MSG_ERROR([unsafe absolute working directory name]);;
+esac
+case $srcdir in
+ *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
+ AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
+esac
+
+# Do 'set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ am_has_slept=no
+ for am_try in 1 2; do
+ echo "timestamp, slept: $am_has_slept" > conftest.file
+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+ if test "$[*]" = "X"; then
+ # -L didn't work.
+ set X `ls -t "$srcdir/configure" conftest.file`
+ fi
+ if test "$[*]" != "X $srcdir/configure conftest.file" \
+ && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+ alias in your environment])
+ fi
+ if test "$[2]" = conftest.file || test $am_try -eq 2; then
+ break
+ fi
+ # Just in case.
+ sleep 1
+ am_has_slept=yes
+ done
+ test "$[2]" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT([yes])
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+ ( sleep 1 ) &
+ am_sleep_pid=$!
+fi
+AC_CONFIG_COMMANDS_PRE(
+ [AC_MSG_CHECKING([that generated files are newer than configure])
+ if test -n "$am_sleep_pid"; then
+ # Hide warnings about reused PIDs.
+ wait $am_sleep_pid 2>/dev/null
+ fi
+ AC_MSG_RESULT([done])])
+rm -f conftest.file
+])
+
+# Copyright (C) 2009-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_SILENT_RULES([DEFAULT])
+# --------------------------
+# Enable less verbose build rules; with the default set to DEFAULT
+# ("yes" being less verbose, "no" or empty being verbose).
+AC_DEFUN([AM_SILENT_RULES],
+[AC_ARG_ENABLE([silent-rules], [dnl
+AS_HELP_STRING(
+ [--enable-silent-rules],
+ [less verbose build output (undo: "make V=1")])
+AS_HELP_STRING(
+ [--disable-silent-rules],
+ [verbose build output (undo: "make V=0")])dnl
+])
+case $enable_silent_rules in @%:@ (((
+ yes) AM_DEFAULT_VERBOSITY=0;;
+ no) AM_DEFAULT_VERBOSITY=1;;
+ *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
+esac
+dnl
+dnl A few 'make' implementations (e.g., NonStop OS and NextStep)
+dnl do not support nested variable expansions.
+dnl See automake bug#9928 and bug#10237.
+am_make=${MAKE-make}
+AC_CACHE_CHECK([whether $am_make supports nested variables],
+ [am_cv_make_support_nested_variables],
+ [if AS_ECHO([['TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+ @$(TRUE)
+.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then
+ am_cv_make_support_nested_variables=yes
+else
+ am_cv_make_support_nested_variables=no
+fi])
+if test $am_cv_make_support_nested_variables = yes; then
+ dnl Using '$V' instead of '$(V)' breaks IRIX make.
+ AM_V='$(V)'
+ AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+ AM_V=$AM_DEFAULT_VERBOSITY
+ AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AC_SUBST([AM_V])dnl
+AM_SUBST_NOTMAKE([AM_V])dnl
+AC_SUBST([AM_DEFAULT_V])dnl
+AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl
+AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
+AM_BACKSLASH='\'
+AC_SUBST([AM_BACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
+])
+
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor 'install' (even GNU) is that you can't
+# specify the program used to strip binaries. This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in "make install-strip", and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip". However 'strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the 'STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be 'maybe'.
+if test "$cross_compiling" != no; then
+ AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Copyright (C) 2006-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake.
+AC_DEFUN([_AM_SUBST_NOTMAKE])
+
+# AM_SUBST_NOTMAKE(VARIABLE)
+# --------------------------
+# Public sister of _AM_SUBST_NOTMAKE.
+AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
+
+# Check how to create a tarball. -*- Autoconf -*-
+
+# Copyright (C) 2004-2017 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of 'v7', 'ustar', or 'pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+# tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+# $(am__untar) < result.tar
+#
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility. Yes, it's still used
+# in the wild :-( We should find a proper way to deprecate it ...
+AC_SUBST([AMTAR], ['$${TAR-tar}'])
+
+# We'll loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+
+m4_if([$1], [v7],
+ [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'],
+
+ [m4_case([$1],
+ [ustar],
+ [# The POSIX 1988 'ustar' format is defined with fixed-size fields.
+ # There is notably a 21 bits limit for the UID and the GID. In fact,
+ # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343
+ # and bug#13588).
+ am_max_uid=2097151 # 2^21 - 1
+ am_max_gid=$am_max_uid
+ # The $UID and $GID variables are not portable, so we need to resort
+ # to the POSIX-mandated id(1) utility. Errors in the 'id' calls
+ # below are definitely unexpected, so allow the users to see them
+ # (that is, avoid stderr redirection).
+ am_uid=`id -u || echo unknown`
+ am_gid=`id -g || echo unknown`
+ AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format])
+ if test $am_uid -le $am_max_uid; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ _am_tools=none
+ fi
+ AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format])
+ if test $am_gid -le $am_max_gid; then
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ _am_tools=none
+ fi],
+
+ [pax],
+ [],
+
+ [m4_fatal([Unknown tar format])])
+
+ AC_MSG_CHECKING([how to create a $1 tar archive])
+
+ # Go ahead even if we have the value already cached. We do so because we
+ # need to set the values for the 'am__tar' and 'am__untar' variables.
+ _am_tools=${am_cv_prog_tar_$1-$_am_tools}
+
+ for _am_tool in $_am_tools; do
+ case $_am_tool in
+ gnutar)
+ for _am_tar in tar gnutar gtar; do
+ AM_RUN_LOG([$_am_tar --version]) && break
+ done
+ am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+ am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+ am__untar="$_am_tar -xf -"
+ ;;
+ plaintar)
+ # Must skip GNU tar: if it does not support --format= it doesn't create
+ # ustar tarball either.
+ (tar --version) >/dev/null 2>&1 && continue
+ am__tar='tar chf - "$$tardir"'
+ am__tar_='tar chf - "$tardir"'
+ am__untar='tar xf -'
+ ;;
+ pax)
+ am__tar='pax -L -x $1 -w "$$tardir"'
+ am__tar_='pax -L -x $1 -w "$tardir"'
+ am__untar='pax -r'
+ ;;
+ cpio)
+ am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+ am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+ am__untar='cpio -i -H $1 -d'
+ ;;
+ none)
+ am__tar=false
+ am__tar_=false
+ am__untar=false
+ ;;
+ esac
+
+ # If the value was cached, stop now. We just wanted to have am__tar
+ # and am__untar set.
+ test -n "${am_cv_prog_tar_$1}" && break
+
+ # tar/untar a dummy directory, and stop if the command works.
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ echo GrepMe > conftest.dir/file
+ AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+ rm -rf conftest.dir
+ if test -s conftest.tar; then
+ AM_RUN_LOG([$am__untar <conftest.tar])
+ AM_RUN_LOG([cat conftest.dir/file])
+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+ fi
+ done
+ rm -rf conftest.dir
+
+ AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+ AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
diff --git a/bootstrap/doc/re2c.1 b/bootstrap/doc/re2c.1
index b97bab18..61105563 100644
--- a/bootstrap/doc/re2c.1
+++ b/bootstrap/doc/re2c.1
@@ -43,1011 +43,1109 @@ control and customize the generated DFA.
.INDENT 0.0
.TP
.B \fB\-? \-h \-\-help\fP
-Invoke a short help.
+Show help message.
.TP
.B \fB\-b \-\-bit\-vectors\fP
-Implies \fB\-s\fP\&. Use bit vectors as well in the
-attempt to coax better code out of the compiler. Most useful for
-specifications with more than a few keywords (e.g. for most programming
-languages).
+Optimize conditional jumps using bit masks. Implies \fB\-s\fP\&.
.TP
.B \fB\-c \-\-conditions\fP
-Used to support (f)lex\-like condition support.
+Enable support of Flex\-like "conditions": multiple interrelated lexers within one block.
.TP
.B \fB\-d \-\-debug\-output\fP
-Creates a parser that dumps information about
-the current position and in which state the parser is while parsing the
-input. This is useful to debug parser issues and states. If you use this
-switch you need to define a macro \fBYYDEBUG\fP that is called like a
-function with two parameters: \fBvoid YYDEBUG (int state, char current)\fP\&.
-The first parameter receives the state or \fB\-1\fP and the second parameter
-receives the input at the current cursor.
+Emit \fBYYDEBUG\fP in the generated code.
+\fBYYDEBUG\fP should be defined by the user in the form of a void function with two parameters:
+\fBstate\fP (lexer state or \-1) and \fBsymbol\fP (current input symbol of type \fBYYCTYPE\fP).
.TP
.B \fB\-D \-\-emit\-dot\fP
-Emit Graphviz dot data. It can then be processed
-with e.g. \fBdot \-Tpng input.dot > output.png\fP\&. Please note that
-scanners with many states may crash dot.
+Instead of normal output generate lexer graph in DOT format.
+The output can be converted to PNG with the help of Graphviz (something like \fBdot \-Tpng \-odfa.png dfa.dot\fP).
+Note that large graphs may crash Graphviz.
.TP
.B \fB\-e \-\-ecb\fP
-Generate a parser that supports EBCDIC. The generated
-code can deal with any character up to 0xFF. In this mode \fBre2c\fP assumes
-that input character size is 1 byte. This switch is incompatible with
-\fB\-w\fP, \fB\-x\fP, \fB\-u\fP and \fB\-8\fP\&.
+Generate a lexer that reads input in EBCDIC encoding.
+\fBre2c\fP assumes that character range is 0 \-\- 0xFF an character size is 1 byte.
.TP
.B \fB\-f \-\-storable\-state\fP
-Generate a scanner with support for storable state.
+Generate a lexer which can store its inner state.
+This is useful in push\-model lexers which are stopped by an outer program when there is not enough input,
+and then resumed when more input becomes available.
+In this mode users should additionally define
+\fBYYGETSTATE ()\fP and \fBYYSETSTATE (state)\fP macros
+and variables \fByych\fP, \fByyaccept\fP and the \fBstate\fP as part of the lexer state.
.TP
.B \fB\-F \-\-flex\-syntax\fP
-Partial support for flex syntax. When this flag
-is active then named definitions must be surrounded by curly braces and
-can be defined without an equal sign and the terminating semi colon.
-Instead names are treated as direct double quoted strings.
+Partial support for Flex syntax:
+in this mode named definitions don\(aqt need the equal sign and the terminating semicolon,
+and when used they must be surrounded by curly braces.
+Names without curly braces are treated as double\-quoted strings.
.TP
.B \fB\-g \-\-computed\-gotos\fP
-Generate a scanner that utilizes GCC\(aqs
-computed goto feature. That is \fBre2c\fP generates jump tables whenever a
-decision is of a certain complexity (e.g. a lot of if conditions are
-otherwise necessary). This is only useable with GCC and produces output
-that cannot be compiled with any other compiler. Note that this implies
-\fB\-b\fP and that the complexity threshold can be configured using the
-inplace configuration \fBcgoto:threshold\fP\&.
+Optimize conditional jumps using non\-standard "computed goto" extension (must be supported by C/C++ compiler).
+\fBre2c\fP generates jump tables only in complex cases with a lot of conditional branches.
+Complexity threshold can be configured with \fBcgoto:threshold\fP configuration.
+This option implies \fB\-b\fP\&.
.TP
.B \fB\-i \-\-no\-debug\-info\fP
-Do not output \fB#line\fP information. This is
-useful when you want use a CMS tool with the \fBre2c\fP output which you
-might want if you do not require your users to have \fBre2c\fP themselves
-when building from your source.
+Do not output \fB#line\fP information.
+This is useful when the generated code is tracked by some version control system.
.TP
.B \fB\-o OUTPUT \-\-output=OUTPUT\fP
Specify the \fBOUTPUT\fP file.
.TP
.B \fB\-r \-\-reusable\fP
-Allows reuse of scanner definitions with \fB/*!use:re2c */\fP after \fB/*!rules:re2c */\fP\&.
-In this mode no \fB/*!re2c */\fP block and exactly one \fB/*!rules:re2c */\fP must be present.
-The rules are being saved and used by every \fB/*!use:re2c */\fP block that follows.
-These blocks can contain inplace configurations, especially \fBre2c:flags:e\fP,
-\fBre2c:flags:w\fP, \fBre2c:flags:x\fP, \fBre2c:flags:u\fP and \fBre2c:flags:8\fP\&.
-That way it is possible to create the same scanner multiple times for
-different character types, different input mechanisms or different output mechanisms.
-The \fB/*!use:re2c */\fP blocks can also contain additional rules that will be appended
-to the set of rules in \fB/*!rules:re2c */\fP\&.
+Allows reuse of \fBre2c\fP rules with \fB/*!rules:re2c */\fP and \fB/*!use:re2c */\fP blocks.
+In this mode simple \fB/*!re2c */\fP blocks are not allowed
+and exactly one \fB/*!rules:re2c */\fP block must be present.
+The rules are saved and used by every \fB/*!use:re2c */\fP block that follows (which may add rules of their own).
+This option allows to reuse the same set of rules with different configurations.
.TP
.B \fB\-s \-\-nested\-ifs\fP
-Generate nested ifs for some switches. Many
-compilers need this assist to generate better code.
+Use nested \fBif\fP statements instead of \fBswitch\fP statements in conditional jumps.
+This usually results in more efficient code with non\-optimizing C/C++ compilers.
.TP
.B \fB\-t HEADER \-\-type\-header=HEADER\fP
-Create a \fBHEADER\fP file that
-contains types for the (f)lex\-like condition support. This can only be
-activated when \fB\-c\fP is in use.
+Generate a \fBHEADER\fP file that contains enum with condition names.
+Requires \fB\-c\fP option.
+.TP
+.B \fB\-T \-\-tags\fP
+Enable submatch extraction with tags.
+.TP
+.B \fB\-P \-\-posix\-captures\fP
+Enable submatch extraction with POSIX\-style capturing groups.
.TP
.B \fB\-u \-\-unicode\fP
-Generate a parser that supports UTF\-32. The generated
-code can deal with any valid Unicode character up to 0x10FFFF. In this
-mode \fBre2c\fP assumes that input character size is 4 bytes. This switch is
-incompatible with \fB\-e\fP, \fB\-w\fP, \fB\-x\fP and \fB\-8\fP\&. This implies \fB\-s\fP\&.
+Generate a lexer that reads input in UTF\-32 encoding.
+\fBre2c\fP assumes that character range is 0 \-\- 0x10FFFF and character size is 4 bytes.
+Implies \fB\-s\fP\&.
.TP
.B \fB\-v \-\-version\fP
Show version information.
.TP
.B \fB\-V \-\-vernum\fP
-Show the version as a number XXYYZZ.
+Show version information in \fBMMmmpp\fP format (major, minor, patch).
.TP
.B \fB\-w \-\-wide\-chars\fP
-Generate a parser that supports UCS\-2. The
-generated code can deal with any valid Unicode character up to 0xFFFF.
-In this mode \fBre2c\fP assumes that input character size is 2 bytes. This
-switch is incompatible with \fB\-e\fP, \fB\-x\fP, \fB\-u\fP and \fB\-8\fP\&. This implies
-\fB\-s\fP\&.
+Generate a lexer that reads input in UCS\-2 encoding.
+\fBre2c\fP assumes that character range is 0 \-\- 0xFFFF and character size is 2 bytes.
+Implies \fB\-s\fP\&.
.TP
.B \fB\-x \-\-utf\-16\fP
-Generate a parser that supports UTF\-16. The generated
-code can deal with any valid Unicode character up to 0x10FFFF. In this
-mode \fBre2c\fP assumes that input character size is 2 bytes. This switch is
-incompatible with \fB\-e\fP, \fB\-w\fP, \fB\-u\fP and \fB\-8\fP\&. This implies \fB\-s\fP\&.
+Generate a lexer that reads input in UTF\-16 encoding.
+\fBre2c\fP assumes that character range is 0 \-\- 0x10FFFF and character size is 2 bytes.
+Implies \fB\-s\fP\&.
.TP
.B \fB\-8 \-\-utf\-8\fP
-Generate a parser that supports UTF\-8. The generated
-code can deal with any valid Unicode character up to 0x10FFFF. In this
-mode \fBre2c\fP assumes that input character size is 1 byte. This switch is
-incompatible with \fB\-e\fP, \fB\-w\fP, \fB\-x\fP and \fB\-u\fP\&.
+Generate a lexer that reads input in UTF\-8 encoding.
+\fBre2c\fP assumes that character range is 0 \-\- 0x10FFFF and character size is 1 byte.
.TP
.B \fB\-\-case\-insensitive\fP
-All strings are case insensitive, so all
-"\-expressions are treated in the same way \(aq\-expressions are.
+Treat single\-quoted and double\-quoted strings as case\-insensitive.
.TP
.B \fB\-\-case\-inverted\fP
-Invert the meaning of single and double quoted
-strings. With this switch single quotes are case sensitive and double
-quotes are case insensitive.
+Invert the meaning of single\-quoted and double\-quoted strings:
+treat single\-quoted strings as case\-sensitive and double\-quoted strings as case\-insensitive.
.TP
.B \fB\-\-no\-generation\-date\fP
Suppress date output in the generated file.
.TP
-.B \fB\-\-no\-generation\-date\fP
+.B \fB\-\-no\-lookahead\fP
+Use TDFA(0) instead of TDFA(1).
+This option only has effect with \fB\-\-tags\fP or \fB\-\-posix\-captures\fP options.
+.TP
+.B \fB\-\-no\-optimize\-tags\fP
+Suppress optimization of tag variables (useful for debugging or benchmarking).
+.TP
+.B \fB\-\-no\-version\fP
Suppress version output in the generated file.
.TP
.B \fB\-\-encoding\-policy POLICY\fP
-Specify how \fBre2c\fP must treat Unicode
-surrogates. \fBPOLICY\fP can be one of the following: \fBfail\fP (abort with
-error when surrogate encountered), \fBsubstitute\fP (silently substitute
-surrogate with error code point 0xFFFD), \fBignore\fP (treat surrogates as
-normal code points). By default \fBre2c\fP ignores surrogates (for backward
-compatibility). Unicode standard says that standalone surrogates are
-invalid code points, but different libraries and programs treat them
-differently.
+Define the way \fBre2c\fP treats Unicode surrogates.
+\fBPOLICY\fP can be one of the following: \fBfail\fP (abort with an error when a surrogate is encountered),
+\fBsubstitute\fP (silently replace surrogates with the error code point 0xFFFD),
+\fBignore\fP (default, treat surrogates as normal code points).
+The Unicode standard says that standalone surrogates are invalid,
+but real\-world libraries and programs behave in different ways.
.TP
.B \fB\-\-input INPUT\fP
-Specify re2c input API. \fBINPUT\fP can be one of the
-following: \fBdefault\fP, \fBcustom\fP\&.
+Specify \fBre2c\fP input API. \fBINPUT\fP can be either \fBdefault\fP or \fBcustom\fP (enables the use of generic API).
.TP
.B \fB\-S \-\-skeleton\fP
-Instead of embedding re2c\-generated code into C/C++
-source, generate a self\-contained program for the same DFA. Most useful
-for correctness and performance testing.
+Ignore user\-defined interface code and generate a self\-contained "skeleton" program.
+Additionally, generate input files with strings derived from the regular grammar
+and compressed match results that are used to verify "skeleton" behavior on all inputs.
+This option is useful for finding bugs in optimizations and code generation.
.TP
.B \fB\-\-empty\-class POLICY\fP
-What to do if user inputs empty character
-class. \fBPOLICY\fP can be one of the following: \fBmatch\-empty\fP (match empty
-input: pretty illogical, but this is the default for backwards
-compatibility reason), \fBmatch\-none\fP (fail to match on any input),
-\fBerror\fP (compilation error). Note that there are various ways to
-construct empty class, e.g: [], [^\ex00\-\exFF],
-[\ex00\-\exFF][\ex00\-\exFF].
-.TP
-.B \fB\-\-dfa\-minimization <table | moore>\fP
-Internal algorithm used by re2c to minimize DFA (defaults to \fBmoore\fP).
-Both table filling and Moore\(aqs algorithms should produce identical DFA (up to states relabelling).
-Table filling algorithm is much simpler and slower; it serves as a reference implementation.
+Define the way \fBre2c\fP treats empty character classes.
+\fBPOLICY\fP can be one of the following: \fBmatch\-empty\fP (match empty input: illogical, but default behavior for backwards compatibility reasons),
+\fBmatch\-none\fP (fail to match on any input),
+\fBerror\fP (compilation error).
+.TP
+.B \fB\-\-dfa\-minimization ALGORITHM\fP
+The internal algorithm used by re2c to minimize the DFA.
+\fBALGORITHM\fP can be either \fBmoore\fP (Moore algorithm, the default) or \fBtable\fP (table filling algorithm).
+Both algorithms should produce the same DFA up to states relabeling;
+table filling is much slower and serves as a reference implementation.
+.TP
+.B \fB\-\-eager\-skip\fP
+Make the generated lexer advance the input position "eagerly":
+immediately after reading input symbol.
+By default this happens after transition to the next state.
+Implied by \fB\-\-no\-lookahead\fP\&.
+.TP
+.B \fB\-\-dump\-nfa\fP
+Generate representation of NFA in DOT format and dump it on stderr.
+.TP
+.B \fB\-\-dump\-dfa\-raw\fP
+Generate representation of DFA in DOT format under construction and dump it on stderr.
+.TP
+.B \fB\-\-dump\-dfa\-det\fP
+Generate representation of DFA in DOT format immediately after determinization and dump it on stderr.
+.TP
+.B \fB\-\-dump\-dfa\-tagopt\fP
+Generate representation of DFA in DOT format after tag optimizations and dump it on stderr.
+.TP
+.B \fB\-\-dump\-dfa\-min\fP
+Generate representation of DFA in DOT format after minimization and dump it on stderr.
+.TP
+.B \fB\-\-dump\-adfa\fP
+Generate representation of DFA in DOT format after tunneling and dump it on stderr.
.TP
.B \fB\-1 \-\-single\-pass\fP
-Deprecated and does nothing (single pass is by default now).
+Deprecated. Does nothing (single pass is the default now).
+.UNINDENT
+.INDENT 0.0
.TP
.B \fB\-W\fP
Turn on all warnings.
.TP
.B \fB\-Werror\fP
-Turn warnings into errors. Note that this option along
-doesn\(aqt turn on any warnings, it only affects those warnings that have
+Turn warnings into errors. Note that this option alone
+doesn\(aqt turn on any warnings; it only affects those warnings that have
been turned on so far or will be turned on later.
.TP
.B \fB\-W<warning>\fP
-Turn on individual \fBwarning\fP\&.
+Turn on \fBwarning\fP\&.
.TP
.B \fB\-Wno\-<warning>\fP
-Turn off individual \fBwarning\fP\&.
+Turn off \fBwarning\fP\&.
.TP
.B \fB\-Werror\-<warning>\fP
-Turn on individual \fBwarning\fP and treat it as error (this implies \fB\-W<warning>\fP).
+Turn on \fBwarning\fP and treat it as an error (this implies \fB\-W<warning>\fP).
.TP
.B \fB\-Wno\-error\-<warning>\fP
-Don\(aqt treat this particular \fBwarning\fP as error. This doesn\(aqt turn off
+Don\(aqt treat this particular \fBwarning\fP as an error. This doesn\(aqt turn off
the warning itself.
+.UNINDENT
+.INDENT 0.0
.TP
.B \fB\-Wcondition\-order\fP
Warn if the generated program makes implicit
-assumptions about condition numbering. One should use either \fB\-t, \-\-type\-header\fP option or
-\fB/*!types:re2c*/\fP directive to generate mapping of condition names to numbers and use
-autogenerated condition names.
+assumptions about condition numbering. One should use either the \fB\-t, \-\-type\-header\fP option or
+the \fB/*!types:re2c*/\fP directive to generate a mapping of condition names to numbers and then use
+the autogenerated condition names.
.TP
.B \fB\-Wempty\-character\-class\fP
-Warn if regular expression contains empty
-character class. From the rational point of view trying to match empty
-character class makes no sense: it should always fail. However, for
-backwards compatibility reasons \fBre2c\fP allows empty character class and
-treats it as empty string. Use \fB\-\-empty\-class\fP option to change default
-behaviour.
+Warn if a regular expression contains an empty
+character class. Trying to match an empty character class makes no sense: it should always fail.
+However, for backwards compatibility reasons \fBre2c\fP allows empty character classes and
+treats them as empty strings. Use the \fB\-\-empty\-class\fP option to change the default
+behavior.
.TP
.B \fB\-Wmatch\-empty\-string\fP
-Warn if regular expression in a rule is
-nullable (matches empty string). If DFA runs in a loop and empty match
-is unintentional (input position in not advanced manually), lexer may
-get stuck in eternal loop.
+Warn if a rule is nullable (matches an empty string).
+If the lexer runs in a loop and the empty match is unintentional,
+the lexer may unexpectedly hang in an infinite loop.
.TP
.B \fB\-Wswapped\-range\fP
-Warn if range lower bound is greater that upper
-bound. Default \fBre2c\fP behaviour is to silently swap range bounds.
+Warn if the lower bound of a range is greater than its upper
+bound. The default behavior is to silently swap the range bounds.
.TP
.B \fB\-Wundefined\-control\-flow\fP
Warn if some input strings cause undefined
-control flow in lexer (the faulty patterns are reported). This is the
-most dangerous and common mistake. It can be easily fixed by adding
-default rule \fB*\fP (this rule has the lowest priority, matches any code unit and consumes
-exactly one code unit).
+control flow in the lexer (the faulty patterns are reported). This is the
+most dangerous and most common mistake. It can be easily fixed by adding
+the default rule \fB*\fP which has the lowest priority, matches any code unit, and consumes
+exactly one code unit.
+.TP
+.B \fB\-Wunreachable\-rules\fP
+Warn about rules that are shadowed by other rules and will never match.
.TP
.B \fB\-Wuseless\-escape\fP
Warn if a symbol is escaped when it shouldn\(aqt be.
-By default re2c silently ignores escape, but this may as well indicate a
-typo or an error in escape sequence.
+By default, re2c silently ignores such escapes, but this may as well indicate a
+typo or an error in the escape sequence.
+.TP
+.B \fB\-Wnondeterministic\-tags\fP
+Warn if a tag has \fBn\fP\-th degree of nondeterminism, where \fBn\fP is greater than 1.
.UNINDENT
.SH INTERFACE CODE
.sp
-The user must supply interface code either in the form of C/C++ code
-(macros, functions, variables, etc.) or in the form of \fBINPLACE CONFIGURATIONS\fP\&.
-Which symbols must be defined and which are optional
-depends on a particular use case.
+Below is the list of all symbols which may be used by the lexer in order to interact with the outer world.
+These symbols should be defined by the user,
+either in the form of inplace configurations,
+or as C/C++ variables, functions, macros and other language constructs.
+Which primitives are necessary depends on the particular use case.
.INDENT 0.0
.TP
+.B \fByyaccept\fP
+L\-value of unsigned integral type that is used to hold the number of the last matched rule.
+Explicit definition by the user is necessary only with \fB\-f\fP \fB\-\-storable\-state\fP option.
+.TP
+.B \fBYYBACKUP ()\fP
+Backup current input position (used only with \fB\-\-input custom\fP option).
+.TP
+.B \fBYYBACKUPCTX ()\fP
+Backup current input position for trailing context (used only with \fB\-\-input custom\fP option).
+.TP
+.B \fByych\fP
+L\-value of type \fBYYCTYPE\fP that is used to hold current input character.
+Explicit definition by the user is necessary only with \fB\-f\fP \fB\-\-storable\-state\fP option.
+.TP
.B \fBYYCONDTYPE\fP
-In \fB\-c\fP mode you can use \fB\-t\fP to generate a file that
-contains the enumeration used as conditions. Each of the values refers
-to a condition of a rule set.
+The type of \fIcondition\fP identifiers (used only with \fB\-c\fP \fB\-\-conditions\fP option).
+Should be generated either with \fB/*!types:re2c*/\fP directive, or with \fB\-t\fP \fB\-\-type\-header\fP option.
.TP
.B \fBYYCTXMARKER\fP
-l\-value of type \fBYYCTYPE *\fP\&.
-The generated code saves trailing context backtracking information in
-\fBYYCTXMARKER\fP\&. The user only needs to define this macro if a scanner
-specification uses trailing context in one or more of its regular
-expressions.
+L\-value of type \fBYYCTYPE *\fP that is used to backup input position of trailing context.
+It is needed only if regular expressions use the lookahead operator \fB/\fP\&.
.TP
.B \fBYYCTYPE\fP
-Type used to hold an input symbol (code unit). Usually
-\fBchar\fP or \fBunsigned char\fP for ASCII, EBCDIC and UTF\-8, \fBunsigned short\fP
-for UTF\-16 or UCS\-2 and \fBunsigned int\fP for UTF\-32.
+The type of the input characters (\fIcode units\fP).
+Usually it should be \fBunsigned char\fP for ASCII, EBCDIC and UTF\-8 encodings,
+\fBunsigned short\fP for UTF\-16 or UCS\-2 encodings,
+and \fBunsigned int\fP for UTF\-32 encoding.
.TP
.B \fBYYCURSOR\fP
-l\-value of type \fBYYCTYPE *\fP that points to the current input symbol. The generated code advances
-\fBYYCURSOR\fP as symbols are matched. On entry, \fBYYCURSOR\fP is assumed to
-point to the first character of the current token. On exit, \fBYYCURSOR\fP
-will point to the first character of the following token.
-.TP
-.B \fBYYDEBUG (state, current)\fP
-This is only needed if the \fB\-d\fP flag was
-specified. It allows one to easily debug the generated parser by calling a
-user defined function for every state. The function should have the
-following signature: \fBvoid YYDEBUG (int state, char current)\fP\&. The first
-parameter receives the state or \-1 and the second parameter receives the
-input at the current cursor.
+L\-value of type \fBYYCTYPE *\fP that is used as a pointer to the current input symbol.
+Initially \fBYYCURSOR\fP points to the first character and is advanced by the lexer during matching.
+When a rule matches, \fBYYCURSOR\fP points past the last character of the matched string.
+.TP
+.B \fBYYDEBUG (state, symbol)\fP
+A function\-like primitive that is used to dump debug information (only used with \fB\-d\fP \fB\-\-debug\-output\fP option).
+\fBYYDEBUG\fP should return no value and accept two arguments:
+\fBstate\fP (either lexer state or \fB\-1\fP) and \fBsymbol\fP (current input symbol).
.TP
.B \fBYYFILL (n)\fP
-The generated code "calls"" \fBYYFILL (n)\fP when the
-buffer needs (re)filling: at least \fBn\fP additional characters should be
-provided. \fBYYFILL (n)\fP should adjust \fBYYCURSOR\fP, \fBYYLIMIT\fP, \fBYYMARKER\fP
-and \fBYYCTXMARKER\fP as needed. Note that for typical programming languages
-\fBn\fP will be the length of the longest keyword plus one. The user can
-place a comment of the form \fB/*!max:re2c*/\fP to insert \fBYYMAXFILL\fP definition that is set to the maximum
-length value.
+A function\-like primitive that is called by the lexer when there is not enough input.
+\fBYYFILL\fP should return no value and supply at least \fBn\fP additional characters.
+Maximal value of \fBn\fP equals \fBYYMAXFILL\fP, which can be obtained with the \fB/*!max:re2c*/\fP directive.
.TP
.B \fBYYGETCONDITION ()\fP
-This define is used to get the condition prior to
-entering the scanner code when using \fB\-c\fP switch. The value must be
-initialized with a value from the enumeration \fBYYCONDTYPE\fP type.
+R\-value of type \fBYYCONDTYPE\fP that represents current \fIcondition\fP identifier (used only with \fB\-c\fP \fB\-\-conditions\fP option).
.TP
.B \fBYYGETSTATE ()\fP
-The user only needs to define this macro if the \fB\-f\fP
-flag was specified. In that case, the generated code "calls"
-\fBYYGETSTATE ()\fP at the very beginning of the scanner in order to obtain
-the saved state. \fBYYGETSTATE ()\fP must return a signed integer. The value
-must be either \-1, indicating that the scanner is entered for the first
-time, or a value previously saved by \fBYYSETSTATE (s)\fP\&. In the second
-case, the scanner will resume operations right after where the last
-\fBYYFILL (n)\fP was called.
+R\-value of signed integral type that represents current lexer state (used only with \fB\-f\fP \fB\-\-storable\-state\fP option).
+Initial value of lexer state should be \fB\-1\fP\&.
+.TP
+.B \fBYYLESSTHAN (n)\fP
+R\-value of boolean type that is \fBtrue\fP if and only if there is less than \fBn\fP input characters left (used only with \fB\-\-input custom\fP option).
.TP
.B \fBYYLIMIT\fP
-Expression of type \fBYYCTYPE *\fP that marks the end of the buffer \fBYYLIMIT[\-1]\fP
-is the last character in the buffer). The generated code repeatedly
-compares \fBYYCURSOR\fP to \fBYYLIMIT\fP to determine when the buffer needs
-(re)filling.
+R\-value of type \fBYYCTYPE *\fP that marks the end of input (\fBYYLIMIT[\-1]\fP should be the last input character).
+Lexer compares \fBYYCURSOR\fP and \fBYYLIMIT\fP in order to determine if there is enough input characters left.
.TP
.B \fBYYMARKER\fP
-l\-value of type \fBYYCTYPE *\fP\&.
-The generated code saves backtracking information in \fBYYMARKER\fP\&. Some
-easy scanners might not use this.
+L\-value of type \fBYYCTYPE *\fP used to backup input position of successful match.
+This might be necessary if there is an overlapping longer rule that might also match.
+.TP
+.B \fBYYMTAGP (t)\fP
+Append current input position to the history of \fIm\-tag\fP \fBt\fP (used only with \fB\-T\fP \fB\-\-tags\fP option).
+.TP
+.B \fBYYMTAGN (t)\fP
+Append default value to the history of \fIm\-tag\fP \fBt\fP (used only with \fB\-T\fP \fB\-\-tags\fP option).
.TP
.B \fBYYMAXFILL\fP
-This will be automatically defined by \fB/*!max:re2c*/\fP blocks as explained above.
-.TP
-.B \fBYYSETCONDITION (c)\fP
-This define is used to set the condition in
-transition rules. This is only being used when \fB\-c\fP is active and
-transition rules are being used.
-.TP
-.B \fBYYSETSTATE (s)\fP
-The user only needs to define this macro if the \fB\-f\fP
-flag was specified. In that case, the generated code "calls"
-\fBYYSETSTATE\fP just before calling \fBYYFILL (n)\fP\&. The parameter to
-\fBYYSETSTATE\fP is a signed integer that uniquely identifies the specific
-instance of \fBYYFILL (n)\fP that is about to be called. Should the user
-wish to save the state of the scanner and have \fBYYFILL (n)\fP return to
-the caller, all he has to do is store that unique identifer in a
-variable. Later, when the scannered is called again, it will call
-\fBYYGETSTATE ()\fP and resume execution right where it left off. The
-generated code will contain both \fBYYSETSTATE (s)\fP and \fBYYGETSTATE\fP even
-if \fBYYFILL (n)\fP is being disabled.
+Integral constant that denotes maximal value of \fBYYFILL\fP argument
+and is autogenerated by \fB/*!max:re2c*/\fP directive.
+.TP
+.B \fBYYMAXNMATCH\fP
+Integral constant that denotes maximal number of capturing groups in a rule
+and is autogenerated by \fB/*!maxnmatch:re2c*/\fP directive (used only with \fB\-\-posix\-captures\fP option).
+.TP
+.B \fByynmatch\fP
+L\-value of unsigned integral type that is used to hold the number of capturing groups in the matching rule.
+Used only with \fB\-P\fP \fB\-\-posix\-captures\fP option.
+.TP
+.B \fBYYPEEK ()\fP
+R\-value of type \fBYYCTYPE\fP that denotes current input character (used only with \fB\-\-input custom\fP option).
+.TP
+.B \fByypmatch\fP
+An array of l\-values that are used to hold the values of \fIs\-tags\fP
+corresponding to the capturing parentheses in the matching rule.
+The length of array must be at least \fByynmatch * 2\fP (ideally \fBYYMAXNMATCH * 2\fP).
+Used only with \fB\-P\fP \fB\-\-posix\-captures\fP option.
+.TP
+.B \fBYYRESTORE ()\fP
+Restore input position (used only with \fB\-\-input custom\fP option).
+.TP
+.B \fBYYRESTORECTX ()\fP
+Restore input position from the value of trailing context (used only with \fB\-\-input custom\fP option).
+.TP
+.B \fBYYRESTORETAG (t)\fP
+Restore input position from the value of \fIs\-tag\fP \fBt\fP (used only with \fB\-\-input custom\fP option).
+.TP
+.B \fBYYSETCONDITION (condition)\fP
+Set current \fIcondition\fP identifier to \fBcondition\fP (used only with \fB\-c\fP \fB\-\-conditions\fP option).
+.TP
+.B \fBYYSETSTATE (state)\fP
+Set current lexer state to \fBstate\fP (used only with \fB\-f\fP \fB\-\-storable\-state\fP option).
+Parameter \fBstate\fP is of signed integral type.
+.TP
+.B \fBYYSKIP ()\fP
+Advance input position to the next character (used only with generic API).
+.TP
+.B \fBYYSTAGP (t)\fP
+Save current input position to \fIs\-tag\fP \fBt\fP (used only with \fB\-T\fP \fB\-\-tags\fP and \fB\-\-input custom\fP option).
+.TP
+.B \fBYYSTAGN (t)\fP
+Save default value to \fIs\-tag\fP \fBt\fP (used only with \fB\-T\fP \fB\-\-tags\fP and \fB\-\-input custom\fP options).
.UNINDENT
.SH SYNTAX
.sp
-Code for \fBre2c\fP consists of a set of \fBRULES\fP, \fBNAMED DEFINITIONS\fP and
-\fBINPLACE CONFIGURATIONS\fP\&.
+A program can contain any number of \fBre2c\fP blocks.
+Each block consists of a sequence of \fBRULES\fP, \fBNAMED DEFINITIONS\fP and \fBINPLACE CONFIGURATIONS\fP\&.
.SS RULES
.sp
-Rules consist of a regular expression (see \fBREGULAR EXPRESSIONS\fP) along with a block of C/C++ code
-that is to be executed when the associated regular expression is
-matched. You can either start the code with an opening curly brace or
-the sequence \fB:=\fP\&. When the code with a curly brace then \fBre2c\fP counts the brace depth
-and stops looking for code automatically. Otherwise curly braces are not
-allowed and \fBre2c\fP stops looking for code at the first line that does
-not begin with whitespace. If two or more rules overlap, the first rule
-is preferred.
-.INDENT 0.0
-.INDENT 3.5
-\fBregular\-expression { C/C++ code }\fP
-.sp
-\fBregular\-expression := C/C++ code\fP
-.UNINDENT
-.UNINDENT
-.sp
-There is one special rule: default rule \fB*\fP
-.INDENT 0.0
-.INDENT 3.5
-\fB* { C/C++ code }\fP
-.sp
-\fB* := C/C++ code\fP
-.UNINDENT
-.UNINDENT
-.sp
-Note that default rule \fB*\fP differs from \fB[^]\fP: default rule has the lowest priority,
-matches any code unit (either valid or invalid) and always consumes one character;
-while \fB[^]\fP matches any valid code point (not code unit) and can consume multiple
-code units. In fact, when variable\-length encoding is used, \fB*\fP
-is the only possible way to match invalid input character (see \fBENCODINGS\fP for details).
-.sp
-If \fB\-c\fP is active then each regular expression is preceded by a list
-of comma separated condition names. Besides normal naming rules there
-are two special cases: \fB<*>\fP (such rules are merged to all conditions)
-and \fB<>\fP (such the rule cannot have an associated regular expression,
-its code is merged to all actions). Non empty rules may further more specify the new
-condition. In that case \fBre2c\fP will generate the necessary code to
-change the condition automatically. Rules can use \fB:=>\fP as a shortcut
-to automatically generate code that not only sets the
-new condition state but also continues execution with the new state. A
-shortcut rule should not be used in a loop where there is code between
-the start of the loop and the \fBre2c\fP block unless \fBre2c:cond:goto\fP
-is changed to \fBcontinue\fP\&. If code is necessary before all rules (though not simple jumps) you
-can doso by using \fB<!>\fP pseudo\-rules.
-.INDENT 0.0
-.INDENT 3.5
-\fB<condition\-list> regular\-expression { C/C++ code }\fP
-.sp
-\fB<condition\-list> regular\-expression := C/C++ code\fP
-.sp
-\fB<condition\-list> * { C/C++ code }\fP
-.sp
-\fB<condition\-list> * := C/C++ code\fP
-.sp
-\fB<condition\-list> regular\-expression => condition { C/C++ code }\fP
-.sp
-\fB<condition\-list> regular\-expression => condition := C/C++ code\fP
-.sp
-\fB<condition\-list> * => condition { C/C++ code }\fP
-.sp
-\fB<condition\-list> * => condition := C/C++ code\fP
-.sp
-\fB<condition\-list> regular\-expression :=> condition\fP
-.sp
-\fB<*> regular\-expression { C/C++ code }\fP
-.sp
-\fB<*> regular\-expression := C/C++ code\fP
-.sp
-\fB<*> * { C/C++ code }\fP
-.sp
-\fB<*> * := C/C++ code\fP
-.sp
-\fB<*> regular\-expression => condition { C/C++ code }\fP
-.sp
-\fB<*> regular\-expression => condition := C/C++ code\fP
-.sp
-\fB<*> * => condition { C/C++ code }\fP
-.sp
-\fB<*> * => condition := C/C++ code\fP
-.sp
-\fB<*> regular\-expression :=> condition\fP
-.sp
-\fB<> { C/C++ code }\fP
-.sp
-\fB<> := C/C++ code\fP
-.sp
-\fB<> => condition { C/C++ code }\fP
-.sp
-\fB<> => condition := C/C++ code\fP
-.sp
-\fB<> :=> condition\fP
+Rules consist of a regular expression followed by a user\-defined action:
+a block of C/C++ code that is executed in case of sucessful match.
+Action can be either an arbitrary block of code enclosed in curly braces \fB{\fP and \fB}\fP
+or a block of code without curly braces preceded with \fB:=\fP and ended with a newline that is not followed by a whitespace.
.sp
-\fB<> :=> condition\fP
+If multiple rules match, \fBre2c\fP prefers the longest match.
+If rules match the same string, the earlier rule has priority.
.sp
-\fB<! condition\-list> { C/C++ code }\fP
+There is one special kind of rule: the \fIdefault rule\fP with \fB*\fP instead of the regular expression.
+It always has the lowest priority, matches any \fIcode unit\fP (either valid or invalid) and consumes exactly one \fIcode unit\fP\&.
+Note that \fIdefault rule\fP is not the same as \fB[^]\fP, which
+matches any valid \fIcode point\fP and can consume multiple \fIcode units\fP\&.
+In case of variable\-length encodings \fB*\fP is the only possible way to match invalid input character.
.sp
-\fB<! condition\-list> := C/C++ code\fP
-.sp
-\fB<!> { C/C++ code }\fP
-.sp
-\fB<!> := C/C++ code\fP
-.UNINDENT
-.UNINDENT
+If \fB\-c\fP \fB\-\-conditions\fP option is used, then rules have more complex form
+described in the section about conditions.
.SS NAMED DEFINITIONS
.sp
-Named definitions are of the form:
-.INDENT 0.0
-.INDENT 3.5
-\fBname = regular\-expression;\fP
-.UNINDENT
-.UNINDENT
-.sp
-If \fB\-F\fP is active, then named definitions are also of the form:
-.INDENT 0.0
-.INDENT 3.5
-\fBname { regular\-expression }\fP
-.UNINDENT
-.UNINDENT
+Named definitions are of the form \fBname = regexp ;\fP
+where \fBname\fP is an identifier that consists of letters, digits and underscores,
+and \fBregexp\fP is a regular expression.
+With \fB\-F\fP \fB\-\-flex\-syntax\fP option named definitions are also of the form \fBname regexp\fP\&.
+Each name should be defined before it is used.
.SS INPLACE CONFIGURATIONS
.INDENT 0.0
.TP
-.B \fBre2c:condprefix = yyc;\fP
-Allows one to specify the prefix used for
-condition labels. That is this text is prepended to any condition label
-in the generated output file.
-.TP
-.B \fBre2c:condenumprefix = yyc;\fP
-Allows one to specify the prefix used for
-condition values. That is this text is prepended to any condition enum
-value in the generated output file.
+.B \fBre2c:cgoto:threshold = 9;\fP
+With \fB\-g\fP \fB\-\-computed\-gotos\fP option this value specifies
+the complexity threshold that triggers the generation of jump tables rather
+than nested \fBif\fP statements and bit masks.
.TP
-.B \fBre2c:cond:divider = "/* *********************************** */";\fP
-Allows one to customize the devider for condition blocks. You can use \fB@@\fP
-to put the name of the condition or customize the placeholder using
-\fBre2c:cond:divider@cond\fP\&.
+.B \fBre2c:cond:divider = \(aq/* *********************************** */\(aq;\fP
+Allows to customize the divider for condition blocks. One can use \fB@@\fP to insert condition name.
.TP
.B \fBre2c:cond:divider@cond = @@;\fP
-Specifies the placeholder that will be
-replaced with the condition name in \fBre2c:cond:divider\fP\&.
+Specifies the placeholder that will be replaced with condition name in \fBre2c:cond:divider\fP\&.
.TP
-.B \fBre2c:cond:goto = "goto @@;";\fP
-Allows one to customize the condition goto statements used with \fB:=>\fP style rules. You can use \fB@@\fP
-to put the name of the condition or ustomize the placeholder using
-\fBre2c:cond:goto@cond\fP\&. You can also change this to \fBcontinue;\fP, which
-would allow you to continue with the next loop cycle including any code
-between loop start and re2c block.
+.B \fBre2c:condenumprefix = yyc;\fP
+Specifies the prefix used for condition identifiers.
.TP
.B \fBre2c:cond:goto@cond = @@;\fP
-Spcifies the placeholder that will be replaced with the condition label in \fBre2c:cond:goto\fP\&.
+Specifies the placeholder that will be replaced with condition label in \fBre2c:cond:goto\fP\&.
.TP
-.B \fBre2c:indent:top = 0;\fP
-Specifies the minimum number of indentation to
-use. Requires a numeric value greater than or equal zero.
+.B \fBre2c:cond:goto = \(aqgoto @@;\(aq;\fP
+Allows to customize \fBgoto\fP statements used with \fB:=>\fP style rules.
+One can use \fB@@\fP to insert the condition name.
.TP
-.B \fBre2c:indent:string = "\et";\fP
-Specifies the string to use for indentation. Requires a string that should
-contain only whitespace unless you need this for external tools. The easiest
-way to specify spaces is to enclude them in single or double quotes.
-If you do not want any indentation at all you can simply set this to "".
+.B \fBre2c:condprefix = yyc;\fP
+Specifies the prefix used for condition labels.
.TP
-.B \fBre2c:yych:conversion = 0;\fP
-When this setting is non zero, then \fBre2c\fP automatically generates
-conversion code whenever yych gets read. In this case the type must be
-defined using \fBre2c:define:YYCTYPE\fP\&.
+.B \fBre2c:define:YYBACKUPCTX = \(aqYYBACKUPCTX\(aq;\fP
+Replaces \fBYYBACKUPCTX\fP identifier with the specified string.
.TP
-.B \fBre2c:yych:emit = 1;\fP
-Generation of \fByych\fP can be suppressed by setting this to 0.
+.B \fBre2c:define:YYBACKUP = \(aqYYBACKUP\(aq;\fP
+Replaces \fBYYBACKUP\fP identifier with the specified string.
.TP
-.B \fBre2c:yybm:hex = 0;\fP
-If set to zero then a decimal table is being used else a hexadecimal table will be generated.
+.B \fBre2c:define:YYCONDTYPE = \(aqYYCONDTYPE\(aq;\fP
+Enumeration type used for condition identifiers.
.TP
-.B \fBre2c:yyfill:enable = 1;\fP
-Set this to zero to suppress generation of \fBYYFILL (n)\fP\&. When using this be sure to verify that the generated
-scanner does not read behind input. Allowing this behavior might
-introduce sever security issues to you programs.
+.B \fBre2c:define:YYCTXMARKER = \(aqYYCTXMARKER\(aq;\fP
+Replaces the \fBYYCTXMARKER\fP placeholder with the specified identifier.
.TP
-.B \fBre2c:yyfill:check = 1;\fP
-This can be set 0 to suppress output of the
-pre condition using \fBYYCURSOR\fP and \fBYYLIMIT\fP which becomes useful when
-\fBYYLIMIT + YYMAXFILL\fP is always accessible.
+.B \fBre2c:define:YYCTYPE = \(aqYYCTYPE\(aq;\fP
+Replaces the \fBYYCTYPE\fP placeholder with the specified type.
.TP
-.B \fBre2c:define:YYFILL = "YYFILL";\fP
-Substitution for \fBYYFILL\fP\&. Note
-that by default \fBre2c\fP generates argument in braces and semicolon after
-\fBYYFILL\fP\&. If you need to make \fBYYFILL\fP an arbitrary statement rather
-than a call, set \fBre2c:define:YYFILL:naked\fP to non\-zero and use
-\fBre2c:define:YYFILL@len\fP to denote formal parameter inside of \fBYYFILL\fP
-body.
+.B \fBre2c:define:YYCURSOR = \(aqYYCURSOR\(aq;\fP
+Replaces the \fBYYCURSOR\fP placeholder with the specified identifier.
.TP
-.B \fBre2c:define:YYFILL@len = "@@";\fP
-Any occurrence of this text
-inside of \fBYYFILL\fP will be replaced with the actual argument.
+.B \fBre2c:define:YYDEBUG = \(aqYYDEBUG\(aq;\fP
+Replaces the \fBYYDEBUG\fP placeholder with the specified identifier.
.TP
-.B \fBre2c:yyfill:parameter = 1;\fP
-Controls argument in braces after
-\fBYYFILL\fP\&. If zero, agrument is omitted. If non\-zero, argument is
-generated unless \fBre2c:define:YYFILL:naked\fP is set to non\-zero.
+.B \fBre2c:define:YYFILL@len = \(aq@@\(aq;\fP
+Any occurrence of this text inside of a \fBYYFILL\fP will be replaced with the actual argument.
.TP
.B \fBre2c:define:YYFILL:naked = 0;\fP
-Controls argument in braces and
-semicolon after \fBYYFILL\fP\&. If zero, both agrument and semicolon are
-omitted. If non\-zero, argument is generated unless
-\fBre2c:yyfill:parameter\fP is set to zero and semicolon is generated
-unconditionally.
+Controls the argument in the parentheses after \fBYYFILL\fP and the following semicolon.
+If zero, both the argument and the semicolon are omitted.
+If non\-zero, the argument is generated unless \fBre2c:yyfill:parameter\fP is set to zero;
+the semicolon is generated unconditionally.
.TP
-.B \fBre2c:startlabel = 0;\fP
-If set to a non zero integer then the start
-label of the next scanner blocks will be generated even if not used by
-the scanner itself. Otherwise the normal \fByy0\fP like start label is only
-being generated if needed. If set to a text value then a label with that
-text will be generated regardless of whether the normal start label is
-being used or not. This setting is being reset to 0 after a start
-label has been generated.
+.B \fBre2c:define:YYFILL = \(aqYYFILL\(aq;\fP
+Define a substitution for \fBYYFILL\fP\&.
+By default re2c generates an argument in parentheses and a semicolon after \fBYYFILL\fP\&.
+If you need to make \fBYYFILL\fP an arbitrary statement rather than a call,
+set \fBre2c:define:YYFILL:naked\fP to a non\-zero value.
.TP
-.B \fBre2c:labelprefix = "yy";\fP
-Allows one to change the prefix of numbered
-labels. The default is \fByy\fP and can be set any string that is a valid
-label.
+.B \fBre2c:define:YYGETCONDITION:naked = 0;\fP
+Controls the parentheses after \fBYYGETCONDITION\fP\&.
+If zero, the parentheses are omitted. If non\-zero, the parentheses are generated.
.TP
-.B \fBre2c:state:abort = 0;\fP
-When not zero and switch \fB\-f\fP is active then
-the \fBYYGETSTATE\fP block will contain a default case that aborts and a \-1
-case is used for initialization.
+.B \fBre2c:define:YYGETCONDITION = \(aqYYGETCONDITION\(aq;\fP
+Substitution for \fBYYGETCONDITION\fP\&.
+By default re2c generates parentheses after \fBYYGETCONDITION\fP\&.
+Set \fBre2c:define:YYGETCONDITION:naked\fP to non\-zero in order to omit the parentheses.
.TP
-.B \fBre2c:state:nextlabel = 0;\fP
-Used when \fB\-f\fP is active to control
-whether the \fBYYGETSTATE\fP block is followed by a \fByyNext:\fP label line.
-Instead of using \fByyNext\fP you can usually also use configuration
-\fBstartlabel\fP to force a specific start label or default to \fByy0\fP as
-start label. Instead of using a dedicated label it is often better to
-separate the \fBYYGETSTATE\fP code from the actual scanner code by placing a
-\fB/*!getstate:re2c*/\fP comment.
+.B \fBre2c:define:YYGETSTATE:naked = 0;\fP
+Controls the parentheses that follow \fBYYGETSTATE\fP\&.
+If zero, the parentheses are omitted. If non\-zero, they are generated.
.TP
-.B \fBre2c:cgoto:threshold = 9;\fP
-When \fB\-g\fP is active this value specifies
-the complexity threshold that triggers generation of jump tables rather
-than using nested if\(aqs and decision bitfields. The threshold is compared
-against a calculated estimation of if\-s needed where every used bitmap
-divides the threshold by 2.
+.B \fBre2c:define:YYGETSTATE = \(aqYYGETSTATE\(aq;\fP
+Substitution for \fBYYGETSTATE\fP\&.
+By default re2c generates parentheses after \fBYYGETSTATE\fP\&.
+Set \fBre2c:define:YYGETSTATE:naked\fP to non\-zero to omit the parentheses.
.TP
-.B \fBre2c:yych:conversion = 0;\fP
-When the input uses signed characters and
-\fB\-s\fP or \fB\-b\fP switches are in effect re2c allows one to automatically convert
-to the unsigned character type that is then necessary for its internal
-single character. When this setting is zero or an empty string the
-conversion is disabled. Using a non zero number the conversion is taken
-from \fBYYCTYPE\fP\&. If that is given by an inplace configuration that value
-is being used. Otherwise it will be \fB(YYCTYPE)\fP and changes to that
-configuration are no longer possible. When this setting is a string the
-braces must be specified. Now assuming your input is a \fBchar *\fP
-buffer and you are using above mentioned switches you can set
-\fBYYCTYPE\fP to \fBunsigned char\fP and this setting to either 1 or \fB(unsigned char)\fP\&.
-.TP
-.B \fBre2c:define:YYCONDTYPE = "YYCONDTYPE";\fP
-Enumeration used for condition support with \fB\-c\fP mode.
-.TP
-.B \fBre2c:define:YYCTXMARKER = "YYCTXMARKER";\fP
-Allows one to overwrite the
-define \fBYYCTXMARKER\fP and thus avoiding it by setting the value to the
-actual code needed.
-.TP
-.B \fBre2c:define:YYCTYPE = "YYCTYPE";\fP
-Allows one to overwrite the define
-\fBYYCTYPE\fP and thus avoiding it by setting the value to the actual code
-needed.
-.TP
-.B \fBre2c:define:YYCURSOR = "YYCURSOR";\fP
-Allows one to overwrite the define
-\fBYYCURSOR\fP and thus avoiding it by setting the value to the actual code
-needed.
-.TP
-.B \fBre2c:define:YYDEBUG = "YYDEBUG";\fP
-Allows one to overwrite the define
-\fBYYDEBUG\fP and thus avoiding it by setting the value to the actual code
-needed.
-.TP
-.B \fBre2c:define:YYGETCONDITION = "YYGETCONDITION";\fP
-Substitution for
-\fBYYGETCONDITION\fP\&. Note that by default \fBre2c\fP generates braces after
-\fBYYGETCONDITION\fP\&. Set \fBre2c:define:YYGETCONDITION:naked\fP to non\-zero to
-omit braces.
+.B \fBre2c:define:YYLESSTHAN = \(aqYYLESSTHAN\(aq;\fP
+Replaces \fBYYLESSTHAN\fP identifier with the specified string.
.TP
-.B \fBre2c:define:YYGETCONDITION:naked = 0;\fP
-Controls braces after
-\fBYYGETCONDITION\fP\&. If zero, braces are omitted. If non\-zero, braces are
-generated.
+.B \fBre2c:define:YYLIMIT = \(aqYYLIMIT\(aq;\fP
+Replaces the \fBYYLIMIT\fP placeholder with the specified identifier.
.TP
-.B \fBre2c:define:YYSETCONDITION = "YYSETCONDITION";\fP
-Substitution for
-\fBYYSETCONDITION\fP\&. Note that by default \fBre2c\fP generates argument in
-braces and semicolon after \fBYYSETCONDITION\fP\&. If you need to make
-\fBYYSETCONDITION\fP an arbitrary statement rather than a call, set
-\fBre2c:define:YYSETCONDITION:naked\fP to non\-zero and use
-\fBre2c:define:YYSETCONDITION@cond\fP to denote formal parameter inside of
-\fBYYSETCONDITION\fP body.
+.B \fBre2c:define:YYMARKER = \(aqYYMARKER\(aq;\fP
+Replaces the \fBYYMARKER\fP placeholder with the specified identifier.
.TP
-.B \fBre2c:define:YYSETCONDITION@cond = "@@";\fP
+.B \fBre2c:define:YYMTAGN = \(aqYYMTAGN\(aq;\fP
+Replaces \fBYYMTAGN\fP identifier with the specified string.
+.TP
+.B \fBre2c:define:YYMTAGP = \(aqYYMTAGP\(aq;\fP
+Replaces \fBYYMTAGP\fP identifier with the specified string.
+.TP
+.B \fBre2c:define:YYPEEK = \(aqYYPEEK\(aq;\fP
+Replaces \fBYYPEEK\fP identifier with the specified string.
+.TP
+.B \fBre2c:define:YYRESTORECTX = \(aqYYRESTORECTX\(aq;\fP
+Replaces \fBYYRESTORECTX\fP identifier with the specified string.
+.TP
+.B \fBre2c:define:YYRESTORE = \(aqYYRESTORE\(aq;\fP
+Replaces \fBYYRESTORE\fP identifier with the specified string.
+.TP
+.B \fBre2c:define:YYRESTORETAG = \(aqYYRESTORETAG\(aq;\fP
+Replaces \fBYYRESTORETAG\fP identifier with the specified string.
+.TP
+.B \fBre2c:define:YYSETCONDITION@cond = \(aq@@\(aq;\fP
Any occurrence of this
-text inside of \fBYYSETCONDITION\fP will be replaced with the actual
-argument.
+text inside of \fBYYSETCONDITION\fP will be replaced with the actual argument.
.TP
.B \fBre2c:define:YYSETCONDITION:naked = 0;\fP
-Controls argument in braces
-and semicolon after \fBYYSETCONDITION\fP\&. If zero, both agrument and
-semicolon are omitted. If non\-zero, both argument and semicolon are
+Controls the argument in parentheses
+and the semicolon after \fBYYSETCONDITION\fP\&. If zero, both the argument and
+the semicolon are omitted. If non\-zero, both the argument and the semicolon are
generated.
.TP
-.B \fBre2c:define:YYGETSTATE = "YYGETSTATE";\fP
+.B \fBre2c:define:YYSETCONDITION = \(aqYYSETCONDITION\(aq;\fP
Substitution for
-\fBYYGETSTATE\fP\&. Note that by default \fBre2c\fP generates braces after
-\fBYYGETSTATE\fP\&. Set \fBre2c:define:YYGETSTATE:naked\fP to non\-zero to omit
-braces.
+\fBYYSETCONDITION\fP\&. By default re2c generates an argument in
+parentheses followed by semicolon after \fBYYSETCONDITION\fP\&. If you need to make
+\fBYYSETCONDITION\fP an arbitrary statement rather than a call, set
+\fBre2c:define:YYSETCONDITION:naked\fP to non\-zero.
.TP
-.B \fBre2c:define:YYGETSTATE:naked = 0;\fP
-Controls braces after
-\fBYYGETSTATE\fP\&. If zero, braces are omitted. If non\-zero, braces are
-generated.
+.B \fBre2c:define:YYSETSTATE:naked = 0;\fP
+Controls the argument in parentheses and the
+semicolon after \fBYYSETSTATE\fP\&. If zero, both argument and the semicolon are
+omitted. If non\-zero, both the argument and the semicolon are generated.
.TP
-.B \fBre2c:define:YYSETSTATE = "YYSETSTATE";\fP
+.B \fBre2c:define:YYSETSTATE@state = \(aq@@\(aq;\fP
+Any occurrence of this text
+inside of \fBYYSETSTATE\fP will be replaced with the actual argument.
+.TP
+.B \fBre2c:define:YYSETSTATE = \(aqYYSETSTATE\(aq;\fP
Substitution for
-\fBYYSETSTATE\fP\&. Note that by default \fBre2c\fP generates argument in braces
-and semicolon after \fBYYSETSTATE\fP\&. If you need to make \fBYYSETSTATE\fP an
+\fBYYSETSTATE\fP\&. By default re2c generates an argument in parentheses
+followed by a semicolon after \fBYYSETSTATE\fP\&. If you need to make \fBYYSETSTATE\fP an
arbitrary statement rather than a call, set
-\fBre2c:define:YYSETSTATE:naked\fP to non\-zero and use
-\fBre2c:define:YYSETSTATE@cond\fP to denote formal parameter inside of
-\fBYYSETSTATE\fP body.
+\fBre2c:define:YYSETSTATE:naked\fP to non\-zero.
.TP
-.B \fBre2c:define:YYSETSTATE@state = "@@";\fP
-Any occurrence of this text
-inside of \fBYYSETSTATE\fP will be replaced with the actual argument.
+.B \fBre2c:define:YYSKIP = \(aqYYSKIP\(aq;\fP
+Replaces \fBYYSKIP\fP identifier with the specified string.
.TP
-.B \fBre2c:define:YYSETSTATE:naked = 0;\fP
-Controls argument in braces and
-semicolon after \fBYYSETSTATE\fP\&. If zero, both agrument and semicolon are
-omitted. If non\-zero, both argument and semicolon are generated.
+.B \fBre2c:define:YYSTAGN = \(aqYYSTAGN\(aq;\fP
+Replaces \fBYYSTAGN\fP identifier with the specified string.
.TP
-.B \fBre2c:define:YYLIMIT = "YYLIMIT";\fP
-Allows one to overwrite the define
-\fBYYLIMIT\fP and thus avoiding it by setting the value to the actual code
-needed.
+.B \fBre2c:define:YYSTAGP = \(aqYYSTAGP\(aq;\fP
+Replaces \fBYYSTAGP\fP identifier with the specified string.
.TP
-.B \fBre2c:define:YYMARKER = "YYMARKER";\fP
-Allows one to overwrite the define
-\fBYYMARKER\fP and thus avoiding it by setting the value to the actual code
-needed.
+.B \fBre2c:flags:8\fP or \fBre2c:flags:utf\-8\fP
+Same as \fB\-8 \-\-utf\-8\fP command\-line option.
.TP
-.B \fBre2c:label:yyFillLabel = "yyFillLabel";\fP
-Allows one to overwrite the name of the label \fByyFillLabel\fP\&.
+.B \fBre2c:flags:b\fP or \fBre2c:flags:bit\-vectors\fP
+Same as \fB\-b \-\-bit\-vectors\fP command\-line option.
.TP
-.B \fBre2c:label:yyNext = "yyNext";\fP
-Allows one to overwrite the name of the label \fByyNext\fP\&.
+.B \fBre2c:flags:case\-insensitive = 0;\fP
+Same as \fB\-\-case\-insensitive\fP command\-line option.
.TP
-.B \fBre2c:variable:yyaccept = yyaccept;\fP
-Allows one to overwrite the name of the variable \fByyaccept\fP\&.
+.B \fBre2c:flags:case\-inverted = 0;\fP
+Same as \fB\-\-case\-inverted\fP command\-line option.
.TP
-.B \fBre2c:variable:yybm = "yybm";\fP
-Allows one to overwrite the name of the variable \fByybm\fP\&.
+.B \fBre2c:flags:d\fP or \fBre2c:flags:debug\-output\fP
+Same as \fB\-d \-\-debug\-output\fP command\-line option.
.TP
-.B \fBre2c:variable:yych = "yych";\fP
-Allows one to overwrite the name of the variable \fByych\fP\&.
+.B \fBre2c:flags:dfa\-minimization = \(aqmoore\(aq;\fP
+Same as \fB\-\-dfa\-minimization\fP command\-line option.
.TP
-.B \fBre2c:variable:yyctable = "yyctable";\fP
-When both \fB\-c\fP and \fB\-g\fP are active then \fBre2c\fP uses this variable to generate a static jump table
-for \fBYYGETCONDITION\fP\&.
+.B \fBre2c:flags:eager\-skip = 0;\fP
+Same as \fB\-\-eager\-skip\fP command\-line option.
.TP
-.B \fBre2c:variable:yystable = "yystable";\fP
-Deprecated.
+.B \fBre2c:flags:e\fP or \fBre2c:flags:ecb\fP
+Same as \fB\-e \-\-ecb\fP command\-line option.
.TP
-.B \fBre2c:variable:yytarget = "yytarget";\fP
-Allows one to overwrite the name of the variable \fByytarget\fP\&.
-.UNINDENT
-.SS REGULAR EXPRESSIONS
-.INDENT 0.0
+.B \fBre2c:flags:empty\-class = \(aqmatch\-empty\(aq;\fP
+Same as \fB\-\-empty\-class\fP command\-line option.
.TP
-.B \fB"foo"\fP
-literal string \fB"foo"\fP\&. ANSI\-C escape sequences can be used.
+.B \fBre2c:flags:encoding\-policy = \(aqignore\(aq;\fP
+Same as \fB\-\-encoding\-policy\fP command\-line option.
.TP
-.B \fB\(aqfoo\(aq\fP
-literal string \fB"foo"\fP (characters [a\-zA\-Z] treated
-case\-insensitive). ANSI\-C escape sequences can be used.
+.B \fBre2c:flags:g\fP or \fBre2c:flags:computed\-gotos\fP
+Same as \fB\-g \-\-computed\-gotos\fP command\-line option.
.TP
-.B \fB[xyz]\fP
-character class; in this case, regular expression matches either \fBx\fP, \fBy\fP, or \fBz\fP\&.
+.B \fBre2c:flags:i\fP or \fBre2c:flags:no\-debug\-info\fP
+Same as \fB\-i \-\-no\-debug\-info\fP command\-line option.
.TP
-.B \fB[abj\-oZ]\fP
-character class with a range in it; matches \fBa\fP, \fBb\fP, any letter from \fBj\fP through \fBo\fP or \fBZ\fP\&.
+.B \fBre2c:flags:input = \(aqdefault\(aq;\fP
+Same as \fB\-\-input\fP command\-line option.
.TP
-.B \fB[^class]\fP
-inverted character class.
+.B \fBre2c:flags:lookahead = 1;\fP
+Same as inverted \fB\-\-no\-lookahead\fP command\-line option.
.TP
-.B \fBr \e s\fP
-match any \fBr\fP which isn\(aqt \fBs\fP\&. \fBr\fP and \fBs\fP must be regular expressions
-which can be expressed as character classes.
+.B \fBre2c:flags:optimize\-tags = 1;\fP
+Same as inverted \fB\-\-no\-optimize\-tags\fP command\-line option.
.TP
-.B \fBr*\fP
-zero or more occurrences of \fBr\fP\&.
+.B \fBre2c:flags:P\fP or \fBre2c:flags:posix\-captures\fP
+Same as \fB\-P \-\-posix\-captures\fP command\-line option.
.TP
-.B \fBr+\fP
-one or more occurrences of \fBr\fP\&.
+.B \fBre2c:flags:s\fP or \fBre2c:flags:nested\-ifs\fP
+Same as \fB\-s \-\-nested\-ifs\fP command\-line option.
.TP
-.B \fBr?\fP
-optional \fBr\fP\&.
+.B \fBre2c:flags:T\fP or \fBre2c:flags:tags\fP
+Same as \fB\-T \-\-tags\fP command\-line option.
.TP
-.B \fB(r)\fP
-\fBr\fP; parentheses are used to override precedence.
+.B \fBre2c:flags:u\fP or \fBre2c:flags:unicode\fP
+Same as \fB\-u \-\-unicode\fP command\-line option.
.TP
-.B \fBr s\fP
-\fBr\fP followed by \fBs\fP (concatenation).
+.B \fBre2c:flags:w\fP or \fBre2c:flags:wide\-chars\fP
+Same as \fB\-w \-\-wide\-chars\fP command\-line option.
.TP
-.B \fBr | s\fP
-either \fBr\fP or \fBs\fP (alternative).
+.B \fBre2c:flags:x\fP or \fBre2c:flags:utf\-16\fP
+Same as \fB\-x \-\-utf\-16\fP command\-line option.
.TP
-.B \fBr\fP / \fBs\fP
-\fBr\fP but only if it is followed by \fBs\fP\&. Note that \fBs\fP is not
-part of the matched text. This type of regular expression is called
-"trailing context". Trailing context can only be the end of a rule
-and not part of a named definition.
+.B \fBre2c:indent:string = \(aq\et\(aq;\fP
+Specifies the string to use for indentation. Requires a string that contains
+only whitespace (unless you need something else for external tools). The easiest
+way to specify spaces is to enclose them in single or double quotes.
+If you do not want any indentation at all, you can set this to \(aq\(aq.
.TP
-.B \fBr{n}\fP
-matches \fBr\fP exactly \fBn\fP times.
+.B \fBre2c:indent:top = 0;\fP
+Specifies the minimum amount of indentation to
+use. Requires a numeric value greater than or equal to zero.
.TP
-.B \fBr{n,}\fP
-matches \fBr\fP at least \fBn\fP times.
+.B \fBre2c:labelprefix = \(aqyy\(aq;\fP
+Allows to change the prefix of numbered
+labels. The default is \fByy\fP\&. Can be set any string that is valid in
+a label name.
.TP
-.B \fBr{n,m}\fP
-matches \fBr\fP at least \fBn\fP times, but not more than \fBm\fP times.
+.B \fBre2c:label:yyFillLabel = \(aqyyFillLabel\(aq;\fP
+Overrides the name of the \fByyFillLabel\fP label.
.TP
-.B \fB\&.\fP
-match any character except newline.
+.B \fBre2c:label:yyNext = \(aqyyNext\(aq;\fP
+Overrides the name of the \fByyNext\fP label.
.TP
-.B \fBname\fP
-matches named definition as specified by \fBname\fP only if \fB\-F\fP is
-off. If \fB\-F\fP is active then this behaves like it was enclosed in double
-quotes and matches the string "name".
+.B \fBre2c:startlabel = 0;\fP
+If set to a non zero integer, then the start
+label of the next scanner block will be generated even if it isn\(aqt used by
+the scanner itself. Otherwise, the normal \fByy0\fP\-like start label is only
+generated if needed. If set to a text value, then a label with that
+text will be generated regardless of whether the normal start label is
+used or not. This setting is reset to 0 after a start label has been generated.
+.TP
+.B \fBre2c:state:abort = 0;\fP
+When not zero and the \fB\-f\fP \fB\-\-storable\-state\fP switch is active, then
+the \fBYYGETSTATE\fP block will contain a default case that aborts and a \-1
+case will be used for initialization.
+.TP
+.B \fBre2c:state:nextlabel = 0;\fP
+Used when \fB\-f\fP \fB\-\-storable\-state\fP is active to control
+whether the \fBYYGETSTATE\fP block is followed by a \fByyNext:\fP label line.
+Instead of using \fByyNext\fP, you can usually also use configuration
+\fBstartlabel\fP to force a specific start label or default to \fByy0\fP as
+a start label. Instead of using a dedicated label, it is often better to
+separate the \fBYYGETSTATE\fP code from the actual scanner code by placing a
+\fB/*!getstate:re2c*/\fP comment.
+.TP
+.B \fBre2c:tags:expression = \(aq@@\(aq;\fP
+Allows to customize the way re2c addresses tag variables:
+by default it emits expressions of the form \fByyt<N>\fP,
+but this might be inconvenient if tag variables are defined as fields in a struct,
+or for any other reason require special accessors.
+For example, setting \fBre2c:tags:expression = p\->@@\fP will result in \fBp\->yyt<N>\fP\&.
+.TP
+.B \fBre2c:tags:prefix = \(aqyyt\(aq;\fP
+Allows to override prefix of tag variables.
+.TP
+.B \fBre2c:variable:yyaccept = yyaccept;\fP
+Overrides the name of the \fByyaccept\fP variable.
+.TP
+.B \fBre2c:variable:yybm = \(aqyybm\(aq;\fP
+Overrides the name of the \fByybm\fP variable.
+.TP
+.B \fBre2c:variable:yych = \(aqyych\(aq;\fP
+Overrides the name of the \fByych\fP variable.
+.TP
+.B \fBre2c:variable:yyctable = \(aqyyctable\(aq;\fP
+When both \fB\-c\fP \fB\-\-conditions\fP and \fB\-g\fP \fB\-\-computed\-gotos\fP are active,
+re2c will use this variable to generate a static jump table
+for \fBYYGETCONDITION\fP\&.
+.TP
+.B \fBre2c:variable:yystable = \(aqyystable\(aq;\fP
+Deprecated.
+.TP
+.B \fBre2c:variable:yytarget = \(aqyytarget\(aq;\fP
+Overrides the name of the \fByytarget\fP variable.
+.TP
+.B \fBre2c:yybm:hex = 0;\fP
+If set to zero, a decimal table will be used. Otherwise, a hexadecimal table will be generated.
+.TP
+.B \fBre2c:yych:conversion = 0;\fP
+When this setting is non zero, re2c automatically generates
+conversion code whenever yych gets read. In this case, the type must be
+defined using \fBre2c:define:YYCTYPE\fP\&.
+.TP
+.B \fBre2c:yych:emit = 1;\fP
+Set this to zero to suppress the generation of \fIyych\fP\&.
+.TP
+.B \fBre2c:yyfill:check = 1;\fP
+This can be set to 0 to suppress the generations of
+\fBYYCURSOR\fP and \fBYYLIMIT\fP based precondition checks. This option is useful when
+\fBYYLIMIT + YYMAXFILL\fP is always accessible.
+.TP
+.B \fBre2c:yyfill:enable = 1;\fP
+Set this to zero to suppress the generation of \fBYYFILL (n)\fP\&. When using this, be sure to verify that the generated
+scanner does not read beyond the available input, as allowing such behavior might
+introduce severe security issues to your programs.
+.TP
+.B \fBre2c:yyfill:parameter = 1;\fP
+Controls the argument in the parentheses that follow \fBYYFILL\fP\&. If zero, the argument is omitted.
+If non\-zero, the argument is generated unless \fBre2c:define:YYFILL:naked\fP is set to non\-zero.
+.UNINDENT
+.SS REGULAR EXPRESSIONS
+.sp
+re2c uses the following syntax for regular expressions:
+.INDENT 0.0
+.IP \(bu 2
+\fB"foo"\fP case\-sensitive string literal
+.IP \(bu 2
+\fB\(aqfoo\(aq\fP case\-insensitive string literal
+.IP \(bu 2
+\fB[a\-xyz]\fP, \fB[^a\-xyz]\fP character class (possibly negated)
+.IP \(bu 2
+\fB\&.\fP any character except newline
+.IP \(bu 2
+\fBR \e S\fP difference of character classes \fBR\fP and \fBS\fP
+.IP \(bu 2
+\fBR*\fP zero or more occurrences of \fBR\fP
+.IP \(bu 2
+\fBR+\fP one or more occurrences of \fBR\fP
+.IP \(bu 2
+\fBR?\fP optional \fBR\fP
+.IP \(bu 2
+\fBR{n}\fP repetition of \fBR\fP exactly \fBn\fP times
+.IP \(bu 2
+\fBR{n,}\fP repetition of \fBR\fP at least \fBn\fP times
+.IP \(bu 2
+\fBR{n,m}\fP repetition of \fBR\fP from \fBn\fP to \fBm\fP times
+.IP \(bu 2
+\fB(R)\fP just \fBR\fP; parentheses are used to override precedence or for POSIX\-style submatch
+.IP \(bu 2
+\fBR S\fP concatenation: \fBR\fP followed by \fBS\fP
+.IP \(bu 2
+\fBR | S\fP alternative: \fBR or S\fP
+.IP \(bu 2
+\fBR / S\fP loohakead: \fBR\fP followed by \fBS\fP, but \fBS\fP is not consumed
+.IP \(bu 2
+\fBname\fP the regular expression defined as \fBname\fP (or literal string \fB"name"\fP in Flex compatibility mode)
+.IP \(bu 2
+\fB{name}\fP the regular expression defined as \fBname\fP in Flex compatibility mode
+.IP \(bu 2
+\fB@stag\fP an \fIs\-tag\fP: saves the last input position at which \fB@stag\fP matches in a variable named \fBstag\fP
+.IP \(bu 2
+\fB#mtag\fP an \fIm\-tag\fP: saves all input positions at which \fB#mtag\fP matches in a variable named \fBmtag\fP
.UNINDENT
.sp
-Character classes and string literals may contain octal or hexadecimal
-character definitions and the following set of escape sequences:
-\fB\ea\fP, \fB\eb\fP, \fB\ef\fP, \fB\en\fP, \fB\er\fP, \fB\et\fP, \fB\ev\fP, \fB\e\e\fP\&. An octal character is defined by a backslash
-followed by its three octal digits (e.g. \fB\e377\fP).
-Hexadecimal characters from 0 to 0xFF are defined by backslash, a lower
-cased \fBx\fP and two hexadecimal digits (e.g. \fB\ex12\fP). Hexadecimal characters from 0x100 to 0xFFFF are defined by backslash, a lower cased
-\fB\eu\fP or an upper cased \fB\eX\fP and four hexadecimal digits (e.g. \fB\eu1234\fP).
-Hexadecimal characters from 0x10000 to 0xFFFFffff are defined by backslash, an upper cased \fB\eU\fP
-and eight hexadecimal digits (e.g. \fB\eU12345678\fP).
+Character classes and string literals may contain the following escape sequences:
+\fB\ea\fP, \fB\eb\fP, \fB\ef\fP, \fB\en\fP, \fB\er\fP, \fB\et\fP, \fB\ev\fP, \fB\e\e\fP, octal escapes \fB\eooo\fP and hexadecimal escapes \fB\exhh\fP, \fB\euhhhh\fP and \fB\eUhhhhhhhh\fP\&.
+.SH SUBMATCH EXTRACTION
+.sp
+\fBre2c\fP supports two kinds of submatch extraction.
+.sp
+The first option is \fB\-P \-\-posix\-captures\fP: it enables POSIX\-compliant capturing groups.
+In this mode parentheses in regular expressions denote the beginning and the end of capturing groups;
+the whole regular expression is group number zero.
+The number of groups for the matching rule is stored in a variable \fByynmatch\fP,
+and submatch results are stored in \fByypmatch\fP array.
+Both \fByynmatch\fP and \fByypmatch\fP should be defined by the user;
+note that \fByypmatch\fP size must be at least \fB[yynmatch * 2]\fP\&.
+\fBre2c\fP provides a directive \fB/*!maxnmatch:re2c*/\fP that defines a constant \fBYYMAXNMATCH\fP: the maximal value of \fByynmatch\fP among all rules.
+Note that \fBre2c\fP implements POSIX\-compliant disambiguation:
+each subexpression matches as long as possible,
+and subexpressions that start earlier in regular expression have priority over those starting later.
+.sp
+Second option is \fB\-T \-\-tags\fP\&.
+With this option one can use standalone tags of the form \fB@stag\fP and \fB#mtag\fP instead of capturing parentheses,
+where \fBstag\fP and \fBmtag\fP are arbitrary used\-defined names.
+Tags can be used anywhere inside of a regular expression; semantically they are just position markers.
+Tags of the form \fB@stag\fP are called \fIs\-tags\fP: they denote a single submatch value (the last input position where this tag matched).
+Tags of the form \fB#mtag\fP are called \fIm\-tags\fP: they denote multiple submatch values (the whole history of repetitions of this tag).
+All tags should be defined by the user as variables with the corresponding names.
+With standalone tags \fBre2c\fP uses leftmost greedy disambiguation:
+submatch positions correspond to the leftmost matching path through the regular expression.
+.sp
+With both \fB\-\-posix\-captures\fP and \fB\-\-tags\fP options \fBre2c\fP generates a number of tag variables
+that are used by the lexer to track multiple possible versions of each tag
+(multiple versions are caused by possible ambiguity of submatch).
+When a rule matches, ambiguity is resolved and all tags of this rule (or capturing parentheses, which are also implemented as tags)
+are initialized with the values of appropriate tag variables.
+Note that there is no one\-to\-one correspondence between tag variables and tags:
+the same tag variable may be reused for different tags, and one tag may require multiple tag variables to hold all its ambiguous versions.
+The exact number of tag variables is unknown to the user; this number is determined by \fBre2c\fP\&.
+However, tag variables should be defined by the user, because it might be necessary to update them in \fBYYFILL\fP
+and store them between invocations of lexer with \fB\-\-storable\-state\fP option.
+Therefore \fBre2c\fP provides directives \fB/*!stags:re2c ... */\fP and \fB/*!mtags:re2c ... */\fP
+that can be used to declare, initialize and manipulate tag variables.
+.sp
+\fIS\-tags\fP must support the following operations:
+.INDENT 0.0
+.IP \(bu 2
+save input position to \fIs\-tag\fP:
+\fBt = YYCURSOR\fP with default API, or user\-defined operation \fBYYSTAGP (t)\fP with generic API
+.IP \(bu 2
+save default value to \fIs\-tag\fP:
+\fBt = NULL\fP with default API, or user\-defined operation \fBYYSTAGN (t)\fP with generic API
+.IP \(bu 2
+copy one \fIs\-tag\fP to another:
+\fBt1 = t2\fP
+.UNINDENT
.sp
-The only portable "any" rule is the default rule \fB*\fP\&.
-.SH SCANNER WITH STORABLE STATES
+\fIM\-tags\fP must support the following operations:
+.INDENT 0.0
+.IP \(bu 2
+append input position to \fIm\-tag\fP:
+user\-defined operation \fBYYMTAGP (t)\fP with both default and generic API
+.IP \(bu 2
+append default value to \fIm\-tag\fP:
+user\-defined operation \fBYYMTAGN (t)\fP with both default and generic API
+.IP \(bu 2
+copy one \fIm\-tag\fP to another:
+\fBt1 = t2\fP
+.UNINDENT
.sp
-When the \fB\-f\fP flag is specified, \fBre2c\fP generates a scanner that can
-store its current state, return to the caller, and later resume
-operations exactly where it left off.
+\fIS\-tags\fP can be implemented as scalar values (pointers or offsets).
+\fIM\-tags\fP need a more complex representation, as they need to store a sequence of tag values.
+The most naive and inefficient representation of \fIm\-tag\fP is a list (array, vector) of tag values;
+a more efficient representation is to store all \fIm\-tags\fP in a prefix\-tree
+represented as array of nodes \fB(v, p)\fP, where \fBv\fP is tag value and \fBp\fP is a pointer to parent node.
.sp
-The default operation of \fBre2c\fP is a
-"pull" model, where the scanner asks for extra input whenever it needs it. However, this mode of operation assumes that the scanner is the "owner"
-the parsing loop, and that may not always be convenient.
+For further details see \fBhttp://re2c.org/examples/examples.html\fP page on the website
+or \fBre2c/examples/\fP subdirectory of \fBre2c\fP distribution.
+.SH STORABLE STATE
.sp
-Typically, if there is a preprocessor ahead of the scanner in the
-stream, or for that matter any other procedural source of data, the
-scanner cannot "ask" for more data unless both scanner and source
-live in a separate threads.
+With \fB\-f\fP \fB\-\-storable\-state\fP option re2c generates a lexer that can
+store its current state, return to the caller, and later resume operations exactly where it left off.
+The default mode of operation in re2c is a "pull" model, where the lexer "pulls" more input whenever it needs it.
+However, this mode of operation assumes that the lexer is the owner of the parsing loop, and that may not always be convenient.
.sp
-The \fB\-f\fP flag is useful for just this situation: it lets users design
-scanners that work in a "push" model, i.e. where data is fed to the
-scanner chunk by chunk. When the scanner runs out of data to consume, it
-just stores its state, and return to the caller. When more input data is
-fed to the scanner, it resumes operations exactly where it left off.
+Storable state is useful exactly for situations like that: it allows to construct
+lexers that work in a "push" model, where data is fed to the lexer chunk by chunk.
+When the lexer needs more input, it stores its state and returns to the caller.
+Later, when more input becomes available, it resumes operations exactly where it stopped.
.sp
Changes needed compared to the "pull" model:
.INDENT 0.0
.IP \(bu 2
-User has to supply macros \fBYYSETSTATE ()\fP and \fBYYGETSTATE (state)\fP\&.
-.IP \(bu 2
-The \fB\-f\fP option inhibits declaration of \fByych\fP and \fByyaccept\fP\&. So the
-user has to declare these. Also the user has to save and restore these.
-In the example \fBexamples/push_model/push.re\fP these are declared as
-fields of the (C++) class of which the scanner is a method, so they do
-not need to be saved/restored explicitly. For C they could e.g. be made
-macros that select fields from a structure passed in as parameter.
-Alternatively, they could be declared as local variables, saved with
-\fBYYFILL (n)\fP when it decides to return and restored at entry to the
-function. Also, it could be more efficient to save the state from
-\fBYYFILL (n)\fP because \fBYYSETSTATE (state)\fP is called unconditionally.
-\fBYYFILL (n)\fP however does not get \fBstate\fP as parameter, so we would have
-to store state in a local variable by \fBYYSETSTATE (state)\fP\&.
-.IP \(bu 2
-Modify \fBYYFILL (n)\fP to return (from the function calling it) if more input is needed.
-.IP \(bu 2
-Modify caller to recognise if more input is needed and respond appropriately.
-.IP \(bu 2
-The generated code will contain a switch block that is used to
-restores the last state by jumping behind the corrspoding \fBYYFILL (n)\fP
-call. This code is automatically generated in the epilog of the first \fB/*!re2c */\fP
-block. It is possible to trigger generation of the \fBYYGETSTATE ()\fP
-block earlier by placing a \fB/*!getstate:re2c*/\fP comment. This is especially useful when the scanner code should be
-wrapped inside a loop.
+Define \fBYYSETSTATE ()\fP and \fBYYGETSTATE (state)\fP\&.
+.IP \(bu 2
+Define \fByych\fP, \fByyaccept\fP and \fBstate\fP variables as a part of persistent lexer state.
+\fBstate\fP should be initialized to \fB\-1\fP\&.
+.IP \(bu 2
+\fBYYFILL\fP should return to the outer program instead of trying to supply more input.
+Return code should indicate that lexer needs more input.
+.IP \(bu 2
+The outer program should recognize situations when lexer needs more input
+and respond appropriately.
+.IP \(bu 2
+Use \fB/*!getstate:re2c*/\fP directive if it is necessary to execute any code
+before entering the lexer.
+.IP \(bu 2
+Use configurations \fBstate:abort\fP and \fBstate:nextlabel\fP to tweak the generated code.
+.UNINDENT
+.SH CONDITIONS
+.sp
+\fIConditions\fP are enabled with \fB\-c\fP \fB\-\-conditions\fP\&.
+This option allows to encode multiple interrelated lexers within the same re2c block.
+.sp
+Each lexer corresponds to a single \fIcondition\fP\&.
+It starts with a label of the form \fByyc_name\fP,
+where \fBname\fP is \fIcondition\fP name
+and \fByyc\fP prefix can be adjusted with configuration \fBre2c:condprefix\fP\&.
+Different lexers are separated with a comment \fB/* *********************************** */\fP
+which can be adjusted with configuration \fBre2c:cond:divider\fP\&.
+.sp
+Furthermore, each \fIcondition\fP has a unique identifier of the form \fByycname\fP,
+where \fBname\fP is condition name
+and \fByyc\fP prefix can be adjusted with configuration \fBre2c:condenumprefix\fP\&.
+Identifiers have the type \fBYYCONDTYPE\fP and should be generated with \fB/*!types:re2c*/\fP directive or \fB\-t\fP \fB\-\-type\-header\fP option.
+Users shouldn\(aqt define these identifiers manually, as the order of \fIconditions\fP is not specified.
+.sp
+Before all \fIconditions\fP re2c generates entry code that checks the current \fIcondition\fP identifier
+and transfers control flow to the start label of the active \fIcondition\fP\&.
+After matching some rule of this \fIcondition\fP,
+lexer may either transfer control flow back to the entry code (after executing the associated action and optionally setting another \fIcondition\fP with \fB=>\fP),
+or use \fB:=>\fP shortcut and transition directly to the start label of another \fIcondition\fP (skipping the action and the entry code).
+Configuration \fBre2c:cond:goto\fP allows to change the default behavior.
+.sp
+Syntactically each rule must be preceded with a list of comma\-separated \fIcondition\fP names or a wildcard \fB*\fP
+enclosed in angle brackets \fB<\fP and \fB>\fP\&.
+Wildcard means "any condition" and is semantically equivalent to listing all condition names.
+Here \fBregexp\fP is a regular expression, \fBdefault\fP refers to the \fIdefault rule\fP \fB*\fP,
+and \fBaction\fP is a block of C/C++ code.
+.INDENT 0.0
+.IP \(bu 2
+\fB<conditions\-or\-wildcard> regexp\-or\-default action\fP
+.IP \(bu 2
+\fB<conditions\-or\-wildcard> regexp\-or\-default => condition action\fP
+.IP \(bu 2
+\fB<conditions\-or\-wildcard> regexp\-or\-default :=> condition\fP
.UNINDENT
.sp
-Please see \fBexamples/push_model/push.re\fP for "push" model scanner. The
-generated code can be tweaked using inplace configurations \fBstate:abort\fP
-and \fBstate:nextlabel\fP\&.
-.SH SCANNER WITH CONDITION SUPPORT
-.sp
-You can preceed regular expressions with a list of condition names when
-using the \fB\-c\fP switch. In this case \fBre2c\fP generates scanner blocks for
-each conditon. Where each of the generated blocks has its own
-precondition. The precondition is given by the interface define
-\fBYYGETCONDITON()\fP and must be of type \fBYYCONDTYPE\fP\&.
-.sp
-There are two special rule types. First, the rules of the condition \fB<*>\fP
-are merged to all conditions (note that they have lower priority than
-other rules of that condition). And second the empty condition list
-allows one to provide a code block that does not have a scanner part.
-Meaning it does not allow any regular expression. The condition value
-referring to this special block is always the one with the enumeration
-value 0. This way the code of this special rule can be used to
-initialize a scanner. It is in no way necessary to have these rules: but
-sometimes it is helpful to have a dedicated uninitialized condition
-state.
-.sp
-Non empty rules allow one to specify the new condition, which makes them
-transition rules. Besides generating calls for the define
-\fBYYSETCONDTITION\fP no other special code is generated.
+Rules with an exclamation mark \fB!\fP in front of condition list have a special meaning:
+they have no regular expression,
+and the associated action is merged as an entry code to actions of normal rules.
+This might be a convenient place to peform a routine task that is common to all rules.
+.INDENT 0.0
+.IP \(bu 2
+\fB<!conditions\-or\-wildcard> action\fP
+.UNINDENT
.sp
-There is another kind of special rules that allow one to prepend code to any
-code block of all rules of a certain set of conditions or to all code
-blocks to all rules. This can be helpful when some operation is common
-among rules. For instance this can be used to store the length of the
-scanned string. These special setup rules start with an exclamation mark
-followed by either a list of conditions \fB<! condition, ... >\fP or a star
-\fB<!*>\fP\&. When \fBre2c\fP generates the code for a rule whose state does not have a
-setup rule and a star\(aqd setup rule is present, than that code will be
-used as setup code.
+Another special form of rules with an empty condition list \fB<>\fP and no regular expression
+allows to specify an "entry condition" that can be used to execute code before entering the lexer.
+It is semantically equivalent to a condition with number zero, name \fB0\fP and an empty regular expression.
+.INDENT 0.0
+.IP \(bu 2
+\fB<> action\fP
+.IP \(bu 2
+\fB<> => condition action\fP
+.IP \(bu 2
+\fB<> :=> condition\fP
+.UNINDENT
.SH ENCODINGS
.sp
\fBre2c\fP supports the following encodings: ASCII (default), EBCDIC (\fB\-e\fP),
UCS\-2 (\fB\-w\fP), UTF\-16 (\fB\-x\fP), UTF\-32 (\fB\-u\fP) and UTF\-8 (\fB\-8\fP).
See also inplace configuration \fBre2c:flags\fP\&.
.sp
-The following concepts should be clarified when talking about encoding.
-Code point is an abstract number, which represents single encoding
-symbol. Code unit is the smallest unit of memory, which is used in the
+The following concepts should be clarified when talking about encodings.
+A \fIcode point\fP is an abstract number that represents a single symbol.
+A \fIcode unit\fP is the smallest unit of memory, which is used in the
encoded text (it corresponds to one character in the input stream). One
-or more code units can be needed to represent a single code point,
-depending on the encoding. In fixed\-length encoding, each code point
-is represented with equal number of code units. In variable\-length
-encoding, different code points can be represented with different number
+or more code units may be needed to represent a single code point,
+depending on the encoding. In a \fIfixed\-length\fP encoding, each code point
+is represented with an equal number of code units. In \fIvariable\-length\fP
+encodings, different code points can be represented with different number
of code units.
.INDENT 0.0
-.TP
-.B ASCII
-is a fixed\-length encoding. Its code space includes 0x100
-code points, from 0 to 0xFF. One code point is represented with exactly one
-1\-byte code unit, which has the same value as the code point. Size of
+.IP \(bu 2
+ASCII is a fixed\-length encoding. Its code space includes 0x100
+code points, from 0 to 0xFF. A code point is represented with exactly one
+1\-byte code unit, which has the same value as the code point. The size of
\fBYYCTYPE\fP must be 1 byte.
-.TP
-.B EBCDIC
-is a fixed\-length encoding. Its code space includes 0x100
-code points, from 0 to 0xFF. One code point is represented with exactly
-one 1\-byte code unit, which has the same value as the code point. Size
+.IP \(bu 2
+EBCDIC is a fixed\-length encoding. Its code space includes 0x100
+code points, from 0 to 0xFF. A code point is represented with exactly
+one 1\-byte code unit, which has the same value as the code point. The size
of \fBYYCTYPE\fP must be 1 byte.
-.TP
-.B UCS\-2
-is a fixed\-length encoding. Its code space includes 0x10000
+.IP \(bu 2
+UCS\-2 is a fixed\-length encoding. Its code space includes 0x10000
code points, from 0 to 0xFFFF. One code point is represented with
exactly one 2\-byte code unit, which has the same value as the code
-point. Size of \fBYYCTYPE\fP must be 2 bytes.
-.TP
-.B UTF\-16
-is a variable\-length encoding. Its code space includes all
+point. The size of \fBYYCTYPE\fP must be 2 bytes.
+.IP \(bu 2
+UTF\-16 is a variable\-length encoding. Its code space includes all
Unicode code points, from 0 to 0xD7FF and from 0xE000 to 0x10FFFF. One
-code point is represented with one or two 2\-byte code units. Size of
+code point is represented with one or two 2\-byte code units. The size of
\fBYYCTYPE\fP must be 2 bytes.
-.TP
-.B UTF\-32
-is a fixed\-length encoding. Its code space includes all
+.IP \(bu 2
+UTF\-32 is a fixed\-length encoding. Its code space includes all
Unicode code points, from 0 to 0xD7FF and from 0xE000 to 0x10FFFF. One
-code point is represented with exactly one 4\-byte code unit. Size of
+code point is represented with exactly one 4\-byte code unit. The size of
\fBYYCTYPE\fP must be 4 bytes.
-.TP
-.B UTF\-8
-is a variable\-length encoding. Its code space includes all
+.IP \(bu 2
+UTF\-8 is a variable\-length encoding. Its code space includes all
Unicode code points, from 0 to 0xD7FF and from 0xE000 to 0x10FFFF. One
-code point is represented with sequence of one, two, three or four
-1\-byte code units. Size of \fBYYCTYPE\fP must be 1 byte.
+code point is represented with a sequence of one, two, three, or four
+1\-byte code units. The size of \fBYYCTYPE\fP must be 1 byte.
.UNINDENT
.sp
In Unicode, values from range 0xD800 to 0xDFFF (surrogates) are not
-valid Unicode code points, any encoded sequence of code units, that
+valid Unicode code points. Any encoded sequence of code units that
would map to Unicode code points in the range 0xD800\-0xDFFF, is
ill\-formed. The user can control how \fBre2c\fP treats such ill\-formed
-sequences with \fB\-\-encoding\-policy <policy>\fP flag (see \fBOPTIONS\fP
-for full explanation).
-.sp
-For some encodings, there are code units, that never occur in valid
-encoded stream (e.g. 0xFF byte in UTF\-8). If the generated scanner must
-check for invalid input, the only true way to do so is to use default
-rule \fB*\fP\&. Note, that full range rule \fB[^]\fP won\(aqt catch invalid code units when variable\-length encoding is used
-(\fB[^]\fP means "all valid code points", while default rule \fB*\fP means "all possible code units").
-.SH GENERIC INPUT API
-.sp
-\fBre2c\fP usually operates on input using pointer\-like primitives
-\fBYYCURSOR\fP, \fBYYMARKER\fP, \fBYYCTXMARKER\fP and \fBYYLIMIT\fP\&.
+sequences with the \fB\-\-encoding\-policy <policy>\fP switch.
+.sp
+For some encodings, there are code units that never occur in a valid
+encoded stream (e.g., 0xFF byte in UTF\-8). If the generated scanner must
+check for invalid input, the only correct way to do so is to use the default
+rule (\fB*\fP). Note that the full range rule (\fB[^]\fP) won\(aqt catch invalid code units when a variable\-length encoding is used
+(\fB[^]\fP means "any valid code point", whereas the default rule (\fB*\fP) means "any possible code unit").
+.SH GENERIC API
+.sp
+By default \fBre2c\fP operates on input using pointer\-like primitives
+\fBYYCURSOR\fP, \fBYYMARKER\fP, \fBYYCTXMARKER\fP, and \fBYYLIMIT\fP\&.
+Normally pointer\-like primitives are defined as variables of type \fBYYCTYPE*\fP,
+but it is possible to use STL iterators or any other abstraction as long as it syntactically fits into the following use cases:
+.INDENT 0.0
+.IP \(bu 2
+\fB++YYCURSOR;\fP
+.IP \(bu 2
+\fByych = *YYCURSOR;\fP
+.IP \(bu 2
+\fByych = *++YYCURSOR;\fP
+.IP \(bu 2
+\fByych = *(YYMARKER = YYCURSOR);\fP
+.IP \(bu 2
+\fByych = *(YYMARKER = ++YCURSOR);\fP
+.IP \(bu 2
+\fBYYMARKER = YYCURSOR;\fP
+.IP \(bu 2
+\fBYYMARKER = ++YYCURSOR;\fP
+.IP \(bu 2
+\fBYYCURSOR = YYMARKER;\fP
+.IP \(bu 2
+\fBYYCTXMARKER = YYCURSOR + 1;\fP
+.IP \(bu 2
+\fBYYCURSOR = YYCTXMARKER;\fP
+.IP \(bu 2
+\fBif (YYLIMIT <= YYCURSOR) ...\fP
+.IP \(bu 2
+\fBif ((YYLIMIT \- YYCURSOR) < n) ...\fP
+.IP \(bu 2
+\fBYYDEBUG (label, *YYCURSOR);\fP
+.UNINDENT
.sp
-Generic input API (enabled with \fB\-\-input custom\fP switch) allows one to
-customize input operations. In this mode, \fBre2c\fP will express all
-operations on input in terms of the following primitives:
+If this input model is too restrictive, then it is possible to use generic input API enabled with \fB\-\-input custom\fP option.
+In this mode all input operations are expressed in terms of the primitives below.
+These primitives can be defined in any suitable way; one doesn\(aqt have to stick to the pointer semantics.
+For example, it is possible to read input directly from file without any buffering,
+or to disable \fBYYFILL\fP mechanism and perform end\-of\-input checking on each input character from inside of \fBYYPEEK\fP or \fBYYSKIP\fP\&.
.INDENT 0.0
-.INDENT 3.5
-.TS
-center;
-|l|l|.
-_
-T{
+.IP \(bu 2
\fBYYPEEK ()\fP
-T} T{
-get current input character
-T}
-_
-T{
+.IP \(bu 2
\fBYYSKIP ()\fP
-T} T{
-advance to the next character
-T}
-_
-T{
+.IP \(bu 2
\fBYYBACKUP ()\fP
-T} T{
-backup current input position
-T}
-_
-T{
+.IP \(bu 2
\fBYYBACKUPCTX ()\fP
-T} T{
-backup current input position for trailing context
-T}
-_
-T{
+.IP \(bu 2
+\fBYYSTAGP (t)\fP
+.IP \(bu 2
+\fBYYSTAGN (t)\fP
+.IP \(bu 2
+\fBYYMTAGP (t)\fP
+.IP \(bu 2
+\fBYYMTAGN (t)\fP
+.IP \(bu 2
\fBYYRESTORE ()\fP
-T} T{
-restore current input position
-T}
-_
-T{
+.IP \(bu 2
\fBYYRESTORECTX ()\fP
-T} T{
-restore current input position for trailing context
-T}
-_
-T{
+.IP \(bu 2
+\fBYYRESTORETAG (t)\fP
+.IP \(bu 2
\fBYYLESSTHAN (n)\fP
-T} T{
-check if less than \fBn\fP input characters are left
-T}
-_
-.TE
-.UNINDENT
.UNINDENT
.sp
-A couple of useful links that provide some examples:
+Default input model can be expressed in terms of generic API as follows
+(except for \fBYMTAGP\fP and \fBYYMTAGN\fP, which have no default implementation):
.INDENT 0.0
-.IP 1. 3
-\fI\%http://skvadrik.github.io/aleph_null/posts/re2c/2015\-01\-13\-input_model.html\fP
-.IP 2. 3
-\fI\%http://skvadrik.github.io/aleph_null/posts/re2c/2015\-01\-15\-input_model_custom.html\fP
+.IP \(bu 2
+\fB#define YYPEEK () *YYCURSOR\fP
+.IP \(bu 2
+\fB#define YYSKIP () ++YYCURSOR\fP
+.IP \(bu 2
+\fB#define YYBACKUP () YYMARKER = YYCURSOR\fP
+.IP \(bu 2
+\fB#define YYBACKUPCTX () YYCTXMARKER = YYCURSOR\fP
+.IP \(bu 2
+\fB#define YYRESTORE () YYCURSOR = YYMARKER\fP
+.IP \(bu 2
+\fB#define YYRESTORECTX () YYCURSOR = YYCTXMARKER\fP
+.IP \(bu 2
+\fB#define YYRESTORERAG (t) YYCURSOR = t\fP
+.IP \(bu 2
+\fB#define YYLESSTHAN (n) YYLIMIT \- YYCURSOR < n\fP
+.IP \(bu 2
+\fB#define YYSTAGP (t) t = YYCURSOR\fP
+.IP \(bu 2
+\fB#define YYSTAGN (t) t = NULL\fP
.UNINDENT
.SH SEE ALSO
.sp
-You can find more information about \fBre2c\fP on the website: \fI\%http://re2c.org\fP\&.
+You can find more information about \fBre2c\fP at: \fI\%http://re2c.org\fP\&.
See also: flex(1), lex(1), quex (\fI\%http://quex.sourceforge.net\fP).
.SH AUTHORS
.sp
-Peter Bumbulis \fI\%peter@csg.uwaterloo.ca\fP
-.sp
-Brian Young \fI\%bayoung@acm.org\fP
-.sp
-Dan Nuffer \fI\%nuffer@users.sourceforge.net\fP
-.sp
-Marcus Boerger \fI\%helly@users.sourceforge.net\fP
-.sp
-Hartmut Kaiser \fI\%hkaiser@users.sourceforge.net\fP
-.sp
-Emmanuel Mogenet \fI\%mgix@mgix.com\fP
-.sp
-Ulya Trofimovich \fI\%skvadrik@gmail.com\fP
+Originaly written by Peter Bumbulis in 1993;
+developed and maintained by Brain Young, Marcus Boerger, Dan Nuffer and Ulya Trofimovich.
+Below is a (more or less) full list of contributors retrieved from the Git history and mailing lists:
+.sp
+Abs62,
+asmwarrior,
+Ben Smith,
+Brian Young,
+CRCinAU,
+Dan Nuffer,
+Derick Rethans,
+Dimitri John Ledkov,
+Eldar Zakirov,
+Emmanuel Mogenet,
+Hartmut Kaiser,
+jcfp,
+Jean\-Claude Wippler,
+Jeff Trull,
+Jérôme Dumesnil,
+Jesse Buesking,
+joscherl,
+Julian Andres Klode,
+Marcus Boerger,
+Mike Gilbert,
+nuno\-lopes,
+Oleksii Taran,
+paulmcq,
+Paulo Custodio,
+Perry E. Metzger,
+philippschaefer,
+Ross Burton,
+Rui Maciel,
+Ryan Mast,
+Samuel006,
+Sergei Trofimovich,
+sirzooro,
+Tim Kelly,
+Ulya Trofimovich
.SH VERSION INFORMATION
.sp
-This manpage describes \fBre2c\fP version 0.16, package date 21 Jan 2016.
+This manpage describes \fBre2c\fP version 1.0.3, package date 08 Nov 2017.
.\" Generated by docutils manpage writer.
.
diff --git a/bootstrap/src/ast/lex.cc b/bootstrap/src/ast/lex.cc
new file mode 100644
index 00000000..083a4b33
--- /dev/null
+++ b/bootstrap/src/ast/lex.cc
@@ -0,0 +1,3014 @@
+/* Generated by re2c 1.0.3 on Wed Nov 8 20:39:40 2017 */
+#line 1 "../src/ast/lex.re"
+#include "src/util/c99_stdint.h"
+#include <stddef.h>
+#include <string.h>
+#include <algorithm>
+#include <limits>
+#include <string>
+
+#include "src/conf/msg.h"
+#include "src/code/output.h"
+#include "src/re/encoding/enc.h"
+#include "src/ast/input.h"
+#include "src/ast/ast.h"
+#include "src/ast/scanner.h"
+#include "src/ast/parser.h" // needed by "y.tab.h"
+#include "src/ast/unescape.h"
+#include "src/util/range.h"
+#include "src/util/s_to_n32_unsafe.h"
+#include "y.tab.h"
+
+extern YYSTYPE yylval;
+
+#define YYCTYPE unsigned char
+#define YYCURSOR cur
+#define YYLIMIT lim
+#define YYMARKER mar
+#define YYCTXMARKER ctx
+#define YYFILL(n) { fill (n); }
+
+namespace re2c
+{
+
+// source code is in ASCII: pointers have type 'char *'
+// but re2c makes an implicit assumption that YYCTYPE is unsigned
+// when it generates comparisons
+#line 37 "../src/ast/lex.re"
+
+
+#line 58 "../src/ast/lex.re"
+
+
+Scanner::ParseMode Scanner::echo(OutputFile &out)
+{
+ if (eof && cur == eof) // Catch EOF
+ {
+ return Stop;
+ }
+
+ tok = cur;
+echo:
+ ptr = cur;
+
+
+#line 56 "src/ast/lex.cc"
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ static const unsigned char yybm[] = {
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 160, 0, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 160, 128, 0, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 192, 192, 192, 192, 192, 192, 192, 192,
+ 192, 192, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 0, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ };
+ if ((YYLIMIT - YYCURSOR) < 17) YYFILL(17);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yych <= '\r') {
+ if (yych <= '\t') {
+ if (yych >= 0x01) goto yy4;
+ } else {
+ if (yych <= '\n') goto yy6;
+ if (yych <= '\f') goto yy4;
+ goto yy8;
+ }
+ } else {
+ if (yych <= '%') {
+ if (yych <= '$') goto yy4;
+ goto yy9;
+ } else {
+ if (yych == '/') goto yy10;
+ goto yy4;
+ }
+ }
+ ++YYCURSOR;
+#line 135 "../src/ast/lex.re"
+ {
+ if (cur != eof) goto echo;
+ out.wraw(tok, ptr);
+ return Stop;
+ }
+#line 120 "src/ast/lex.cc"
+yy4:
+ ++YYCURSOR;
+yy5:
+#line 152 "../src/ast/lex.re"
+ { goto echo; }
+#line 126 "src/ast/lex.cc"
+yy6:
+ yyaccept = 0;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yybm[0+yych] & 32) {
+ goto yy11;
+ }
+ if (yych == '#') goto yy14;
+yy7:
+#line 146 "../src/ast/lex.re"
+ {
+ cline++;
+ pos = cur;
+ goto echo;
+ }
+#line 141 "src/ast/lex.cc"
+yy8:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '\n') goto yy6;
+ goto yy5;
+yy9:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '{') goto yy16;
+ goto yy5;
+yy10:
+ yyaccept = 1;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych == '*') goto yy18;
+ goto yy5;
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yybm[0+yych] & 32) {
+ goto yy11;
+ }
+ if (yych == '#') goto yy14;
+yy13:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy7;
+ } else {
+ goto yy5;
+ }
+yy14:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yych <= 0x1F) {
+ if (yych == '\t') goto yy14;
+ goto yy13;
+ } else {
+ if (yych <= ' ') goto yy14;
+ if (yych == 'l') goto yy19;
+ goto yy13;
+ }
+yy16:
+ ++YYCURSOR;
+#line 72 "../src/ast/lex.re"
+ {
+ out.wraw(tok, ptr);
+ return Parse;
+ }
+#line 189 "src/ast/lex.cc"
+yy18:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '!') goto yy20;
+ goto yy13;
+yy19:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'i') goto yy21;
+ goto yy13;
+yy20:
+ yych = (YYCTYPE)*++YYCURSOR;
+ switch (yych) {
+ case 'g': goto yy22;
+ case 'i': goto yy23;
+ case 'm': goto yy24;
+ case 'r': goto yy25;
+ case 's': goto yy26;
+ case 't': goto yy27;
+ case 'u': goto yy28;
+ default: goto yy13;
+ }
+yy21:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'n') goto yy29;
+ goto yy13;
+yy22:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'e') goto yy30;
+ goto yy13;
+yy23:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'g') goto yy31;
+ goto yy13;
+yy24:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'a') goto yy32;
+ if (yych == 't') goto yy33;
+ goto yy13;
+yy25:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'e') goto yy34;
+ if (yych == 'u') goto yy35;
+ goto yy13;
+yy26:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 't') goto yy36;
+ goto yy13;
+yy27:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'y') goto yy37;
+ goto yy13;
+yy28:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 's') goto yy38;
+ goto yy13;
+yy29:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'e') goto yy39;
+ goto yy13;
+yy30:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 't') goto yy40;
+ goto yy13;
+yy31:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'n') goto yy41;
+ goto yy13;
+yy32:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'x') goto yy42;
+ goto yy13;
+yy33:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'a') goto yy43;
+ goto yy13;
+yy34:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '2') goto yy44;
+ goto yy13;
+yy35:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'l') goto yy45;
+ goto yy13;
+yy36:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'a') goto yy46;
+ goto yy13;
+yy37:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'p') goto yy47;
+ goto yy13;
+yy38:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'e') goto yy48;
+ goto yy13;
+yy39:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '0') goto yy50;
+ if (yych <= '9') goto yy13;
+ goto yy50;
+yy40:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 's') goto yy51;
+ goto yy13;
+yy41:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'o') goto yy52;
+ goto yy13;
+yy42:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == ':') goto yy53;
+ if (yych == 'n') goto yy54;
+ goto yy13;
+yy43:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'g') goto yy55;
+ goto yy13;
+yy44:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'c') goto yy16;
+ goto yy13;
+yy45:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'e') goto yy56;
+ goto yy13;
+yy46:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'g') goto yy57;
+ goto yy13;
+yy47:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'e') goto yy58;
+ goto yy13;
+yy48:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == ':') goto yy59;
+ goto yy13;
+yy49:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = (YYCTYPE)*YYCURSOR;
+yy50:
+ if (yych <= 0x1F) {
+ if (yych == '\t') goto yy49;
+ goto yy13;
+ } else {
+ if (yych <= ' ') goto yy49;
+ if (yych <= '0') goto yy13;
+ if (yych <= '9') {
+ YYCTXMARKER = YYCURSOR;
+ goto yy60;
+ }
+ goto yy13;
+ }
+yy51:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 't') goto yy62;
+ goto yy13;
+yy52:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'r') goto yy63;
+ goto yy13;
+yy53:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'r') goto yy64;
+ goto yy13;
+yy54:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'm') goto yy65;
+ goto yy13;
+yy55:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 's') goto yy66;
+ goto yy13;
+yy56:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 's') goto yy67;
+ goto yy13;
+yy57:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 's') goto yy68;
+ goto yy13;
+yy58:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 's') goto yy69;
+ goto yy13;
+yy59:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'r') goto yy70;
+ goto yy13;
+yy60:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yybm[0+yych] & 64) {
+ goto yy60;
+ }
+ if (yych <= '\f') {
+ if (yych <= 0x08) goto yy13;
+ if (yych <= '\t') goto yy71;
+ if (yych <= '\n') goto yy73;
+ goto yy13;
+ } else {
+ if (yych <= '\r') goto yy75;
+ if (yych == ' ') goto yy71;
+ goto yy13;
+ }
+yy62:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'a') goto yy76;
+ goto yy13;
+yy63:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'e') goto yy77;
+ goto yy13;
+yy64:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'e') goto yy78;
+ goto yy13;
+yy65:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'a') goto yy79;
+ goto yy13;
+yy66:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == ':') goto yy80;
+ goto yy13;
+yy67:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == ':') goto yy81;
+ goto yy13;
+yy68:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == ':') goto yy82;
+ goto yy13;
+yy69:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == ':') goto yy83;
+ goto yy13;
+yy70:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'e') goto yy84;
+ goto yy13;
+yy71:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yych <= 0x1F) {
+ if (yych == '\t') goto yy71;
+ goto yy13;
+ } else {
+ if (yych <= ' ') goto yy71;
+ if (yych == '"') goto yy85;
+ goto yy13;
+ }
+yy73:
+ ++YYCURSOR;
+ YYCURSOR = YYCTXMARKER;
+#line 141 "../src/ast/lex.re"
+ {
+ set_sourceline();
+ goto echo;
+ }
+#line 452 "src/ast/lex.cc"
+yy75:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '\n') goto yy73;
+ goto yy13;
+yy76:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 't') goto yy87;
+ goto yy13;
+yy77:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == ':') goto yy88;
+ goto yy13;
+yy78:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '2') goto yy89;
+ goto yy13;
+yy79:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 't') goto yy90;
+ goto yy13;
+yy80:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'r') goto yy91;
+ goto yy13;
+yy81:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'r') goto yy92;
+ goto yy13;
+yy82:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'r') goto yy93;
+ goto yy13;
+yy83:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'r') goto yy94;
+ goto yy13;
+yy84:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '2') goto yy95;
+ goto yy13;
+yy85:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yybm[0+yych] & 128) {
+ goto yy85;
+ }
+ if (yych <= '\n') goto yy13;
+ if (yych <= '"') goto yy96;
+ goto yy97;
+yy87:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'e') goto yy98;
+ goto yy13;
+yy88:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'r') goto yy99;
+ goto yy13;
+yy89:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'c') goto yy100;
+ goto yy13;
+yy90:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'c') goto yy102;
+ goto yy13;
+yy91:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'e') goto yy103;
+ goto yy13;
+yy92:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'e') goto yy104;
+ goto yy13;
+yy93:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'e') goto yy105;
+ goto yy13;
+yy94:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'e') goto yy106;
+ goto yy13;
+yy95:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'c') goto yy107;
+ goto yy13;
+yy96:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '\n') goto yy73;
+ if (yych == '\r') goto yy75;
+ goto yy13;
+yy97:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yych == '\n') goto yy13;
+ goto yy85;
+yy98:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == ':') goto yy109;
+ goto yy13;
+yy99:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'e') goto yy110;
+ goto yy13;
+yy100:
+ ++YYCURSOR;
+#line 93 "../src/ast/lex.re"
+ {
+ out.wraw(tok, ptr);
+ out.wdelay_yymaxfill();
+ lex_end_of_comment(out);
+ goto echo;
+ }
+#line 567 "src/ast/lex.cc"
+yy102:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'h') goto yy111;
+ goto yy13;
+yy103:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '2') goto yy112;
+ goto yy13;
+yy104:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '2') goto yy113;
+ goto yy13;
+yy105:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '2') goto yy114;
+ goto yy13;
+yy106:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '2') goto yy115;
+ goto yy13;
+yy107:
+ ++YYCURSOR;
+#line 82 "../src/ast/lex.re"
+ {
+ out.wraw(tok, ptr);
+ return Reuse;
+ }
+#line 595 "src/ast/lex.cc"
+yy109:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'r') goto yy116;
+ goto yy13;
+yy110:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '2') goto yy117;
+ goto yy13;
+yy111:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == ':') goto yy118;
+ goto yy13;
+yy112:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'c') goto yy119;
+ goto yy13;
+yy113:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'c') goto yy121;
+ goto yy13;
+yy114:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'c') goto yy123;
+ goto yy13;
+yy115:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'c') goto yy125;
+ goto yy13;
+yy116:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'e') goto yy127;
+ goto yy13;
+yy117:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'c') goto yy128;
+ goto yy13;
+yy118:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'r') goto yy130;
+ goto yy13;
+yy119:
+ ++YYCURSOR;
+#line 129 "../src/ast/lex.re"
+ {
+ out.wraw(tok, ptr);
+ lex_tags(out, true);
+ goto echo;
+ }
+#line 644 "src/ast/lex.cc"
+yy121:
+ ++YYCURSOR;
+#line 77 "../src/ast/lex.re"
+ {
+ out.wraw(tok, ptr);
+ return Rules;
+ }
+#line 652 "src/ast/lex.cc"
+yy123:
+ ++YYCURSOR;
+#line 123 "../src/ast/lex.re"
+ {
+ out.wraw(tok, ptr);
+ lex_tags(out, false);
+ goto echo;
+ }
+#line 661 "src/ast/lex.cc"
+yy125:
+ ++YYCURSOR;
+#line 114 "../src/ast/lex.re"
+ {
+ out.wraw(tok, ptr);
+ out.wdelay_line_info();
+ out.wdelay_types();
+ out.wline_info(cline, get_fname().c_str());
+ lex_end_of_comment(out);
+ goto echo;
+ }
+#line 673 "src/ast/lex.cc"
+yy127:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '2') goto yy131;
+ goto yy13;
+yy128:
+ ++YYCURSOR;
+#line 87 "../src/ast/lex.re"
+ {
+ out.wraw(tok, ptr);
+ lex_end_of_comment(out);
+ goto echo;
+ }
+#line 686 "src/ast/lex.cc"
+yy130:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'e') goto yy132;
+ goto yy13;
+yy131:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'c') goto yy133;
+ goto yy13;
+yy132:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '2') goto yy135;
+ goto yy13;
+yy133:
+ ++YYCURSOR;
+#line 107 "../src/ast/lex.re"
+ {
+ out.wraw(tok, ptr);
+ out.wdelay_state_goto(0);
+ lex_end_of_comment(out);
+ goto echo;
+ }
+#line 708 "src/ast/lex.cc"
+yy135:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych != 'c') goto yy13;
+ ++YYCURSOR;
+#line 100 "../src/ast/lex.re"
+ {
+ out.wraw(tok, ptr);
+ out.wdelay_yymaxnmatch();
+ lex_end_of_comment(out);
+ goto echo;
+ }
+#line 720 "src/ast/lex.cc"
+}
+#line 153 "../src/ast/lex.re"
+
+}
+
+void Scanner::lex_end_of_comment(OutputFile &out)
+{
+ uint32_t ignored = 0;
+ for (;;) {
+#line 730 "src/ast/lex.cc"
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yych <= '\f') {
+ if (yych <= 0x00) goto yy140;
+ if (yych == '\n') goto yy144;
+ goto yy142;
+ } else {
+ if (yych <= '\r') goto yy146;
+ if (yych == '*') goto yy147;
+ goto yy142;
+ }
+yy140:
+ ++YYCURSOR;
+#line 160 "../src/ast/lex.re"
+ { fatal_lc(get_cline(), get_column(), "expected end of block"); }
+#line 748 "src/ast/lex.cc"
+yy142:
+ ++YYCURSOR;
+yy143:
+#line 162 "../src/ast/lex.re"
+ { continue; }
+#line 754 "src/ast/lex.cc"
+yy144:
+ ++YYCURSOR;
+#line 163 "../src/ast/lex.re"
+ { ++ignored; continue; }
+#line 759 "src/ast/lex.cc"
+yy146:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '\n') goto yy144;
+ goto yy143;
+yy147:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych != '/') goto yy143;
+ ++YYCURSOR;
+#line 164 "../src/ast/lex.re"
+ {
+ if (ignored > 0) {
+ cline += ignored;
+ out.wline_info(cline, get_fname().c_str());
+ }
+ tok = pos = cur;
+ return;
+ }
+#line 777 "src/ast/lex.cc"
+}
+#line 172 "../src/ast/lex.re"
+}
+}
+
+void Scanner::lex_tags(OutputFile &out, bool mtags)
+{
+ std::string fmt, sep;
+ for (;;) {
+#line 787 "src/ast/lex.cc"
+{
+ YYCTYPE yych;
+ static const unsigned char yybm[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 128, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 128, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ };
+ if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yybm[0+yych] & 128) {
+ goto yy154;
+ }
+ if (yych <= ')') {
+ if (yych <= '\n') {
+ if (yych >= '\t') goto yy157;
+ } else {
+ if (yych == '\r') goto yy159;
+ }
+ } else {
+ if (yych <= 'f') {
+ if (yych <= '*') goto yy160;
+ if (yych >= 'f') goto yy161;
+ } else {
+ if (yych == 's') goto yy162;
+ }
+ }
+ ++YYCURSOR;
+yy153:
+#line 179 "../src/ast/lex.re"
+ { fatal_lc(get_cline(), get_column(), "unrecognized configuration"); }
+#line 847 "src/ast/lex.cc"
+yy154:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yybm[0+yych] & 128) {
+ goto yy154;
+ }
+#line 184 "../src/ast/lex.re"
+ { continue; }
+#line 857 "src/ast/lex.cc"
+yy157:
+ ++YYCURSOR;
+#line 185 "../src/ast/lex.re"
+ { ++cline; continue; }
+#line 862 "src/ast/lex.cc"
+yy159:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '\n') goto yy157;
+ goto yy153;
+yy160:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '/') goto yy163;
+ goto yy153;
+yy161:
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych == 'o') goto yy165;
+ goto yy153;
+yy162:
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych == 'e') goto yy167;
+ goto yy153;
+yy163:
+ ++YYCURSOR;
+#line 186 "../src/ast/lex.re"
+ {
+ out.wdelay_tags(new ConfTags(fmt, sep), mtags);
+ tok = pos = cur;
+ return;
+ }
+#line 887 "src/ast/lex.cc"
+yy165:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'r') goto yy168;
+yy166:
+ YYCURSOR = YYMARKER;
+ goto yy153;
+yy167:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'p') goto yy169;
+ goto yy166;
+yy168:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'm') goto yy170;
+ goto yy166;
+yy169:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'a') goto yy171;
+ goto yy166;
+yy170:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'a') goto yy172;
+ goto yy166;
+yy171:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'r') goto yy173;
+ goto yy166;
+yy172:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 't') goto yy174;
+ goto yy166;
+yy173:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'a') goto yy176;
+ goto yy166;
+yy174:
+ ++YYCURSOR;
+#line 181 "../src/ast/lex.re"
+ { fmt = lex_conf_string(); continue; }
+#line 926 "src/ast/lex.cc"
+yy176:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych != 't') goto yy166;
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych != 'o') goto yy166;
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych != 'r') goto yy166;
+ ++YYCURSOR;
+#line 182 "../src/ast/lex.re"
+ { sep = lex_conf_string(); continue; }
+#line 937 "src/ast/lex.cc"
+}
+#line 191 "../src/ast/lex.re"
+}
+}
+
+int Scanner::scan(const conopt_t *globopts)
+{
+ uint32_t depth, code_line;
+scan:
+ tchar = cur - pos;
+ tok = cur;
+
+#line 950 "src/ast/lex.cc"
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ static const unsigned char yybm[] = {
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 144, 0, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 144, 128, 0, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 128, 128, 128, 128, 128, 128,
+ 128, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 128, 0, 128, 128, 160,
+ 128, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 160, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ };
+ if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy185;
+ }
+ if (yych <= '.') {
+ if (yych <= '#') {
+ if (yych <= '\r') {
+ if (yych <= 0x08) goto yy183;
+ if (yych <= '\n') goto yy188;
+ if (yych >= '\r') goto yy190;
+ } else {
+ if (yych <= 0x1F) goto yy183;
+ if (yych <= '!') goto yy191;
+ if (yych <= '"') goto yy193;
+ goto yy195;
+ }
+ } else {
+ if (yych <= '\'') {
+ if (yych == '%') goto yy196;
+ if (yych >= '\'') goto yy197;
+ } else {
+ if (yych <= '*') {
+ if (yych <= ')') goto yy191;
+ goto yy199;
+ } else {
+ if (yych <= ',') goto yy191;
+ if (yych >= '.') goto yy200;
+ }
+ }
+ }
+ } else {
+ if (yych <= '\\') {
+ if (yych <= '?') {
+ if (yych <= '/') goto yy202;
+ if (yych <= '9') goto yy183;
+ if (yych <= ':') goto yy203;
+ goto yy191;
+ } else {
+ if (yych <= '@') goto yy195;
+ if (yych <= 'Z') goto yy204;
+ if (yych <= '[') goto yy206;
+ goto yy191;
+ }
+ } else {
+ if (yych <= 'q') {
+ if (yych == '_') goto yy204;
+ if (yych >= 'a') goto yy204;
+ } else {
+ if (yych <= 'z') {
+ if (yych <= 'r') goto yy208;
+ goto yy204;
+ } else {
+ if (yych <= '{') goto yy209;
+ if (yych <= '|') goto yy191;
+ }
+ }
+ }
+ }
+yy183:
+ ++YYCURSOR;
+yy184:
+#line 351 "../src/ast/lex.re"
+ {
+ fatal_lc(get_cline(), get_column(), "unexpected character: '%c'", *tok);
+ goto scan;
+ }
+#line 1055 "src/ast/lex.cc"
+yy185:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy185;
+ }
+#line 330 "../src/ast/lex.re"
+ {
+ goto scan;
+ }
+#line 1067 "src/ast/lex.cc"
+yy188:
+ yyaccept = 0;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych <= 0x1F) {
+ if (yych == '\t') goto yy211;
+ } else {
+ if (yych <= ' ') goto yy211;
+ if (yych == '#') goto yy214;
+ }
+yy189:
+#line 339 "../src/ast/lex.re"
+ {
+ if (cur == eof) return 0;
+ pos = cur;
+ cline++;
+ if (lexer_state == LEX_FLEX_NAME) {
+ lexer_state = LEX_NORMAL;
+ return TOKEN_FID_END;
+ } else {
+ goto scan;
+ }
+ }
+#line 1090 "src/ast/lex.cc"
+yy190:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '\n') goto yy188;
+ goto yy184;
+yy191:
+ ++YYCURSOR;
+yy192:
+#line 243 "../src/ast/lex.re"
+ { return *tok; }
+#line 1100 "src/ast/lex.cc"
+yy193:
+ ++YYCURSOR;
+#line 233 "../src/ast/lex.re"
+ { yylval.regexp = lex_str('"'); return TOKEN_REGEXP; }
+#line 1105 "src/ast/lex.cc"
+yy195:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '^') {
+ if (yych <= '@') goto yy184;
+ if (yych <= 'Z') goto yy216;
+ goto yy184;
+ } else {
+ if (yych == '`') goto yy184;
+ if (yych <= 'z') goto yy216;
+ goto yy184;
+ }
+yy196:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '}') goto yy219;
+ goto yy184;
+yy197:
+ ++YYCURSOR;
+#line 232 "../src/ast/lex.re"
+ { yylval.regexp = lex_str('\''); return TOKEN_REGEXP; }
+#line 1125 "src/ast/lex.cc"
+yy199:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '/') goto yy219;
+ goto yy192;
+yy200:
+ ++YYCURSOR;
+#line 325 "../src/ast/lex.re"
+ {
+ yylval.regexp = ast_dot(cline, get_column());
+ return TOKEN_REGEXP;
+ }
+#line 1137 "src/ast/lex.cc"
+yy202:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '*') goto yy221;
+ if (yych == '/') goto yy223;
+ goto yy192;
+yy203:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '=') goto yy225;
+ goto yy184;
+yy204:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = (YYCTYPE)*YYCURSOR;
+yy205:
+ if (yybm[0+yych] & 32) {
+ goto yy204;
+ }
+ if (yych <= ' ') {
+ if (yych == '\t') {
+ YYCTXMARKER = YYCURSOR;
+ goto yy229;
+ }
+ if (yych <= 0x1F) goto yy227;
+ YYCTXMARKER = YYCURSOR;
+ goto yy229;
+ } else {
+ if (yych <= ',') {
+ if (yych <= '+') goto yy227;
+ YYCTXMARKER = YYCURSOR;
+ goto yy231;
+ } else {
+ if (yych <= '<') goto yy227;
+ if (yych <= '>') {
+ YYCTXMARKER = YYCURSOR;
+ goto yy231;
+ }
+ goto yy227;
+ }
+ }
+yy206:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '^') goto yy233;
+#line 234 "../src/ast/lex.re"
+ { yylval.regexp = lex_cls(false); return TOKEN_REGEXP; }
+#line 1182 "src/ast/lex.cc"
+yy208:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'e') goto yy235;
+ goto yy205;
+yy209:
+ yyaccept = 1;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yybm[0+yych] & 64) {
+ goto yy238;
+ }
+ if (yych <= 'Z') {
+ if (yych == ',') goto yy236;
+ if (yych >= 'A') goto yy240;
+ } else {
+ if (yych <= '_') {
+ if (yych >= '_') goto yy240;
+ } else {
+ if (yych <= '`') goto yy210;
+ if (yych <= 'z') goto yy240;
+ }
+ }
+yy210:
+#line 201 "../src/ast/lex.re"
+ {
+ depth = 1;
+ code_line = cline;
+ goto code;
+ }
+#line 1211 "src/ast/lex.cc"
+yy211:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yych <= 0x1F) {
+ if (yych == '\t') goto yy211;
+ } else {
+ if (yych <= ' ') goto yy211;
+ if (yych == '#') goto yy214;
+ }
+yy213:
+ YYCURSOR = YYMARKER;
+ if (yyaccept <= 1) {
+ if (yyaccept == 0) {
+ goto yy189;
+ } else {
+ goto yy210;
+ }
+ } else {
+ goto yy237;
+ }
+yy214:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yych <= 0x1F) {
+ if (yych == '\t') goto yy214;
+ goto yy213;
+ } else {
+ if (yych <= ' ') goto yy214;
+ if (yych == 'l') goto yy242;
+ goto yy213;
+ }
+yy216:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yych <= 'Z') {
+ if (yych <= '/') goto yy218;
+ if (yych <= '9') goto yy216;
+ if (yych >= 'A') goto yy216;
+ } else {
+ if (yych <= '_') {
+ if (yych >= '_') goto yy216;
+ } else {
+ if (yych <= '`') goto yy218;
+ if (yych <= 'z') goto yy216;
+ }
+ }
+yy218:
+#line 237 "../src/ast/lex.re"
+ {
+ const std::string *name = new std::string(tok + 1, tok_len() - 1);
+ yylval.regexp = ast_tag(cline, get_column(), name, tok[0] == '#');
+ return TOKEN_REGEXP;
+ }
+#line 1268 "src/ast/lex.cc"
+yy219:
+ ++YYCURSOR;
+#line 227 "../src/ast/lex.re"
+ {
+ tok = cur;
+ return 0;
+ }
+#line 1276 "src/ast/lex.cc"
+yy221:
+ ++YYCURSOR;
+#line 221 "../src/ast/lex.re"
+ {
+ depth = 1;
+ goto comment;
+ }
+#line 1284 "src/ast/lex.cc"
+yy223:
+ ++YYCURSOR;
+#line 218 "../src/ast/lex.re"
+ {
+ goto nextLine;
+ }
+#line 1291 "src/ast/lex.cc"
+yy225:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '>') goto yy243;
+#line 211 "../src/ast/lex.re"
+ {
+ tok += 2; /* skip ":=" */
+ depth = 0;
+ code_line = cline;
+ goto code;
+ }
+#line 1302 "src/ast/lex.cc"
+yy227:
+ ++YYCURSOR;
+ YYCURSOR -= 1;
+#line 308 "../src/ast/lex.re"
+ {
+ if (!globopts->FFlag) {
+ yylval.str = new std::string (tok, tok_len());
+ return TOKEN_ID;
+ } else {
+ std::vector<ASTChar> *str = new std::vector<ASTChar>;
+ for (char *s = tok; s < cur; ++s) {
+ const uint32_t
+ chr = static_cast<uint8_t>(*s),
+ col = static_cast<uint32_t>(s - tok);
+ str->push_back(ASTChar(chr, col));
+ }
+ yylval.regexp = ast_str(cline, get_column(), str, false);
+ return TOKEN_REGEXP;
+ }
+ }
+#line 1323 "src/ast/lex.cc"
+yy229:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yych <= ' ') {
+ if (yych == '\t') goto yy229;
+ if (yych <= 0x1F) goto yy245;
+ goto yy229;
+ } else {
+ if (yych <= ',') {
+ if (yych <= '+') goto yy245;
+ } else {
+ if (yych <= '<') goto yy245;
+ if (yych >= '?') goto yy245;
+ }
+ }
+yy231:
+ ++YYCURSOR;
+ YYCURSOR = YYCTXMARKER;
+#line 303 "../src/ast/lex.re"
+ {
+ yylval.str = new std::string (tok, tok_len ());
+ return TOKEN_ID;
+ }
+#line 1348 "src/ast/lex.cc"
+yy233:
+ ++YYCURSOR;
+#line 235 "../src/ast/lex.re"
+ { yylval.regexp = lex_cls(true); return TOKEN_REGEXP; }
+#line 1353 "src/ast/lex.cc"
+yy235:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '2') goto yy247;
+ goto yy205;
+yy236:
+ ++YYCURSOR;
+yy237:
+#line 276 "../src/ast/lex.re"
+ {
+ fatal_lc(get_cline(), get_column(), "illegal closure form, use '{n}', '{n,}', '{n,m}' where n and m are numbers");
+ }
+#line 1365 "src/ast/lex.cc"
+yy238:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yybm[0+yych] & 64) {
+ goto yy238;
+ }
+ if (yych == ',') goto yy248;
+ if (yych == '}') goto yy249;
+ goto yy213;
+yy240:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yych <= '^') {
+ if (yych <= '9') {
+ if (yych <= '/') goto yy213;
+ goto yy240;
+ } else {
+ if (yych <= '@') goto yy213;
+ if (yych <= 'Z') goto yy240;
+ goto yy213;
+ }
+ } else {
+ if (yych <= 'z') {
+ if (yych == '`') goto yy213;
+ goto yy240;
+ } else {
+ if (yych == '}') goto yy251;
+ goto yy213;
+ }
+ }
+yy242:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'i') goto yy253;
+ goto yy213;
+yy243:
+ ++YYCURSOR;
+ YYCURSOR -= 2;
+#line 207 "../src/ast/lex.re"
+ {
+ return *tok;
+ }
+#line 1409 "src/ast/lex.cc"
+yy245:
+ ++YYCURSOR;
+ YYCURSOR = YYCTXMARKER;
+#line 290 "../src/ast/lex.re"
+ {
+ yylval.str = new std::string (tok, tok_len ());
+ if (globopts->FFlag)
+ {
+ lexer_state = LEX_FLEX_NAME;
+ return TOKEN_FID;
+ }
+ else
+ {
+ return TOKEN_ID;
+ }
+ }
+#line 1426 "src/ast/lex.cc"
+yy247:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'c') goto yy254;
+ goto yy205;
+yy248:
+ yyaccept = 2;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych <= '/') goto yy237;
+ if (yych <= '9') goto yy255;
+ if (yych == '}') goto yy257;
+ goto yy237;
+yy249:
+ ++YYCURSOR;
+#line 245 "../src/ast/lex.re"
+ {
+ if (!s_to_u32_unsafe (tok + 1, cur - 1, yylval.bounds.min))
+ {
+ fatal_lc(get_cline(), get_column(), "repetition count overflow");
+ }
+ yylval.bounds.max = yylval.bounds.min;
+ return TOKEN_CLOSESIZE;
+ }
+#line 1449 "src/ast/lex.cc"
+yy251:
+ ++YYCURSOR;
+#line 280 "../src/ast/lex.re"
+ {
+ if (!globopts->FFlag) {
+ fatal_lc(get_cline(), get_column(), "curly braces for names only allowed with -F switch");
+ }
+ yylval.str = new std::string (tok + 1, tok_len () - 2); // -2 to omit braces
+ return TOKEN_ID;
+ }
+#line 1460 "src/ast/lex.cc"
+yy253:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'n') goto yy259;
+ goto yy213;
+yy254:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == ':') goto yy260;
+ goto yy205;
+yy255:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yych <= '/') goto yy213;
+ if (yych <= '9') goto yy255;
+ if (yych == '}') goto yy262;
+ goto yy213;
+yy257:
+ ++YYCURSOR;
+#line 267 "../src/ast/lex.re"
+ {
+ if (!s_to_u32_unsafe (tok + 1, cur - 2, yylval.bounds.min))
+ {
+ fatal_lc(get_cline(), get_column(), "repetition lower bound overflow");
+ }
+ yylval.bounds.max = std::numeric_limits<uint32_t>::max();
+ return TOKEN_CLOSESIZE;
+ }
+#line 1488 "src/ast/lex.cc"
+yy259:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'e') goto yy264;
+ goto yy213;
+yy260:
+ ++YYCURSOR;
+#line 288 "../src/ast/lex.re"
+ { return TOKEN_CONF; }
+#line 1497 "src/ast/lex.cc"
+yy262:
+ ++YYCURSOR;
+#line 254 "../src/ast/lex.re"
+ {
+ const char * p = strchr (tok, ',');
+ if (!s_to_u32_unsafe (tok + 1, p, yylval.bounds.min))
+ {
+ fatal_lc(get_cline(), get_column(), "repetition lower bound overflow");
+ }
+ if (!s_to_u32_unsafe (p + 1, cur - 1, yylval.bounds.max))
+ {
+ fatal_lc(get_cline(), get_column(), "repetition upper bound overflow");
+ }
+ return TOKEN_CLOSESIZE;
+ }
+#line 1513 "src/ast/lex.cc"
+yy264:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '0') goto yy266;
+ if (yych <= '9') goto yy213;
+ goto yy266;
+yy265:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = (YYCTYPE)*YYCURSOR;
+yy266:
+ if (yych <= 0x1F) {
+ if (yych == '\t') goto yy265;
+ goto yy213;
+ } else {
+ if (yych <= ' ') goto yy265;
+ if (yych <= '0') goto yy213;
+ if (yych >= ':') goto yy213;
+ YYCTXMARKER = YYCURSOR;
+ }
+yy267:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yych <= '\r') {
+ if (yych <= '\t') {
+ if (yych <= 0x08) goto yy213;
+ } else {
+ if (yych <= '\n') goto yy271;
+ if (yych <= '\f') goto yy213;
+ goto yy273;
+ }
+ } else {
+ if (yych <= ' ') {
+ if (yych <= 0x1F) goto yy213;
+ } else {
+ if (yych <= '/') goto yy213;
+ if (yych <= '9') goto yy267;
+ goto yy213;
+ }
+ }
+yy269:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yych <= 0x1F) {
+ if (yych == '\t') goto yy269;
+ goto yy213;
+ } else {
+ if (yych <= ' ') goto yy269;
+ if (yych == '"') goto yy274;
+ goto yy213;
+ }
+yy271:
+ ++YYCURSOR;
+ YYCURSOR = YYCTXMARKER;
+#line 334 "../src/ast/lex.re"
+ {
+ set_sourceline ();
+ return TOKEN_LINE_INFO;
+ }
+#line 1574 "src/ast/lex.cc"
+yy273:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '\n') goto yy271;
+ goto yy213;
+yy274:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yybm[0+yych] & 128) {
+ goto yy274;
+ }
+ if (yych <= '\n') goto yy213;
+ if (yych >= '#') goto yy277;
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '\n') goto yy271;
+ if (yych == '\r') goto yy273;
+ goto yy213;
+yy277:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yych == '\n') goto yy213;
+ goto yy274;
+}
+#line 355 "../src/ast/lex.re"
+
+
+code:
+
+#line 1604 "src/ast/lex.cc"
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ static const unsigned char yybm[] = {
+ 96, 96, 96, 96, 96, 96, 96, 96,
+ 96, 112, 0, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 96, 96, 96, 96,
+ 112, 96, 64, 96, 96, 96, 96, 32,
+ 96, 96, 96, 96, 96, 96, 96, 96,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 96, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 0, 96, 96, 96,
+ 96, 96, 96, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 96, 96, 96, 96,
+ 96, 96, 96, 96, 96, 96, 96, 96,
+ };
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yych <= '&') {
+ if (yych <= '\n') {
+ if (yych <= 0x00) goto yy280;
+ if (yych <= '\t') goto yy282;
+ goto yy284;
+ } else {
+ if (yych == '"') goto yy286;
+ goto yy282;
+ }
+ } else {
+ if (yych <= '{') {
+ if (yych <= '\'') goto yy287;
+ if (yych <= 'z') goto yy282;
+ goto yy288;
+ } else {
+ if (yych == '}') goto yy290;
+ goto yy282;
+ }
+ }
+yy280:
+ ++YYCURSOR;
+#line 418 "../src/ast/lex.re"
+ {
+ if (cur == eof)
+ {
+ if (depth)
+ {
+ fatal_l(get_cline(), "missing '}'");
+ }
+ return 0;
+ }
+ goto code;
+ }
+#line 1677 "src/ast/lex.cc"
+yy282:
+ ++YYCURSOR;
+yy283:
+#line 432 "../src/ast/lex.re"
+ {
+ goto code;
+ }
+#line 1685 "src/ast/lex.cc"
+yy284:
+ yyaccept = 0;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych <= '\r') {
+ if (yych <= '\t') {
+ if (yych >= '\t') goto yy292;
+ } else {
+ if (yych <= '\n') goto yy294;
+ if (yych >= '\r') goto yy294;
+ }
+ } else {
+ if (yych <= ' ') {
+ if (yych >= ' ') goto yy292;
+ } else {
+ if (yych == '#') goto yy295;
+ }
+ }
+yy285:
+#line 399 "../src/ast/lex.re"
+ {
+ if (depth == 0)
+ {
+ tok += strspn(tok, " \t\r\n");
+ while (cur > tok && strchr(" \t\r\n", cur[-1]))
+ {
+ --cur;
+ }
+ yylval.code = new Code(get_fname (), code_line, tok, tok_len ());
+ return TOKEN_CODE;
+ }
+ else if (cur == eof)
+ {
+ fatal_l(get_cline(), "missing '}'");
+ }
+ pos = cur;
+ cline++;
+ goto code;
+ }
+#line 1724 "src/ast/lex.cc"
+yy286:
+ yyaccept = 1;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych == '\n') goto yy283;
+ goto yy299;
+yy287:
+ yyaccept = 1;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych == '\n') goto yy283;
+ goto yy304;
+yy288:
+ ++YYCURSOR;
+#line 371 "../src/ast/lex.re"
+ {
+ if (depth == 0)
+ {
+ fatal_l(get_cline(), "Curly braces are not allowed after ':='");
+ }
+ else
+ {
+ ++depth;
+ }
+ goto code;
+ }
+#line 1749 "src/ast/lex.cc"
+yy290:
+ ++YYCURSOR;
+#line 359 "../src/ast/lex.re"
+ {
+ if (depth == 0)
+ {
+ fatal_l(get_cline(), "Curly braces are not allowed after ':='");
+ }
+ else if (--depth == 0)
+ {
+ yylval.code = new Code(get_fname (), code_line, tok, tok_len ());
+ return TOKEN_CODE;
+ }
+ goto code;
+ }
+#line 1765 "src/ast/lex.cc"
+yy292:
+ yyaccept = 2;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych <= 0x1F) {
+ if (yych == '\t') goto yy306;
+ } else {
+ if (yych <= ' ') goto yy306;
+ if (yych == '#') goto yy295;
+ }
+yy293:
+ YYCURSOR -= 1;
+#line 386 "../src/ast/lex.re"
+ {
+ if (depth == 0)
+ {
+ goto code;
+ }
+ else if (cur == eof)
+ {
+ fatal_l(get_cline(), "missing '}'");
+ }
+ pos = cur;
+ cline++;
+ goto code;
+ }
+#line 1791 "src/ast/lex.cc"
+yy294:
+ ++YYCURSOR;
+ goto yy293;
+yy295:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy295;
+ }
+ if (yych == 'l') goto yy308;
+yy297:
+ YYCURSOR = YYMARKER;
+ if (yyaccept <= 1) {
+ if (yyaccept == 0) {
+ goto yy285;
+ } else {
+ goto yy283;
+ }
+ } else {
+ goto yy293;
+ }
+yy298:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = (YYCTYPE)*YYCURSOR;
+yy299:
+ if (yybm[0+yych] & 32) {
+ goto yy298;
+ }
+ if (yych <= '\n') goto yy297;
+ if (yych >= '#') goto yy302;
+yy300:
+ ++YYCURSOR;
+#line 429 "../src/ast/lex.re"
+ {
+ goto code;
+ }
+#line 1830 "src/ast/lex.cc"
+yy302:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yych == '\n') goto yy297;
+ goto yy298;
+yy303:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = (YYCTYPE)*YYCURSOR;
+yy304:
+ if (yybm[0+yych] & 64) {
+ goto yy303;
+ }
+ if (yych <= '\n') goto yy297;
+ if (yych <= '\'') goto yy300;
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yych == '\n') goto yy297;
+ goto yy303;
+yy306:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yych <= 0x1F) {
+ if (yych == '\t') goto yy306;
+ goto yy297;
+ } else {
+ if (yych <= ' ') goto yy306;
+ if (yych == '#') goto yy295;
+ goto yy297;
+ }
+yy308:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych != 'i') goto yy297;
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych != 'n') goto yy297;
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych != 'e') goto yy297;
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '0') goto yy313;
+ if (yych <= '9') goto yy297;
+ goto yy313;
+yy312:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = (YYCTYPE)*YYCURSOR;
+yy313:
+ if (yych <= 0x1F) {
+ if (yych == '\t') goto yy312;
+ goto yy297;
+ } else {
+ if (yych <= ' ') goto yy312;
+ if (yych <= '0') goto yy297;
+ if (yych >= ':') goto yy297;
+ YYCTXMARKER = YYCURSOR;
+ }
+yy314:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yybm[0+yych] & 128) {
+ goto yy314;
+ }
+ if (yych <= '\f') {
+ if (yych <= 0x08) goto yy297;
+ if (yych <= '\t') goto yy316;
+ if (yych <= '\n') goto yy318;
+ goto yy297;
+ } else {
+ if (yych <= '\r') goto yy320;
+ if (yych != ' ') goto yy297;
+ }
+yy316:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yych <= 0x1F) {
+ if (yych == '\t') goto yy316;
+ goto yy297;
+ } else {
+ if (yych <= ' ') goto yy316;
+ if (yych == '"') goto yy321;
+ goto yy297;
+ }
+yy318:
+ ++YYCURSOR;
+ YYCURSOR = YYCTXMARKER;
+#line 382 "../src/ast/lex.re"
+ {
+ set_sourceline ();
+ goto code;
+ }
+#line 1925 "src/ast/lex.cc"
+yy320:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '\n') goto yy318;
+ goto yy297;
+yy321:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yych <= '!') {
+ if (yych == '\n') goto yy297;
+ goto yy321;
+ } else {
+ if (yych <= '"') goto yy323;
+ if (yych == '\\') goto yy324;
+ goto yy321;
+ }
+yy323:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '\n') goto yy318;
+ if (yych == '\r') goto yy320;
+ goto yy297;
+yy324:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yych == '\n') goto yy297;
+ goto yy321;
+}
+#line 435 "../src/ast/lex.re"
+
+
+comment:
+
+#line 1959 "src/ast/lex.cc"
+{
+ YYCTYPE yych;
+ static const unsigned char yybm[] = {
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 160, 0, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 160, 128, 0, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 192, 192, 192, 192, 192, 192, 192, 192,
+ 192, 192, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 0, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ };
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yych <= ')') {
+ if (yych == '\n') goto yy329;
+ } else {
+ if (yych <= '*') goto yy331;
+ if (yych == '/') goto yy332;
+ }
+ ++YYCURSOR;
+yy328:
+#line 467 "../src/ast/lex.re"
+ {
+ if (cur == eof)
+ {
+ return 0;
+ }
+ goto comment;
+ }
+#line 2014 "src/ast/lex.cc"
+yy329:
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yybm[0+yych] & 32) {
+ goto yy333;
+ }
+ if (yych == '#') goto yy336;
+yy330:
+#line 458 "../src/ast/lex.re"
+ {
+ if (cur == eof)
+ {
+ return 0;
+ }
+ tok = pos = cur;
+ cline++;
+ goto comment;
+ }
+#line 2032 "src/ast/lex.cc"
+yy331:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '/') goto yy338;
+ goto yy328;
+yy332:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '*') goto yy340;
+ goto yy328;
+yy333:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yybm[0+yych] & 32) {
+ goto yy333;
+ }
+ if (yych == '#') goto yy336;
+yy335:
+ YYCURSOR = YYMARKER;
+ goto yy330;
+yy336:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yych <= 0x1F) {
+ if (yych == '\t') goto yy336;
+ goto yy335;
+ } else {
+ if (yych <= ' ') goto yy336;
+ if (yych == 'l') goto yy342;
+ goto yy335;
+ }
+yy338:
+ ++YYCURSOR;
+#line 439 "../src/ast/lex.re"
+ {
+ if (--depth == 0)
+ {
+ goto scan;
+ }
+ else
+ {
+ goto comment;
+ }
+ }
+#line 2077 "src/ast/lex.cc"
+yy340:
+ ++YYCURSOR;
+#line 449 "../src/ast/lex.re"
+ {
+ ++depth;
+ fatal_lc(get_cline(), get_column(), "ambiguous /* found");
+ goto comment;
+ }
+#line 2086 "src/ast/lex.cc"
+yy342:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych != 'i') goto yy335;
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych != 'n') goto yy335;
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych != 'e') goto yy335;
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '0') goto yy347;
+ if (yych <= '9') goto yy335;
+ goto yy347;
+yy346:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = (YYCTYPE)*YYCURSOR;
+yy347:
+ if (yych <= 0x1F) {
+ if (yych == '\t') goto yy346;
+ goto yy335;
+ } else {
+ if (yych <= ' ') goto yy346;
+ if (yych <= '0') goto yy335;
+ if (yych >= ':') goto yy335;
+ YYCTXMARKER = YYCURSOR;
+ }
+yy348:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yybm[0+yych] & 64) {
+ goto yy348;
+ }
+ if (yych <= '\f') {
+ if (yych <= 0x08) goto yy335;
+ if (yych <= '\t') goto yy350;
+ if (yych <= '\n') goto yy352;
+ goto yy335;
+ } else {
+ if (yych <= '\r') goto yy354;
+ if (yych != ' ') goto yy335;
+ }
+yy350:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yych <= 0x1F) {
+ if (yych == '\t') goto yy350;
+ goto yy335;
+ } else {
+ if (yych <= ' ') goto yy350;
+ if (yych == '"') goto yy355;
+ goto yy335;
+ }
+yy352:
+ ++YYCURSOR;
+ YYCURSOR = YYCTXMARKER;
+#line 454 "../src/ast/lex.re"
+ {
+ set_sourceline ();
+ goto comment;
+ }
+#line 2148 "src/ast/lex.cc"
+yy354:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '\n') goto yy352;
+ goto yy335;
+yy355:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yybm[0+yych] & 128) {
+ goto yy355;
+ }
+ if (yych <= '\n') goto yy335;
+ if (yych >= '#') goto yy358;
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '\n') goto yy352;
+ if (yych == '\r') goto yy354;
+ goto yy335;
+yy358:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yych == '\n') goto yy335;
+ goto yy355;
+}
+#line 474 "../src/ast/lex.re"
+
+
+nextLine:
+
+#line 2178 "src/ast/lex.cc"
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yych == '\n') goto yy363;
+ ++YYCURSOR;
+#line 485 "../src/ast/lex.re"
+ { if(cur == eof) {
+ return 0;
+ }
+ goto nextLine;
+ }
+#line 2191 "src/ast/lex.cc"
+yy363:
+ ++YYCURSOR;
+#line 478 "../src/ast/lex.re"
+ { if(cur == eof) {
+ return 0;
+ }
+ tok = pos = cur;
+ cline++;
+ goto scan;
+ }
+#line 2202 "src/ast/lex.cc"
+}
+#line 490 "../src/ast/lex.re"
+
+}
+
+static void escape (std::string & dest, const std::string & src)
+{
+ dest = src;
+ size_t l = dest.length();
+ for (size_t p = 0; p < l; ++p)
+ {
+ if (dest[p] == '\\')
+ {
+ dest.insert(++p, "\\");
+ ++l;
+ }
+ }
+}
+
+const AST *Scanner::lex_cls(bool neg)
+{
+ std::vector<ASTRange> *cls = new std::vector<ASTRange>;
+ uint32_t u, l, c, c0 = get_column();
+fst:
+ tok = cur;
+ c = get_column();
+
+#line 2230 "src/ast/lex.cc"
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yych == ']') goto yy368;
+#line 516 "../src/ast/lex.re"
+ { l = lex_cls_chr(); goto snd; }
+#line 2238 "src/ast/lex.cc"
+yy368:
+ ++YYCURSOR;
+#line 515 "../src/ast/lex.re"
+ { return ast_cls(cline, c0, cls, neg); }
+#line 2243 "src/ast/lex.cc"
+}
+#line 517 "../src/ast/lex.re"
+
+snd:
+
+#line 2249 "src/ast/lex.cc"
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = (YYCTYPE)*(YYMARKER = YYCURSOR);
+ if (yych == '-') goto yy373;
+yy372:
+#line 520 "../src/ast/lex.re"
+ { u = l; goto add; }
+#line 2258 "src/ast/lex.cc"
+yy373:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych != ']') goto yy375;
+ YYCURSOR = YYMARKER;
+ goto yy372;
+yy375:
+ ++YYCURSOR;
+ YYCURSOR -= 1;
+#line 521 "../src/ast/lex.re"
+ {
+ u = lex_cls_chr();
+ if (l > u) {
+ warn.swapped_range(cline, l, u);
+ std::swap(l, u);
+ }
+ goto add;
+ }
+#line 2276 "src/ast/lex.cc"
+}
+#line 529 "../src/ast/lex.re"
+
+add:
+ cls->push_back(ASTRange(l, u, c));
+ goto fst;
+}
+
+uint32_t Scanner::lex_cls_chr()
+{
+ tok = cur;
+ const uint32_t l = get_cline(), c = get_column();
+
+#line 2290 "src/ast/lex.cc"
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yych <= '\f') {
+ if (yych == '\n') goto yy381;
+ } else {
+ if (yych <= '\r') goto yy383;
+ if (yych == '\\') goto yy384;
+ }
+ ++YYCURSOR;
+yy380:
+#line 546 "../src/ast/lex.re"
+ { return static_cast<uint8_t>(tok[0]); }
+#line 2306 "src/ast/lex.cc"
+yy381:
+ ++YYCURSOR;
+#line 541 "../src/ast/lex.re"
+ { fatal_lc(l, c, "newline in character class"); }
+#line 2311 "src/ast/lex.cc"
+yy383:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '\n') goto yy381;
+ goto yy380;
+yy384:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= ']') {
+ if (yych <= '3') {
+ if (yych <= '\r') {
+ if (yych == '\n') goto yy381;
+ if (yych >= '\r') goto yy387;
+ } else {
+ if (yych == '-') goto yy388;
+ if (yych >= '0') goto yy390;
+ }
+ } else {
+ if (yych <= 'W') {
+ if (yych <= '7') goto yy392;
+ if (yych == 'U') goto yy393;
+ } else {
+ if (yych <= 'X') goto yy395;
+ if (yych <= '[') goto yy385;
+ if (yych <= '\\') goto yy396;
+ goto yy398;
+ }
+ }
+ } else {
+ if (yych <= 'q') {
+ if (yych <= 'e') {
+ if (yych <= '`') goto yy385;
+ if (yych <= 'a') goto yy400;
+ if (yych <= 'b') goto yy402;
+ } else {
+ if (yych <= 'f') goto yy404;
+ if (yych == 'n') goto yy406;
+ }
+ } else {
+ if (yych <= 'u') {
+ if (yych <= 'r') goto yy408;
+ if (yych <= 's') goto yy385;
+ if (yych <= 't') goto yy410;
+ goto yy395;
+ } else {
+ if (yych <= 'v') goto yy412;
+ if (yych == 'x') goto yy414;
+ }
+ }
+ }
+yy385:
+ ++YYCURSOR;
+yy386:
+#line 559 "../src/ast/lex.re"
+ {
+ warn.useless_escape(cline, get_column(), tok[1]);
+ return static_cast<uint8_t>(tok[1]);
+ }
+#line 2368 "src/ast/lex.cc"
+yy387:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '\n') goto yy381;
+ goto yy386;
+yy388:
+ ++YYCURSOR;
+#line 557 "../src/ast/lex.re"
+ { return static_cast<uint8_t>('-'); }
+#line 2377 "src/ast/lex.cc"
+yy390:
+ yyaccept = 0;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych <= '/') goto yy391;
+ if (yych <= '7') goto yy415;
+yy391:
+#line 543 "../src/ast/lex.re"
+ { fatal_lc(l, c, "syntax error in octal escape sequence"); }
+#line 2386 "src/ast/lex.cc"
+yy392:
+ ++YYCURSOR;
+ goto yy391;
+yy393:
+ yyaccept = 1;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych <= '@') {
+ if (yych <= '/') goto yy394;
+ if (yych <= '9') goto yy417;
+ } else {
+ if (yych <= 'F') goto yy417;
+ if (yych <= '`') goto yy394;
+ if (yych <= 'f') goto yy417;
+ }
+yy394:
+#line 542 "../src/ast/lex.re"
+ { fatal_lc(l, c, "syntax error in hexadecimal escape sequence"); }
+#line 2404 "src/ast/lex.cc"
+yy395:
+ yyaccept = 1;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych <= '@') {
+ if (yych <= '/') goto yy394;
+ if (yych <= '9') goto yy418;
+ goto yy394;
+ } else {
+ if (yych <= 'F') goto yy418;
+ if (yych <= '`') goto yy394;
+ if (yych <= 'f') goto yy418;
+ goto yy394;
+ }
+yy396:
+ ++YYCURSOR;
+#line 556 "../src/ast/lex.re"
+ { return static_cast<uint8_t>('\\'); }
+#line 2422 "src/ast/lex.cc"
+yy398:
+ ++YYCURSOR;
+#line 558 "../src/ast/lex.re"
+ { return static_cast<uint8_t>(']'); }
+#line 2427 "src/ast/lex.cc"
+yy400:
+ ++YYCURSOR;
+#line 549 "../src/ast/lex.re"
+ { return static_cast<uint8_t>('\a'); }
+#line 2432 "src/ast/lex.cc"
+yy402:
+ ++YYCURSOR;
+#line 550 "../src/ast/lex.re"
+ { return static_cast<uint8_t>('\b'); }
+#line 2437 "src/ast/lex.cc"
+yy404:
+ ++YYCURSOR;
+#line 551 "../src/ast/lex.re"
+ { return static_cast<uint8_t>('\f'); }
+#line 2442 "src/ast/lex.cc"
+yy406:
+ ++YYCURSOR;
+#line 552 "../src/ast/lex.re"
+ { return static_cast<uint8_t>('\n'); }
+#line 2447 "src/ast/lex.cc"
+yy408:
+ ++YYCURSOR;
+#line 553 "../src/ast/lex.re"
+ { return static_cast<uint8_t>('\r'); }
+#line 2452 "src/ast/lex.cc"
+yy410:
+ ++YYCURSOR;
+#line 554 "../src/ast/lex.re"
+ { return static_cast<uint8_t>('\t'); }
+#line 2457 "src/ast/lex.cc"
+yy412:
+ ++YYCURSOR;
+#line 555 "../src/ast/lex.re"
+ { return static_cast<uint8_t>('\v'); }
+#line 2462 "src/ast/lex.cc"
+yy414:
+ yyaccept = 1;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych <= '@') {
+ if (yych <= '/') goto yy394;
+ if (yych <= '9') goto yy419;
+ goto yy394;
+ } else {
+ if (yych <= 'F') goto yy419;
+ if (yych <= '`') goto yy394;
+ if (yych <= 'f') goto yy419;
+ goto yy394;
+ }
+yy415:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '/') goto yy416;
+ if (yych <= '7') goto yy420;
+yy416:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy391;
+ } else {
+ goto yy394;
+ }
+yy417:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '@') {
+ if (yych <= '/') goto yy416;
+ if (yych <= '9') goto yy422;
+ goto yy416;
+ } else {
+ if (yych <= 'F') goto yy422;
+ if (yych <= '`') goto yy416;
+ if (yych <= 'f') goto yy422;
+ goto yy416;
+ }
+yy418:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '@') {
+ if (yych <= '/') goto yy416;
+ if (yych <= '9') goto yy423;
+ goto yy416;
+ } else {
+ if (yych <= 'F') goto yy423;
+ if (yych <= '`') goto yy416;
+ if (yych <= 'f') goto yy423;
+ goto yy416;
+ }
+yy419:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '@') {
+ if (yych <= '/') goto yy416;
+ if (yych <= '9') goto yy424;
+ goto yy416;
+ } else {
+ if (yych <= 'F') goto yy424;
+ if (yych <= '`') goto yy416;
+ if (yych <= 'f') goto yy424;
+ goto yy416;
+ }
+yy420:
+ ++YYCURSOR;
+#line 548 "../src/ast/lex.re"
+ { return unesc_oct(tok, cur); }
+#line 2527 "src/ast/lex.cc"
+yy422:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '@') {
+ if (yych <= '/') goto yy416;
+ if (yych <= '9') goto yy426;
+ goto yy416;
+ } else {
+ if (yych <= 'F') goto yy426;
+ if (yych <= '`') goto yy416;
+ if (yych <= 'f') goto yy426;
+ goto yy416;
+ }
+yy423:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '@') {
+ if (yych <= '/') goto yy416;
+ if (yych <= '9') goto yy419;
+ goto yy416;
+ } else {
+ if (yych <= 'F') goto yy419;
+ if (yych <= '`') goto yy416;
+ if (yych <= 'f') goto yy419;
+ goto yy416;
+ }
+yy424:
+ ++YYCURSOR;
+#line 547 "../src/ast/lex.re"
+ { return unesc_hex(tok, cur); }
+#line 2556 "src/ast/lex.cc"
+yy426:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '@') {
+ if (yych <= '/') goto yy416;
+ if (yych >= ':') goto yy416;
+ } else {
+ if (yych <= 'F') goto yy427;
+ if (yych <= '`') goto yy416;
+ if (yych >= 'g') goto yy416;
+ }
+yy427:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '@') {
+ if (yych <= '/') goto yy416;
+ if (yych <= '9') goto yy418;
+ goto yy416;
+ } else {
+ if (yych <= 'F') goto yy418;
+ if (yych <= '`') goto yy416;
+ if (yych <= 'f') goto yy418;
+ goto yy416;
+ }
+}
+#line 563 "../src/ast/lex.re"
+
+}
+
+uint32_t Scanner::lex_str_chr(char quote, bool &end)
+{
+ end = false;
+ tok = cur;
+ const uint32_t l = get_cline(), c = get_column();
+
+#line 2590 "src/ast/lex.cc"
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yych <= '\f') {
+ if (yych == '\n') goto yy432;
+ } else {
+ if (yych <= '\r') goto yy434;
+ if (yych == '\\') goto yy435;
+ }
+ ++YYCURSOR;
+yy431:
+#line 578 "../src/ast/lex.re"
+ {
+ end = tok[0] == quote;
+ return static_cast<uint8_t>(tok[0]);
+ }
+#line 2609 "src/ast/lex.cc"
+yy432:
+ ++YYCURSOR;
+#line 573 "../src/ast/lex.re"
+ { fatal_lc(l, c, "newline in character string"); }
+#line 2614 "src/ast/lex.cc"
+yy434:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '\n') goto yy432;
+ goto yy431;
+yy435:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '`') {
+ if (yych <= '7') {
+ if (yych <= '\f') {
+ if (yych == '\n') goto yy432;
+ } else {
+ if (yych <= '\r') goto yy438;
+ if (yych <= '/') goto yy436;
+ if (yych <= '3') goto yy439;
+ goto yy441;
+ }
+ } else {
+ if (yych <= 'W') {
+ if (yych == 'U') goto yy442;
+ } else {
+ if (yych <= 'X') goto yy444;
+ if (yych == '\\') goto yy445;
+ }
+ }
+ } else {
+ if (yych <= 'q') {
+ if (yych <= 'e') {
+ if (yych <= 'a') goto yy447;
+ if (yych <= 'b') goto yy449;
+ } else {
+ if (yych <= 'f') goto yy451;
+ if (yych == 'n') goto yy453;
+ }
+ } else {
+ if (yych <= 'u') {
+ if (yych <= 'r') goto yy455;
+ if (yych <= 's') goto yy436;
+ if (yych <= 't') goto yy457;
+ goto yy444;
+ } else {
+ if (yych <= 'v') goto yy459;
+ if (yych == 'x') goto yy461;
+ }
+ }
+ }
+yy436:
+ ++YYCURSOR;
+yy437:
+#line 592 "../src/ast/lex.re"
+ {
+ if (tok[1] != quote) {
+ warn.useless_escape(cline, get_column(), tok[1]);
+ }
+ return static_cast<uint8_t>(tok[1]);
+ }
+#line 2670 "src/ast/lex.cc"
+yy438:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '\n') goto yy432;
+ goto yy437;
+yy439:
+ yyaccept = 0;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych <= '/') goto yy440;
+ if (yych <= '7') goto yy462;
+yy440:
+#line 575 "../src/ast/lex.re"
+ { fatal_lc(l, c, "syntax error in octal escape sequence"); }
+#line 2683 "src/ast/lex.cc"
+yy441:
+ ++YYCURSOR;
+ goto yy440;
+yy442:
+ yyaccept = 1;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych <= '@') {
+ if (yych <= '/') goto yy443;
+ if (yych <= '9') goto yy464;
+ } else {
+ if (yych <= 'F') goto yy464;
+ if (yych <= '`') goto yy443;
+ if (yych <= 'f') goto yy464;
+ }
+yy443:
+#line 574 "../src/ast/lex.re"
+ { fatal_lc(l, c, "syntax error in hexadecimal escape sequence"); }
+#line 2701 "src/ast/lex.cc"
+yy444:
+ yyaccept = 1;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych <= '@') {
+ if (yych <= '/') goto yy443;
+ if (yych <= '9') goto yy465;
+ goto yy443;
+ } else {
+ if (yych <= 'F') goto yy465;
+ if (yych <= '`') goto yy443;
+ if (yych <= 'f') goto yy465;
+ goto yy443;
+ }
+yy445:
+ ++YYCURSOR;
+#line 591 "../src/ast/lex.re"
+ { return static_cast<uint8_t>('\\'); }
+#line 2719 "src/ast/lex.cc"
+yy447:
+ ++YYCURSOR;
+#line 584 "../src/ast/lex.re"
+ { return static_cast<uint8_t>('\a'); }
+#line 2724 "src/ast/lex.cc"
+yy449:
+ ++YYCURSOR;
+#line 585 "../src/ast/lex.re"
+ { return static_cast<uint8_t>('\b'); }
+#line 2729 "src/ast/lex.cc"
+yy451:
+ ++YYCURSOR;
+#line 586 "../src/ast/lex.re"
+ { return static_cast<uint8_t>('\f'); }
+#line 2734 "src/ast/lex.cc"
+yy453:
+ ++YYCURSOR;
+#line 587 "../src/ast/lex.re"
+ { return static_cast<uint8_t>('\n'); }
+#line 2739 "src/ast/lex.cc"
+yy455:
+ ++YYCURSOR;
+#line 588 "../src/ast/lex.re"
+ { return static_cast<uint8_t>('\r'); }
+#line 2744 "src/ast/lex.cc"
+yy457:
+ ++YYCURSOR;
+#line 589 "../src/ast/lex.re"
+ { return static_cast<uint8_t>('\t'); }
+#line 2749 "src/ast/lex.cc"
+yy459:
+ ++YYCURSOR;
+#line 590 "../src/ast/lex.re"
+ { return static_cast<uint8_t>('\v'); }
+#line 2754 "src/ast/lex.cc"
+yy461:
+ yyaccept = 1;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych <= '@') {
+ if (yych <= '/') goto yy443;
+ if (yych <= '9') goto yy466;
+ goto yy443;
+ } else {
+ if (yych <= 'F') goto yy466;
+ if (yych <= '`') goto yy443;
+ if (yych <= 'f') goto yy466;
+ goto yy443;
+ }
+yy462:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '/') goto yy463;
+ if (yych <= '7') goto yy467;
+yy463:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy440;
+ } else {
+ goto yy443;
+ }
+yy464:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '@') {
+ if (yych <= '/') goto yy463;
+ if (yych <= '9') goto yy469;
+ goto yy463;
+ } else {
+ if (yych <= 'F') goto yy469;
+ if (yych <= '`') goto yy463;
+ if (yych <= 'f') goto yy469;
+ goto yy463;
+ }
+yy465:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '@') {
+ if (yych <= '/') goto yy463;
+ if (yych <= '9') goto yy470;
+ goto yy463;
+ } else {
+ if (yych <= 'F') goto yy470;
+ if (yych <= '`') goto yy463;
+ if (yych <= 'f') goto yy470;
+ goto yy463;
+ }
+yy466:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '@') {
+ if (yych <= '/') goto yy463;
+ if (yych <= '9') goto yy471;
+ goto yy463;
+ } else {
+ if (yych <= 'F') goto yy471;
+ if (yych <= '`') goto yy463;
+ if (yych <= 'f') goto yy471;
+ goto yy463;
+ }
+yy467:
+ ++YYCURSOR;
+#line 583 "../src/ast/lex.re"
+ { return unesc_oct(tok, cur); }
+#line 2819 "src/ast/lex.cc"
+yy469:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '@') {
+ if (yych <= '/') goto yy463;
+ if (yych <= '9') goto yy473;
+ goto yy463;
+ } else {
+ if (yych <= 'F') goto yy473;
+ if (yych <= '`') goto yy463;
+ if (yych <= 'f') goto yy473;
+ goto yy463;
+ }
+yy470:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '@') {
+ if (yych <= '/') goto yy463;
+ if (yych <= '9') goto yy466;
+ goto yy463;
+ } else {
+ if (yych <= 'F') goto yy466;
+ if (yych <= '`') goto yy463;
+ if (yych <= 'f') goto yy466;
+ goto yy463;
+ }
+yy471:
+ ++YYCURSOR;
+#line 582 "../src/ast/lex.re"
+ { return unesc_hex(tok, cur); }
+#line 2848 "src/ast/lex.cc"
+yy473:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '@') {
+ if (yych <= '/') goto yy463;
+ if (yych >= ':') goto yy463;
+ } else {
+ if (yych <= 'F') goto yy474;
+ if (yych <= '`') goto yy463;
+ if (yych >= 'g') goto yy463;
+ }
+yy474:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '@') {
+ if (yych <= '/') goto yy463;
+ if (yych <= '9') goto yy465;
+ goto yy463;
+ } else {
+ if (yych <= 'F') goto yy465;
+ if (yych <= '`') goto yy463;
+ if (yych <= 'f') goto yy465;
+ goto yy463;
+ }
+}
+#line 598 "../src/ast/lex.re"
+
+}
+
+const AST *Scanner::lex_str(char quote)
+{
+ const uint32_t column = get_column();
+ std::vector<ASTChar> *str = new std::vector<ASTChar>;
+ for (bool end;;) {
+ const uint32_t c = lex_str_chr(quote, end);
+ if (end) return ast_str(cline, column, str, quote == '\'');
+ str->push_back(ASTChar(c, get_column()));
+ }
+}
+
+void Scanner::set_sourceline ()
+{
+sourceline:
+ tok = cur;
+
+#line 2892 "src/ast/lex.cc"
+{
+ YYCTYPE yych;
+ static const unsigned char yybm[] = {
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 0, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 0, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 192, 192, 192, 192, 192, 192, 192, 192,
+ 192, 192, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 0, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ };
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yych <= '!') {
+ if (yych == '\n') goto yy479;
+ } else {
+ if (yych <= '"') goto yy481;
+ if (yych <= '0') goto yy477;
+ if (yych <= '9') goto yy482;
+ }
+yy477:
+ ++YYCURSOR;
+yy478:
+#line 640 "../src/ast/lex.re"
+ {
+ goto sourceline;
+ }
+#line 2945 "src/ast/lex.cc"
+yy479:
+ ++YYCURSOR;
+#line 628 "../src/ast/lex.re"
+ {
+ if (cur == eof)
+ {
+ --cur;
+ }
+ else
+ {
+ pos = cur;
+ }
+ tok = cur;
+ return;
+ }
+#line 2961 "src/ast/lex.cc"
+yy481:
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych == '\n') goto yy478;
+ goto yy486;
+yy482:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yybm[0+yych] & 64) {
+ goto yy482;
+ }
+#line 617 "../src/ast/lex.re"
+ {
+ if (!s_to_u32_unsafe (tok, cur, cline))
+ {
+ fatal_lc(get_cline(), get_column(), "line number overflow");
+ }
+ goto sourceline;
+ }
+#line 2981 "src/ast/lex.cc"
+yy485:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = (YYCTYPE)*YYCURSOR;
+yy486:
+ if (yybm[0+yych] & 128) {
+ goto yy485;
+ }
+ if (yych <= '\n') goto yy487;
+ if (yych <= '"') goto yy488;
+ goto yy490;
+yy487:
+ YYCURSOR = YYMARKER;
+ goto yy478;
+yy488:
+ ++YYCURSOR;
+#line 624 "../src/ast/lex.re"
+ {
+ escape (in.file_name, std::string (tok + 1, tok_len () - 2)); // -2 to omit quotes
+ goto sourceline;
+ }
+#line 3003 "src/ast/lex.cc"
+yy490:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = (YYCTYPE)*YYCURSOR;
+ if (yych == '\n') goto yy487;
+ goto yy485;
+}
+#line 643 "../src/ast/lex.re"
+
+}
+
+} // end namespace re2c
diff --git a/bootstrap/src/ast/lex_conf.cc b/bootstrap/src/ast/lex_conf.cc
new file mode 100644
index 00000000..713a9354
--- /dev/null
+++ b/bootstrap/src/ast/lex_conf.cc
@@ -0,0 +1,4049 @@
+/* Generated by re2c 1.0.3 on Wed Nov 8 20:39:40 2017 */
+#line 1 "../src/ast/lex_conf.re"
+#include "src/util/c99_stdint.h"
+#include <string>
+
+#include "src/code/output.h"
+#include "src/conf/msg.h"
+#include "src/re/encoding/enc.h"
+#include "src/ast/scanner.h"
+#include "src/util/s_to_n32_unsafe.h"
+
+namespace re2c
+{
+
+// global re2c config (affects the whole file)
+#line 35 "../src/ast/lex_conf.re"
+
+
+void Scanner::lex_conf(Opt &opts)
+{
+ tok = cur;
+ const uint32_t l = get_cline(), c = get_column();
+
+#line 25 "src/ast/lex_conf.cc"
+{
+ unsigned char yych;
+ unsigned int yyaccept = 0;
+ static const unsigned char yybm[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 64, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 64, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 32, 0, 0,
+ 160, 160, 160, 160, 160, 160, 160, 160,
+ 160, 160, 32, 0, 0, 0, 0, 0,
+ 0, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 0, 0, 0, 0, 32,
+ 0, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32, 32, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ };
+ if ((lim - cur) < 28) fill(28);
+ yych = (unsigned char)*cur;
+ if (yych <= 'e') {
+ if (yych <= 'Z') {
+ if (yych <= '/') {
+ if (yych == '-') goto yy3;
+ } else {
+ if (yych <= ':') goto yy3;
+ if (yych >= 'A') goto yy3;
+ }
+ } else {
+ if (yych <= '`') {
+ if (yych == '_') goto yy3;
+ } else {
+ if (yych <= 'b') goto yy3;
+ if (yych <= 'c') goto yy5;
+ if (yych <= 'd') goto yy6;
+ goto yy3;
+ }
+ }
+ } else {
+ if (yych <= 's') {
+ if (yych <= 'i') {
+ if (yych <= 'f') goto yy7;
+ if (yych <= 'h') goto yy3;
+ goto yy8;
+ } else {
+ if (yych == 'l') goto yy9;
+ if (yych <= 'r') goto yy3;
+ goto yy10;
+ }
+ } else {
+ if (yych <= 'v') {
+ if (yych <= 't') goto yy11;
+ if (yych <= 'u') goto yy3;
+ goto yy12;
+ } else {
+ if (yych == 'y') goto yy13;
+ if (yych <= 'z') goto yy3;
+ }
+ }
+ }
+yy2:
+#line 161 "../src/ast/lex_conf.re"
+ {
+ fatal_lc(l, c, "unrecognized configuration '%.*s'",
+ static_cast<int>(cur - tok), tok);
+ }
+#line 111 "src/ast/lex_conf.cc"
+yy3:
+ ++cur;
+ if (lim <= cur) fill(1);
+ yych = (unsigned char)*cur;
+yy4:
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+ goto yy2;
+yy5:
+ yych = (unsigned char)*++cur;
+ if (yych == 'g') goto yy14;
+ if (yych == 'o') goto yy15;
+ goto yy4;
+yy6:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy16;
+ goto yy4;
+yy7:
+ yych = (unsigned char)*++cur;
+ if (yych == 'l') goto yy17;
+ goto yy4;
+yy8:
+ yych = (unsigned char)*++cur;
+ if (yych == 'n') goto yy18;
+ goto yy4;
+yy9:
+ yych = (unsigned char)*++cur;
+ if (yych == 'a') goto yy19;
+ goto yy4;
+yy10:
+ yych = (unsigned char)*++cur;
+ if (yych == 't') goto yy20;
+ goto yy4;
+yy11:
+ yych = (unsigned char)*++cur;
+ if (yych == 'a') goto yy21;
+ goto yy4;
+yy12:
+ yych = (unsigned char)*++cur;
+ if (yych == 'a') goto yy22;
+ goto yy4;
+yy13:
+ yych = (unsigned char)*++cur;
+ if (yych == 'y') goto yy23;
+ goto yy4;
+yy14:
+ yych = (unsigned char)*++cur;
+ if (yych == 'o') goto yy24;
+ goto yy4;
+yy15:
+ yych = (unsigned char)*++cur;
+ if (yych == 'n') goto yy25;
+ goto yy4;
+yy16:
+ yych = (unsigned char)*++cur;
+ if (yych == 'f') goto yy26;
+ goto yy4;
+yy17:
+ yych = (unsigned char)*++cur;
+ if (yych == 'a') goto yy27;
+ goto yy4;
+yy18:
+ yych = (unsigned char)*++cur;
+ if (yych == 'd') goto yy28;
+ goto yy4;
+yy19:
+ yych = (unsigned char)*++cur;
+ if (yych == 'b') goto yy29;
+ goto yy4;
+yy20:
+ yych = (unsigned char)*++cur;
+ if (yych == 'a') goto yy30;
+ goto yy4;
+yy21:
+ yych = (unsigned char)*++cur;
+ if (yych == 'g') goto yy31;
+ goto yy4;
+yy22:
+ yych = (unsigned char)*++cur;
+ if (yych == 'r') goto yy32;
+ goto yy4;
+yy23:
+ yych = (unsigned char)*++cur;
+ if (yych <= 'c') {
+ if (yych <= 'a') goto yy4;
+ if (yych <= 'b') goto yy33;
+ goto yy34;
+ } else {
+ if (yych == 'f') goto yy35;
+ goto yy4;
+ }
+yy24:
+ yych = (unsigned char)*++cur;
+ if (yych == 't') goto yy36;
+ goto yy4;
+yy25:
+ yych = (unsigned char)*++cur;
+ if (yych == 'd') goto yy37;
+ goto yy4;
+yy26:
+ yych = (unsigned char)*++cur;
+ if (yych == 'i') goto yy38;
+ goto yy4;
+yy27:
+ yych = (unsigned char)*++cur;
+ if (yych == 'g') goto yy39;
+ goto yy4;
+yy28:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy40;
+ goto yy4;
+yy29:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy41;
+ goto yy4;
+yy30:
+ yych = (unsigned char)*++cur;
+ if (yych == 'r') goto yy42;
+ if (yych == 't') goto yy43;
+ goto yy4;
+yy31:
+ yych = (unsigned char)*++cur;
+ if (yych == 's') goto yy44;
+ goto yy4;
+yy32:
+ yych = (unsigned char)*++cur;
+ if (yych == 'i') goto yy45;
+ goto yy4;
+yy33:
+ yych = (unsigned char)*++cur;
+ if (yych == 'm') goto yy46;
+ goto yy4;
+yy34:
+ yych = (unsigned char)*++cur;
+ if (yych == 'h') goto yy47;
+ goto yy4;
+yy35:
+ yych = (unsigned char)*++cur;
+ if (yych == 'i') goto yy48;
+ goto yy4;
+yy36:
+ yych = (unsigned char)*++cur;
+ if (yych == 'o') goto yy49;
+ goto yy4;
+yy37:
+ yych = (unsigned char)*++cur;
+ if (yych <= 'd') {
+ if (yych == ':') goto yy50;
+ goto yy4;
+ } else {
+ if (yych <= 'e') goto yy51;
+ if (yych == 'p') goto yy52;
+ goto yy4;
+ }
+yy38:
+ yych = (unsigned char)*++cur;
+ if (yych == 'n') goto yy53;
+ goto yy4;
+yy39:
+ yych = (unsigned char)*++cur;
+ if (yych == 's') goto yy54;
+ goto yy4;
+yy40:
+ yych = (unsigned char)*++cur;
+ if (yych == 'n') goto yy55;
+ goto yy4;
+yy41:
+ yych = (unsigned char)*++cur;
+ if (yych == 'l') goto yy56;
+ goto yy4;
+yy42:
+ yych = (unsigned char)*++cur;
+ if (yych == 't') goto yy57;
+ goto yy4;
+yy43:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy58;
+ goto yy4;
+yy44:
+ yych = (unsigned char)*++cur;
+ if (yych == ':') goto yy59;
+ goto yy4;
+yy45:
+ yych = (unsigned char)*++cur;
+ if (yych == 'a') goto yy60;
+ goto yy4;
+yy46:
+ yych = (unsigned char)*++cur;
+ if (yych == ':') goto yy61;
+ goto yy4;
+yy47:
+ yych = (unsigned char)*++cur;
+ if (yych == ':') goto yy62;
+ goto yy4;
+yy48:
+ yych = (unsigned char)*++cur;
+ if (yych == 'l') goto yy63;
+ goto yy4;
+yy49:
+ yych = (unsigned char)*++cur;
+ if (yych == ':') goto yy64;
+ goto yy4;
+yy50:
+ yych = (unsigned char)*++cur;
+ if (yych == 'd') goto yy65;
+ if (yych == 'g') goto yy66;
+ goto yy4;
+yy51:
+ yych = (unsigned char)*++cur;
+ if (yych == 'n') goto yy67;
+ goto yy4;
+yy52:
+ yych = (unsigned char)*++cur;
+ if (yych == 'r') goto yy68;
+ goto yy4;
+yy53:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy69;
+ goto yy4;
+yy54:
+ yych = (unsigned char)*++cur;
+ if (yych == ':') goto yy70;
+ goto yy4;
+yy55:
+ yych = (unsigned char)*++cur;
+ if (yych == 't') goto yy71;
+ goto yy4;
+yy56:
+ yych = (unsigned char)*++cur;
+ if (yych == ':') goto yy72;
+ if (yych == 'p') goto yy73;
+ goto yy4;
+yy57:
+ yych = (unsigned char)*++cur;
+ if (yych == 'l') goto yy74;
+ goto yy4;
+yy58:
+ yych = (unsigned char)*++cur;
+ if (yych == ':') goto yy75;
+ goto yy4;
+yy59:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy76;
+ if (yych == 'p') goto yy77;
+ goto yy4;
+yy60:
+ yych = (unsigned char)*++cur;
+ if (yych == 'b') goto yy78;
+ goto yy4;
+yy61:
+ yych = (unsigned char)*++cur;
+ if (yych == 'h') goto yy79;
+ goto yy4;
+yy62:
+ yych = (unsigned char)*++cur;
+ if (yych == 'c') goto yy80;
+ if (yych == 'e') goto yy81;
+ goto yy4;
+yy63:
+ yych = (unsigned char)*++cur;
+ if (yych == 'l') goto yy82;
+ goto yy4;
+yy64:
+ yych = (unsigned char)*++cur;
+ if (yych == 't') goto yy83;
+ goto yy4;
+yy65:
+ yych = (unsigned char)*++cur;
+ if (yych == 'i') goto yy84;
+ goto yy4;
+yy66:
+ yych = (unsigned char)*++cur;
+ if (yych == 'o') goto yy85;
+ goto yy4;
+yy67:
+ yych = (unsigned char)*++cur;
+ if (yych == 'u') goto yy86;
+ goto yy4;
+yy68:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy87;
+ goto yy4;
+yy69:
+ yych = (unsigned char)*++cur;
+ if (yych == ':') goto yy88;
+ goto yy4;
+yy70:
+ yych = (unsigned char)*++cur;
+ switch (yych) {
+ case '8': goto yy89;
+ case 'P': goto yy91;
+ case 'T': goto yy93;
+ case 'b': goto yy95;
+ case 'c': goto yy97;
+ case 'd': goto yy98;
+ case 'e': goto yy100;
+ case 'g': goto yy102;
+ case 'i': goto yy104;
+ case 'l': goto yy106;
+ case 'n': goto yy107;
+ case 'o': goto yy108;
+ case 'p': goto yy109;
+ case 's': goto yy110;
+ case 't': goto yy112;
+ case 'u': goto yy113;
+ case 'w': goto yy115;
+ case 'x': goto yy117;
+ default: goto yy4;
+ }
+yy71:
+ yych = (unsigned char)*++cur;
+ if (yych == ':') goto yy119;
+ goto yy4;
+yy72:
+ yych = (unsigned char)*++cur;
+ if (yych == 'y') goto yy120;
+ goto yy4;
+yy73:
+ yych = (unsigned char)*++cur;
+ if (yych == 'r') goto yy121;
+ goto yy4;
+yy74:
+ yych = (unsigned char)*++cur;
+ if (yych == 'a') goto yy122;
+ goto yy4;
+yy75:
+ yych = (unsigned char)*++cur;
+ if (yych == 'a') goto yy123;
+ if (yych == 'n') goto yy124;
+ goto yy4;
+yy76:
+ yych = (unsigned char)*++cur;
+ if (yych == 'x') goto yy125;
+ goto yy4;
+yy77:
+ yych = (unsigned char)*++cur;
+ if (yych == 'r') goto yy126;
+ goto yy4;
+yy78:
+ yych = (unsigned char)*++cur;
+ if (yych == 'l') goto yy127;
+ goto yy4;
+yy79:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy128;
+ goto yy4;
+yy80:
+ yych = (unsigned char)*++cur;
+ if (yych == 'o') goto yy129;
+ goto yy4;
+yy81:
+ yych = (unsigned char)*++cur;
+ if (yych == 'm') goto yy130;
+ goto yy4;
+yy82:
+ yych = (unsigned char)*++cur;
+ if (yych == ':') goto yy131;
+ goto yy4;
+yy83:
+ yych = (unsigned char)*++cur;
+ if (yych == 'h') goto yy132;
+ goto yy4;
+yy84:
+ yych = (unsigned char)*++cur;
+ if (yych == 'v') goto yy133;
+ goto yy4;
+yy85:
+ yych = (unsigned char)*++cur;
+ if (yych == 't') goto yy134;
+ goto yy4;
+yy86:
+ yych = (unsigned char)*++cur;
+ if (yych == 'm') goto yy135;
+ goto yy4;
+yy87:
+ yych = (unsigned char)*++cur;
+ if (yych == 'f') goto yy136;
+ goto yy4;
+yy88:
+ yych = (unsigned char)*++cur;
+ if (yych == 'Y') goto yy137;
+ goto yy4;
+yy89:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 59 "../src/ast/lex_conf.re"
+ { lex_conf_enc(Enc::UTF8, opts); return; }
+#line 502 "src/ast/lex_conf.cc"
+yy91:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 48 "../src/ast/lex_conf.re"
+ { opts.set_posix_captures(lex_conf_bool()); return; }
+#line 510 "src/ast/lex_conf.cc"
+yy93:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 47 "../src/ast/lex_conf.re"
+ { opts.set_tags(lex_conf_bool()); return; }
+#line 518 "src/ast/lex_conf.cc"
+yy95:
+ yych = (unsigned char)*++cur;
+ if (yych <= 'Z') {
+ if (yych <= '/') {
+ if (yych == '-') goto yy3;
+ } else {
+ if (yych <= ':') goto yy3;
+ if (yych >= 'A') goto yy3;
+ }
+ } else {
+ if (yych <= '`') {
+ if (yych == '_') goto yy3;
+ } else {
+ if (yych == 'i') goto yy138;
+ if (yych <= 'z') goto yy3;
+ }
+ }
+yy96:
+#line 42 "../src/ast/lex_conf.re"
+ { opts.set_bFlag(lex_conf_bool()); return; }
+#line 539 "src/ast/lex_conf.cc"
+yy97:
+ yych = (unsigned char)*++cur;
+ if (yych == 'a') goto yy139;
+ if (yych == 'o') goto yy140;
+ goto yy4;
+yy98:
+ yych = (unsigned char)*++cur;
+ if (yych <= '^') {
+ if (yych <= '/') {
+ if (yych == '-') goto yy3;
+ } else {
+ if (yych <= ':') goto yy3;
+ if (yych <= '@') goto yy99;
+ if (yych <= 'Z') goto yy3;
+ }
+ } else {
+ if (yych <= 'd') {
+ if (yych != '`') goto yy3;
+ } else {
+ if (yych <= 'e') goto yy141;
+ if (yych <= 'f') goto yy142;
+ if (yych <= 'z') goto yy3;
+ }
+ }
+yy99:
+#line 43 "../src/ast/lex_conf.re"
+ { opts.set_dFlag(lex_conf_bool()); return; }
+#line 567 "src/ast/lex_conf.cc"
+yy100:
+ yych = (unsigned char)*++cur;
+ if (yych <= '_') {
+ if (yych <= ':') {
+ if (yych == '-') goto yy3;
+ if (yych >= '0') goto yy3;
+ } else {
+ if (yych <= '@') goto yy101;
+ if (yych <= 'Z') goto yy3;
+ if (yych >= '_') goto yy3;
+ }
+ } else {
+ if (yych <= 'c') {
+ if (yych <= '`') goto yy101;
+ if (yych <= 'a') goto yy143;
+ if (yych <= 'b') goto yy3;
+ goto yy144;
+ } else {
+ if (yych <= 'm') {
+ if (yych <= 'l') goto yy3;
+ goto yy145;
+ } else {
+ if (yych <= 'n') goto yy146;
+ if (yych <= 'z') goto yy3;
+ }
+ }
+ }
+yy101:
+#line 55 "../src/ast/lex_conf.re"
+ { lex_conf_enc(Enc::EBCDIC, opts); return; }
+#line 598 "src/ast/lex_conf.cc"
+yy102:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 44 "../src/ast/lex_conf.re"
+ { opts.set_gFlag(lex_conf_bool()); return; }
+#line 606 "src/ast/lex_conf.cc"
+yy104:
+ yych = (unsigned char)*++cur;
+ if (yych <= 'Z') {
+ if (yych <= '/') {
+ if (yych == '-') goto yy3;
+ } else {
+ if (yych <= ':') goto yy3;
+ if (yych >= 'A') goto yy3;
+ }
+ } else {
+ if (yych <= '`') {
+ if (yych == '_') goto yy3;
+ } else {
+ if (yych == 'n') goto yy147;
+ if (yych <= 'z') goto yy3;
+ }
+ }
+yy105:
+#line 45 "../src/ast/lex_conf.re"
+ { opts.set_iFlag(lex_conf_bool()); return; }
+#line 627 "src/ast/lex_conf.cc"
+yy106:
+ yych = (unsigned char)*++cur;
+ if (yych == 'o') goto yy148;
+ goto yy4;
+yy107:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy149;
+ if (yych == 'o') goto yy150;
+ goto yy4;
+yy108:
+ yych = (unsigned char)*++cur;
+ if (yych == 'p') goto yy151;
+ goto yy4;
+yy109:
+ yych = (unsigned char)*++cur;
+ if (yych == 'o') goto yy152;
+ goto yy4;
+yy110:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 46 "../src/ast/lex_conf.re"
+ { opts.set_sFlag(lex_conf_bool()); return; }
+#line 652 "src/ast/lex_conf.cc"
+yy112:
+ yych = (unsigned char)*++cur;
+ if (yych == 'a') goto yy153;
+ goto yy4;
+yy113:
+ yych = (unsigned char)*++cur;
+ if (yych <= '^') {
+ if (yych <= '/') {
+ if (yych == '-') goto yy3;
+ } else {
+ if (yych <= ':') goto yy3;
+ if (yych <= '@') goto yy114;
+ if (yych <= 'Z') goto yy3;
+ }
+ } else {
+ if (yych <= 'n') {
+ if (yych == '`') goto yy114;
+ if (yych <= 'm') goto yy3;
+ goto yy154;
+ } else {
+ if (yych == 't') goto yy155;
+ if (yych <= 'z') goto yy3;
+ }
+ }
+yy114:
+#line 56 "../src/ast/lex_conf.re"
+ { lex_conf_enc(Enc::UTF32, opts); return; }
+#line 680 "src/ast/lex_conf.cc"
+yy115:
+ yych = (unsigned char)*++cur;
+ if (yych <= 'Z') {
+ if (yych <= '/') {
+ if (yych == '-') goto yy3;
+ } else {
+ if (yych <= ':') goto yy3;
+ if (yych >= 'A') goto yy3;
+ }
+ } else {
+ if (yych <= '`') {
+ if (yych == '_') goto yy3;
+ } else {
+ if (yych == 'i') goto yy156;
+ if (yych <= 'z') goto yy3;
+ }
+ }
+yy116:
+#line 57 "../src/ast/lex_conf.re"
+ { lex_conf_enc(Enc::UCS2, opts); return; }
+#line 701 "src/ast/lex_conf.cc"
+yy117:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 58 "../src/ast/lex_conf.re"
+ { lex_conf_enc(Enc::UTF16, opts); return; }
+#line 709 "src/ast/lex_conf.cc"
+yy119:
+ yych = (unsigned char)*++cur;
+ if (yych <= 'r') goto yy4;
+ if (yych <= 's') goto yy157;
+ if (yych <= 't') goto yy158;
+ goto yy4;
+yy120:
+ yych = (unsigned char)*++cur;
+ if (yych == 'y') goto yy159;
+ goto yy4;
+yy121:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy160;
+ goto yy4;
+yy122:
+ yych = (unsigned char)*++cur;
+ if (yych == 'b') goto yy161;
+ goto yy4;
+yy123:
+ yych = (unsigned char)*++cur;
+ if (yych == 'b') goto yy162;
+ goto yy4;
+yy124:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy163;
+ goto yy4;
+yy125:
+ yych = (unsigned char)*++cur;
+ if (yych == 'p') goto yy164;
+ goto yy4;
+yy126:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy165;
+ goto yy4;
+yy127:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy166;
+ goto yy4;
+yy128:
+ yych = (unsigned char)*++cur;
+ if (yych == 'x') goto yy167;
+ goto yy4;
+yy129:
+ yych = (unsigned char)*++cur;
+ if (yych == 'n') goto yy169;
+ goto yy4;
+yy130:
+ yych = (unsigned char)*++cur;
+ if (yych == 'i') goto yy170;
+ goto yy4;
+yy131:
+ yych = (unsigned char)*++cur;
+ if (yych <= 'd') {
+ if (yych == 'c') goto yy171;
+ goto yy4;
+ } else {
+ if (yych <= 'e') goto yy172;
+ if (yych == 'p') goto yy173;
+ goto yy4;
+ }
+yy132:
+ yych = (unsigned char)*++cur;
+ if (yych == 'r') goto yy174;
+ goto yy4;
+yy133:
+ yych = (unsigned char)*++cur;
+ if (yych == 'i') goto yy175;
+ goto yy4;
+yy134:
+ yych = (unsigned char)*++cur;
+ if (yych == 'o') goto yy176;
+ goto yy4;
+yy135:
+ yych = (unsigned char)*++cur;
+ if (yych == 'p') goto yy178;
+ goto yy4;
+yy136:
+ yych = (unsigned char)*++cur;
+ if (yych == 'i') goto yy179;
+ goto yy4;
+yy137:
+ yych = (unsigned char)*++cur;
+ if (yych == 'Y') goto yy180;
+ goto yy4;
+yy138:
+ yych = (unsigned char)*++cur;
+ if (yych == 't') goto yy181;
+ goto yy4;
+yy139:
+ yych = (unsigned char)*++cur;
+ if (yych == 's') goto yy182;
+ goto yy4;
+yy140:
+ yych = (unsigned char)*++cur;
+ if (yych == 'm') goto yy183;
+ goto yy4;
+yy141:
+ yych = (unsigned char)*++cur;
+ if (yych == 'b') goto yy184;
+ goto yy4;
+yy142:
+ yych = (unsigned char)*++cur;
+ if (yych == 'a') goto yy185;
+ goto yy4;
+yy143:
+ yych = (unsigned char)*++cur;
+ if (yych == 'g') goto yy186;
+ goto yy4;
+yy144:
+ yych = (unsigned char)*++cur;
+ if (yych == 'b') goto yy187;
+ goto yy4;
+yy145:
+ yych = (unsigned char)*++cur;
+ if (yych == 'p') goto yy188;
+ goto yy4;
+yy146:
+ yych = (unsigned char)*++cur;
+ if (yych == 'c') goto yy189;
+ goto yy4;
+yy147:
+ yych = (unsigned char)*++cur;
+ if (yych == 'p') goto yy190;
+ goto yy4;
+yy148:
+ yych = (unsigned char)*++cur;
+ if (yych == 'o') goto yy191;
+ goto yy4;
+yy149:
+ yych = (unsigned char)*++cur;
+ if (yych == 's') goto yy192;
+ goto yy4;
+yy150:
+ yych = (unsigned char)*++cur;
+ if (yych == '-') goto yy193;
+ goto yy4;
+yy151:
+ yych = (unsigned char)*++cur;
+ if (yych == 't') goto yy194;
+ goto yy4;
+yy152:
+ yych = (unsigned char)*++cur;
+ if (yych == 's') goto yy195;
+ goto yy4;
+yy153:
+ yych = (unsigned char)*++cur;
+ if (yych == 'g') goto yy196;
+ goto yy4;
+yy154:
+ yych = (unsigned char)*++cur;
+ if (yych == 'i') goto yy197;
+ goto yy4;
+yy155:
+ yych = (unsigned char)*++cur;
+ if (yych == 'f') goto yy198;
+ goto yy4;
+yy156:
+ yych = (unsigned char)*++cur;
+ if (yych == 'd') goto yy199;
+ goto yy4;
+yy157:
+ yych = (unsigned char)*++cur;
+ if (yych == 't') goto yy200;
+ goto yy4;
+yy158:
+ yych = (unsigned char)*++cur;
+ if (yych == 'o') goto yy201;
+ goto yy4;
+yy159:
+ yych = (unsigned char)*++cur;
+ if (yych == 'F') goto yy202;
+ if (yych == 'N') goto yy203;
+ goto yy4;
+yy160:
+ yych = (unsigned char)*++cur;
+ if (yych == 'f') goto yy204;
+ goto yy4;
+yy161:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy205;
+ goto yy4;
+yy162:
+ yych = (unsigned char)*++cur;
+ if (yych == 'o') goto yy206;
+ goto yy4;
+yy163:
+ yych = (unsigned char)*++cur;
+ if (yych == 'x') goto yy207;
+ goto yy4;
+yy164:
+ yych = (unsigned char)*++cur;
+ if (yych == 'r') goto yy208;
+ goto yy4;
+yy165:
+ yych = (unsigned char)*++cur;
+ if (yych == 'f') goto yy209;
+ goto yy4;
+yy166:
+ yych = (unsigned char)*++cur;
+ if (yych == ':') goto yy210;
+ goto yy4;
+yy167:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 92 "../src/ast/lex_conf.re"
+ { opts.set_yybmHexTable (lex_conf_bool()); return; }
+#line 918 "src/ast/lex_conf.cc"
+yy169:
+ yych = (unsigned char)*++cur;
+ if (yych == 'v') goto yy211;
+ goto yy4;
+yy170:
+ yych = (unsigned char)*++cur;
+ if (yych == 't') goto yy212;
+ goto yy4;
+yy171:
+ yych = (unsigned char)*++cur;
+ if (yych == 'h') goto yy214;
+ goto yy4;
+yy172:
+ yych = (unsigned char)*++cur;
+ if (yych == 'n') goto yy215;
+ goto yy4;
+yy173:
+ yych = (unsigned char)*++cur;
+ if (yych == 'a') goto yy216;
+ goto yy4;
+yy174:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy217;
+ goto yy4;
+yy175:
+ yych = (unsigned char)*++cur;
+ if (yych == 'd') goto yy218;
+ goto yy4;
+yy176:
+ yyaccept = 0;
+ yych = (unsigned char)*(mar = ++cur);
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+ if (yych == '@') goto yy219;
+yy177:
+#line 76 "../src/ast/lex_conf.re"
+ { opts.set_condGoto (lex_conf_string ()); return; }
+#line 957 "src/ast/lex_conf.cc"
+yy178:
+ yych = (unsigned char)*++cur;
+ if (yych == 'r') goto yy221;
+ goto yy4;
+yy179:
+ yych = (unsigned char)*++cur;
+ if (yych == 'x') goto yy222;
+ goto yy4;
+yy180:
+ yych = (unsigned char)*++cur;
+ switch (yych) {
+ case 'B': goto yy224;
+ case 'C': goto yy225;
+ case 'D': goto yy226;
+ case 'F': goto yy227;
+ case 'G': goto yy228;
+ case 'L': goto yy229;
+ case 'M': goto yy230;
+ case 'P': goto yy231;
+ case 'R': goto yy232;
+ case 'S': goto yy233;
+ default: goto yy4;
+ }
+yy181:
+ yych = (unsigned char)*++cur;
+ if (yych == '-') goto yy234;
+ goto yy4;
+yy182:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy235;
+ goto yy4;
+yy183:
+ yych = (unsigned char)*++cur;
+ if (yych == 'p') goto yy236;
+ goto yy4;
+yy184:
+ yych = (unsigned char)*++cur;
+ if (yych == 'u') goto yy237;
+ goto yy4;
+yy185:
+ yych = (unsigned char)*++cur;
+ if (yych == '-') goto yy238;
+ goto yy4;
+yy186:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy239;
+ goto yy4;
+yy187:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+ goto yy101;
+yy188:
+ yych = (unsigned char)*++cur;
+ if (yych == 't') goto yy240;
+ goto yy4;
+yy189:
+ yych = (unsigned char)*++cur;
+ if (yych == 'o') goto yy241;
+ goto yy4;
+yy190:
+ yych = (unsigned char)*++cur;
+ if (yych == 'u') goto yy242;
+ goto yy4;
+yy191:
+ yych = (unsigned char)*++cur;
+ if (yych == 'k') goto yy243;
+ goto yy4;
+yy192:
+ yych = (unsigned char)*++cur;
+ if (yych == 't') goto yy244;
+ goto yy4;
+yy193:
+ yych = (unsigned char)*++cur;
+ if (yych == 'd') goto yy245;
+ goto yy4;
+yy194:
+ yych = (unsigned char)*++cur;
+ if (yych == 'i') goto yy246;
+ goto yy4;
+yy195:
+ yych = (unsigned char)*++cur;
+ if (yych == 'i') goto yy247;
+ goto yy4;
+yy196:
+ yych = (unsigned char)*++cur;
+ if (yych == 's') goto yy93;
+ goto yy4;
+yy197:
+ yych = (unsigned char)*++cur;
+ if (yych == 'c') goto yy248;
+ goto yy4;
+yy198:
+ yych = (unsigned char)*++cur;
+ if (yych == '-') goto yy249;
+ goto yy4;
+yy199:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy250;
+ goto yy4;
+yy200:
+ yych = (unsigned char)*++cur;
+ if (yych == 'r') goto yy251;
+ goto yy4;
+yy201:
+ yych = (unsigned char)*++cur;
+ if (yych == 'p') goto yy252;
+ goto yy4;
+yy202:
+ yych = (unsigned char)*++cur;
+ if (yych == 'i') goto yy254;
+ goto yy4;
+yy203:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy255;
+ goto yy4;
+yy204:
+ yych = (unsigned char)*++cur;
+ if (yych == 'i') goto yy256;
+ goto yy4;
+yy205:
+ yych = (unsigned char)*++cur;
+ if (yych == 'l') goto yy257;
+ goto yy4;
+yy206:
+ yych = (unsigned char)*++cur;
+ if (yych == 'r') goto yy259;
+ goto yy4;
+yy207:
+ yych = (unsigned char)*++cur;
+ if (yych == 't') goto yy260;
+ goto yy4;
+yy208:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy261;
+ goto yy4;
+yy209:
+ yych = (unsigned char)*++cur;
+ if (yych == 'i') goto yy262;
+ goto yy4;
+yy210:
+ yych = (unsigned char)*++cur;
+ if (yych == 'y') goto yy263;
+ goto yy4;
+yy211:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy264;
+ goto yy4;
+yy212:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 143 "../src/ast/lex_conf.re"
+ { opts.set_bEmitYYCh (lex_conf_bool()); return; }
+#line 1114 "src/ast/lex_conf.cc"
+yy214:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy265;
+ goto yy4;
+yy215:
+ yych = (unsigned char)*++cur;
+ if (yych == 'a') goto yy266;
+ goto yy4;
+yy216:
+ yych = (unsigned char)*++cur;
+ if (yych == 'r') goto yy267;
+ goto yy4;
+yy217:
+ yych = (unsigned char)*++cur;
+ if (yych == 's') goto yy268;
+ goto yy4;
+yy218:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy269;
+ goto yy4;
+yy219:
+ yych = (unsigned char)*++cur;
+ if (yych == 'c') goto yy270;
+yy220:
+ cur = mar;
+ if (yyaccept <= 2) {
+ if (yyaccept <= 1) {
+ if (yyaccept == 0) {
+ goto yy177;
+ } else {
+ goto yy258;
+ }
+ } else {
+ goto yy328;
+ }
+ } else {
+ if (yyaccept <= 4) {
+ if (yyaccept == 3) {
+ goto yy395;
+ } else {
+ goto yy598;
+ }
+ } else {
+ goto yy675;
+ }
+ }
+yy221:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy271;
+ goto yy4;
+yy222:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 72 "../src/ast/lex_conf.re"
+ { opts.set_condPrefix (lex_conf_string ()); return; }
+#line 1172 "src/ast/lex_conf.cc"
+yy224:
+ yych = (unsigned char)*++cur;
+ if (yych == 'A') goto yy272;
+ goto yy4;
+yy225:
+ yych = (unsigned char)*++cur;
+ if (yych <= 'S') {
+ if (yych == 'O') goto yy273;
+ goto yy4;
+ } else {
+ if (yych <= 'T') goto yy274;
+ if (yych <= 'U') goto yy275;
+ goto yy4;
+ }
+yy226:
+ yych = (unsigned char)*++cur;
+ if (yych == 'E') goto yy276;
+ goto yy4;
+yy227:
+ yych = (unsigned char)*++cur;
+ if (yych == 'I') goto yy277;
+ goto yy4;
+yy228:
+ yych = (unsigned char)*++cur;
+ if (yych == 'E') goto yy278;
+ goto yy4;
+yy229:
+ yych = (unsigned char)*++cur;
+ if (yych == 'E') goto yy279;
+ if (yych == 'I') goto yy280;
+ goto yy4;
+yy230:
+ yych = (unsigned char)*++cur;
+ if (yych == 'A') goto yy281;
+ if (yych == 'T') goto yy282;
+ goto yy4;
+yy231:
+ yych = (unsigned char)*++cur;
+ if (yych == 'E') goto yy283;
+ goto yy4;
+yy232:
+ yych = (unsigned char)*++cur;
+ if (yych == 'E') goto yy284;
+ goto yy4;
+yy233:
+ yych = (unsigned char)*++cur;
+ if (yych <= 'J') {
+ if (yych == 'E') goto yy285;
+ goto yy4;
+ } else {
+ if (yych <= 'K') goto yy286;
+ if (yych == 'T') goto yy287;
+ goto yy4;
+ }
+yy234:
+ yych = (unsigned char)*++cur;
+ if (yych == 'v') goto yy288;
+ goto yy4;
+yy235:
+ yych = (unsigned char)*++cur;
+ if (yych == '-') goto yy289;
+ goto yy4;
+yy236:
+ yych = (unsigned char)*++cur;
+ if (yych == 'u') goto yy290;
+ goto yy4;
+yy237:
+ yych = (unsigned char)*++cur;
+ if (yych == 'g') goto yy291;
+ goto yy4;
+yy238:
+ yych = (unsigned char)*++cur;
+ if (yych == 'm') goto yy292;
+ goto yy4;
+yy239:
+ yych = (unsigned char)*++cur;
+ if (yych == 'r') goto yy293;
+ goto yy4;
+yy240:
+ yych = (unsigned char)*++cur;
+ if (yych == 'y') goto yy294;
+ goto yy4;
+yy241:
+ yych = (unsigned char)*++cur;
+ if (yych == 'd') goto yy295;
+ goto yy4;
+yy242:
+ yych = (unsigned char)*++cur;
+ if (yych == 't') goto yy296;
+ goto yy4;
+yy243:
+ yych = (unsigned char)*++cur;
+ if (yych == 'a') goto yy298;
+ goto yy4;
+yy244:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy299;
+ goto yy4;
+yy245:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy300;
+ goto yy4;
+yy246:
+ yych = (unsigned char)*++cur;
+ if (yych == 'm') goto yy301;
+ goto yy4;
+yy247:
+ yych = (unsigned char)*++cur;
+ if (yych == 'x') goto yy302;
+ goto yy4;
+yy248:
+ yych = (unsigned char)*++cur;
+ if (yych == 'o') goto yy303;
+ goto yy4;
+yy249:
+ yych = (unsigned char)*++cur;
+ if (yych == '1') goto yy304;
+ if (yych == '8') goto yy89;
+ goto yy4;
+yy250:
+ yych = (unsigned char)*++cur;
+ if (yych == '-') goto yy305;
+ goto yy4;
+yy251:
+ yych = (unsigned char)*++cur;
+ if (yych == 'i') goto yy306;
+ goto yy4;
+yy252:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 128 "../src/ast/lex_conf.re"
+ {
+ const int32_t n = lex_conf_number ();
+ if (n < 0)
+ {
+ fatal_lc(l, c, "configuration 'indent:top' must be nonnegative");
+ }
+ opts.set_topIndent (static_cast<uint32_t> (n));
+ return;
+ }
+#line 1315 "src/ast/lex_conf.cc"
+yy254:
+ yych = (unsigned char)*++cur;
+ if (yych == 'l') goto yy307;
+ goto yy4;
+yy255:
+ yych = (unsigned char)*++cur;
+ if (yych == 'x') goto yy308;
+ goto yy4;
+yy256:
+ yych = (unsigned char)*++cur;
+ if (yych == 'x') goto yy309;
+ goto yy4;
+yy257:
+ yyaccept = 1;
+ yych = (unsigned char)*(mar = ++cur);
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+ if (yych <= 0x1F) {
+ if (yych == '\t') {
+ ctx = cur;
+ goto yy311;
+ }
+ } else {
+ if (yych <= ' ') {
+ ctx = cur;
+ goto yy311;
+ }
+ if (yych == '=') {
+ ctx = cur;
+ goto yy313;
+ }
+ }
+yy258:
+#line 156 "../src/ast/lex_conf.re"
+ { opts.set_startlabel (lex_conf_string()); return; }
+#line 1352 "src/ast/lex_conf.cc"
+yy259:
+ yych = (unsigned char)*++cur;
+ if (yych == 't') goto yy315;
+ goto yy4;
+yy260:
+ yych = (unsigned char)*++cur;
+ if (yych == 'l') goto yy317;
+ goto yy4;
+yy261:
+ yych = (unsigned char)*++cur;
+ if (yych == 's') goto yy318;
+ goto yy4;
+yy262:
+ yych = (unsigned char)*++cur;
+ if (yych == 'x') goto yy319;
+ goto yy4;
+yy263:
+ yych = (unsigned char)*++cur;
+ if (yych == 'y') goto yy321;
+ goto yy4;
+yy264:
+ yych = (unsigned char)*++cur;
+ if (yych == 'r') goto yy322;
+ goto yy4;
+yy265:
+ yych = (unsigned char)*++cur;
+ if (yych == 'c') goto yy323;
+ goto yy4;
+yy266:
+ yych = (unsigned char)*++cur;
+ if (yych == 'b') goto yy324;
+ goto yy4;
+yy267:
+ yych = (unsigned char)*++cur;
+ if (yych == 'a') goto yy325;
+ goto yy4;
+yy268:
+ yych = (unsigned char)*++cur;
+ if (yych == 'h') goto yy326;
+ goto yy4;
+yy269:
+ yych = (unsigned char)*++cur;
+ if (yych == 'r') goto yy327;
+ goto yy4;
+yy270:
+ yych = (unsigned char)*++cur;
+ if (yych == 'o') goto yy329;
+ goto yy220;
+yy271:
+ yych = (unsigned char)*++cur;
+ if (yych == 'f') goto yy330;
+ goto yy4;
+yy272:
+ yych = (unsigned char)*++cur;
+ if (yych == 'C') goto yy331;
+ goto yy4;
+yy273:
+ yych = (unsigned char)*++cur;
+ if (yych == 'N') goto yy332;
+ goto yy4;
+yy274:
+ yych = (unsigned char)*++cur;
+ if (yych <= 'W') goto yy4;
+ if (yych <= 'X') goto yy333;
+ if (yych <= 'Y') goto yy334;
+ goto yy4;
+yy275:
+ yych = (unsigned char)*++cur;
+ if (yych == 'R') goto yy335;
+ goto yy4;
+yy276:
+ yych = (unsigned char)*++cur;
+ if (yych == 'B') goto yy336;
+ goto yy4;
+yy277:
+ yych = (unsigned char)*++cur;
+ if (yych == 'L') goto yy337;
+ goto yy4;
+yy278:
+ yych = (unsigned char)*++cur;
+ if (yych == 'T') goto yy338;
+ goto yy4;
+yy279:
+ yych = (unsigned char)*++cur;
+ if (yych == 'S') goto yy339;
+ goto yy4;
+yy280:
+ yych = (unsigned char)*++cur;
+ if (yych == 'M') goto yy340;
+ goto yy4;
+yy281:
+ yych = (unsigned char)*++cur;
+ if (yych == 'R') goto yy341;
+ goto yy4;
+yy282:
+ yych = (unsigned char)*++cur;
+ if (yych == 'A') goto yy342;
+ goto yy4;
+yy283:
+ yych = (unsigned char)*++cur;
+ if (yych == 'E') goto yy343;
+ goto yy4;
+yy284:
+ yych = (unsigned char)*++cur;
+ if (yych == 'S') goto yy344;
+ goto yy4;
+yy285:
+ yych = (unsigned char)*++cur;
+ if (yych == 'T') goto yy345;
+ goto yy4;
+yy286:
+ yych = (unsigned char)*++cur;
+ if (yych == 'I') goto yy346;
+ goto yy4;
+yy287:
+ yych = (unsigned char)*++cur;
+ if (yych == 'A') goto yy347;
+ goto yy4;
+yy288:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy348;
+ goto yy4;
+yy289:
+ yych = (unsigned char)*++cur;
+ if (yych == 'i') goto yy349;
+ goto yy4;
+yy290:
+ yych = (unsigned char)*++cur;
+ if (yych == 't') goto yy350;
+ goto yy4;
+yy291:
+ yych = (unsigned char)*++cur;
+ if (yych == '-') goto yy351;
+ goto yy4;
+yy292:
+ yych = (unsigned char)*++cur;
+ if (yych == 'i') goto yy352;
+ goto yy4;
+yy293:
+ yych = (unsigned char)*++cur;
+ if (yych == '-') goto yy353;
+ goto yy4;
+yy294:
+ yych = (unsigned char)*++cur;
+ if (yych == '-') goto yy354;
+ goto yy4;
+yy295:
+ yych = (unsigned char)*++cur;
+ if (yych == 'i') goto yy355;
+ goto yy4;
+yy296:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 62 "../src/ast/lex_conf.re"
+ { lex_conf_input(opts); return; }
+#line 1510 "src/ast/lex_conf.cc"
+yy298:
+ yych = (unsigned char)*++cur;
+ if (yych == 'h') goto yy356;
+ goto yy4;
+yy299:
+ yych = (unsigned char)*++cur;
+ if (yych == 'd') goto yy357;
+ goto yy4;
+yy300:
+ yych = (unsigned char)*++cur;
+ if (yych == 'b') goto yy358;
+ goto yy4;
+yy301:
+ yych = (unsigned char)*++cur;
+ if (yych == 'i') goto yy359;
+ goto yy4;
+yy302:
+ yych = (unsigned char)*++cur;
+ if (yych == '-') goto yy360;
+ goto yy4;
+yy303:
+ yych = (unsigned char)*++cur;
+ if (yych == 'd') goto yy361;
+ goto yy4;
+yy304:
+ yych = (unsigned char)*++cur;
+ if (yych == '6') goto yy117;
+ goto yy4;
+yy305:
+ yych = (unsigned char)*++cur;
+ if (yych == 'c') goto yy362;
+ goto yy4;
+yy306:
+ yych = (unsigned char)*++cur;
+ if (yych == 'n') goto yy363;
+ goto yy4;
+yy307:
+ yych = (unsigned char)*++cur;
+ if (yych == 'l') goto yy364;
+ goto yy4;
+yy308:
+ yych = (unsigned char)*++cur;
+ if (yych == 't') goto yy365;
+ goto yy4;
+yy309:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 152 "../src/ast/lex_conf.re"
+ { opts.set_labelPrefix (lex_conf_string ()); return; }
+#line 1562 "src/ast/lex_conf.cc"
+yy311:
+ ++cur;
+ if (lim <= cur) fill(1);
+ yych = (unsigned char)*cur;
+ if (yybm[0+yych] & 64) {
+ goto yy311;
+ }
+ if (yych != '=') goto yy220;
+yy313:
+ ++cur;
+ if ((lim - cur) < 2) fill(2);
+ yych = (unsigned char)*cur;
+ if (yych <= ',') {
+ if (yych <= '\t') {
+ if (yych <= 0x08) goto yy220;
+ goto yy313;
+ } else {
+ if (yych == ' ') goto yy313;
+ goto yy220;
+ }
+ } else {
+ if (yych <= '/') {
+ if (yych <= '-') goto yy367;
+ goto yy220;
+ } else {
+ if (yych <= '0') goto yy368;
+ if (yych <= '9') goto yy370;
+ goto yy220;
+ }
+ }
+yy315:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 87 "../src/ast/lex_conf.re"
+ { opts.set_bUseStateAbort (lex_conf_bool()); return; }
+#line 1600 "src/ast/lex_conf.cc"
+yy317:
+ yych = (unsigned char)*++cur;
+ if (yych == 'a') goto yy372;
+ goto yy4;
+yy318:
+ yych = (unsigned char)*++cur;
+ if (yych == 's') goto yy373;
+ goto yy4;
+yy319:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 123 "../src/ast/lex_conf.re"
+ { opts.set_tags_prefix (lex_conf_string ()); return; }
+#line 1616 "src/ast/lex_conf.cc"
+yy321:
+ yych = (unsigned char)*++cur;
+ if (yych <= 'c') {
+ if (yych <= '`') goto yy4;
+ if (yych <= 'a') goto yy374;
+ if (yych <= 'b') goto yy375;
+ goto yy376;
+ } else {
+ if (yych <= 'r') goto yy4;
+ if (yych <= 's') goto yy377;
+ if (yych <= 't') goto yy378;
+ goto yy4;
+ }
+yy322:
+ yych = (unsigned char)*++cur;
+ if (yych == 's') goto yy379;
+ goto yy4;
+yy323:
+ yych = (unsigned char)*++cur;
+ if (yych == 'k') goto yy380;
+ goto yy4;
+yy324:
+ yych = (unsigned char)*++cur;
+ if (yych == 'l') goto yy382;
+ goto yy4;
+yy325:
+ yych = (unsigned char)*++cur;
+ if (yych == 'm') goto yy383;
+ goto yy4;
+yy326:
+ yych = (unsigned char)*++cur;
+ if (yych == 'o') goto yy384;
+ goto yy4;
+yy327:
+ yyaccept = 2;
+ yych = (unsigned char)*(mar = ++cur);
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+ if (yych == '@') goto yy385;
+yy328:
+#line 74 "../src/ast/lex_conf.re"
+ { opts.set_condDivider (lex_conf_string ()); return; }
+#line 1660 "src/ast/lex_conf.cc"
+yy329:
+ yych = (unsigned char)*++cur;
+ if (yych == 'n') goto yy386;
+ goto yy220;
+yy330:
+ yych = (unsigned char)*++cur;
+ if (yych == 'i') goto yy387;
+ goto yy4;
+yy331:
+ yych = (unsigned char)*++cur;
+ if (yych == 'K') goto yy388;
+ goto yy4;
+yy332:
+ yych = (unsigned char)*++cur;
+ if (yych == 'D') goto yy389;
+ goto yy4;
+yy333:
+ yych = (unsigned char)*++cur;
+ if (yych == 'M') goto yy390;
+ goto yy4;
+yy334:
+ yych = (unsigned char)*++cur;
+ if (yych == 'P') goto yy391;
+ goto yy4;
+yy335:
+ yych = (unsigned char)*++cur;
+ if (yych == 'S') goto yy392;
+ goto yy4;
+yy336:
+ yych = (unsigned char)*++cur;
+ if (yych == 'U') goto yy393;
+ goto yy4;
+yy337:
+ yych = (unsigned char)*++cur;
+ if (yych == 'L') goto yy394;
+ goto yy4;
+yy338:
+ yych = (unsigned char)*++cur;
+ if (yych == 'C') goto yy396;
+ if (yych == 'S') goto yy397;
+ goto yy4;
+yy339:
+ yych = (unsigned char)*++cur;
+ if (yych == 'S') goto yy398;
+ goto yy4;
+yy340:
+ yych = (unsigned char)*++cur;
+ if (yych == 'I') goto yy399;
+ goto yy4;
+yy341:
+ yych = (unsigned char)*++cur;
+ if (yych == 'K') goto yy400;
+ goto yy4;
+yy342:
+ yych = (unsigned char)*++cur;
+ if (yych == 'G') goto yy401;
+ goto yy4;
+yy343:
+ yych = (unsigned char)*++cur;
+ if (yych == 'K') goto yy402;
+ goto yy4;
+yy344:
+ yych = (unsigned char)*++cur;
+ if (yych == 'T') goto yy404;
+ goto yy4;
+yy345:
+ yych = (unsigned char)*++cur;
+ if (yych == 'C') goto yy405;
+ if (yych == 'S') goto yy406;
+ goto yy4;
+yy346:
+ yych = (unsigned char)*++cur;
+ if (yych == 'P') goto yy407;
+ goto yy4;
+yy347:
+ yych = (unsigned char)*++cur;
+ if (yych == 'G') goto yy409;
+ goto yy4;
+yy348:
+ yych = (unsigned char)*++cur;
+ if (yych == 'c') goto yy410;
+ goto yy4;
+yy349:
+ yych = (unsigned char)*++cur;
+ if (yych == 'n') goto yy411;
+ goto yy4;
+yy350:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy412;
+ goto yy4;
+yy351:
+ yych = (unsigned char)*++cur;
+ if (yych == 'o') goto yy413;
+ goto yy4;
+yy352:
+ yych = (unsigned char)*++cur;
+ if (yych == 'n') goto yy414;
+ goto yy4;
+yy353:
+ yych = (unsigned char)*++cur;
+ if (yych == 's') goto yy415;
+ goto yy4;
+yy354:
+ yych = (unsigned char)*++cur;
+ if (yych == 'c') goto yy416;
+ goto yy4;
+yy355:
+ yych = (unsigned char)*++cur;
+ if (yych == 'n') goto yy417;
+ goto yy4;
+yy356:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy418;
+ goto yy4;
+yy357:
+ yych = (unsigned char)*++cur;
+ if (yych == '-') goto yy419;
+ goto yy4;
+yy358:
+ yych = (unsigned char)*++cur;
+ if (yych == 'u') goto yy420;
+ goto yy4;
+yy359:
+ yych = (unsigned char)*++cur;
+ if (yych == 'z') goto yy421;
+ goto yy4;
+yy360:
+ yych = (unsigned char)*++cur;
+ if (yych == 'c') goto yy422;
+ goto yy4;
+yy361:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy423;
+ goto yy4;
+yy362:
+ yych = (unsigned char)*++cur;
+ if (yych == 'h') goto yy424;
+ goto yy4;
+yy363:
+ yych = (unsigned char)*++cur;
+ if (yych == 'g') goto yy425;
+ goto yy4;
+yy364:
+ yych = (unsigned char)*++cur;
+ if (yych == 'L') goto yy427;
+ goto yy4;
+yy365:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 86 "../src/ast/lex_conf.re"
+ { opts.set_yynext (lex_conf_string ()); return; }
+#line 1814 "src/ast/lex_conf.cc"
+yy367:
+ yych = (unsigned char)*++cur;
+ if (yych <= '0') goto yy220;
+ if (yych <= '9') goto yy370;
+ goto yy220;
+yy368:
+ ++cur;
+yy369:
+ cur = ctx;
+#line 155 "../src/ast/lex_conf.re"
+ { opts.set_startlabel_force (lex_conf_bool()); return; }
+#line 1826 "src/ast/lex_conf.cc"
+yy370:
+ ++cur;
+ if (lim <= cur) fill(1);
+ yych = (unsigned char)*cur;
+ if (yybm[0+yych] & 128) {
+ goto yy370;
+ }
+ goto yy369;
+yy372:
+ yych = (unsigned char)*++cur;
+ if (yych == 'b') goto yy428;
+ goto yy4;
+yy373:
+ yych = (unsigned char)*++cur;
+ if (yych == 'i') goto yy429;
+ goto yy4;
+yy374:
+ yych = (unsigned char)*++cur;
+ if (yych == 'c') goto yy430;
+ goto yy4;
+yy375:
+ yych = (unsigned char)*++cur;
+ if (yych == 'm') goto yy431;
+ goto yy4;
+yy376:
+ yych = (unsigned char)*++cur;
+ if (yych == 'h') goto yy433;
+ if (yych == 't') goto yy435;
+ goto yy4;
+yy377:
+ yych = (unsigned char)*++cur;
+ if (yych == 't') goto yy436;
+ goto yy4;
+yy378:
+ yych = (unsigned char)*++cur;
+ if (yych == 'a') goto yy437;
+ goto yy4;
+yy379:
+ yych = (unsigned char)*++cur;
+ if (yych == 'i') goto yy438;
+ goto yy4;
+yy380:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 150 "../src/ast/lex_conf.re"
+ { opts.set_fill_check (lex_conf_bool()); return; }
+#line 1875 "src/ast/lex_conf.cc"
+yy382:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy439;
+ goto yy4;
+yy383:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy441;
+ goto yy4;
+yy384:
+ yych = (unsigned char)*++cur;
+ if (yych == 'l') goto yy442;
+ goto yy4;
+yy385:
+ yych = (unsigned char)*++cur;
+ if (yych == 'c') goto yy443;
+ goto yy220;
+yy386:
+ yych = (unsigned char)*++cur;
+ if (yych == 'd') goto yy444;
+ goto yy220;
+yy387:
+ yych = (unsigned char)*++cur;
+ if (yych == 'x') goto yy446;
+ goto yy4;
+yy388:
+ yych = (unsigned char)*++cur;
+ if (yych == 'U') goto yy448;
+ goto yy4;
+yy389:
+ yych = (unsigned char)*++cur;
+ if (yych == 'T') goto yy449;
+ goto yy4;
+yy390:
+ yych = (unsigned char)*++cur;
+ if (yych == 'A') goto yy450;
+ goto yy4;
+yy391:
+ yych = (unsigned char)*++cur;
+ if (yych == 'E') goto yy451;
+ goto yy4;
+yy392:
+ yych = (unsigned char)*++cur;
+ if (yych == 'O') goto yy453;
+ goto yy4;
+yy393:
+ yych = (unsigned char)*++cur;
+ if (yych == 'G') goto yy454;
+ goto yy4;
+yy394:
+ yyaccept = 3;
+ yych = (unsigned char)*(mar = ++cur);
+ if (yych <= '?') {
+ if (yych <= '/') {
+ if (yych == '-') goto yy3;
+ } else {
+ if (yych <= '9') goto yy3;
+ if (yych <= ':') goto yy456;
+ }
+ } else {
+ if (yych <= '^') {
+ if (yych <= '@') goto yy457;
+ if (yych <= 'Z') goto yy3;
+ } else {
+ if (yych == '`') goto yy395;
+ if (yych <= 'z') goto yy3;
+ }
+ }
+yy395:
+#line 145 "../src/ast/lex_conf.re"
+ { opts.set_fill (lex_conf_string ()); return; }
+#line 1946 "src/ast/lex_conf.cc"
+yy396:
+ yych = (unsigned char)*++cur;
+ if (yych == 'O') goto yy458;
+ goto yy4;
+yy397:
+ yych = (unsigned char)*++cur;
+ if (yych == 'T') goto yy459;
+ goto yy4;
+yy398:
+ yych = (unsigned char)*++cur;
+ if (yych == 'T') goto yy460;
+ goto yy4;
+yy399:
+ yych = (unsigned char)*++cur;
+ if (yych == 'T') goto yy461;
+ goto yy4;
+yy400:
+ yych = (unsigned char)*++cur;
+ if (yych == 'E') goto yy463;
+ goto yy4;
+yy401:
+ yych = (unsigned char)*++cur;
+ if (yych == 'N') goto yy464;
+ if (yych == 'P') goto yy466;
+ goto yy4;
+yy402:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 110 "../src/ast/lex_conf.re"
+ { opts.set_yypeek (lex_conf_string ()); return; }
+#line 1979 "src/ast/lex_conf.cc"
+yy404:
+ yych = (unsigned char)*++cur;
+ if (yych == 'O') goto yy468;
+ goto yy4;
+yy405:
+ yych = (unsigned char)*++cur;
+ if (yych == 'O') goto yy469;
+ goto yy4;
+yy406:
+ yych = (unsigned char)*++cur;
+ if (yych == 'T') goto yy470;
+ goto yy4;
+yy407:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 111 "../src/ast/lex_conf.re"
+ { opts.set_yyskip (lex_conf_string ()); return; }
+#line 1999 "src/ast/lex_conf.cc"
+yy409:
+ yych = (unsigned char)*++cur;
+ if (yych == 'N') goto yy471;
+ if (yych == 'P') goto yy473;
+ goto yy4;
+yy410:
+ yych = (unsigned char)*++cur;
+ if (yych == 't') goto yy475;
+ goto yy4;
+yy411:
+ yych = (unsigned char)*++cur;
+ if (yych == 's') goto yy476;
+ if (yych == 'v') goto yy477;
+ goto yy4;
+yy412:
+ yych = (unsigned char)*++cur;
+ if (yych == 'd') goto yy478;
+ goto yy4;
+yy413:
+ yych = (unsigned char)*++cur;
+ if (yych == 'u') goto yy479;
+ goto yy4;
+yy414:
+ yych = (unsigned char)*++cur;
+ if (yych == 'i') goto yy480;
+ goto yy4;
+yy415:
+ yych = (unsigned char)*++cur;
+ if (yych == 'k') goto yy481;
+ goto yy4;
+yy416:
+ yych = (unsigned char)*++cur;
+ if (yych == 'l') goto yy482;
+ goto yy4;
+yy417:
+ yych = (unsigned char)*++cur;
+ if (yych == 'g') goto yy483;
+ goto yy4;
+yy418:
+ yych = (unsigned char)*++cur;
+ if (yych == 'a') goto yy484;
+ goto yy4;
+yy419:
+ yych = (unsigned char)*++cur;
+ if (yych == 'i') goto yy485;
+ goto yy4;
+yy420:
+ yych = (unsigned char)*++cur;
+ if (yych == 'g') goto yy486;
+ goto yy4;
+yy421:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy487;
+ goto yy4;
+yy422:
+ yych = (unsigned char)*++cur;
+ if (yych == 'a') goto yy488;
+ goto yy4;
+yy423:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+ goto yy114;
+yy424:
+ yych = (unsigned char)*++cur;
+ if (yych == 'a') goto yy489;
+ goto yy4;
+yy425:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 126 "../src/ast/lex_conf.re"
+ { opts.set_indString (lex_conf_string ()); return; }
+#line 2075 "src/ast/lex_conf.cc"
+yy427:
+ yych = (unsigned char)*++cur;
+ if (yych == 'a') goto yy490;
+ goto yy4;
+yy428:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy491;
+ goto yy4;
+yy429:
+ yych = (unsigned char)*++cur;
+ if (yych == 'o') goto yy492;
+ goto yy4;
+yy430:
+ yych = (unsigned char)*++cur;
+ if (yych == 'c') goto yy493;
+ goto yy4;
+yy431:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 91 "../src/ast/lex_conf.re"
+ { opts.set_yybm (lex_conf_string ()); return; }
+#line 2099 "src/ast/lex_conf.cc"
+yy433:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 141 "../src/ast/lex_conf.re"
+ { opts.set_yych (lex_conf_string ()); return; }
+#line 2107 "src/ast/lex_conf.cc"
+yy435:
+ yych = (unsigned char)*++cur;
+ if (yych == 'a') goto yy494;
+ goto yy4;
+yy436:
+ yych = (unsigned char)*++cur;
+ if (yych == 'a') goto yy495;
+ goto yy4;
+yy437:
+ yych = (unsigned char)*++cur;
+ if (yych == 'r') goto yy496;
+ goto yy4;
+yy438:
+ yych = (unsigned char)*++cur;
+ if (yych == 'o') goto yy497;
+ goto yy4;
+yy439:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 146 "../src/ast/lex_conf.re"
+ { opts.set_fill_use (lex_conf_bool()); return; }
+#line 2131 "src/ast/lex_conf.cc"
+yy441:
+ yych = (unsigned char)*++cur;
+ if (yych == 't') goto yy498;
+ goto yy4;
+yy442:
+ yych = (unsigned char)*++cur;
+ if (yych == 'd') goto yy499;
+ goto yy4;
+yy443:
+ yych = (unsigned char)*++cur;
+ if (yych == 'o') goto yy501;
+ goto yy220;
+yy444:
+ ++cur;
+#line 77 "../src/ast/lex_conf.re"
+ { opts.set_condGotoParam (lex_conf_string ()); return; }
+#line 2148 "src/ast/lex_conf.cc"
+yy446:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 73 "../src/ast/lex_conf.re"
+ { opts.set_condEnumPrefix (lex_conf_string ()); return; }
+#line 2156 "src/ast/lex_conf.cc"
+yy448:
+ yych = (unsigned char)*++cur;
+ if (yych == 'P') goto yy502;
+ goto yy4;
+yy449:
+ yych = (unsigned char)*++cur;
+ if (yych == 'Y') goto yy504;
+ goto yy4;
+yy450:
+ yych = (unsigned char)*++cur;
+ if (yych == 'R') goto yy505;
+ goto yy4;
+yy451:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 140 "../src/ast/lex_conf.re"
+ { opts.set_yyctype (lex_conf_string ()); return; }
+#line 2176 "src/ast/lex_conf.cc"
+yy453:
+ yych = (unsigned char)*++cur;
+ if (yych == 'R') goto yy506;
+ goto yy4;
+yy454:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 138 "../src/ast/lex_conf.re"
+ { opts.set_yydebug (lex_conf_string ()); return; }
+#line 2188 "src/ast/lex_conf.cc"
+yy456:
+ yych = (unsigned char)*++cur;
+ if (yych == 'n') goto yy508;
+ goto yy4;
+yy457:
+ yych = (unsigned char)*++cur;
+ if (yych == 'l') goto yy509;
+ goto yy220;
+yy458:
+ yych = (unsigned char)*++cur;
+ if (yych == 'N') goto yy510;
+ goto yy4;
+yy459:
+ yych = (unsigned char)*++cur;
+ if (yych == 'A') goto yy511;
+ goto yy4;
+yy460:
+ yych = (unsigned char)*++cur;
+ if (yych == 'H') goto yy512;
+ goto yy4;
+yy461:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 108 "../src/ast/lex_conf.re"
+ { opts.set_yylimit (lex_conf_string ()); return; }
+#line 2216 "src/ast/lex_conf.cc"
+yy463:
+ yych = (unsigned char)*++cur;
+ if (yych == 'R') goto yy513;
+ goto yy4;
+yy464:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 120 "../src/ast/lex_conf.re"
+ { opts.set_yymtagn (lex_conf_string ()); return; }
+#line 2228 "src/ast/lex_conf.cc"
+yy466:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 121 "../src/ast/lex_conf.re"
+ { opts.set_yymtagp (lex_conf_string ()); return; }
+#line 2236 "src/ast/lex_conf.cc"
+yy468:
+ yych = (unsigned char)*++cur;
+ if (yych == 'R') goto yy515;
+ goto yy4;
+yy469:
+ yych = (unsigned char)*++cur;
+ if (yych == 'N') goto yy516;
+ goto yy4;
+yy470:
+ yych = (unsigned char)*++cur;
+ if (yych == 'A') goto yy517;
+ goto yy4;
+yy471:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 118 "../src/ast/lex_conf.re"
+ { opts.set_yystagn (lex_conf_string ()); return; }
+#line 2256 "src/ast/lex_conf.cc"
+yy473:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 119 "../src/ast/lex_conf.re"
+ { opts.set_yystagp (lex_conf_string ()); return; }
+#line 2264 "src/ast/lex_conf.cc"
+yy475:
+ yych = (unsigned char)*++cur;
+ if (yych == 'o') goto yy518;
+ goto yy4;
+yy476:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy519;
+ goto yy4;
+yy477:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy520;
+ goto yy4;
+yy478:
+ yych = (unsigned char)*++cur;
+ if (yych == '-') goto yy521;
+ goto yy4;
+yy479:
+ yych = (unsigned char)*++cur;
+ if (yych == 't') goto yy522;
+ goto yy4;
+yy480:
+ yych = (unsigned char)*++cur;
+ if (yych == 'm') goto yy523;
+ goto yy4;
+yy481:
+ yych = (unsigned char)*++cur;
+ if (yych == 'i') goto yy524;
+ goto yy4;
+yy482:
+ yych = (unsigned char)*++cur;
+ if (yych == 'a') goto yy525;
+ goto yy4;
+yy483:
+ yych = (unsigned char)*++cur;
+ if (yych == '-') goto yy526;
+ goto yy4;
+yy484:
+ yych = (unsigned char)*++cur;
+ if (yych == 'd') goto yy527;
+ goto yy4;
+yy485:
+ yych = (unsigned char)*++cur;
+ if (yych == 'f') goto yy529;
+ goto yy4;
+yy486:
+ yych = (unsigned char)*++cur;
+ if (yych == '-') goto yy530;
+ goto yy4;
+yy487:
+ yych = (unsigned char)*++cur;
+ if (yych == '-') goto yy531;
+ goto yy4;
+yy488:
+ yych = (unsigned char)*++cur;
+ if (yych == 'p') goto yy532;
+ goto yy4;
+yy489:
+ yych = (unsigned char)*++cur;
+ if (yych == 'r') goto yy533;
+ goto yy4;
+yy490:
+ yych = (unsigned char)*++cur;
+ if (yych == 'b') goto yy534;
+ goto yy4;
+yy491:
+ yych = (unsigned char)*++cur;
+ if (yych == 'l') goto yy535;
+ goto yy4;
+yy492:
+ yych = (unsigned char)*++cur;
+ if (yych == 'n') goto yy537;
+ goto yy4;
+yy493:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy539;
+ goto yy4;
+yy494:
+ yych = (unsigned char)*++cur;
+ if (yych == 'b') goto yy540;
+ goto yy4;
+yy495:
+ yych = (unsigned char)*++cur;
+ if (yych == 'b') goto yy541;
+ goto yy4;
+yy496:
+ yych = (unsigned char)*++cur;
+ if (yych == 'g') goto yy542;
+ goto yy4;
+yy497:
+ yych = (unsigned char)*++cur;
+ if (yych == 'n') goto yy543;
+ goto yy4;
+yy498:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy545;
+ goto yy4;
+yy499:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 94 "../src/ast/lex_conf.re"
+ {
+ const int32_t n = lex_conf_number ();
+ if (n < 0)
+ {
+ fatal_lc(l, c, "configuration 'cgoto:threshold' must be nonnegative");
+ }
+ opts.set_cGotoThreshold (static_cast<uint32_t> (n));
+ return;
+ }
+#line 2376 "src/ast/lex_conf.cc"
+yy501:
+ yych = (unsigned char)*++cur;
+ if (yych == 'n') goto yy546;
+ goto yy220;
+yy502:
+ yych = (unsigned char)*++cur;
+ if (yych <= 'B') {
+ if (yych <= '/') {
+ if (yych == '-') goto yy3;
+ } else {
+ if (yych <= ':') goto yy3;
+ if (yych >= 'A') goto yy3;
+ }
+ } else {
+ if (yych <= '^') {
+ if (yych <= 'C') goto yy547;
+ if (yych <= 'Z') goto yy3;
+ } else {
+ if (yych == '`') goto yy503;
+ if (yych <= 'z') goto yy3;
+ }
+ }
+yy503:
+#line 112 "../src/ast/lex_conf.re"
+ { opts.set_yybackup (lex_conf_string ()); return; }
+#line 2402 "src/ast/lex_conf.cc"
+yy504:
+ yych = (unsigned char)*++cur;
+ if (yych == 'P') goto yy548;
+ goto yy4;
+yy505:
+ yych = (unsigned char)*++cur;
+ if (yych == 'K') goto yy549;
+ goto yy4;
+yy506:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 105 "../src/ast/lex_conf.re"
+ { opts.set_yycursor (lex_conf_string ()); return; }
+#line 2418 "src/ast/lex_conf.cc"
+yy508:
+ yych = (unsigned char)*++cur;
+ if (yych == 'a') goto yy550;
+ goto yy4;
+yy509:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy551;
+ goto yy220;
+yy510:
+ yych = (unsigned char)*++cur;
+ if (yych == 'D') goto yy552;
+ goto yy4;
+yy511:
+ yych = (unsigned char)*++cur;
+ if (yych == 'T') goto yy553;
+ goto yy4;
+yy512:
+ yych = (unsigned char)*++cur;
+ if (yych == 'A') goto yy554;
+ goto yy4;
+yy513:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 106 "../src/ast/lex_conf.re"
+ { opts.set_yymarker (lex_conf_string ()); return; }
+#line 2446 "src/ast/lex_conf.cc"
+yy515:
+ yych = (unsigned char)*++cur;
+ if (yych == 'E') goto yy555;
+ goto yy4;
+yy516:
+ yych = (unsigned char)*++cur;
+ if (yych == 'D') goto yy557;
+ goto yy4;
+yy517:
+ yych = (unsigned char)*++cur;
+ if (yych == 'T') goto yy558;
+ goto yy4;
+yy518:
+ yych = (unsigned char)*++cur;
+ if (yych == 'r') goto yy559;
+ goto yy4;
+yy519:
+ yych = (unsigned char)*++cur;
+ if (yych == 'n') goto yy560;
+ goto yy4;
+yy520:
+ yych = (unsigned char)*++cur;
+ if (yych == 'r') goto yy561;
+ goto yy4;
+yy521:
+ yych = (unsigned char)*++cur;
+ if (yych == 'g') goto yy562;
+ goto yy4;
+yy522:
+ yych = (unsigned char)*++cur;
+ if (yych == 'p') goto yy563;
+ goto yy4;
+yy523:
+ yych = (unsigned char)*++cur;
+ if (yych == 'i') goto yy564;
+ goto yy4;
+yy524:
+ yych = (unsigned char)*++cur;
+ if (yych == 'p') goto yy565;
+ goto yy4;
+yy525:
+ yych = (unsigned char)*++cur;
+ if (yych == 's') goto yy567;
+ goto yy4;
+yy526:
+ yych = (unsigned char)*++cur;
+ if (yych == 'p') goto yy568;
+ goto yy4;
+yy527:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 51 "../src/ast/lex_conf.re"
+ { opts.set_lookahead(lex_conf_bool()); return; }
+#line 2502 "src/ast/lex_conf.cc"
+yy529:
+ yych = (unsigned char)*++cur;
+ if (yych == 's') goto yy110;
+ goto yy4;
+yy530:
+ yych = (unsigned char)*++cur;
+ if (yych == 'i') goto yy569;
+ goto yy4;
+yy531:
+ yych = (unsigned char)*++cur;
+ if (yych == 't') goto yy570;
+ goto yy4;
+yy532:
+ yych = (unsigned char)*++cur;
+ if (yych == 't') goto yy571;
+ goto yy4;
+yy533:
+ yych = (unsigned char)*++cur;
+ if (yych == 's') goto yy572;
+ goto yy4;
+yy534:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy573;
+ goto yy4;
+yy535:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 88 "../src/ast/lex_conf.re"
+ { opts.set_bUseStateNext (lex_conf_bool()); return; }
+#line 2534 "src/ast/lex_conf.cc"
+yy537:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 124 "../src/ast/lex_conf.re"
+ { opts.set_tags_expression(lex_conf_string ()); return; }
+#line 2542 "src/ast/lex_conf.cc"
+yy539:
+ yych = (unsigned char)*++cur;
+ if (yych == 'p') goto yy574;
+ goto yy4;
+yy540:
+ yych = (unsigned char)*++cur;
+ if (yych == 'l') goto yy575;
+ goto yy4;
+yy541:
+ yych = (unsigned char)*++cur;
+ if (yych == 'l') goto yy576;
+ goto yy4;
+yy542:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy577;
+ goto yy4;
+yy543:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 142 "../src/ast/lex_conf.re"
+ { opts.set_yychConversion (lex_conf_bool()); return; }
+#line 2566 "src/ast/lex_conf.cc"
+yy545:
+ yych = (unsigned char)*++cur;
+ if (yych == 'r') goto yy578;
+ goto yy4;
+yy546:
+ yych = (unsigned char)*++cur;
+ if (yych == 'd') goto yy580;
+ goto yy220;
+yy547:
+ yych = (unsigned char)*++cur;
+ if (yych == 'T') goto yy582;
+ goto yy4;
+yy548:
+ yych = (unsigned char)*++cur;
+ if (yych == 'E') goto yy583;
+ goto yy4;
+yy549:
+ yych = (unsigned char)*++cur;
+ if (yych == 'E') goto yy585;
+ goto yy4;
+yy550:
+ yych = (unsigned char)*++cur;
+ if (yych == 'k') goto yy586;
+ goto yy4;
+yy551:
+ yych = (unsigned char)*++cur;
+ if (yych == 'n') goto yy587;
+ goto yy220;
+yy552:
+ yych = (unsigned char)*++cur;
+ if (yych == 'I') goto yy589;
+ goto yy4;
+yy553:
+ yych = (unsigned char)*++cur;
+ if (yych == 'E') goto yy590;
+ goto yy4;
+yy554:
+ yych = (unsigned char)*++cur;
+ if (yych == 'N') goto yy592;
+ goto yy4;
+yy555:
+ yych = (unsigned char)*++cur;
+ if (yych <= 'C') {
+ if (yych <= '/') {
+ if (yych == '-') goto yy3;
+ } else {
+ if (yych <= ':') goto yy3;
+ if (yych <= '@') goto yy556;
+ if (yych <= 'B') goto yy3;
+ goto yy594;
+ }
+ } else {
+ if (yych <= '^') {
+ if (yych == 'T') goto yy595;
+ if (yych <= 'Z') goto yy3;
+ } else {
+ if (yych == '`') goto yy556;
+ if (yych <= 'z') goto yy3;
+ }
+ }
+yy556:
+#line 114 "../src/ast/lex_conf.re"
+ { opts.set_yyrestore (lex_conf_string ()); return; }
+#line 2630 "src/ast/lex_conf.cc"
+yy557:
+ yych = (unsigned char)*++cur;
+ if (yych == 'I') goto yy596;
+ goto yy4;
+yy558:
+ yych = (unsigned char)*++cur;
+ if (yych == 'E') goto yy597;
+ goto yy4;
+yy559:
+ yych = (unsigned char)*++cur;
+ if (yych == 's') goto yy599;
+ goto yy4;
+yy560:
+ yych = (unsigned char)*++cur;
+ if (yych == 's') goto yy600;
+ goto yy4;
+yy561:
+ yych = (unsigned char)*++cur;
+ if (yych == 't') goto yy601;
+ goto yy4;
+yy562:
+ yych = (unsigned char)*++cur;
+ if (yych == 'o') goto yy602;
+ goto yy4;
+yy563:
+ yych = (unsigned char)*++cur;
+ if (yych == 'u') goto yy603;
+ goto yy4;
+yy564:
+ yych = (unsigned char)*++cur;
+ if (yych == 'z') goto yy604;
+ goto yy4;
+yy565:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 53 "../src/ast/lex_conf.re"
+ { opts.set_eager_skip(lex_conf_bool()); return; }
+#line 2670 "src/ast/lex_conf.cc"
+yy567:
+ yych = (unsigned char)*++cur;
+ if (yych == 's') goto yy605;
+ goto yy4;
+yy568:
+ yych = (unsigned char)*++cur;
+ if (yych == 'o') goto yy607;
+ goto yy4;
+yy569:
+ yych = (unsigned char)*++cur;
+ if (yych == 'n') goto yy608;
+ goto yy4;
+yy570:
+ yych = (unsigned char)*++cur;
+ if (yych == 'a') goto yy609;
+ goto yy4;
+yy571:
+ yych = (unsigned char)*++cur;
+ if (yych == 'u') goto yy610;
+ goto yy4;
+yy572:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+ goto yy116;
+yy573:
+ yych = (unsigned char)*++cur;
+ if (yych == 'l') goto yy611;
+ goto yy4;
+yy574:
+ yych = (unsigned char)*++cur;
+ if (yych == 't') goto yy613;
+ goto yy4;
+yy575:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy615;
+ goto yy4;
+yy576:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy617;
+ goto yy4;
+yy577:
+ yych = (unsigned char)*++cur;
+ if (yych == 't') goto yy619;
+ goto yy4;
+yy578:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 148 "../src/ast/lex_conf.re"
+ { opts.set_fill_arg_use (lex_conf_bool()); return; }
+#line 2724 "src/ast/lex_conf.cc"
+yy580:
+ ++cur;
+#line 75 "../src/ast/lex_conf.re"
+ { opts.set_condDividerParam (lex_conf_string ()); return; }
+#line 2729 "src/ast/lex_conf.cc"
+yy582:
+ yych = (unsigned char)*++cur;
+ if (yych == 'X') goto yy621;
+ goto yy4;
+yy583:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 66 "../src/ast/lex_conf.re"
+ { opts.set_yycondtype (lex_conf_string ()); return; }
+#line 2741 "src/ast/lex_conf.cc"
+yy585:
+ yych = (unsigned char)*++cur;
+ if (yych == 'R') goto yy623;
+ goto yy4;
+yy586:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy625;
+ goto yy4;
+yy587:
+ ++cur;
+#line 147 "../src/ast/lex_conf.re"
+ { opts.set_fill_arg (lex_conf_string ()); return; }
+#line 2754 "src/ast/lex_conf.cc"
+yy589:
+ yych = (unsigned char)*++cur;
+ if (yych == 'T') goto yy626;
+ goto yy4;
+yy590:
+ yych = (unsigned char)*++cur;
+ if (yych <= '@') {
+ if (yych <= '/') {
+ if (yych == '-') goto yy3;
+ } else {
+ if (yych <= '9') goto yy3;
+ if (yych <= ':') goto yy627;
+ }
+ } else {
+ if (yych <= '_') {
+ if (yych <= 'Z') goto yy3;
+ if (yych >= '_') goto yy3;
+ } else {
+ if (yych <= '`') goto yy591;
+ if (yych <= 'z') goto yy3;
+ }
+ }
+yy591:
+#line 80 "../src/ast/lex_conf.re"
+ { opts.set_state_get (lex_conf_string ()); return; }
+#line 2780 "src/ast/lex_conf.cc"
+yy592:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 117 "../src/ast/lex_conf.re"
+ { opts.set_yylessthan (lex_conf_string ()); return; }
+#line 2788 "src/ast/lex_conf.cc"
+yy594:
+ yych = (unsigned char)*++cur;
+ if (yych == 'T') goto yy628;
+ goto yy4;
+yy595:
+ yych = (unsigned char)*++cur;
+ if (yych == 'A') goto yy629;
+ goto yy4;
+yy596:
+ yych = (unsigned char)*++cur;
+ if (yych == 'T') goto yy630;
+ goto yy4;
+yy597:
+ yyaccept = 4;
+ yych = (unsigned char)*(mar = ++cur);
+ if (yych <= '?') {
+ if (yych <= '/') {
+ if (yych == '-') goto yy3;
+ } else {
+ if (yych <= '9') goto yy3;
+ if (yych <= ':') goto yy631;
+ }
+ } else {
+ if (yych <= '^') {
+ if (yych <= '@') goto yy632;
+ if (yych <= 'Z') goto yy3;
+ } else {
+ if (yych == '`') goto yy598;
+ if (yych <= 'z') goto yy3;
+ }
+ }
+yy598:
+#line 82 "../src/ast/lex_conf.re"
+ { opts.set_state_set (lex_conf_string ()); return; }
+#line 2823 "src/ast/lex_conf.cc"
+yy599:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+ goto yy96;
+yy600:
+ yych = (unsigned char)*++cur;
+ if (yych == 'i') goto yy633;
+ goto yy4;
+yy601:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy634;
+ goto yy4;
+yy602:
+ yych = (unsigned char)*++cur;
+ if (yych == 't') goto yy635;
+ goto yy4;
+yy603:
+ yych = (unsigned char)*++cur;
+ if (yych == 't') goto yy636;
+ goto yy4;
+yy604:
+ yych = (unsigned char)*++cur;
+ if (yych == 'a') goto yy637;
+ goto yy4;
+yy605:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 63 "../src/ast/lex_conf.re"
+ { lex_conf_empty_class(opts); return; }
+#line 2857 "src/ast/lex_conf.cc"
+yy607:
+ yych = (unsigned char)*++cur;
+ if (yych == 'l') goto yy638;
+ goto yy4;
+yy608:
+ yych = (unsigned char)*++cur;
+ if (yych == 'f') goto yy639;
+ goto yy4;
+yy609:
+ yych = (unsigned char)*++cur;
+ if (yych == 'g') goto yy640;
+ goto yy4;
+yy610:
+ yych = (unsigned char)*++cur;
+ if (yych == 'r') goto yy641;
+ goto yy4;
+yy611:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 85 "../src/ast/lex_conf.re"
+ { opts.set_yyfilllabel (lex_conf_string ()); return; }
+#line 2881 "src/ast/lex_conf.cc"
+yy613:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 89 "../src/ast/lex_conf.re"
+ { opts.set_yyaccept (lex_conf_string ()); return; }
+#line 2889 "src/ast/lex_conf.cc"
+yy615:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 78 "../src/ast/lex_conf.re"
+ { opts.set_yyctable (lex_conf_string ()); return; }
+#line 2897 "src/ast/lex_conf.cc"
+yy617:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 159 "../src/ast/lex_conf.re"
+ { lex_conf_string (); return; }
+#line 2905 "src/ast/lex_conf.cc"
+yy619:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 103 "../src/ast/lex_conf.re"
+ { opts.set_yytarget (lex_conf_string ()); return; }
+#line 2913 "src/ast/lex_conf.cc"
+yy621:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 113 "../src/ast/lex_conf.re"
+ { opts.set_yybackupctx (lex_conf_string ()); return; }
+#line 2921 "src/ast/lex_conf.cc"
+yy623:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 107 "../src/ast/lex_conf.re"
+ { opts.set_yyctxmarker (lex_conf_string ()); return; }
+#line 2929 "src/ast/lex_conf.cc"
+yy625:
+ yych = (unsigned char)*++cur;
+ if (yych == 'd') goto yy642;
+ goto yy4;
+yy626:
+ yych = (unsigned char)*++cur;
+ if (yych == 'I') goto yy644;
+ goto yy4;
+yy627:
+ yych = (unsigned char)*++cur;
+ if (yych == 'n') goto yy645;
+ goto yy4;
+yy628:
+ yych = (unsigned char)*++cur;
+ if (yych == 'X') goto yy646;
+ goto yy4;
+yy629:
+ yych = (unsigned char)*++cur;
+ if (yych == 'G') goto yy648;
+ goto yy4;
+yy630:
+ yych = (unsigned char)*++cur;
+ if (yych == 'I') goto yy650;
+ goto yy4;
+yy631:
+ yych = (unsigned char)*++cur;
+ if (yych == 'n') goto yy651;
+ goto yy4;
+yy632:
+ yych = (unsigned char)*++cur;
+ if (yych == 's') goto yy652;
+ goto yy220;
+yy633:
+ yych = (unsigned char)*++cur;
+ if (yych == 't') goto yy653;
+ goto yy4;
+yy634:
+ yych = (unsigned char)*++cur;
+ if (yych == 'd') goto yy654;
+ goto yy4;
+yy635:
+ yych = (unsigned char)*++cur;
+ if (yych == 'o') goto yy656;
+ goto yy4;
+yy636:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+ goto yy99;
+yy637:
+ yych = (unsigned char)*++cur;
+ if (yych == 't') goto yy657;
+ goto yy4;
+yy638:
+ yych = (unsigned char)*++cur;
+ if (yych == 'i') goto yy658;
+ goto yy4;
+yy639:
+ yych = (unsigned char)*++cur;
+ if (yych == 'o') goto yy659;
+ goto yy4;
+yy640:
+ yych = (unsigned char)*++cur;
+ if (yych == 's') goto yy660;
+ goto yy4;
+yy641:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy662;
+ goto yy4;
+yy642:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 149 "../src/ast/lex_conf.re"
+ { opts.set_fill_naked (lex_conf_bool()); return; }
+#line 3007 "src/ast/lex_conf.cc"
+yy644:
+ yych = (unsigned char)*++cur;
+ if (yych == 'O') goto yy663;
+ goto yy4;
+yy645:
+ yych = (unsigned char)*++cur;
+ if (yych == 'a') goto yy664;
+ goto yy4;
+yy646:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 115 "../src/ast/lex_conf.re"
+ { opts.set_yyrestorectx (lex_conf_string ()); return; }
+#line 3023 "src/ast/lex_conf.cc"
+yy648:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 116 "../src/ast/lex_conf.re"
+ { opts.set_yyrestoretag (lex_conf_string ()); return; }
+#line 3031 "src/ast/lex_conf.cc"
+yy650:
+ yych = (unsigned char)*++cur;
+ if (yych == 'O') goto yy665;
+ goto yy4;
+yy651:
+ yych = (unsigned char)*++cur;
+ if (yych == 'a') goto yy666;
+ goto yy4;
+yy652:
+ yych = (unsigned char)*++cur;
+ if (yych == 't') goto yy667;
+ goto yy220;
+yy653:
+ yych = (unsigned char)*++cur;
+ if (yych == 'i') goto yy668;
+ goto yy4;
+yy654:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 50 "../src/ast/lex_conf.re"
+ { opts.set_bCaseInverted(lex_conf_bool()); return; }
+#line 3055 "src/ast/lex_conf.cc"
+yy656:
+ yych = (unsigned char)*++cur;
+ if (yych == 's') goto yy102;
+ goto yy4;
+yy657:
+ yych = (unsigned char)*++cur;
+ if (yych == 'i') goto yy669;
+ goto yy4;
+yy658:
+ yych = (unsigned char)*++cur;
+ if (yych == 'c') goto yy670;
+ goto yy4;
+yy659:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+ goto yy105;
+yy660:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 52 "../src/ast/lex_conf.re"
+ { opts.set_optimize_tags(lex_conf_bool()); return; }
+#line 3081 "src/ast/lex_conf.cc"
+yy662:
+ yych = (unsigned char)*++cur;
+ if (yych == 's') goto yy91;
+ goto yy4;
+yy663:
+ yych = (unsigned char)*++cur;
+ if (yych == 'N') goto yy671;
+ goto yy4;
+yy664:
+ yych = (unsigned char)*++cur;
+ if (yych == 'k') goto yy673;
+ goto yy4;
+yy665:
+ yych = (unsigned char)*++cur;
+ if (yych == 'N') goto yy674;
+ goto yy4;
+yy666:
+ yych = (unsigned char)*++cur;
+ if (yych == 'k') goto yy676;
+ goto yy4;
+yy667:
+ yych = (unsigned char)*++cur;
+ if (yych == 'a') goto yy677;
+ goto yy220;
+yy668:
+ yych = (unsigned char)*++cur;
+ if (yych == 'v') goto yy678;
+ goto yy4;
+yy669:
+ yych = (unsigned char)*++cur;
+ if (yych == 'o') goto yy679;
+ goto yy4;
+yy670:
+ yych = (unsigned char)*++cur;
+ if (yych == 'y') goto yy680;
+ goto yy4;
+yy671:
+ yych = (unsigned char)*++cur;
+ if (yych <= '@') {
+ if (yych <= '/') {
+ if (yych == '-') goto yy3;
+ } else {
+ if (yych <= '9') goto yy3;
+ if (yych <= ':') goto yy682;
+ }
+ } else {
+ if (yych <= '_') {
+ if (yych <= 'Z') goto yy3;
+ if (yych >= '_') goto yy3;
+ } else {
+ if (yych <= '`') goto yy672;
+ if (yych <= 'z') goto yy3;
+ }
+ }
+yy672:
+#line 67 "../src/ast/lex_conf.re"
+ { opts.set_cond_get (lex_conf_string ()); return; }
+#line 3139 "src/ast/lex_conf.cc"
+yy673:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy683;
+ goto yy4;
+yy674:
+ yyaccept = 5;
+ yych = (unsigned char)*(mar = ++cur);
+ if (yych <= '?') {
+ if (yych <= '/') {
+ if (yych == '-') goto yy3;
+ } else {
+ if (yych <= '9') goto yy3;
+ if (yych <= ':') goto yy684;
+ }
+ } else {
+ if (yych <= '^') {
+ if (yych <= '@') goto yy685;
+ if (yych <= 'Z') goto yy3;
+ } else {
+ if (yych == '`') goto yy675;
+ if (yych <= 'z') goto yy3;
+ }
+ }
+yy675:
+#line 69 "../src/ast/lex_conf.re"
+ { opts.set_cond_set (lex_conf_string ()); return; }
+#line 3166 "src/ast/lex_conf.cc"
+yy676:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy686;
+ goto yy4;
+yy677:
+ yych = (unsigned char)*++cur;
+ if (yych == 't') goto yy687;
+ goto yy220;
+yy678:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy688;
+ goto yy4;
+yy679:
+ yych = (unsigned char)*++cur;
+ if (yych == 'n') goto yy690;
+ goto yy4;
+yy680:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 61 "../src/ast/lex_conf.re"
+ { lex_conf_encoding_policy(opts); return; }
+#line 3190 "src/ast/lex_conf.cc"
+yy682:
+ yych = (unsigned char)*++cur;
+ if (yych == 'n') goto yy692;
+ goto yy4;
+yy683:
+ yych = (unsigned char)*++cur;
+ if (yych == 'd') goto yy693;
+ goto yy4;
+yy684:
+ yych = (unsigned char)*++cur;
+ if (yych == 'n') goto yy695;
+ goto yy4;
+yy685:
+ yych = (unsigned char)*++cur;
+ if (yych == 'c') goto yy696;
+ goto yy220;
+yy686:
+ yych = (unsigned char)*++cur;
+ if (yych == 'd') goto yy697;
+ goto yy4;
+yy687:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy699;
+ goto yy220;
+yy688:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 49 "../src/ast/lex_conf.re"
+ { opts.set_bCaseInsensitive(lex_conf_bool()); return; }
+#line 3222 "src/ast/lex_conf.cc"
+yy690:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 64 "../src/ast/lex_conf.re"
+ { lex_conf_dfa_minimization(opts); return; }
+#line 3230 "src/ast/lex_conf.cc"
+yy692:
+ yych = (unsigned char)*++cur;
+ if (yych == 'a') goto yy701;
+ goto yy4;
+yy693:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 81 "../src/ast/lex_conf.re"
+ { opts.set_state_get_naked (lex_conf_bool()); return; }
+#line 3242 "src/ast/lex_conf.cc"
+yy695:
+ yych = (unsigned char)*++cur;
+ if (yych == 'a') goto yy702;
+ goto yy4;
+yy696:
+ yych = (unsigned char)*++cur;
+ if (yych == 'o') goto yy703;
+ goto yy220;
+yy697:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 83 "../src/ast/lex_conf.re"
+ { opts.set_state_set_naked (lex_conf_bool()); return; }
+#line 3258 "src/ast/lex_conf.cc"
+yy699:
+ ++cur;
+#line 84 "../src/ast/lex_conf.re"
+ { opts.set_state_set_arg (lex_conf_string ()); return; }
+#line 3263 "src/ast/lex_conf.cc"
+yy701:
+ yych = (unsigned char)*++cur;
+ if (yych == 'k') goto yy704;
+ goto yy4;
+yy702:
+ yych = (unsigned char)*++cur;
+ if (yych == 'k') goto yy705;
+ goto yy4;
+yy703:
+ yych = (unsigned char)*++cur;
+ if (yych == 'n') goto yy706;
+ goto yy220;
+yy704:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy707;
+ goto yy4;
+yy705:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy708;
+ goto yy4;
+yy706:
+ yych = (unsigned char)*++cur;
+ if (yych == 'd') goto yy709;
+ goto yy220;
+yy707:
+ yych = (unsigned char)*++cur;
+ if (yych == 'd') goto yy711;
+ goto yy4;
+yy708:
+ yych = (unsigned char)*++cur;
+ if (yych == 'd') goto yy713;
+ goto yy4;
+yy709:
+ ++cur;
+#line 70 "../src/ast/lex_conf.re"
+ { opts.set_cond_set_arg (lex_conf_string ()); return; }
+#line 3300 "src/ast/lex_conf.cc"
+yy711:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 68 "../src/ast/lex_conf.re"
+ { opts.set_cond_get_naked (lex_conf_bool()); return; }
+#line 3308 "src/ast/lex_conf.cc"
+yy713:
+ yych = (unsigned char)*++cur;
+ if (yybm[0+yych] & 32) {
+ goto yy3;
+ }
+#line 71 "../src/ast/lex_conf.re"
+ { opts.set_cond_set_naked (lex_conf_bool()); return; }
+#line 3316 "src/ast/lex_conf.cc"
+}
+#line 165 "../src/ast/lex_conf.re"
+
+}
+
+void Scanner::lex_conf_encoding_policy(Opt &opts)
+{
+ lex_conf_assign ();
+
+#line 3326 "src/ast/lex_conf.cc"
+{
+ unsigned char yych;
+ if ((lim - cur) < 10) fill(10);
+ yych = (unsigned char)*cur;
+ if (yych <= 'h') {
+ if (yych == 'f') goto yy719;
+ } else {
+ if (yych <= 'i') goto yy720;
+ if (yych == 's') goto yy721;
+ }
+ ++cur;
+yy718:
+#line 172 "../src/ast/lex_conf.re"
+ { fatal_lc(get_cline(), get_column(),
+ "bad configuration value (expected: 'ignore', 'substitute', 'fail')"); }
+#line 3342 "src/ast/lex_conf.cc"
+yy719:
+ yych = (unsigned char)*(mar = ++cur);
+ if (yych == 'a') goto yy722;
+ goto yy718;
+yy720:
+ yych = (unsigned char)*(mar = ++cur);
+ if (yych == 'g') goto yy724;
+ goto yy718;
+yy721:
+ yych = (unsigned char)*(mar = ++cur);
+ if (yych == 'u') goto yy725;
+ goto yy718;
+yy722:
+ yych = (unsigned char)*++cur;
+ if (yych == 'i') goto yy726;
+yy723:
+ cur = mar;
+ goto yy718;
+yy724:
+ yych = (unsigned char)*++cur;
+ if (yych == 'n') goto yy727;
+ goto yy723;
+yy725:
+ yych = (unsigned char)*++cur;
+ if (yych == 'b') goto yy728;
+ goto yy723;
+yy726:
+ yych = (unsigned char)*++cur;
+ if (yych == 'l') goto yy729;
+ goto yy723;
+yy727:
+ yych = (unsigned char)*++cur;
+ if (yych == 'o') goto yy731;
+ goto yy723;
+yy728:
+ yych = (unsigned char)*++cur;
+ if (yych == 's') goto yy732;
+ goto yy723;
+yy729:
+ ++cur;
+#line 176 "../src/ast/lex_conf.re"
+ { opts.set_encoding_policy(Enc::POLICY_FAIL); goto end; }
+#line 3385 "src/ast/lex_conf.cc"
+yy731:
+ yych = (unsigned char)*++cur;
+ if (yych == 'r') goto yy733;
+ goto yy723;
+yy732:
+ yych = (unsigned char)*++cur;
+ if (yych == 't') goto yy734;
+ goto yy723;
+yy733:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy735;
+ goto yy723;
+yy734:
+ yych = (unsigned char)*++cur;
+ if (yych == 'i') goto yy737;
+ goto yy723;
+yy735:
+ ++cur;
+#line 174 "../src/ast/lex_conf.re"
+ { opts.set_encoding_policy(Enc::POLICY_IGNORE); goto end; }
+#line 3406 "src/ast/lex_conf.cc"
+yy737:
+ yych = (unsigned char)*++cur;
+ if (yych != 't') goto yy723;
+ yych = (unsigned char)*++cur;
+ if (yych != 'u') goto yy723;
+ yych = (unsigned char)*++cur;
+ if (yych != 't') goto yy723;
+ yych = (unsigned char)*++cur;
+ if (yych != 'e') goto yy723;
+ ++cur;
+#line 175 "../src/ast/lex_conf.re"
+ { opts.set_encoding_policy(Enc::POLICY_SUBSTITUTE); goto end; }
+#line 3419 "src/ast/lex_conf.cc"
+}
+#line 177 "../src/ast/lex_conf.re"
+
+end:
+ lex_conf_semicolon();
+}
+
+void Scanner::lex_conf_input(Opt &opts)
+{
+ lex_conf_assign ();
+
+#line 3431 "src/ast/lex_conf.cc"
+{
+ unsigned char yych;
+ if ((lim - cur) < 7) fill(7);
+ yych = (unsigned char)*cur;
+ if (yych <= 'b') goto yy745;
+ if (yych <= 'c') goto yy747;
+ if (yych <= 'd') goto yy748;
+yy745:
+ ++cur;
+yy746:
+#line 186 "../src/ast/lex_conf.re"
+ { fatal_lc(get_cline(), get_column(),
+ "bad configuration value (expected: 'default', 'custom')"); }
+#line 3445 "src/ast/lex_conf.cc"
+yy747:
+ yych = (unsigned char)*(mar = ++cur);
+ if (yych == 'u') goto yy749;
+ goto yy746;
+yy748:
+ yych = (unsigned char)*(mar = ++cur);
+ if (yych == 'e') goto yy751;
+ goto yy746;
+yy749:
+ yych = (unsigned char)*++cur;
+ if (yych == 's') goto yy752;
+yy750:
+ cur = mar;
+ goto yy746;
+yy751:
+ yych = (unsigned char)*++cur;
+ if (yych == 'f') goto yy753;
+ goto yy750;
+yy752:
+ yych = (unsigned char)*++cur;
+ if (yych == 't') goto yy754;
+ goto yy750;
+yy753:
+ yych = (unsigned char)*++cur;
+ if (yych == 'a') goto yy755;
+ goto yy750;
+yy754:
+ yych = (unsigned char)*++cur;
+ if (yych == 'o') goto yy756;
+ goto yy750;
+yy755:
+ yych = (unsigned char)*++cur;
+ if (yych == 'u') goto yy757;
+ goto yy750;
+yy756:
+ yych = (unsigned char)*++cur;
+ if (yych == 'm') goto yy758;
+ goto yy750;
+yy757:
+ yych = (unsigned char)*++cur;
+ if (yych == 'l') goto yy760;
+ goto yy750;
+yy758:
+ ++cur;
+#line 189 "../src/ast/lex_conf.re"
+ { opts.set_input_api(INPUT_CUSTOM); goto end; }
+#line 3492 "src/ast/lex_conf.cc"
+yy760:
+ yych = (unsigned char)*++cur;
+ if (yych != 't') goto yy750;
+ ++cur;
+#line 188 "../src/ast/lex_conf.re"
+ { opts.set_input_api(INPUT_DEFAULT); goto end; }
+#line 3499 "src/ast/lex_conf.cc"
+}
+#line 190 "../src/ast/lex_conf.re"
+
+end:
+ lex_conf_semicolon();
+}
+
+void Scanner::lex_conf_empty_class(Opt &opts)
+{
+ lex_conf_assign ();
+
+#line 3511 "src/ast/lex_conf.cc"
+{
+ unsigned char yych;
+ if ((lim - cur) < 11) fill(11);
+ yych = (unsigned char)*cur;
+ if (yych == 'e') goto yy767;
+ if (yych == 'm') goto yy768;
+ ++cur;
+yy766:
+#line 199 "../src/ast/lex_conf.re"
+ { fatal_lc(get_cline(), get_column(),
+ "bad configuration value (expected: 'match-empty', 'match-none', 'error')"); }
+#line 3523 "src/ast/lex_conf.cc"
+yy767:
+ yych = (unsigned char)*(mar = ++cur);
+ if (yych == 'r') goto yy769;
+ goto yy766;
+yy768:
+ yych = (unsigned char)*(mar = ++cur);
+ if (yych == 'a') goto yy771;
+ goto yy766;
+yy769:
+ yych = (unsigned char)*++cur;
+ if (yych == 'r') goto yy772;
+yy770:
+ cur = mar;
+ goto yy766;
+yy771:
+ yych = (unsigned char)*++cur;
+ if (yych == 't') goto yy773;
+ goto yy770;
+yy772:
+ yych = (unsigned char)*++cur;
+ if (yych == 'o') goto yy774;
+ goto yy770;
+yy773:
+ yych = (unsigned char)*++cur;
+ if (yych == 'c') goto yy775;
+ goto yy770;
+yy774:
+ yych = (unsigned char)*++cur;
+ if (yych == 'r') goto yy776;
+ goto yy770;
+yy775:
+ yych = (unsigned char)*++cur;
+ if (yych == 'h') goto yy778;
+ goto yy770;
+yy776:
+ ++cur;
+#line 203 "../src/ast/lex_conf.re"
+ { opts.set_empty_class_policy(EMPTY_CLASS_ERROR); goto end; }
+#line 3562 "src/ast/lex_conf.cc"
+yy778:
+ yych = (unsigned char)*++cur;
+ if (yych != '-') goto yy770;
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy780;
+ if (yych == 'n') goto yy781;
+ goto yy770;
+yy780:
+ yych = (unsigned char)*++cur;
+ if (yych == 'm') goto yy782;
+ goto yy770;
+yy781:
+ yych = (unsigned char)*++cur;
+ if (yych == 'o') goto yy783;
+ goto yy770;
+yy782:
+ yych = (unsigned char)*++cur;
+ if (yych == 'p') goto yy784;
+ goto yy770;
+yy783:
+ yych = (unsigned char)*++cur;
+ if (yych == 'n') goto yy785;
+ goto yy770;
+yy784:
+ yych = (unsigned char)*++cur;
+ if (yych == 't') goto yy786;
+ goto yy770;
+yy785:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy787;
+ goto yy770;
+yy786:
+ yych = (unsigned char)*++cur;
+ if (yych == 'y') goto yy789;
+ goto yy770;
+yy787:
+ ++cur;
+#line 202 "../src/ast/lex_conf.re"
+ { opts.set_empty_class_policy(EMPTY_CLASS_MATCH_NONE); goto end; }
+#line 3602 "src/ast/lex_conf.cc"
+yy789:
+ ++cur;
+#line 201 "../src/ast/lex_conf.re"
+ { opts.set_empty_class_policy(EMPTY_CLASS_MATCH_EMPTY); goto end; }
+#line 3607 "src/ast/lex_conf.cc"
+}
+#line 204 "../src/ast/lex_conf.re"
+
+end:
+ lex_conf_semicolon();
+}
+
+void Scanner::lex_conf_dfa_minimization(Opt &opts)
+{
+ lex_conf_assign ();
+
+#line 3619 "src/ast/lex_conf.cc"
+{
+ unsigned char yych;
+ if ((lim - cur) < 5) fill(5);
+ yych = (unsigned char)*cur;
+ if (yych == 'm') goto yy795;
+ if (yych == 't') goto yy796;
+ ++cur;
+yy794:
+#line 213 "../src/ast/lex_conf.re"
+ { fatal_lc(get_cline(), get_column(),
+ "bad configuration value (expected: 'table', 'moore')"); }
+#line 3631 "src/ast/lex_conf.cc"
+yy795:
+ yych = (unsigned char)*(mar = ++cur);
+ if (yych == 'o') goto yy797;
+ goto yy794;
+yy796:
+ yych = (unsigned char)*(mar = ++cur);
+ if (yych == 'a') goto yy799;
+ goto yy794;
+yy797:
+ yych = (unsigned char)*++cur;
+ if (yych == 'o') goto yy800;
+yy798:
+ cur = mar;
+ goto yy794;
+yy799:
+ yych = (unsigned char)*++cur;
+ if (yych == 'b') goto yy801;
+ goto yy798;
+yy800:
+ yych = (unsigned char)*++cur;
+ if (yych == 'r') goto yy802;
+ goto yy798;
+yy801:
+ yych = (unsigned char)*++cur;
+ if (yych == 'l') goto yy803;
+ goto yy798;
+yy802:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy804;
+ goto yy798;
+yy803:
+ yych = (unsigned char)*++cur;
+ if (yych == 'e') goto yy806;
+ goto yy798;
+yy804:
+ ++cur;
+#line 216 "../src/ast/lex_conf.re"
+ { opts.set_dfa_minimization(DFA_MINIMIZATION_MOORE); goto end; }
+#line 3670 "src/ast/lex_conf.cc"
+yy806:
+ ++cur;
+#line 215 "../src/ast/lex_conf.re"
+ { opts.set_dfa_minimization(DFA_MINIMIZATION_TABLE); goto end; }
+#line 3675 "src/ast/lex_conf.cc"
+}
+#line 217 "../src/ast/lex_conf.re"
+
+end:
+ lex_conf_semicolon();
+}
+
+void Scanner::lex_conf_enc(Enc::type_t enc, Opt &opts)
+{
+ if (lex_conf_bool()) {
+ opts.set_encoding(enc);
+ } else {
+ opts.unset_encoding(enc);
+ }
+}
+
+void Scanner::lex_conf_assign ()
+{
+
+#line 3695 "src/ast/lex_conf.cc"
+{
+ unsigned char yych;
+ static const unsigned char yybm[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 128, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 128, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ };
+ if ((lim - cur) < 2) fill(2);
+ yych = (unsigned char)*cur;
+ if (yych <= 0x1F) {
+ if (yych == '\t') goto yy812;
+ } else {
+ if (yych <= ' ') goto yy812;
+ if (yych == '=') goto yy813;
+ }
+ ++cur;
+yy811:
+#line 234 "../src/ast/lex_conf.re"
+ { fatal_lc(get_cline(), get_column(), "missing '=' in configuration"); }
+#line 3744 "src/ast/lex_conf.cc"
+yy812:
+ yych = (unsigned char)*(mar = ++cur);
+ if (yych <= 0x1F) {
+ if (yych == '\t') goto yy816;
+ goto yy811;
+ } else {
+ if (yych <= ' ') goto yy816;
+ if (yych != '=') goto yy811;
+ }
+yy813:
+ ++cur;
+ if (lim <= cur) fill(1);
+ yych = (unsigned char)*cur;
+ if (yybm[0+yych] & 128) {
+ goto yy813;
+ }
+#line 235 "../src/ast/lex_conf.re"
+ { return; }
+#line 3763 "src/ast/lex_conf.cc"
+yy816:
+ ++cur;
+ if (lim <= cur) fill(1);
+ yych = (unsigned char)*cur;
+ if (yych <= 0x1F) {
+ if (yych == '\t') goto yy816;
+ } else {
+ if (yych <= ' ') goto yy816;
+ if (yych == '=') goto yy813;
+ }
+ cur = mar;
+ goto yy811;
+}
+#line 236 "../src/ast/lex_conf.re"
+
+}
+
+void Scanner::lex_conf_semicolon ()
+{
+
+#line 3784 "src/ast/lex_conf.cc"
+{
+ unsigned char yych;
+ static const unsigned char yybm[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 128, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 128, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ };
+ if ((lim - cur) < 2) fill(2);
+ yych = (unsigned char)*cur;
+ if (yych <= 0x1F) {
+ if (yych == '\t') goto yy823;
+ } else {
+ if (yych <= ' ') goto yy823;
+ if (yych == ';') goto yy824;
+ }
+ ++cur;
+yy822:
+#line 242 "../src/ast/lex_conf.re"
+ { fatal_lc(get_cline(), get_column(), "missing ending ';' in configuration"); }
+#line 3833 "src/ast/lex_conf.cc"
+yy823:
+ yych = (unsigned char)*(mar = ++cur);
+ if (yybm[0+yych] & 128) {
+ goto yy826;
+ }
+ if (yych != ';') goto yy822;
+yy824:
+ ++cur;
+#line 243 "../src/ast/lex_conf.re"
+ { return; }
+#line 3844 "src/ast/lex_conf.cc"
+yy826:
+ ++cur;
+ if (lim <= cur) fill(1);
+ yych = (unsigned char)*cur;
+ if (yybm[0+yych] & 128) {
+ goto yy826;
+ }
+ if (yych == ';') goto yy824;
+ cur = mar;
+ goto yy822;
+}
+#line 244 "../src/ast/lex_conf.re"
+
+}
+
+bool Scanner::lex_conf_bool()
+{
+ return lex_conf_number() != 0;
+}
+
+int32_t Scanner::lex_conf_number ()
+{
+ lex_conf_assign ();
+ tok = cur;
+
+#line 3870 "src/ast/lex_conf.cc"
+{
+ unsigned char yych;
+ static const unsigned char yybm[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ };
+ if ((lim - cur) < 2) fill(2);
+ yych = (unsigned char)*cur;
+ if (yych <= '/') {
+ if (yych == '-') goto yy832;
+ } else {
+ if (yych <= '0') goto yy833;
+ if (yych <= '9') goto yy835;
+ }
+yy831:
+yy832:
+ yych = (unsigned char)*++cur;
+ if (yych <= '0') goto yy831;
+ if (yych <= '9') goto yy835;
+ goto yy831;
+yy833:
+ ++cur;
+yy834:
+#line 257 "../src/ast/lex_conf.re"
+ {
+ int32_t n = 0;
+ if (!s_to_i32_unsafe (tok, cur, n)) {
+ fatal_lc(get_cline(), get_column(), "configuration value overflow");
+ }
+ lex_conf_semicolon ();
+ return n;
+ }
+#line 3933 "src/ast/lex_conf.cc"
+yy835:
+ ++cur;
+ if (lim <= cur) fill(1);
+ yych = (unsigned char)*cur;
+ if (yybm[0+yych] & 128) {
+ goto yy835;
+ }
+ goto yy834;
+}
+#line 265 "../src/ast/lex_conf.re"
+
+}
+
+std::string Scanner::lex_conf_string ()
+{
+ lex_conf_assign ();
+ std::string s;
+ tok = cur;
+
+#line 3953 "src/ast/lex_conf.cc"
+{
+ unsigned char yych;
+ static const unsigned char yybm[] = {
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 0, 0, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 0, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 0, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ };
+ if (lim <= cur) fill(1);
+ yych = (unsigned char)*cur;
+ if (yych <= '!') {
+ if (yych <= '\n') {
+ if (yych <= 0x08) goto yy840;
+ } else {
+ if (yych != ' ') goto yy840;
+ }
+ } else {
+ if (yych <= '\'') {
+ if (yych <= '"') goto yy843;
+ if (yych <= '&') goto yy840;
+ goto yy843;
+ } else {
+ if (yych != ';') goto yy840;
+ }
+ }
+#line 293 "../src/ast/lex_conf.re"
+ { goto end; }
+#line 4009 "src/ast/lex_conf.cc"
+yy840:
+ ++cur;
+ if (lim <= cur) fill(1);
+ yych = (unsigned char)*cur;
+ if (yybm[0+yych] & 128) {
+ goto yy840;
+ }
+#line 289 "../src/ast/lex_conf.re"
+ {
+ s = std::string(tok, tok_len());
+ goto end;
+ }
+#line 4022 "src/ast/lex_conf.cc"
+yy843:
+ ++cur;
+#line 274 "../src/ast/lex_conf.re"
+ {
+ const char quote = tok[0];
+ for (bool end;;) {
+ const uint32_t c = lex_str_chr(quote, end);
+ if (end) {
+ goto end;
+ }
+ if (c > 0xFF) {
+ fatal_lc(get_cline(), get_column(),
+ "multibyte character in configuration string: 0x%X", c);
+ } else {
+ s += static_cast<char>(c);
+ }
+ }
+ }
+#line 4041 "src/ast/lex_conf.cc"
+}
+#line 294 "../src/ast/lex_conf.re"
+
+end:
+ lex_conf_semicolon ();
+ return s;
+}
+
+} // end namespace re2c
diff --git a/bootstrap/src/ast/parser.cc b/bootstrap/src/ast/parser.cc
new file mode 100644
index 00000000..3bd3e9a6
--- /dev/null
+++ b/bootstrap/src/ast/parser.cc
@@ -0,0 +1,1835 @@
+/* A Bison parser, made by GNU Bison 3.0.4. */
+
+/* Bison implementation for Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+/* As a special exception, you may create a larger work that contains
+ part or all of the Bison parser skeleton and distribute that work
+ under terms of your choice, so long as that work isn't itself a
+ parser generator using the skeleton or a modified version thereof
+ as a parser skeleton. Alternatively, if you modify or redistribute
+ the parser skeleton itself, you may (at your option) remove this
+ special exception, which will cause the skeleton and the resulting
+ Bison output files to be licensed under the GNU General Public
+ License without this special exception.
+
+ This special exception was added by the Free Software Foundation in
+ version 2.2 of Bison. */
+
+/* C LALR(1) parser skeleton written by Richard Stallman, by
+ simplifying the original so-called "semantic" parser. */
+
+/* All symbols defined below should begin with yy or YY, to avoid
+ infringing on user name space. This should be done even for local
+ variables, as they might otherwise be expanded by user macros.
+ There are some unavoidable exceptions within include files to
+ define necessary library symbols; they are noted "INFRINGES ON
+ USER NAME SPACE" below. */
+
+/* Identify Bison output. */
+#define YYBISON 1
+
+/* Bison version. */
+#define YYBISON_VERSION "3.0.4"
+
+/* Skeleton name. */
+#define YYSKELETON_NAME "yacc.c"
+
+/* Pure parsers. */
+#define YYPURE 0
+
+/* Push parsers. */
+#define YYPUSH 0
+
+/* Pull parsers. */
+#define YYPULL 1
+
+
+
+
+/* Copy the first part of user declarations. */
+
+
+
+#include "src/ast/parser.h"
+
+#define YYMALLOC malloc
+#define YYFREE free
+
+using namespace re2c;
+
+extern "C" {
+
+int yylex(context_t &context);
+void yyerror(context_t &context, const char*);
+
+} // extern "C"
+
+/* Bison version 1.875 emits a definition that is not working
+ * with several g++ version. Hence we disable it here.
+ */
+#if defined(__GNUC__)
+#define __attribute__(x)
+#endif
+
+static spec_t &find(specs_t &specs, const std::string &name)
+{
+ for (specs_t::iterator i = specs.begin(); i != specs.end(); ++i) {
+ if (i->name == name) return *i;
+ }
+ specs.push_back(spec_t(name));
+ return specs.back();
+}
+
+
+
+
+# ifndef YY_NULLPTR
+# if defined __cplusplus && 201103L <= __cplusplus
+# define YY_NULLPTR nullptr
+# else
+# define YY_NULLPTR 0
+# endif
+# endif
+
+/* Enabling verbose error messages. */
+#ifdef YYERROR_VERBOSE
+# undef YYERROR_VERBOSE
+# define YYERROR_VERBOSE 1
+#else
+# define YYERROR_VERBOSE 0
+#endif
+
+/* In a future release of Bison, this section will be replaced
+ by #include "y.tab.h". */
+#ifndef YY_YY_BOOTSTRAP_SRC_AST_Y_TAB_H_INCLUDED
+# define YY_YY_BOOTSTRAP_SRC_AST_Y_TAB_H_INCLUDED
+/* Debug traces. */
+#ifndef YYDEBUG
+# define YYDEBUG 0
+#endif
+#if YYDEBUG
+extern int yydebug;
+#endif
+
+/* Token type. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ enum yytokentype
+ {
+ TOKEN_CLOSESIZE = 258,
+ TOKEN_CODE = 259,
+ TOKEN_CONF = 260,
+ TOKEN_ID = 261,
+ TOKEN_FID = 262,
+ TOKEN_FID_END = 263,
+ TOKEN_LINE_INFO = 264,
+ TOKEN_REGEXP = 265
+ };
+#endif
+
+/* Value type. */
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+
+union YYSTYPE
+{
+
+
+ const re2c::AST * regexp;
+ re2c::Code * code;
+ char op;
+ re2c::ASTBounds bounds;
+ std::string * str;
+ re2c::CondList * clist;
+
+
+};
+
+typedef union YYSTYPE YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
+# define YYSTYPE_IS_DECLARED 1
+#endif
+
+
+extern YYSTYPE yylval;
+
+int yyparse (re2c::context_t &context);
+
+#endif /* !YY_YY_BOOTSTRAP_SRC_AST_Y_TAB_H_INCLUDED */
+
+/* Copy the second part of user declarations. */
+
+
+
+#ifdef short
+# undef short
+#endif
+
+#ifdef YYTYPE_UINT8
+typedef YYTYPE_UINT8 yytype_uint8;
+#else
+typedef unsigned char yytype_uint8;
+#endif
+
+#ifdef YYTYPE_INT8
+typedef YYTYPE_INT8 yytype_int8;
+#else
+typedef signed char yytype_int8;
+#endif
+
+#ifdef YYTYPE_UINT16
+typedef YYTYPE_UINT16 yytype_uint16;
+#else
+typedef unsigned short int yytype_uint16;
+#endif
+
+#ifdef YYTYPE_INT16
+typedef YYTYPE_INT16 yytype_int16;
+#else
+typedef short int yytype_int16;
+#endif
+
+#ifndef YYSIZE_T
+# ifdef __SIZE_TYPE__
+# define YYSIZE_T __SIZE_TYPE__
+# elif defined size_t
+# define YYSIZE_T size_t
+# elif ! defined YYSIZE_T
+# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
+# define YYSIZE_T size_t
+# else
+# define YYSIZE_T unsigned int
+# endif
+#endif
+
+#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
+
+#ifndef YY_
+# if defined YYENABLE_NLS && YYENABLE_NLS
+# if ENABLE_NLS
+# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
+# define YY_(Msgid) dgettext ("bison-runtime", Msgid)
+# endif
+# endif
+# ifndef YY_
+# define YY_(Msgid) Msgid
+# endif
+#endif
+
+#ifndef YY_ATTRIBUTE
+# if (defined __GNUC__ \
+ && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \
+ || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
+# define YY_ATTRIBUTE(Spec) __attribute__(Spec)
+# else
+# define YY_ATTRIBUTE(Spec) /* empty */
+# endif
+#endif
+
+#ifndef YY_ATTRIBUTE_PURE
+# define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__))
+#endif
+
+#ifndef YY_ATTRIBUTE_UNUSED
+# define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
+#endif
+
+#if !defined _Noreturn \
+ && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112)
+# if defined _MSC_VER && 1200 <= _MSC_VER
+# define _Noreturn __declspec (noreturn)
+# else
+# define _Noreturn YY_ATTRIBUTE ((__noreturn__))
+# endif
+#endif
+
+/* Suppress unused-variable warnings by "using" E. */
+#if ! defined lint || defined __GNUC__
+# define YYUSE(E) ((void) (E))
+#else
+# define YYUSE(E) /* empty */
+#endif
+
+#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
+/* Suppress an incorrect diagnostic about yylval being uninitialized. */
+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
+ _Pragma ("GCC diagnostic push") \
+ _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
+ _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
+ _Pragma ("GCC diagnostic pop")
+#else
+# define YY_INITIAL_VALUE(Value) Value
+#endif
+#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+# define YY_IGNORE_MAYBE_UNINITIALIZED_END
+#endif
+#ifndef YY_INITIAL_VALUE
+# define YY_INITIAL_VALUE(Value) /* Nothing. */
+#endif
+
+
+#if ! defined yyoverflow || YYERROR_VERBOSE
+
+/* The parser invokes alloca or malloc; define the necessary symbols. */
+
+# ifdef YYSTACK_USE_ALLOCA
+# if YYSTACK_USE_ALLOCA
+# ifdef __GNUC__
+# define YYSTACK_ALLOC __builtin_alloca
+# elif defined __BUILTIN_VA_ARG_INCR
+# include <alloca.h> /* INFRINGES ON USER NAME SPACE */
+# elif defined _AIX
+# define YYSTACK_ALLOC __alloca
+# elif defined _MSC_VER
+# include <malloc.h> /* INFRINGES ON USER NAME SPACE */
+# define alloca _alloca
+# else
+# define YYSTACK_ALLOC alloca
+# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
+# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+ /* Use EXIT_SUCCESS as a witness for stdlib.h. */
+# ifndef EXIT_SUCCESS
+# define EXIT_SUCCESS 0
+# endif
+# endif
+# endif
+# endif
+# endif
+
+# ifdef YYSTACK_ALLOC
+ /* Pacify GCC's 'empty if-body' warning. */
+# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
+# ifndef YYSTACK_ALLOC_MAXIMUM
+ /* The OS might guarantee only one guard page at the bottom of the stack,
+ and a page size can be as small as 4096 bytes. So we cannot safely
+ invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
+ to allow for a few compiler-allocated temporary stack slots. */
+# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
+# endif
+# else
+# define YYSTACK_ALLOC YYMALLOC
+# define YYSTACK_FREE YYFREE
+# ifndef YYSTACK_ALLOC_MAXIMUM
+# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
+# endif
+# if (defined __cplusplus && ! defined EXIT_SUCCESS \
+ && ! ((defined YYMALLOC || defined malloc) \
+ && (defined YYFREE || defined free)))
+# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
+# ifndef EXIT_SUCCESS
+# define EXIT_SUCCESS 0
+# endif
+# endif
+# ifndef YYMALLOC
+# define YYMALLOC malloc
+# if ! defined malloc && ! defined EXIT_SUCCESS
+void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
+# endif
+# endif
+# ifndef YYFREE
+# define YYFREE free
+# if ! defined free && ! defined EXIT_SUCCESS
+void free (void *); /* INFRINGES ON USER NAME SPACE */
+# endif
+# endif
+# endif
+#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
+
+
+#if (! defined yyoverflow \
+ && (! defined __cplusplus \
+ || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
+
+/* A type that is properly aligned for any stack member. */
+union yyalloc
+{
+ yytype_int16 yyss_alloc;
+ YYSTYPE yyvs_alloc;
+};
+
+/* The size of the maximum gap between one aligned stack and the next. */
+# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
+
+/* The size of an array large to enough to hold all stacks, each with
+ N elements. */
+# define YYSTACK_BYTES(N) \
+ ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
+ + YYSTACK_GAP_MAXIMUM)
+
+# define YYCOPY_NEEDED 1
+
+/* Relocate STACK from its old location to the new one. The
+ local variables YYSIZE and YYSTACKSIZE give the old and new number of
+ elements in the stack, and YYPTR gives the new location of the
+ stack. Advance YYPTR to a properly aligned location for the next
+ stack. */
+# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
+ do \
+ { \
+ YYSIZE_T yynewbytes; \
+ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
+ Stack = &yyptr->Stack_alloc; \
+ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+ yyptr += yynewbytes / sizeof (*yyptr); \
+ } \
+ while (0)
+
+#endif
+
+#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
+/* Copy COUNT objects from SRC to DST. The source and destination do
+ not overlap. */
+# ifndef YYCOPY
+# if defined __GNUC__ && 1 < __GNUC__
+# define YYCOPY(Dst, Src, Count) \
+ __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
+# else
+# define YYCOPY(Dst, Src, Count) \
+ do \
+ { \
+ YYSIZE_T yyi; \
+ for (yyi = 0; yyi < (Count); yyi++) \
+ (Dst)[yyi] = (Src)[yyi]; \
+ } \
+ while (0)
+# endif
+# endif
+#endif /* !YYCOPY_NEEDED */
+
+/* YYFINAL -- State number of the termination state. */
+#define YYFINAL 2
+/* YYLAST -- Last index in YYTABLE. */
+#define YYLAST 70
+
+/* YYNTOKENS -- Number of terminals. */
+#define YYNTOKENS 26
+/* YYNNTS -- Number of nonterminals. */
+#define YYNNTS 17
+/* YYNRULES -- Number of rules. */
+#define YYNRULES 44
+/* YYNSTATES -- Number of states. */
+#define YYNSTATES 71
+
+/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
+ by yylex, with out-of-bounds checking. */
+#define YYUNDEFTOK 2
+#define YYMAXUTOK 265
+
+#define YYTRANSLATE(YYX) \
+ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+
+/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
+ as returned by yylex, without out-of-bounds checking. */
+static const yytype_uint8 yytranslate[] =
+{
+ 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 17, 2, 2, 2, 2, 2, 2,
+ 24, 25, 14, 22, 19, 2, 2, 11, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 18, 13,
+ 15, 12, 16, 23, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 21, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 20, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+ 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
+ 5, 6, 7, 8, 9, 10
+};
+
+#if YYDEBUG
+ /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
+static const yytype_uint8 yyrline[] =
+{
+ 0, 67, 67, 69, 70, 71, 72, 76, 83, 89,
+ 92, 96, 96, 99, 103, 107, 114, 121, 128, 134,
+ 136, 142, 149, 150, 156, 162, 169, 171, 177, 181,
+ 188, 192, 199, 203, 210, 211, 217, 222, 223, 227,
+ 228, 229, 233, 234, 245
+};
+#endif
+
+#if YYDEBUG || YYERROR_VERBOSE || 0
+/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
+ First, the terminals, then, starting at YYNTOKENS, nonterminals. */
+static const char *const yytname[] =
+{
+ "$end", "error", "$undefined", "TOKEN_CLOSESIZE", "TOKEN_CODE",
+ "TOKEN_CONF", "TOKEN_ID", "TOKEN_FID", "TOKEN_FID_END",
+ "TOKEN_LINE_INFO", "TOKEN_REGEXP", "'/'", "'='", "';'", "'*'", "'<'",
+ "'>'", "'!'", "':'", "','", "'|'", "'\\\\'", "'+'", "'?'", "'('", "')'",
+ "$accept", "spec", "def", "name", "enddef", "rule", "ccode", "clist",
+ "conds", "trailexpr", "expr", "diff", "term", "factor", "closes",
+ "close", "primary", YY_NULLPTR
+};
+#endif
+
+# ifdef YYPRINT
+/* YYTOKNUM[NUM] -- (External) token number corresponding to the
+ (internal) symbol number NUM (which must be that of a token). */
+static const yytype_uint16 yytoknum[] =
+{
+ 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
+ 265, 47, 61, 59, 42, 60, 62, 33, 58, 44,
+ 124, 92, 43, 63, 40, 41
+};
+# endif
+
+#define YYPACT_NINF -45
+
+#define yypact_value_is_default(Yystate) \
+ (!!((Yystate) == (-45)))
+
+#define YYTABLE_NINF -1
+
+#define yytable_value_is_error(Yytable_value) \
+ 0
+
+ /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
+ STATE-NUM. */
+static const yytype_int8 yypact[] =
+{
+ -45, 0, -45, -45, 18, -45, -45, -45, 7, 22,
+ 19, -45, 19, -45, 41, 30, 10, -45, 19, -1,
+ -45, -45, -45, -45, 15, 28, 35, 34, -45, 27,
+ 24, -45, 19, 19, 19, -45, -45, -45, -45, -45,
+ 26, -45, -45, 38, 43, -45, 40, 2, 51, -45,
+ -45, -45, -45, -45, 39, 10, -45, -45, 52, 44,
+ 42, 15, 15, -45, 57, 56, -45, -45, -45, -45,
+ -45
+};
+
+ /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
+ Performed when YYTABLE does not specify something else to do. Zero
+ means the default is an error. */
+static const yytype_uint8 yydefact[] =
+{
+ 2, 0, 1, 3, 43, 10, 6, 42, 0, 0,
+ 0, 4, 0, 5, 0, 26, 28, 30, 32, 34,
+ 9, 14, 24, 23, 0, 0, 0, 22, 43, 0,
+ 0, 13, 0, 0, 0, 33, 36, 39, 40, 41,
+ 35, 37, 19, 0, 0, 18, 0, 0, 0, 44,
+ 12, 8, 11, 7, 27, 29, 31, 38, 0, 0,
+ 0, 0, 0, 25, 0, 0, 17, 16, 15, 20,
+ 21
+};
+
+ /* YYPGOTO[NTERM-NUM]. */
+static const yytype_int8 yypgoto[] =
+{
+ -45, -45, -45, -45, -45, -45, -44, 45, -45, 16,
+ -9, 31, -14, -45, -45, 25, -45
+};
+
+ /* YYDEFGOTO[NTERM-NUM]. */
+static const yytype_int8 yydefgoto[] =
+{
+ -1, 1, 11, 12, 53, 13, 45, 26, 27, 14,
+ 15, 16, 17, 18, 40, 41, 19
+};
+
+ /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
+ positive, shift that token. If negative, reduce the rule whose
+ number is the opposite. If YYTABLE_NINF, syntax error. */
+static const yytype_uint8 yytable[] =
+{
+ 2, 29, 36, 30, 35, 3, 4, 5, 28, 6,
+ 7, 21, 7, 37, 8, 9, 61, 67, 68, 42,
+ 56, 38, 39, 54, 10, 28, 10, 43, 22, 7,
+ 20, 34, 50, 44, 22, 51, 23, 52, 24, 25,
+ 37, 32, 23, 10, 33, 31, 66, 33, 38, 39,
+ 33, 47, 49, 48, 58, 59, 60, 63, 64, 33,
+ 65, 69, 70, 62, 55, 57, 0, 0, 0, 0,
+ 46
+};
+
+static const yytype_int8 yycheck[] =
+{
+ 0, 10, 3, 12, 18, 5, 6, 7, 6, 9,
+ 10, 4, 10, 14, 14, 15, 14, 61, 62, 4,
+ 34, 22, 23, 32, 24, 6, 24, 12, 6, 10,
+ 12, 21, 8, 18, 6, 11, 14, 13, 16, 17,
+ 14, 11, 14, 24, 20, 4, 4, 20, 22, 23,
+ 20, 16, 25, 19, 16, 12, 16, 6, 6, 20,
+ 16, 4, 6, 47, 33, 40, -1, -1, -1, -1,
+ 25
+};
+
+ /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
+ symbol of state STATE-NUM. */
+static const yytype_uint8 yystos[] =
+{
+ 0, 27, 0, 5, 6, 7, 9, 10, 14, 15,
+ 24, 28, 29, 31, 35, 36, 37, 38, 39, 42,
+ 12, 4, 6, 14, 16, 17, 33, 34, 6, 36,
+ 36, 4, 11, 20, 21, 38, 3, 14, 22, 23,
+ 40, 41, 4, 12, 18, 32, 33, 16, 19, 25,
+ 8, 11, 13, 30, 36, 37, 38, 41, 16, 12,
+ 16, 14, 35, 6, 6, 16, 4, 32, 32, 4,
+ 6
+};
+
+ /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
+static const yytype_uint8 yyr1[] =
+{
+ 0, 26, 27, 27, 27, 27, 27, 28, 28, 29,
+ 29, 30, 30, 31, 31, 31, 31, 31, 31, 32,
+ 32, 32, 33, 33, 34, 34, 35, 35, 36, 36,
+ 37, 37, 38, 38, 39, 39, 39, 40, 40, 41,
+ 41, 41, 42, 42, 42
+};
+
+ /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
+static const yytype_uint8 yyr2[] =
+{
+ 0, 2, 0, 2, 2, 2, 2, 3, 3, 2,
+ 1, 1, 1, 2, 2, 5, 5, 5, 3, 1,
+ 4, 4, 1, 1, 1, 3, 1, 3, 1, 3,
+ 1, 3, 1, 2, 1, 2, 2, 1, 2, 1,
+ 1, 1, 1, 1, 3
+};
+
+
+#define yyerrok (yyerrstatus = 0)
+#define yyclearin (yychar = YYEMPTY)
+#define YYEMPTY (-2)
+#define YYEOF 0
+
+#define YYACCEPT goto yyacceptlab
+#define YYABORT goto yyabortlab
+#define YYERROR goto yyerrorlab
+
+
+#define YYRECOVERING() (!!yyerrstatus)
+
+#define YYBACKUP(Token, Value) \
+do \
+ if (yychar == YYEMPTY) \
+ { \
+ yychar = (Token); \
+ yylval = (Value); \
+ YYPOPSTACK (yylen); \
+ yystate = *yyssp; \
+ goto yybackup; \
+ } \
+ else \
+ { \
+ yyerror (context, YY_("syntax error: cannot back up")); \
+ YYERROR; \
+ } \
+while (0)
+
+/* Error token number */
+#define YYTERROR 1
+#define YYERRCODE 256
+
+
+
+/* Enable debugging if requested. */
+#if YYDEBUG
+
+# ifndef YYFPRINTF
+# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
+# define YYFPRINTF fprintf
+# endif
+
+# define YYDPRINTF(Args) \
+do { \
+ if (yydebug) \
+ YYFPRINTF Args; \
+} while (0)
+
+/* This macro is provided for backward compatibility. */
+#ifndef YY_LOCATION_PRINT
+# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
+#endif
+
+
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
+do { \
+ if (yydebug) \
+ { \
+ YYFPRINTF (stderr, "%s ", Title); \
+ yy_symbol_print (stderr, \
+ Type, Value, context); \
+ YYFPRINTF (stderr, "\n"); \
+ } \
+} while (0)
+
+
+/*----------------------------------------.
+| Print this symbol's value on YYOUTPUT. |
+`----------------------------------------*/
+
+static void
+yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, re2c::context_t &context)
+{
+ FILE *yyo = yyoutput;
+ YYUSE (yyo);
+ YYUSE (context);
+ if (!yyvaluep)
+ return;
+# ifdef YYPRINT
+ if (yytype < YYNTOKENS)
+ YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
+# endif
+ YYUSE (yytype);
+}
+
+
+/*--------------------------------.
+| Print this symbol on YYOUTPUT. |
+`--------------------------------*/
+
+static void
+yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, re2c::context_t &context)
+{
+ YYFPRINTF (yyoutput, "%s %s (",
+ yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
+
+ yy_symbol_value_print (yyoutput, yytype, yyvaluep, context);
+ YYFPRINTF (yyoutput, ")");
+}
+
+/*------------------------------------------------------------------.
+| yy_stack_print -- Print the state stack from its BOTTOM up to its |
+| TOP (included). |
+`------------------------------------------------------------------*/
+
+static void
+yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
+{
+ YYFPRINTF (stderr, "Stack now");
+ for (; yybottom <= yytop; yybottom++)
+ {
+ int yybot = *yybottom;
+ YYFPRINTF (stderr, " %d", yybot);
+ }
+ YYFPRINTF (stderr, "\n");
+}
+
+# define YY_STACK_PRINT(Bottom, Top) \
+do { \
+ if (yydebug) \
+ yy_stack_print ((Bottom), (Top)); \
+} while (0)
+
+
+/*------------------------------------------------.
+| Report that the YYRULE is going to be reduced. |
+`------------------------------------------------*/
+
+static void
+yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, int yyrule, re2c::context_t &context)
+{
+ unsigned long int yylno = yyrline[yyrule];
+ int yynrhs = yyr2[yyrule];
+ int yyi;
+ YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
+ yyrule - 1, yylno);
+ /* The symbols being reduced. */
+ for (yyi = 0; yyi < yynrhs; yyi++)
+ {
+ YYFPRINTF (stderr, " $%d = ", yyi + 1);
+ yy_symbol_print (stderr,
+ yystos[yyssp[yyi + 1 - yynrhs]],
+ &(yyvsp[(yyi + 1) - (yynrhs)])
+ , context);
+ YYFPRINTF (stderr, "\n");
+ }
+}
+
+# define YY_REDUCE_PRINT(Rule) \
+do { \
+ if (yydebug) \
+ yy_reduce_print (yyssp, yyvsp, Rule, context); \
+} while (0)
+
+/* Nonzero means print parse trace. It is left uninitialized so that
+ multiple parsers can coexist. */
+int yydebug;
+#else /* !YYDEBUG */
+# define YYDPRINTF(Args)
+# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
+# define YY_STACK_PRINT(Bottom, Top)
+# define YY_REDUCE_PRINT(Rule)
+#endif /* !YYDEBUG */
+
+
+/* YYINITDEPTH -- initial size of the parser's stacks. */
+#ifndef YYINITDEPTH
+# define YYINITDEPTH 200
+#endif
+
+/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
+ if the built-in stack extension method is used).
+
+ Do not make this value too large; the results are undefined if
+ YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
+ evaluated with infinite-precision integer arithmetic. */
+
+#ifndef YYMAXDEPTH
+# define YYMAXDEPTH 10000
+#endif
+
+
+#if YYERROR_VERBOSE
+
+# ifndef yystrlen
+# if defined __GLIBC__ && defined _STRING_H
+# define yystrlen strlen
+# else
+/* Return the length of YYSTR. */
+static YYSIZE_T
+yystrlen (const char *yystr)
+{
+ YYSIZE_T yylen;
+ for (yylen = 0; yystr[yylen]; yylen++)
+ continue;
+ return yylen;
+}
+# endif
+# endif
+
+# ifndef yystpcpy
+# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
+# define yystpcpy stpcpy
+# else
+/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
+ YYDEST. */
+static char *
+yystpcpy (char *yydest, const char *yysrc)
+{
+ char *yyd = yydest;
+ const char *yys = yysrc;
+
+ while ((*yyd++ = *yys++) != '\0')
+ continue;
+
+ return yyd - 1;
+}
+# endif
+# endif
+
+# ifndef yytnamerr
+/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
+ quotes and backslashes, so that it's suitable for yyerror. The
+ heuristic is that double-quoting is unnecessary unless the string
+ contains an apostrophe, a comma, or backslash (other than
+ backslash-backslash). YYSTR is taken from yytname. If YYRES is
+ null, do not copy; instead, return the length of what the result
+ would have been. */
+static YYSIZE_T
+yytnamerr (char *yyres, const char *yystr)
+{
+ if (*yystr == '"')
+ {
+ YYSIZE_T yyn = 0;
+ char const *yyp = yystr;
+
+ for (;;)
+ switch (*++yyp)
+ {
+ case '\'':
+ case ',':
+ goto do_not_strip_quotes;
+
+ case '\\':
+ if (*++yyp != '\\')
+ goto do_not_strip_quotes;
+ /* Fall through. */
+ default:
+ if (yyres)
+ yyres[yyn] = *yyp;
+ yyn++;
+ break;
+
+ case '"':
+ if (yyres)
+ yyres[yyn] = '\0';
+ return yyn;
+ }
+ do_not_strip_quotes: ;
+ }
+
+ if (! yyres)
+ return yystrlen (yystr);
+
+ return yystpcpy (yyres, yystr) - yyres;
+}
+# endif
+
+/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
+ about the unexpected token YYTOKEN for the state stack whose top is
+ YYSSP.
+
+ Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is
+ not large enough to hold the message. In that case, also set
+ *YYMSG_ALLOC to the required number of bytes. Return 2 if the
+ required number of bytes is too large to store. */
+static int
+yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
+ yytype_int16 *yyssp, int yytoken)
+{
+ YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
+ YYSIZE_T yysize = yysize0;
+ enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
+ /* Internationalized format string. */
+ const char *yyformat = YY_NULLPTR;
+ /* Arguments of yyformat. */
+ char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
+ /* Number of reported tokens (one for the "unexpected", one per
+ "expected"). */
+ int yycount = 0;
+
+ /* There are many possibilities here to consider:
+ - If this state is a consistent state with a default action, then
+ the only way this function was invoked is if the default action
+ is an error action. In that case, don't check for expected
+ tokens because there are none.
+ - The only way there can be no lookahead present (in yychar) is if
+ this state is a consistent state with a default action. Thus,
+ detecting the absence of a lookahead is sufficient to determine
+ that there is no unexpected or expected token to report. In that
+ case, just report a simple "syntax error".
+ - Don't assume there isn't a lookahead just because this state is a
+ consistent state with a default action. There might have been a
+ previous inconsistent state, consistent state with a non-default
+ action, or user semantic action that manipulated yychar.
+ - Of course, the expected token list depends on states to have
+ correct lookahead information, and it depends on the parser not
+ to perform extra reductions after fetching a lookahead from the
+ scanner and before detecting a syntax error. Thus, state merging
+ (from LALR or IELR) and default reductions corrupt the expected
+ token list. However, the list is correct for canonical LR with
+ one exception: it will still contain any token that will not be
+ accepted due to an error action in a later state.
+ */
+ if (yytoken != YYEMPTY)
+ {
+ int yyn = yypact[*yyssp];
+ yyarg[yycount++] = yytname[yytoken];
+ if (!yypact_value_is_default (yyn))
+ {
+ /* Start YYX at -YYN if negative to avoid negative indexes in
+ YYCHECK. In other words, skip the first -YYN actions for
+ this state because they are default actions. */
+ int yyxbegin = yyn < 0 ? -yyn : 0;
+ /* Stay within bounds of both yycheck and yytname. */
+ int yychecklim = YYLAST - yyn + 1;
+ int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
+ int yyx;
+
+ for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+ if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
+ && !yytable_value_is_error (yytable[yyx + yyn]))
+ {
+ if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
+ {
+ yycount = 1;
+ yysize = yysize0;
+ break;
+ }
+ yyarg[yycount++] = yytname[yyx];
+ {
+ YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
+ if (! (yysize <= yysize1
+ && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+ return 2;
+ yysize = yysize1;
+ }
+ }
+ }
+ }
+
+ switch (yycount)
+ {
+# define YYCASE_(N, S) \
+ case N: \
+ yyformat = S; \
+ break
+ YYCASE_(0, YY_("syntax error"));
+ YYCASE_(1, YY_("syntax error, unexpected %s"));
+ YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
+ YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
+ YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
+ YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
+# undef YYCASE_
+ }
+
+ {
+ YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
+ if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+ return 2;
+ yysize = yysize1;
+ }
+
+ if (*yymsg_alloc < yysize)
+ {
+ *yymsg_alloc = 2 * yysize;
+ if (! (yysize <= *yymsg_alloc
+ && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
+ *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
+ return 1;
+ }
+
+ /* Avoid sprintf, as that infringes on the user's name space.
+ Don't have undefined behavior even if the translation
+ produced a string with the wrong number of "%s"s. */
+ {
+ char *yyp = *yymsg;
+ int yyi = 0;
+ while ((*yyp = *yyformat) != '\0')
+ if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
+ {
+ yyp += yytnamerr (yyp, yyarg[yyi++]);
+ yyformat += 2;
+ }
+ else
+ {
+ yyp++;
+ yyformat++;
+ }
+ }
+ return 0;
+}
+#endif /* YYERROR_VERBOSE */
+
+/*-----------------------------------------------.
+| Release the memory associated to this symbol. |
+`-----------------------------------------------*/
+
+static void
+yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, re2c::context_t &context)
+{
+ YYUSE (yyvaluep);
+ YYUSE (context);
+ if (!yymsg)
+ yymsg = "Deleting";
+ YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
+
+ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+ YYUSE (yytype);
+ YY_IGNORE_MAYBE_UNINITIALIZED_END
+}
+
+
+
+
+/* The lookahead symbol. */
+int yychar;
+
+/* The semantic value of the lookahead symbol. */
+YYSTYPE yylval;
+/* Number of syntax errors so far. */
+int yynerrs;
+
+
+/*----------.
+| yyparse. |
+`----------*/
+
+int
+yyparse (re2c::context_t &context)
+{
+ int yystate;
+ /* Number of tokens to shift before error messages enabled. */
+ int yyerrstatus;
+
+ /* The stacks and their tools:
+ 'yyss': related to states.
+ 'yyvs': related to semantic values.
+
+ Refer to the stacks through separate pointers, to allow yyoverflow
+ to reallocate them elsewhere. */
+
+ /* The state stack. */
+ yytype_int16 yyssa[YYINITDEPTH];
+ yytype_int16 *yyss;
+ yytype_int16 *yyssp;
+
+ /* The semantic value stack. */
+ YYSTYPE yyvsa[YYINITDEPTH];
+ YYSTYPE *yyvs;
+ YYSTYPE *yyvsp;
+
+ YYSIZE_T yystacksize;
+
+ int yyn;
+ int yyresult;
+ /* Lookahead token as an internal (translated) token number. */
+ int yytoken = 0;
+ /* The variables used to return semantic value and location from the
+ action routines. */
+ YYSTYPE yyval;
+
+#if YYERROR_VERBOSE
+ /* Buffer for error messages, and its allocated size. */
+ char yymsgbuf[128];
+ char *yymsg = yymsgbuf;
+ YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
+#endif
+
+#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
+
+ /* The number of symbols on the RHS of the reduced rule.
+ Keep to zero when no symbol should be popped. */
+ int yylen = 0;
+
+ yyssp = yyss = yyssa;
+ yyvsp = yyvs = yyvsa;
+ yystacksize = YYINITDEPTH;
+
+ YYDPRINTF ((stderr, "Starting parse\n"));
+
+ yystate = 0;
+ yyerrstatus = 0;
+ yynerrs = 0;
+ yychar = YYEMPTY; /* Cause a token to be read. */
+ goto yysetstate;
+
+/*------------------------------------------------------------.
+| yynewstate -- Push a new state, which is found in yystate. |
+`------------------------------------------------------------*/
+ yynewstate:
+ /* In all cases, when you get here, the value and location stacks
+ have just been pushed. So pushing a state here evens the stacks. */
+ yyssp++;
+
+ yysetstate:
+ *yyssp = yystate;
+
+ if (yyss + yystacksize - 1 <= yyssp)
+ {
+ /* Get the current used size of the three stacks, in elements. */
+ YYSIZE_T yysize = yyssp - yyss + 1;
+
+#ifdef yyoverflow
+ {
+ /* Give user a chance to reallocate the stack. Use copies of
+ these so that the &'s don't force the real ones into
+ memory. */
+ YYSTYPE *yyvs1 = yyvs;
+ yytype_int16 *yyss1 = yyss;
+
+ /* Each stack pointer address is followed by the size of the
+ data in use in that stack, in bytes. This used to be a
+ conditional around just the two extra args, but that might
+ be undefined if yyoverflow is a macro. */
+ yyoverflow (YY_("memory exhausted"),
+ &yyss1, yysize * sizeof (*yyssp),
+ &yyvs1, yysize * sizeof (*yyvsp),
+ &yystacksize);
+
+ yyss = yyss1;
+ yyvs = yyvs1;
+ }
+#else /* no yyoverflow */
+# ifndef YYSTACK_RELOCATE
+ goto yyexhaustedlab;
+# else
+ /* Extend the stack our own way. */
+ if (YYMAXDEPTH <= yystacksize)
+ goto yyexhaustedlab;
+ yystacksize *= 2;
+ if (YYMAXDEPTH < yystacksize)
+ yystacksize = YYMAXDEPTH;
+
+ {
+ yytype_int16 *yyss1 = yyss;
+ union yyalloc *yyptr =
+ (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
+ if (! yyptr)
+ goto yyexhaustedlab;
+ YYSTACK_RELOCATE (yyss_alloc, yyss);
+ YYSTACK_RELOCATE (yyvs_alloc, yyvs);
+# undef YYSTACK_RELOCATE
+ if (yyss1 != yyssa)
+ YYSTACK_FREE (yyss1);
+ }
+# endif
+#endif /* no yyoverflow */
+
+ yyssp = yyss + yysize - 1;
+ yyvsp = yyvs + yysize - 1;
+
+ YYDPRINTF ((stderr, "Stack size increased to %lu\n",
+ (unsigned long int) yystacksize));
+
+ if (yyss + yystacksize - 1 <= yyssp)
+ YYABORT;
+ }
+
+ YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+
+ if (yystate == YYFINAL)
+ YYACCEPT;
+
+ goto yybackup;
+
+/*-----------.
+| yybackup. |
+`-----------*/
+yybackup:
+
+ /* Do appropriate processing given the current state. Read a
+ lookahead token if we need one and don't already have one. */
+
+ /* First try to decide what to do without reference to lookahead token. */
+ yyn = yypact[yystate];
+ if (yypact_value_is_default (yyn))
+ goto yydefault;
+
+ /* Not known => get a lookahead token if don't already have one. */
+
+ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
+ if (yychar == YYEMPTY)
+ {
+ YYDPRINTF ((stderr, "Reading a token: "));
+ yychar = yylex (context);
+ }
+
+ if (yychar <= YYEOF)
+ {
+ yychar = yytoken = YYEOF;
+ YYDPRINTF ((stderr, "Now at end of input.\n"));
+ }
+ else
+ {
+ yytoken = YYTRANSLATE (yychar);
+ YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
+ }
+
+ /* If the proper action on seeing token YYTOKEN is to reduce or to
+ detect an error, take that action. */
+ yyn += yytoken;
+ if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
+ goto yydefault;
+ yyn = yytable[yyn];
+ if (yyn <= 0)
+ {
+ if (yytable_value_is_error (yyn))
+ goto yyerrlab;
+ yyn = -yyn;
+ goto yyreduce;
+ }
+
+ /* Count tokens shifted since error; after three, turn off error
+ status. */
+ if (yyerrstatus)
+ yyerrstatus--;
+
+ /* Shift the lookahead token. */
+ YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
+
+ /* Discard the shifted token. */
+ yychar = YYEMPTY;
+
+ yystate = yyn;
+ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+ *++yyvsp = yylval;
+ YY_IGNORE_MAYBE_UNINITIALIZED_END
+
+ goto yynewstate;
+
+
+/*-----------------------------------------------------------.
+| yydefault -- do the default action for the current state. |
+`-----------------------------------------------------------*/
+yydefault:
+ yyn = yydefact[yystate];
+ if (yyn == 0)
+ goto yyerrlab;
+ goto yyreduce;
+
+
+/*-----------------------------.
+| yyreduce -- Do a reduction. |
+`-----------------------------*/
+yyreduce:
+ /* yyn is the number of a rule to reduce with. */
+ yylen = yyr2[yyn];
+
+ /* If YYLEN is nonzero, implement the default value of the action:
+ '$$ = $1'.
+
+ Otherwise, the following line sets YYVAL to garbage.
+ This behavior is undocumented and Bison
+ users should not rely upon it. Assigning to YYVAL
+ unconditionally makes the parser a bit smaller, and it avoids a
+ GCC warning that YYVAL may be used uninitialized. */
+ yyval = yyvsp[1-yylen];
+
+
+ YY_REDUCE_PRINT (yyn);
+ switch (yyn)
+ {
+ case 3:
+
+ { context.input.lex_conf(context.opts); }
+
+ break;
+
+ case 7:
+
+ {
+ if (!context.symtab.insert(std::make_pair(*(yyvsp[-2].str), (yyvsp[-1].regexp))).second) {
+ fatal_l(context.input.get_cline(), "sym already defined");
+ }
+ delete (yyvsp[-2].str);
+ }
+
+ break;
+
+ case 8:
+
+ {
+ fatal_l(context.input.get_cline(),
+ "trailing contexts are not allowed in named definitions");
+ }
+
+ break;
+
+ case 9:
+
+ {
+ (yyval.str) = (yyvsp[-1].str);
+ }
+
+ break;
+
+ case 10:
+
+ {
+ (yyval.str) = (yyvsp[0].str);
+ }
+
+ break;
+
+ case 13:
+
+ {
+ find(context.specs, "").rules.push_back(ASTRule((yyvsp[-1].regexp), (yyvsp[0].code)));
+ }
+
+ break;
+
+ case 14:
+
+ {
+ find(context.specs, "").defs.push_back((yyvsp[0].code));
+ }
+
+ break;
+
+ case 15:
+
+ {
+ for(CondList::const_iterator i = (yyvsp[-3].clist)->begin(); i != (yyvsp[-3].clist)->end(); ++i) {
+ find(context.specs, *i).rules.push_back(ASTRule((yyvsp[-1].regexp), (yyvsp[0].code)));
+ }
+ delete (yyvsp[-3].clist);
+ }
+
+ break;
+
+ case 16:
+
+ {
+ for(CondList::const_iterator i = (yyvsp[-3].clist)->begin(); i != (yyvsp[-3].clist)->end(); ++i) {
+ find(context.specs, *i).defs.push_back((yyvsp[0].code));
+ }
+ delete (yyvsp[-3].clist);
+ }
+
+ break;
+
+ case 17:
+
+ {
+ for (CondList::const_iterator i = (yyvsp[-2].clist)->begin(); i != (yyvsp[-2].clist)->end(); ++i) {
+ find(context.specs, *i).setup.push_back((yyvsp[0].code));
+ }
+ delete (yyvsp[-2].clist);
+ }
+
+ break;
+
+ case 18:
+
+ {
+ const AST *r = ast_nil(context.input.get_cline(), 0);
+ find(context.specs, "0").rules.push_back(ASTRule(r, (yyvsp[0].code)));
+ }
+
+ break;
+
+ case 20:
+
+ {
+ (yyval.code) = (yyvsp[0].code);
+ (yyval.code)->cond = *(yyvsp[-1].str);
+ delete (yyvsp[-1].str);
+ }
+
+ break;
+
+ case 21:
+
+ {
+ (yyval.code) = new Code(context.input.get_fname(), context.input.get_cline());
+ (yyval.code)->cond = *(yyvsp[0].str);
+ delete (yyvsp[0].str);
+ }
+
+ break;
+
+ case 23:
+
+ {
+ (yyval.clist) = new CondList;
+ (yyval.clist)->insert("*");
+ }
+
+ break;
+
+ case 24:
+
+ {
+ (yyval.clist) = new CondList;
+ (yyval.clist)->insert(*(yyvsp[0].str));
+ delete (yyvsp[0].str);
+ }
+
+ break;
+
+ case 25:
+
+ {
+ (yyvsp[-2].clist)->insert(*(yyvsp[0].str));
+ delete (yyvsp[0].str);
+ (yyval.clist) = (yyvsp[-2].clist);
+ }
+
+ break;
+
+ case 26:
+
+ {
+ (yyval.regexp) = ast_cap((yyvsp[0].regexp));
+ }
+
+ break;
+
+ case 27:
+
+ {
+ (yyval.regexp) = ast_cat(ast_cap((yyvsp[-2].regexp)),
+ ast_cat(ast_tag(context.input.get_cline(), 0, NULL, false), (yyvsp[0].regexp)));
+ }
+
+ break;
+
+ case 28:
+
+ {
+ (yyval.regexp) = (yyvsp[0].regexp);
+ }
+
+ break;
+
+ case 29:
+
+ {
+ (yyval.regexp) = ast_alt((yyvsp[-2].regexp), (yyvsp[0].regexp));
+ }
+
+ break;
+
+ case 30:
+
+ {
+ (yyval.regexp) = (yyvsp[0].regexp);
+ }
+
+ break;
+
+ case 31:
+
+ {
+ (yyval.regexp) = ast_diff((yyvsp[-2].regexp), (yyvsp[0].regexp));
+ }
+
+ break;
+
+ case 32:
+
+ {
+ (yyval.regexp) = (yyvsp[0].regexp);
+ }
+
+ break;
+
+ case 33:
+
+ {
+ (yyval.regexp) = ast_cat((yyvsp[-1].regexp), (yyvsp[0].regexp));
+ }
+
+ break;
+
+ case 35:
+
+ {
+ switch((yyvsp[0].op)) {
+ case '*': (yyval.regexp) = ast_iter((yyvsp[-1].regexp), 0, AST::MANY); break;
+ case '+': (yyval.regexp) = ast_iter((yyvsp[-1].regexp), 1, AST::MANY); break;
+ case '?': (yyval.regexp) = ast_iter((yyvsp[-1].regexp), 0, 1); break;
+ }
+ }
+
+ break;
+
+ case 36:
+
+ {
+ (yyval.regexp) = ast_iter((yyvsp[-1].regexp), (yyvsp[0].bounds).min, (yyvsp[0].bounds).max);
+ }
+
+ break;
+
+ case 38:
+
+ { (yyval.op) = ((yyvsp[-1].op) == (yyvsp[0].op)) ? (yyvsp[-1].op) : '*'; }
+
+ break;
+
+ case 39:
+
+ { (yyval.op) = '*'; }
+
+ break;
+
+ case 40:
+
+ { (yyval.op) = '+'; }
+
+ break;
+
+ case 41:
+
+ { (yyval.op) = '?'; }
+
+ break;
+
+ case 43:
+
+ {
+ symtab_t::iterator i = context.symtab.find(*(yyvsp[0].str));
+ if (i == context.symtab.end()) {
+ fatal_l(context.input.get_cline(),
+ "undefined symbol '%s'", (yyvsp[0].str)->c_str());
+ }
+ (yyval.regexp) = i->second;
+ if (ast_need_wrap((yyval.regexp))) {
+ (yyval.regexp) = ast_ref((yyval.regexp), *(yyvsp[0].str));
+ }
+ delete (yyvsp[0].str);
+ }
+
+ break;
+
+ case 44:
+
+ {
+ (yyval.regexp) = ast_cap((yyvsp[-1].regexp));
+ }
+
+ break;
+
+
+
+ default: break;
+ }
+ /* User semantic actions sometimes alter yychar, and that requires
+ that yytoken be updated with the new translation. We take the
+ approach of translating immediately before every use of yytoken.
+ One alternative is translating here after every semantic action,
+ but that translation would be missed if the semantic action invokes
+ YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
+ if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
+ incorrect destructor might then be invoked immediately. In the
+ case of YYERROR or YYBACKUP, subsequent parser actions might lead
+ to an incorrect destructor call or verbose syntax error message
+ before the lookahead is translated. */
+ YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
+
+ YYPOPSTACK (yylen);
+ yylen = 0;
+ YY_STACK_PRINT (yyss, yyssp);
+
+ *++yyvsp = yyval;
+
+ /* Now 'shift' the result of the reduction. Determine what state
+ that goes to, based on the state we popped back to and the rule
+ number reduced by. */
+
+ yyn = yyr1[yyn];
+
+ yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
+ if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
+ yystate = yytable[yystate];
+ else
+ yystate = yydefgoto[yyn - YYNTOKENS];
+
+ goto yynewstate;
+
+
+/*--------------------------------------.
+| yyerrlab -- here on detecting error. |
+`--------------------------------------*/
+yyerrlab:
+ /* Make sure we have latest lookahead translation. See comments at
+ user semantic actions for why this is necessary. */
+ yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
+
+ /* If not already recovering from an error, report this error. */
+ if (!yyerrstatus)
+ {
+ ++yynerrs;
+#if ! YYERROR_VERBOSE
+ yyerror (context, YY_("syntax error"));
+#else
+# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
+ yyssp, yytoken)
+ {
+ char const *yymsgp = YY_("syntax error");
+ int yysyntax_error_status;
+ yysyntax_error_status = YYSYNTAX_ERROR;
+ if (yysyntax_error_status == 0)
+ yymsgp = yymsg;
+ else if (yysyntax_error_status == 1)
+ {
+ if (yymsg != yymsgbuf)
+ YYSTACK_FREE (yymsg);
+ yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
+ if (!yymsg)
+ {
+ yymsg = yymsgbuf;
+ yymsg_alloc = sizeof yymsgbuf;
+ yysyntax_error_status = 2;
+ }
+ else
+ {
+ yysyntax_error_status = YYSYNTAX_ERROR;
+ yymsgp = yymsg;
+ }
+ }
+ yyerror (context, yymsgp);
+ if (yysyntax_error_status == 2)
+ goto yyexhaustedlab;
+ }
+# undef YYSYNTAX_ERROR
+#endif
+ }
+
+
+
+ if (yyerrstatus == 3)
+ {
+ /* If just tried and failed to reuse lookahead token after an
+ error, discard it. */
+
+ if (yychar <= YYEOF)
+ {
+ /* Return failure if at end of input. */
+ if (yychar == YYEOF)
+ YYABORT;
+ }
+ else
+ {
+ yydestruct ("Error: discarding",
+ yytoken, &yylval, context);
+ yychar = YYEMPTY;
+ }
+ }
+
+ /* Else will try to reuse lookahead token after shifting the error
+ token. */
+ goto yyerrlab1;
+
+
+/*---------------------------------------------------.
+| yyerrorlab -- error raised explicitly by YYERROR. |
+`---------------------------------------------------*/
+yyerrorlab:
+
+ /* Pacify compilers like GCC when the user code never invokes
+ YYERROR and the label yyerrorlab therefore never appears in user
+ code. */
+ if (/*CONSTCOND*/ 0)
+ goto yyerrorlab;
+
+ /* Do not reclaim the symbols of the rule whose action triggered
+ this YYERROR. */
+ YYPOPSTACK (yylen);
+ yylen = 0;
+ YY_STACK_PRINT (yyss, yyssp);
+ yystate = *yyssp;
+ goto yyerrlab1;
+
+
+/*-------------------------------------------------------------.
+| yyerrlab1 -- common code for both syntax error and YYERROR. |
+`-------------------------------------------------------------*/
+yyerrlab1:
+ yyerrstatus = 3; /* Each real token shifted decrements this. */
+
+ for (;;)
+ {
+ yyn = yypact[yystate];
+ if (!yypact_value_is_default (yyn))
+ {
+ yyn += YYTERROR;
+ if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
+ {
+ yyn = yytable[yyn];
+ if (0 < yyn)
+ break;
+ }
+ }
+
+ /* Pop the current state because it cannot handle the error token. */
+ if (yyssp == yyss)
+ YYABORT;
+
+
+ yydestruct ("Error: popping",
+ yystos[yystate], yyvsp, context);
+ YYPOPSTACK (1);
+ yystate = *yyssp;
+ YY_STACK_PRINT (yyss, yyssp);
+ }
+
+ YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
+ *++yyvsp = yylval;
+ YY_IGNORE_MAYBE_UNINITIALIZED_END
+
+
+ /* Shift the error token. */
+ YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
+
+ yystate = yyn;
+ goto yynewstate;
+
+
+/*-------------------------------------.
+| yyacceptlab -- YYACCEPT comes here. |
+`-------------------------------------*/
+yyacceptlab:
+ yyresult = 0;
+ goto yyreturn;
+
+/*-----------------------------------.
+| yyabortlab -- YYABORT comes here. |
+`-----------------------------------*/
+yyabortlab:
+ yyresult = 1;
+ goto yyreturn;
+
+#if !defined yyoverflow || YYERROR_VERBOSE
+/*-------------------------------------------------.
+| yyexhaustedlab -- memory exhaustion comes here. |
+`-------------------------------------------------*/
+yyexhaustedlab:
+ yyerror (context, YY_("memory exhausted"));
+ yyresult = 2;
+ /* Fall through. */
+#endif
+
+yyreturn:
+ if (yychar != YYEMPTY)
+ {
+ /* Make sure we have latest lookahead translation. See comments at
+ user semantic actions for why this is necessary. */
+ yytoken = YYTRANSLATE (yychar);
+ yydestruct ("Cleanup: discarding lookahead",
+ yytoken, &yylval, context);
+ }
+ /* Do not reclaim the symbols of the rule whose action triggered
+ this YYABORT or YYACCEPT. */
+ YYPOPSTACK (yylen);
+ YY_STACK_PRINT (yyss, yyssp);
+ while (yyssp != yyss)
+ {
+ yydestruct ("Cleanup: popping",
+ yystos[*yyssp], yyvsp, context);
+ YYPOPSTACK (1);
+ }
+#ifndef yyoverflow
+ if (yyss != yyssa)
+ YYSTACK_FREE (yyss);
+#endif
+#if YYERROR_VERBOSE
+ if (yymsg != yymsgbuf)
+ YYSTACK_FREE (yymsg);
+#endif
+ return yyresult;
+}
+
+
+
+extern "C" {
+
+void yyerror(context_t &context, const char* s)
+{
+ fatal_l(context.input.get_cline(), "%s", s);
+}
+
+int yylex(context_t &context)
+{
+ return context.input.scan(&context.opts.glob);
+}
+
+} // extern "C"
+
+namespace re2c
+{
+
+void parse(Scanner &input, specs_t &specs, symtab_t &symtab, Opt &opts)
+{
+ context_t context = {input, specs, symtab, opts};
+ yyparse(context);
+}
+
+} // namespace re2c
diff --git a/bootstrap/src/parse/y.tab.h b/bootstrap/src/ast/y.tab.h
index 5a876216..23fe896a 100644
--- a/bootstrap/src/parse/y.tab.h
+++ b/bootstrap/src/ast/y.tab.h
@@ -1,20 +1,19 @@
-/* A Bison parser, made by GNU Bison 2.4.3. */
+/* A Bison parser, made by GNU Bison 3.0.4. */
+
+/* Bison interface for Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
-/* Skeleton interface for Bison's Yacc-like parsers in C
-
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
- 2009, 2010 Free Software Foundation, Inc.
-
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
-
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
@@ -27,53 +26,61 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
+#ifndef YY_YY_BOOTSTRAP_SRC_AST_Y_TAB_H_INCLUDED
+# define YY_YY_BOOTSTRAP_SRC_AST_Y_TAB_H_INCLUDED
+/* Debug traces. */
+#ifndef YYDEBUG
+# define YYDEBUG 0
+#endif
+#if YYDEBUG
+extern int yydebug;
+#endif
-/* Tokens. */
+/* Token type. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
- /* Put the tokens into the symbol table, so that GDB and other debuggers
- know about them. */
- enum yytokentype {
- TOKEN_CLOSE = 258,
- TOKEN_CLOSESIZE = 259,
- TOKEN_CODE = 260,
- TOKEN_CONF = 261,
- TOKEN_ID = 262,
- TOKEN_FID = 263,
- TOKEN_FID_END = 264,
- TOKEN_NOCOND = 265,
- TOKEN_REGEXP = 266,
- TOKEN_SETUP = 267,
- TOKEN_STAR = 268
- };
+ enum yytokentype
+ {
+ TOKEN_CLOSESIZE = 258,
+ TOKEN_CODE = 259,
+ TOKEN_CONF = 260,
+ TOKEN_ID = 261,
+ TOKEN_FID = 262,
+ TOKEN_FID_END = 263,
+ TOKEN_LINE_INFO = 264,
+ TOKEN_REGEXP = 265
+ };
#endif
-
-
+/* Value type. */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-typedef union YYSTYPE
+
+union YYSTYPE
{
- re2c::RegExp * regexp;
- const re2c::Code * code;
+ const re2c::AST * regexp;
+ re2c::Code * code;
char op;
- re2c::ExtOp extop;
+ re2c::ASTBounds bounds;
std::string * str;
re2c::CondList * clist;
+};
-} YYSTYPE;
+typedef union YYSTYPE YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
-# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
#endif
+
extern YYSTYPE yylval;
+int yyparse (re2c::context_t &context);
+#endif /* !YY_YY_BOOTSTRAP_SRC_AST_Y_TAB_H_INCLUDED */
diff --git a/bootstrap/src/conf/help.cc b/bootstrap/src/conf/help.cc
new file mode 100644
index 00000000..6e14c068
--- /dev/null
+++ b/bootstrap/src/conf/help.cc
@@ -0,0 +1,264 @@
+extern const char *help;
+const char *help =
+"\n"
+" -? -h --help\n"
+" Show help message.\n"
+"\n"
+" -b --bit-vectors\n"
+" Optimize conditional jumps using bit masks. Implies -s.\n"
+"\n"
+" -c --conditions\n"
+" Enable support of Flex-like \"conditions\": multiple interrelated\n"
+" lexers within one block.\n"
+"\n"
+" -d --debug-output\n"
+" Emit YYDEBUG in the generated code. YYDEBUG should be defined\n"
+" by the user in the form of a void function with two parameters:\n"
+" state (lexer state or -1) and symbol (current input symbol of\n"
+" type YYCTYPE).\n"
+"\n"
+" -D --emit-dot\n"
+" Instead of normal output generate lexer graph in DOT format.\n"
+" The output can be converted to PNG with the help of Graphviz\n"
+" (something like dot -Tpng -odfa.png dfa.dot). Note that large\n"
+" graphs may crash Graphviz.\n"
+"\n"
+" -e --ecb\n"
+" Generate a lexer that reads input in EBCDIC encoding. re2c\n"
+" assumes that character range is 0 -- 0xFF an character size is 1\n"
+" byte.\n"
+"\n"
+" -f --storable-state\n"
+" Generate a lexer which can store its inner state. This is useâ€\n"
+" ful in push-model lexers which are stopped by an outer program\n"
+" when there is not enough input, and then resumed when more input\n"
+" becomes available. In this mode users should additionally\n"
+" define YYGETSTATE () and YYSETSTATE (state) macros and variables\n"
+" yych, yyaccept and the state as part of the lexer state.\n"
+"\n"
+" -F --flex-syntax\n"
+" Partial support for Flex syntax: in this mode named definitions\n"
+" don't need the equal sign and the terminating semicolon, and\n"
+" when used they must be surrounded by curly braces. Names withâ€\n"
+" out curly braces are treated as double-quoted strings.\n"
+"\n"
+" -g --computed-gotos\n"
+" Optimize conditional jumps using non-standard \"computed goto\"\n"
+" extension (must be supported by C/C++ compiler). re2c generates\n"
+" jump tables only in complex cases with a lot of conditional\n"
+" branches. Complexity threshold can be configured with\n"
+" cgoto:threshold configuration. This option implies -b.\n"
+"\n"
+" -i --no-debug-info\n"
+" Do not output #line information. This is useful when the generâ€\n"
+" ated code is tracked by some version control system.\n"
+"\n"
+" -o OUTPUT --output=OUTPUT\n"
+" Specify the OUTPUT file.\n"
+"\n"
+" -r --reusable\n"
+" Allows reuse of re2c rules with /*!rules:re2c */ and /*!use:re2c\n"
+" */ blocks. In this mode simple /*!re2c */ blocks are not\n"
+" allowed and exactly one /*!rules:re2c */ block must be present.\n"
+" The rules are saved and used by every /*!use:re2c */ block that\n"
+" follows (which may add rules of their own). This option allows\n"
+" to reuse the same set of rules with different configurations.\n"
+"\n"
+" -s --nested-ifs\n"
+" Use nested if statements instead of switch statements in condiâ€\n"
+" tional jumps. This usually results in more efficient code with\n"
+" non-optimizing C/C++ compilers.\n"
+"\n"
+" -t HEADER --type-header=HEADER\n"
+" Generate a HEADER file that contains enum with condition names.\n"
+" Requires -c option.\n"
+"\n"
+" -T --tags\n"
+" Enable submatch extraction with tags.\n"
+"\n"
+" -P --posix-captures\n"
+" Enable submatch extraction with POSIX-style capturing groups.\n"
+"\n"
+" -u --unicode\n"
+" Generate a lexer that reads input in UTF-32 encoding. re2c\n"
+" assumes that character range is 0 -- 0x10FFFF and character size\n"
+" is 4 bytes. Implies -s.\n"
+"\n"
+" -v --version\n"
+" Show version information.\n"
+"\n"
+" -V --vernum\n"
+" Show version information in MMmmpp format (major, minor, patch).\n"
+"\n"
+" -w --wide-chars\n"
+" Generate a lexer that reads input in UCS-2 encoding. re2c\n"
+" assumes that character range is 0 -- 0xFFFF and character size\n"
+" is 2 bytes. Implies -s.\n"
+"\n"
+" -x --utf-16\n"
+" Generate a lexer that reads input in UTF-16 encoding. re2c\n"
+" assumes that character range is 0 -- 0x10FFFF and character size\n"
+" is 2 bytes. Implies -s.\n"
+"\n"
+" -8 --utf-8\n"
+" Generate a lexer that reads input in UTF-8 encoding. re2c\n"
+" assumes that character range is 0 -- 0x10FFFF and character size\n"
+" is 1 byte.\n"
+"\n"
+" --case-insensitive\n"
+" Treat single-quoted and double-quoted strings as case-insensiâ€\n"
+" tive.\n"
+"\n"
+" --case-inverted\n"
+" Invert the meaning of single-quoted and double-quoted strings:\n"
+" treat single-quoted strings as case-sensitive and double-quoted\n"
+" strings as case-insensitive.\n"
+"\n"
+" --no-generation-date\n"
+" Suppress date output in the generated file.\n"
+"\n"
+" --no-lookahead\n"
+" Use TDFA(0) instead of TDFA(1). This option only has effect\n"
+" with --tags or --posix-captures options.\n"
+"\n"
+" --no-optimize-tags\n"
+" Suppress optimization of tag variables (useful for debugging or\n"
+" benchmarking).\n"
+"\n"
+" --no-version\n"
+" Suppress version output in the generated file.\n"
+"\n"
+" --encoding-policy POLICY\n"
+" Define the way re2c treats Unicode surrogates. POLICY can be\n"
+" one of the following: fail (abort with an error when a surrogate\n"
+" is encountered), substitute (silently replace surrogates with\n"
+" the error code point 0xFFFD), ignore (default, treat surrogates\n"
+" as normal code points). The Unicode standard says that standâ€\n"
+" alone surrogates are invalid, but real-world libraries and proâ€\n"
+" grams behave in different ways.\n"
+"\n"
+" --input INPUT\n"
+" Specify re2c input API. INPUT can be either default or custom\n"
+" (enables the use of generic API).\n"
+"\n"
+" -S --skeleton\n"
+" Ignore user-defined interface code and generate a self-contained\n"
+" \"skeleton\" program. Additionally, generate input files with\n"
+" strings derived from the regular grammar and compressed match\n"
+" results that are used to verify \"skeleton\" behavior on all\n"
+" inputs. This option is useful for finding bugs in optimizations\n"
+" and code generation.\n"
+"\n"
+" --empty-class POLICY\n"
+" Define the way re2c treats empty character classes. POLICY can\n"
+" be one of the following: match-empty (match empty input: illogiâ€\n"
+" cal, but default behavior for backwards compatibility reasons),\n"
+" match-none (fail to match on any input), error (compilation\n"
+" error).\n"
+"\n"
+" --dfa-minimization ALGORITHM\n"
+" The internal algorithm used by re2c to minimize the DFA. ALGOâ€\n"
+" RITHM can be either moore (Moore algorithm, the default) or taâ€\n"
+" ble (table filling algorithm). Both algorithms should produce\n"
+" the same DFA up to states relabeling; table filling is much\n"
+" slower and serves as a reference implementation.\n"
+"\n"
+" --eager-skip\n"
+" Make the generated lexer advance the input position \"eagerly\":\n"
+" immediately after reading input symbol. By default this happens\n"
+" after transition to the next state. Implied by --no-lookahead.\n"
+"\n"
+" --dump-nfa\n"
+" Generate representation of NFA in DOT format and dump it on\n"
+" stderr.\n"
+"\n"
+" --dump-dfa-raw\n"
+" Generate representation of DFA in DOT format under construction\n"
+" and dump it on stderr.\n"
+"\n"
+" --dump-dfa-det\n"
+" Generate representation of DFA in DOT format immediately after\n"
+" determinization and dump it on stderr.\n"
+"\n"
+" --dump-dfa-tagopt\n"
+" Generate representation of DFA in DOT format after tag optimizaâ€\n"
+" tions and dump it on stderr.\n"
+"\n"
+" --dump-dfa-min\n"
+" Generate representation of DFA in DOT format after minimization\n"
+" and dump it on stderr.\n"
+"\n"
+" --dump-adfa\n"
+" Generate representation of DFA in DOT format after tunneling and\n"
+" dump it on stderr.\n"
+"\n"
+" -1 --single-pass\n"
+" Deprecated. Does nothing (single pass is the default now).\n"
+"\n"
+" -W Turn on all warnings.\n"
+"\n"
+" -Werror\n"
+" Turn warnings into errors. Note that this option alone doesn't\n"
+" turn on any warnings; it only affects those warnings that have\n"
+" been turned on so far or will be turned on later.\n"
+"\n"
+" -W<warning>\n"
+" Turn on warning.\n"
+"\n"
+" -Wno-<warning>\n"
+" Turn off warning.\n"
+"\n"
+" -Werror-<warning>\n"
+" Turn on warning and treat it as an error (this implies -W<warnâ€\n"
+" ing>).\n"
+"\n"
+" -Wno-error-<warning>\n"
+" Don't treat this particular warning as an error. This doesn't\n"
+" turn off the warning itself.\n"
+"\n"
+" -Wcondition-order\n"
+" Warn if the generated program makes implicit assumptions about\n"
+" condition numbering. One should use either the -t, --type-header\n"
+" option or the /*!types:re2c*/ directive to generate a mapping of\n"
+" condition names to numbers and then use the autogenerated condiâ€\n"
+" tion names.\n"
+"\n"
+" -Wempty-character-class\n"
+" Warn if a regular expression contains an empty character class.\n"
+" Trying to match an empty character class makes no sense: it\n"
+" should always fail. However, for backwards compatibility reaâ€\n"
+" sons re2c allows empty character classes and treats them as\n"
+" empty strings. Use the --empty-class option to change the\n"
+" default behavior.\n"
+"\n"
+" -Wmatch-empty-string\n"
+" Warn if a rule is nullable (matches an empty string). If the\n"
+" lexer runs in a loop and the empty match is unintentional, the\n"
+" lexer may unexpectedly hang in an infinite loop.\n"
+"\n"
+" -Wswapped-range\n"
+" Warn if the lower bound of a range is greater than its upper\n"
+" bound. The default behavior is to silently swap the range\n"
+" bounds.\n"
+"\n"
+" -Wundefined-control-flow\n"
+" Warn if some input strings cause undefined control flow in the\n"
+" lexer (the faulty patterns are reported). This is the most danâ€\n"
+" gerous and most common mistake. It can be easily fixed by adding\n"
+" the default rule * which has the lowest priority, matches any\n"
+" code unit, and consumes exactly one code unit.\n"
+"\n"
+" -Wunreachable-rules\n"
+" Warn about rules that are shadowed by other rules and will never\n"
+" match.\n"
+"\n"
+" -Wuseless-escape\n"
+" Warn if a symbol is escaped when it shouldn't be. By default,\n"
+" re2c silently ignores such escapes, but this may as well indiâ€\n"
+" cate a typo or an error in the escape sequence.\n"
+"\n"
+" -Wnondeterministic-tags\n"
+" Warn if a tag has n-th degree of nondeterminism, where n is\n"
+" greater than 1.\n"
+"\n"
+;
diff --git a/bootstrap/src/conf/parse_opts.cc b/bootstrap/src/conf/parse_opts.cc
index 9eb07989..f386b99b 100644
--- a/bootstrap/src/conf/parse_opts.cc
+++ b/bootstrap/src/conf/parse_opts.cc
@@ -1,12 +1,10 @@
-/* Generated by re2c 0.16 on Thu Jan 21 10:47:47 2016 */
+/* Generated by re2c 1.0.3 on Wed Nov 8 20:39:40 2017 */
#line 1 "../src/conf/parse_opts.re"
-#include "src/codegen/input_api.h"
+#include "src/code/input_api.h"
#include "src/conf/msg.h"
#include "src/conf/opt.h"
-#include "src/conf/warn.h"
-#include "src/globals.h"
-#include "src/ir/regexp/empty_class_policy.h"
-#include "src/ir/regexp/encoding/enc.h"
+#include "src/re/empty_class_policy.h"
+#include "src/re/encoding/enc.h"
namespace re2c
{
@@ -17,14 +15,14 @@ static inline bool next (char * & arg, char ** & argv)
return arg != NULL;
}
-parse_opts_t parse_opts (char ** argv, Opt & opts)
+parse_opts_t parse_opts(char **argv, conopt_t &globopts, Opt &opts, Warn &warn)
{
#define YYCTYPE unsigned char
char * YYCURSOR;
char * YYMARKER;
Warn::option_t option;
-#line 31 "../src/conf/parse_opts.re"
+#line 29 "../src/conf/parse_opts.re"
opt:
@@ -33,7 +31,7 @@ opt:
goto end;
}
-#line 37 "src/conf/parse_opts.cc"
+#line 35 "src/conf/parse_opts.cc"
{
YYCTYPE yych;
unsigned int yyaccept = 0;
@@ -73,72 +71,65 @@ opt:
};
yych = (YYCTYPE)*YYCURSOR;
if (yych <= 0x00) goto yy2;
- if (yych == '-') goto yy5;
+ if (yych == '-') goto yy6;
goto yy4;
yy2:
++YYCURSOR;
-yy3:
-#line 40 "../src/conf/parse_opts.re"
+#line 38 "../src/conf/parse_opts.re"
{
error ("bad option: %s", *argv);
return EXIT_FAIL;
}
-#line 87 "src/conf/parse_opts.cc"
+#line 84 "src/conf/parse_opts.cc"
yy4:
- yyaccept = 0;
- yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- goto yy10;
-yy5:
- ++YYCURSOR;
- if ((yych = (YYCTYPE)*YYCURSOR) <= '-') {
- if (yych <= 0x00) goto yy11;
- if (yych >= '-') goto yy13;
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yybm[0+yych] & 128) {
+ goto yy4;
+ }
+ goto yy8;
+yy6:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= '-') {
+ if (yych <= 0x00) goto yy10;
+ if (yych >= '-') goto yy12;
} else {
- if (yych == 'W') goto yy15;
+ if (yych == 'W') goto yy14;
}
-#line 63 "../src/conf/parse_opts.re"
+#line 61 "../src/conf/parse_opts.re"
{ goto opt_short; }
-#line 102 "src/conf/parse_opts.cc"
-yy7:
+#line 101 "src/conf/parse_opts.cc"
+yy8:
++YYCURSOR;
-#line 61 "../src/conf/parse_opts.re"
+#line 59 "../src/conf/parse_opts.re"
{ if (!opts.source (*argv)) return EXIT_FAIL; goto opt; }
-#line 107 "src/conf/parse_opts.cc"
-yy9:
- ++YYCURSOR;
- yych = (YYCTYPE)*YYCURSOR;
+#line 106 "src/conf/parse_opts.cc"
yy10:
- if (yybm[0+yych] & 128) {
- goto yy9;
- }
- goto yy7;
-yy11:
++YYCURSOR;
-#line 60 "../src/conf/parse_opts.re"
+#line 58 "../src/conf/parse_opts.re"
{ if (!opts.source ("<stdin>")) return EXIT_FAIL; goto opt; }
-#line 120 "src/conf/parse_opts.cc"
-yy13:
- ++YYCURSOR;
- if ((yych = (YYCTYPE)*YYCURSOR) <= 0x00) goto yy17;
-#line 64 "../src/conf/parse_opts.re"
+#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 126 "src/conf/parse_opts.cc"
-yy15:
- yyaccept = 1;
+#line 117 "src/conf/parse_opts.cc"
+yy14:
+ yyaccept = 0;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych <= 'e') {
- if (yych <= 0x00) goto yy19;
- if (yych >= 'e') goto yy21;
+ if (yych <= 0x00) goto yy18;
+ if (yych >= 'e') goto yy20;
} else {
- if (yych == 'n') goto yy23;
+ if (yych == 'n') goto yy22;
}
-yy16:
-#line 68 "../src/conf/parse_opts.re"
+yy15:
+#line 66 "../src/conf/parse_opts.re"
{ option = Warn::W; goto opt_warn; }
-#line 139 "src/conf/parse_opts.cc"
-yy17:
+#line 130 "src/conf/parse_opts.cc"
+yy16:
++YYCURSOR;
-#line 46 "../src/conf/parse_opts.re"
+#line 44 "../src/conf/parse_opts.re"
{
// all remaining arguments are non-options
// so they must be input files
@@ -152,458 +143,459 @@ yy17:
}
goto end;
}
-#line 156 "src/conf/parse_opts.cc"
-yy19:
+#line 147 "src/conf/parse_opts.cc"
+yy18:
++YYCURSOR;
-#line 66 "../src/conf/parse_opts.re"
+#line 64 "../src/conf/parse_opts.re"
{ warn.set_all (); goto opt; }
-#line 161 "src/conf/parse_opts.cc"
-yy21:
+#line 152 "src/conf/parse_opts.cc"
+yy20:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy24;
-yy22:
+ if (yych == 'r') goto yy23;
+yy21:
YYCURSOR = YYMARKER;
- if (yyaccept <= 1) {
- if (yyaccept == 0) {
- goto yy3;
- } else {
- goto yy16;
- }
+ if (yyaccept == 0) {
+ goto yy15;
} else {
- goto yy28;
+ goto yy27;
}
+yy22:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'o') goto yy24;
+ goto yy21;
yy23:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy25;
- goto yy22;
+ if (yych == 'r') goto yy25;
+ goto yy21;
yy24:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy26;
- goto yy22;
+ if (yych == '-') goto yy26;
+ goto yy21;
yy25:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy27;
- goto yy22;
+ if (yych == 'o') goto yy28;
+ goto yy21;
yy26:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy29;
- goto yy22;
-yy27:
- yyaccept = 2;
+ yyaccept = 1;
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == 'e') goto yy30;
-yy28:
-#line 69 "../src/conf/parse_opts.re"
+ if (yych == 'e') goto yy29;
+yy27:
+#line 67 "../src/conf/parse_opts.re"
{ option = Warn::WNO; goto opt_warn; }
-#line 199 "src/conf/parse_opts.cc"
+#line 186 "src/conf/parse_opts.cc"
+yy28:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'r') goto yy30;
+ goto yy21;
yy29:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 'r') goto yy31;
- goto yy22;
+ goto yy21;
yy30:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy32;
- goto yy22;
+ if (yych <= 0x00) goto yy32;
+ if (yych == '-') goto yy34;
+ goto yy21;
yy31:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy33;
- if (yych == '-') goto yy35;
- goto yy22;
+ if (yych == 'r') goto yy36;
+ goto yy21;
yy32:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy37;
- goto yy22;
-yy33:
++YYCURSOR;
-#line 67 "../src/conf/parse_opts.re"
+#line 65 "../src/conf/parse_opts.re"
{ warn.set_all_error (); goto opt; }
-#line 221 "src/conf/parse_opts.cc"
-yy35:
+#line 208 "src/conf/parse_opts.cc"
+yy34:
++YYCURSOR;
-#line 70 "../src/conf/parse_opts.re"
+#line 68 "../src/conf/parse_opts.re"
{ option = Warn::WERROR; goto opt_warn; }
-#line 226 "src/conf/parse_opts.cc"
-yy37:
+#line 213 "src/conf/parse_opts.cc"
+yy36:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych != 'o') goto yy22;
+ if (yych != 'o') goto yy21;
yych = (YYCTYPE)*++YYCURSOR;
- if (yych != 'r') goto yy22;
+ if (yych != 'r') goto yy21;
yych = (YYCTYPE)*++YYCURSOR;
- if (yych != '-') goto yy22;
+ if (yych != '-') goto yy21;
++YYCURSOR;
-#line 71 "../src/conf/parse_opts.re"
+#line 69 "../src/conf/parse_opts.re"
{ option = Warn::WNOERROR; goto opt_warn; }
-#line 237 "src/conf/parse_opts.cc"
+#line 224 "src/conf/parse_opts.cc"
}
-#line 72 "../src/conf/parse_opts.re"
+#line 70 "../src/conf/parse_opts.re"
opt_warn:
-#line 244 "src/conf/parse_opts.cc"
+#line 231 "src/conf/parse_opts.cc"
{
YYCTYPE yych;
yych = (YYCTYPE)*YYCURSOR;
switch (yych) {
- case 'c': goto yy46;
- case 'e': goto yy47;
- case 'm': goto yy48;
+ case 'c': goto yy45;
+ case 'e': goto yy46;
+ case 'm': goto yy47;
+ case 'n': goto yy48;
case 's': goto yy49;
case 'u': goto yy50;
- default: goto yy44;
+ default: goto yy43;
}
-yy44:
+yy43:
++YYCURSOR;
-yy45:
-#line 77 "../src/conf/parse_opts.re"
+yy44:
+#line 75 "../src/conf/parse_opts.re"
{
error ("bad warning: %s", *argv);
return EXIT_FAIL;
}
-#line 264 "src/conf/parse_opts.cc"
-yy46:
+#line 252 "src/conf/parse_opts.cc"
+yy45:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych == 'o') goto yy51;
- goto yy45;
-yy47:
+ goto yy44;
+yy46:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych == 'm') goto yy53;
- goto yy45;
-yy48:
+ goto yy44;
+yy47:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
if (yych == 'a') goto yy54;
- goto yy45;
+ goto yy44;
+yy48:
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych == 'o') goto yy55;
+ goto yy44;
yy49:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == 'w') goto yy55;
- goto yy45;
+ if (yych == 'w') goto yy56;
+ goto yy44;
yy50:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == 'n') goto yy56;
- if (yych == 's') goto yy57;
- goto yy45;
+ if (yych == 'n') goto yy57;
+ if (yych == 's') goto yy58;
+ goto yy44;
yy51:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy58;
+ if (yych == 'n') goto yy59;
yy52:
YYCURSOR = YYMARKER;
- goto yy45;
+ goto yy44;
yy53:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'p') goto yy59;
+ if (yych == 'p') goto yy60;
goto yy52;
yy54:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy60;
+ if (yych == 't') goto yy61;
goto yy52;
yy55:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy61;
+ if (yych == 'n') goto yy62;
goto yy52;
yy56:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'd') goto yy62;
- if (yych == 'r') goto yy63;
+ if (yych == 'a') goto yy63;
goto yy52;
yy57:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy64;
+ if (yych == 'd') goto yy64;
+ if (yych == 'r') goto yy65;
goto yy52;
yy58:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'd') goto yy65;
+ if (yych == 'e') goto yy66;
goto yy52;
yy59:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy66;
+ if (yych == 'd') goto yy67;
goto yy52;
yy60:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy67;
+ if (yych == 't') goto yy68;
goto yy52;
yy61:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'p') goto yy68;
+ if (yych == 'c') goto yy69;
goto yy52;
yy62:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy69;
+ if (yych == 'd') goto yy70;
goto yy52;
yy63:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy70;
+ if (yych == 'p') goto yy71;
goto yy52;
yy64:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'l') goto yy71;
+ if (yych == 'e') goto yy72;
goto yy52;
yy65:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy72;
+ if (yych == 'e') goto yy73;
goto yy52;
yy66:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'y') goto yy73;
+ if (yych == 'l') goto yy74;
goto yy52;
yy67:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'h') goto yy74;
+ if (yych == 'i') goto yy75;
goto yy52;
yy68:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'p') goto yy75;
+ if (yych == 'y') goto yy76;
goto yy52;
yy69:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'f') goto yy76;
+ if (yych == 'h') goto yy77;
goto yy52;
yy70:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy77;
+ if (yych == 'e') goto yy78;
goto yy52;
yy71:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy78;
+ if (yych == 'p') goto yy79;
goto yy52;
yy72:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy79;
+ if (yych == 'f') goto yy80;
goto yy52;
yy73:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy80;
+ if (yych == 'a') goto yy81;
goto yy52;
yy74:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy81;
+ if (yych == 'e') goto yy82;
goto yy52;
yy75:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy82;
+ if (yych == 't') goto yy83;
goto yy52;
yy76:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy83;
+ if (yych == '-') goto yy84;
goto yy52;
yy77:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy84;
+ if (yych == '-') goto yy85;
goto yy52;
yy78:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy85;
+ if (yych == 't') goto yy86;
goto yy52;
yy79:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy86;
+ if (yych == 'e') goto yy87;
goto yy52;
yy80:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy87;
+ if (yych == 'i') goto yy88;
goto yy52;
yy81:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy88;
+ if (yych == 'c') goto yy89;
goto yy52;
yy82:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'd') goto yy89;
+ if (yych == 's') goto yy90;
goto yy52;
yy83:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy90;
+ if (yych == 'i') goto yy91;
goto yy52;
yy84:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'h') goto yy91;
+ if (yych == 'c') goto yy92;
goto yy52;
yy85:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy92;
+ if (yych == 'e') goto yy93;
goto yy52;
yy86:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy93;
+ if (yych == 'e') goto yy94;
goto yy52;
yy87:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'h') goto yy94;
+ if (yych == 'd') goto yy95;
goto yy52;
yy88:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'm') goto yy95;
+ if (yych == 'n') goto yy96;
goto yy52;
yy89:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy96;
+ if (yych == 'h') goto yy97;
goto yy52;
yy90:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy97;
+ if (yych == 's') goto yy98;
goto yy52;
yy91:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy98;
+ if (yych == 'o') goto yy99;
goto yy52;
yy92:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy99;
+ if (yych == 'h') goto yy100;
goto yy52;
yy93:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy100;
+ if (yych == 'm') goto yy101;
goto yy52;
yy94:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy101;
+ if (yych == 'r') goto yy102;
goto yy52;
yy95:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'p') goto yy102;
+ if (yych == '-') goto yy103;
goto yy52;
yy96:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy103;
+ if (yych == 'e') goto yy104;
goto yy52;
yy97:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'd') goto yy104;
+ if (yych == 'a') goto yy105;
goto yy52;
yy98:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'b') goto yy105;
+ if (yych == '-') goto yy106;
goto yy52;
yy99:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy106;
+ if (yych == 'n') goto yy107;
goto yy52;
yy100:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy107;
+ if (yych == 'a') goto yy108;
goto yy52;
yy101:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy108;
+ if (yych == 'p') goto yy109;
goto yy52;
yy102:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy109;
+ if (yych == 'm') goto yy110;
goto yy52;
yy103:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy110;
+ if (yych == 'r') goto yy111;
goto yy52;
yy104:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy111;
+ if (yych == 'd') goto yy112;
goto yy52;
yy105:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'l') goto yy112;
+ if (yych == 'b') goto yy113;
goto yy52;
yy106:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy113;
+ if (yych == 'e') goto yy114;
goto yy52;
yy107:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy114;
+ if (yych == '-') goto yy115;
goto yy52;
yy108:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy115;
+ if (yych == 'r') goto yy116;
goto yy52;
yy109:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'y') goto yy116;
+ if (yych == 't') goto yy117;
goto yy52;
yy110:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy117;
+ if (yych == 'i') goto yy118;
goto yy52;
yy111:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy118;
+ if (yych == 'a') goto yy119;
goto yy52;
yy112:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy119;
+ if (yych == '-') goto yy120;
goto yy52;
yy113:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy120;
+ if (yych == 'l') goto yy121;
goto yy52;
yy114:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy121;
+ if (yych == 's') goto yy122;
goto yy52;
yy115:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy122;
+ if (yych == 'o') goto yy123;
goto yy52;
yy116:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy123;
+ if (yych == 'a') goto yy124;
goto yy52;
yy117:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'g') goto yy124;
+ if (yych == 'y') goto yy125;
goto yy52;
yy118:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy125;
+ if (yych == 'n') goto yy126;
goto yy52;
yy119:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy126;
+ if (yych == 'n') goto yy127;
goto yy52;
yy120:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy127;
+ if (yych == 'c') goto yy128;
goto yy52;
yy121:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'd') goto yy128;
+ if (yych == 'e') goto yy129;
goto yy52;
yy122:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy129;
+ if (yych == 'c') goto yy130;
goto yy52;
yy123:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy130;
+ if (yych == 'r') goto yy131;
goto yy52;
yy124:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy131;
+ if (yych == 'c') goto yy132;
goto yy52;
yy125:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy132;
+ if (yych == '-') goto yy133;
goto yy52;
yy126:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy133;
+ if (yych == 'i') goto yy134;
goto yy52;
yy127:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'p') goto yy134;
+ if (yych == 'g') goto yy135;
goto yy52;
yy128:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy135;
+ if (yych == 'o') goto yy136;
goto yy52;
yy129:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy136;
+ if (yych == '-') goto yy137;
goto yy52;
yy130:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy137;
+ if (yych == 'a') goto yy138;
goto yy52;
yy131:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy138;
+ if (yych == 'd') goto yy139;
goto yy52;
yy132:
yych = (YYCTYPE)*++YYCURSOR;
@@ -611,1682 +603,2175 @@ yy132:
goto yy52;
yy133:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'u') goto yy141;
+ if (yych == 's') goto yy141;
goto yy52;
yy134:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy142;
+ if (yych == 's') goto yy142;
goto yy52;
yy135:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy143;
+ if (yych == 'e') goto yy143;
goto yy52;
yy136:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy144;
+ if (yych == 'n') goto yy144;
goto yy52;
yy137:
yych = (YYCTYPE)*++YYCURSOR;
if (yych == 'r') goto yy145;
goto yy52;
yy138:
- ++YYCURSOR;
-#line 84 "../src/conf/parse_opts.re"
- { warn.set (Warn::SWAPPED_RANGE, option); goto opt; }
-#line 637 "src/conf/parse_opts.cc"
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'p') goto yy146;
+ goto yy52;
+yy139:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'e') goto yy147;
+ goto yy52;
yy140:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy146;
+ if (yych == 'e') goto yy148;
goto yy52;
yy141:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'l') goto yy147;
+ if (yych == 't') goto yy149;
goto yy52;
yy142:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy148;
+ if (yych == 't') goto yy150;
goto yy52;
yy143:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy150;
+ if (yych <= 0x00) goto yy151;
goto yy52;
yy144:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy152;
+ if (yych == 't') goto yy153;
goto yy52;
yy145:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy153;
+ if (yych == 'u') goto yy154;
goto yy52;
yy146:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy154;
+ if (yych == 'e') goto yy155;
goto yy52;
yy147:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy155;
+ if (yych == 'r') goto yy156;
goto yy52;
yy148:
- ++YYCURSOR;
-#line 87 "../src/conf/parse_opts.re"
- { warn.set (Warn::USELESS_ESCAPE, option); goto opt; }
-#line 674 "src/conf/parse_opts.cc"
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'r') goto yy157;
+ goto yy52;
+yy149:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'r') goto yy158;
+ goto yy52;
yy150:
- ++YYCURSOR;
-#line 81 "../src/conf/parse_opts.re"
- { warn.set (Warn::CONDITION_ORDER, option); goto opt; }
-#line 679 "src/conf/parse_opts.cc"
-yy152:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy156;
+ if (yych == 'i') goto yy159;
goto yy52;
+yy151:
+ ++YYCURSOR;
+#line 83 "../src/conf/parse_opts.re"
+ { warn.set (Warn::SWAPPED_RANGE, option); goto opt; }
+#line 681 "src/conf/parse_opts.cc"
yy153:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy157;
+ if (yych == 'r') goto yy160;
goto yy52;
yy154:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'l') goto yy158;
+ if (yych == 'l') goto yy161;
goto yy52;
yy155:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy159;
+ if (yych <= 0x00) goto yy162;
goto yy52;
yy156:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'l') goto yy160;
+ if (yych <= 0x00) goto yy164;
goto yy52;
yy157:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'g') goto yy161;
+ if (yych == '-') goto yy166;
goto yy52;
yy158:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy162;
+ if (yych == 'i') goto yy167;
goto yy52;
yy159:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy163;
+ if (yych == 'c') goto yy168;
goto yy52;
yy160:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy165;
+ if (yych == 'o') goto yy169;
goto yy52;
yy161:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy166;
+ if (yych == 'e') goto yy170;
goto yy52;
yy162:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'f') goto yy168;
- goto yy52;
-yy163:
++YYCURSOR;
#line 86 "../src/conf/parse_opts.re"
- { warn.set (Warn::UNREACHABLE_RULES, option); goto opt; }
-#line 728 "src/conf/parse_opts.cc"
-yy165:
+ { warn.set (Warn::USELESS_ESCAPE, option); goto opt; }
+#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 727 "src/conf/parse_opts.cc"
+yy166:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy169;
+ if (yych == 'c') goto yy171;
+ goto yy52;
+yy167:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'n') goto yy172;
goto yy52;
-yy166:
- ++YYCURSOR;
-#line 83 "../src/conf/parse_opts.re"
- { warn.set (Warn::MATCH_EMPTY_STRING, option); goto opt; }
-#line 737 "src/conf/parse_opts.cc"
yy168:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'l') goto yy170;
+ if (yych == '-') goto yy173;
goto yy52;
yy169:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy171;
+ if (yych == 'l') goto yy174;
goto yy52;
yy170:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy172;
+ if (yych == 's') goto yy175;
goto yy52;
yy171:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy173;
+ if (yych == 'l') goto yy176;
goto yy52;
yy172:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'w') goto yy175;
+ if (yych == 'g') goto yy177;
goto yy52;
yy173:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 't') goto yy178;
+ goto yy52;
+yy174:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '-') goto yy179;
+ goto yy52;
+yy175:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x00) goto yy180;
+ goto yy52;
+yy176:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'a') goto yy182;
+ goto yy52;
+yy177:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x00) goto yy183;
+ goto yy52;
+yy178:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'a') goto yy185;
+ goto yy52;
+yy179:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'f') goto yy186;
+ goto yy52;
+yy180:
+ ++YYCURSOR;
+#line 85 "../src/conf/parse_opts.re"
+ { warn.set (Warn::UNREACHABLE_RULES, option); goto opt; }
+#line 788 "src/conf/parse_opts.cc"
+yy182:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 's') goto yy187;
+ goto yy52;
+yy183:
+ ++YYCURSOR;
+#line 81 "../src/conf/parse_opts.re"
+ { warn.set (Warn::MATCH_EMPTY_STRING, option); goto opt; }
+#line 797 "src/conf/parse_opts.cc"
+yy185:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'g') goto yy188;
+ goto yy52;
+yy186:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'l') goto yy189;
+ goto yy52;
+yy187:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 's') goto yy190;
+ goto yy52;
+yy188:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 's') goto yy191;
+ goto yy52;
+yy189:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'o') goto yy192;
+ goto yy52;
+yy190:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x00) goto yy193;
+ goto yy52;
+yy191:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x00) goto yy195;
+ goto yy52;
+yy192:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'w') goto yy197;
+ goto yy52;
+yy193:
+ ++YYCURSOR;
+#line 80 "../src/conf/parse_opts.re"
+ { warn.set (Warn::EMPTY_CHARACTER_CLASS, option); goto opt; }
+#line 834 "src/conf/parse_opts.cc"
+yy195:
++YYCURSOR;
#line 82 "../src/conf/parse_opts.re"
- { warn.set (Warn::EMPTY_CHARACTER_CLASS, option); goto opt; }
-#line 762 "src/conf/parse_opts.cc"
-yy175:
+ { warn.set (Warn::NONDETERMINISTIC_TAGS, option); goto opt; }
+#line 839 "src/conf/parse_opts.cc"
+yy197:
yych = (YYCTYPE)*++YYCURSOR;
if (yych >= 0x01) goto yy52;
++YYCURSOR;
-#line 85 "../src/conf/parse_opts.re"
- { warn.set (Warn::UNDEFINED_CONTROL_FLOW, option); goto opt; }
-#line 769 "src/conf/parse_opts.cc"
+#line 84 "../src/conf/parse_opts.re"
+ { warn.set (Warn::UNDEFINED_CONTROL_FLOW, option); goto opt; }
+#line 846 "src/conf/parse_opts.cc"
}
-#line 88 "../src/conf/parse_opts.re"
+#line 87 "../src/conf/parse_opts.re"
opt_short:
-#line 776 "src/conf/parse_opts.cc"
+#line 853 "src/conf/parse_opts.cc"
{
YYCTYPE yych;
yych = (YYCTYPE)*YYCURSOR;
- if (yych <= 'b') {
- if (yych <= 'C') {
+ if (yych <= 'a') {
+ if (yych <= 'D') {
if (yych <= '7') {
- if (yych <= 0x00) goto yy180;
- if (yych == '1') goto yy184;
- goto yy182;
+ if (yych <= 0x00) goto yy202;
+ if (yych == '1') goto yy206;
+ goto yy204;
} else {
- if (yych <= '8') goto yy186;
- if (yych == '?') goto yy188;
- goto yy182;
+ if (yych <= '>') {
+ if (yych <= '8') goto yy208;
+ goto yy204;
+ } else {
+ if (yych <= '?') goto yy210;
+ if (yych <= 'C') goto yy204;
+ goto yy212;
+ }
}
} else {
if (yych <= 'R') {
- if (yych <= 'D') goto yy190;
- if (yych == 'F') goto yy192;
- goto yy182;
+ if (yych <= 'F') {
+ if (yych <= 'E') goto yy204;
+ goto yy214;
+ } else {
+ if (yych == 'P') goto yy216;
+ goto yy204;
+ }
} else {
- if (yych <= 'U') {
- if (yych <= 'S') goto yy194;
- goto yy182;
+ if (yych <= 'T') {
+ if (yych <= 'S') goto yy218;
+ goto yy220;
} else {
- if (yych <= 'V') goto yy196;
- if (yych <= 'a') goto yy182;
- goto yy198;
+ if (yych == 'V') goto yy222;
+ goto yy204;
}
}
}
} else {
- if (yych <= 'o') {
- if (yych <= 'f') {
- if (yych <= 'c') goto yy200;
- if (yych <= 'd') goto yy202;
- if (yych <= 'e') goto yy204;
- goto yy206;
+ if (yych <= 'n') {
+ if (yych <= 'e') {
+ if (yych <= 'b') goto yy224;
+ if (yych <= 'c') goto yy226;
+ if (yych <= 'd') goto yy228;
+ goto yy230;
} else {
- if (yych <= 'h') {
- if (yych <= 'g') goto yy208;
- goto yy188;
+ if (yych <= 'g') {
+ if (yych <= 'f') goto yy232;
+ goto yy234;
} else {
- if (yych <= 'i') goto yy210;
- if (yych <= 'n') goto yy182;
- goto yy212;
+ if (yych <= 'h') goto yy210;
+ if (yych <= 'i') goto yy236;
+ goto yy204;
}
}
} else {
if (yych <= 't') {
- if (yych <= 'q') goto yy182;
- if (yych <= 'r') goto yy214;
- if (yych <= 's') goto yy216;
- goto yy218;
+ if (yych <= 'q') {
+ if (yych <= 'o') goto yy238;
+ goto yy204;
+ } else {
+ if (yych <= 'r') goto yy240;
+ if (yych <= 's') goto yy242;
+ goto yy244;
+ }
} else {
if (yych <= 'v') {
- if (yych <= 'u') goto yy220;
- goto yy222;
+ if (yych <= 'u') goto yy246;
+ goto yy248;
} else {
- if (yych <= 'w') goto yy224;
- if (yych <= 'x') goto yy226;
- goto yy182;
+ if (yych <= 'w') goto yy250;
+ if (yych <= 'x') goto yy252;
+ goto yy204;
}
}
}
}
-yy180:
+yy202:
++YYCURSOR;
-#line 97 "../src/conf/parse_opts.re"
+#line 96 "../src/conf/parse_opts.re"
{ goto opt; }
-#line 846 "src/conf/parse_opts.cc"
-yy182:
+#line 935 "src/conf/parse_opts.cc"
+yy204:
++YYCURSOR;
-#line 93 "../src/conf/parse_opts.re"
+#line 92 "../src/conf/parse_opts.re"
{
error ("bad short option: %s", *argv);
return EXIT_FAIL;
}
-#line 854 "src/conf/parse_opts.cc"
-yy184:
+#line 943 "src/conf/parse_opts.cc"
+yy206:
++YYCURSOR;
-#line 121 "../src/conf/parse_opts.re"
+#line 124 "../src/conf/parse_opts.re"
{ goto opt_short; }
-#line 859 "src/conf/parse_opts.cc"
-yy186:
+#line 948 "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 864 "src/conf/parse_opts.cc"
-yy188:
+#line 119 "../src/conf/parse_opts.re"
+ { opts.set_encoding(Enc::UTF8); goto opt_short; }
+#line 953 "src/conf/parse_opts.cc"
+yy210:
++YYCURSOR;
-#line 98 "../src/conf/parse_opts.re"
+#line 97 "../src/conf/parse_opts.re"
{ usage (); return EXIT_OK; }
-#line 869 "src/conf/parse_opts.cc"
-yy190:
+#line 958 "src/conf/parse_opts.cc"
+yy212:
+ ++YYCURSOR;
+#line 102 "../src/conf/parse_opts.re"
+ { globopts.target = TARGET_DOT; goto opt_short; }
+#line 963 "src/conf/parse_opts.cc"
+yy214:
++YYCURSOR;
#line 104 "../src/conf/parse_opts.re"
- { opts.set_target (opt_t::DOT); goto opt_short; }
-#line 874 "src/conf/parse_opts.cc"
-yy192:
+ { globopts.FFlag = true; goto opt_short; }
+#line 968 "src/conf/parse_opts.cc"
+yy216:
+ ++YYCURSOR;
+#line 114 "../src/conf/parse_opts.re"
+ { opts.set_posix_captures(true); goto opt_short; }
+#line 973 "src/conf/parse_opts.cc"
+yy218:
++YYCURSOR;
#line 106 "../src/conf/parse_opts.re"
- { opts.set_FFlag (true); goto opt_short; }
-#line 879 "src/conf/parse_opts.cc"
-yy194:
+ { globopts.target = TARGET_SKELETON; goto opt_short; }
+#line 978 "src/conf/parse_opts.cc"
+yy220:
++YYCURSOR;
-#line 111 "../src/conf/parse_opts.re"
- { opts.set_target (opt_t::SKELETON); goto opt_short; }
-#line 884 "src/conf/parse_opts.cc"
-yy196:
+#line 113 "../src/conf/parse_opts.re"
+ { opts.set_tags(true); goto opt_short; }
+#line 983 "src/conf/parse_opts.cc"
+yy222:
++YYCURSOR;
-#line 100 "../src/conf/parse_opts.re"
+#line 99 "../src/conf/parse_opts.re"
{ vernum (); return EXIT_OK; }
-#line 889 "src/conf/parse_opts.cc"
-yy198:
- ++YYCURSOR;
-#line 101 "../src/conf/parse_opts.re"
- { opts.set_bFlag (true); goto opt_short; }
-#line 894 "src/conf/parse_opts.cc"
-yy200:
+#line 988 "src/conf/parse_opts.cc"
+yy224:
++YYCURSOR;
-#line 102 "../src/conf/parse_opts.re"
- { opts.set_cFlag (true); goto opt_short; }
-#line 899 "src/conf/parse_opts.cc"
-yy202:
+#line 108 "../src/conf/parse_opts.re"
+ { opts.set_bFlag(true); goto opt_short; }
+#line 993 "src/conf/parse_opts.cc"
+yy226:
++YYCURSOR;
-#line 103 "../src/conf/parse_opts.re"
- { opts.set_dFlag (true); goto opt_short; }
-#line 904 "src/conf/parse_opts.cc"
-yy204:
+#line 101 "../src/conf/parse_opts.re"
+ { globopts.cFlag = true; goto opt_short; }
+#line 998 "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 909 "src/conf/parse_opts.cc"
-yy206:
+#line 109 "../src/conf/parse_opts.re"
+ { opts.set_dFlag(true); goto opt_short; }
+#line 1003 "src/conf/parse_opts.cc"
+yy230:
++YYCURSOR;
-#line 105 "../src/conf/parse_opts.re"
- { opts.set_fFlag (true); goto opt_short; }
-#line 914 "src/conf/parse_opts.cc"
-yy208:
+#line 115 "../src/conf/parse_opts.re"
+ { opts.set_encoding(Enc::EBCDIC); goto opt_short; }
+#line 1008 "src/conf/parse_opts.cc"
+yy232:
++YYCURSOR;
-#line 107 "../src/conf/parse_opts.re"
- { opts.set_gFlag (true); goto opt_short; }
-#line 919 "src/conf/parse_opts.cc"
-yy210:
+#line 103 "../src/conf/parse_opts.re"
+ { globopts.fFlag = true; goto opt_short; }
+#line 1013 "src/conf/parse_opts.cc"
+yy234:
++YYCURSOR;
-#line 108 "../src/conf/parse_opts.re"
- { opts.set_iFlag (true); goto opt_short; }
-#line 924 "src/conf/parse_opts.cc"
-yy212:
+#line 110 "../src/conf/parse_opts.re"
+ { opts.set_gFlag(true); goto opt_short; }
+#line 1018 "src/conf/parse_opts.cc"
+yy236:
++YYCURSOR;
- if ((yych = (YYCTYPE)*YYCURSOR) <= 0x00) goto yy228;
-#line 118 "../src/conf/parse_opts.re"
+#line 111 "../src/conf/parse_opts.re"
+ { opts.set_iFlag(true); goto opt_short; }
+#line 1023 "src/conf/parse_opts.cc"
+yy238:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x00) goto yy254;
+#line 121 "../src/conf/parse_opts.re"
{ *argv = YYCURSOR; goto opt_output; }
-#line 930 "src/conf/parse_opts.cc"
-yy214:
- ++YYCURSOR;
-#line 109 "../src/conf/parse_opts.re"
- { opts.set_rFlag (true); goto opt_short; }
-#line 935 "src/conf/parse_opts.cc"
-yy216:
+#line 1029 "src/conf/parse_opts.cc"
+yy240:
++YYCURSOR;
-#line 110 "../src/conf/parse_opts.re"
- { opts.set_sFlag (true); goto opt_short; }
-#line 940 "src/conf/parse_opts.cc"
-yy218:
+#line 105 "../src/conf/parse_opts.re"
+ { globopts.rFlag = true; goto opt_short; }
+#line 1034 "src/conf/parse_opts.cc"
+yy242:
++YYCURSOR;
- if ((yych = (YYCTYPE)*YYCURSOR) <= 0x00) goto yy230;
-#line 120 "../src/conf/parse_opts.re"
+#line 112 "../src/conf/parse_opts.re"
+ { opts.set_sFlag(true); goto opt_short; }
+#line 1039 "src/conf/parse_opts.cc"
+yy244:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x00) goto yy256;
+#line 123 "../src/conf/parse_opts.re"
{ *argv = YYCURSOR; goto opt_header; }
-#line 946 "src/conf/parse_opts.cc"
-yy220:
+#line 1045 "src/conf/parse_opts.cc"
+yy246:
++YYCURSOR;
-#line 113 "../src/conf/parse_opts.re"
- { if (!opts.set_encoding (Enc::UTF32)) { error_encoding (); return EXIT_FAIL; } goto opt_short; }
-#line 951 "src/conf/parse_opts.cc"
-yy222:
+#line 116 "../src/conf/parse_opts.re"
+ { opts.set_encoding(Enc::UTF32); goto opt_short; }
+#line 1050 "src/conf/parse_opts.cc"
+yy248:
++YYCURSOR;
-#line 99 "../src/conf/parse_opts.re"
+#line 98 "../src/conf/parse_opts.re"
{ version (); return EXIT_OK; }
-#line 956 "src/conf/parse_opts.cc"
-yy224:
+#line 1055 "src/conf/parse_opts.cc"
+yy250:
++YYCURSOR;
-#line 114 "../src/conf/parse_opts.re"
- { if (!opts.set_encoding (Enc::UCS2)) { error_encoding (); return EXIT_FAIL; } goto opt_short; }
-#line 961 "src/conf/parse_opts.cc"
-yy226:
+#line 117 "../src/conf/parse_opts.re"
+ { opts.set_encoding(Enc::UCS2); goto opt_short; }
+#line 1060 "src/conf/parse_opts.cc"
+yy252:
++YYCURSOR;
-#line 115 "../src/conf/parse_opts.re"
- { if (!opts.set_encoding (Enc::UTF16)) { error_encoding (); return EXIT_FAIL; } goto opt_short; }
-#line 966 "src/conf/parse_opts.cc"
-yy228:
+#line 118 "../src/conf/parse_opts.re"
+ { opts.set_encoding(Enc::UTF16); goto opt_short; }
+#line 1065 "src/conf/parse_opts.cc"
+yy254:
++YYCURSOR;
-#line 117 "../src/conf/parse_opts.re"
+#line 120 "../src/conf/parse_opts.re"
{ if (!next (YYCURSOR, argv)) { error_arg ("-o, --output"); return EXIT_FAIL; } goto opt_output; }
-#line 971 "src/conf/parse_opts.cc"
-yy230:
+#line 1070 "src/conf/parse_opts.cc"
+yy256:
++YYCURSOR;
-#line 119 "../src/conf/parse_opts.re"
+#line 122 "../src/conf/parse_opts.re"
{ if (!next (YYCURSOR, argv)) { error_arg ("-t, --type-header"); return EXIT_FAIL; } goto opt_header; }
-#line 976 "src/conf/parse_opts.cc"
+#line 1075 "src/conf/parse_opts.cc"
}
-#line 122 "../src/conf/parse_opts.re"
+#line 125 "../src/conf/parse_opts.re"
opt_long:
-#line 983 "src/conf/parse_opts.cc"
+#line 1082 "src/conf/parse_opts.cc"
{
YYCTYPE yych;
yych = (YYCTYPE)*YYCURSOR;
switch (yych) {
- case 'b': goto yy236;
- case 'c': goto yy237;
- case 'd': goto yy238;
- case 'e': goto yy239;
- case 'f': goto yy240;
- case 'h': goto yy241;
- case 'i': goto yy242;
- case 'n': goto yy243;
- case 'o': goto yy244;
- case 'r': goto yy245;
- case 's': goto yy246;
- case 't': goto yy247;
- case 'u': goto yy248;
- case 'v': goto yy249;
- case 'w': goto yy250;
- default: goto yy234;
+ case 'b': goto yy262;
+ case 'c': goto yy263;
+ case 'd': goto yy264;
+ case 'e': goto yy265;
+ case 'f': goto yy266;
+ case 'h': goto yy267;
+ case 'i': goto yy268;
+ case 'n': goto yy269;
+ case 'o': goto yy270;
+ case 'p': goto yy271;
+ case 'r': goto yy272;
+ case 's': goto yy273;
+ case 't': goto yy274;
+ case 'u': goto yy275;
+ case 'v': goto yy276;
+ case 'w': goto yy277;
+ default: goto yy260;
}
-yy234:
+yy260:
++YYCURSOR;
-yy235:
-#line 127 "../src/conf/parse_opts.re"
+yy261:
+#line 130 "../src/conf/parse_opts.re"
{
error ("bad long option: %s", *argv);
return EXIT_FAIL;
}
-#line 1013 "src/conf/parse_opts.cc"
-yy236:
- yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == 'i') goto yy251;
- goto yy235;
-yy237:
+#line 1113 "src/conf/parse_opts.cc"
+yy262:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == 'a') goto yy253;
- if (yych == 'o') goto yy254;
- goto yy235;
-yy238:
+ if (yych == 'i') goto yy278;
+ goto yy261;
+yy263:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych <= 'd') goto yy235;
- if (yych <= 'e') goto yy255;
- if (yych <= 'f') goto yy256;
- goto yy235;
-yy239:
+ if (yych == 'a') goto yy280;
+ if (yych == 'o') goto yy281;
+ goto yy261;
+yy264:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych <= 'l') {
- if (yych == 'c') goto yy257;
- goto yy235;
+ if (yych <= 'f') {
+ if (yych <= 'd') goto yy261;
+ if (yych <= 'e') goto yy282;
+ goto yy283;
} else {
- if (yych <= 'm') goto yy258;
- if (yych <= 'n') goto yy259;
- goto yy235;
+ if (yych == 'u') goto yy284;
+ goto yy261;
}
-yy240:
- yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == 'l') goto yy260;
- goto yy235;
-yy241:
- yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == 'e') goto yy261;
- goto yy235;
-yy242:
- yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == 'n') goto yy262;
- goto yy235;
-yy243:
- yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == 'e') goto yy263;
- if (yych == 'o') goto yy264;
- goto yy235;
-yy244:
- yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == 'u') goto yy265;
- goto yy235;
-yy245:
- yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == 'e') goto yy266;
- goto yy235;
-yy246:
+yy265:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych <= 'j') {
- if (yych == 'i') goto yy267;
- goto yy235;
+ if (yych <= 'c') {
+ if (yych == 'a') goto yy285;
+ if (yych <= 'b') goto yy261;
+ goto yy286;
} else {
- if (yych <= 'k') goto yy268;
- if (yych == 't') goto yy269;
- goto yy235;
+ if (yych <= 'l') goto yy261;
+ if (yych <= 'm') goto yy287;
+ if (yych <= 'n') goto yy288;
+ goto yy261;
}
-yy247:
- yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == 'y') goto yy270;
- goto yy235;
-yy248:
+yy266:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == 'n') goto yy271;
- if (yych == 't') goto yy272;
- goto yy235;
-yy249:
+ if (yych == 'l') goto yy289;
+ goto yy261;
+yy267:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == 'e') goto yy273;
- goto yy235;
-yy250:
+ if (yych == 'e') goto yy290;
+ goto yy261;
+yy268:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == 'i') goto yy274;
- goto yy235;
-yy251:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy275;
-yy252:
- YYCURSOR = YYMARKER;
- goto yy235;
-yy253:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy276;
- goto yy252;
-yy254:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'm') goto yy277;
- goto yy252;
-yy255:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'b') goto yy278;
- goto yy252;
-yy256:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy279;
- goto yy252;
-yy257:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'b') goto yy280;
- goto yy252;
-yy258:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy281;
- if (yych == 'p') goto yy282;
- goto yy252;
-yy259:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy283;
- goto yy252;
-yy260:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy284;
- goto yy252;
-yy261:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'l') goto yy285;
- goto yy252;
-yy262:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'p') goto yy286;
- goto yy252;
-yy263:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy287;
- goto yy252;
-yy264:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy288;
- goto yy252;
-yy265:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy289;
- goto yy252;
-yy266:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'u') goto yy290;
- goto yy252;
-yy267:
- yych = (YYCTYPE)*++YYCURSOR;
if (yych == 'n') goto yy291;
- goto yy252;
-yy268:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy292;
- goto yy252;
+ goto yy261;
yy269:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy293;
- if (yych == 'o') goto yy294;
- goto yy252;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych == 'e') goto yy292;
+ if (yych == 'o') goto yy293;
+ goto yy261;
yy270:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'p') goto yy295;
- goto yy252;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych == 'u') goto yy294;
+ goto yy261;
yy271:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy296;
- goto yy252;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych == 'o') goto yy295;
+ goto yy261;
yy272:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'f') goto yy297;
- goto yy252;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych == 'e') goto yy296;
+ goto yy261;
yy273:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy298;
- goto yy252;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych <= 'j') {
+ if (yych == 'i') goto yy297;
+ goto yy261;
+ } else {
+ if (yych <= 'k') goto yy298;
+ if (yych == 't') goto yy299;
+ goto yy261;
+ }
yy274:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'd') goto yy299;
- goto yy252;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych == 'a') goto yy300;
+ if (yych == 'y') goto yy301;
+ goto yy261;
yy275:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy300;
- goto yy252;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych == 'n') goto yy302;
+ if (yych == 't') goto yy303;
+ goto yy261;
yy276:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy301;
- goto yy252;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych == 'e') goto yy304;
+ goto yy261;
yy277:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'p') goto yy302;
- goto yy252;
+ yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
+ if (yych == 'i') goto yy305;
+ goto yy261;
yy278:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'u') goto yy303;
- goto yy252;
+ if (yych == 't') goto yy306;
yy279:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy304;
- goto yy252;
+ YYCURSOR = YYMARKER;
+ goto yy261;
yy280:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy305;
- goto yy252;
+ if (yych == 's') goto yy307;
+ goto yy279;
yy281:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy307;
- goto yy252;
+ if (yych == 'm') goto yy308;
+ goto yy279;
yy282:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy308;
- goto yy252;
+ if (yych == 'b') goto yy309;
+ goto yy279;
yy283:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy309;
- goto yy252;
+ if (yych == 'a') goto yy310;
+ goto yy279;
yy284:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'x') goto yy310;
- goto yy252;
+ if (yych == 'm') goto yy311;
+ goto yy279;
yy285:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'p') goto yy311;
- goto yy252;
+ if (yych == 'g') goto yy312;
+ goto yy279;
yy286:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'u') goto yy312;
- goto yy252;
+ if (yych == 'b') goto yy313;
+ goto yy279;
yy287:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy313;
- goto yy252;
+ if (yych == 'i') goto yy314;
+ if (yych == 'p') goto yy315;
+ goto yy279;
yy288:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 'f') {
- if (yych == 'd') goto yy314;
- goto yy252;
- } else {
- if (yych <= 'g') goto yy315;
- if (yych == 'v') goto yy316;
- goto yy252;
- }
+ if (yych == 'c') goto yy316;
+ goto yy279;
yy289:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'p') goto yy317;
- goto yy252;
+ if (yych == 'e') goto yy317;
+ goto yy279;
yy290:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy318;
- goto yy252;
+ if (yych == 'l') goto yy318;
+ goto yy279;
yy291:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'g') goto yy319;
- goto yy252;
+ if (yych == 'p') goto yy319;
+ goto yy279;
yy292:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'l') goto yy320;
- goto yy252;
+ if (yych == 's') goto yy320;
+ goto yy279;
yy293:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy321;
- goto yy252;
+ if (yych == '-') goto yy321;
+ goto yy279;
yy294:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy322;
- goto yy252;
+ if (yych == 't') goto yy322;
+ goto yy279;
yy295:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy323;
- goto yy252;
+ if (yych == 's') goto yy323;
+ goto yy279;
yy296:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy324;
- goto yy252;
+ if (yych == 'u') goto yy324;
+ goto yy279;
yy297:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy325;
- goto yy252;
+ if (yych == 'n') goto yy325;
+ goto yy279;
yy298:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy326;
- if (yych == 's') goto yy327;
- goto yy252;
+ if (yych == 'e') goto yy326;
+ goto yy279;
yy299:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy328;
- goto yy252;
+ if (yych == 'a') goto yy327;
+ if (yych == 'o') goto yy328;
+ goto yy279;
yy300:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'v') goto yy329;
- goto yy252;
+ if (yych == 'g') goto yy329;
+ goto yy279;
yy301:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy330;
- goto yy252;
+ if (yych == 'p') goto yy330;
+ goto yy279;
yy302:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'u') goto yy331;
- goto yy252;
+ if (yych == 'i') goto yy331;
+ goto yy279;
yy303:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'g') goto yy332;
- goto yy252;
+ if (yych == 'f') goto yy332;
+ goto yy279;
yy304:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'm') goto yy333;
- goto yy252;
+ if (yych == 'r') goto yy333;
+ goto yy279;
yy305:
- ++YYCURSOR;
-#line 149 "../src/conf/parse_opts.re"
- { if (!opts.set_encoding (Enc::EBCDIC)) { error_encoding (); return EXIT_FAIL; } goto opt; }
-#line 1318 "src/conf/parse_opts.cc"
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'd') goto yy334;
+ goto yy279;
+yy306:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '-') goto yy335;
+ goto yy279;
yy307:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy334;
- goto yy252;
+ if (yych == 'e') goto yy336;
+ goto yy279;
yy308:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'y') goto yy335;
- goto yy252;
+ if (yych == 'p') goto yy337;
+ goto yy279;
yy309:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'd') goto yy336;
- goto yy252;
+ if (yych == 'u') goto yy338;
+ goto yy279;
yy310:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy337;
- goto yy252;
+ if (yych == '-') goto yy339;
+ goto yy279;
yy311:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy338;
- goto yy252;
+ if (yych == 'p') goto yy340;
+ goto yy279;
yy312:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy340;
- goto yy252;
+ if (yych == 'e') goto yy341;
+ goto yy279;
yy313:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy341;
- goto yy252;
+ if (yych <= 0x00) goto yy342;
+ goto yy279;
yy314:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy342;
- goto yy252;
+ if (yych == 't') goto yy344;
+ goto yy279;
yy315:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy343;
- goto yy252;
+ if (yych == 't') goto yy345;
+ goto yy279;
yy316:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy344;
- goto yy252;
+ if (yych == 'o') goto yy346;
+ goto yy279;
yy317:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'u') goto yy345;
- goto yy252;
+ if (yych == 'x') goto yy347;
+ goto yy279;
yy318:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy346;
- goto yy252;
+ if (yych == 'p') goto yy348;
+ goto yy279;
yy319:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'l') goto yy347;
- goto yy252;
+ if (yych == 'u') goto yy349;
+ goto yy279;
yy320:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy348;
- goto yy252;
+ if (yych == 't') goto yy350;
+ goto yy279;
yy321:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy349;
- goto yy252;
+ switch (yych) {
+ case 'd': goto yy351;
+ case 'g': goto yy352;
+ case 'l': goto yy353;
+ case 'o': goto yy354;
+ case 'v': goto yy355;
+ default: goto yy279;
+ }
yy322:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy350;
- goto yy252;
+ if (yych == 'p') goto yy356;
+ goto yy279;
yy323:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy351;
- goto yy252;
+ if (yych == 'i') goto yy357;
+ goto yy279;
yy324:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy352;
- goto yy252;
+ if (yych == 's') goto yy358;
+ goto yy279;
yy325:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '1') goto yy353;
- if (yych == '8') goto yy354;
- goto yy252;
+ if (yych == 'g') goto yy359;
+ goto yy279;
yy326:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'u') goto yy355;
- goto yy252;
+ if (yych == 'l') goto yy360;
+ goto yy279;
yy327:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy356;
- goto yy252;
+ if (yych == 'r') goto yy361;
+ goto yy279;
yy328:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy357;
- goto yy252;
+ if (yych == 'r') goto yy362;
+ goto yy279;
yy329:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy358;
- goto yy252;
+ if (yych == 's') goto yy363;
+ goto yy279;
yy330:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy359;
- goto yy252;
+ if (yych == 'e') goto yy364;
+ goto yy279;
yy331:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy360;
- goto yy252;
+ if (yych == 'c') goto yy365;
+ goto yy279;
yy332:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy361;
- goto yy252;
+ if (yych == '-') goto yy366;
+ goto yy279;
yy333:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy362;
- goto yy252;
+ if (yych == 'n') goto yy367;
+ if (yych == 's') goto yy368;
+ goto yy279;
yy334:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'd') goto yy363;
- goto yy252;
+ if (yych == 'e') goto yy369;
+ goto yy279;
yy335:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy364;
- goto yy252;
+ if (yych == 'v') goto yy370;
+ goto yy279;
yy336:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy365;
- goto yy252;
+ if (yych == '-') goto yy371;
+ goto yy279;
yy337:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy366;
- goto yy252;
+ if (yych == 'u') goto yy372;
+ goto yy279;
yy338:
- ++YYCURSOR;
-#line 131 "../src/conf/parse_opts.re"
- { usage (); return EXIT_OK; }
-#line 1448 "src/conf/parse_opts.cc"
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'g') goto yy373;
+ goto yy279;
+yy339:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'm') goto yy374;
+ goto yy279;
yy340:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy367;
- goto yy252;
+ if (yych == '-') goto yy375;
+ goto yy279;
yy341:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'd') goto yy369;
- goto yy252;
+ if (yych == 'r') goto yy376;
+ goto yy279;
yy342:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'b') goto yy370;
- goto yy252;
-yy343:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy371;
- goto yy252;
+ ++YYCURSOR;
+#line 159 "../src/conf/parse_opts.re"
+ { opts.set_encoding(Enc::EBCDIC); goto opt; }
+#line 1469 "src/conf/parse_opts.cc"
yy344:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy372;
- goto yy252;
+ if (yych == '-') goto yy377;
+ goto yy279;
yy345:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy373;
- goto yy252;
+ if (yych == 'y') goto yy378;
+ goto yy279;
yy346:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'b') goto yy374;
- goto yy252;
+ if (yych == 'd') goto yy379;
+ goto yy279;
yy347:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy375;
- goto yy252;
+ if (yych == '-') goto yy380;
+ goto yy279;
yy348:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy376;
- goto yy252;
+ if (yych <= 0x00) goto yy381;
+ goto yy279;
yy349:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy377;
- goto yy252;
+ if (yych == 't') goto yy383;
+ goto yy279;
yy350:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'b') goto yy378;
- goto yy252;
+ if (yych == 'e') goto yy384;
+ goto yy279;
yy351:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'h') goto yy379;
- goto yy252;
+ if (yych == 'e') goto yy385;
+ goto yy279;
yy352:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'd') goto yy380;
- goto yy252;
+ if (yych == 'e') goto yy386;
+ goto yy279;
yy353:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '6') goto yy381;
- goto yy252;
+ if (yych == 'o') goto yy387;
+ goto yy279;
yy354:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy382;
- goto yy252;
+ if (yych == 'p') goto yy388;
+ goto yy279;
yy355:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'm') goto yy384;
- goto yy252;
+ if (yych == 'e') goto yy389;
+ goto yy279;
yy356:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy385;
- goto yy252;
+ if (yych == 'u') goto yy390;
+ goto yy279;
yy357:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy386;
- goto yy252;
+ if (yych == 'x') goto yy391;
+ goto yy279;
yy358:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy387;
- goto yy252;
+ if (yych == 'a') goto yy392;
+ goto yy279;
yy359:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy388;
- goto yy252;
+ if (yych == 'l') goto yy393;
+ goto yy279;
yy360:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy389;
- goto yy252;
+ if (yych == 'e') goto yy394;
+ goto yy279;
yy361:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy390;
- goto yy252;
+ if (yych == 't') goto yy395;
+ goto yy279;
yy362:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy391;
- goto yy252;
+ if (yych == 'a') goto yy396;
+ goto yy279;
yy363:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy392;
- goto yy252;
+ if (yych <= 0x00) goto yy397;
+ goto yy279;
yy364:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy393;
- goto yy252;
+ if (yych == '-') goto yy399;
+ goto yy279;
yy365:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy394;
- goto yy252;
+ if (yych == 'o') goto yy400;
+ goto yy279;
yy366:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'y') goto yy395;
- goto yy252;
+ if (yych == '1') goto yy401;
+ if (yych == '8') goto yy402;
+ goto yy279;
yy367:
- ++YYCURSOR;
-#line 157 "../src/conf/parse_opts.re"
- { goto opt_input; }
-#line 1561 "src/conf/parse_opts.cc"
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'u') goto yy403;
+ goto yy279;
+yy368:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'i') goto yy404;
+ goto yy279;
yy369:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy396;
- goto yy252;
+ if (yych == '-') goto yy405;
+ goto yy279;
yy370:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'u') goto yy397;
- goto yy252;
+ if (yych == 'e') goto yy406;
+ goto yy279;
yy371:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy398;
- goto yy252;
+ if (yych == 'i') goto yy407;
+ goto yy279;
yy372:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy399;
- goto yy252;
+ if (yych == 't') goto yy408;
+ goto yy279;
yy373:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy400;
- goto yy252;
+ if (yych == '-') goto yy409;
+ goto yy279;
yy374:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'l') goto yy402;
- goto yy252;
+ if (yych == 'i') goto yy410;
+ goto yy279;
yy375:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy403;
- goto yy252;
+ if (yych <= 'c') {
+ if (yych == 'a') goto yy411;
+ goto yy279;
+ } else {
+ if (yych <= 'd') goto yy412;
+ if (yych == 'n') goto yy413;
+ goto yy279;
+ }
yy376:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy404;
- goto yy252;
+ if (yych == '-') goto yy414;
+ goto yy279;
yy377:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy405;
- goto yy252;
+ if (yych == 'd') goto yy415;
+ goto yy279;
yy378:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'l') goto yy406;
- goto yy252;
+ if (yych == '-') goto yy416;
+ goto yy279;
yy379:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy407;
- goto yy252;
+ if (yych == 'i') goto yy417;
+ goto yy279;
yy380:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy408;
- goto yy252;
+ if (yych == 's') goto yy418;
+ goto yy279;
yy381:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy409;
- goto yy252;
-yy382:
++YYCURSOR;
-#line 153 "../src/conf/parse_opts.re"
- { if (!opts.set_encoding (Enc::UTF8)) { error_encoding (); return EXIT_FAIL; } goto opt; }
-#line 1618 "src/conf/parse_opts.cc"
+#line 134 "../src/conf/parse_opts.re"
+ { usage (); return EXIT_OK; }
+#line 1629 "src/conf/parse_opts.cc"
+yy383:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x00) goto yy419;
+ goto yy279;
yy384:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy411;
- goto yy252;
+ if (yych == 'd') goto yy421;
+ goto yy279;
yy385:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy413;
- goto yy252;
+ if (yych == 'b') goto yy422;
+ goto yy279;
yy386:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'h') goto yy414;
- goto yy252;
+ if (yych == 'n') goto yy423;
+ goto yy279;
yy387:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy415;
- goto yy252;
+ if (yych == 'o') goto yy424;
+ goto yy279;
yy388:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy416;
- if (yych == 'v') goto yy417;
- goto yy252;
+ if (yych == 't') goto yy425;
+ goto yy279;
yy389:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'd') goto yy418;
- goto yy252;
+ if (yych == 'r') goto yy426;
+ goto yy279;
yy390:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'u') goto yy419;
- goto yy252;
+ if (yych == 't') goto yy427;
+ goto yy279;
yy391:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy420;
- goto yy252;
+ if (yych == '-') goto yy428;
+ goto yy279;
yy392:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy421;
- goto yy252;
+ if (yych == 'b') goto yy429;
+ goto yy279;
yy393:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'l') goto yy422;
- goto yy252;
+ if (yych == 'e') goto yy430;
+ goto yy279;
yy394:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'g') goto yy423;
- goto yy252;
+ if (yych == 't') goto yy431;
+ goto yy279;
yy395:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy424;
- goto yy252;
+ if (yych == '-') goto yy432;
+ goto yy279;
yy396:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy425;
- goto yy252;
+ if (yych == 'b') goto yy433;
+ goto yy279;
yy397:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'g') goto yy426;
- goto yy252;
-yy398:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy427;
- goto yy252;
+ ++YYCURSOR;
+#line 154 "../src/conf/parse_opts.re"
+ { opts.set_tags (true); goto opt; }
+#line 1690 "src/conf/parse_opts.cc"
yy399:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy428;
- goto yy252;
+ if (yych == 'h') goto yy434;
+ goto yy279;
yy400:
- ++YYCURSOR;
-#line 154 "../src/conf/parse_opts.re"
- { if (!next (YYCURSOR, argv)) { error_arg ("-o, --output"); return EXIT_FAIL; } goto opt_output; }
-#line 1688 "src/conf/parse_opts.cc"
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'd') goto yy435;
+ goto yy279;
+yy401:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '6') goto yy436;
+ goto yy279;
yy402:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy429;
- goto yy252;
+ if (yych <= 0x00) goto yy437;
+ goto yy279;
yy403:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'p') goto yy430;
- goto yy252;
+ if (yych == 'm') goto yy439;
+ goto yy279;
yy404:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy431;
- goto yy252;
+ if (yych == 'o') goto yy440;
+ goto yy279;
yy405:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy432;
- goto yy252;
+ if (yych == 'c') goto yy441;
+ goto yy279;
yy406:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy433;
- goto yy252;
+ if (yych == 'c') goto yy442;
+ goto yy279;
yy407:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy434;
- goto yy252;
+ if (yych == 'n') goto yy443;
+ goto yy279;
yy408:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy435;
- goto yy252;
+ if (yych == 'e') goto yy444;
+ goto yy279;
yy409:
- ++YYCURSOR;
-#line 152 "../src/conf/parse_opts.re"
- { if (!opts.set_encoding (Enc::UTF16)) { error_encoding (); return EXIT_FAIL; } goto opt; }
-#line 1721 "src/conf/parse_opts.cc"
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'o') goto yy445;
+ goto yy279;
+yy410:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'n') goto yy446;
+ goto yy279;
yy411:
- ++YYCURSOR;
-#line 133 "../src/conf/parse_opts.re"
- { vernum (); return EXIT_OK; }
-#line 1726 "src/conf/parse_opts.cc"
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'd') goto yy447;
+ goto yy279;
+yy412:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'f') goto yy448;
+ goto yy279;
yy413:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy437;
- goto yy252;
+ if (yych == 'f') goto yy449;
+ goto yy279;
yy414:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy439;
- goto yy252;
+ if (yych == 's') goto yy450;
+ goto yy279;
yy415:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy440;
- goto yy252;
+ if (yych == 'o') goto yy451;
+ goto yy279;
yy416:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy441;
- goto yy252;
+ if (yych == 'c') goto yy452;
+ goto yy279;
yy417:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy442;
- goto yy252;
+ if (yych == 'n') goto yy453;
+ goto yy279;
yy418:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy443;
- goto yy252;
+ if (yych == 'y') goto yy454;
+ goto yy279;
yy419:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy444;
- goto yy252;
-yy420:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'm') goto yy445;
- goto yy252;
+ ++YYCURSOR;
+#line 167 "../src/conf/parse_opts.re"
+ { goto opt_input; }
+#line 1775 "src/conf/parse_opts.cc"
yy421:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy446;
- goto yy252;
+ if (yych == '-') goto yy455;
+ goto yy279;
yy422:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy448;
- goto yy252;
+ if (yych == 'u') goto yy456;
+ goto yy279;
yy423:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy449;
- goto yy252;
+ if (yych == 'e') goto yy457;
+ goto yy279;
yy424:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy450;
- goto yy252;
+ if (yych == 'k') goto yy458;
+ goto yy279;
yy425:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'f') goto yy451;
- goto yy252;
+ if (yych == 'i') goto yy459;
+ goto yy279;
yy426:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy452;
- goto yy252;
+ if (yych == 's') goto yy460;
+ goto yy279;
yy427:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy453;
- goto yy252;
+ if (yych <= 0x00) goto yy461;
+ goto yy279;
yy428:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy454;
- goto yy252;
+ if (yych == 'c') goto yy463;
+ goto yy279;
yy429:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy455;
- goto yy252;
+ if (yych == 'l') goto yy464;
+ goto yy279;
yy430:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy457;
- goto yy252;
+ if (yych == '-') goto yy465;
+ goto yy279;
yy431:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy458;
- goto yy252;
+ if (yych == 'o') goto yy466;
+ goto yy279;
yy432:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy460;
- goto yy252;
+ if (yych == 'c') goto yy467;
+ goto yy279;
yy433:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy461;
- goto yy252;
+ if (yych == 'l') goto yy468;
+ goto yy279;
yy434:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'd') goto yy462;
- goto yy252;
+ if (yych == 'e') goto yy469;
+ goto yy279;
yy435:
- ++YYCURSOR;
-#line 150 "../src/conf/parse_opts.re"
- { if (!opts.set_encoding (Enc::UTF32)) { error_encoding (); return EXIT_FAIL; } goto opt; }
-#line 1819 "src/conf/parse_opts.cc"
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'e') goto yy470;
+ goto yy279;
+yy436:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x00) goto yy471;
+ goto yy279;
yy437:
++YYCURSOR;
-#line 132 "../src/conf/parse_opts.re"
- { version (); return EXIT_OK; }
-#line 1824 "src/conf/parse_opts.cc"
+#line 163 "../src/conf/parse_opts.re"
+ { opts.set_encoding(Enc::UTF8); goto opt; }
+#line 1844 "src/conf/parse_opts.cc"
yy439:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy463;
- goto yy252;
+ if (yych <= 0x00) goto yy473;
+ goto yy279;
yy440:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy464;
- goto yy252;
+ if (yych == 'n') goto yy475;
+ goto yy279;
yy441:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy465;
- goto yy252;
+ if (yych == 'h') goto yy476;
+ goto yy279;
yy442:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy466;
- goto yy252;
+ if (yych == 't') goto yy477;
+ goto yy279;
yy443:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'g') goto yy467;
- goto yy252;
+ if (yych == 's') goto yy478;
+ if (yych == 'v') goto yy479;
+ goto yy279;
yy444:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'p') goto yy468;
- goto yy252;
+ if (yych == 'd') goto yy480;
+ goto yy279;
yy445:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy469;
- goto yy252;
+ if (yych == 'u') goto yy481;
+ goto yy279;
yy446:
- ++YYCURSOR;
-#line 137 "../src/conf/parse_opts.re"
- { opts.set_target (opt_t::DOT); goto opt; }
-#line 1857 "src/conf/parse_opts.cc"
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'i') goto yy482;
+ goto yy279;
+yy447:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'f') goto yy483;
+ goto yy279;
yy448:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy470;
- goto yy252;
+ if (yych == 'a') goto yy484;
+ goto yy279;
yy449:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'p') goto yy471;
- goto yy252;
+ if (yych == 'a') goto yy485;
+ goto yy279;
yy450:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy472;
- goto yy252;
+ if (yych == 'k') goto yy486;
+ goto yy279;
yy451:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy473;
- goto yy252;
+ if (yych == 't') goto yy487;
+ goto yy279;
yy452:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy474;
- goto yy252;
+ if (yych == 'l') goto yy488;
+ goto yy279;
yy453:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy475;
- goto yy252;
+ if (yych == 'g') goto yy489;
+ goto yy279;
yy454:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy476;
- goto yy252;
+ if (yych == 'n') goto yy490;
+ goto yy279;
yy455:
- ++YYCURSOR;
-#line 142 "../src/conf/parse_opts.re"
- { opts.set_rFlag (true); goto opt; }
-#line 1890 "src/conf/parse_opts.cc"
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'i') goto yy491;
+ goto yy279;
+yy456:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'g') goto yy492;
+ goto yy279;
yy457:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy477;
- goto yy252;
+ if (yych == 'r') goto yy493;
+ goto yy279;
yy458:
- ++YYCURSOR;
-#line 148 "../src/conf/parse_opts.re"
- { opts.set_target (opt_t::SKELETON); goto opt; }
-#line 1899 "src/conf/parse_opts.cc"
-yy460:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'd') goto yy478;
- goto yy252;
-yy461:
+ if (yych == 'a') goto yy494;
+ goto yy279;
+yy459:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy479;
- goto yy252;
-yy462:
+ if (yych == 'm') goto yy495;
+ goto yy279;
+yy460:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy480;
- goto yy252;
+ if (yych == 'i') goto yy496;
+ goto yy279;
+yy461:
+ ++YYCURSOR;
+#line 164 "../src/conf/parse_opts.re"
+ { if (!next (YYCURSOR, argv)) { error_arg ("-o, --output"); return EXIT_FAIL; } goto opt_output; }
+#line 1938 "src/conf/parse_opts.cc"
yy463:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy481;
- goto yy252;
+ if (yych == 'a') goto yy497;
+ goto yy279;
yy464:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy482;
- goto yy252;
+ if (yych == 'e') goto yy498;
+ goto yy279;
yy465:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy483;
- goto yy252;
+ if (yych == 'p') goto yy499;
+ goto yy279;
yy466:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy484;
- goto yy252;
+ if (yych == 'n') goto yy500;
+ goto yy279;
yy467:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy485;
- goto yy252;
+ if (yych == 'o') goto yy501;
+ goto yy279;
yy468:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'u') goto yy486;
- goto yy252;
+ if (yych == 'e') goto yy502;
+ goto yy279;
yy469:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'z') goto yy487;
- goto yy252;
+ if (yych == 'a') goto yy503;
+ goto yy279;
yy470:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy488;
- goto yy252;
+ if (yych <= 0x00) goto yy504;
+ goto yy279;
yy471:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy489;
- goto yy252;
-yy472:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'x') goto yy490;
- goto yy252;
+ ++YYCURSOR;
+#line 162 "../src/conf/parse_opts.re"
+ { opts.set_encoding(Enc::UTF16); goto opt; }
+#line 1975 "src/conf/parse_opts.cc"
yy473:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy491;
- goto yy252;
-yy474:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy493;
- goto yy252;
+ ++YYCURSOR;
+#line 136 "../src/conf/parse_opts.re"
+ { vernum (); return EXIT_OK; }
+#line 1980 "src/conf/parse_opts.cc"
yy475:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy494;
- goto yy252;
+ if (yych <= 0x00) goto yy506;
+ goto yy279;
yy476:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy495;
- goto yy252;
+ if (yych == 'a') goto yy508;
+ goto yy279;
yy477:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy497;
- goto yy252;
+ if (yych == 'o') goto yy509;
+ goto yy279;
yy478:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy498;
- goto yy252;
+ if (yych == 'e') goto yy510;
+ goto yy279;
yy479:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy499;
- goto yy252;
+ if (yych == 'e') goto yy511;
+ goto yy279;
yy480:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy500;
- goto yy252;
+ if (yych == '-') goto yy512;
+ goto yy279;
yy481:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy501;
- goto yy252;
+ if (yych == 't') goto yy513;
+ goto yy279;
yy482:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy503;
- goto yy252;
+ if (yych == 'm') goto yy514;
+ goto yy279;
yy483:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy505;
- goto yy252;
+ if (yych == 'a') goto yy515;
+ goto yy279;
yy484:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy506;
- goto yy252;
+ if (yych == '-') goto yy516;
+ goto yy279;
yy485:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy507;
- goto yy252;
+ if (yych <= 0x00) goto yy517;
+ goto yy279;
yy486:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy508;
- goto yy252;
+ if (yych == 'i') goto yy519;
+ goto yy279;
yy487:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy509;
- goto yy252;
+ if (yych <= 0x00) goto yy520;
+ goto yy279;
yy488:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy510;
- goto yy252;
+ if (yych == 'a') goto yy522;
+ goto yy279;
yy489:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'l') goto yy512;
- goto yy252;
+ if (yych == '-') goto yy523;
+ goto yy279;
yy490:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy513;
- goto yy252;
+ if (yych == 't') goto yy524;
+ goto yy279;
yy491:
- ++YYCURSOR;
-#line 143 "../src/conf/parse_opts.re"
- { opts.set_sFlag (true); goto opt; }
-#line 2028 "src/conf/parse_opts.cc"
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'f') goto yy525;
+ goto yy279;
+yy492:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '-') goto yy526;
+ goto yy279;
yy493:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'f') goto yy515;
- goto yy252;
+ if (yych == 'a') goto yy527;
+ goto yy279;
yy494:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy516;
- goto yy252;
+ if (yych == 'h') goto yy528;
+ goto yy279;
yy495:
- ++YYCURSOR;
-#line 145 "../src/conf/parse_opts.re"
- { opts.set_version (false); goto opt; }
-#line 2041 "src/conf/parse_opts.cc"
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'i') goto yy529;
+ goto yy279;
+yy496:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'o') goto yy530;
+ goto yy279;
yy497:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy517;
- goto yy252;
+ if (yych == 'p') goto yy531;
+ goto yy279;
yy498:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy519;
- goto yy252;
+ if (yych <= 0x00) goto yy532;
+ goto yy279;
yy499:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy520;
- goto yy252;
+ if (yych == 'a') goto yy534;
+ goto yy279;
yy500:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy521;
- goto yy252;
+ if (yych <= 0x00) goto yy535;
+ goto yy279;
yy501:
- ++YYCURSOR;
-#line 151 "../src/conf/parse_opts.re"
- { if (!opts.set_encoding (Enc::UCS2)) { error_encoding (); return EXIT_FAIL; } goto opt; }
-#line 2062 "src/conf/parse_opts.cc"
-yy503:
- ++YYCURSOR;
-#line 134 "../src/conf/parse_opts.re"
- { opts.set_bFlag (true); goto opt; }
-#line 2067 "src/conf/parse_opts.cc"
-yy505:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy523;
- goto yy252;
-yy506:
+ if (yych == 'n') goto yy537;
+ goto yy279;
+yy502:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'd') goto yy524;
- goto yy252;
-yy507:
+ if (yych == '-') goto yy538;
+ goto yy279;
+yy503:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy525;
- goto yy252;
+ if (yych == 'd') goto yy539;
+ goto yy279;
+yy504:
+ ++YYCURSOR;
+#line 160 "../src/conf/parse_opts.re"
+ { opts.set_encoding(Enc::UTF32); goto opt; }
+#line 2101 "src/conf/parse_opts.cc"
+yy506:
+ ++YYCURSOR;
+#line 135 "../src/conf/parse_opts.re"
+ { version (); return EXIT_OK; }
+#line 2106 "src/conf/parse_opts.cc"
yy508:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy526;
- goto yy252;
+ if (yych == 'r') goto yy540;
+ goto yy279;
yy509:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy528;
- goto yy252;
+ if (yych == 'r') goto yy541;
+ goto yy279;
yy510:
- ++YYCURSOR;
-#line 158 "../src/conf/parse_opts.re"
- { goto opt_empty_class; }
-#line 2092 "src/conf/parse_opts.cc"
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'n') goto yy542;
+ goto yy279;
+yy511:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'r') goto yy543;
+ goto yy279;
yy512:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy529;
- goto yy252;
+ if (yych == 'g') goto yy544;
+ goto yy279;
yy513:
- ++YYCURSOR;
-#line 139 "../src/conf/parse_opts.re"
- { opts.set_FFlag (true); goto opt; }
-#line 2101 "src/conf/parse_opts.cc"
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'p') goto yy545;
+ goto yy279;
+yy514:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'i') goto yy546;
+ goto yy279;
yy515:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy530;
- goto yy252;
+ if (yych <= 0x00) goto yy547;
+ goto yy279;
yy516:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy531;
- goto yy252;
+ switch (yych) {
+ case 'd': goto yy549;
+ case 'm': goto yy550;
+ case 'r': goto yy551;
+ case 't': goto yy552;
+ default: goto yy279;
+ }
yy517:
++YYCURSOR;
-#line 160 "../src/conf/parse_opts.re"
- { goto opt; }
-#line 2114 "src/conf/parse_opts.cc"
+#line 172 "../src/conf/parse_opts.re"
+ { globopts.dump_nfa = true; goto opt; }
+#line 2152 "src/conf/parse_opts.cc"
yy519:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy532;
- goto yy252;
+ if (yych == 'p') goto yy553;
+ goto yy279;
yy520:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy533;
- goto yy252;
-yy521:
++YYCURSOR;
-#line 155 "../src/conf/parse_opts.re"
- { if (!next (YYCURSOR, argv)) { error_arg ("-t, --type-header"); return EXIT_FAIL; } goto opt_header; }
-#line 2127 "src/conf/parse_opts.cc"
+#line 139 "../src/conf/parse_opts.re"
+ { globopts.target = TARGET_DOT; goto opt; }
+#line 2161 "src/conf/parse_opts.cc"
+yy522:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 's') goto yy554;
+ goto yy279;
yy523:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy534;
- goto yy252;
+ if (yych == 'p') goto yy555;
+ goto yy279;
yy524:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy535;
- goto yy252;
+ if (yych == 'a') goto yy556;
+ goto yy279;
yy525:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy537;
- goto yy252;
+ if (yych == 's') goto yy557;
+ goto yy279;
yy526:
- ++YYCURSOR;
-#line 136 "../src/conf/parse_opts.re"
- { opts.set_dFlag (true); goto opt; }
-#line 2144 "src/conf/parse_opts.cc"
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'i') goto yy558;
+ goto yy279;
+yy527:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 't') goto yy559;
+ goto yy279;
yy528:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy538;
- goto yy252;
+ if (yych == 'e') goto yy560;
+ goto yy279;
yy529:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy539;
- goto yy252;
+ if (yych == 'z') goto yy561;
+ goto yy279;
yy530:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy540;
- goto yy252;
+ if (yych == 'n') goto yy562;
+ goto yy279;
yy531:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy542;
- goto yy252;
+ if (yych == 't') goto yy563;
+ goto yy279;
yy532:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy543;
- goto yy252;
-yy533:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy544;
- goto yy252;
+ ++YYCURSOR;
+#line 142 "../src/conf/parse_opts.re"
+ { globopts.rFlag = true; goto opt; }
+#line 2206 "src/conf/parse_opts.cc"
yy534:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'v') goto yy545;
- goto yy252;
+ if (yych == 's') goto yy564;
+ goto yy279;
yy535:
++YYCURSOR;
-#line 147 "../src/conf/parse_opts.re"
- { opts.set_bCaseInverted (true); goto opt; }
-#line 2177 "src/conf/parse_opts.cc"
+#line 145 "../src/conf/parse_opts.re"
+ { globopts.target = TARGET_SKELETON; goto opt; }
+#line 2215 "src/conf/parse_opts.cc"
yy537:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy546;
- goto yy252;
+ if (yych == 'd') goto yy565;
+ goto yy279;
yy538:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy548;
- goto yy252;
+ if (yych == 's') goto yy566;
+ goto yy279;
yy539:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'y') goto yy549;
- goto yy252;
+ if (yych == 'e') goto yy567;
+ goto yy279;
yy540:
- ++YYCURSOR;
-#line 141 "../src/conf/parse_opts.re"
- { opts.set_iFlag (true); goto opt; }
-#line 2194 "src/conf/parse_opts.cc"
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 's') goto yy568;
+ goto yy279;
+yy541:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 's') goto yy569;
+ goto yy279;
yy542:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'd') goto yy550;
- goto yy252;
+ if (yych == 's') goto yy570;
+ goto yy279;
yy543:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy551;
- goto yy252;
+ if (yych == 't') goto yy571;
+ goto yy279;
yy544:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy552;
- goto yy252;
+ if (yych == 'o') goto yy572;
+ goto yy279;
yy545:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy554;
- goto yy252;
+ if (yych == 'u') goto yy573;
+ goto yy279;
yy546:
- ++YYCURSOR;
-#line 140 "../src/conf/parse_opts.re"
- { opts.set_gFlag (true); goto opt; }
-#line 2215 "src/conf/parse_opts.cc"
-yy548:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy555;
- goto yy252;
+ if (yych == 'z') goto yy574;
+ goto yy279;
+yy547:
+ ++YYCURSOR;
+#line 177 "../src/conf/parse_opts.re"
+ { globopts.dump_adfa = true; goto opt; }
+#line 2260 "src/conf/parse_opts.cc"
yy549:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy556;
- goto yy252;
+ if (yych == 'e') goto yy575;
+ goto yy279;
yy550:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy558;
- goto yy252;
+ if (yych == 'i') goto yy576;
+ goto yy279;
yy551:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy559;
- goto yy252;
+ if (yych == 'a') goto yy577;
+ goto yy279;
yy552:
- ++YYCURSOR;
-#line 138 "../src/conf/parse_opts.re"
- { opts.set_fFlag (true); goto opt; }
-#line 2236 "src/conf/parse_opts.cc"
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'a') goto yy578;
+ goto yy279;
+yy553:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x00) goto yy579;
+ goto yy279;
yy554:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy560;
- goto yy252;
+ if (yych == 's') goto yy581;
+ goto yy279;
yy555:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy562;
- goto yy252;
+ if (yych == 'o') goto yy582;
+ goto yy279;
yy556:
- ++YYCURSOR;
-#line 156 "../src/conf/parse_opts.re"
- { goto opt_encoding_policy; }
-#line 2249 "src/conf/parse_opts.cc"
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'x') goto yy583;
+ goto yy279;
+yy557:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x00) goto yy584;
+ goto yy279;
yy558:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy564;
- goto yy252;
+ if (yych == 'n') goto yy586;
+ goto yy279;
yy559:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy565;
- goto yy252;
+ if (yych == 'i') goto yy587;
+ goto yy279;
yy560:
- ++YYCURSOR;
-#line 146 "../src/conf/parse_opts.re"
- { opts.set_bCaseInsensitive (true); goto opt; }
-#line 2262 "src/conf/parse_opts.cc"
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'a') goto yy588;
+ goto yy279;
+yy561:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'e') goto yy589;
+ goto yy279;
yy562:
- ++YYCURSOR;
-#line 159 "../src/conf/parse_opts.re"
- { goto opt_dfa_minimization; }
-#line 2267 "src/conf/parse_opts.cc"
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x00) goto yy590;
+ goto yy279;
+yy563:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'u') goto yy592;
+ goto yy279;
yy564:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy567;
- goto yy252;
+ if (yych == 's') goto yy593;
+ goto yy279;
yy565:
- ++YYCURSOR;
-#line 135 "../src/conf/parse_opts.re"
- { opts.set_cFlag (true); goto opt; }
-#line 2276 "src/conf/parse_opts.cc"
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'i') goto yy594;
+ goto yy279;
+yy566:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 't') goto yy595;
+ goto yy279;
yy567:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych >= 0x01) goto yy252;
+ if (yych == 'r') goto yy596;
+ goto yy279;
+yy568:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x00) goto yy597;
+ goto yy279;
+yy569:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x00) goto yy599;
+ goto yy279;
+yy570:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'i') goto yy601;
+ goto yy279;
+yy571:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'e') goto yy602;
+ goto yy279;
+yy572:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 't') goto yy603;
+ goto yy279;
+yy573:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 't') goto yy604;
+ goto yy279;
+yy574:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'a') goto yy605;
+ goto yy279;
+yy575:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 't') goto yy606;
+ goto yy279;
+yy576:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'n') goto yy607;
+ goto yy279;
+yy577:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'w') goto yy608;
+ goto yy279;
+yy578:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'g') goto yy609;
+ goto yy279;
+yy579:
+ ++YYCURSOR;
+#line 158 "../src/conf/parse_opts.re"
+ { opts.set_eager_skip(true); goto opt; }
+#line 2385 "src/conf/parse_opts.cc"
+yy581:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x00) goto yy610;
+ goto yy279;
+yy582:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'l') goto yy612;
+ goto yy279;
+yy583:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x00) goto yy613;
+ goto yy279;
+yy584:
+ ++YYCURSOR;
+#line 151 "../src/conf/parse_opts.re"
+ { opts.set_sFlag (true); goto opt; }
+#line 2402 "src/conf/parse_opts.cc"
+yy586:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'f') goto yy615;
+ goto yy279;
+yy587:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'o') goto yy616;
+ goto yy279;
+yy588:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'd') goto yy617;
+ goto yy279;
+yy589:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '-') goto yy618;
+ goto yy279;
+yy590:
++YYCURSOR;
#line 144 "../src/conf/parse_opts.re"
- { opts.set_bNoGenerationDate (true); goto opt; }
-#line 2283 "src/conf/parse_opts.cc"
-}
+ { globopts.version = false; goto opt; }
+#line 2423 "src/conf/parse_opts.cc"
+yy592:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'r') goto yy619;
+ goto yy279;
+yy593:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x00) goto yy620;
+ goto yy279;
+yy594:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 't') goto yy622;
+ goto yy279;
+yy595:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'a') goto yy623;
+ goto yy279;
+yy596:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x00) goto yy624;
+ goto yy279;
+yy597:
+ ++YYCURSOR;
#line 161 "../src/conf/parse_opts.re"
+ { opts.set_encoding(Enc::UCS2); goto opt; }
+#line 2448 "src/conf/parse_opts.cc"
+yy599:
+ ++YYCURSOR;
+#line 147 "../src/conf/parse_opts.re"
+ { opts.set_bFlag (true); goto opt; }
+#line 2453 "src/conf/parse_opts.cc"
+yy601:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 't') goto yy626;
+ goto yy279;
+yy602:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'd') goto yy627;
+ goto yy279;
+yy603:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'o') goto yy628;
+ goto yy279;
+yy604:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x00) goto yy629;
+ goto yy279;
+yy605:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 't') goto yy631;
+ goto yy279;
+yy606:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x00) goto yy632;
+ goto yy279;
+yy607:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x00) goto yy634;
+ goto yy279;
+yy608:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x00) goto yy636;
+ goto yy279;
+yy609:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'o') goto yy638;
+ goto yy279;
+yy610:
+ ++YYCURSOR;
+#line 168 "../src/conf/parse_opts.re"
+ { goto opt_empty_class; }
+#line 2494 "src/conf/parse_opts.cc"
+yy612:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'i') goto yy639;
+ goto yy279;
+yy613:
+ ++YYCURSOR;
+#line 141 "../src/conf/parse_opts.re"
+ { globopts.FFlag = true; goto opt; }
+#line 2503 "src/conf/parse_opts.cc"
+yy615:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'o') goto yy640;
+ goto yy279;
+yy616:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'n') goto yy641;
+ goto yy279;
+yy617:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x00) goto yy642;
+ goto yy279;
+yy618:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 't') goto yy644;
+ goto yy279;
+yy619:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'e') goto yy645;
+ goto yy279;
+yy620:
+ ++YYCURSOR;
+#line 170 "../src/conf/parse_opts.re"
+ { goto opt; }
+#line 2528 "src/conf/parse_opts.cc"
+yy622:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'i') goto yy646;
+ goto yy279;
+yy623:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 't') goto yy647;
+ goto yy279;
+yy624:
+ ++YYCURSOR;
+#line 165 "../src/conf/parse_opts.re"
+ { if (!next (YYCURSOR, argv)) { error_arg ("-t, --type-header"); return EXIT_FAIL; } goto opt_header; }
+#line 2541 "src/conf/parse_opts.cc"
+yy626:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'i') goto yy648;
+ goto yy279;
+yy627:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x00) goto yy649;
+ goto yy279;
+yy628:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 's') goto yy651;
+ goto yy279;
+yy629:
+ ++YYCURSOR;
+#line 148 "../src/conf/parse_opts.re"
+ { opts.set_dFlag (true); goto opt; }
+#line 2558 "src/conf/parse_opts.cc"
+yy631:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'i') goto yy652;
+ goto yy279;
+yy632:
+ ++YYCURSOR;
+#line 174 "../src/conf/parse_opts.re"
+ { globopts.dump_dfa_det = true; goto opt; }
+#line 2567 "src/conf/parse_opts.cc"
+yy634:
+ ++YYCURSOR;
+#line 176 "../src/conf/parse_opts.re"
+ { globopts.dump_dfa_min = true; goto opt; }
+#line 2572 "src/conf/parse_opts.cc"
+yy636:
+ ++YYCURSOR;
+#line 173 "../src/conf/parse_opts.re"
+ { globopts.dump_dfa_raw = true; goto opt; }
+#line 2577 "src/conf/parse_opts.cc"
+yy638:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'p') goto yy653;
+ goto yy279;
+yy639:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'c') goto yy654;
+ goto yy279;
+yy640:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x00) goto yy655;
+ goto yy279;
+yy641:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == '-') goto yy657;
+ goto yy279;
+yy642:
+ ++YYCURSOR;
+#line 156 "../src/conf/parse_opts.re"
+ { opts.set_lookahead(false); goto opt; }
+#line 2598 "src/conf/parse_opts.cc"
+yy644:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'a') goto yy658;
+ goto yy279;
+yy645:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 's') goto yy659;
+ goto yy279;
+yy646:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'o') goto yy660;
+ goto yy279;
+yy647:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'e') goto yy661;
+ goto yy279;
+yy648:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'v') goto yy662;
+ goto yy279;
+yy649:
+ ++YYCURSOR;
+#line 153 "../src/conf/parse_opts.re"
+ { opts.set_bCaseInverted (true); goto opt; }
+#line 2623 "src/conf/parse_opts.cc"
+yy651:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x00) goto yy663;
+ goto yy279;
+yy652:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'o') goto yy665;
+ goto yy279;
+yy653:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 't') goto yy666;
+ goto yy279;
+yy654:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'y') goto yy667;
+ goto yy279;
+yy655:
+ ++YYCURSOR;
+#line 150 "../src/conf/parse_opts.re"
+ { opts.set_iFlag (true); goto opt; }
+#line 2644 "src/conf/parse_opts.cc"
+yy657:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'd') goto yy668;
+ goto yy279;
+yy658:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'g') goto yy669;
+ goto yy279;
+yy659:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x00) goto yy670;
+ goto yy279;
+yy660:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'n') goto yy672;
+ goto yy279;
+yy661:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x00) goto yy673;
+ goto yy279;
+yy662:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'e') goto yy675;
+ goto yy279;
+yy663:
+ ++YYCURSOR;
+#line 149 "../src/conf/parse_opts.re"
+ { opts.set_gFlag (true); goto opt; }
+#line 2673 "src/conf/parse_opts.cc"
+yy665:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'n') goto yy676;
+ goto yy279;
+yy666:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x00) goto yy677;
+ goto yy279;
+yy667:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x00) goto yy679;
+ goto yy279;
+yy668:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'a') goto yy681;
+ goto yy279;
+yy669:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 's') goto yy682;
+ goto yy279;
+yy670:
+ ++YYCURSOR;
+#line 155 "../src/conf/parse_opts.re"
+ { opts.set_posix_captures(true); goto opt; }
+#line 2698 "src/conf/parse_opts.cc"
+yy672:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 's') goto yy683;
+ goto yy279;
+yy673:
+ ++YYCURSOR;
+#line 140 "../src/conf/parse_opts.re"
+ { globopts.fFlag = true; goto opt; }
+#line 2707 "src/conf/parse_opts.cc"
+yy675:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x00) goto yy684;
+ goto yy279;
+yy676:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x00) goto yy686;
+ goto yy279;
+yy677:
+ ++YYCURSOR;
+#line 175 "../src/conf/parse_opts.re"
+ { globopts.dump_dfa_tagopt = true; goto opt; }
+#line 2720 "src/conf/parse_opts.cc"
+yy679:
+ ++YYCURSOR;
+#line 166 "../src/conf/parse_opts.re"
+ { goto opt_encoding_policy; }
+#line 2725 "src/conf/parse_opts.cc"
+yy681:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 't') goto yy688;
+ goto yy279;
+yy682:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x00) goto yy689;
+ goto yy279;
+yy683:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych <= 0x00) goto yy691;
+ goto yy279;
+yy684:
+ ++YYCURSOR;
+#line 152 "../src/conf/parse_opts.re"
+ { opts.set_bCaseInsensitive (true); goto opt; }
+#line 2742 "src/conf/parse_opts.cc"
+yy686:
+ ++YYCURSOR;
+#line 169 "../src/conf/parse_opts.re"
+ { goto opt_dfa_minimization; }
+#line 2747 "src/conf/parse_opts.cc"
+yy688:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych == 'e') goto yy693;
+ goto yy279;
+yy689:
+ ++YYCURSOR;
+#line 157 "../src/conf/parse_opts.re"
+ { opts.set_optimize_tags(false); goto opt; }
+#line 2756 "src/conf/parse_opts.cc"
+yy691:
+ ++YYCURSOR;
+#line 138 "../src/conf/parse_opts.re"
+ { globopts.cFlag = true; goto opt; }
+#line 2761 "src/conf/parse_opts.cc"
+yy693:
+ yych = (YYCTYPE)*++YYCURSOR;
+ if (yych >= 0x01) goto yy279;
+ ++YYCURSOR;
+#line 143 "../src/conf/parse_opts.re"
+ { globopts.bNoGenerationDate = true; goto opt; }
+#line 2768 "src/conf/parse_opts.cc"
+}
+#line 178 "../src/conf/parse_opts.re"
opt_output:
-#line 2290 "src/conf/parse_opts.cc"
+#line 2775 "src/conf/parse_opts.cc"
{
YYCTYPE yych;
static const unsigned char yybm[] = {
@@ -2324,39 +2809,32 @@ opt_output:
128, 128, 128, 128, 128, 128, 128, 128,
};
yych = (YYCTYPE)*YYCURSOR;
- if (yych <= 0x00) goto yy572;
- if (yych != '-') goto yy574;
-yy572:
+ if (yych <= 0x00) goto yy698;
+ if (yych != '-') goto yy700;
+yy698:
++YYCURSOR;
-#line 166 "../src/conf/parse_opts.re"
+#line 183 "../src/conf/parse_opts.re"
{
error ("bad argument to option -o, --output: %s", *argv);
return EXIT_FAIL;
}
-#line 2337 "src/conf/parse_opts.cc"
-yy574:
+#line 2822 "src/conf/parse_opts.cc"
+yy700:
yych = (YYCTYPE)*++YYCURSOR;
- goto yy578;
-yy575:
- ++YYCURSOR;
-#line 170 "../src/conf/parse_opts.re"
- { if (!opts.output (*argv)) return EXIT_FAIL; goto opt; }
-#line 2345 "src/conf/parse_opts.cc"
-yy577:
- ++YYCURSOR;
- yych = (YYCTYPE)*YYCURSOR;
-yy578:
if (yybm[0+yych] & 128) {
- goto yy577;
+ goto yy700;
}
- goto yy575;
+ ++YYCURSOR;
+#line 187 "../src/conf/parse_opts.re"
+ { globopts.output_file = *argv; goto opt; }
+#line 2831 "src/conf/parse_opts.cc"
}
-#line 171 "../src/conf/parse_opts.re"
+#line 188 "../src/conf/parse_opts.re"
opt_header:
-#line 2360 "src/conf/parse_opts.cc"
+#line 2838 "src/conf/parse_opts.cc"
{
YYCTYPE yych;
static const unsigned char yybm[] = {
@@ -2394,34 +2872,27 @@ opt_header:
128, 128, 128, 128, 128, 128, 128, 128,
};
yych = (YYCTYPE)*YYCURSOR;
- if (yych <= 0x00) goto yy581;
- if (yych != '-') goto yy583;
-yy581:
+ if (yych <= 0x00) goto yy706;
+ if (yych != '-') goto yy708;
+yy706:
++YYCURSOR;
-#line 176 "../src/conf/parse_opts.re"
+#line 193 "../src/conf/parse_opts.re"
{
error ("bad argument to option -t, --type-header: %s", *argv);
return EXIT_FAIL;
}
-#line 2407 "src/conf/parse_opts.cc"
-yy583:
+#line 2885 "src/conf/parse_opts.cc"
+yy708:
yych = (YYCTYPE)*++YYCURSOR;
- goto yy587;
-yy584:
- ++YYCURSOR;
-#line 180 "../src/conf/parse_opts.re"
- { opts.set_header_file (*argv); goto opt; }
-#line 2415 "src/conf/parse_opts.cc"
-yy586:
- ++YYCURSOR;
- yych = (YYCTYPE)*YYCURSOR;
-yy587:
if (yybm[0+yych] & 128) {
- goto yy586;
+ goto yy708;
}
- goto yy584;
+ ++YYCURSOR;
+#line 197 "../src/conf/parse_opts.re"
+ { globopts.header_file = *argv; goto opt; }
+#line 2894 "src/conf/parse_opts.cc"
}
-#line 181 "../src/conf/parse_opts.re"
+#line 198 "../src/conf/parse_opts.re"
opt_encoding_policy:
@@ -2431,115 +2902,115 @@ opt_encoding_policy:
return EXIT_FAIL;
}
-#line 2435 "src/conf/parse_opts.cc"
+#line 2906 "src/conf/parse_opts.cc"
{
YYCTYPE yych;
yych = (YYCTYPE)*YYCURSOR;
if (yych <= 'h') {
- if (yych == 'f') goto yy592;
+ if (yych == 'f') goto yy716;
} else {
- if (yych <= 'i') goto yy593;
- if (yych == 's') goto yy594;
+ if (yych <= 'i') goto yy717;
+ if (yych == 's') goto yy718;
}
++YYCURSOR;
-yy591:
-#line 191 "../src/conf/parse_opts.re"
+yy715:
+#line 208 "../src/conf/parse_opts.re"
{
error ("bad argument to option --encoding-policy (expected: ignore | substitute | fail): %s", *argv);
return EXIT_FAIL;
}
-#line 2452 "src/conf/parse_opts.cc"
-yy592:
+#line 2923 "src/conf/parse_opts.cc"
+yy716:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == 'a') goto yy595;
- goto yy591;
-yy593:
+ if (yych == 'a') goto yy719;
+ goto yy715;
+yy717:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == 'g') goto yy597;
- goto yy591;
-yy594:
+ if (yych == 'g') goto yy721;
+ goto yy715;
+yy718:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == 'u') goto yy598;
- goto yy591;
-yy595:
+ if (yych == 'u') goto yy722;
+ goto yy715;
+yy719:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy599;
-yy596:
+ if (yych == 'i') goto yy723;
+yy720:
YYCURSOR = YYMARKER;
- goto yy591;
-yy597:
+ goto yy715;
+yy721:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy600;
- goto yy596;
-yy598:
+ if (yych == 'n') goto yy724;
+ goto yy720;
+yy722:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'b') goto yy601;
- goto yy596;
-yy599:
+ if (yych == 'b') goto yy725;
+ goto yy720;
+yy723:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'l') goto yy602;
- goto yy596;
-yy600:
+ if (yych == 'l') goto yy726;
+ goto yy720;
+yy724:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy603;
- goto yy596;
-yy601:
+ if (yych == 'o') goto yy727;
+ goto yy720;
+yy725:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy604;
- goto yy596;
-yy602:
+ if (yych == 's') goto yy728;
+ goto yy720;
+yy726:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy605;
- goto yy596;
-yy603:
+ if (yych <= 0x00) goto yy729;
+ goto yy720;
+yy727:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy607;
- goto yy596;
-yy604:
+ if (yych == 'r') goto yy731;
+ goto yy720;
+yy728:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy608;
- goto yy596;
-yy605:
+ if (yych == 't') goto yy732;
+ goto yy720;
+yy729:
++YYCURSOR;
-#line 197 "../src/conf/parse_opts.re"
+#line 214 "../src/conf/parse_opts.re"
{ opts.set_encoding_policy (Enc::POLICY_FAIL); goto opt; }
-#line 2507 "src/conf/parse_opts.cc"
-yy607:
+#line 2978 "src/conf/parse_opts.cc"
+yy731:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy609;
- goto yy596;
-yy608:
+ if (yych == 'e') goto yy733;
+ goto yy720;
+yy732:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy610;
- goto yy596;
-yy609:
+ if (yych == 'i') goto yy734;
+ goto yy720;
+yy733:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy611;
- goto yy596;
-yy610:
+ if (yych <= 0x00) goto yy735;
+ goto yy720;
+yy734:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy613;
- goto yy596;
-yy611:
+ if (yych == 't') goto yy737;
+ goto yy720;
+yy735:
++YYCURSOR;
-#line 195 "../src/conf/parse_opts.re"
+#line 212 "../src/conf/parse_opts.re"
{ opts.set_encoding_policy (Enc::POLICY_IGNORE); goto opt; }
-#line 2528 "src/conf/parse_opts.cc"
-yy613:
+#line 2999 "src/conf/parse_opts.cc"
+yy737:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych != 'u') goto yy596;
+ if (yych != 'u') goto yy720;
yych = (YYCTYPE)*++YYCURSOR;
- if (yych != 't') goto yy596;
+ if (yych != 't') goto yy720;
yych = (YYCTYPE)*++YYCURSOR;
- if (yych != 'e') goto yy596;
+ if (yych != 'e') goto yy720;
yych = (YYCTYPE)*++YYCURSOR;
- if (yych >= 0x01) goto yy596;
+ if (yych >= 0x01) goto yy720;
++YYCURSOR;
-#line 196 "../src/conf/parse_opts.re"
+#line 213 "../src/conf/parse_opts.re"
{ opts.set_encoding_policy (Enc::POLICY_SUBSTITUTE); goto opt; }
-#line 2541 "src/conf/parse_opts.cc"
+#line 3012 "src/conf/parse_opts.cc"
}
-#line 198 "../src/conf/parse_opts.re"
+#line 215 "../src/conf/parse_opts.re"
opt_input:
@@ -2549,86 +3020,86 @@ opt_input:
return EXIT_FAIL;
}
-#line 2553 "src/conf/parse_opts.cc"
+#line 3024 "src/conf/parse_opts.cc"
{
YYCTYPE yych;
yych = (YYCTYPE)*YYCURSOR;
- if (yych <= 'b') goto yy621;
- if (yych <= 'c') goto yy623;
- if (yych <= 'd') goto yy624;
-yy621:
+ if (yych <= 'b') goto yy745;
+ if (yych <= 'c') goto yy747;
+ if (yych <= 'd') goto yy748;
+yy745:
++YYCURSOR;
-yy622:
-#line 208 "../src/conf/parse_opts.re"
+yy746:
+#line 225 "../src/conf/parse_opts.re"
{
error ("bad argument to option --input (expected: default | custom): %s", *argv);
return EXIT_FAIL;
}
-#line 2568 "src/conf/parse_opts.cc"
-yy623:
+#line 3039 "src/conf/parse_opts.cc"
+yy747:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == 'u') goto yy625;
- goto yy622;
-yy624:
+ if (yych == 'u') goto yy749;
+ goto yy746;
+yy748:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == 'e') goto yy627;
- goto yy622;
-yy625:
+ if (yych == 'e') goto yy751;
+ goto yy746;
+yy749:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy628;
-yy626:
+ if (yych == 's') goto yy752;
+yy750:
YYCURSOR = YYMARKER;
- goto yy622;
-yy627:
+ goto yy746;
+yy751:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'f') goto yy629;
- goto yy626;
-yy628:
+ if (yych == 'f') goto yy753;
+ goto yy750;
+yy752:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy630;
- goto yy626;
-yy629:
+ if (yych == 't') goto yy754;
+ goto yy750;
+yy753:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy631;
- goto yy626;
-yy630:
+ if (yych == 'a') goto yy755;
+ goto yy750;
+yy754:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy632;
- goto yy626;
-yy631:
+ if (yych == 'o') goto yy756;
+ goto yy750;
+yy755:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'u') goto yy633;
- goto yy626;
-yy632:
+ if (yych == 'u') goto yy757;
+ goto yy750;
+yy756:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'm') goto yy634;
- goto yy626;
-yy633:
+ if (yych == 'm') goto yy758;
+ goto yy750;
+yy757:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'l') goto yy635;
- goto yy626;
-yy634:
+ if (yych == 'l') goto yy759;
+ goto yy750;
+yy758:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy636;
- goto yy626;
-yy635:
+ if (yych <= 0x00) goto yy760;
+ goto yy750;
+yy759:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy638;
- goto yy626;
-yy636:
+ if (yych == 't') goto yy762;
+ goto yy750;
+yy760:
++YYCURSOR;
-#line 213 "../src/conf/parse_opts.re"
- { opts.set_input_api (InputAPI::CUSTOM); goto opt; }
-#line 2623 "src/conf/parse_opts.cc"
-yy638:
+#line 230 "../src/conf/parse_opts.re"
+ { opts.set_input_api(INPUT_CUSTOM); goto opt; }
+#line 3094 "src/conf/parse_opts.cc"
+yy762:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych >= 0x01) goto yy626;
+ if (yych >= 0x01) goto yy750;
++YYCURSOR;
-#line 212 "../src/conf/parse_opts.re"
- { opts.set_input_api (InputAPI::DEFAULT); goto opt; }
-#line 2630 "src/conf/parse_opts.cc"
+#line 229 "../src/conf/parse_opts.re"
+ { opts.set_input_api(INPUT_DEFAULT); goto opt; }
+#line 3101 "src/conf/parse_opts.cc"
}
-#line 214 "../src/conf/parse_opts.re"
+#line 231 "../src/conf/parse_opts.re"
opt_empty_class:
@@ -2638,120 +3109,120 @@ opt_empty_class:
return EXIT_FAIL;
}
-#line 2642 "src/conf/parse_opts.cc"
+#line 3113 "src/conf/parse_opts.cc"
{
YYCTYPE yych;
yych = (YYCTYPE)*YYCURSOR;
- if (yych == 'e') goto yy645;
- if (yych == 'm') goto yy646;
+ if (yych == 'e') goto yy769;
+ if (yych == 'm') goto yy770;
++YYCURSOR;
-yy644:
-#line 224 "../src/conf/parse_opts.re"
+yy768:
+#line 241 "../src/conf/parse_opts.re"
{
error ("bad argument to option --empty-class (expected: match-empty | match-none | error): %s", *argv);
return EXIT_FAIL;
}
-#line 2655 "src/conf/parse_opts.cc"
-yy645:
+#line 3126 "src/conf/parse_opts.cc"
+yy769:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == 'r') goto yy647;
- goto yy644;
-yy646:
+ if (yych == 'r') goto yy771;
+ goto yy768;
+yy770:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == 'a') goto yy649;
- goto yy644;
-yy647:
+ if (yych == 'a') goto yy773;
+ goto yy768;
+yy771:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy650;
-yy648:
+ if (yych == 'r') goto yy774;
+yy772:
YYCURSOR = YYMARKER;
- goto yy644;
-yy649:
+ goto yy768;
+yy773:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy651;
- goto yy648;
-yy650:
+ if (yych == 't') goto yy775;
+ goto yy772;
+yy774:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy652;
- goto yy648;
-yy651:
+ if (yych == 'o') goto yy776;
+ goto yy772;
+yy775:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy653;
- goto yy648;
-yy652:
+ if (yych == 'c') goto yy777;
+ goto yy772;
+yy776:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy654;
- goto yy648;
-yy653:
+ if (yych == 'r') goto yy778;
+ goto yy772;
+yy777:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'h') goto yy655;
- goto yy648;
-yy654:
+ if (yych == 'h') goto yy779;
+ goto yy772;
+yy778:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy656;
- goto yy648;
-yy655:
+ if (yych <= 0x00) goto yy780;
+ goto yy772;
+yy779:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '-') goto yy658;
- goto yy648;
-yy656:
+ if (yych == '-') goto yy782;
+ goto yy772;
+yy780:
++YYCURSOR;
-#line 230 "../src/conf/parse_opts.re"
+#line 247 "../src/conf/parse_opts.re"
{ opts.set_empty_class_policy (EMPTY_CLASS_ERROR); goto opt; }
-#line 2702 "src/conf/parse_opts.cc"
-yy658:
+#line 3173 "src/conf/parse_opts.cc"
+yy782:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy659;
- if (yych == 'n') goto yy660;
- goto yy648;
-yy659:
+ if (yych == 'e') goto yy783;
+ if (yych == 'n') goto yy784;
+ goto yy772;
+yy783:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'm') goto yy661;
- goto yy648;
-yy660:
+ if (yych == 'm') goto yy785;
+ goto yy772;
+yy784:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy662;
- goto yy648;
-yy661:
+ if (yych == 'o') goto yy786;
+ goto yy772;
+yy785:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'p') goto yy663;
- goto yy648;
-yy662:
+ if (yych == 'p') goto yy787;
+ goto yy772;
+yy786:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy664;
- goto yy648;
-yy663:
+ if (yych == 'n') goto yy788;
+ goto yy772;
+yy787:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy665;
- goto yy648;
-yy664:
+ if (yych == 't') goto yy789;
+ goto yy772;
+yy788:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy666;
- goto yy648;
-yy665:
+ if (yych == 'e') goto yy790;
+ goto yy772;
+yy789:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'y') goto yy667;
- goto yy648;
-yy666:
+ if (yych == 'y') goto yy791;
+ goto yy772;
+yy790:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy668;
- goto yy648;
-yy667:
+ if (yych <= 0x00) goto yy792;
+ goto yy772;
+yy791:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy670;
- goto yy648;
-yy668:
+ if (yych <= 0x00) goto yy794;
+ goto yy772;
+yy792:
++YYCURSOR;
-#line 229 "../src/conf/parse_opts.re"
+#line 246 "../src/conf/parse_opts.re"
{ opts.set_empty_class_policy (EMPTY_CLASS_MATCH_NONE); goto opt; }
-#line 2748 "src/conf/parse_opts.cc"
-yy670:
+#line 3219 "src/conf/parse_opts.cc"
+yy794:
++YYCURSOR;
-#line 228 "../src/conf/parse_opts.re"
+#line 245 "../src/conf/parse_opts.re"
{ opts.set_empty_class_policy (EMPTY_CLASS_MATCH_EMPTY); goto opt; }
-#line 2753 "src/conf/parse_opts.cc"
+#line 3224 "src/conf/parse_opts.cc"
}
-#line 231 "../src/conf/parse_opts.re"
+#line 248 "../src/conf/parse_opts.re"
opt_dfa_minimization:
@@ -2761,74 +3232,74 @@ opt_dfa_minimization:
return EXIT_FAIL;
}
-#line 2765 "src/conf/parse_opts.cc"
+#line 3236 "src/conf/parse_opts.cc"
{
YYCTYPE yych;
yych = (YYCTYPE)*YYCURSOR;
- if (yych == 'm') goto yy676;
- if (yych == 't') goto yy677;
+ if (yych == 'm') goto yy800;
+ if (yych == 't') goto yy801;
++YYCURSOR;
-yy675:
-#line 241 "../src/conf/parse_opts.re"
+yy799:
+#line 258 "../src/conf/parse_opts.re"
{
error ("bad argument to option --dfa-minimization (expected: table | moore): %s", *argv);
return EXIT_FAIL;
}
-#line 2778 "src/conf/parse_opts.cc"
-yy676:
+#line 3249 "src/conf/parse_opts.cc"
+yy800:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == 'o') goto yy678;
- goto yy675;
-yy677:
+ if (yych == 'o') goto yy802;
+ goto yy799;
+yy801:
yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == 'a') goto yy680;
- goto yy675;
-yy678:
+ if (yych == 'a') goto yy804;
+ goto yy799;
+yy802:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy681;
-yy679:
+ if (yych == 'o') goto yy805;
+yy803:
YYCURSOR = YYMARKER;
- goto yy675;
-yy680:
+ goto yy799;
+yy804:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'b') goto yy682;
- goto yy679;
-yy681:
+ if (yych == 'b') goto yy806;
+ goto yy803;
+yy805:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy683;
- goto yy679;
-yy682:
+ if (yych == 'r') goto yy807;
+ goto yy803;
+yy806:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'l') goto yy684;
- goto yy679;
-yy683:
+ if (yych == 'l') goto yy808;
+ goto yy803;
+yy807:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy685;
- goto yy679;
-yy684:
+ if (yych == 'e') goto yy809;
+ goto yy803;
+yy808:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy686;
- goto yy679;
-yy685:
+ if (yych == 'e') goto yy810;
+ goto yy803;
+yy809:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy687;
- goto yy679;
-yy686:
+ if (yych <= 0x00) goto yy811;
+ goto yy803;
+yy810:
yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= 0x00) goto yy689;
- goto yy679;
-yy687:
+ if (yych <= 0x00) goto yy813;
+ goto yy803;
+yy811:
++YYCURSOR;
-#line 246 "../src/conf/parse_opts.re"
+#line 263 "../src/conf/parse_opts.re"
{ opts.set_dfa_minimization (DFA_MINIMIZATION_MOORE); goto opt; }
-#line 2825 "src/conf/parse_opts.cc"
-yy689:
+#line 3296 "src/conf/parse_opts.cc"
+yy813:
++YYCURSOR;
-#line 245 "../src/conf/parse_opts.re"
+#line 262 "../src/conf/parse_opts.re"
{ opts.set_dfa_minimization (DFA_MINIMIZATION_TABLE); goto opt; }
-#line 2830 "src/conf/parse_opts.cc"
+#line 3301 "src/conf/parse_opts.cc"
}
-#line 247 "../src/conf/parse_opts.re"
+#line 264 "../src/conf/parse_opts.re"
end:
@@ -2837,6 +3308,7 @@ end:
error ("no source file");
return EXIT_FAIL;
}
+ globopts.fix();
return OK;
diff --git a/bootstrap/src/parse/lex.cc b/bootstrap/src/parse/lex.cc
deleted file mode 100644
index 9c7e0143..00000000
--- a/bootstrap/src/parse/lex.cc
+++ /dev/null
@@ -1,2861 +0,0 @@
-/* Generated by re2c 0.16 on Thu Jan 21 10:47:47 2016 */
-#line 1 "../src/parse/lex.re"
-#include "src/util/c99_stdint.h"
-#include <stddef.h>
-#include <string.h>
-#include <algorithm>
-#include <limits>
-#include <string>
-
-#include "src/codegen/output.h"
-#include "src/conf/opt.h"
-#include "src/conf/warn.h"
-#include "src/globals.h"
-#include "src/ir/regexp/encoding/enc.h"
-#include "src/ir/regexp/regexp.h"
-#include "src/ir/regexp/regexp_null.h"
-#include "src/parse/code.h"
-#include "src/parse/extop.h"
-#include "src/parse/input.h"
-#include "src/parse/scanner.h"
-#include "src/parse/parser.h" // needed by "y.tab.h"
-#include "src/parse/unescape.h"
-#include "src/util/range.h"
-#include "src/util/s_to_n32_unsafe.h"
-#include "y.tab.h"
-
-extern YYSTYPE yylval;
-
-#define YYCTYPE unsigned char
-#define YYCURSOR cur
-#define YYLIMIT lim
-#define YYMARKER ptr
-#define YYCTXMARKER ctx
-#define YYFILL(n) { fill (n); }
-
-namespace re2c
-{
-
-// source code is in ASCII: pointers have type 'char *'
-// but re2c makes an implicit assumption that YYCTYPE is unsigned
-// when it generates comparisons
-#line 42 "../src/parse/lex.re"
-
-
-#line 62 "../src/parse/lex.re"
-
-
-Scanner::ParseMode Scanner::echo()
-{
- bool ignore_eoc = false;
- int ignore_cnt = 0;
-
- if (eof && cur == eof) // Catch EOF
- {
- return Stop;
- }
-
- tok = cur;
-echo:
-
-#line 62 "src/parse/lex.cc"
-{
- YYCTYPE yych;
- unsigned int yyaccept = 0;
- static const unsigned char yybm[] = {
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 160, 0, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 160, 128, 0, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 0, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- };
- if ((YYLIMIT - YYCURSOR) < 16) YYFILL(16);
- yych = (YYCTYPE)*YYCURSOR;
- if (yych <= '%') {
- if (yych <= '\t') {
- if (yych >= 0x01) goto yy4;
- } else {
- if (yych <= '\n') goto yy6;
- if (yych <= '$') goto yy4;
- goto yy8;
- }
- } else {
- if (yych <= '*') {
- if (yych <= ')') goto yy4;
- goto yy9;
- } else {
- if (yych == '/') goto yy10;
- goto yy4;
- }
- }
- ++YYCURSOR;
-#line 202 "../src/parse/lex.re"
- {
- if (!ignore_eoc && opts->target == opt_t::CODE)
- {
- out.wraw(tok, tok_len () - 1);
- // -1 so we don't write out the \0
- }
- if(cur == eof)
- {
- return Stop;
- }
- }
-#line 132 "src/parse/lex.cc"
-yy4:
- ++YYCURSOR;
-yy5:
-#line 213 "../src/parse/lex.re"
- {
- goto echo;
- }
-#line 140 "src/parse/lex.cc"
-yy6:
- yyaccept = 0;
- yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yybm[0+yych] & 32) {
- goto yy11;
- }
- if (yych == '#') goto yy14;
-yy7:
-#line 189 "../src/parse/lex.re"
- {
- if (ignore_eoc)
- {
- ignore_cnt++;
- }
- else if (opts->target == opt_t::CODE)
- {
- out.wraw(tok, tok_len ());
- }
- tok = pos = cur;
- cline++;
- goto echo;
- }
-#line 163 "src/parse/lex.cc"
-yy8:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '{') goto yy16;
- goto yy5;
-yy9:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '/') goto yy18;
- goto yy5;
-yy10:
- yyaccept = 1;
- yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == '*') goto yy20;
- goto yy5;
-yy11:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = (YYCTYPE)*YYCURSOR;
- if (yybm[0+yych] & 32) {
- goto yy11;
- }
- if (yych == '#') goto yy14;
-yy13:
- YYCURSOR = YYMARKER;
- if (yyaccept <= 1) {
- if (yyaccept == 0) {
- goto yy7;
- } else {
- goto yy5;
- }
- } else {
- goto yy19;
- }
-yy14:
- ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
- yych = (YYCTYPE)*YYCURSOR;
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy14;
- goto yy13;
- } else {
- if (yych <= ' ') goto yy14;
- if (yych == 'l') goto yy21;
- goto yy13;
- }
-yy16:
- ++YYCURSOR;
-#line 78 "../src/parse/lex.re"
- {
- if (opts->rFlag)
- {
- fatal("found standard 're2c' block while using -r flag");
- }
- if (opts->target == opt_t::CODE)
- {
- const size_t lexeme_len = cur[-1] == '{'
- ? sizeof ("%{") - 1
- : sizeof ("/*!re2c") - 1;
- out.wraw(tok, tok_len () - lexeme_len);
- }
- tok = cur;
- return Parse;
- }
-#line 226 "src/parse/lex.cc"
-yy18:
- yyaccept = 2;
- yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == '\n') goto yy22;
- if (yych == '\r') goto yy24;
-yy19:
-#line 168 "../src/parse/lex.re"
- {
- if (ignore_eoc)
- {
- if (ignore_cnt)
- {
- out.ws("\n").wline_info (cline, get_fname ().c_str ());
- }
- ignore_eoc = false;
- ignore_cnt = 0;
- }
- else if (opts->target == opt_t::CODE)
- {
- out.wraw(tok, tok_len ());
- }
- tok = pos = cur;
- goto echo;
- }
-#line 251 "src/parse/lex.cc"
-yy20:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '!') goto yy25;
- goto yy13;
-yy21:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy26;
- goto yy13;
-yy22:
- ++YYCURSOR;
-#line 150 "../src/parse/lex.re"
- {
- cline++;
- if (ignore_eoc)
- {
- if (ignore_cnt)
- {
- out.wline_info (cline, get_fname ().c_str ());
- }
- ignore_eoc = false;
- ignore_cnt = 0;
- }
- else if (opts->target == opt_t::CODE)
- {
- out.wraw(tok, tok_len ());
- }
- tok = pos = cur;
- goto echo;
- }
-#line 281 "src/parse/lex.cc"
-yy24:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '\n') goto yy22;
- goto yy13;
-yy25:
- yych = (YYCTYPE)*++YYCURSOR;
- switch (yych) {
- case 'g': goto yy27;
- case 'i': goto yy28;
- case 'm': goto yy29;
- case 'r': goto yy30;
- case 't': goto yy31;
- case 'u': goto yy32;
- default: goto yy13;
- }
-yy26:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy33;
- goto yy13;
-yy27:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy34;
- goto yy13;
-yy28:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'g') goto yy35;
- goto yy13;
-yy29:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy36;
- goto yy13;
-yy30:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy37;
- if (yych == 'u') goto yy38;
- goto yy13;
-yy31:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'y') goto yy39;
- goto yy13;
-yy32:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy40;
- goto yy13;
-yy33:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy41;
- goto yy13;
-yy34:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy42;
- goto yy13;
-yy35:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy43;
- goto yy13;
-yy36:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'x') goto yy44;
- goto yy13;
-yy37:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '2') goto yy45;
- goto yy13;
-yy38:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'l') goto yy46;
- goto yy13;
-yy39:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'p') goto yy47;
- goto yy13;
-yy40:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy48;
- goto yy13;
-yy41:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= '0') goto yy50;
- if (yych <= '9') goto yy13;
- goto yy50;
-yy42:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy51;
- goto yy13;
-yy43:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'o') goto yy52;
- goto yy13;
-yy44:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == ':') goto yy53;
- goto yy13;
-yy45:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy16;
- goto yy13;
-yy46:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy54;
- goto yy13;
-yy47:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy55;
- goto yy13;
-yy48:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == ':') goto yy56;
- goto yy13;
-yy49:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = (YYCTYPE)*YYCURSOR;
- YYCTXMARKER = YYCURSOR;
-yy50:
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy49;
- goto yy13;
- } else {
- if (yych <= ' ') goto yy49;
- if (yych <= '0') goto yy13;
- if (yych <= '9') goto yy57;
- goto yy13;
- }
-yy51:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy59;
- goto yy13;
-yy52:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy60;
- goto yy13;
-yy53:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy61;
- goto yy13;
-yy54:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy62;
- goto yy13;
-yy55:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 's') goto yy63;
- goto yy13;
-yy56:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy64;
- goto yy13;
-yy57:
- ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
- yych = (YYCTYPE)*YYCURSOR;
- if (yybm[0+yych] & 64) {
- goto yy57;
- }
- if (yych <= '\f') {
- if (yych <= 0x08) goto yy13;
- if (yych <= '\t') goto yy65;
- if (yych <= '\n') goto yy67;
- goto yy13;
- } else {
- if (yych <= '\r') goto yy69;
- if (yych == ' ') goto yy65;
- goto yy13;
- }
-yy59:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'a') goto yy70;
- goto yy13;
-yy60:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy71;
- goto yy13;
-yy61:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy72;
- goto yy13;
-yy62:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == ':') goto yy73;
- goto yy13;
-yy63:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == ':') goto yy74;
- goto yy13;
-yy64:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy75;
- goto yy13;
-yy65:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = (YYCTYPE)*YYCURSOR;
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy65;
- goto yy13;
- } else {
- if (yych <= ' ') goto yy65;
- if (yych == '"') goto yy76;
- goto yy13;
- }
-yy67:
- ++YYCURSOR;
- YYCURSOR = YYCTXMARKER;
-#line 185 "../src/parse/lex.re"
- {
- set_sourceline ();
- goto echo;
- }
-#line 491 "src/parse/lex.cc"
-yy69:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '\n') goto yy67;
- goto yy13;
-yy70:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 't') goto yy78;
- goto yy13;
-yy71:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == ':') goto yy79;
- goto yy13;
-yy72:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '2') goto yy80;
- goto yy13;
-yy73:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy81;
- goto yy13;
-yy74:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy82;
- goto yy13;
-yy75:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '2') goto yy83;
- goto yy13;
-yy76:
- ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
- yych = (YYCTYPE)*YYCURSOR;
- if (yybm[0+yych] & 128) {
- goto yy76;
- }
- if (yych <= '\n') goto yy13;
- if (yych <= '"') goto yy84;
- goto yy85;
-yy78:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy86;
- goto yy13;
-yy79:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy87;
- goto yy13;
-yy80:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy88;
- goto yy13;
-yy81:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy90;
- goto yy13;
-yy82:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy91;
- goto yy13;
-yy83:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy92;
- goto yy13;
-yy84:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '\n') goto yy67;
- if (yych == '\r') goto yy69;
- goto yy13;
-yy85:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = (YYCTYPE)*YYCURSOR;
- if (yych == '\n') goto yy13;
- goto yy76;
-yy86:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == ':') goto yy94;
- goto yy13;
-yy87:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy95;
- goto yy13;
-yy88:
- ++YYCURSOR;
-#line 119 "../src/parse/lex.re"
- {
- if (opts->target != opt_t::DOT)
- {
- out.wdelay_yymaxfill ();
- }
- tok = pos = cur;
- ignore_eoc = true;
- goto echo;
- }
-#line 585 "src/parse/lex.cc"
-yy90:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '2') goto yy96;
- goto yy13;
-yy91:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '2') goto yy97;
- goto yy13;
-yy92:
- ++YYCURSOR;
-#line 105 "../src/parse/lex.re"
- {
- if (!opts->rFlag)
- {
- fatal("found 'use:re2c' block without -r flag");
- }
- reuse();
- if (opts->target == opt_t::CODE)
- {
- const size_t lexeme_len = sizeof ("/*!use:re2c") - 1;
- out.wraw(tok, tok_len () - lexeme_len);
- }
- tok = cur;
- return Reuse;
- }
-#line 611 "src/parse/lex.cc"
-yy94:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'r') goto yy98;
- goto yy13;
-yy95:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '2') goto yy99;
- goto yy13;
-yy96:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy100;
- goto yy13;
-yy97:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy102;
- goto yy13;
-yy98:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy104;
- goto yy13;
-yy99:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'c') goto yy105;
- goto yy13;
-yy100:
- ++YYCURSOR;
-#line 93 "../src/parse/lex.re"
- {
- if (opts->rFlag)
- {
- opts.reset_mapCodeName ();
- }
- else
- {
- fatal("found 'rules:re2c' block without -r flag");
- }
- tok = cur;
- return Rules;
- }
-#line 651 "src/parse/lex.cc"
-yy102:
- ++YYCURSOR;
-#line 139 "../src/parse/lex.re"
- {
- tok = pos = cur;
- ignore_eoc = true;
- if (opts->target != opt_t::DOT)
- {
- out.wdelay_line_info ().ws("\n")
- .wdelay_types ().ws("\n")
- .wline_info (cline, get_fname ().c_str ());
- }
- goto echo;
- }
-#line 666 "src/parse/lex.cc"
-yy104:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '2') goto yy107;
- goto yy13;
-yy105:
- ++YYCURSOR;
-#line 134 "../src/parse/lex.re"
- {
- tok = pos = cur;
- ignore_eoc = true;
- goto echo;
- }
-#line 679 "src/parse/lex.cc"
-yy107:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych != 'c') goto yy13;
- ++YYCURSOR;
-#line 128 "../src/parse/lex.re"
- {
- tok = pos = cur;
- out.wdelay_state_goto (opts->topIndent);
- ignore_eoc = true;
- goto echo;
- }
-#line 691 "src/parse/lex.cc"
-}
-#line 216 "../src/parse/lex.re"
-
-}
-
-int Scanner::scan()
-{
- uint32_t depth;
-
-scan:
- tchar = cur - pos;
- tline = cline;
- tok = cur;
- switch (lexer_state)
- {
- case LEX_NORMAL: goto start;
- case LEX_FLEX_NAME: goto flex_name;
- }
-
-start:
-
-#line 713 "src/parse/lex.cc"
-{
- YYCTYPE yych;
- unsigned int yyaccept = 0;
- static const unsigned char yybm[] = {
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 144, 0, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 144, 128, 0, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 224, 224, 224, 224, 224, 224, 224, 224,
- 224, 224, 128, 128, 128, 128, 128, 128,
- 128, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 128, 0, 128, 128, 160,
- 128, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 160, 160, 160, 160, 160,
- 160, 160, 160, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- };
- if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
- yych = (YYCTYPE)*YYCURSOR;
- if (yybm[0+yych] & 16) {
- goto yy114;
- }
- if (yych <= '9') {
- if (yych <= '&') {
- if (yych <= '\r') {
- if (yych <= 0x08) goto yy112;
- if (yych <= '\n') goto yy117;
- if (yych >= '\r') goto yy119;
- } else {
- if (yych <= '"') {
- if (yych >= '"') goto yy120;
- } else {
- if (yych == '%') goto yy122;
- }
- }
- } else {
- if (yych <= '+') {
- if (yych <= '\'') goto yy123;
- if (yych <= ')') goto yy125;
- if (yych <= '*') goto yy127;
- goto yy129;
- } else {
- if (yych <= '-') {
- if (yych <= ',') goto yy125;
- } else {
- if (yych <= '.') goto yy131;
- if (yych <= '/') goto yy133;
- goto yy134;
- }
- }
- }
- } else {
- if (yych <= '\\') {
- if (yych <= '>') {
- if (yych <= ':') goto yy135;
- if (yych == '<') goto yy136;
- goto yy125;
- } else {
- if (yych <= '@') {
- if (yych <= '?') goto yy129;
- } else {
- if (yych <= 'Z') goto yy134;
- if (yych <= '[') goto yy137;
- goto yy125;
- }
- }
- } else {
- if (yych <= 'q') {
- if (yych == '_') goto yy134;
- if (yych >= 'a') goto yy134;
- } else {
- if (yych <= 'z') {
- if (yych <= 'r') goto yy139;
- goto yy134;
- } else {
- if (yych <= '{') goto yy140;
- if (yych <= '|') goto yy125;
- }
- }
- }
- }
-yy112:
- ++YYCURSOR;
-yy113:
-#line 388 "../src/parse/lex.re"
- {
- fatalf("unexpected character: '%c'", *tok);
- goto scan;
- }
-#line 823 "src/parse/lex.cc"
-yy114:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = (YYCTYPE)*YYCURSOR;
- if (yybm[0+yych] & 16) {
- goto yy114;
- }
-#line 372 "../src/parse/lex.re"
- {
- goto scan;
- }
-#line 835 "src/parse/lex.cc"
-yy117:
- yyaccept = 0;
- yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy142;
- } else {
- if (yych <= ' ') goto yy142;
- if (yych == '#') goto yy145;
- }
-yy118:
-#line 381 "../src/parse/lex.re"
- {
- if (cur == eof) return 0;
- pos = cur;
- cline++;
- goto scan;
- }
-#line 853 "src/parse/lex.cc"
-yy119:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '\n') goto yy117;
- goto yy113;
-yy120:
- ++YYCURSOR;
-#line 265 "../src/parse/lex.re"
- { yylval.regexp = lex_str('"', opts->bCaseInsensitive || opts->bCaseInverted); return TOKEN_REGEXP; }
-#line 862 "src/parse/lex.cc"
-yy122:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '}') goto yy147;
- goto yy113;
-yy123:
- ++YYCURSOR;
-#line 264 "../src/parse/lex.re"
- { yylval.regexp = lex_str('\'', opts->bCaseInsensitive || !opts->bCaseInverted); return TOKEN_REGEXP; }
-#line 871 "src/parse/lex.cc"
-yy125:
- ++YYCURSOR;
-yy126:
-#line 275 "../src/parse/lex.re"
- {
- return *tok;
- }
-#line 879 "src/parse/lex.cc"
-yy127:
- ++YYCURSOR;
- if ((yych = (YYCTYPE)*YYCURSOR) == '/') goto yy147;
-#line 279 "../src/parse/lex.re"
- {
- yylval.op = *tok;
- return TOKEN_STAR;
- }
-#line 888 "src/parse/lex.cc"
-yy129:
- ++YYCURSOR;
-#line 283 "../src/parse/lex.re"
- {
- yylval.op = *tok;
- return TOKEN_CLOSE;
- }
-#line 896 "src/parse/lex.cc"
-yy131:
- ++YYCURSOR;
-#line 367 "../src/parse/lex.re"
- {
- yylval.regexp = mkDot();
- return TOKEN_REGEXP;
- }
-#line 904 "src/parse/lex.cc"
-yy133:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '*') goto yy149;
- if (yych == '/') goto yy151;
- goto yy126;
-yy134:
- yych = (YYCTYPE)*++YYCURSOR;
- YYCTXMARKER = YYCURSOR;
- goto yy159;
-yy135:
- yych = (YYCTYPE)*++YYCURSOR;
- YYCTXMARKER = YYCURSOR;
- if (yych == '=') goto yy160;
- goto yy113;
-yy136:
- yyaccept = 1;
- yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == '!') goto yy162;
- if (yych == '>') goto yy164;
- goto yy126;
-yy137:
- ++YYCURSOR;
- if ((yych = (YYCTYPE)*YYCURSOR) == '^') goto yy165;
-#line 266 "../src/parse/lex.re"
- { yylval.regexp = lex_cls(false); return TOKEN_REGEXP; }
-#line 930 "src/parse/lex.cc"
-yy139:
- yych = (YYCTYPE)*++YYCURSOR;
- YYCTXMARKER = YYCURSOR;
- if (yych == 'e') goto yy167;
- goto yy159;
-yy140:
- yyaccept = 2;
- yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yybm[0+yych] & 64) {
- goto yy170;
- }
- if (yych <= 'Z') {
- if (yych == ',') goto yy168;
- if (yych >= 'A') goto yy172;
- } else {
- if (yych <= '_') {
- if (yych >= '_') goto yy172;
- } else {
- if (yych <= '`') goto yy141;
- if (yych <= 'z') goto yy172;
- }
- }
-yy141:
-#line 235 "../src/parse/lex.re"
- {
- depth = 1;
- goto code;
- }
-#line 959 "src/parse/lex.cc"
-yy142:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = (YYCTYPE)*YYCURSOR;
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy142;
- } else {
- if (yych <= ' ') goto yy142;
- if (yych == '#') goto yy145;
- }
-yy144:
- YYCURSOR = YYMARKER;
- if (yyaccept <= 1) {
- if (yyaccept == 0) {
- goto yy118;
- } else {
- goto yy126;
- }
- } else {
- if (yyaccept == 2) {
- goto yy141;
- } else {
- goto yy169;
- }
- }
-yy145:
- ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
- yych = (YYCTYPE)*YYCURSOR;
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy145;
- goto yy144;
- } else {
- if (yych <= ' ') goto yy145;
- if (yych == 'l') goto yy174;
- goto yy144;
- }
-yy147:
- ++YYCURSOR;
-#line 259 "../src/parse/lex.re"
- {
- tok = cur;
- return 0;
- }
-#line 1004 "src/parse/lex.cc"
-yy149:
- ++YYCURSOR;
-#line 253 "../src/parse/lex.re"
- {
- depth = 1;
- goto comment;
- }
-#line 1012 "src/parse/lex.cc"
-yy151:
- ++YYCURSOR;
-#line 250 "../src/parse/lex.re"
- {
- goto nextLine;
- }
-#line 1019 "src/parse/lex.cc"
-yy153:
- ++YYCURSOR;
- YYCURSOR = YYCTXMARKER;
-#line 351 "../src/parse/lex.re"
- {
- if (!opts->FFlag) {
- yylval.str = new std::string (tok, tok_len());
- return TOKEN_ID;
- } else {
- RegExp *r = NULL;
- const bool casing = opts->bCaseInsensitive || opts->bCaseInverted;
- for (char *s = tok; s < cur; ++s) {
- const uint32_t c = static_cast<uint8_t>(*s);
- r = doCat(r, casing ? ichr(c) : schr(c));
- }
- yylval.regexp = r ? r : new NullOp;
- return TOKEN_REGEXP;
- }
- }
-#line 1039 "src/parse/lex.cc"
-yy155:
- yych = (YYCTYPE)*++YYCURSOR;
- goto yy178;
-yy156:
- ++YYCURSOR;
- YYCURSOR = YYCTXMARKER;
-#line 346 "../src/parse/lex.re"
- {
- yylval.str = new std::string (tok, tok_len ());
- return TOKEN_ID;
- }
-#line 1051 "src/parse/lex.cc"
-yy158:
- ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
- yych = (YYCTYPE)*YYCURSOR;
- YYCTXMARKER = YYCURSOR;
-yy159:
- if (yybm[0+yych] & 32) {
- goto yy158;
- }
- if (yych <= ' ') {
- if (yych == '\t') goto yy155;
- if (yych <= 0x1F) goto yy153;
- goto yy155;
- } else {
- if (yych <= ',') {
- if (yych <= '+') goto yy153;
- goto yy156;
- } else {
- if (yych <= '<') goto yy153;
- if (yych <= '>') goto yy156;
- goto yy153;
- }
- }
-yy160:
- ++YYCURSOR;
- if ((yych = (YYCTYPE)*YYCURSOR) == '>') goto yy179;
-#line 244 "../src/parse/lex.re"
- {
- tok += 2; /* skip ":=" */
- depth = 0;
- goto code;
- }
-#line 1084 "src/parse/lex.cc"
-yy162:
- ++YYCURSOR;
-#line 272 "../src/parse/lex.re"
- {
- return TOKEN_SETUP;
- }
-#line 1091 "src/parse/lex.cc"
-yy164:
- yych = (YYCTYPE)*++YYCURSOR;
- YYCTXMARKER = YYCURSOR;
- goto yy182;
-yy165:
- ++YYCURSOR;
-#line 267 "../src/parse/lex.re"
- { yylval.regexp = lex_cls(true); return TOKEN_REGEXP; }
-#line 1100 "src/parse/lex.cc"
-yy167:
- yych = (YYCTYPE)*++YYCURSOR;
- YYCTXMARKER = YYCURSOR;
- if (yych == '2') goto yy187;
- goto yy159;
-yy168:
- ++YYCURSOR;
-yy169:
-#line 319 "../src/parse/lex.re"
- {
- fatal("illegal closure form, use '{n}', '{n,}', '{n,m}' where n and m are numbers");
- }
-#line 1113 "src/parse/lex.cc"
-yy170:
- ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
- yych = (YYCTYPE)*YYCURSOR;
- if (yybm[0+yych] & 64) {
- goto yy170;
- }
- if (yych <= '^') {
- if (yych <= ',') {
- if (yych <= '+') goto yy144;
- goto yy188;
- } else {
- if (yych <= '@') goto yy144;
- if (yych >= '[') goto yy144;
- }
- } else {
- if (yych <= 'z') {
- if (yych == '`') goto yy144;
- } else {
- if (yych == '}') goto yy189;
- goto yy144;
- }
- }
-yy172:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = (YYCTYPE)*YYCURSOR;
- if (yych <= '^') {
- if (yych <= '9') {
- if (yych <= '/') goto yy144;
- goto yy172;
- } else {
- if (yych <= '@') goto yy144;
- if (yych <= 'Z') goto yy172;
- goto yy144;
- }
- } else {
- if (yych <= 'z') {
- if (yych == '`') goto yy144;
- goto yy172;
- } else {
- if (yych == '}') goto yy191;
- goto yy144;
- }
- }
-yy174:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'i') goto yy193;
- goto yy144;
-yy175:
- ++YYCURSOR;
- YYCURSOR = YYCTXMARKER;
-#line 333 "../src/parse/lex.re"
- {
- yylval.str = new std::string (tok, tok_len ());
- if (opts->FFlag)
- {
- lexer_state = LEX_FLEX_NAME;
- return TOKEN_FID;
- }
- else
- {
- return TOKEN_ID;
- }
- }
-#line 1179 "src/parse/lex.cc"
-yy177:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = (YYCTYPE)*YYCURSOR;
-yy178:
- if (yych <= ' ') {
- if (yych == '\t') goto yy177;
- if (yych <= 0x1F) goto yy175;
- goto yy177;
- } else {
- if (yych <= ',') {
- if (yych <= '+') goto yy175;
- goto yy156;
- } else {
- if (yych <= '<') goto yy175;
- if (yych <= '>') goto yy156;
- goto yy175;
- }
- }
-yy179:
- ++YYCURSOR;
- YYCURSOR = YYCTXMARKER;
-#line 240 "../src/parse/lex.re"
- {
- return *tok;
- }
-#line 1206 "src/parse/lex.cc"
-yy181:
- ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
- yych = (YYCTYPE)*YYCURSOR;
-yy182:
- if (yych <= '9') {
- if (yych <= '\t') {
- if (yych <= 0x08) goto yy144;
- goto yy181;
- } else {
- if (yych == ' ') goto yy181;
- goto yy144;
- }
- } else {
- if (yych <= '=') {
- if (yych <= ':') goto yy183;
- if (yych <= '<') goto yy144;
- goto yy184;
- } else {
- if (yych == '{') goto yy185;
- goto yy144;
- }
- }
-yy183:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '=') goto yy185;
- goto yy144;
-yy184:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych != '>') goto yy144;
-yy185:
- ++YYCURSOR;
- YYCURSOR = YYCTXMARKER;
-#line 269 "../src/parse/lex.re"
- {
- return TOKEN_NOCOND;
- }
-#line 1244 "src/parse/lex.cc"
-yy187:
- yych = (YYCTYPE)*++YYCURSOR;
- YYCTXMARKER = YYCURSOR;
- if (yych == 'c') goto yy194;
- goto yy159;
-yy188:
- yyaccept = 3;
- yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych <= '/') goto yy169;
- if (yych <= '9') goto yy195;
- if (yych == '}') goto yy197;
- goto yy169;
-yy189:
- ++YYCURSOR;
-#line 288 "../src/parse/lex.re"
- {
- if (!s_to_u32_unsafe (tok + 1, cur - 1, yylval.extop.min))
- {
- fatal ("repetition count overflow");
- }
- yylval.extop.max = yylval.extop.min;
- return TOKEN_CLOSESIZE;
- }
-#line 1268 "src/parse/lex.cc"
-yy191:
- ++YYCURSOR;
-#line 323 "../src/parse/lex.re"
- {
- if (!opts->FFlag) {
- fatal("curly braces for names only allowed with -F switch");
- }
- yylval.str = new std::string (tok + 1, tok_len () - 2); // -2 to omit braces
- return TOKEN_ID;
- }
-#line 1279 "src/parse/lex.cc"
-yy193:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'n') goto yy199;
- goto yy144;
-yy194:
- yych = (YYCTYPE)*++YYCURSOR;
- YYCTXMARKER = YYCURSOR;
- if (yych == ':') goto yy200;
- goto yy159;
-yy195:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = (YYCTYPE)*YYCURSOR;
- if (yych <= '/') goto yy144;
- if (yych <= '9') goto yy195;
- if (yych == '}') goto yy202;
- goto yy144;
-yy197:
- ++YYCURSOR;
-#line 310 "../src/parse/lex.re"
- {
- if (!s_to_u32_unsafe (tok + 1, cur - 2, yylval.extop.min))
- {
- fatal ("repetition lower bound overflow");
- }
- yylval.extop.max = std::numeric_limits<uint32_t>::max();
- return TOKEN_CLOSESIZE;
- }
-#line 1308 "src/parse/lex.cc"
-yy199:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == 'e') goto yy204;
- goto yy144;
-yy200:
- ++YYCURSOR;
-#line 331 "../src/parse/lex.re"
- { lex_conf (); return TOKEN_CONF; }
-#line 1317 "src/parse/lex.cc"
-yy202:
- ++YYCURSOR;
-#line 297 "../src/parse/lex.re"
- {
- const char * p = strchr (tok, ',');
- if (!s_to_u32_unsafe (tok + 1, p, yylval.extop.min))
- {
- fatal ("repetition lower bound overflow");
- }
- if (!s_to_u32_unsafe (p + 1, cur - 1, yylval.extop.max))
- {
- fatal ("repetition upper bound overflow");
- }
- return TOKEN_CLOSESIZE;
- }
-#line 1333 "src/parse/lex.cc"
-yy204:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= '0') goto yy206;
- if (yych <= '9') goto yy144;
- goto yy206;
-yy205:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = (YYCTYPE)*YYCURSOR;
- YYCTXMARKER = YYCURSOR;
-yy206:
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy205;
- goto yy144;
- } else {
- if (yych <= ' ') goto yy205;
- if (yych <= '0') goto yy144;
- if (yych >= ':') goto yy144;
- }
-yy207:
- ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
- yych = (YYCTYPE)*YYCURSOR;
- if (yych <= '\r') {
- if (yych <= '\t') {
- if (yych <= 0x08) goto yy144;
- } else {
- if (yych <= '\n') goto yy211;
- if (yych <= '\f') goto yy144;
- goto yy213;
- }
- } else {
- if (yych <= ' ') {
- if (yych <= 0x1F) goto yy144;
- } else {
- if (yych <= '/') goto yy144;
- if (yych <= '9') goto yy207;
- goto yy144;
- }
- }
-yy209:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = (YYCTYPE)*YYCURSOR;
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy209;
- goto yy144;
- } else {
- if (yych <= ' ') goto yy209;
- if (yych == '"') goto yy214;
- goto yy144;
- }
-yy211:
- ++YYCURSOR;
- YYCURSOR = YYCTXMARKER;
-#line 376 "../src/parse/lex.re"
- {
- set_sourceline ();
- goto scan;
- }
-#line 1394 "src/parse/lex.cc"
-yy213:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '\n') goto yy211;
- goto yy144;
-yy214:
- ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
- yych = (YYCTYPE)*YYCURSOR;
- if (yybm[0+yych] & 128) {
- goto yy214;
- }
- if (yych <= '\n') goto yy144;
- if (yych >= '#') goto yy217;
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '\n') goto yy211;
- if (yych == '\r') goto yy213;
- goto yy144;
-yy217:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = (YYCTYPE)*YYCURSOR;
- if (yych == '\n') goto yy144;
- goto yy214;
-}
-#line 392 "../src/parse/lex.re"
-
-
-flex_name:
-
-#line 1424 "src/parse/lex.cc"
-{
- YYCTYPE yych;
- if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
- yych = (YYCTYPE)*YYCURSOR;
- if (yych == '\n') goto yy222;
- if (yych == '\r') goto yy224;
- ++YYCURSOR;
-yy221:
-#line 403 "../src/parse/lex.re"
- {
- YYCURSOR = tok;
- goto start;
- }
-#line 1438 "src/parse/lex.cc"
-yy222:
- ++YYCURSOR;
-#line 397 "../src/parse/lex.re"
- {
- YYCURSOR = tok;
- lexer_state = LEX_NORMAL;
- return TOKEN_FID_END;
- }
-#line 1447 "src/parse/lex.cc"
-yy224:
- ++YYCURSOR;
- if ((yych = (YYCTYPE)*YYCURSOR) == '\n') goto yy222;
- goto yy221;
-}
-#line 407 "../src/parse/lex.re"
-
-
-code:
-
-#line 1458 "src/parse/lex.cc"
-{
- YYCTYPE yych;
- unsigned int yyaccept = 0;
- static const unsigned char yybm[] = {
- 96, 96, 96, 96, 96, 96, 96, 96,
- 96, 112, 0, 96, 96, 96, 96, 96,
- 96, 96, 96, 96, 96, 96, 96, 96,
- 96, 96, 96, 96, 96, 96, 96, 96,
- 112, 96, 64, 96, 96, 96, 96, 32,
- 96, 96, 96, 96, 96, 96, 96, 96,
- 224, 224, 224, 224, 224, 224, 224, 224,
- 224, 224, 96, 96, 96, 96, 96, 96,
- 96, 96, 96, 96, 96, 96, 96, 96,
- 96, 96, 96, 96, 96, 96, 96, 96,
- 96, 96, 96, 96, 96, 96, 96, 96,
- 96, 96, 96, 96, 0, 96, 96, 96,
- 96, 96, 96, 96, 96, 96, 96, 96,
- 96, 96, 96, 96, 96, 96, 96, 96,
- 96, 96, 96, 96, 96, 96, 96, 96,
- 96, 96, 96, 96, 96, 96, 96, 96,
- 96, 96, 96, 96, 96, 96, 96, 96,
- 96, 96, 96, 96, 96, 96, 96, 96,
- 96, 96, 96, 96, 96, 96, 96, 96,
- 96, 96, 96, 96, 96, 96, 96, 96,
- 96, 96, 96, 96, 96, 96, 96, 96,
- 96, 96, 96, 96, 96, 96, 96, 96,
- 96, 96, 96, 96, 96, 96, 96, 96,
- 96, 96, 96, 96, 96, 96, 96, 96,
- 96, 96, 96, 96, 96, 96, 96, 96,
- 96, 96, 96, 96, 96, 96, 96, 96,
- 96, 96, 96, 96, 96, 96, 96, 96,
- 96, 96, 96, 96, 96, 96, 96, 96,
- 96, 96, 96, 96, 96, 96, 96, 96,
- 96, 96, 96, 96, 96, 96, 96, 96,
- 96, 96, 96, 96, 96, 96, 96, 96,
- 96, 96, 96, 96, 96, 96, 96, 96,
- };
- if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
- yych = (YYCTYPE)*YYCURSOR;
- if (yych <= '&') {
- if (yych <= '\n') {
- if (yych <= 0x00) goto yy227;
- if (yych <= '\t') goto yy229;
- goto yy231;
- } else {
- if (yych == '"') goto yy233;
- goto yy229;
- }
- } else {
- if (yych <= '{') {
- if (yych <= '\'') goto yy234;
- if (yych <= 'z') goto yy229;
- goto yy235;
- } else {
- if (yych == '}') goto yy237;
- goto yy229;
- }
- }
-yy227:
- ++YYCURSOR;
-#line 470 "../src/parse/lex.re"
- {
- if (cur == eof)
- {
- if (depth)
- {
- fatal("missing '}'");
- }
- return 0;
- }
- goto code;
- }
-#line 1531 "src/parse/lex.cc"
-yy229:
- ++YYCURSOR;
-yy230:
-#line 484 "../src/parse/lex.re"
- {
- goto code;
- }
-#line 1539 "src/parse/lex.cc"
-yy231:
- yyaccept = 0;
- yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- YYCTXMARKER = YYCURSOR;
- if (yych <= '\r') {
- if (yych <= '\t') {
- if (yych >= '\t') goto yy239;
- } else {
- if (yych <= '\n') goto yy241;
- if (yych >= '\r') goto yy241;
- }
- } else {
- if (yych <= ' ') {
- if (yych >= ' ') goto yy239;
- } else {
- if (yych == '#') goto yy242;
- }
- }
-yy232:
-#line 451 "../src/parse/lex.re"
- {
- if (depth == 0)
- {
- tok += strspn(tok, " \t\r\n");
- while (cur > tok && strchr(" \t\r\n", cur[-1]))
- {
- --cur;
- }
- yylval.code = new Code (tok, tok_len (), get_fname (), tline);
- return TOKEN_CODE;
- }
- else if (cur == eof)
- {
- fatal("missing '}'");
- }
- pos = cur;
- cline++;
- goto code;
- }
-#line 1579 "src/parse/lex.cc"
-yy233:
- yyaccept = 1;
- yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == '\n') goto yy230;
- goto yy246;
-yy234:
- yyaccept = 1;
- yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == '\n') goto yy230;
- goto yy251;
-yy235:
- ++YYCURSOR;
-#line 423 "../src/parse/lex.re"
- {
- if (depth == 0)
- {
- fatal("Curly braces are not allowed after ':='");
- }
- else
- {
- ++depth;
- }
- goto code;
- }
-#line 1604 "src/parse/lex.cc"
-yy237:
- ++YYCURSOR;
-#line 411 "../src/parse/lex.re"
- {
- if (depth == 0)
- {
- fatal("Curly braces are not allowed after ':='");
- }
- else if (--depth == 0)
- {
- yylval.code = new Code (tok, tok_len (), get_fname (), tline);
- return TOKEN_CODE;
- }
- goto code;
- }
-#line 1620 "src/parse/lex.cc"
-yy239:
- yyaccept = 2;
- yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy253;
- } else {
- if (yych <= ' ') goto yy253;
- if (yych == '#') goto yy242;
- }
-yy240:
- YYCURSOR = YYCTXMARKER;
-#line 438 "../src/parse/lex.re"
- {
- if (depth == 0)
- {
- goto code;
- }
- else if (cur == eof)
- {
- fatal("missing '}'");
- }
- pos = cur;
- cline++;
- goto code;
- }
-#line 1646 "src/parse/lex.cc"
-yy241:
- yych = (YYCTYPE)*++YYCURSOR;
- goto yy240;
-yy242:
- ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
- yych = (YYCTYPE)*YYCURSOR;
- if (yybm[0+yych] & 16) {
- goto yy242;
- }
- if (yych == 'l') goto yy255;
-yy244:
- YYCURSOR = YYMARKER;
- if (yyaccept <= 1) {
- if (yyaccept == 0) {
- goto yy232;
- } else {
- goto yy230;
- }
- } else {
- goto yy240;
- }
-yy245:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = (YYCTYPE)*YYCURSOR;
-yy246:
- if (yybm[0+yych] & 32) {
- goto yy245;
- }
- if (yych <= '\n') goto yy244;
- if (yych >= '#') goto yy249;
-yy247:
- ++YYCURSOR;
-#line 481 "../src/parse/lex.re"
- {
- goto code;
- }
-#line 1685 "src/parse/lex.cc"
-yy249:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = (YYCTYPE)*YYCURSOR;
- if (yych == '\n') goto yy244;
- goto yy245;
-yy250:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = (YYCTYPE)*YYCURSOR;
-yy251:
- if (yybm[0+yych] & 64) {
- goto yy250;
- }
- if (yych <= '\n') goto yy244;
- if (yych <= '\'') goto yy247;
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = (YYCTYPE)*YYCURSOR;
- if (yych == '\n') goto yy244;
- goto yy250;
-yy253:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = (YYCTYPE)*YYCURSOR;
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy253;
- goto yy244;
- } else {
- if (yych <= ' ') goto yy253;
- if (yych == '#') goto yy242;
- goto yy244;
- }
-yy255:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych != 'i') goto yy244;
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych != 'n') goto yy244;
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych != 'e') goto yy244;
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= '0') goto yy260;
- if (yych <= '9') goto yy244;
- goto yy260;
-yy259:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = (YYCTYPE)*YYCURSOR;
- YYCTXMARKER = YYCURSOR;
-yy260:
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy259;
- goto yy244;
- } else {
- if (yych <= ' ') goto yy259;
- if (yych <= '0') goto yy244;
- if (yych >= ':') goto yy244;
- }
-yy261:
- ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
- yych = (YYCTYPE)*YYCURSOR;
- if (yybm[0+yych] & 128) {
- goto yy261;
- }
- if (yych <= '\f') {
- if (yych <= 0x08) goto yy244;
- if (yych <= '\t') goto yy263;
- if (yych <= '\n') goto yy265;
- goto yy244;
- } else {
- if (yych <= '\r') goto yy267;
- if (yych != ' ') goto yy244;
- }
-yy263:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = (YYCTYPE)*YYCURSOR;
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy263;
- goto yy244;
- } else {
- if (yych <= ' ') goto yy263;
- if (yych == '"') goto yy268;
- goto yy244;
- }
-yy265:
- ++YYCURSOR;
- YYCURSOR = YYCTXMARKER;
-#line 434 "../src/parse/lex.re"
- {
- set_sourceline ();
- goto code;
- }
-#line 1780 "src/parse/lex.cc"
-yy267:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '\n') goto yy265;
- goto yy244;
-yy268:
- ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
- yych = (YYCTYPE)*YYCURSOR;
- if (yych <= '!') {
- if (yych == '\n') goto yy244;
- goto yy268;
- } else {
- if (yych <= '"') goto yy270;
- if (yych == '\\') goto yy271;
- goto yy268;
- }
-yy270:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '\n') goto yy265;
- if (yych == '\r') goto yy267;
- goto yy244;
-yy271:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = (YYCTYPE)*YYCURSOR;
- if (yych == '\n') goto yy244;
- goto yy268;
-}
-#line 487 "../src/parse/lex.re"
-
-
-comment:
-
-#line 1814 "src/parse/lex.cc"
-{
- YYCTYPE yych;
- static const unsigned char yybm[] = {
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 160, 0, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 160, 128, 0, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 0, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- };
- if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
- yych = (YYCTYPE)*YYCURSOR;
- if (yych <= ')') {
- if (yych == '\n') goto yy276;
- } else {
- if (yych <= '*') goto yy278;
- if (yych == '/') goto yy279;
- }
- ++YYCURSOR;
-yy275:
-#line 519 "../src/parse/lex.re"
- {
- if (cur == eof)
- {
- return 0;
- }
- goto comment;
- }
-#line 1869 "src/parse/lex.cc"
-yy276:
- yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yybm[0+yych] & 32) {
- goto yy280;
- }
- if (yych == '#') goto yy283;
-yy277:
-#line 510 "../src/parse/lex.re"
- {
- if (cur == eof)
- {
- return 0;
- }
- tok = pos = cur;
- cline++;
- goto comment;
- }
-#line 1887 "src/parse/lex.cc"
-yy278:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '/') goto yy285;
- goto yy275;
-yy279:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '*') goto yy287;
- goto yy275;
-yy280:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = (YYCTYPE)*YYCURSOR;
- if (yybm[0+yych] & 32) {
- goto yy280;
- }
- if (yych == '#') goto yy283;
-yy282:
- YYCURSOR = YYMARKER;
- goto yy277;
-yy283:
- ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
- yych = (YYCTYPE)*YYCURSOR;
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy283;
- goto yy282;
- } else {
- if (yych <= ' ') goto yy283;
- if (yych == 'l') goto yy289;
- goto yy282;
- }
-yy285:
- ++YYCURSOR;
-#line 491 "../src/parse/lex.re"
- {
- if (--depth == 0)
- {
- goto scan;
- }
- else
- {
- goto comment;
- }
- }
-#line 1932 "src/parse/lex.cc"
-yy287:
- ++YYCURSOR;
-#line 501 "../src/parse/lex.re"
- {
- ++depth;
- fatal("ambiguous /* found");
- goto comment;
- }
-#line 1941 "src/parse/lex.cc"
-yy289:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych != 'i') goto yy282;
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych != 'n') goto yy282;
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych != 'e') goto yy282;
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= '0') goto yy294;
- if (yych <= '9') goto yy282;
- goto yy294;
-yy293:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = (YYCTYPE)*YYCURSOR;
- YYCTXMARKER = YYCURSOR;
-yy294:
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy293;
- goto yy282;
- } else {
- if (yych <= ' ') goto yy293;
- if (yych <= '0') goto yy282;
- if (yych >= ':') goto yy282;
- }
-yy295:
- ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
- yych = (YYCTYPE)*YYCURSOR;
- if (yybm[0+yych] & 64) {
- goto yy295;
- }
- if (yych <= '\f') {
- if (yych <= 0x08) goto yy282;
- if (yych <= '\t') goto yy297;
- if (yych <= '\n') goto yy299;
- goto yy282;
- } else {
- if (yych <= '\r') goto yy301;
- if (yych != ' ') goto yy282;
- }
-yy297:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = (YYCTYPE)*YYCURSOR;
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy297;
- goto yy282;
- } else {
- if (yych <= ' ') goto yy297;
- if (yych == '"') goto yy302;
- goto yy282;
- }
-yy299:
- ++YYCURSOR;
- YYCURSOR = YYCTXMARKER;
-#line 506 "../src/parse/lex.re"
- {
- set_sourceline ();
- goto comment;
- }
-#line 2003 "src/parse/lex.cc"
-yy301:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '\n') goto yy299;
- goto yy282;
-yy302:
- ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
- yych = (YYCTYPE)*YYCURSOR;
- if (yybm[0+yych] & 128) {
- goto yy302;
- }
- if (yych <= '\n') goto yy282;
- if (yych >= '#') goto yy305;
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych == '\n') goto yy299;
- if (yych == '\r') goto yy301;
- goto yy282;
-yy305:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = (YYCTYPE)*YYCURSOR;
- if (yych == '\n') goto yy282;
- goto yy302;
-}
-#line 526 "../src/parse/lex.re"
-
-
-nextLine:
-
-#line 2033 "src/parse/lex.cc"
-{
- YYCTYPE yych;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = (YYCTYPE)*YYCURSOR;
- if (yych == '\n') goto yy310;
- ++YYCURSOR;
-#line 537 "../src/parse/lex.re"
- { if(cur == eof) {
- return 0;
- }
- goto nextLine;
- }
-#line 2046 "src/parse/lex.cc"
-yy310:
- ++YYCURSOR;
-#line 530 "../src/parse/lex.re"
- { if(cur == eof) {
- return 0;
- }
- tok = pos = cur;
- cline++;
- goto scan;
- }
-#line 2057 "src/parse/lex.cc"
-}
-#line 542 "../src/parse/lex.re"
-
-}
-
-static void escape (std::string & dest, const std::string & src)
-{
- dest = src;
- size_t l = dest.length();
- for (size_t p = 0; p < l; ++p)
- {
- if (dest[p] == '\\')
- {
- dest.insert(++p, "\\");
- ++l;
- }
- }
-}
-
-RegExp *Scanner::lex_cls(bool neg)
-{
- Range *r = NULL, *s;
- uint32_t u, l;
-fst:
-
-#line 2083 "src/parse/lex.cc"
-{
- YYCTYPE yych;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = (YYCTYPE)*YYCURSOR;
- if (yych == ']') goto yy315;
-#line 566 "../src/parse/lex.re"
- { l = lex_cls_chr(); goto snd; }
-#line 2091 "src/parse/lex.cc"
-yy315:
- ++YYCURSOR;
-#line 565 "../src/parse/lex.re"
- { goto end; }
-#line 2096 "src/parse/lex.cc"
-}
-#line 567 "../src/parse/lex.re"
-
-snd:
-
-#line 2102 "src/parse/lex.cc"
-{
- YYCTYPE yych;
- if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
- yych = (YYCTYPE)*(YYMARKER = YYCURSOR);
- if (yych == '-') goto yy320;
-yy319:
-#line 570 "../src/parse/lex.re"
- { u = l; goto add; }
-#line 2111 "src/parse/lex.cc"
-yy320:
- yych = (YYCTYPE)*++YYCURSOR;
- YYCTXMARKER = YYCURSOR;
- if (yych != ']') goto yy322;
- YYCURSOR = YYMARKER;
- goto yy319;
-yy322:
- ++YYCURSOR;
- YYCURSOR = YYCTXMARKER;
-#line 571 "../src/parse/lex.re"
- {
- u = lex_cls_chr();
- if (l > u) {
- warn.swapped_range(get_line(), l, u);
- std::swap(l, u);
- }
- goto add;
- }
-#line 2130 "src/parse/lex.cc"
-}
-#line 579 "../src/parse/lex.re"
-
-add:
- if (!(s = opts->encoding.encodeRange(l, u))) {
- fatalf ("Bad code point range: '0x%X - 0x%X'", l, u);
- }
- r = Range::add(r, s);
- goto fst;
-end:
- if (neg) {
- r = Range::sub(opts->encoding.fullRange(), r);
- }
- return cls(r);
-}
-
-uint32_t Scanner::lex_cls_chr()
-{
- tok = cur;
-
-#line 2151 "src/parse/lex.cc"
-{
- YYCTYPE yych;
- unsigned int yyaccept = 0;
- if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10);
- yych = (YYCTYPE)*YYCURSOR;
- if (yych == '\n') goto yy328;
- if (yych == '\\') goto yy330;
- ++YYCURSOR;
-#line 602 "../src/parse/lex.re"
- { return static_cast<uint8_t>(tok[0]); }
-#line 2162 "src/parse/lex.cc"
-yy328:
- ++YYCURSOR;
-#line 597 "../src/parse/lex.re"
- { fatal ((tok - pos) - tchar, "syntax error"); }
-#line 2167 "src/parse/lex.cc"
-yy330:
- ++YYCURSOR;
- if ((yych = (YYCTYPE)*YYCURSOR) <= '`') {
- if (yych <= '7') {
- if (yych <= ',') {
- if (yych != '\n') goto yy332;
- } else {
- if (yych <= '-') goto yy334;
- if (yych <= '/') goto yy332;
- if (yych <= '3') goto yy336;
- goto yy338;
- }
- } else {
- if (yych <= 'X') {
- if (yych == 'U') goto yy339;
- if (yych <= 'W') goto yy332;
- goto yy341;
- } else {
- if (yych <= '[') goto yy332;
- if (yych <= '\\') goto yy342;
- if (yych <= ']') goto yy344;
- goto yy332;
- }
- }
- } else {
- if (yych <= 'q') {
- if (yych <= 'e') {
- if (yych <= 'a') goto yy346;
- if (yych <= 'b') goto yy348;
- goto yy332;
- } else {
- if (yych <= 'f') goto yy350;
- if (yych == 'n') goto yy352;
- goto yy332;
- }
- } else {
- if (yych <= 'u') {
- if (yych <= 'r') goto yy354;
- if (yych <= 's') goto yy332;
- if (yych <= 't') goto yy356;
- goto yy341;
- } else {
- if (yych <= 'v') goto yy358;
- if (yych == 'x') goto yy360;
- goto yy332;
- }
- }
- }
-#line 600 "../src/parse/lex.re"
- { fatal ((tok - pos) - tchar, "syntax error in escape sequence"); }
-#line 2218 "src/parse/lex.cc"
-yy332:
- ++YYCURSOR;
-#line 615 "../src/parse/lex.re"
- {
- warn.useless_escape(tline, tok - pos, tok[1]);
- return static_cast<uint8_t>(tok[1]);
- }
-#line 2226 "src/parse/lex.cc"
-yy334:
- ++YYCURSOR;
-#line 613 "../src/parse/lex.re"
- { return static_cast<uint8_t>('-'); }
-#line 2231 "src/parse/lex.cc"
-yy336:
- yyaccept = 0;
- yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych <= '/') goto yy337;
- if (yych <= '7') goto yy361;
-yy337:
-#line 599 "../src/parse/lex.re"
- { fatal ((tok - pos) - tchar, "syntax error in octal escape sequence"); }
-#line 2240 "src/parse/lex.cc"
-yy338:
- yych = (YYCTYPE)*++YYCURSOR;
- goto yy337;
-yy339:
- yyaccept = 1;
- yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych <= '@') {
- if (yych <= '/') goto yy340;
- if (yych <= '9') goto yy363;
- } else {
- if (yych <= 'F') goto yy363;
- if (yych <= '`') goto yy340;
- if (yych <= 'f') goto yy363;
- }
-yy340:
-#line 598 "../src/parse/lex.re"
- { fatal ((tok - pos) - tchar, "syntax error in hexadecimal escape sequence"); }
-#line 2258 "src/parse/lex.cc"
-yy341:
- yyaccept = 1;
- yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych <= '@') {
- if (yych <= '/') goto yy340;
- if (yych <= '9') goto yy364;
- goto yy340;
- } else {
- if (yych <= 'F') goto yy364;
- if (yych <= '`') goto yy340;
- if (yych <= 'f') goto yy364;
- goto yy340;
- }
-yy342:
- ++YYCURSOR;
-#line 612 "../src/parse/lex.re"
- { return static_cast<uint8_t>('\\'); }
-#line 2276 "src/parse/lex.cc"
-yy344:
- ++YYCURSOR;
-#line 614 "../src/parse/lex.re"
- { return static_cast<uint8_t>(']'); }
-#line 2281 "src/parse/lex.cc"
-yy346:
- ++YYCURSOR;
-#line 605 "../src/parse/lex.re"
- { return static_cast<uint8_t>('\a'); }
-#line 2286 "src/parse/lex.cc"
-yy348:
- ++YYCURSOR;
-#line 606 "../src/parse/lex.re"
- { return static_cast<uint8_t>('\b'); }
-#line 2291 "src/parse/lex.cc"
-yy350:
- ++YYCURSOR;
-#line 607 "../src/parse/lex.re"
- { return static_cast<uint8_t>('\f'); }
-#line 2296 "src/parse/lex.cc"
-yy352:
- ++YYCURSOR;
-#line 608 "../src/parse/lex.re"
- { return static_cast<uint8_t>('\n'); }
-#line 2301 "src/parse/lex.cc"
-yy354:
- ++YYCURSOR;
-#line 609 "../src/parse/lex.re"
- { return static_cast<uint8_t>('\r'); }
-#line 2306 "src/parse/lex.cc"
-yy356:
- ++YYCURSOR;
-#line 610 "../src/parse/lex.re"
- { return static_cast<uint8_t>('\t'); }
-#line 2311 "src/parse/lex.cc"
-yy358:
- ++YYCURSOR;
-#line 611 "../src/parse/lex.re"
- { return static_cast<uint8_t>('\v'); }
-#line 2316 "src/parse/lex.cc"
-yy360:
- yyaccept = 1;
- yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych <= '@') {
- if (yych <= '/') goto yy340;
- if (yych <= '9') goto yy365;
- goto yy340;
- } else {
- if (yych <= 'F') goto yy365;
- if (yych <= '`') goto yy340;
- if (yych <= 'f') goto yy365;
- goto yy340;
- }
-yy361:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= '/') goto yy362;
- if (yych <= '7') goto yy366;
-yy362:
- YYCURSOR = YYMARKER;
- if (yyaccept == 0) {
- goto yy337;
- } else {
- goto yy340;
- }
-yy363:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= '@') {
- if (yych <= '/') goto yy362;
- if (yych <= '9') goto yy368;
- goto yy362;
- } else {
- if (yych <= 'F') goto yy368;
- if (yych <= '`') goto yy362;
- if (yych <= 'f') goto yy368;
- goto yy362;
- }
-yy364:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= '@') {
- if (yych <= '/') goto yy362;
- if (yych <= '9') goto yy369;
- goto yy362;
- } else {
- if (yych <= 'F') goto yy369;
- if (yych <= '`') goto yy362;
- if (yych <= 'f') goto yy369;
- goto yy362;
- }
-yy365:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= '@') {
- if (yych <= '/') goto yy362;
- if (yych <= '9') goto yy370;
- goto yy362;
- } else {
- if (yych <= 'F') goto yy370;
- if (yych <= '`') goto yy362;
- if (yych <= 'f') goto yy370;
- goto yy362;
- }
-yy366:
- ++YYCURSOR;
-#line 604 "../src/parse/lex.re"
- { return unesc_oct(tok, cur); }
-#line 2381 "src/parse/lex.cc"
-yy368:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= '@') {
- if (yych <= '/') goto yy362;
- if (yych <= '9') goto yy372;
- goto yy362;
- } else {
- if (yych <= 'F') goto yy372;
- if (yych <= '`') goto yy362;
- if (yych <= 'f') goto yy372;
- goto yy362;
- }
-yy369:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= '@') {
- if (yych <= '/') goto yy362;
- if (yych <= '9') goto yy365;
- goto yy362;
- } else {
- if (yych <= 'F') goto yy365;
- if (yych <= '`') goto yy362;
- if (yych <= 'f') goto yy365;
- goto yy362;
- }
-yy370:
- ++YYCURSOR;
-#line 603 "../src/parse/lex.re"
- { return unesc_hex(tok, cur); }
-#line 2410 "src/parse/lex.cc"
-yy372:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= '@') {
- if (yych <= '/') goto yy362;
- if (yych >= ':') goto yy362;
- } else {
- if (yych <= 'F') goto yy373;
- if (yych <= '`') goto yy362;
- if (yych >= 'g') goto yy362;
- }
-yy373:
- ++YYCURSOR;
- if ((yych = (YYCTYPE)*YYCURSOR) <= '@') {
- if (yych <= '/') goto yy362;
- if (yych <= '9') goto yy364;
- goto yy362;
- } else {
- if (yych <= 'F') goto yy364;
- if (yych <= '`') goto yy362;
- if (yych <= 'f') goto yy364;
- goto yy362;
- }
-}
-#line 619 "../src/parse/lex.re"
-
-}
-
-uint32_t Scanner::lex_str_chr(char quote, bool &end)
-{
- end = false;
- tok = cur;
-
-#line 2443 "src/parse/lex.cc"
-{
- YYCTYPE yych;
- unsigned int yyaccept = 0;
- if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10);
- yych = (YYCTYPE)*YYCURSOR;
- if (yych == '\n') goto yy378;
- if (yych == '\\') goto yy380;
- ++YYCURSOR;
-#line 632 "../src/parse/lex.re"
- {
- end = tok[0] == quote;
- return static_cast<uint8_t>(tok[0]);
- }
-#line 2457 "src/parse/lex.cc"
-yy378:
- ++YYCURSOR;
-#line 627 "../src/parse/lex.re"
- { fatal ((tok - pos) - tchar, "syntax error"); }
-#line 2462 "src/parse/lex.cc"
-yy380:
- ++YYCURSOR;
- if ((yych = (YYCTYPE)*YYCURSOR) <= 'a') {
- if (yych <= 'T') {
- if (yych <= '/') {
- if (yych != '\n') goto yy382;
- } else {
- if (yych <= '3') goto yy384;
- if (yych <= '7') goto yy386;
- goto yy382;
- }
- } else {
- if (yych <= 'X') {
- if (yych <= 'U') goto yy387;
- if (yych <= 'W') goto yy382;
- goto yy389;
- } else {
- if (yych == '\\') goto yy390;
- if (yych <= '`') goto yy382;
- goto yy392;
- }
- }
- } else {
- if (yych <= 'r') {
- if (yych <= 'f') {
- if (yych <= 'b') goto yy394;
- if (yych <= 'e') goto yy382;
- goto yy396;
- } else {
- if (yych == 'n') goto yy398;
- if (yych <= 'q') goto yy382;
- goto yy400;
- }
- } else {
- if (yych <= 'u') {
- if (yych <= 's') goto yy382;
- if (yych <= 't') goto yy402;
- goto yy389;
- } else {
- if (yych <= 'v') goto yy404;
- if (yych == 'x') goto yy406;
- goto yy382;
- }
- }
- }
-#line 630 "../src/parse/lex.re"
- { fatal ((tok - pos) - tchar, "syntax error in escape sequence"); }
-#line 2510 "src/parse/lex.cc"
-yy382:
- ++YYCURSOR;
-#line 646 "../src/parse/lex.re"
- {
- if (tok[1] != quote) {
- warn.useless_escape(tline, tok - pos, tok[1]);
- }
- return static_cast<uint8_t>(tok[1]);
- }
-#line 2520 "src/parse/lex.cc"
-yy384:
- yyaccept = 0;
- yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych <= '/') goto yy385;
- if (yych <= '7') goto yy407;
-yy385:
-#line 629 "../src/parse/lex.re"
- { fatal ((tok - pos) - tchar, "syntax error in octal escape sequence"); }
-#line 2529 "src/parse/lex.cc"
-yy386:
- yych = (YYCTYPE)*++YYCURSOR;
- goto yy385;
-yy387:
- yyaccept = 1;
- yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych <= '@') {
- if (yych <= '/') goto yy388;
- if (yych <= '9') goto yy409;
- } else {
- if (yych <= 'F') goto yy409;
- if (yych <= '`') goto yy388;
- if (yych <= 'f') goto yy409;
- }
-yy388:
-#line 628 "../src/parse/lex.re"
- { fatal ((tok - pos) - tchar, "syntax error in hexadecimal escape sequence"); }
-#line 2547 "src/parse/lex.cc"
-yy389:
- yyaccept = 1;
- yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych <= '@') {
- if (yych <= '/') goto yy388;
- if (yych <= '9') goto yy410;
- goto yy388;
- } else {
- if (yych <= 'F') goto yy410;
- if (yych <= '`') goto yy388;
- if (yych <= 'f') goto yy410;
- goto yy388;
- }
-yy390:
- ++YYCURSOR;
-#line 645 "../src/parse/lex.re"
- { return static_cast<uint8_t>('\\'); }
-#line 2565 "src/parse/lex.cc"
-yy392:
- ++YYCURSOR;
-#line 638 "../src/parse/lex.re"
- { return static_cast<uint8_t>('\a'); }
-#line 2570 "src/parse/lex.cc"
-yy394:
- ++YYCURSOR;
-#line 639 "../src/parse/lex.re"
- { return static_cast<uint8_t>('\b'); }
-#line 2575 "src/parse/lex.cc"
-yy396:
- ++YYCURSOR;
-#line 640 "../src/parse/lex.re"
- { return static_cast<uint8_t>('\f'); }
-#line 2580 "src/parse/lex.cc"
-yy398:
- ++YYCURSOR;
-#line 641 "../src/parse/lex.re"
- { return static_cast<uint8_t>('\n'); }
-#line 2585 "src/parse/lex.cc"
-yy400:
- ++YYCURSOR;
-#line 642 "../src/parse/lex.re"
- { return static_cast<uint8_t>('\r'); }
-#line 2590 "src/parse/lex.cc"
-yy402:
- ++YYCURSOR;
-#line 643 "../src/parse/lex.re"
- { return static_cast<uint8_t>('\t'); }
-#line 2595 "src/parse/lex.cc"
-yy404:
- ++YYCURSOR;
-#line 644 "../src/parse/lex.re"
- { return static_cast<uint8_t>('\v'); }
-#line 2600 "src/parse/lex.cc"
-yy406:
- yyaccept = 1;
- yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych <= '@') {
- if (yych <= '/') goto yy388;
- if (yych <= '9') goto yy411;
- goto yy388;
- } else {
- if (yych <= 'F') goto yy411;
- if (yych <= '`') goto yy388;
- if (yych <= 'f') goto yy411;
- goto yy388;
- }
-yy407:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= '/') goto yy408;
- if (yych <= '7') goto yy412;
-yy408:
- YYCURSOR = YYMARKER;
- if (yyaccept == 0) {
- goto yy385;
- } else {
- goto yy388;
- }
-yy409:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= '@') {
- if (yych <= '/') goto yy408;
- if (yych <= '9') goto yy414;
- goto yy408;
- } else {
- if (yych <= 'F') goto yy414;
- if (yych <= '`') goto yy408;
- if (yych <= 'f') goto yy414;
- goto yy408;
- }
-yy410:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= '@') {
- if (yych <= '/') goto yy408;
- if (yych <= '9') goto yy415;
- goto yy408;
- } else {
- if (yych <= 'F') goto yy415;
- if (yych <= '`') goto yy408;
- if (yych <= 'f') goto yy415;
- goto yy408;
- }
-yy411:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= '@') {
- if (yych <= '/') goto yy408;
- if (yych <= '9') goto yy416;
- goto yy408;
- } else {
- if (yych <= 'F') goto yy416;
- if (yych <= '`') goto yy408;
- if (yych <= 'f') goto yy416;
- goto yy408;
- }
-yy412:
- ++YYCURSOR;
-#line 637 "../src/parse/lex.re"
- { return unesc_oct(tok, cur); }
-#line 2665 "src/parse/lex.cc"
-yy414:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= '@') {
- if (yych <= '/') goto yy408;
- if (yych <= '9') goto yy418;
- goto yy408;
- } else {
- if (yych <= 'F') goto yy418;
- if (yych <= '`') goto yy408;
- if (yych <= 'f') goto yy418;
- goto yy408;
- }
-yy415:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= '@') {
- if (yych <= '/') goto yy408;
- if (yych <= '9') goto yy411;
- goto yy408;
- } else {
- if (yych <= 'F') goto yy411;
- if (yych <= '`') goto yy408;
- if (yych <= 'f') goto yy411;
- goto yy408;
- }
-yy416:
- ++YYCURSOR;
-#line 636 "../src/parse/lex.re"
- { return unesc_hex(tok, cur); }
-#line 2694 "src/parse/lex.cc"
-yy418:
- yych = (YYCTYPE)*++YYCURSOR;
- if (yych <= '@') {
- if (yych <= '/') goto yy408;
- if (yych >= ':') goto yy408;
- } else {
- if (yych <= 'F') goto yy419;
- if (yych <= '`') goto yy408;
- if (yych >= 'g') goto yy408;
- }
-yy419:
- ++YYCURSOR;
- if ((yych = (YYCTYPE)*YYCURSOR) <= '@') {
- if (yych <= '/') goto yy408;
- if (yych <= '9') goto yy410;
- goto yy408;
- } else {
- if (yych <= 'F') goto yy410;
- if (yych <= '`') goto yy408;
- if (yych <= 'f') goto yy410;
- goto yy408;
- }
-}
-#line 652 "../src/parse/lex.re"
-
-}
-
-RegExp *Scanner::lex_str(char quote, bool casing)
-{
- RegExp *r = NULL;
- for (bool end;;) {
- const uint32_t c = lex_str_chr(quote, end);
- if (end) {
- return r ? r : new NullOp;
- }
- r = doCat(r, casing ? ichr(c) : schr(c));
- }
-}
-
-void Scanner::set_sourceline ()
-{
-sourceline:
- tok = cur;
-
-#line 2739 "src/parse/lex.cc"
-{
- YYCTYPE yych;
- static const unsigned char yybm[] = {
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 0, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 0, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 192, 192, 192, 192, 192, 192, 192, 192,
- 192, 192, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 0, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- };
- if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
- yych = (YYCTYPE)*YYCURSOR;
- if (yych <= '!') {
- if (yych == '\n') goto yy424;
- } else {
- if (yych <= '"') goto yy426;
- if (yych <= '0') goto yy422;
- if (yych <= '9') goto yy427;
- }
-yy422:
- ++YYCURSOR;
-yy423:
-#line 695 "../src/parse/lex.re"
- {
- goto sourceline;
- }
-#line 2792 "src/parse/lex.cc"
-yy424:
- ++YYCURSOR;
-#line 683 "../src/parse/lex.re"
- {
- if (cur == eof)
- {
- --cur;
- }
- else
- {
- pos = cur;
- }
- tok = cur;
- return;
- }
-#line 2808 "src/parse/lex.cc"
-yy426:
- yych = (YYCTYPE)*(YYMARKER = ++YYCURSOR);
- if (yych == '\n') goto yy423;
- goto yy431;
-yy427:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = (YYCTYPE)*YYCURSOR;
- if (yybm[0+yych] & 64) {
- goto yy427;
- }
-#line 672 "../src/parse/lex.re"
- {
- if (!s_to_u32_unsafe (tok, cur, cline))
- {
- fatal ("line number overflow");
- }
- goto sourceline;
- }
-#line 2828 "src/parse/lex.cc"
-yy430:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = (YYCTYPE)*YYCURSOR;
-yy431:
- if (yybm[0+yych] & 128) {
- goto yy430;
- }
- if (yych <= '\n') goto yy432;
- if (yych <= '"') goto yy433;
- goto yy435;
-yy432:
- YYCURSOR = YYMARKER;
- goto yy423;
-yy433:
- ++YYCURSOR;
-#line 679 "../src/parse/lex.re"
- {
- escape (in.file_name, std::string (tok + 1, tok_len () - 2)); // -2 to omit quotes
- goto sourceline;
- }
-#line 2850 "src/parse/lex.cc"
-yy435:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = (YYCTYPE)*YYCURSOR;
- if (yych == '\n') goto yy432;
- goto yy430;
-}
-#line 698 "../src/parse/lex.re"
-
-}
-
-} // end namespace re2c
diff --git a/bootstrap/src/parse/lex_conf.cc b/bootstrap/src/parse/lex_conf.cc
deleted file mode 100644
index eb0aec7f..00000000
--- a/bootstrap/src/parse/lex_conf.cc
+++ /dev/null
@@ -1,2284 +0,0 @@
-/* Generated by re2c 0.16 on Thu Jan 21 10:47:47 2016 */
-#line 1 "../src/parse/lex_conf.re"
-#include "src/util/c99_stdint.h"
-#include <string>
-
-#include "src/codegen/output.h"
-#include "src/conf/opt.h"
-#include "src/globals.h"
-#include "src/ir/regexp/encoding/enc.h"
-#include "src/parse/scanner.h"
-#include "src/util/s_to_n32_unsafe.h"
-
-namespace re2c
-{
-
-// global re2c config (affects the whole file)
-#line 36 "../src/parse/lex_conf.re"
-
-
-void Scanner::lex_conf ()
-{
- tok = cur;
-
-#line 25 "src/parse/lex_conf.cc"
-{
- unsigned char yych;
- unsigned int yyaccept = 0;
- static const unsigned char yybm[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 64, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 64, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- };
- if ((lim - cur) < 27) fill(27);
- yych = (unsigned char)*cur;
- switch (yych) {
- case 'c': goto yy4;
- case 'd': goto yy5;
- case 'f': goto yy6;
- case 'i': goto yy7;
- case 'l': goto yy8;
- case 's': goto yy9;
- case 'v': goto yy10;
- case 'y': goto yy11;
- default: goto yy2;
- }
-yy2:
- ++cur;
-yy3:
-#line 42 "../src/parse/lex_conf.re"
- { fatal ((tok - pos) - tchar, "unrecognized configuration"); }
-#line 81 "src/parse/lex_conf.cc"
-yy4:
- yyaccept = 0;
- yych = (unsigned char)*(ptr = ++cur);
- if (yych == 'g') goto yy12;
- if (yych == 'o') goto yy14;
- goto yy3;
-yy5:
- yyaccept = 0;
- yych = (unsigned char)*(ptr = ++cur);
- if (yych == 'e') goto yy15;
- goto yy3;
-yy6:
- yyaccept = 0;
- yych = (unsigned char)*(ptr = ++cur);
- if (yych == 'l') goto yy16;
- goto yy3;
-yy7:
- yyaccept = 0;
- yych = (unsigned char)*(ptr = ++cur);
- if (yych == 'n') goto yy17;
- goto yy3;
-yy8:
- yyaccept = 0;
- yych = (unsigned char)*(ptr = ++cur);
- if (yych == 'a') goto yy18;
- goto yy3;
-yy9:
- yyaccept = 0;
- yych = (unsigned char)*(ptr = ++cur);
- if (yych == 't') goto yy19;
- goto yy3;
-yy10:
- yyaccept = 0;
- yych = (unsigned char)*(ptr = ++cur);
- if (yych == 'a') goto yy20;
- goto yy3;
-yy11:
- yyaccept = 0;
- yych = (unsigned char)*(ptr = ++cur);
- if (yych == 'y') goto yy21;
- goto yy3;
-yy12:
- yych = (unsigned char)*++cur;
- if (yych == 'o') goto yy22;
-yy13:
- cur = ptr;
- if (yyaccept <= 5) {
- if (yyaccept <= 2) {
- if (yyaccept <= 1) {
- if (yyaccept == 0) {
- goto yy3;
- } else {
- goto yy119;
- }
- } else {
- goto yy161;
- }
- } else {
- if (yyaccept <= 4) {
- if (yyaccept == 3) {
- goto yy206;
- } else {
- goto yy255;
- }
- } else {
- goto yy321;
- }
- }
- } else {
- if (yyaccept <= 8) {
- if (yyaccept <= 7) {
- if (yyaccept == 6) {
- goto yy356;
- } else {
- goto yy377;
- }
- } else {
- goto yy383;
- }
- } else {
- if (yyaccept == 9) {
- goto yy420;
- } else {
- goto yy423;
- }
- }
- }
-yy14:
- yych = (unsigned char)*++cur;
- if (yych == 'n') goto yy23;
- goto yy13;
-yy15:
- yych = (unsigned char)*++cur;
- if (yych == 'f') goto yy24;
- goto yy13;
-yy16:
- yych = (unsigned char)*++cur;
- if (yych == 'a') goto yy25;
- goto yy13;
-yy17:
- yych = (unsigned char)*++cur;
- if (yych == 'd') goto yy26;
- goto yy13;
-yy18:
- yych = (unsigned char)*++cur;
- if (yych == 'b') goto yy27;
- goto yy13;
-yy19:
- yych = (unsigned char)*++cur;
- if (yych == 'a') goto yy28;
- goto yy13;
-yy20:
- yych = (unsigned char)*++cur;
- if (yych == 'r') goto yy29;
- goto yy13;
-yy21:
- yych = (unsigned char)*++cur;
- if (yych <= 'c') {
- if (yych <= 'a') goto yy13;
- if (yych <= 'b') goto yy30;
- goto yy31;
- } else {
- if (yych == 'f') goto yy32;
- goto yy13;
- }
-yy22:
- yych = (unsigned char)*++cur;
- if (yych == 't') goto yy33;
- goto yy13;
-yy23:
- yych = (unsigned char)*++cur;
- if (yych == 'd') goto yy34;
- goto yy13;
-yy24:
- yych = (unsigned char)*++cur;
- if (yych == 'i') goto yy35;
- goto yy13;
-yy25:
- yych = (unsigned char)*++cur;
- if (yych == 'g') goto yy36;
- goto yy13;
-yy26:
- yych = (unsigned char)*++cur;
- if (yych == 'e') goto yy37;
- goto yy13;
-yy27:
- yych = (unsigned char)*++cur;
- if (yych == 'e') goto yy38;
- goto yy13;
-yy28:
- yych = (unsigned char)*++cur;
- if (yych == 'r') goto yy39;
- if (yych == 't') goto yy40;
- goto yy13;
-yy29:
- yych = (unsigned char)*++cur;
- if (yych == 'i') goto yy41;
- goto yy13;
-yy30:
- yych = (unsigned char)*++cur;
- if (yych == 'm') goto yy42;
- goto yy13;
-yy31:
- yych = (unsigned char)*++cur;
- if (yych == 'h') goto yy43;
- goto yy13;
-yy32:
- yych = (unsigned char)*++cur;
- if (yych == 'i') goto yy44;
- goto yy13;
-yy33:
- yych = (unsigned char)*++cur;
- if (yych == 'o') goto yy45;
- goto yy13;
-yy34:
- yych = (unsigned char)*++cur;
- if (yych <= 'd') {
- if (yych == ':') goto yy46;
- goto yy13;
- } else {
- if (yych <= 'e') goto yy47;
- if (yych == 'p') goto yy48;
- goto yy13;
- }
-yy35:
- yych = (unsigned char)*++cur;
- if (yych == 'n') goto yy49;
- goto yy13;
-yy36:
- yych = (unsigned char)*++cur;
- if (yych == 's') goto yy50;
- goto yy13;
-yy37:
- yych = (unsigned char)*++cur;
- if (yych == 'n') goto yy51;
- goto yy13;
-yy38:
- yych = (unsigned char)*++cur;
- if (yych == 'l') goto yy52;
- goto yy13;
-yy39:
- yych = (unsigned char)*++cur;
- if (yych == 't') goto yy53;
- goto yy13;
-yy40:
- yych = (unsigned char)*++cur;
- if (yych == 'e') goto yy54;
- goto yy13;
-yy41:
- yych = (unsigned char)*++cur;
- if (yych == 'a') goto yy55;
- goto yy13;
-yy42:
- yych = (unsigned char)*++cur;
- if (yych == ':') goto yy56;
- goto yy13;
-yy43:
- yych = (unsigned char)*++cur;
- if (yych == ':') goto yy57;
- goto yy13;
-yy44:
- yych = (unsigned char)*++cur;
- if (yych == 'l') goto yy58;
- goto yy13;
-yy45:
- yych = (unsigned char)*++cur;
- if (yych == ':') goto yy59;
- goto yy13;
-yy46:
- yych = (unsigned char)*++cur;
- if (yych == 'd') goto yy60;
- if (yych == 'g') goto yy61;
- goto yy13;
-yy47:
- yych = (unsigned char)*++cur;
- if (yych == 'n') goto yy62;
- goto yy13;
-yy48:
- yych = (unsigned char)*++cur;
- if (yych == 'r') goto yy63;
- goto yy13;
-yy49:
- yych = (unsigned char)*++cur;
- if (yych == 'e') goto yy64;
- goto yy13;
-yy50:
- yych = (unsigned char)*++cur;
- if (yych == ':') goto yy65;
- goto yy13;
-yy51:
- yych = (unsigned char)*++cur;
- if (yych == 't') goto yy66;
- goto yy13;
-yy52:
- yych = (unsigned char)*++cur;
- if (yych == ':') goto yy67;
- if (yych == 'p') goto yy68;
- goto yy13;
-yy53:
- yych = (unsigned char)*++cur;
- if (yych == 'l') goto yy69;
- goto yy13;
-yy54:
- yych = (unsigned char)*++cur;
- if (yych == ':') goto yy70;
- goto yy13;
-yy55:
- yych = (unsigned char)*++cur;
- if (yych == 'b') goto yy71;
- goto yy13;
-yy56:
- yych = (unsigned char)*++cur;
- if (yych == 'h') goto yy72;
- goto yy13;
-yy57:
- yych = (unsigned char)*++cur;
- if (yych == 'c') goto yy73;
- if (yych == 'e') goto yy74;
- goto yy13;
-yy58:
- yych = (unsigned char)*++cur;
- if (yych == 'l') goto yy75;
- goto yy13;
-yy59:
- yych = (unsigned char)*++cur;
- if (yych == 't') goto yy76;
- goto yy13;
-yy60:
- yych = (unsigned char)*++cur;
- if (yych == 'i') goto yy77;
- goto yy13;
-yy61:
- yych = (unsigned char)*++cur;
- if (yych == 'o') goto yy78;
- goto yy13;
-yy62:
- yych = (unsigned char)*++cur;
- if (yych == 'u') goto yy79;
- goto yy13;
-yy63:
- yych = (unsigned char)*++cur;
- if (yych == 'e') goto yy80;
- goto yy13;
-yy64:
- yych = (unsigned char)*++cur;
- if (yych == ':') goto yy81;
- goto yy13;
-yy65:
- yych = (unsigned char)*++cur;
- if (yych <= 'e') {
- if (yych == '8') goto yy82;
- if (yych <= 'd') goto yy13;
- goto yy82;
- } else {
- if (yych <= 'u') {
- if (yych <= 't') goto yy13;
- goto yy82;
- } else {
- if (yych <= 'v') goto yy13;
- if (yych <= 'x') goto yy82;
- goto yy13;
- }
- }
-yy66:
- yych = (unsigned char)*++cur;
- if (yych == ':') goto yy84;
- goto yy13;
-yy67:
- yych = (unsigned char)*++cur;
- if (yych == 'y') goto yy85;
- goto yy13;
-yy68:
- yych = (unsigned char)*++cur;
- if (yych == 'r') goto yy86;
- goto yy13;
-yy69:
- yych = (unsigned char)*++cur;
- if (yych == 'a') goto yy87;
- goto yy13;
-yy70:
- yych = (unsigned char)*++cur;
- if (yych == 'a') goto yy88;
- if (yych == 'n') goto yy89;
- goto yy13;
-yy71:
- yych = (unsigned char)*++cur;
- if (yych == 'l') goto yy90;
- goto yy13;
-yy72:
- yych = (unsigned char)*++cur;
- if (yych == 'e') goto yy91;
- goto yy13;
-yy73:
- yych = (unsigned char)*++cur;
- if (yych == 'o') goto yy92;
- goto yy13;
-yy74:
- yych = (unsigned char)*++cur;
- if (yych == 'm') goto yy93;
- goto yy13;
-yy75:
- yych = (unsigned char)*++cur;
- if (yych == ':') goto yy94;
- goto yy13;
-yy76:
- yych = (unsigned char)*++cur;
- if (yych == 'h') goto yy95;
- goto yy13;
-yy77:
- yych = (unsigned char)*++cur;
- if (yych == 'v') goto yy96;
- goto yy13;
-yy78:
- yych = (unsigned char)*++cur;
- if (yych == 't') goto yy97;
- goto yy13;
-yy79:
- yych = (unsigned char)*++cur;
- if (yych == 'm') goto yy98;
- goto yy13;
-yy80:
- yych = (unsigned char)*++cur;
- if (yych == 'f') goto yy99;
- goto yy13;
-yy81:
- yych = (unsigned char)*++cur;
- if (yych == 'Y') goto yy100;
- goto yy13;
-yy82:
- ++cur;
-#line 45 "../src/parse/lex_conf.re"
- {
- Enc::type_t enc = Enc::ASCII;
- switch (cur[-1])
- {
- case 'e': enc = Enc::EBCDIC; break;
- case 'w': enc = Enc::UCS2; break;
- case 'x': enc = Enc::UTF16; break;
- case 'u': enc = Enc::UTF32; break;
- case '8': enc = Enc::UTF8; break;
- }
- const int32_t n = lex_conf_number ();
- if (n == 0)
- {
- opts.unset_encoding (enc);
- }
- else if (!opts.set_encoding (enc))
- {
- fatalf ("Cannot set %s encoding: please reset %s encoding first"
- , Enc::name (enc)
- , Enc::name (opts->encoding.type ()));
- }
- return;
- }
-#line 496 "src/parse/lex_conf.cc"
-yy84:
- yych = (unsigned char)*++cur;
- if (yych <= 'r') goto yy13;
- if (yych <= 's') goto yy101;
- if (yych <= 't') goto yy102;
- goto yy13;
-yy85:
- yych = (unsigned char)*++cur;
- if (yych == 'y') goto yy103;
- goto yy13;
-yy86:
- yych = (unsigned char)*++cur;
- if (yych == 'e') goto yy104;
- goto yy13;
-yy87:
- yych = (unsigned char)*++cur;
- if (yych == 'b') goto yy105;
- goto yy13;
-yy88:
- yych = (unsigned char)*++cur;
- if (yych == 'b') goto yy106;
- goto yy13;
-yy89:
- yych = (unsigned char)*++cur;
- if (yych == 'e') goto yy107;
- goto yy13;
-yy90:
- yych = (unsigned char)*++cur;
- if (yych == 'e') goto yy108;
- goto yy13;
-yy91:
- yych = (unsigned char)*++cur;
- if (yych == 'x') goto yy109;
- goto yy13;
-yy92:
- yych = (unsigned char)*++cur;
- if (yych == 'n') goto yy111;
- goto yy13;
-yy93:
- yych = (unsigned char)*++cur;
- if (yych == 'i') goto yy112;
- goto yy13;
-yy94:
- yych = (unsigned char)*++cur;
- if (yych <= 'd') {
- if (yych == 'c') goto yy113;
- goto yy13;
- } else {
- if (yych <= 'e') goto yy114;
- if (yych == 'p') goto yy115;
- goto yy13;
- }
-yy95:
- yych = (unsigned char)*++cur;
- if (yych == 'r') goto yy116;
- goto yy13;
-yy96:
- yych = (unsigned char)*++cur;
- if (yych == 'i') goto yy117;
- goto yy13;
-yy97:
- yych = (unsigned char)*++cur;
- if (yych == 'o') goto yy118;
- goto yy13;
-yy98:
- yych = (unsigned char)*++cur;
- if (yych == 'p') goto yy120;
- goto yy13;
-yy99:
- yych = (unsigned char)*++cur;
- if (yych == 'i') goto yy121;
- goto yy13;
-yy100:
- yych = (unsigned char)*++cur;
- if (yych == 'Y') goto yy122;
- goto yy13;
-yy101:
- yych = (unsigned char)*++cur;
- if (yych == 't') goto yy123;
- goto yy13;
-yy102:
- yych = (unsigned char)*++cur;
- if (yych == 'o') goto yy124;
- goto yy13;
-yy103:
- yych = (unsigned char)*++cur;
- if (yych == 'F') goto yy125;
- if (yych == 'N') goto yy126;
- goto yy13;
-yy104:
- yych = (unsigned char)*++cur;
- if (yych == 'f') goto yy127;
- goto yy13;
-yy105:
- yych = (unsigned char)*++cur;
- if (yych == 'e') goto yy128;
- goto yy13;
-yy106:
- yych = (unsigned char)*++cur;
- if (yych == 'o') goto yy129;
- goto yy13;
-yy107:
- yych = (unsigned char)*++cur;
- if (yych == 'x') goto yy130;
- goto yy13;
-yy108:
- yych = (unsigned char)*++cur;
- if (yych == ':') goto yy131;
- goto yy13;
-yy109:
- ++cur;
-#line 95 "../src/parse/lex_conf.re"
- { opts.set_yybmHexTable (lex_conf_number () != 0); return; }
-#line 610 "src/parse/lex_conf.cc"
-yy111:
- yych = (unsigned char)*++cur;
- if (yych == 'v') goto yy132;
- goto yy13;
-yy112:
- yych = (unsigned char)*++cur;
- if (yych == 't') goto yy133;
- goto yy13;
-yy113:
- yych = (unsigned char)*++cur;
- if (yych == 'h') goto yy135;
- goto yy13;
-yy114:
- yych = (unsigned char)*++cur;
- if (yych == 'n') goto yy136;
- goto yy13;
-yy115:
- yych = (unsigned char)*++cur;
- if (yych == 'a') goto yy137;
- goto yy13;
-yy116:
- yych = (unsigned char)*++cur;
- if (yych == 'e') goto yy138;
- goto yy13;
-yy117:
- yych = (unsigned char)*++cur;
- if (yych == 'd') goto yy139;
- goto yy13;
-yy118:
- yyaccept = 1;
- yych = (unsigned char)*(ptr = ++cur);
- if (yych == '@') goto yy140;
-yy119:
-#line 79 "../src/parse/lex_conf.re"
- { opts.set_condGoto (lex_conf_string ()); return; }
-#line 646 "src/parse/lex_conf.cc"
-yy120:
- yych = (unsigned char)*++cur;
- if (yych == 'r') goto yy141;
- goto yy13;
-yy121:
- yych = (unsigned char)*++cur;
- if (yych == 'x') goto yy142;
- goto yy13;
-yy122:
- yych = (unsigned char)*++cur;
- switch (yych) {
- case 'B': goto yy144;
- case 'C': goto yy145;
- case 'D': goto yy146;
- case 'F': goto yy147;
- case 'G': goto yy148;
- case 'L': goto yy149;
- case 'M': goto yy150;
- case 'P': goto yy151;
- case 'R': goto yy152;
- case 'S': goto yy153;
- default: goto yy13;
- }
-yy123:
- yych = (unsigned char)*++cur;
- if (yych == 'r') goto yy154;
- goto yy13;
-yy124:
- yych = (unsigned char)*++cur;
- if (yych == 'p') goto yy155;
- goto yy13;
-yy125:
- yych = (unsigned char)*++cur;
- if (yych == 'i') goto yy157;
- goto yy13;
-yy126:
- yych = (unsigned char)*++cur;
- if (yych == 'e') goto yy158;
- goto yy13;
-yy127:
- yych = (unsigned char)*++cur;
- if (yych == 'i') goto yy159;
- goto yy13;
-yy128:
- yych = (unsigned char)*++cur;
- if (yych == 'l') goto yy160;
- goto yy13;
-yy129:
- yych = (unsigned char)*++cur;
- if (yych == 'r') goto yy162;
- goto yy13;
-yy130:
- yych = (unsigned char)*++cur;
- if (yych == 't') goto yy163;
- goto yy13;
-yy131:
- yych = (unsigned char)*++cur;
- if (yych == 'y') goto yy164;
- goto yy13;
-yy132:
- yych = (unsigned char)*++cur;
- if (yych == 'e') goto yy165;
- goto yy13;
-yy133:
- ++cur;
-#line 138 "../src/parse/lex_conf.re"
- { opts.set_bEmitYYCh (lex_conf_number () != 0); return; }
-#line 714 "src/parse/lex_conf.cc"
-yy135:
- yych = (unsigned char)*++cur;
- if (yych == 'e') goto yy166;
- goto yy13;
-yy136:
- yych = (unsigned char)*++cur;
- if (yych == 'a') goto yy167;
- goto yy13;
-yy137:
- yych = (unsigned char)*++cur;
- if (yych == 'r') goto yy168;
- goto yy13;
-yy138:
- yych = (unsigned char)*++cur;
- if (yych == 's') goto yy169;
- goto yy13;
-yy139:
- yych = (unsigned char)*++cur;
- if (yych == 'e') goto yy170;
- goto yy13;
-yy140:
- yych = (unsigned char)*++cur;
- if (yych == 'c') goto yy171;
- goto yy13;
-yy141:
- yych = (unsigned char)*++cur;
- if (yych == 'e') goto yy172;
- goto yy13;
-yy142:
- ++cur;
-#line 75 "../src/parse/lex_conf.re"
- { opts.set_condPrefix (lex_conf_string ()); return; }
-#line 747 "src/parse/lex_conf.cc"
-yy144:
- yych = (unsigned char)*++cur;
- if (yych == 'A') goto yy173;
- goto yy13;
-yy145:
- yych = (unsigned char)*++cur;
- if (yych <= 'S') {
- if (yych == 'O') goto yy174;
- goto yy13;
- } else {
- if (yych <= 'T') goto yy175;
- if (yych <= 'U') goto yy176;
- goto yy13;
- }
-yy146:
- yych = (unsigned char)*++cur;
- if (yych == 'E') goto yy177;
- goto yy13;
-yy147:
- yych = (unsigned char)*++cur;
- if (yych == 'I') goto yy178;
- goto yy13;
-yy148:
- yych = (unsigned char)*++cur;
- if (yych == 'E') goto yy179;
- goto yy13;
-yy149:
- yych = (unsigned char)*++cur;
- if (yych == 'E') goto yy180;
- if (yych == 'I') goto yy181;
- goto yy13;
-yy150:
- yych = (unsigned char)*++cur;
- if (yych == 'A') goto yy182;
- goto yy13;
-yy151:
- yych = (unsigned char)*++cur;
- if (yych == 'E') goto yy183;
- goto yy13;
-yy152:
- yych = (unsigned char)*++cur;
- if (yych == 'E') goto yy184;
- goto yy13;
-yy153:
- yych = (unsigned char)*++cur;
- if (yych == 'E') goto yy185;
- if (yych == 'K') goto yy186;
- goto yy13;
-yy154:
- yych = (unsigned char)*++cur;
- if (yych == 'i') goto yy187;
- goto yy13;
-yy155:
- ++cur;
-#line 123 "../src/parse/lex_conf.re"
- {
- const int32_t n = lex_conf_number ();
- if (n < 0)
- {
- fatal ("configuration 'indent:top' must be nonnegative");
- }
- opts.set_topIndent (static_cast<uint32_t> (n));
- return;
- }
-#line 812 "src/parse/lex_conf.cc"
-yy157:
- yych = (unsigned char)*++cur;
- if (yych == 'l') goto yy188;
- goto yy13;
-yy158:
- yych = (unsigned char)*++cur;
- if (yych == 'x') goto yy189;
- goto yy13;
-yy159:
- yych = (unsigned char)*++cur;
- if (yych == 'x') goto yy190;
- goto yy13;
-yy160:
- yyaccept = 2;
- yych = (unsigned char)*(ptr = ++cur);
- ctx = cur;
- if (yybm[0+yych] & 64) {
- goto yy192;
- }
- if (yych == '=') goto yy194;
-yy161:
-#line 151 "../src/parse/lex_conf.re"
- { out.set_user_start_label (lex_conf_string ()); return; }
-#line 836 "src/parse/lex_conf.cc"
-yy162:
- yych = (unsigned char)*++cur;
- if (yych == 't') goto yy196;
- goto yy13;
-yy163:
- yych = (unsigned char)*++cur;
- if (yych == 'l') goto yy198;
- goto yy13;
-yy164:
- yych = (unsigned char)*++cur;
- if (yych == 'y') goto yy199;
- goto yy13;
-yy165:
- yych = (unsigned char)*++cur;
- if (yych == 'r') goto yy200;
- goto yy13;
-yy166:
- yych = (unsigned char)*++cur;
- if (yych == 'c') goto yy201;
- goto yy13;
-yy167:
- yych = (unsigned char)*++cur;
- if (yych == 'b') goto yy202;
- goto yy13;
-yy168:
- yych = (unsigned char)*++cur;
- if (yych == 'a') goto yy203;
- goto yy13;
-yy169:
- yych = (unsigned char)*++cur;
- if (yych == 'h') goto yy204;
- goto yy13;
-yy170:
- yych = (unsigned char)*++cur;
- if (yych == 'r') goto yy205;
- goto yy13;
-yy171:
- yych = (unsigned char)*++cur;
- if (yych == 'o') goto yy207;
- goto yy13;
-yy172:
- yych = (unsigned char)*++cur;
- if (yych == 'f') goto yy208;
- goto yy13;
-yy173:
- yych = (unsigned char)*++cur;
- if (yych == 'C') goto yy209;
- goto yy13;
-yy174:
- yych = (unsigned char)*++cur;
- if (yych == 'N') goto yy210;
- goto yy13;
-yy175:
- yych = (unsigned char)*++cur;
- if (yych <= 'W') goto yy13;
- if (yych <= 'X') goto yy211;
- if (yych <= 'Y') goto yy212;
- goto yy13;
-yy176:
- yych = (unsigned char)*++cur;
- if (yych == 'R') goto yy213;
- goto yy13;
-yy177:
- yych = (unsigned char)*++cur;
- if (yych == 'B') goto yy214;
- goto yy13;
-yy178:
- yych = (unsigned char)*++cur;
- if (yych == 'L') goto yy215;
- goto yy13;
-yy179:
- yych = (unsigned char)*++cur;
- if (yych == 'T') goto yy216;
- goto yy13;
-yy180:
- yych = (unsigned char)*++cur;
- if (yych == 'S') goto yy217;
- goto yy13;
-yy181:
- yych = (unsigned char)*++cur;
- if (yych == 'M') goto yy218;
- goto yy13;
-yy182:
- yych = (unsigned char)*++cur;
- if (yych == 'R') goto yy219;
- goto yy13;
-yy183:
- yych = (unsigned char)*++cur;
- if (yych == 'E') goto yy220;
- goto yy13;
-yy184:
- yych = (unsigned char)*++cur;
- if (yych == 'S') goto yy221;
- goto yy13;
-yy185:
- yych = (unsigned char)*++cur;
- if (yych == 'T') goto yy222;
- goto yy13;
-yy186:
- yych = (unsigned char)*++cur;
- if (yych == 'I') goto yy223;
- goto yy13;
-yy187:
- yych = (unsigned char)*++cur;
- if (yych == 'n') goto yy224;
- goto yy13;
-yy188:
- yych = (unsigned char)*++cur;
- if (yych == 'l') goto yy225;
- goto yy13;
-yy189:
- yych = (unsigned char)*++cur;
- if (yych == 't') goto yy226;
- goto yy13;
-yy190:
- ++cur;
-#line 147 "../src/parse/lex_conf.re"
- { opts.set_labelPrefix (lex_conf_string ()); return; }
-#line 955 "src/parse/lex_conf.cc"
-yy192:
- ++cur;
- if (lim <= cur) fill(1);
- yych = (unsigned char)*cur;
- if (yybm[0+yych] & 64) {
- goto yy192;
- }
- if (yych != '=') goto yy13;
-yy194:
- ++cur;
- if ((lim - cur) < 2) fill(2);
- yych = (unsigned char)*cur;
- if (yych <= ',') {
- if (yych <= '\t') {
- if (yych <= 0x08) goto yy13;
- goto yy194;
- } else {
- if (yych == ' ') goto yy194;
- goto yy13;
- }
- } else {
- if (yych <= '/') {
- if (yych <= '-') goto yy228;
- goto yy13;
- } else {
- if (yych <= '0') goto yy229;
- if (yych <= '9') goto yy231;
- goto yy13;
- }
- }
-yy196:
- ++cur;
-#line 90 "../src/parse/lex_conf.re"
- { opts.set_bUseStateAbort (lex_conf_number () != 0); return; }
-#line 990 "src/parse/lex_conf.cc"
-yy198:
- yych = (unsigned char)*++cur;
- if (yych == 'a') goto yy233;
- goto yy13;
-yy199:
- yych = (unsigned char)*++cur;
- if (yych <= 'c') {
- if (yych <= '`') goto yy13;
- if (yych <= 'a') goto yy234;
- if (yych <= 'b') goto yy235;
- goto yy236;
- } else {
- if (yych <= 'r') goto yy13;
- if (yych <= 's') goto yy237;
- if (yych <= 't') goto yy238;
- goto yy13;
- }
-yy200:
- yych = (unsigned char)*++cur;
- if (yych == 's') goto yy239;
- goto yy13;
-yy201:
- yych = (unsigned char)*++cur;
- if (yych == 'k') goto yy240;
- goto yy13;
-yy202:
- yych = (unsigned char)*++cur;
- if (yych == 'l') goto yy242;
- goto yy13;
-yy203:
- yych = (unsigned char)*++cur;
- if (yych == 'm') goto yy243;
- goto yy13;
-yy204:
- yych = (unsigned char)*++cur;
- if (yych == 'o') goto yy244;
- goto yy13;
-yy205:
- yyaccept = 3;
- yych = (unsigned char)*(ptr = ++cur);
- if (yych == '@') goto yy245;
-yy206:
-#line 77 "../src/parse/lex_conf.re"
- { opts.set_condDivider (lex_conf_string ()); return; }
-#line 1035 "src/parse/lex_conf.cc"
-yy207:
- yych = (unsigned char)*++cur;
- if (yych == 'n') goto yy246;
- goto yy13;
-yy208:
- yych = (unsigned char)*++cur;
- if (yych == 'i') goto yy247;
- goto yy13;
-yy209:
- yych = (unsigned char)*++cur;
- if (yych == 'K') goto yy248;
- goto yy13;
-yy210:
- yych = (unsigned char)*++cur;
- if (yych == 'D') goto yy249;
- goto yy13;
-yy211:
- yych = (unsigned char)*++cur;
- if (yych == 'M') goto yy250;
- goto yy13;
-yy212:
- yych = (unsigned char)*++cur;
- if (yych == 'P') goto yy251;
- goto yy13;
-yy213:
- yych = (unsigned char)*++cur;
- if (yych == 'S') goto yy252;
- goto yy13;
-yy214:
- yych = (unsigned char)*++cur;
- if (yych == 'U') goto yy253;
- goto yy13;
-yy215:
- yych = (unsigned char)*++cur;
- if (yych == 'L') goto yy254;
- goto yy13;
-yy216:
- yych = (unsigned char)*++cur;
- if (yych == 'C') goto yy256;
- if (yych == 'S') goto yy257;
- goto yy13;
-yy217:
- yych = (unsigned char)*++cur;
- if (yych == 'S') goto yy258;
- goto yy13;
-yy218:
- yych = (unsigned char)*++cur;
- if (yych == 'I') goto yy259;
- goto yy13;
-yy219:
- yych = (unsigned char)*++cur;
- if (yych == 'K') goto yy260;
- goto yy13;
-yy220:
- yych = (unsigned char)*++cur;
- if (yych == 'K') goto yy261;
- goto yy13;
-yy221:
- yych = (unsigned char)*++cur;
- if (yych == 'T') goto yy263;
- goto yy13;
-yy222:
- yych = (unsigned char)*++cur;
- if (yych == 'C') goto yy264;
- if (yych == 'S') goto yy265;
- goto yy13;
-yy223:
- yych = (unsigned char)*++cur;
- if (yych == 'P') goto yy266;
- goto yy13;
-yy224:
- yych = (unsigned char)*++cur;
- if (yych == 'g') goto yy268;
- goto yy13;
-yy225:
- yych = (unsigned char)*++cur;
- if (yych == 'L') goto yy270;
- goto yy13;
-yy226:
- ++cur;
-#line 89 "../src/parse/lex_conf.re"
- { opts.set_yynext (lex_conf_string ()); return; }
-#line 1118 "src/parse/lex_conf.cc"
-yy228:
- yych = (unsigned char)*++cur;
- if (yych <= '0') goto yy13;
- if (yych <= '9') goto yy231;
- goto yy13;
-yy229:
- ++cur;
-yy230:
- cur = ctx;
-#line 150 "../src/parse/lex_conf.re"
- { out.set_force_start_label (lex_conf_number () != 0); return; }
-#line 1130 "src/parse/lex_conf.cc"
-yy231:
- ++cur;
- if (lim <= cur) fill(1);
- yych = (unsigned char)*cur;
- if (yybm[0+yych] & 128) {
- goto yy231;
- }
- goto yy230;
-yy233:
- yych = (unsigned char)*++cur;
- if (yych == 'b') goto yy271;
- goto yy13;
-yy234:
- yych = (unsigned char)*++cur;
- if (yych == 'c') goto yy272;
- goto yy13;
-yy235:
- yych = (unsigned char)*++cur;
- if (yych == 'm') goto yy273;
- goto yy13;
-yy236:
- yych = (unsigned char)*++cur;
- if (yych == 'h') goto yy275;
- if (yych == 't') goto yy277;
- goto yy13;
-yy237:
- yych = (unsigned char)*++cur;
- if (yych == 't') goto yy278;
- goto yy13;
-yy238:
- yych = (unsigned char)*++cur;
- if (yych == 'a') goto yy279;
- goto yy13;
-yy239:
- yych = (unsigned char)*++cur;
- if (yych == 'i') goto yy280;
- goto yy13;
-yy240:
- ++cur;
-#line 145 "../src/parse/lex_conf.re"
- { opts.set_fill_check (lex_conf_number () != 0); return; }
-#line 1172 "src/parse/lex_conf.cc"
-yy242:
- yych = (unsigned char)*++cur;
- if (yych == 'e') goto yy281;
- goto yy13;
-yy243:
- yych = (unsigned char)*++cur;
- if (yych == 'e') goto yy283;
- goto yy13;
-yy244:
- yych = (unsigned char)*++cur;
- if (yych == 'l') goto yy284;
- goto yy13;
-yy245:
- yych = (unsigned char)*++cur;
- if (yych == 'c') goto yy285;
- goto yy13;
-yy246:
- yych = (unsigned char)*++cur;
- if (yych == 'd') goto yy286;
- goto yy13;
-yy247:
- yych = (unsigned char)*++cur;
- if (yych == 'x') goto yy288;
- goto yy13;
-yy248:
- yych = (unsigned char)*++cur;
- if (yych == 'U') goto yy290;
- goto yy13;
-yy249:
- yych = (unsigned char)*++cur;
- if (yych == 'T') goto yy291;
- goto yy13;
-yy250:
- yych = (unsigned char)*++cur;
- if (yych == 'A') goto yy292;
- goto yy13;
-yy251:
- yych = (unsigned char)*++cur;
- if (yych == 'E') goto yy293;
- goto yy13;
-yy252:
- yych = (unsigned char)*++cur;
- if (yych == 'O') goto yy295;
- goto yy13;
-yy253:
- yych = (unsigned char)*++cur;
- if (yych == 'G') goto yy296;
- goto yy13;
-yy254:
- yyaccept = 4;
- yych = (unsigned char)*(ptr = ++cur);
- if (yych == ':') goto yy298;
- if (yych == '@') goto yy299;
-yy255:
-#line 140 "../src/parse/lex_conf.re"
- { opts.set_fill (lex_conf_string ()); return; }
-#line 1229 "src/parse/lex_conf.cc"
-yy256:
- yych = (unsigned char)*++cur;
- if (yych == 'O') goto yy300;
- goto yy13;
-yy257:
- yych = (unsigned char)*++cur;
- if (yych == 'T') goto yy301;
- goto yy13;
-yy258:
- yych = (unsigned char)*++cur;
- if (yych == 'T') goto yy302;
- goto yy13;
-yy259:
- yych = (unsigned char)*++cur;
- if (yych == 'T') goto yy303;
- goto yy13;
-yy260:
- yych = (unsigned char)*++cur;
- if (yych == 'E') goto yy305;
- goto yy13;
-yy261:
- ++cur;
-#line 113 "../src/parse/lex_conf.re"
- { opts.set_yypeek (lex_conf_string ()); return; }
-#line 1254 "src/parse/lex_conf.cc"
-yy263:
- yych = (unsigned char)*++cur;
- if (yych == 'O') goto yy306;
- goto yy13;
-yy264:
- yych = (unsigned char)*++cur;
- if (yych == 'O') goto yy307;
- goto yy13;
-yy265:
- yych = (unsigned char)*++cur;
- if (yych == 'T') goto yy308;
- goto yy13;
-yy266:
- ++cur;
-#line 114 "../src/parse/lex_conf.re"
- { opts.set_yyskip (lex_conf_string ()); return; }
-#line 1271 "src/parse/lex_conf.cc"
-yy268:
- ++cur;
-#line 121 "../src/parse/lex_conf.re"
- { opts.set_indString (lex_conf_string ()); return; }
-#line 1276 "src/parse/lex_conf.cc"
-yy270:
- yych = (unsigned char)*++cur;
- if (yych == 'a') goto yy309;
- goto yy13;
-yy271:
- yych = (unsigned char)*++cur;
- if (yych == 'e') goto yy310;
- goto yy13;
-yy272:
- yych = (unsigned char)*++cur;
- if (yych == 'c') goto yy311;
- goto yy13;
-yy273:
- ++cur;
-#line 94 "../src/parse/lex_conf.re"
- { opts.set_yybm (lex_conf_string ()); return; }
-#line 1293 "src/parse/lex_conf.cc"
-yy275:
- ++cur;
-#line 136 "../src/parse/lex_conf.re"
- { opts.set_yych (lex_conf_string ()); return; }
-#line 1298 "src/parse/lex_conf.cc"
-yy277:
- yych = (unsigned char)*++cur;
- if (yych == 'a') goto yy312;
- goto yy13;
-yy278:
- yych = (unsigned char)*++cur;
- if (yych == 'a') goto yy313;
- goto yy13;
-yy279:
- yych = (unsigned char)*++cur;
- if (yych == 'r') goto yy314;
- goto yy13;
-yy280:
- yych = (unsigned char)*++cur;
- if (yych == 'o') goto yy315;
- goto yy13;
-yy281:
- ++cur;
-#line 141 "../src/parse/lex_conf.re"
- { opts.set_fill_use (lex_conf_number () != 0); return; }
-#line 1319 "src/parse/lex_conf.cc"
-yy283:
- yych = (unsigned char)*++cur;
- if (yych == 't') goto yy316;
- goto yy13;
-yy284:
- yych = (unsigned char)*++cur;
- if (yych == 'd') goto yy317;
- goto yy13;
-yy285:
- yych = (unsigned char)*++cur;
- if (yych == 'o') goto yy319;
- goto yy13;
-yy286:
- ++cur;
-#line 80 "../src/parse/lex_conf.re"
- { opts.set_condGotoParam (lex_conf_string ()); return; }
-#line 1336 "src/parse/lex_conf.cc"
-yy288:
- ++cur;
-#line 76 "../src/parse/lex_conf.re"
- { opts.set_condEnumPrefix (lex_conf_string ()); return; }
-#line 1341 "src/parse/lex_conf.cc"
-yy290:
- yych = (unsigned char)*++cur;
- if (yych == 'P') goto yy320;
- goto yy13;
-yy291:
- yych = (unsigned char)*++cur;
- if (yych == 'Y') goto yy322;
- goto yy13;
-yy292:
- yych = (unsigned char)*++cur;
- if (yych == 'R') goto yy323;
- goto yy13;
-yy293:
- ++cur;
-#line 135 "../src/parse/lex_conf.re"
- { opts.set_yyctype (lex_conf_string ()); return; }
-#line 1358 "src/parse/lex_conf.cc"
-yy295:
- yych = (unsigned char)*++cur;
- if (yych == 'R') goto yy324;
- goto yy13;
-yy296:
- ++cur;
-#line 133 "../src/parse/lex_conf.re"
- { opts.set_yydebug (lex_conf_string ()); return; }
-#line 1367 "src/parse/lex_conf.cc"
-yy298:
- yych = (unsigned char)*++cur;
- if (yych == 'n') goto yy326;
- goto yy13;
-yy299:
- yych = (unsigned char)*++cur;
- if (yych == 'l') goto yy327;
- goto yy13;
-yy300:
- yych = (unsigned char)*++cur;
- if (yych == 'N') goto yy328;
- goto yy13;
-yy301:
- yych = (unsigned char)*++cur;
- if (yych == 'A') goto yy329;
- goto yy13;
-yy302:
- yych = (unsigned char)*++cur;
- if (yych == 'H') goto yy330;
- goto yy13;
-yy303:
- ++cur;
-#line 111 "../src/parse/lex_conf.re"
- { opts.set_yylimit (lex_conf_string ()); return; }
-#line 1392 "src/parse/lex_conf.cc"
-yy305:
- yych = (unsigned char)*++cur;
- if (yych == 'R') goto yy331;
- goto yy13;
-yy306:
- yych = (unsigned char)*++cur;
- if (yych == 'R') goto yy333;
- goto yy13;
-yy307:
- yych = (unsigned char)*++cur;
- if (yych == 'N') goto yy334;
- goto yy13;
-yy308:
- yych = (unsigned char)*++cur;
- if (yych == 'A') goto yy335;
- goto yy13;
-yy309:
- yych = (unsigned char)*++cur;
- if (yych == 'b') goto yy336;
- goto yy13;
-yy310:
- yych = (unsigned char)*++cur;
- if (yych == 'l') goto yy337;
- goto yy13;
-yy311:
- yych = (unsigned char)*++cur;
- if (yych == 'e') goto yy339;
- goto yy13;
-yy312:
- yych = (unsigned char)*++cur;
- if (yych == 'b') goto yy340;
- goto yy13;
-yy313:
- yych = (unsigned char)*++cur;
- if (yych == 'b') goto yy341;
- goto yy13;
-yy314:
- yych = (unsigned char)*++cur;
- if (yych == 'g') goto yy342;
- goto yy13;
-yy315:
- yych = (unsigned char)*++cur;
- if (yych == 'n') goto yy343;
- goto yy13;
-yy316:
- yych = (unsigned char)*++cur;
- if (yych == 'e') goto yy345;
- goto yy13;
-yy317:
- ++cur;
-#line 97 "../src/parse/lex_conf.re"
- {
- const int32_t n = lex_conf_number ();
- if (n < 0)
- {
- fatal ("configuration 'cgoto:threshold' must be nonnegative");
- }
- opts.set_cGotoThreshold (static_cast<uint32_t> (n));
- return;
- }
-#line 1453 "src/parse/lex_conf.cc"
-yy319:
- yych = (unsigned char)*++cur;
- if (yych == 'n') goto yy346;
- goto yy13;
-yy320:
- yyaccept = 5;
- yych = (unsigned char)*(ptr = ++cur);
- if (yych == 'C') goto yy347;
-yy321:
-#line 115 "../src/parse/lex_conf.re"
- { opts.set_yybackup (lex_conf_string ()); return; }
-#line 1465 "src/parse/lex_conf.cc"
-yy322:
- yych = (unsigned char)*++cur;
- if (yych == 'P') goto yy348;
- goto yy13;
-yy323:
- yych = (unsigned char)*++cur;
- if (yych == 'K') goto yy349;
- goto yy13;
-yy324:
- ++cur;
-#line 108 "../src/parse/lex_conf.re"
- { opts.set_yycursor (lex_conf_string ()); return; }
-#line 1478 "src/parse/lex_conf.cc"
-yy326:
- yych = (unsigned char)*++cur;
- if (yych == 'a') goto yy350;
- goto yy13;
-yy327:
- yych = (unsigned char)*++cur;
- if (yych == 'e') goto yy351;
- goto yy13;
-yy328:
- yych = (unsigned char)*++cur;
- if (yych == 'D') goto yy352;
- goto yy13;
-yy329:
- yych = (unsigned char)*++cur;
- if (yych == 'T') goto yy353;
- goto yy13;
-yy330:
- yych = (unsigned char)*++cur;
- if (yych == 'A') goto yy354;
- goto yy13;
-yy331:
- ++cur;
-#line 109 "../src/parse/lex_conf.re"
- { opts.set_yymarker (lex_conf_string ()); return; }
-#line 1503 "src/parse/lex_conf.cc"
-yy333:
- yych = (unsigned char)*++cur;
- if (yych == 'E') goto yy355;
- goto yy13;
-yy334:
- yych = (unsigned char)*++cur;
- if (yych == 'D') goto yy357;
- goto yy13;
-yy335:
- yych = (unsigned char)*++cur;
- if (yych == 'T') goto yy358;
- goto yy13;
-yy336:
- yych = (unsigned char)*++cur;
- if (yych == 'e') goto yy359;
- goto yy13;
-yy337:
- ++cur;
-#line 91 "../src/parse/lex_conf.re"
- { opts.set_bUseStateNext (lex_conf_number () != 0); return; }
-#line 1524 "src/parse/lex_conf.cc"
-yy339:
- yych = (unsigned char)*++cur;
- if (yych == 'p') goto yy360;
- goto yy13;
-yy340:
- yych = (unsigned char)*++cur;
- if (yych == 'l') goto yy361;
- goto yy13;
-yy341:
- yych = (unsigned char)*++cur;
- if (yych == 'l') goto yy362;
- goto yy13;
-yy342:
- yych = (unsigned char)*++cur;
- if (yych == 'e') goto yy363;
- goto yy13;
-yy343:
- ++cur;
-#line 137 "../src/parse/lex_conf.re"
- { opts.set_yychConversion (lex_conf_number () != 0); return; }
-#line 1545 "src/parse/lex_conf.cc"
-yy345:
- yych = (unsigned char)*++cur;
- if (yych == 'r') goto yy364;
- goto yy13;
-yy346:
- yych = (unsigned char)*++cur;
- if (yych == 'd') goto yy366;
- goto yy13;
-yy347:
- yych = (unsigned char)*++cur;
- if (yych == 'T') goto yy368;
- goto yy13;
-yy348:
- yych = (unsigned char)*++cur;
- if (yych == 'E') goto yy369;
- goto yy13;
-yy349:
- yych = (unsigned char)*++cur;
- if (yych == 'E') goto yy371;
- goto yy13;
-yy350:
- yych = (unsigned char)*++cur;
- if (yych == 'k') goto yy372;
- goto yy13;
-yy351:
- yych = (unsigned char)*++cur;
- if (yych == 'n') goto yy373;
- goto yy13;
-yy352:
- yych = (unsigned char)*++cur;
- if (yych == 'I') goto yy375;
- goto yy13;
-yy353:
- yych = (unsigned char)*++cur;
- if (yych == 'E') goto yy376;
- goto yy13;
-yy354:
- yych = (unsigned char)*++cur;
- if (yych == 'N') goto yy378;
- goto yy13;
-yy355:
- yyaccept = 6;
- yych = (unsigned char)*(ptr = ++cur);
- if (yych == 'C') goto yy380;
-yy356:
-#line 117 "../src/parse/lex_conf.re"
- { opts.set_yyrestore (lex_conf_string ()); return; }
-#line 1593 "src/parse/lex_conf.cc"
-yy357:
- yych = (unsigned char)*++cur;
- if (yych == 'I') goto yy381;
- goto yy13;
-yy358:
- yych = (unsigned char)*++cur;
- if (yych == 'E') goto yy382;
- goto yy13;
-yy359:
- yych = (unsigned char)*++cur;
- if (yych == 'l') goto yy384;
- goto yy13;
-yy360:
- yych = (unsigned char)*++cur;
- if (yych == 't') goto yy386;
- goto yy13;
-yy361:
- yych = (unsigned char)*++cur;
- if (yych == 'e') goto yy388;
- goto yy13;
-yy362:
- yych = (unsigned char)*++cur;
- if (yych == 'e') goto yy390;
- goto yy13;
-yy363:
- yych = (unsigned char)*++cur;
- if (yych == 't') goto yy392;
- goto yy13;
-yy364:
- ++cur;
-#line 143 "../src/parse/lex_conf.re"
- { opts.set_fill_arg_use (lex_conf_number () != 0); return; }
-#line 1626 "src/parse/lex_conf.cc"
-yy366:
- ++cur;
-#line 78 "../src/parse/lex_conf.re"
- { opts.set_condDividerParam (lex_conf_string ()); return; }
-#line 1631 "src/parse/lex_conf.cc"
-yy368:
- yych = (unsigned char)*++cur;
- if (yych == 'X') goto yy394;
- goto yy13;
-yy369:
- ++cur;
-#line 69 "../src/parse/lex_conf.re"
- { opts.set_yycondtype (lex_conf_string ()); return; }
-#line 1640 "src/parse/lex_conf.cc"
-yy371:
- yych = (unsigned char)*++cur;
- if (yych == 'R') goto yy396;
- goto yy13;
-yy372:
- yych = (unsigned char)*++cur;
- if (yych == 'e') goto yy398;
- goto yy13;
-yy373:
- ++cur;
-#line 142 "../src/parse/lex_conf.re"
- { opts.set_fill_arg (lex_conf_string ()); return; }
-#line 1653 "src/parse/lex_conf.cc"
-yy375:
- yych = (unsigned char)*++cur;
- if (yych == 'T') goto yy399;
- goto yy13;
-yy376:
- yyaccept = 7;
- yych = (unsigned char)*(ptr = ++cur);
- if (yych == ':') goto yy400;
-yy377:
-#line 83 "../src/parse/lex_conf.re"
- { opts.set_state_get (lex_conf_string ()); return; }
-#line 1665 "src/parse/lex_conf.cc"
-yy378:
- ++cur;
-#line 119 "../src/parse/lex_conf.re"
- { opts.set_yylessthan (lex_conf_string ()); return; }
-#line 1670 "src/parse/lex_conf.cc"
-yy380:
- yych = (unsigned char)*++cur;
- if (yych == 'T') goto yy401;
- goto yy13;
-yy381:
- yych = (unsigned char)*++cur;
- if (yych == 'T') goto yy402;
- goto yy13;
-yy382:
- yyaccept = 8;
- yych = (unsigned char)*(ptr = ++cur);
- if (yych == ':') goto yy403;
- if (yych == '@') goto yy404;
-yy383:
-#line 85 "../src/parse/lex_conf.re"
- { opts.set_state_set (lex_conf_string ()); return; }
-#line 1687 "src/parse/lex_conf.cc"
-yy384:
- ++cur;
-#line 88 "../src/parse/lex_conf.re"
- { opts.set_yyfilllabel (lex_conf_string ()); return; }
-#line 1692 "src/parse/lex_conf.cc"
-yy386:
- ++cur;
-#line 92 "../src/parse/lex_conf.re"
- { opts.set_yyaccept (lex_conf_string ()); return; }
-#line 1697 "src/parse/lex_conf.cc"
-yy388:
- ++cur;
-#line 81 "../src/parse/lex_conf.re"
- { opts.set_yyctable (lex_conf_string ()); return; }
-#line 1702 "src/parse/lex_conf.cc"
-yy390:
- ++cur;
-#line 154 "../src/parse/lex_conf.re"
- { lex_conf_string (); return; }
-#line 1707 "src/parse/lex_conf.cc"
-yy392:
- ++cur;
-#line 106 "../src/parse/lex_conf.re"
- { opts.set_yytarget (lex_conf_string ()); return; }
-#line 1712 "src/parse/lex_conf.cc"
-yy394:
- ++cur;
-#line 116 "../src/parse/lex_conf.re"
- { opts.set_yybackupctx (lex_conf_string ()); return; }
-#line 1717 "src/parse/lex_conf.cc"
-yy396:
- ++cur;
-#line 110 "../src/parse/lex_conf.re"
- { opts.set_yyctxmarker (lex_conf_string ()); return; }
-#line 1722 "src/parse/lex_conf.cc"
-yy398:
- yych = (unsigned char)*++cur;
- if (yych == 'd') goto yy405;
- goto yy13;
-yy399:
- yych = (unsigned char)*++cur;
- if (yych == 'I') goto yy407;
- goto yy13;
-yy400:
- yych = (unsigned char)*++cur;
- if (yych == 'n') goto yy408;
- goto yy13;
-yy401:
- yych = (unsigned char)*++cur;
- if (yych == 'X') goto yy409;
- goto yy13;
-yy402:
- yych = (unsigned char)*++cur;
- if (yych == 'I') goto yy411;
- goto yy13;
-yy403:
- yych = (unsigned char)*++cur;
- if (yych == 'n') goto yy412;
- goto yy13;
-yy404:
- yych = (unsigned char)*++cur;
- if (yych == 's') goto yy413;
- goto yy13;
-yy405:
- ++cur;
-#line 144 "../src/parse/lex_conf.re"
- { opts.set_fill_naked (lex_conf_number () != 0); return; }
-#line 1755 "src/parse/lex_conf.cc"
-yy407:
- yych = (unsigned char)*++cur;
- if (yych == 'O') goto yy414;
- goto yy13;
-yy408:
- yych = (unsigned char)*++cur;
- if (yych == 'a') goto yy415;
- goto yy13;
-yy409:
- ++cur;
-#line 118 "../src/parse/lex_conf.re"
- { opts.set_yyrestorectx (lex_conf_string ()); return; }
-#line 1768 "src/parse/lex_conf.cc"
-yy411:
- yych = (unsigned char)*++cur;
- if (yych == 'O') goto yy416;
- goto yy13;
-yy412:
- yych = (unsigned char)*++cur;
- if (yych == 'a') goto yy417;
- goto yy13;
-yy413:
- yych = (unsigned char)*++cur;
- if (yych == 't') goto yy418;
- goto yy13;
-yy414:
- yych = (unsigned char)*++cur;
- if (yych == 'N') goto yy419;
- goto yy13;
-yy415:
- yych = (unsigned char)*++cur;
- if (yych == 'k') goto yy421;
- goto yy13;
-yy416:
- yych = (unsigned char)*++cur;
- if (yych == 'N') goto yy422;
- goto yy13;
-yy417:
- yych = (unsigned char)*++cur;
- if (yych == 'k') goto yy424;
- goto yy13;
-yy418:
- yych = (unsigned char)*++cur;
- if (yych == 'a') goto yy425;
- goto yy13;
-yy419:
- yyaccept = 9;
- yych = (unsigned char)*(ptr = ++cur);
- if (yych == ':') goto yy426;
-yy420:
-#line 70 "../src/parse/lex_conf.re"
- { opts.set_cond_get (lex_conf_string ()); return; }
-#line 1808 "src/parse/lex_conf.cc"
-yy421:
- yych = (unsigned char)*++cur;
- if (yych == 'e') goto yy427;
- goto yy13;
-yy422:
- yyaccept = 10;
- yych = (unsigned char)*(ptr = ++cur);
- if (yych == ':') goto yy428;
- if (yych == '@') goto yy429;
-yy423:
-#line 72 "../src/parse/lex_conf.re"
- { opts.set_cond_set (lex_conf_string ()); return; }
-#line 1821 "src/parse/lex_conf.cc"
-yy424:
- yych = (unsigned char)*++cur;
- if (yych == 'e') goto yy430;
- goto yy13;
-yy425:
- yych = (unsigned char)*++cur;
- if (yych == 't') goto yy431;
- goto yy13;
-yy426:
- yych = (unsigned char)*++cur;
- if (yych == 'n') goto yy432;
- goto yy13;
-yy427:
- yych = (unsigned char)*++cur;
- if (yych == 'd') goto yy433;
- goto yy13;
-yy428:
- yych = (unsigned char)*++cur;
- if (yych == 'n') goto yy435;
- goto yy13;
-yy429:
- yych = (unsigned char)*++cur;
- if (yych == 'c') goto yy436;
- goto yy13;
-yy430:
- yych = (unsigned char)*++cur;
- if (yych == 'd') goto yy437;
- goto yy13;
-yy431:
- yych = (unsigned char)*++cur;
- if (yych == 'e') goto yy439;
- goto yy13;
-yy432:
- yych = (unsigned char)*++cur;
- if (yych == 'a') goto yy441;
- goto yy13;
-yy433:
- ++cur;
-#line 84 "../src/parse/lex_conf.re"
- { opts.set_state_get_naked (lex_conf_number () != 0); return; }
-#line 1862 "src/parse/lex_conf.cc"
-yy435:
- yych = (unsigned char)*++cur;
- if (yych == 'a') goto yy442;
- goto yy13;
-yy436:
- yych = (unsigned char)*++cur;
- if (yych == 'o') goto yy443;
- goto yy13;
-yy437:
- ++cur;
-#line 86 "../src/parse/lex_conf.re"
- { opts.set_state_set_naked (lex_conf_number () != 0); return; }
-#line 1875 "src/parse/lex_conf.cc"
-yy439:
- ++cur;
-#line 87 "../src/parse/lex_conf.re"
- { opts.set_state_set_arg (lex_conf_string ()); return; }
-#line 1880 "src/parse/lex_conf.cc"
-yy441:
- yych = (unsigned char)*++cur;
- if (yych == 'k') goto yy444;
- goto yy13;
-yy442:
- yych = (unsigned char)*++cur;
- if (yych == 'k') goto yy445;
- goto yy13;
-yy443:
- yych = (unsigned char)*++cur;
- if (yych == 'n') goto yy446;
- goto yy13;
-yy444:
- yych = (unsigned char)*++cur;
- if (yych == 'e') goto yy447;
- goto yy13;
-yy445:
- yych = (unsigned char)*++cur;
- if (yych == 'e') goto yy448;
- goto yy13;
-yy446:
- yych = (unsigned char)*++cur;
- if (yych == 'd') goto yy449;
- goto yy13;
-yy447:
- yych = (unsigned char)*++cur;
- if (yych == 'd') goto yy451;
- goto yy13;
-yy448:
- yych = (unsigned char)*++cur;
- if (yych == 'd') goto yy453;
- goto yy13;
-yy449:
- ++cur;
-#line 73 "../src/parse/lex_conf.re"
- { opts.set_cond_set_arg (lex_conf_string ()); return; }
-#line 1917 "src/parse/lex_conf.cc"
-yy451:
- ++cur;
-#line 71 "../src/parse/lex_conf.re"
- { opts.set_cond_get_naked (lex_conf_number () != 0); return; }
-#line 1922 "src/parse/lex_conf.cc"
-yy453:
- ++cur;
-#line 74 "../src/parse/lex_conf.re"
- { opts.set_cond_set_naked (lex_conf_number () != 0); return; }
-#line 1927 "src/parse/lex_conf.cc"
-}
-#line 155 "../src/parse/lex_conf.re"
-
-}
-
-void Scanner::lex_conf_assign ()
-{
-
-#line 1936 "src/parse/lex_conf.cc"
-{
- unsigned char yych;
- static const unsigned char yybm[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 128, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 128, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- };
- if ((lim - cur) < 2) fill(2);
- yych = (unsigned char)*cur;
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy459;
- } else {
- if (yych <= ' ') goto yy459;
- if (yych == '=') goto yy460;
- }
- ++cur;
-yy458:
-#line 161 "../src/parse/lex_conf.re"
- { fatal ("missing '=' in configuration"); }
-#line 1985 "src/parse/lex_conf.cc"
-yy459:
- yych = (unsigned char)*(ptr = ++cur);
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy463;
- goto yy458;
- } else {
- if (yych <= ' ') goto yy463;
- if (yych != '=') goto yy458;
- }
-yy460:
- ++cur;
- if (lim <= cur) fill(1);
- yych = (unsigned char)*cur;
- if (yybm[0+yych] & 128) {
- goto yy460;
- }
-#line 162 "../src/parse/lex_conf.re"
- { return; }
-#line 2004 "src/parse/lex_conf.cc"
-yy463:
- ++cur;
- if (lim <= cur) fill(1);
- yych = (unsigned char)*cur;
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy463;
- } else {
- if (yych <= ' ') goto yy463;
- if (yych == '=') goto yy460;
- }
- cur = ptr;
- goto yy458;
-}
-#line 163 "../src/parse/lex_conf.re"
-
-}
-
-void Scanner::lex_conf_semicolon ()
-{
-
-#line 2025 "src/parse/lex_conf.cc"
-{
- unsigned char yych;
- static const unsigned char yybm[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 128, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 128, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- };
- if ((lim - cur) < 2) fill(2);
- yych = (unsigned char)*cur;
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy470;
- } else {
- if (yych <= ' ') goto yy470;
- if (yych == ';') goto yy471;
- }
- ++cur;
-yy469:
-#line 169 "../src/parse/lex_conf.re"
- { fatal ("missing ending ';' in configuration"); }
-#line 2074 "src/parse/lex_conf.cc"
-yy470:
- yych = (unsigned char)*(ptr = ++cur);
- if (yybm[0+yych] & 128) {
- goto yy473;
- }
- if (yych != ';') goto yy469;
-yy471:
- ++cur;
-#line 170 "../src/parse/lex_conf.re"
- { return; }
-#line 2085 "src/parse/lex_conf.cc"
-yy473:
- ++cur;
- if (lim <= cur) fill(1);
- yych = (unsigned char)*cur;
- if (yybm[0+yych] & 128) {
- goto yy473;
- }
- if (yych == ';') goto yy471;
- cur = ptr;
- goto yy469;
-}
-#line 171 "../src/parse/lex_conf.re"
-
-}
-
-int32_t Scanner::lex_conf_number ()
-{
- lex_conf_assign ();
- tok = cur;
-
-#line 2106 "src/parse/lex_conf.cc"
-{
- unsigned char yych;
- static const unsigned char yybm[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- };
- if ((lim - cur) < 2) fill(2);
- yych = (unsigned char)*cur;
- if (yych <= '/') {
- if (yych == '-') goto yy479;
- } else {
- if (yych <= '0') goto yy480;
- if (yych <= '9') goto yy482;
- }
-yy478:
-yy479:
- yych = (unsigned char)*++cur;
- if (yych <= '0') goto yy478;
- if (yych <= '9') goto yy482;
- goto yy478;
-yy480:
- ++cur;
-yy481:
-#line 180 "../src/parse/lex_conf.re"
- {
- int32_t n = 0;
- if (!s_to_i32_unsafe (tok, cur, n))
- {
- fatal ("configuration value overflow");
- }
- lex_conf_semicolon ();
- return n;
- }
-#line 2170 "src/parse/lex_conf.cc"
-yy482:
- ++cur;
- if (lim <= cur) fill(1);
- yych = (unsigned char)*cur;
- if (yybm[0+yych] & 128) {
- goto yy482;
- }
- goto yy481;
-}
-#line 189 "../src/parse/lex_conf.re"
-
-}
-
-std::string Scanner::lex_conf_string ()
-{
- lex_conf_assign ();
- std::string s;
- tok = cur;
-
-#line 2190 "src/parse/lex_conf.cc"
-{
- unsigned char yych;
- static const unsigned char yybm[] = {
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 0, 0, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 0, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 0, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- };
- if (lim <= cur) fill(1);
- yych = (unsigned char)*cur;
- if (yych <= '!') {
- if (yych <= '\n') {
- if (yych <= 0x08) goto yy487;
- } else {
- if (yych != ' ') goto yy487;
- }
- } else {
- if (yych <= '\'') {
- if (yych <= '"') goto yy489;
- if (yych <= '&') goto yy487;
- goto yy489;
- } else {
- if (yych != ';') goto yy487;
- }
- }
-yy486:
-#line 212 "../src/parse/lex_conf.re"
- {
- s = std::string(tok, tok_len());
- goto end;
- }
-#line 2250 "src/parse/lex_conf.cc"
-yy487:
- ++cur;
- if (lim <= cur) fill(1);
- yych = (unsigned char)*cur;
- if (yybm[0+yych] & 128) {
- goto yy487;
- }
- goto yy486;
-yy489:
- ++cur;
-#line 198 "../src/parse/lex_conf.re"
- {
- const char quote = tok[0];
- for (bool end;;) {
- const uint32_t c = lex_str_chr(quote, end);
- if (end) {
- goto end;
- }
- if (c > 0xFF) {
- fatalf ("multibyte character in configuration string: 0x%X", c);
- } else {
- s += static_cast<char>(c);
- }
- }
- }
-#line 2276 "src/parse/lex_conf.cc"
-}
-#line 216 "../src/parse/lex_conf.re"
-
-end:
- lex_conf_semicolon ();
- return s;
-}
-
-} // end namespace re2c
diff --git a/bootstrap/src/parse/parser.cc b/bootstrap/src/parse/parser.cc
deleted file mode 100644
index 8a795325..00000000
--- a/bootstrap/src/parse/parser.cc
+++ /dev/null
@@ -1,2464 +0,0 @@
-/* A Bison parser, made by GNU Bison 2.4.3. */
-
-/* Skeleton implementation for Bison's Yacc-like parsers in C
-
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
- 2009, 2010 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
-
-/* As a special exception, you may create a larger work that contains
- part or all of the Bison parser skeleton and distribute that work
- under terms of your choice, so long as that work isn't itself a
- parser generator using the skeleton or a modified version thereof
- as a parser skeleton. Alternatively, if you modify or redistribute
- the parser skeleton itself, you may (at your option) remove this
- special exception, which will cause the skeleton and the resulting
- Bison output files to be licensed under the GNU General Public
- License without this special exception.
-
- This special exception was added by the Free Software Foundation in
- version 2.2 of Bison. */
-
-/* C LALR(1) parser skeleton written by Richard Stallman, by
- simplifying the original so-called "semantic" parser. */
-
-/* All symbols defined below should begin with yy or YY, to avoid
- infringing on user name space. This should be done even for local
- variables, as they might otherwise be expanded by user macros.
- There are some unavoidable exceptions within include files to
- define necessary library symbols; they are noted "INFRINGES ON
- USER NAME SPACE" below. */
-
-/* Identify Bison output. */
-#define YYBISON 1
-
-/* Bison version. */
-#define YYBISON_VERSION "2.4.3"
-
-/* Skeleton name. */
-#define YYSKELETON_NAME "yacc.c"
-
-/* Pure parsers. */
-#define YYPURE 0
-
-/* Push parsers. */
-#define YYPUSH 0
-
-/* Pull parsers. */
-#define YYPULL 1
-
-/* Using locations. */
-#define YYLSP_NEEDED 0
-
-
-
-/* Copy the first part of user declarations. */
-
-
-
-#include "src/util/c99_stdint.h"
-#include <assert.h>
-#include <stddef.h>
-#include <stdlib.h>
-#include <limits>
-#include <list>
-#include <map>
-#include <set>
-#include <string>
-#include <utility>
-#include <vector>
-
-#include "src/codegen/output.h"
-#include "src/conf/opt.h"
-#include "src/globals.h"
-#include "src/ir/compile.h"
-#include "src/ir/adfa/adfa.h"
-#include "src/ir/regexp/encoding/enc.h"
-#include "src/ir/regexp/encoding/range_suffix.h"
-#include "src/ir/regexp/regexp.h"
-#include "src/ir/regexp/regexp_cat.h"
-#include "src/ir/regexp/regexp_close.h"
-#include "src/ir/regexp/regexp_null.h"
-#include "src/ir/regexp/regexp_rule.h"
-#include "src/ir/rule_rank.h"
-#include "src/ir/skeleton/skeleton.h"
-#include "src/parse/code.h"
-#include "src/parse/extop.h"
-#include "src/parse/loc.h"
-#include "src/parse/parser.h"
-#include "src/parse/scanner.h"
-#include "src/parse/spec.h"
-#include "src/util/counter.h"
-#include "src/util/free_list.h"
-#include "src/util/range.h"
-#include "src/util/smart_ptr.h"
-
-#define YYMALLOC malloc
-#define YYFREE free
-
-using namespace re2c;
-
-extern "C"
-{
-int yylex();
-void yyerror(const char*);
-}
-
-static counter_t<rule_rank_t> rank_counter;
-static std::vector<std::string> condnames;
-static re2c::SpecMap specMap;
-static Spec spec;
-static RuleOp *specNone = NULL;
-static RuleOpList specStar;
-static RuleOp * star_default = NULL;
-static Scanner *in = NULL;
-static Scanner::ParseMode parseMode;
-static SetupMap ruleSetupMap;
-static bool foundRules;
-static symbol_table_t symbol_table;
-
-/* Bison version 1.875 emits a definition that is not working
- * with several g++ version. Hence we disable it here.
- */
-#if defined(__GNUC__)
-#define __attribute__(x)
-#endif
-
-void context_check(CondList *clist)
-{
- if (!opts->cFlag)
- {
- delete clist;
- in->fatal("conditions are only allowed when using -c switch");
- }
-}
-
-void context_none(CondList *clist)
-{
- delete clist;
- context_check(NULL);
- in->fatal("no expression specified");
-}
-
-void context_rule
- ( CondList * clist
- , const Loc & loc
- , RegExp * expr
- , RegExp * look
- , const Code * code
- , const std::string * newcond
- )
-{
- context_check(clist);
- for(CondList::const_iterator it = clist->begin(); it != clist->end(); ++it)
- {
- if (specMap.find(*it) == specMap.end())
- {
- condnames.push_back (*it);
- }
-
- RuleOp * rule = new RuleOp
- ( loc
- , expr
- , look
- , rank_counter.next ()
- , code
- , newcond
- );
- specMap[*it].add (rule);
- }
- delete clist;
- delete newcond;
-}
-
-void setup_rule(CondList *clist, const Code * code)
-{
- assert(clist);
- assert(code);
- context_check(clist);
- for(CondList::const_iterator it = clist->begin(); it != clist->end(); ++it)
- {
- if (ruleSetupMap.find(*it) != ruleSetupMap.end())
- {
- in->fatalf_at(code->loc.line, "code to setup rule '%s' is already defined", it->c_str());
- }
- ruleSetupMap[*it] = std::make_pair(code->loc.line, code->text);
- }
- delete clist;
-}
-
-void default_rule(CondList *clist, const Code * code)
-{
- assert(clist);
- assert(code);
- context_check(clist);
- for(CondList::const_iterator it = clist->begin(); it != clist->end(); ++it)
- {
- RuleOp * def = new RuleOp
- ( code->loc
- , in->mkDefault ()
- , new NullOp
- , rule_rank_t::def ()
- , code
- , NULL
- );
- if (!specMap[*it].add_def (def))
- {
- in->fatalf_at(code->loc.line, "code to default rule '%s' is already defined", it->c_str());
- }
- }
- delete clist;
-}
-
-
-
-
-/* Enabling traces. */
-#ifndef YYDEBUG
-# define YYDEBUG 0
-#endif
-
-/* Enabling verbose error messages. */
-#ifdef YYERROR_VERBOSE
-# undef YYERROR_VERBOSE
-# define YYERROR_VERBOSE 1
-#else
-# define YYERROR_VERBOSE 0
-#endif
-
-/* Enabling the token table. */
-#ifndef YYTOKEN_TABLE
-# define YYTOKEN_TABLE 0
-#endif
-
-
-/* Tokens. */
-#ifndef YYTOKENTYPE
-# define YYTOKENTYPE
- /* Put the tokens into the symbol table, so that GDB and other debuggers
- know about them. */
- enum yytokentype {
- TOKEN_CLOSE = 258,
- TOKEN_CLOSESIZE = 259,
- TOKEN_CODE = 260,
- TOKEN_CONF = 261,
- TOKEN_ID = 262,
- TOKEN_FID = 263,
- TOKEN_FID_END = 264,
- TOKEN_NOCOND = 265,
- TOKEN_REGEXP = 266,
- TOKEN_SETUP = 267,
- TOKEN_STAR = 268
- };
-#endif
-
-
-
-#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
-typedef union YYSTYPE
-{
-
-
- re2c::RegExp * regexp;
- const re2c::Code * code;
- char op;
- re2c::ExtOp extop;
- std::string * str;
- re2c::CondList * clist;
-
-
-
-} YYSTYPE;
-# define YYSTYPE_IS_TRIVIAL 1
-# define yystype YYSTYPE /* obsolescent; will be withdrawn */
-# define YYSTYPE_IS_DECLARED 1
-#endif
-
-
-/* Copy the second part of user declarations. */
-
-
-
-#ifdef short
-# undef short
-#endif
-
-#ifdef YYTYPE_UINT8
-typedef YYTYPE_UINT8 yytype_uint8;
-#else
-typedef unsigned char yytype_uint8;
-#endif
-
-#ifdef YYTYPE_INT8
-typedef YYTYPE_INT8 yytype_int8;
-#elif (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-typedef signed char yytype_int8;
-#else
-typedef short int yytype_int8;
-#endif
-
-#ifdef YYTYPE_UINT16
-typedef YYTYPE_UINT16 yytype_uint16;
-#else
-typedef unsigned short int yytype_uint16;
-#endif
-
-#ifdef YYTYPE_INT16
-typedef YYTYPE_INT16 yytype_int16;
-#else
-typedef short int yytype_int16;
-#endif
-
-#ifndef YYSIZE_T
-# ifdef __SIZE_TYPE__
-# define YYSIZE_T __SIZE_TYPE__
-# elif defined size_t
-# define YYSIZE_T size_t
-# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
-# define YYSIZE_T size_t
-# else
-# define YYSIZE_T unsigned int
-# endif
-#endif
-
-#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
-
-#ifndef YY_
-# if defined YYENABLE_NLS && YYENABLE_NLS
-# if ENABLE_NLS
-# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
-# define YY_(msgid) dgettext ("bison-runtime", msgid)
-# endif
-# endif
-# ifndef YY_
-# define YY_(msgid) msgid
-# endif
-#endif
-
-/* Suppress unused-variable warnings by "using" E. */
-#if ! defined lint || defined __GNUC__
-# define YYUSE(e) ((void) (e))
-#else
-# define YYUSE(e) /* empty */
-#endif
-
-/* Identity function, used to suppress warnings about constant conditions. */
-#ifndef lint
-# define YYID(n) (n)
-#else
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-static int
-YYID (int yyi)
-#else
-static int
-YYID (yyi)
- int yyi;
-#endif
-{
- return yyi;
-}
-#endif
-
-#if ! defined yyoverflow || YYERROR_VERBOSE
-
-/* The parser invokes alloca or malloc; define the necessary symbols. */
-
-# ifdef YYSTACK_USE_ALLOCA
-# if YYSTACK_USE_ALLOCA
-# ifdef __GNUC__
-# define YYSTACK_ALLOC __builtin_alloca
-# elif defined __BUILTIN_VA_ARG_INCR
-# include <alloca.h> /* INFRINGES ON USER NAME SPACE */
-# elif defined _AIX
-# define YYSTACK_ALLOC __alloca
-# elif defined _MSC_VER
-# include <malloc.h> /* INFRINGES ON USER NAME SPACE */
-# define alloca _alloca
-# else
-# define YYSTACK_ALLOC alloca
-# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-# ifndef _STDLIB_H
-# define _STDLIB_H 1
-# endif
-# endif
-# endif
-# endif
-# endif
-
-# ifdef YYSTACK_ALLOC
- /* Pacify GCC's `empty if-body' warning. */
-# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
-# ifndef YYSTACK_ALLOC_MAXIMUM
- /* The OS might guarantee only one guard page at the bottom of the stack,
- and a page size can be as small as 4096 bytes. So we cannot safely
- invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
- to allow for a few compiler-allocated temporary stack slots. */
-# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
-# endif
-# else
-# define YYSTACK_ALLOC YYMALLOC
-# define YYSTACK_FREE YYFREE
-# ifndef YYSTACK_ALLOC_MAXIMUM
-# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
-# endif
-# if (defined __cplusplus && ! defined _STDLIB_H \
- && ! ((defined YYMALLOC || defined malloc) \
- && (defined YYFREE || defined free)))
-# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-# ifndef _STDLIB_H
-# define _STDLIB_H 1
-# endif
-# endif
-# ifndef YYMALLOC
-# define YYMALLOC malloc
-# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
-# endif
-# endif
-# ifndef YYFREE
-# define YYFREE free
-# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-void free (void *); /* INFRINGES ON USER NAME SPACE */
-# endif
-# endif
-# endif
-#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
-
-
-#if (! defined yyoverflow \
- && (! defined __cplusplus \
- || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
-
-/* A type that is properly aligned for any stack member. */
-union yyalloc
-{
- yytype_int16 yyss_alloc;
- YYSTYPE yyvs_alloc;
-};
-
-/* The size of the maximum gap between one aligned stack and the next. */
-# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
-
-/* The size of an array large to enough to hold all stacks, each with
- N elements. */
-# define YYSTACK_BYTES(N) \
- ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
- + YYSTACK_GAP_MAXIMUM)
-
-/* Copy COUNT objects from FROM to TO. The source and destination do
- not overlap. */
-# ifndef YYCOPY
-# if defined __GNUC__ && 1 < __GNUC__
-# define YYCOPY(To, From, Count) \
- __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
-# else
-# define YYCOPY(To, From, Count) \
- do \
- { \
- YYSIZE_T yyi; \
- for (yyi = 0; yyi < (Count); yyi++) \
- (To)[yyi] = (From)[yyi]; \
- } \
- while (YYID (0))
-# endif
-# endif
-
-/* Relocate STACK from its old location to the new one. The
- local variables YYSIZE and YYSTACKSIZE give the old and new number of
- elements in the stack, and YYPTR gives the new location of the
- stack. Advance YYPTR to a properly aligned location for the next
- stack. */
-# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
- do \
- { \
- YYSIZE_T yynewbytes; \
- YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
- Stack = &yyptr->Stack_alloc; \
- yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
- yyptr += yynewbytes / sizeof (*yyptr); \
- } \
- while (YYID (0))
-
-#endif
-
-/* YYFINAL -- State number of the termination state. */
-#define YYFINAL 2
-/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 104
-
-/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS 25
-/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS 14
-/* YYNRULES -- Number of rules. */
-#define YYNRULES 49
-/* YYNRULES -- Number of states. */
-#define YYNSTATES 92
-
-/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
-#define YYUNDEFTOK 2
-#define YYMAXUTOK 268
-
-#define YYTRANSLATE(YYX) \
- ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
-
-/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
-static const yytype_uint8 yytranslate[] =
-{
- 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 23, 24, 2, 2, 20, 2, 2, 16, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 19, 15,
- 17, 14, 18, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 22, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 21, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
- 5, 6, 7, 8, 9, 10, 11, 12, 13
-};
-
-#if YYDEBUG
-/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
- YYRHS. */
-static const yytype_uint8 yyprhs[] =
-{
- 0, 0, 3, 4, 7, 10, 15, 19, 24, 28,
- 30, 34, 37, 45, 53, 60, 67, 73, 81, 89,
- 96, 103, 109, 113, 117, 122, 127, 128, 130, 132,
- 136, 137, 141, 142, 145, 147, 151, 153, 157, 159,
- 162, 164, 167, 170, 172, 174, 177, 180, 182, 184
-};
-
-/* YYRHS -- A `-1'-separated list of the rules' RHS. */
-static const yytype_int8 yyrhs[] =
-{
- 26, 0, -1, -1, 26, 28, -1, 26, 27, -1,
- 7, 14, 33, 15, -1, 8, 33, 9, -1, 7,
- 14, 33, 16, -1, 8, 33, 16, -1, 6, -1,
- 33, 32, 5, -1, 13, 5, -1, 17, 29, 18,
- 33, 32, 31, 5, -1, 17, 29, 18, 33, 32,
- 19, 31, -1, 17, 29, 18, 32, 31, 5, -1,
- 17, 29, 18, 32, 19, 31, -1, 17, 29, 18,
- 13, 5, -1, 17, 13, 18, 33, 32, 31, 5,
- -1, 17, 13, 18, 33, 32, 19, 31, -1, 17,
- 13, 18, 32, 31, 5, -1, 17, 13, 18, 32,
- 19, 31, -1, 17, 13, 18, 13, 5, -1, 10,
- 31, 5, -1, 10, 19, 31, -1, 12, 13, 18,
- 5, -1, 12, 29, 18, 5, -1, -1, 30, -1,
- 7, -1, 30, 20, 7, -1, -1, 14, 18, 7,
- -1, -1, 16, 33, -1, 34, -1, 33, 21, 34,
- -1, 35, -1, 34, 22, 35, -1, 36, -1, 35,
- 36, -1, 38, -1, 38, 37, -1, 38, 4, -1,
- 3, -1, 13, -1, 37, 3, -1, 37, 13, -1,
- 7, -1, 11, -1, 23, 33, 24, -1
-};
-
-/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
-static const yytype_uint16 yyrline[] =
-{
- 0, 193, 193, 195, 199, 203, 211, 219, 223, 227,
- 231, 247, 264, 268, 274, 279, 285, 289, 303, 319,
- 324, 330, 345, 362, 381, 387, 395, 398, 405, 411,
- 421, 424, 432, 435, 442, 446, 453, 457, 464, 468,
- 475, 479, 494, 513, 517, 521, 525, 532, 542, 546
-};
-#endif
-
-#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
-/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
- First, the terminals, then, starting at YYNTOKENS, nonterminals. */
-static const char *const yytname[] =
-{
- "$end", "error", "$undefined", "TOKEN_CLOSE", "TOKEN_CLOSESIZE",
- "TOKEN_CODE", "TOKEN_CONF", "TOKEN_ID", "TOKEN_FID", "TOKEN_FID_END",
- "TOKEN_NOCOND", "TOKEN_REGEXP", "TOKEN_SETUP", "TOKEN_STAR", "'='",
- "';'", "'/'", "'<'", "'>'", "':'", "','", "'|'", "'\\\\'", "'('", "')'",
- "$accept", "spec", "decl", "rule", "cond", "clist", "newcond", "look",
- "expr", "diff", "term", "factor", "close", "primary", 0
-};
-#endif
-
-# ifdef YYPRINT
-/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
- token YYLEX-NUM. */
-static const yytype_uint16 yytoknum[] =
-{
- 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
- 265, 266, 267, 268, 61, 59, 47, 60, 62, 58,
- 44, 124, 92, 40, 41
-};
-# endif
-
-/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
-static const yytype_uint8 yyr1[] =
-{
- 0, 25, 26, 26, 26, 27, 27, 27, 27, 27,
- 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
- 28, 28, 28, 28, 28, 28, 29, 29, 30, 30,
- 31, 31, 32, 32, 33, 33, 34, 34, 35, 35,
- 36, 36, 36, 37, 37, 37, 37, 38, 38, 38
-};
-
-/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
-static const yytype_uint8 yyr2[] =
-{
- 0, 2, 0, 2, 2, 4, 3, 4, 3, 1,
- 3, 2, 7, 7, 6, 6, 5, 7, 7, 6,
- 6, 5, 3, 3, 4, 4, 0, 1, 1, 3,
- 0, 3, 0, 2, 1, 3, 1, 3, 1, 2,
- 1, 2, 2, 1, 1, 2, 2, 1, 1, 3
-};
-
-/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
- STATE-NUM when YYTABLE doesn't specify something else to do. Zero
- means the default is an error. */
-static const yytype_uint8 yydefact[] =
-{
- 2, 0, 1, 9, 47, 0, 30, 48, 26, 0,
- 26, 0, 4, 3, 32, 34, 36, 38, 40, 0,
- 47, 0, 0, 30, 0, 28, 0, 0, 27, 11,
- 0, 0, 0, 0, 0, 0, 0, 39, 43, 42,
- 44, 41, 0, 6, 8, 0, 23, 22, 0, 0,
- 0, 32, 32, 49, 33, 35, 10, 37, 45, 46,
- 5, 7, 31, 24, 25, 29, 0, 30, 32, 0,
- 30, 32, 21, 30, 0, 30, 16, 30, 0, 30,
- 20, 19, 30, 0, 15, 14, 30, 0, 18, 17,
- 13, 12
-};
-
-/* YYDEFGOTO[NTERM-NUM]. */
-static const yytype_int8 yydefgoto[] =
-{
- -1, 1, 12, 13, 27, 28, 24, 35, 14, 15,
- 16, 17, 41, 18
-};
-
-/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
- STATE-NUM. */
-#define YYPACT_NINF -43
-static const yytype_int8 yypact[] =
-{
- -43, 11, -43, -43, -11, 30, 47, -43, 25, 10,
- 33, 30, -43, -43, 48, 17, 30, -43, 1, 30,
- -43, 4, 40, 60, 70, -43, 61, 63, 42, -43,
- 64, 66, 59, 30, 30, 73, 30, -43, -43, -43,
- -43, 32, -9, -43, -43, 78, -43, -43, 81, 82,
- 83, 20, 44, -43, 67, 17, -43, 30, -43, -43,
- -43, -43, -43, -43, -43, -43, 84, 51, 48, 86,
- 54, 48, -43, 60, 87, 57, -43, 60, 88, 58,
- -43, -43, 60, 89, -43, -43, 60, 90, -43, -43,
- -43, -43
-};
-
-/* YYPGOTO[NTERM-NUM]. */
-static const yytype_int8 yypgoto[] =
-{
- -43, -43, -43, -43, 91, -43, -23, -42, -3, 62,
- 68, -15, -43, -43
-};
-
-/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
- positive, shift that token. If negative, reduce the rule which
- number is the opposite. If zero, do what YYDEFACT says.
- If YYTABLE_NINF, syntax error. */
-#define YYTABLE_NINF -1
-static const yytype_uint8 yytable[] =
-{
- 46, 37, 21, 19, 38, 39, 60, 61, 32, 67,
- 70, 2, 34, 43, 40, 29, 42, 3, 4, 5,
- 44, 6, 7, 8, 9, 34, 75, 20, 10, 79,
- 54, 7, 25, 66, 11, 58, 33, 20, 26, 36,
- 25, 7, 37, 11, 74, 59, 30, 78, 68, 71,
- 80, 20, 83, 11, 84, 7, 87, 69, 45, 88,
- 33, 22, 50, 90, 33, 22, 23, 11, 22, 34,
- 73, 22, 22, 77, 22, 47, 82, 86, 56, 48,
- 34, 49, 51, 53, 52, 62, 63, 64, 34, 72,
- 65, 76, 81, 85, 89, 91, 55, 0, 0, 0,
- 0, 31, 0, 0, 57
-};
-
-static const yytype_int8 yycheck[] =
-{
- 23, 16, 5, 14, 3, 4, 15, 16, 11, 51,
- 52, 0, 21, 9, 13, 5, 19, 6, 7, 8,
- 16, 10, 11, 12, 13, 21, 68, 7, 17, 71,
- 33, 11, 7, 13, 23, 3, 16, 7, 13, 22,
- 7, 11, 57, 23, 67, 13, 13, 70, 51, 52,
- 73, 7, 75, 23, 77, 11, 79, 13, 18, 82,
- 16, 14, 20, 86, 16, 14, 19, 23, 14, 21,
- 19, 14, 14, 19, 14, 5, 19, 19, 5, 18,
- 21, 18, 18, 24, 18, 7, 5, 5, 21, 5,
- 7, 5, 5, 5, 5, 5, 34, -1, -1, -1,
- -1, 10, -1, -1, 36
-};
-
-/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
- symbol of state STATE-NUM. */
-static const yytype_uint8 yystos[] =
-{
- 0, 26, 0, 6, 7, 8, 10, 11, 12, 13,
- 17, 23, 27, 28, 33, 34, 35, 36, 38, 14,
- 7, 33, 14, 19, 31, 7, 13, 29, 30, 5,
- 13, 29, 33, 16, 21, 32, 22, 36, 3, 4,
- 13, 37, 33, 9, 16, 18, 31, 5, 18, 18,
- 20, 18, 18, 24, 33, 34, 5, 35, 3, 13,
- 15, 16, 7, 5, 5, 7, 13, 32, 33, 13,
- 32, 33, 5, 19, 31, 32, 5, 19, 31, 32,
- 31, 5, 19, 31, 31, 5, 19, 31, 31, 5,
- 31, 5
-};
-
-#define yyerrok (yyerrstatus = 0)
-#define yyclearin (yychar = YYEMPTY)
-#define YYEMPTY (-2)
-#define YYEOF 0
-
-#define YYACCEPT goto yyacceptlab
-#define YYABORT goto yyabortlab
-#define YYERROR goto yyerrorlab
-
-
-/* Like YYERROR except do call yyerror. This remains here temporarily
- to ease the transition to the new meaning of YYERROR, for GCC.
- Once GCC version 2 has supplanted version 1, this can go. However,
- YYFAIL appears to be in use. Nevertheless, it is formally deprecated
- in Bison 2.4.2's NEWS entry, where a plan to phase it out is
- discussed. */
-
-#define YYFAIL goto yyerrlab
-#if defined YYFAIL
- /* This is here to suppress warnings from the GCC cpp's
- -Wunused-macros. Normally we don't worry about that warning, but
- some users do, and we want to make it easy for users to remove
- YYFAIL uses, which will produce warnings from Bison 2.5. */
-#endif
-
-#define YYRECOVERING() (!!yyerrstatus)
-
-#define YYBACKUP(Token, Value) \
-do \
- if (yychar == YYEMPTY && yylen == 1) \
- { \
- yychar = (Token); \
- yylval = (Value); \
- yytoken = YYTRANSLATE (yychar); \
- YYPOPSTACK (1); \
- goto yybackup; \
- } \
- else \
- { \
- yyerror (YY_("syntax error: cannot back up")); \
- YYERROR; \
- } \
-while (YYID (0))
-
-
-#define YYTERROR 1
-#define YYERRCODE 256
-
-
-/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
- If N is 0, then set CURRENT to the empty location which ends
- the previous symbol: RHS[0] (always defined). */
-
-#define YYRHSLOC(Rhs, K) ((Rhs)[K])
-#ifndef YYLLOC_DEFAULT
-# define YYLLOC_DEFAULT(Current, Rhs, N) \
- do \
- if (YYID (N)) \
- { \
- (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
- (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
- (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
- (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
- } \
- else \
- { \
- (Current).first_line = (Current).last_line = \
- YYRHSLOC (Rhs, 0).last_line; \
- (Current).first_column = (Current).last_column = \
- YYRHSLOC (Rhs, 0).last_column; \
- } \
- while (YYID (0))
-#endif
-
-
-/* YY_LOCATION_PRINT -- Print the location on the stream.
- This macro was not mandated originally: define only if we know
- we won't break user code: when these are the locations we know. */
-
-#ifndef YY_LOCATION_PRINT
-# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
-# define YY_LOCATION_PRINT(File, Loc) \
- fprintf (File, "%d.%d-%d.%d", \
- (Loc).first_line, (Loc).first_column, \
- (Loc).last_line, (Loc).last_column)
-# else
-# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
-# endif
-#endif
-
-
-/* YYLEX -- calling `yylex' with the right arguments. */
-
-#ifdef YYLEX_PARAM
-# define YYLEX yylex (YYLEX_PARAM)
-#else
-# define YYLEX yylex ()
-#endif
-
-/* Enable debugging if requested. */
-#if YYDEBUG
-
-# ifndef YYFPRINTF
-# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
-# define YYFPRINTF fprintf
-# endif
-
-# define YYDPRINTF(Args) \
-do { \
- if (yydebug) \
- YYFPRINTF Args; \
-} while (YYID (0))
-
-# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
-do { \
- if (yydebug) \
- { \
- YYFPRINTF (stderr, "%s ", Title); \
- yy_symbol_print (stderr, \
- Type, Value); \
- YYFPRINTF (stderr, "\n"); \
- } \
-} while (YYID (0))
-
-
-/*--------------------------------.
-| Print this symbol on YYOUTPUT. |
-`--------------------------------*/
-
-/*ARGSUSED*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-static void
-yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
-#else
-static void
-yy_symbol_value_print (yyoutput, yytype, yyvaluep)
- FILE *yyoutput;
- int yytype;
- YYSTYPE const * const yyvaluep;
-#endif
-{
- if (!yyvaluep)
- return;
-# ifdef YYPRINT
- if (yytype < YYNTOKENS)
- YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
-# else
- YYUSE (yyoutput);
-# endif
- switch (yytype)
- {
- default:
- break;
- }
-}
-
-
-/*--------------------------------.
-| Print this symbol on YYOUTPUT. |
-`--------------------------------*/
-
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-static void
-yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
-#else
-static void
-yy_symbol_print (yyoutput, yytype, yyvaluep)
- FILE *yyoutput;
- int yytype;
- YYSTYPE const * const yyvaluep;
-#endif
-{
- if (yytype < YYNTOKENS)
- YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
- else
- YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
-
- yy_symbol_value_print (yyoutput, yytype, yyvaluep);
- YYFPRINTF (yyoutput, ")");
-}
-
-/*------------------------------------------------------------------.
-| yy_stack_print -- Print the state stack from its BOTTOM up to its |
-| TOP (included). |
-`------------------------------------------------------------------*/
-
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-static void
-yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
-#else
-static void
-yy_stack_print (yybottom, yytop)
- yytype_int16 *yybottom;
- yytype_int16 *yytop;
-#endif
-{
- YYFPRINTF (stderr, "Stack now");
- for (; yybottom <= yytop; yybottom++)
- {
- int yybot = *yybottom;
- YYFPRINTF (stderr, " %d", yybot);
- }
- YYFPRINTF (stderr, "\n");
-}
-
-# define YY_STACK_PRINT(Bottom, Top) \
-do { \
- if (yydebug) \
- yy_stack_print ((Bottom), (Top)); \
-} while (YYID (0))
-
-
-/*------------------------------------------------.
-| Report that the YYRULE is going to be reduced. |
-`------------------------------------------------*/
-
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-static void
-yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
-#else
-static void
-yy_reduce_print (yyvsp, yyrule)
- YYSTYPE *yyvsp;
- int yyrule;
-#endif
-{
- int yynrhs = yyr2[yyrule];
- int yyi;
- unsigned long int yylno = yyrline[yyrule];
- YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
- yyrule - 1, yylno);
- /* The symbols being reduced. */
- for (yyi = 0; yyi < yynrhs; yyi++)
- {
- YYFPRINTF (stderr, " $%d = ", yyi + 1);
- yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
- &(yyvsp[(yyi + 1) - (yynrhs)])
- );
- YYFPRINTF (stderr, "\n");
- }
-}
-
-# define YY_REDUCE_PRINT(Rule) \
-do { \
- if (yydebug) \
- yy_reduce_print (yyvsp, Rule); \
-} while (YYID (0))
-
-/* Nonzero means print parse trace. It is left uninitialized so that
- multiple parsers can coexist. */
-int yydebug;
-#else /* !YYDEBUG */
-# define YYDPRINTF(Args)
-# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
-# define YY_STACK_PRINT(Bottom, Top)
-# define YY_REDUCE_PRINT(Rule)
-#endif /* !YYDEBUG */
-
-
-/* YYINITDEPTH -- initial size of the parser's stacks. */
-#ifndef YYINITDEPTH
-# define YYINITDEPTH 200
-#endif
-
-/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
- if the built-in stack extension method is used).
-
- Do not make this value too large; the results are undefined if
- YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
- evaluated with infinite-precision integer arithmetic. */
-
-#ifndef YYMAXDEPTH
-# define YYMAXDEPTH 10000
-#endif
-
-
-
-#if YYERROR_VERBOSE
-
-# ifndef yystrlen
-# if defined __GLIBC__ && defined _STRING_H
-# define yystrlen strlen
-# else
-/* Return the length of YYSTR. */
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-static YYSIZE_T
-yystrlen (const char *yystr)
-#else
-static YYSIZE_T
-yystrlen (yystr)
- const char *yystr;
-#endif
-{
- YYSIZE_T yylen;
- for (yylen = 0; yystr[yylen]; yylen++)
- continue;
- return yylen;
-}
-# endif
-# endif
-
-# ifndef yystpcpy
-# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
-# define yystpcpy stpcpy
-# else
-/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
- YYDEST. */
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-static char *
-yystpcpy (char *yydest, const char *yysrc)
-#else
-static char *
-yystpcpy (yydest, yysrc)
- char *yydest;
- const char *yysrc;
-#endif
-{
- char *yyd = yydest;
- const char *yys = yysrc;
-
- while ((*yyd++ = *yys++) != '\0')
- continue;
-
- return yyd - 1;
-}
-# endif
-# endif
-
-# ifndef yytnamerr
-/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
- quotes and backslashes, so that it's suitable for yyerror. The
- heuristic is that double-quoting is unnecessary unless the string
- contains an apostrophe, a comma, or backslash (other than
- backslash-backslash). YYSTR is taken from yytname. If YYRES is
- null, do not copy; instead, return the length of what the result
- would have been. */
-static YYSIZE_T
-yytnamerr (char *yyres, const char *yystr)
-{
- if (*yystr == '"')
- {
- YYSIZE_T yyn = 0;
- char const *yyp = yystr;
-
- for (;;)
- switch (*++yyp)
- {
- case '\'':
- case ',':
- goto do_not_strip_quotes;
-
- case '\\':
- if (*++yyp != '\\')
- goto do_not_strip_quotes;
- /* Fall through. */
- default:
- if (yyres)
- yyres[yyn] = *yyp;
- yyn++;
- break;
-
- case '"':
- if (yyres)
- yyres[yyn] = '\0';
- return yyn;
- }
- do_not_strip_quotes: ;
- }
-
- if (! yyres)
- return yystrlen (yystr);
-
- return yystpcpy (yyres, yystr) - yyres;
-}
-# endif
-
-/* Copy into YYRESULT an error message about the unexpected token
- YYCHAR while in state YYSTATE. Return the number of bytes copied,
- including the terminating null byte. If YYRESULT is null, do not
- copy anything; just return the number of bytes that would be
- copied. As a special case, return 0 if an ordinary "syntax error"
- message will do. Return YYSIZE_MAXIMUM if overflow occurs during
- size calculation. */
-static YYSIZE_T
-yysyntax_error (char *yyresult, int yystate, int yychar)
-{
- int yyn = yypact[yystate];
-
- if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
- return 0;
- else
- {
- int yytype = YYTRANSLATE (yychar);
- YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
- YYSIZE_T yysize = yysize0;
- YYSIZE_T yysize1;
- int yysize_overflow = 0;
- enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
- char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
- int yyx;
-
-# if 0
- /* This is so xgettext sees the translatable formats that are
- constructed on the fly. */
- YY_("syntax error, unexpected %s");
- YY_("syntax error, unexpected %s, expecting %s");
- YY_("syntax error, unexpected %s, expecting %s or %s");
- YY_("syntax error, unexpected %s, expecting %s or %s or %s");
- YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
-# endif
- char *yyfmt;
- char const *yyf;
- static char const yyunexpected[] = "syntax error, unexpected %s";
- static char const yyexpecting[] = ", expecting %s";
- static char const yyor[] = " or %s";
- char yyformat[sizeof yyunexpected
- + sizeof yyexpecting - 1
- + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
- * (sizeof yyor - 1))];
- char const *yyprefix = yyexpecting;
-
- /* Start YYX at -YYN if negative to avoid negative indexes in
- YYCHECK. */
- int yyxbegin = yyn < 0 ? -yyn : 0;
-
- /* Stay within bounds of both yycheck and yytname. */
- int yychecklim = YYLAST - yyn + 1;
- int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
- int yycount = 1;
-
- yyarg[0] = yytname[yytype];
- yyfmt = yystpcpy (yyformat, yyunexpected);
-
- for (yyx = yyxbegin; yyx < yyxend; ++yyx)
- if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
- {
- if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
- {
- yycount = 1;
- yysize = yysize0;
- yyformat[sizeof yyunexpected - 1] = '\0';
- break;
- }
- yyarg[yycount++] = yytname[yyx];
- yysize1 = yysize + yytnamerr (0, yytname[yyx]);
- yysize_overflow |= (yysize1 < yysize);
- yysize = yysize1;
- yyfmt = yystpcpy (yyfmt, yyprefix);
- yyprefix = yyor;
- }
-
- yyf = YY_(yyformat);
- yysize1 = yysize + yystrlen (yyf);
- yysize_overflow |= (yysize1 < yysize);
- yysize = yysize1;
-
- if (yysize_overflow)
- return YYSIZE_MAXIMUM;
-
- if (yyresult)
- {
- /* Avoid sprintf, as that infringes on the user's name space.
- Don't have undefined behavior even if the translation
- produced a string with the wrong number of "%s"s. */
- char *yyp = yyresult;
- int yyi = 0;
- while ((*yyp = *yyf) != '\0')
- {
- if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
- {
- yyp += yytnamerr (yyp, yyarg[yyi++]);
- yyf += 2;
- }
- else
- {
- yyp++;
- yyf++;
- }
- }
- }
- return yysize;
- }
-}
-#endif /* YYERROR_VERBOSE */
-
-
-/*-----------------------------------------------.
-| Release the memory associated to this symbol. |
-`-----------------------------------------------*/
-
-/*ARGSUSED*/
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-static void
-yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
-#else
-static void
-yydestruct (yymsg, yytype, yyvaluep)
- const char *yymsg;
- int yytype;
- YYSTYPE *yyvaluep;
-#endif
-{
- YYUSE (yyvaluep);
-
- if (!yymsg)
- yymsg = "Deleting";
- YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
-
- switch (yytype)
- {
-
- default:
- break;
- }
-}
-
-/* Prevent warnings from -Wmissing-prototypes. */
-#ifdef YYPARSE_PARAM
-#if defined __STDC__ || defined __cplusplus
-int yyparse (void *YYPARSE_PARAM);
-#else
-int yyparse ();
-#endif
-#else /* ! YYPARSE_PARAM */
-#if defined __STDC__ || defined __cplusplus
-int yyparse (void);
-#else
-int yyparse ();
-#endif
-#endif /* ! YYPARSE_PARAM */
-
-
-/* The lookahead symbol. */
-int yychar;
-
-/* The semantic value of the lookahead symbol. */
-YYSTYPE yylval;
-
-/* Number of syntax errors so far. */
-int yynerrs;
-
-
-
-/*-------------------------.
-| yyparse or yypush_parse. |
-`-------------------------*/
-
-#ifdef YYPARSE_PARAM
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-int
-yyparse (void *YYPARSE_PARAM)
-#else
-int
-yyparse (YYPARSE_PARAM)
- void *YYPARSE_PARAM;
-#endif
-#else /* ! YYPARSE_PARAM */
-#if (defined __STDC__ || defined __C99__FUNC__ \
- || defined __cplusplus || defined _MSC_VER)
-int
-yyparse (void)
-#else
-int
-yyparse ()
-
-#endif
-#endif
-{
-
-
- int yystate;
- /* Number of tokens to shift before error messages enabled. */
- int yyerrstatus;
-
- /* The stacks and their tools:
- `yyss': related to states.
- `yyvs': related to semantic values.
-
- Refer to the stacks thru separate pointers, to allow yyoverflow
- to reallocate them elsewhere. */
-
- /* The state stack. */
- yytype_int16 yyssa[YYINITDEPTH];
- yytype_int16 *yyss;
- yytype_int16 *yyssp;
-
- /* The semantic value stack. */
- YYSTYPE yyvsa[YYINITDEPTH];
- YYSTYPE *yyvs;
- YYSTYPE *yyvsp;
-
- YYSIZE_T yystacksize;
-
- int yyn;
- int yyresult;
- /* Lookahead token as an internal (translated) token number. */
- int yytoken;
- /* The variables used to return semantic value and location from the
- action routines. */
- YYSTYPE yyval;
-
-#if YYERROR_VERBOSE
- /* Buffer for error messages, and its allocated size. */
- char yymsgbuf[128];
- char *yymsg = yymsgbuf;
- YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
-#endif
-
-#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
-
- /* The number of symbols on the RHS of the reduced rule.
- Keep to zero when no symbol should be popped. */
- int yylen = 0;
-
- yytoken = 0;
- yyss = yyssa;
- yyvs = yyvsa;
- yystacksize = YYINITDEPTH;
-
- YYDPRINTF ((stderr, "Starting parse\n"));
-
- yystate = 0;
- yyerrstatus = 0;
- yynerrs = 0;
- yychar = YYEMPTY; /* Cause a token to be read. */
-
- /* Initialize stack pointers.
- Waste one element of value and location stack
- so that they stay on the same level as the state stack.
- The wasted elements are never initialized. */
- yyssp = yyss;
- yyvsp = yyvs;
-
- goto yysetstate;
-
-/*------------------------------------------------------------.
-| yynewstate -- Push a new state, which is found in yystate. |
-`------------------------------------------------------------*/
- yynewstate:
- /* In all cases, when you get here, the value and location stacks
- have just been pushed. So pushing a state here evens the stacks. */
- yyssp++;
-
- yysetstate:
- *yyssp = yystate;
-
- if (yyss + yystacksize - 1 <= yyssp)
- {
- /* Get the current used size of the three stacks, in elements. */
- YYSIZE_T yysize = yyssp - yyss + 1;
-
-#ifdef yyoverflow
- {
- /* Give user a chance to reallocate the stack. Use copies of
- these so that the &'s don't force the real ones into
- memory. */
- YYSTYPE *yyvs1 = yyvs;
- yytype_int16 *yyss1 = yyss;
-
- /* Each stack pointer address is followed by the size of the
- data in use in that stack, in bytes. This used to be a
- conditional around just the two extra args, but that might
- be undefined if yyoverflow is a macro. */
- yyoverflow (YY_("memory exhausted"),
- &yyss1, yysize * sizeof (*yyssp),
- &yyvs1, yysize * sizeof (*yyvsp),
- &yystacksize);
-
- yyss = yyss1;
- yyvs = yyvs1;
- }
-#else /* no yyoverflow */
-# ifndef YYSTACK_RELOCATE
- goto yyexhaustedlab;
-# else
- /* Extend the stack our own way. */
- if (YYMAXDEPTH <= yystacksize)
- goto yyexhaustedlab;
- yystacksize *= 2;
- if (YYMAXDEPTH < yystacksize)
- yystacksize = YYMAXDEPTH;
-
- {
- yytype_int16 *yyss1 = yyss;
- union yyalloc *yyptr =
- (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
- if (! yyptr)
- goto yyexhaustedlab;
- YYSTACK_RELOCATE (yyss_alloc, yyss);
- YYSTACK_RELOCATE (yyvs_alloc, yyvs);
-# undef YYSTACK_RELOCATE
- if (yyss1 != yyssa)
- YYSTACK_FREE (yyss1);
- }
-# endif
-#endif /* no yyoverflow */
-
- yyssp = yyss + yysize - 1;
- yyvsp = yyvs + yysize - 1;
-
- YYDPRINTF ((stderr, "Stack size increased to %lu\n",
- (unsigned long int) yystacksize));
-
- if (yyss + yystacksize - 1 <= yyssp)
- YYABORT;
- }
-
- YYDPRINTF ((stderr, "Entering state %d\n", yystate));
-
- if (yystate == YYFINAL)
- YYACCEPT;
-
- goto yybackup;
-
-/*-----------.
-| yybackup. |
-`-----------*/
-yybackup:
-
- /* Do appropriate processing given the current state. Read a
- lookahead token if we need one and don't already have one. */
-
- /* First try to decide what to do without reference to lookahead token. */
- yyn = yypact[yystate];
- if (yyn == YYPACT_NINF)
- goto yydefault;
-
- /* Not known => get a lookahead token if don't already have one. */
-
- /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
- if (yychar == YYEMPTY)
- {
- YYDPRINTF ((stderr, "Reading a token: "));
- yychar = YYLEX;
- }
-
- if (yychar <= YYEOF)
- {
- yychar = yytoken = YYEOF;
- YYDPRINTF ((stderr, "Now at end of input.\n"));
- }
- else
- {
- yytoken = YYTRANSLATE (yychar);
- YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
- }
-
- /* If the proper action on seeing token YYTOKEN is to reduce or to
- detect an error, take that action. */
- yyn += yytoken;
- if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
- goto yydefault;
- yyn = yytable[yyn];
- if (yyn <= 0)
- {
- if (yyn == 0 || yyn == YYTABLE_NINF)
- goto yyerrlab;
- yyn = -yyn;
- goto yyreduce;
- }
-
- /* Count tokens shifted since error; after three, turn off error
- status. */
- if (yyerrstatus)
- yyerrstatus--;
-
- /* Shift the lookahead token. */
- YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
-
- /* Discard the shifted token. */
- yychar = YYEMPTY;
-
- yystate = yyn;
- *++yyvsp = yylval;
-
- goto yynewstate;
-
-
-/*-----------------------------------------------------------.
-| yydefault -- do the default action for the current state. |
-`-----------------------------------------------------------*/
-yydefault:
- yyn = yydefact[yystate];
- if (yyn == 0)
- goto yyerrlab;
- goto yyreduce;
-
-
-/*-----------------------------.
-| yyreduce -- Do a reduction. |
-`-----------------------------*/
-yyreduce:
- /* yyn is the number of a rule to reduce with. */
- yylen = yyr2[yyn];
-
- /* If YYLEN is nonzero, implement the default value of the action:
- `$$ = $1'.
-
- Otherwise, the following line sets YYVAL to garbage.
- This behavior is undocumented and Bison
- users should not rely upon it. Assigning to YYVAL
- unconditionally makes the parser a bit smaller, and it avoids a
- GCC warning that YYVAL may be used uninitialized. */
- yyval = yyvsp[1-yylen];
-
-
- YY_REDUCE_PRINT (yyn);
- switch (yyn)
- {
- case 2:
-
- {
- ;}
- break;
-
- case 3:
-
- {
- foundRules = true;
- ;}
- break;
-
- case 5:
-
- {
- if (!symbol_table.insert (std::make_pair (* (yyvsp[(1) - (4)].str), (yyvsp[(3) - (4)].regexp))).second)
- {
- in->fatal("sym already defined");
- }
- delete (yyvsp[(1) - (4)].str);
- ;}
- break;
-
- case 6:
-
- {
- if (!symbol_table.insert (std::make_pair (* (yyvsp[(1) - (3)].str), (yyvsp[(2) - (3)].regexp))).second)
- {
- in->fatal("sym already defined");
- }
- delete (yyvsp[(1) - (3)].str);
- ;}
- break;
-
- case 7:
-
- {
- in->fatal("trailing contexts are not allowed in named definitions");
- ;}
- break;
-
- case 8:
-
- {
- in->fatal("trailing contexts are not allowed in named definitions");
- ;}
- break;
-
- case 9:
-
- {;}
- break;
-
- case 10:
-
- {
- if (opts->cFlag)
- {
- in->fatal("condition or '<*>' required when using -c switch");
- }
- RuleOp * rule = new RuleOp
- ( (yyvsp[(3) - (3)].code)->loc
- , (yyvsp[(1) - (3)].regexp)
- , (yyvsp[(2) - (3)].regexp)
- , rank_counter.next ()
- , (yyvsp[(3) - (3)].code)
- , NULL
- );
- spec.add (rule);
- ;}
- break;
-
- case 11:
-
- {
- if (opts->cFlag)
- in->fatal("condition or '<*>' required when using -c switch");
- RuleOp * def = new RuleOp
- ( (yyvsp[(2) - (2)].code)->loc
- , in->mkDefault ()
- , new NullOp
- , rule_rank_t::def ()
- , (yyvsp[(2) - (2)].code)
- , NULL
- );
- if (!spec.add_def (def))
- {
- in->fatal("code to default rule is already defined");
- }
- ;}
- break;
-
- case 12:
-
- {
- context_rule ((yyvsp[(2) - (7)].clist), (yyvsp[(7) - (7)].code)->loc, (yyvsp[(4) - (7)].regexp), (yyvsp[(5) - (7)].regexp), (yyvsp[(7) - (7)].code), (yyvsp[(6) - (7)].str));
- ;}
- break;
-
- case 13:
-
- {
- assert((yyvsp[(7) - (7)].str));
- Loc loc (in->get_fname (), in->get_cline ());
- context_rule ((yyvsp[(2) - (7)].clist), loc, (yyvsp[(4) - (7)].regexp), (yyvsp[(5) - (7)].regexp), NULL, (yyvsp[(7) - (7)].str));
- ;}
- break;
-
- case 14:
-
- {
- context_none((yyvsp[(2) - (6)].clist));
- delete (yyvsp[(5) - (6)].str);
- ;}
- break;
-
- case 15:
-
- {
- assert((yyvsp[(6) - (6)].str));
- context_none((yyvsp[(2) - (6)].clist));
- delete (yyvsp[(6) - (6)].str);
- ;}
- break;
-
- case 16:
-
- {
- default_rule((yyvsp[(2) - (5)].clist), (yyvsp[(5) - (5)].code));
- ;}
- break;
-
- case 17:
-
- {
- context_check(NULL);
- RuleOp * rule = new RuleOp
- ( (yyvsp[(7) - (7)].code)->loc
- , (yyvsp[(4) - (7)].regexp)
- , (yyvsp[(5) - (7)].regexp)
- , rank_counter.next ()
- , (yyvsp[(7) - (7)].code)
- , (yyvsp[(6) - (7)].str)
- );
- specStar.push_back (rule);
- delete (yyvsp[(6) - (7)].str);
- ;}
- break;
-
- case 18:
-
- {
- assert((yyvsp[(7) - (7)].str));
- context_check(NULL);
- Loc loc (in->get_fname (), in->get_cline ());
- RuleOp * rule = new RuleOp
- ( loc
- , (yyvsp[(4) - (7)].regexp)
- , (yyvsp[(5) - (7)].regexp)
- , rank_counter.next ()
- , NULL
- , (yyvsp[(7) - (7)].str)
- );
- specStar.push_back (rule);
- delete (yyvsp[(7) - (7)].str);
- ;}
- break;
-
- case 19:
-
- {
- context_none(NULL);
- delete (yyvsp[(5) - (6)].str);
- ;}
- break;
-
- case 20:
-
- {
- assert((yyvsp[(6) - (6)].str));
- context_none(NULL);
- delete (yyvsp[(6) - (6)].str);
- ;}
- break;
-
- case 21:
-
- {
- if (star_default)
- {
- in->fatal ("code to default rule '*' is already defined");
- }
- star_default = new RuleOp
- ( (yyvsp[(5) - (5)].code)->loc
- , in->mkDefault ()
- , new NullOp
- , rule_rank_t::def ()
- , (yyvsp[(5) - (5)].code)
- , NULL
- );
- ;}
- break;
-
- case 22:
-
- {
- context_check(NULL);
- if (specNone)
- {
- in->fatal("code to handle illegal condition already defined");
- }
- (yyval.regexp) = specNone = new RuleOp
- ( (yyvsp[(3) - (3)].code)->loc
- , new NullOp
- , new NullOp
- , rank_counter.next ()
- , (yyvsp[(3) - (3)].code)
- , (yyvsp[(2) - (3)].str)
- );
- delete (yyvsp[(2) - (3)].str);
- ;}
- break;
-
- case 23:
-
- {
- assert((yyvsp[(3) - (3)].str));
- context_check(NULL);
- if (specNone)
- {
- in->fatal("code to handle illegal condition already defined");
- }
- Loc loc (in->get_fname (), in->get_cline ());
- (yyval.regexp) = specNone = new RuleOp
- ( loc
- , new NullOp
- , new NullOp
- , rank_counter.next ()
- , NULL
- , (yyvsp[(3) - (3)].str)
- );
- delete (yyvsp[(3) - (3)].str);
- ;}
- break;
-
- case 24:
-
- {
- CondList *clist = new CondList();
- clist->insert("*");
- setup_rule(clist, (yyvsp[(4) - (4)].code));
- ;}
- break;
-
- case 25:
-
- {
- setup_rule((yyvsp[(2) - (4)].clist), (yyvsp[(4) - (4)].code));
- ;}
- break;
-
- case 26:
-
- {
- in->fatal("unnamed condition not supported");
- ;}
- break;
-
- case 27:
-
- {
- (yyval.clist) = (yyvsp[(1) - (1)].clist);
- ;}
- break;
-
- case 28:
-
- {
- (yyval.clist) = new CondList();
- (yyval.clist)->insert(* (yyvsp[(1) - (1)].str));
- delete (yyvsp[(1) - (1)].str);
- ;}
- break;
-
- case 29:
-
- {
- (yyvsp[(1) - (3)].clist)->insert(* (yyvsp[(3) - (3)].str));
- delete (yyvsp[(3) - (3)].str);
- (yyval.clist) = (yyvsp[(1) - (3)].clist);
- ;}
- break;
-
- case 30:
-
- {
- (yyval.str) = NULL;
- ;}
- break;
-
- case 31:
-
- {
- (yyval.str) = (yyvsp[(3) - (3)].str);
- ;}
- break;
-
- case 32:
-
- {
- (yyval.regexp) = new NullOp;
- ;}
- break;
-
- case 33:
-
- {
- (yyval.regexp) = (yyvsp[(2) - (2)].regexp);
- ;}
- break;
-
- case 34:
-
- {
- (yyval.regexp) = (yyvsp[(1) - (1)].regexp);
- ;}
- break;
-
- case 35:
-
- {
- (yyval.regexp) = mkAlt((yyvsp[(1) - (3)].regexp), (yyvsp[(3) - (3)].regexp));
- ;}
- break;
-
- case 36:
-
- {
- (yyval.regexp) = (yyvsp[(1) - (1)].regexp);
- ;}
- break;
-
- case 37:
-
- {
- (yyval.regexp) = in->mkDiff((yyvsp[(1) - (3)].regexp), (yyvsp[(3) - (3)].regexp));
- ;}
- break;
-
- case 38:
-
- {
- (yyval.regexp) = (yyvsp[(1) - (1)].regexp);
- ;}
- break;
-
- case 39:
-
- {
- (yyval.regexp) = new CatOp((yyvsp[(1) - (2)].regexp), (yyvsp[(2) - (2)].regexp));
- ;}
- break;
-
- case 40:
-
- {
- (yyval.regexp) = (yyvsp[(1) - (1)].regexp);
- ;}
- break;
-
- case 41:
-
- {
- switch((yyvsp[(2) - (2)].op))
- {
- case '*':
- (yyval.regexp) = new CloseOp((yyvsp[(1) - (2)].regexp));
- break;
- case '+':
- (yyval.regexp) = new CatOp (new CloseOp((yyvsp[(1) - (2)].regexp)), (yyvsp[(1) - (2)].regexp));
- break;
- case '?':
- (yyval.regexp) = mkAlt((yyvsp[(1) - (2)].regexp), new NullOp());
- break;
- }
- ;}
- break;
-
- case 42:
-
- {
- if ((yyvsp[(2) - (2)].extop).max == std::numeric_limits<uint32_t>::max())
- {
- (yyval.regexp) = repeat_from ((yyvsp[(1) - (2)].regexp), (yyvsp[(2) - (2)].extop).min);
- }
- else if ((yyvsp[(2) - (2)].extop).min == (yyvsp[(2) - (2)].extop).max)
- {
- (yyval.regexp) = repeat ((yyvsp[(1) - (2)].regexp), (yyvsp[(2) - (2)].extop).min);
- }
- else
- {
- (yyval.regexp) = repeat_from_to ((yyvsp[(1) - (2)].regexp), (yyvsp[(2) - (2)].extop).min, (yyvsp[(2) - (2)].extop).max);
- }
- (yyval.regexp) = (yyval.regexp) ? (yyval.regexp) : new NullOp;
- ;}
- break;
-
- case 43:
-
- {
- (yyval.op) = (yyvsp[(1) - (1)].op);
- ;}
- break;
-
- case 44:
-
- {
- (yyval.op) = (yyvsp[(1) - (1)].op);
- ;}
- break;
-
- case 45:
-
- {
- (yyval.op) = ((yyvsp[(1) - (2)].op) == (yyvsp[(2) - (2)].op)) ? (yyvsp[(1) - (2)].op) : '*';
- ;}
- break;
-
- case 46:
-
- {
- (yyval.op) = ((yyvsp[(1) - (2)].op) == (yyvsp[(2) - (2)].op)) ? (yyvsp[(1) - (2)].op) : '*';
- ;}
- break;
-
- case 47:
-
- {
- symbol_table_t::iterator i = symbol_table.find (* (yyvsp[(1) - (1)].str));
- delete (yyvsp[(1) - (1)].str);
- if (i == symbol_table.end ())
- {
- in->fatal("can't find symbol");
- }
- (yyval.regexp) = i->second;
- ;}
- break;
-
- case 48:
-
- {
- (yyval.regexp) = (yyvsp[(1) - (1)].regexp);
- ;}
- break;
-
- case 49:
-
- {
- (yyval.regexp) = (yyvsp[(2) - (3)].regexp);
- ;}
- break;
-
-
-
- default: break;
- }
- YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
-
- YYPOPSTACK (yylen);
- yylen = 0;
- YY_STACK_PRINT (yyss, yyssp);
-
- *++yyvsp = yyval;
-
- /* Now `shift' the result of the reduction. Determine what state
- that goes to, based on the state we popped back to and the rule
- number reduced by. */
-
- yyn = yyr1[yyn];
-
- yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
- if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
- yystate = yytable[yystate];
- else
- yystate = yydefgoto[yyn - YYNTOKENS];
-
- goto yynewstate;
-
-
-/*------------------------------------.
-| yyerrlab -- here on detecting error |
-`------------------------------------*/
-yyerrlab:
- /* If not already recovering from an error, report this error. */
- if (!yyerrstatus)
- {
- ++yynerrs;
-#if ! YYERROR_VERBOSE
- yyerror (YY_("syntax error"));
-#else
- {
- YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
- if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
- {
- YYSIZE_T yyalloc = 2 * yysize;
- if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
- yyalloc = YYSTACK_ALLOC_MAXIMUM;
- if (yymsg != yymsgbuf)
- YYSTACK_FREE (yymsg);
- yymsg = (char *) YYSTACK_ALLOC (yyalloc);
- if (yymsg)
- yymsg_alloc = yyalloc;
- else
- {
- yymsg = yymsgbuf;
- yymsg_alloc = sizeof yymsgbuf;
- }
- }
-
- if (0 < yysize && yysize <= yymsg_alloc)
- {
- (void) yysyntax_error (yymsg, yystate, yychar);
- yyerror (yymsg);
- }
- else
- {
- yyerror (YY_("syntax error"));
- if (yysize != 0)
- goto yyexhaustedlab;
- }
- }
-#endif
- }
-
-
-
- if (yyerrstatus == 3)
- {
- /* If just tried and failed to reuse lookahead token after an
- error, discard it. */
-
- if (yychar <= YYEOF)
- {
- /* Return failure if at end of input. */
- if (yychar == YYEOF)
- YYABORT;
- }
- else
- {
- yydestruct ("Error: discarding",
- yytoken, &yylval);
- yychar = YYEMPTY;
- }
- }
-
- /* Else will try to reuse lookahead token after shifting the error
- token. */
- goto yyerrlab1;
-
-
-/*---------------------------------------------------.
-| yyerrorlab -- error raised explicitly by YYERROR. |
-`---------------------------------------------------*/
-yyerrorlab:
-
- /* Pacify compilers like GCC when the user code never invokes
- YYERROR and the label yyerrorlab therefore never appears in user
- code. */
- if (/*CONSTCOND*/ 0)
- goto yyerrorlab;
-
- /* Do not reclaim the symbols of the rule which action triggered
- this YYERROR. */
- YYPOPSTACK (yylen);
- yylen = 0;
- YY_STACK_PRINT (yyss, yyssp);
- yystate = *yyssp;
- goto yyerrlab1;
-
-
-/*-------------------------------------------------------------.
-| yyerrlab1 -- common code for both syntax error and YYERROR. |
-`-------------------------------------------------------------*/
-yyerrlab1:
- yyerrstatus = 3; /* Each real token shifted decrements this. */
-
- for (;;)
- {
- yyn = yypact[yystate];
- if (yyn != YYPACT_NINF)
- {
- yyn += YYTERROR;
- if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
- {
- yyn = yytable[yyn];
- if (0 < yyn)
- break;
- }
- }
-
- /* Pop the current state because it cannot handle the error token. */
- if (yyssp == yyss)
- YYABORT;
-
-
- yydestruct ("Error: popping",
- yystos[yystate], yyvsp);
- YYPOPSTACK (1);
- yystate = *yyssp;
- YY_STACK_PRINT (yyss, yyssp);
- }
-
- *++yyvsp = yylval;
-
-
- /* Shift the error token. */
- YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
-
- yystate = yyn;
- goto yynewstate;
-
-
-/*-------------------------------------.
-| yyacceptlab -- YYACCEPT comes here. |
-`-------------------------------------*/
-yyacceptlab:
- yyresult = 0;
- goto yyreturn;
-
-/*-----------------------------------.
-| yyabortlab -- YYABORT comes here. |
-`-----------------------------------*/
-yyabortlab:
- yyresult = 1;
- goto yyreturn;
-
-#if !defined(yyoverflow) || YYERROR_VERBOSE
-/*-------------------------------------------------.
-| yyexhaustedlab -- memory exhaustion comes here. |
-`-------------------------------------------------*/
-yyexhaustedlab:
- yyerror (YY_("memory exhausted"));
- yyresult = 2;
- /* Fall through. */
-#endif
-
-yyreturn:
- if (yychar != YYEMPTY)
- yydestruct ("Cleanup: discarding lookahead",
- yytoken, &yylval);
- /* Do not reclaim the symbols of the rule which action triggered
- this YYABORT or YYACCEPT. */
- YYPOPSTACK (yylen);
- YY_STACK_PRINT (yyss, yyssp);
- while (yyssp != yyss)
- {
- yydestruct ("Cleanup: popping",
- yystos[*yyssp], yyvsp);
- YYPOPSTACK (1);
- }
-#ifndef yyoverflow
- if (yyss != yyssa)
- YYSTACK_FREE (yyss);
-#endif
-#if YYERROR_VERBOSE
- if (yymsg != yymsgbuf)
- YYSTACK_FREE (yymsg);
-#endif
- /* Make sure YYID is used. */
- return YYID (yyresult);
-}
-
-
-
-
-
-extern "C" {
-void yyerror(const char* s)
-{
- in->fatal(s);
-}
-
-int yylex(){
- return in ? in->scan() : 0;
-}
-} // end extern "C"
-
-namespace re2c
-{
-
-void parse(Scanner& i, Output & o)
-{
- std::map<std::string, smart_ptr<DFA> > dfa_map;
- ScannerState rules_state;
-
- in = &i;
-
- o.source.wversion_time ()
- .wline_info (in->get_cline (), in->get_fname ().c_str ());
- if (opts->target == opt_t::SKELETON)
- {
- Skeleton::emit_prolog (o.source);
- }
-
- Enc encodingOld = opts->encoding;
-
- while ((parseMode = i.echo()) != Scanner::Stop)
- {
- o.source.new_block ();
- bool bPrologBrace = false;
- ScannerState curr_state;
-
- i.save_state(curr_state);
- foundRules = false;
-
- if (opts->rFlag && parseMode == Scanner::Rules && dfa_map.size())
- {
- in->fatal("cannot have a second 'rules:re2c' block");
- }
- if (parseMode == Scanner::Reuse)
- {
- if (dfa_map.empty())
- {
- in->fatal("got 'use:re2c' without 'rules:re2c'");
- }
- }
- else if (parseMode == Scanner::Rules)
- {
- i.save_state(rules_state);
- }
- else
- {
- dfa_map.clear();
- }
- rank_counter.reset ();
- spec.clear ();
- in->set_in_parse(true);
- yyparse();
- in->set_in_parse(false);
- if (opts->rFlag && parseMode == Scanner::Reuse)
- {
- if (foundRules || opts->encoding != encodingOld)
- {
- // Re-parse rules
- parseMode = Scanner::Parse;
- i.restore_state(rules_state);
- i.reuse();
- dfa_map.clear();
- parse_cleanup();
- spec.clear ();
- rank_counter.reset ();
- in->set_in_parse(true);
- yyparse();
- in->set_in_parse(false);
-
- // Now append potential new rules
- i.restore_state(curr_state);
- parseMode = Scanner::Parse;
- in->set_in_parse(true);
- yyparse();
- in->set_in_parse(false);
- }
- encodingOld = opts->encoding;
- }
- o.source.set_block_line (in->get_cline ());
- uint32_t ind = opts->topIndent;
- if (opts->cFlag)
- {
- SpecMap::iterator it;
- SetupMap::const_iterator itRuleSetup;
-
- if (parseMode != Scanner::Reuse)
- {
- // <*> rules must have the lowest priority
- // now that all rules have been parsed, we can fix it
- for (RuleOpList::const_iterator itOp = specStar.begin(); itOp != specStar.end(); ++itOp)
- {
- (*itOp)->rank = rank_counter.next ();
- }
- // merge <*> rules to all conditions
- for (it = specMap.begin(); it != specMap.end(); ++it)
- {
- for (RuleOpList::const_iterator itOp = specStar.begin(); itOp != specStar.end(); ++itOp)
- {
- it->second.add (*itOp);
- }
- if (star_default)
- {
- it->second.add_def (star_default);
- }
- }
-
- if (specNone)
- {
- specMap["0"].add (specNone);
- // Note that "0" inserts first, which is important.
- condnames.insert (condnames.begin (), "0");
- }
- o.types = condnames;
- }
-
- size_t nCount = specMap.size();
-
- for (it = specMap.begin(); it != specMap.end(); ++it)
- {
- if (parseMode != Scanner::Reuse)
- {
- itRuleSetup = ruleSetupMap.find(it->first);
- if (itRuleSetup != ruleSetupMap.end())
- {
- yySetupRule = itRuleSetup->second.second;
- }
- else
- {
- itRuleSetup = ruleSetupMap.find("*");
- if (itRuleSetup != ruleSetupMap.end())
- {
- yySetupRule = itRuleSetup->second.second;
- }
- else
- {
- yySetupRule = "";
- }
- }
-
- dfa_map[it->first] = compile(it->second, o, it->first, opts->encoding.nCodeUnits ());
- }
- if (parseMode != Scanner::Rules && dfa_map.find(it->first) != dfa_map.end())
- {
- dfa_map[it->first]->emit(o, ind, !--nCount, bPrologBrace);
- }
- }
- }
- else
- {
- if (spec.re || !dfa_map.empty())
- {
- if (parseMode != Scanner::Reuse)
- {
- dfa_map[""] = compile(spec, o, "", opts->encoding.nCodeUnits ());
- }
- if (parseMode != Scanner::Rules && dfa_map.find("") != dfa_map.end())
- {
- dfa_map[""]->emit(o, ind, 0, bPrologBrace);
- }
- }
- }
- o.source.wline_info (in->get_cline (), in->get_fname ().c_str ());
- /* restore original char handling mode*/
- opts.reset_encoding (encodingOld);
- }
-
- if (opts->cFlag)
- {
- SetupMap::const_iterator itRuleSetup;
- for (itRuleSetup = ruleSetupMap.begin(); itRuleSetup != ruleSetupMap.end(); ++itRuleSetup)
- {
- if (itRuleSetup->first != "*" && specMap.find(itRuleSetup->first) == specMap.end())
- {
- in->fatalf_at(itRuleSetup->second.first, "setup for non existing rule '%s' found", itRuleSetup->first.c_str());
- }
- }
- if (specMap.size() < ruleSetupMap.size())
- {
- uint32_t line = in->get_cline();
- itRuleSetup = ruleSetupMap.find("*");
- if (itRuleSetup != ruleSetupMap.end())
- {
- line = itRuleSetup->second.first;
- }
- in->fatalf_at(line, "setup for all rules with '*' not possible when all rules are setup explicitly");
- }
- }
-
- if (opts->target == opt_t::SKELETON)
- {
- Skeleton::emit_epilog (o.source, o.skeletons);
- }
-
- parse_cleanup();
- in = NULL;
-}
-
-void parse_cleanup()
-{
- RegExp::vFreeList.clear();
- Range::vFreeList.clear();
- RangeSuffix::freeList.clear();
- Code::freelist.clear();
- symbol_table.clear ();
- condnames.clear ();
- specMap.clear();
- specStar.clear();
- star_default = NULL;
- specNone = NULL;
-}
-
-} // end namespace re2c
-
diff --git a/build.sh b/build.sh
deleted file mode 100755
index 44055cef..00000000
--- a/build.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-
-builddir=.build
-rm -rf $builddir
-mkdir $builddir
-
-cd $builddir
-../configure && \
-make -j5
-cd ..
diff --git a/build_mingw.sh b/build_mingw.sh
deleted file mode 100755
index 765e80e9..00000000
--- a/build_mingw.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-
-builddir=.build_mingw
-rm -rf $builddir
-mkdir $builddir
-
-cd $builddir
-../configure --host i686-w64-mingw32 && \
-make -j5
-cd ..
diff --git a/compile b/compile
new file mode 100755
index 00000000..2ab71e4e
--- /dev/null
+++ b/compile
@@ -0,0 +1,348 @@
+#! /bin/sh
+# Wrapper for compilers which do not understand '-c -o'.
+
+scriptversion=2016-01-11.22; # UTC
+
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
+# Written by Tom Tromey <tromey@cygnus.com>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
+
+nl='
+'
+
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent tools from complaining about whitespace usage.
+IFS=" "" $nl"
+
+file_conv=
+
+# func_file_conv build_file lazy
+# Convert a $build file to $host form and store it in $file
+# Currently only supports Windows hosts. If the determined conversion
+# type is listed in (the comma separated) LAZY, no conversion will
+# take place.
+func_file_conv ()
+{
+ file=$1
+ case $file in
+ / | /[!/]*) # absolute file, and not a UNC file
+ if test -z "$file_conv"; then
+ # lazily determine how to convert abs files
+ case `uname -s` in
+ MINGW*)
+ file_conv=mingw
+ ;;
+ CYGWIN*)
+ file_conv=cygwin
+ ;;
+ *)
+ file_conv=wine
+ ;;
+ esac
+ fi
+ case $file_conv/,$2, in
+ *,$file_conv,*)
+ ;;
+ mingw/*)
+ file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
+ ;;
+ cygwin/*)
+ file=`cygpath -m "$file" || echo "$file"`
+ ;;
+ wine/*)
+ file=`winepath -w "$file" || echo "$file"`
+ ;;
+ esac
+ ;;
+ esac
+}
+
+# func_cl_dashL linkdir
+# Make cl look for libraries in LINKDIR
+func_cl_dashL ()
+{
+ func_file_conv "$1"
+ if test -z "$lib_path"; then
+ lib_path=$file
+ else
+ lib_path="$lib_path;$file"
+ fi
+ linker_opts="$linker_opts -LIBPATH:$file"
+}
+
+# func_cl_dashl library
+# Do a library search-path lookup for cl
+func_cl_dashl ()
+{
+ lib=$1
+ found=no
+ save_IFS=$IFS
+ IFS=';'
+ for dir in $lib_path $LIB
+ do
+ IFS=$save_IFS
+ if $shared && test -f "$dir/$lib.dll.lib"; then
+ found=yes
+ lib=$dir/$lib.dll.lib
+ break
+ fi
+ if test -f "$dir/$lib.lib"; then
+ found=yes
+ lib=$dir/$lib.lib
+ break
+ fi
+ if test -f "$dir/lib$lib.a"; then
+ found=yes
+ lib=$dir/lib$lib.a
+ break
+ fi
+ done
+ IFS=$save_IFS
+
+ if test "$found" != yes; then
+ lib=$lib.lib
+ fi
+}
+
+# func_cl_wrapper cl arg...
+# Adjust compile command to suit cl
+func_cl_wrapper ()
+{
+ # Assume a capable shell
+ lib_path=
+ shared=:
+ linker_opts=
+ for arg
+ do
+ if test -n "$eat"; then
+ eat=
+ else
+ case $1 in
+ -o)
+ # configure might choose to run compile as 'compile cc -o foo foo.c'.
+ eat=1
+ case $2 in
+ *.o | *.[oO][bB][jJ])
+ func_file_conv "$2"
+ set x "$@" -Fo"$file"
+ shift
+ ;;
+ *)
+ func_file_conv "$2"
+ set x "$@" -Fe"$file"
+ shift
+ ;;
+ esac
+ ;;
+ -I)
+ eat=1
+ func_file_conv "$2" mingw
+ set x "$@" -I"$file"
+ shift
+ ;;
+ -I*)
+ func_file_conv "${1#-I}" mingw
+ set x "$@" -I"$file"
+ shift
+ ;;
+ -l)
+ eat=1
+ func_cl_dashl "$2"
+ set x "$@" "$lib"
+ shift
+ ;;
+ -l*)
+ func_cl_dashl "${1#-l}"
+ set x "$@" "$lib"
+ shift
+ ;;
+ -L)
+ eat=1
+ func_cl_dashL "$2"
+ ;;
+ -L*)
+ func_cl_dashL "${1#-L}"
+ ;;
+ -static)
+ shared=false
+ ;;
+ -Wl,*)
+ arg=${1#-Wl,}
+ save_ifs="$IFS"; IFS=','
+ for flag in $arg; do
+ IFS="$save_ifs"
+ linker_opts="$linker_opts $flag"
+ done
+ IFS="$save_ifs"
+ ;;
+ -Xlinker)
+ eat=1
+ linker_opts="$linker_opts $2"
+ ;;
+ -*)
+ set x "$@" "$1"
+ shift
+ ;;
+ *.cc | *.CC | *.cxx | *.CXX | *.[cC]++)
+ func_file_conv "$1"
+ set x "$@" -Tp"$file"
+ shift
+ ;;
+ *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO])
+ func_file_conv "$1" mingw
+ set x "$@" "$file"
+ shift
+ ;;
+ *)
+ set x "$@" "$1"
+ shift
+ ;;
+ esac
+ fi
+ shift
+ done
+ if test -n "$linker_opts"; then
+ linker_opts="-link$linker_opts"
+ fi
+ exec "$@" $linker_opts
+ exit 1
+}
+
+eat=
+
+case $1 in
+ '')
+ echo "$0: No command. Try '$0 --help' for more information." 1>&2
+ exit 1;
+ ;;
+ -h | --h*)
+ cat <<\EOF
+Usage: compile [--help] [--version] PROGRAM [ARGS]
+
+Wrapper for compilers which do not understand '-c -o'.
+Remove '-o dest.o' from ARGS, run PROGRAM with the remaining
+arguments, and rename the output as expected.
+
+If you are trying to build a whole package this is not the
+right script to run: please start by reading the file 'INSTALL'.
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+ exit $?
+ ;;
+ -v | --v*)
+ echo "compile $scriptversion"
+ exit $?
+ ;;
+ cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
+ icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
+ func_cl_wrapper "$@" # Doesn't return...
+ ;;
+esac
+
+ofile=
+cfile=
+
+for arg
+do
+ if test -n "$eat"; then
+ eat=
+ else
+ case $1 in
+ -o)
+ # configure might choose to run compile as 'compile cc -o foo foo.c'.
+ # So we strip '-o arg' only if arg is an object.
+ eat=1
+ case $2 in
+ *.o | *.obj)
+ ofile=$2
+ ;;
+ *)
+ set x "$@" -o "$2"
+ shift
+ ;;
+ esac
+ ;;
+ *.c)
+ cfile=$1
+ set x "$@" "$1"
+ shift
+ ;;
+ *)
+ set x "$@" "$1"
+ shift
+ ;;
+ esac
+ fi
+ shift
+done
+
+if test -z "$ofile" || test -z "$cfile"; then
+ # If no '-o' option was seen then we might have been invoked from a
+ # pattern rule where we don't need one. That is ok -- this is a
+ # normal compilation that the losing compiler can handle. If no
+ # '.c' file was seen then we are probably linking. That is also
+ # ok.
+ exec "$@"
+fi
+
+# Name of file we expect compiler to create.
+cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'`
+
+# Create the lock directory.
+# Note: use '[/\\:.-]' here to ensure that we don't use the same name
+# that we are using for the .o file. Also, base the name on the expected
+# object file name, since that is what matters with a parallel build.
+lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d
+while true; do
+ if mkdir "$lockdir" >/dev/null 2>&1; then
+ break
+ fi
+ sleep 1
+done
+# FIXME: race condition here if user kills between mkdir and trap.
+trap "rmdir '$lockdir'; exit 1" 1 2 15
+
+# Run the compile.
+"$@"
+ret=$?
+
+if test -f "$cofile"; then
+ test "$cofile" = "$ofile" || mv "$cofile" "$ofile"
+elif test -f "${cofile}bj"; then
+ test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile"
+fi
+
+rmdir "$lockdir"
+exit $ret
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC0"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/config.h.in b/config.h.in
new file mode 100644
index 00000000..9dc3abaf
--- /dev/null
+++ b/config.h.in
@@ -0,0 +1,58 @@
+/* config.h.in. Generated from configure.ac by autoheader. */
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Name of package */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the home page for this package. */
+#undef PACKAGE_URL
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* The size of `0i8', as computed by sizeof. */
+#undef SIZEOF_0I8
+
+/* The size of `0l', as computed by sizeof. */
+#undef SIZEOF_0L
+
+/* The size of `0ll', as computed by sizeof. */
+#undef SIZEOF_0LL
+
+/* The size of `char', as computed by sizeof. */
+#undef SIZEOF_CHAR
+
+/* The size of `int', as computed by sizeof. */
+#undef SIZEOF_INT
+
+/* The size of `long', as computed by sizeof. */
+#undef SIZEOF_LONG
+
+/* The size of `long long', as computed by sizeof. */
+#undef SIZEOF_LONG_LONG
+
+/* The size of `short', as computed by sizeof. */
+#undef SIZEOF_SHORT
+
+/* The size of `void *', as computed by sizeof. */
+#undef SIZEOF_VOID_P
+
+/* The size of `__int64', as computed by sizeof. */
+#undef SIZEOF___INT64
+
+/* Version number of package */
+#undef VERSION
diff --git a/configure b/configure
new file mode 100755
index 00000000..43da5750
--- /dev/null
+++ b/configure
@@ -0,0 +1,6690 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.69 for re2c 1.0.3.
+#
+# Report bugs to <re2c-general@lists.sourceforge.net>.
+#
+#
+# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
+#
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='print -r --'
+ as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
+ else
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in #(
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
+ fi
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+as_myself=
+case $0 in #((
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there. '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+# Use a proper internal environment variable to ensure we don't fall
+ # into an infinite loop, continuously re-executing ourselves.
+ if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
+ _as_can_reexec=no; export _as_can_reexec;
+ # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+as_fn_exit 255
+ fi
+ # We don't want this to propagate to other subprocesses.
+ { _as_can_reexec=; unset _as_can_reexec;}
+if test "x$CONFIG_SHELL" = x; then
+ as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '\${1+\"\$@\"}'='\"\$@\"'
+ setopt NO_GLOB_SUBST
+else
+ case \`(set -o) 2>/dev/null\` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
+esac
+fi
+"
+ as_required="as_fn_return () { (exit \$1); }
+as_fn_success () { as_fn_return 0; }
+as_fn_failure () { as_fn_return 1; }
+as_fn_ret_success () { return 0; }
+as_fn_ret_failure () { return 1; }
+
+exitcode=0
+as_fn_success || { exitcode=1; echo as_fn_success failed.; }
+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
+
+else
+ exitcode=1; echo positional parameters were not saved.
+fi
+test x\$exitcode = x0 || exit 1
+test -x / || exit 1"
+ as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
+ as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
+ eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
+ test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
+test \$(( 1 + 1 )) = 2 || exit 1"
+ if (eval "$as_required") 2>/dev/null; then :
+ as_have_required=yes
+else
+ as_have_required=no
+fi
+ if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
+
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_found=false
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ as_found=:
+ case $as_dir in #(
+ /*)
+ for as_base in sh bash ksh sh5; do
+ # Try only shells that exist, to save several forks.
+ as_shell=$as_dir/$as_base
+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
+ CONFIG_SHELL=$as_shell as_have_required=yes
+ if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
+ break 2
+fi
+fi
+ done;;
+ esac
+ as_found=false
+done
+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
+ { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
+ CONFIG_SHELL=$SHELL as_have_required=yes
+fi; }
+IFS=$as_save_IFS
+
+
+ if test "x$CONFIG_SHELL" != x; then :
+ export CONFIG_SHELL
+ # We cannot yet assume a decent shell, so we have to provide a
+# neutralization value for shells without unset; and this also
+# works around shells that cannot unset nonexistent variables.
+# Preserve -v and -x to the replacement shell.
+BASH_ENV=/dev/null
+ENV=/dev/null
+(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+case $- in # ((((
+ *v*x* | *x*v* ) as_opts=-vx ;;
+ *v* ) as_opts=-v ;;
+ *x* ) as_opts=-x ;;
+ * ) as_opts= ;;
+esac
+exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
+# Admittedly, this is quite paranoid, since all the known shells bail
+# out after a failed `exec'.
+$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
+fi
+
+ if test x$as_have_required = xno; then :
+ $as_echo "$0: This script requires a shell more modern than all"
+ $as_echo "$0: the shells that I found on your system."
+ if test x${ZSH_VERSION+set} = xset ; then
+ $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
+ $as_echo "$0: be upgraded to zsh 4.3.4 or later."
+ else
+ $as_echo "$0: Please tell bug-autoconf@gnu.org and
+$0: re2c-general@lists.sourceforge.net about your system,
+$0: including any error possibly output before this
+$0: message. Then install a modern shell, or manually run
+$0: the script under such a shell if you do have one."
+ fi
+ exit 1
+fi
+fi
+fi
+SHELL=${CONFIG_SHELL-/bin/sh}
+export SHELL
+# Unset more variables known to interfere with behavior of common tools.
+CLICOLOR_FORCE= GREP_OPTIONS=
+unset CLICOLOR_FORCE GREP_OPTIONS
+
+## --------------------- ##
+## M4sh Shell Functions. ##
+## --------------------- ##
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+ { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+ return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+ set +e
+ as_fn_set_status $1
+ exit $1
+} # as_fn_exit
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || eval $as_mkdir_p || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+ test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+ eval 'as_fn_append ()
+ {
+ eval $1+=\$2
+ }'
+else
+ as_fn_append ()
+ {
+ eval $1=\$$1\$2
+ }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+ eval 'as_fn_arith ()
+ {
+ as_val=$(( $* ))
+ }'
+else
+ as_fn_arith ()
+ {
+ as_val=`expr "$@" || test $? -eq 1`
+ }
+fi # as_fn_arith
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+ as_status=$1; test $as_status -eq 0 && as_status=1
+ if test "$4"; then
+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+ fi
+ $as_echo "$as_me: error: $2" >&2
+ as_fn_exit $as_status
+} # as_fn_error
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+
+ as_lineno_1=$LINENO as_lineno_1a=$LINENO
+ as_lineno_2=$LINENO as_lineno_2a=$LINENO
+ eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
+ test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
+ # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
+ sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
+ N
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ t loop
+ s/-\n.*//
+ ' >$as_me.lineno &&
+ chmod +x "$as_me.lineno" ||
+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+
+ # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
+ # already done that, so ensure we don't try to do so again and fall
+ # in an infinite loop. This has already happened in practice.
+ _as_can_reexec=no; export _as_can_reexec
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
+ # Exit status is that of the last command.
+ exit
+}
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+ case `echo 'xy\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ xy) ECHO_C='\c';;
+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
+ ECHO_T=' ';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -pR'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -pR'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -pR'
+ fi
+else
+ as_ln_s='cp -pR'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p='mkdir -p "$as_dir"'
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
+
+# Name of the host.
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_clean_files=
+ac_config_libobj_dir=.
+LIBOBJS=
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+
+# Identity of this package.
+PACKAGE_NAME='re2c'
+PACKAGE_TARNAME='re2c'
+PACKAGE_VERSION='1.0.3'
+PACKAGE_STRING='re2c 1.0.3'
+PACKAGE_BUGREPORT='re2c-general@lists.sourceforge.net'
+PACKAGE_URL=''
+
+ac_unique_file="src/main.cc"
+ac_subst_vars='am__EXEEXT_FALSE
+am__EXEEXT_TRUE
+LTLIBOBJS
+LIBOBJS
+CXXFLAGSDEFAULT
+am__fastdepCXX_FALSE
+am__fastdepCXX_TRUE
+CXXDEPMODE
+ac_ct_CXX
+CXXFLAGS
+CXX
+am__fastdepCC_FALSE
+am__fastdepCC_TRUE
+CCDEPMODE
+am__nodep
+AMDEPBACKSLASH
+AMDEP_FALSE
+AMDEP_TRUE
+am__quote
+am__include
+DEPDIR
+OBJEXT
+EXEEXT
+ac_ct_CC
+CPPFLAGS
+LDFLAGS
+CFLAGS
+CC
+BISON
+RST2MAN
+REBUILD_DOCS_FALSE
+REBUILD_DOCS_TRUE
+PACKAGE_RELEASE
+PACKAGE_DATE
+AM_BACKSLASH
+AM_DEFAULT_VERBOSITY
+AM_DEFAULT_V
+AM_V
+am__untar
+am__tar
+AMTAR
+am__leading_dot
+SET_MAKE
+AWK
+mkdir_p
+MKDIR_P
+INSTALL_STRIP_PROGRAM
+STRIP
+install_sh
+MAKEINFO
+AUTOHEADER
+AUTOMAKE
+AUTOCONF
+ACLOCAL
+VERSION
+PACKAGE
+CYGPATH_W
+am__isrc
+INSTALL_DATA
+INSTALL_SCRIPT
+INSTALL_PROGRAM
+target_alias
+host_alias
+build_alias
+LIBS
+ECHO_T
+ECHO_N
+ECHO_C
+DEFS
+mandir
+localedir
+libdir
+psdir
+pdfdir
+dvidir
+htmldir
+infodir
+docdir
+oldincludedir
+includedir
+localstatedir
+sharedstatedir
+sysconfdir
+datadir
+datarootdir
+libexecdir
+sbindir
+bindir
+program_transform_name
+prefix
+exec_prefix
+PACKAGE_URL
+PACKAGE_BUGREPORT
+PACKAGE_STRING
+PACKAGE_VERSION
+PACKAGE_TARNAME
+PACKAGE_NAME
+PATH_SEPARATOR
+SHELL'
+ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+enable_silent_rules
+enable_docs
+enable_dependency_tracking
+'
+ ac_precious_vars='build_alias
+host_alias
+target_alias
+CC
+CFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+CXX
+CXXFLAGS
+CCC'
+
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+ac_unrecognized_opts=
+ac_unrecognized_sep=
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
+
+ac_prev=
+ac_dashdash=
+for ac_option
+do
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval $ac_prev=\$ac_option
+ ac_prev=
+ continue
+ fi
+
+ case $ac_option in
+ *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+ *=) ac_optarg= ;;
+ *) ac_optarg=yes ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case $ac_dashdash$ac_option in
+ --)
+ ac_dashdash=yes ;;
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir=$ac_optarg ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build_alias ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build_alias=$ac_optarg ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file=$ac_optarg ;;
+
+ --config-cache | -C)
+ cache_file=config.cache ;;
+
+ -datadir | --datadir | --datadi | --datad)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=*)
+ datadir=$ac_optarg ;;
+
+ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+ | --dataroo | --dataro | --datar)
+ ac_prev=datarootdir ;;
+ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+ datarootdir=$ac_optarg ;;
+
+ -disable-* | --disable-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid feature name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=no ;;
+
+ -docdir | --docdir | --docdi | --doc | --do)
+ ac_prev=docdir ;;
+ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+ docdir=$ac_optarg ;;
+
+ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+ ac_prev=dvidir ;;
+ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+ dvidir=$ac_optarg ;;
+
+ -enable-* | --enable-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid feature name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=\$ac_optarg ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix=$ac_optarg ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he | -h)
+ ac_init_help=long ;;
+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+ ac_init_help=recursive ;;
+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+ ac_init_help=short ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host_alias ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host_alias=$ac_optarg ;;
+
+ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+ ac_prev=htmldir ;;
+ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+ | --ht=*)
+ htmldir=$ac_optarg ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir=$ac_optarg ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir=$ac_optarg ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir=$ac_optarg ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir=$ac_optarg ;;
+
+ -localedir | --localedir | --localedi | --localed | --locale)
+ ac_prev=localedir ;;
+ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+ localedir=$ac_optarg ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst | --locals)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+ localstatedir=$ac_optarg ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir=$ac_optarg ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c | -n)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir=$ac_optarg ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix=$ac_optarg ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix=$ac_optarg ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix=$ac_optarg ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name=$ac_optarg ;;
+
+ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+ ac_prev=pdfdir ;;
+ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+ pdfdir=$ac_optarg ;;
+
+ -psdir | --psdir | --psdi | --psd | --ps)
+ ac_prev=psdir ;;
+ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+ psdir=$ac_optarg ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir=$ac_optarg ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir=$ac_optarg ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site=$ac_optarg ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir=$ac_optarg ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir=$ac_optarg ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target_alias ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target_alias=$ac_optarg ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers | -V)
+ ac_init_version=: ;;
+
+ -with-* | --with-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid package name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=\$ac_optarg ;;
+
+ -without-* | --without-*)
+ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ as_fn_error $? "invalid package name: $ac_useropt"
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=no ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes=$ac_optarg ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries=$ac_optarg ;;
+
+ -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
+ ;;
+
+ *=*)
+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+ # Reject names that are not valid shell variable names.
+ case $ac_envvar in #(
+ '' | [0-9]* | *[!_$as_cr_alnum]* )
+ as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
+ esac
+ eval $ac_envvar=\$ac_optarg
+ export $ac_envvar ;;
+
+ *)
+ # FIXME: should be removed in autoconf 3.0.
+ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+ as_fn_error $? "missing argument to $ac_option"
+fi
+
+if test -n "$ac_unrecognized_opts"; then
+ case $enable_option_checking in
+ no) ;;
+ fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
+ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+ esac
+fi
+
+# Check all directory arguments for consistency.
+for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
+ datadir sysconfdir sharedstatedir localstatedir includedir \
+ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+ libdir localedir mandir
+do
+ eval ac_val=\$$ac_var
+ # Remove trailing slashes.
+ case $ac_val in
+ */ )
+ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
+ eval $ac_var=\$ac_val;;
+ esac
+ # Be sure to have absolute directory names.
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* ) continue;;
+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+ esac
+ as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+ if test "x$build_alias" = x; then
+ cross_compiling=maybe
+ elif test "x$build_alias" != "x$host_alias"; then
+ cross_compiling=yes
+ fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+ as_fn_error $? "working directory cannot be determined"
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+ as_fn_error $? "pwd does not report name of working directory"
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then the parent directory.
+ ac_confdir=`$as_dirname -- "$as_myself" ||
+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_myself" : 'X\(//\)[^/]' \| \
+ X"$as_myself" : 'X\(//\)$' \| \
+ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_myself" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ srcdir=$ac_confdir
+ if test ! -r "$srcdir/$ac_unique_file"; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r "$srcdir/$ac_unique_file"; then
+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+ as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+ cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
+ pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+ srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+ eval ac_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_env_${ac_var}_value=\$${ac_var}
+ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat <<_ACEOF
+\`configure' configures re2c 1.0.3 to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE. See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+ -h, --help display this help and exit
+ --help=short display options specific to this package
+ --help=recursive display the short help of all the included packages
+ -V, --version display version information and exit
+ -q, --quiet, --silent do not print \`checking ...' messages
+ --cache-file=FILE cache test results in FILE [disabled]
+ -C, --config-cache alias for \`--cache-file=config.cache'
+ -n, --no-create do not create output files
+ --srcdir=DIR find the sources in DIR [configure dir or \`..']
+
+Installation directories:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --infodir=DIR info documentation [DATAROOTDIR/info]
+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
+ --mandir=DIR man documentation [DATAROOTDIR/man]
+ --docdir=DIR documentation root [DATAROOTDIR/doc/re2c]
+ --htmldir=DIR html documentation [DOCDIR]
+ --dvidir=DIR dvi documentation [DOCDIR]
+ --pdfdir=DIR pdf documentation [DOCDIR]
+ --psdir=DIR ps documentation [DOCDIR]
+_ACEOF
+
+ cat <<\_ACEOF
+
+Program names:
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM run sed PROGRAM on installed program names
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+ case $ac_init_help in
+ short | recursive ) echo "Configuration of re2c 1.0.3:";;
+ esac
+ cat <<\_ACEOF
+
+Optional Features:
+ --disable-option-checking ignore unrecognized --enable/--with options
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --enable-silent-rules less verbose build output (undo: "make V=1")
+ --disable-silent-rules verbose build output (undo: "make V=0")
+ --enable-docs regenerate manpage
+ --enable-dependency-tracking
+ do not reject slow dependency extractors
+ --disable-dependency-tracking
+ speeds up one-time build
+
+Some influential environment variables:
+ CC C compiler command
+ CFLAGS C compiler flags
+ LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
+ nonstandard directory <lib dir>
+ LIBS libraries to pass to the linker, e.g. -l<library>
+ CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
+ you have headers in a nonstandard directory <include dir>
+ CXX C++ compiler command
+ CXXFLAGS C++ compiler flags
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+Report bugs to <re2c-general@lists.sourceforge.net>.
+_ACEOF
+ac_status=$?
+fi
+
+if test "$ac_init_help" = "recursive"; then
+ # If there are subdirs, report their specific --help.
+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+ test -d "$ac_dir" ||
+ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
+ continue
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+ cd "$ac_dir" || { ac_status=$?; continue; }
+ # Check for guested configure.
+ if test -f "$ac_srcdir/configure.gnu"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+ elif test -f "$ac_srcdir/configure"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure" --help=recursive
+ else
+ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ fi || ac_status=$?
+ cd "$ac_pwd" || { ac_status=$?; break; }
+ done
+fi
+
+test -n "$ac_init_help" && exit $ac_status
+if $ac_init_version; then
+ cat <<\_ACEOF
+re2c configure 1.0.3
+generated by GNU Autoconf 2.69
+
+Copyright (C) 2012 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+ exit
+fi
+
+## ------------------------ ##
+## Autoconf initialization. ##
+## ------------------------ ##
+
+# ac_fn_c_try_compile LINENO
+# --------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext
+ if { { ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compile") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_compile
+
+# ac_fn_cxx_try_compile LINENO
+# ----------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_cxx_try_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ rm -f conftest.$ac_objext
+ if { { ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compile") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ grep -v '^ *+' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ mv -f conftest.er1 conftest.err
+ fi
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && {
+ test -z "$ac_cxx_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=1
+fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_cxx_try_compile
+
+# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists and can be compiled using the include files in
+# INCLUDES, setting the cache variable VAR accordingly.
+ac_fn_c_check_header_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval "$3=yes"
+else
+ eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_c_check_header_compile
+
+# ac_fn_c_try_run LINENO
+# ----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
+# that executables *can* be run.
+ac_fn_c_try_run ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
+ { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then :
+ ac_retval=0
+else
+ $as_echo "$as_me: program exited with status $ac_status" >&5
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_retval=$ac_status
+fi
+ rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_run
+
+# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES
+# --------------------------------------------
+# Tries to find the compile-time value of EXPR in a program that includes
+# INCLUDES, setting VAR accordingly. Returns whether the value could be
+# computed
+ac_fn_c_compute_int ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if test "$cross_compiling" = yes; then
+ # Depending upon the size, compute the lo and hi bounds.
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) >= 0)];
+test_array [0] = 0;
+return test_array [0];
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_lo=0 ac_mid=0
+ while :; do
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) <= $ac_mid)];
+test_array [0] = 0;
+return test_array [0];
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_hi=$ac_mid; break
+else
+ as_fn_arith $ac_mid + 1 && ac_lo=$as_val
+ if test $ac_lo -le $ac_mid; then
+ ac_lo= ac_hi=
+ break
+ fi
+ as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) < 0)];
+test_array [0] = 0;
+return test_array [0];
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_hi=-1 ac_mid=-1
+ while :; do
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) >= $ac_mid)];
+test_array [0] = 0;
+return test_array [0];
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_lo=$ac_mid; break
+else
+ as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val
+ if test $ac_mid -le $ac_hi; then
+ ac_lo= ac_hi=
+ break
+ fi
+ as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ done
+else
+ ac_lo= ac_hi=
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+# Binary search between lo and hi bounds.
+while test "x$ac_lo" != "x$ac_hi"; do
+ as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+int
+main ()
+{
+static int test_array [1 - 2 * !(($2) <= $ac_mid)];
+test_array [0] = 0;
+return test_array [0];
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_hi=$ac_mid
+else
+ as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+done
+case $ac_lo in #((
+?*) eval "$3=\$ac_lo"; ac_retval=0 ;;
+'') ac_retval=1 ;;
+esac
+ else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+static long int longval () { return $2; }
+static unsigned long int ulongval () { return $2; }
+#include <stdio.h>
+#include <stdlib.h>
+int
+main ()
+{
+
+ FILE *f = fopen ("conftest.val", "w");
+ if (! f)
+ return 1;
+ if (($2) < 0)
+ {
+ long int i = longval ();
+ if (i != ($2))
+ return 1;
+ fprintf (f, "%ld", i);
+ }
+ else
+ {
+ unsigned long int i = ulongval ();
+ if (i != ($2))
+ return 1;
+ fprintf (f, "%lu", i);
+ }
+ /* Do not output a trailing newline, as this causes \r\n confusion
+ on some platforms. */
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+ echo >>conftest.val; read $3 <conftest.val; ac_retval=0
+else
+ ac_retval=1
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+ conftest.$ac_objext conftest.beam conftest.$ac_ext
+rm -f conftest.val
+
+ fi
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+ as_fn_set_status $ac_retval
+
+} # ac_fn_c_compute_int
+cat >config.log <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by re2c $as_me 1.0.3, which was
+generated by GNU Autoconf 2.69. Invocation command line was
+
+ $ $0 $@
+
+_ACEOF
+exec 5>>config.log
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
+
+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ $as_echo "PATH: $as_dir"
+ done
+IFS=$as_save_IFS
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+ for ac_arg
+ do
+ case $ac_arg in
+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ continue ;;
+ *\'*)
+ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ case $ac_pass in
+ 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
+ 2)
+ as_fn_append ac_configure_args1 " '$ac_arg'"
+ if test $ac_must_keep_next = true; then
+ ac_must_keep_next=false # Got value, back to normal.
+ else
+ case $ac_arg in
+ *=* | --config-cache | -C | -disable-* | --disable-* \
+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+ | -with-* | --with-* | -without-* | --without-* | --x)
+ case "$ac_configure_args0 " in
+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+ esac
+ ;;
+ -* ) ac_must_keep_next=true ;;
+ esac
+ fi
+ as_fn_append ac_configure_args " '$ac_arg'"
+ ;;
+ esac
+ done
+done
+{ ac_configure_args0=; unset ac_configure_args0;}
+{ ac_configure_args1=; unset ac_configure_args1;}
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log. We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+trap 'exit_status=$?
+ # Save into config.log some information that might help in debugging.
+ {
+ echo
+
+ $as_echo "## ---------------- ##
+## Cache variables. ##
+## ---------------- ##"
+ echo
+ # The following way of writing the cache mishandles newlines in values,
+(
+ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+ *) { eval $ac_var=; unset $ac_var;} ;;
+ esac ;;
+ esac
+ done
+ (set) 2>&1 |
+ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ sed -n \
+ "s/'\''/'\''\\\\'\'''\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+ ;; #(
+ *)
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+)
+ echo
+
+ $as_echo "## ----------------- ##
+## Output variables. ##
+## ----------------- ##"
+ echo
+ for ac_var in $ac_subst_vars
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ $as_echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+
+ if test -n "$ac_subst_files"; then
+ $as_echo "## ------------------- ##
+## File substitutions. ##
+## ------------------- ##"
+ echo
+ for ac_var in $ac_subst_files
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ $as_echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+ fi
+
+ if test -s confdefs.h; then
+ $as_echo "## ----------- ##
+## confdefs.h. ##
+## ----------- ##"
+ echo
+ cat confdefs.h
+ echo
+ fi
+ test "$ac_signal" != 0 &&
+ $as_echo "$as_me: caught signal $ac_signal"
+ $as_echo "$as_me: exit $exit_status"
+ } >&5
+ rm -f core *.core core.conftest.* &&
+ rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+ exit $exit_status
+' 0
+for ac_signal in 1 2 13 15; do
+ trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -f -r conftest* confdefs.h
+
+$as_echo "/* confdefs.h */" > confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_URL "$PACKAGE_URL"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer an explicitly selected file to automatically selected ones.
+ac_site_file1=NONE
+ac_site_file2=NONE
+if test -n "$CONFIG_SITE"; then
+ # We do not want a PATH search for config.site.
+ case $CONFIG_SITE in #((
+ -*) ac_site_file1=./$CONFIG_SITE;;
+ */*) ac_site_file1=$CONFIG_SITE;;
+ *) ac_site_file1=./$CONFIG_SITE;;
+ esac
+elif test "x$prefix" != xNONE; then
+ ac_site_file1=$prefix/share/config.site
+ ac_site_file2=$prefix/etc/config.site
+else
+ ac_site_file1=$ac_default_prefix/share/config.site
+ ac_site_file2=$ac_default_prefix/etc/config.site
+fi
+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
+do
+ test "x$ac_site_file" = xNONE && continue
+ if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
+$as_echo "$as_me: loading site script $ac_site_file" >&6;}
+ sed 's/^/| /' "$ac_site_file" >&5
+ . "$ac_site_file" \
+ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5; }
+ fi
+done
+
+if test -r "$cache_file"; then
+ # Some versions of bash will fail to source /dev/null (special files
+ # actually), so we avoid doing that. DJGPP emulates it as a regular file.
+ if test /dev/null != "$cache_file" && test -f "$cache_file"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
+$as_echo "$as_me: loading cache $cache_file" >&6;}
+ case $cache_file in
+ [\\/]* | ?:[\\/]* ) . "$cache_file";;
+ *) . "./$cache_file";;
+ esac
+ fi
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
+$as_echo "$as_me: creating cache $cache_file" >&6;}
+ >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+ eval ac_old_set=\$ac_cv_env_${ac_var}_set
+ eval ac_new_set=\$ac_env_${ac_var}_set
+ eval ac_old_val=\$ac_cv_env_${ac_var}_value
+ eval ac_new_val=\$ac_env_${ac_var}_value
+ case $ac_old_set,$ac_new_set in
+ set,)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,set)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,);;
+ *)
+ if test "x$ac_old_val" != "x$ac_new_val"; then
+ # differences in whitespace do not lead to failure.
+ ac_old_val_w=`echo x $ac_old_val`
+ ac_new_val_w=`echo x $ac_new_val`
+ if test "$ac_old_val_w" != "$ac_new_val_w"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ ac_cache_corrupted=:
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+ eval $ac_var=\$ac_old_val
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
+$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
+$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
+ fi;;
+ esac
+ # Pass precious variables to config.status.
+ if test "$ac_new_set" = set; then
+ case $ac_new_val in
+ *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *) ac_arg=$ac_var=$ac_new_val ;;
+ esac
+ case " $ac_configure_args " in
+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
+ *) as_fn_append ac_configure_args " '$ac_arg'" ;;
+ esac
+ fi
+done
+if $ac_cache_corrupted; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+ as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+fi
+## -------------------- ##
+## Main body of script. ##
+## -------------------- ##
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+am__api_version='1.15'
+
+ac_aux_dir=
+for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
+ if test -f "$ac_dir/install-sh"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f "$ac_dir/install.sh"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ elif test -f "$ac_dir/shtool"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/shtool install -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+fi
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+# Reject install programs that cannot install multiple files.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
+if test -z "$INSTALL"; then
+if ${ac_cv_path_install+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in #((
+ ./ | .// | /[cC]/* | \
+ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
+ /usr/ucb/* ) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+ if test $ac_prog = install &&
+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ elif test $ac_prog = install &&
+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # program-specific install script used by HP pwplus--don't use.
+ :
+ else
+ rm -rf conftest.one conftest.two conftest.dir
+ echo one > conftest.one
+ echo two > conftest.two
+ mkdir conftest.dir
+ if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+ test -s conftest.one && test -s conftest.two &&
+ test -s conftest.dir/conftest.one &&
+ test -s conftest.dir/conftest.two
+ then
+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+ break 3
+ fi
+ fi
+ fi
+ done
+ done
+ ;;
+esac
+
+ done
+IFS=$as_save_IFS
+
+rm -rf conftest.one conftest.two conftest.dir
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL=$ac_cv_path_install
+ else
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+ INSTALL=$ac_install_sh
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
+$as_echo "$INSTALL" >&6; }
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
+$as_echo_n "checking whether build environment is sane... " >&6; }
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name. Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+ *[\\\"\#\$\&\'\`$am_lf]*)
+ as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
+esac
+case $srcdir in
+ *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
+ as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
+esac
+
+# Do 'set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ am_has_slept=no
+ for am_try in 1 2; do
+ echo "timestamp, slept: $am_has_slept" > conftest.file
+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t "$srcdir/configure" conftest.file`
+ fi
+ if test "$*" != "X $srcdir/configure conftest.file" \
+ && test "$*" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ as_fn_error $? "ls -t appears to fail. Make sure there is not a broken
+ alias in your environment" "$LINENO" 5
+ fi
+ if test "$2" = conftest.file || test $am_try -eq 2; then
+ break
+ fi
+ # Just in case.
+ sleep 1
+ am_has_slept=yes
+ done
+ test "$2" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ as_fn_error $? "newly created file is older than distributed files!
+Check your system clock" "$LINENO" 5
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+# If we didn't sleep, we still need to ensure time stamps of config.status and
+# generated files are strictly newer.
+am_sleep_pid=
+if grep 'slept: no' conftest.file >/dev/null 2>&1; then
+ ( sleep 1 ) &
+ am_sleep_pid=$!
+fi
+
+rm -f conftest.file
+
+test "$program_prefix" != NONE &&
+ program_transform_name="s&^&$program_prefix&;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s&\$&$program_suffix&;$program_transform_name"
+# Double any \ or $.
+# By default was `s,x,x', remove it if useless.
+ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
+program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
+
+# Expand $ac_aux_dir to an absolute path.
+am_aux_dir=`cd "$ac_aux_dir" && pwd`
+
+if test x"${MISSING+set}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+ *)
+ MISSING="\${SHELL} $am_aux_dir/missing" ;;
+ esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --is-lightweight"; then
+ am_missing_run="$MISSING "
+else
+ am_missing_run=
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;}
+fi
+
+if test x"${install_sh+set}" != xset; then
+ case $am_aux_dir in
+ *\ * | *\ *)
+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+ *)
+ install_sh="\${SHELL} $am_aux_dir/install-sh"
+ esac
+fi
+
+# Installed binaries are usually stripped using 'strip' when the user
+# run "make install-strip". However 'strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the 'STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+ ac_ct_STRIP=$STRIP
+ # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_STRIP="strip"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
+else
+ STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
+$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
+if test -z "$MKDIR_P"; then
+ if ${ac_cv_path_mkdir+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in mkdir gmkdir; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue
+ case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
+ 'mkdir (GNU coreutils) '* | \
+ 'mkdir (coreutils) '* | \
+ 'mkdir (fileutils) '4.1*)
+ ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
+ break 3;;
+ esac
+ done
+ done
+ done
+IFS=$as_save_IFS
+
+fi
+
+ test -d ./--version && rmdir ./--version
+ if test "${ac_cv_path_mkdir+set}" = set; then
+ MKDIR_P="$ac_cv_path_mkdir -p"
+ else
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for MKDIR_P within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+ MKDIR_P="$ac_install_sh -d"
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
+$as_echo "$MKDIR_P" >&6; }
+
+for ac_prog in gawk mawk nawk awk
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_AWK+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$AWK"; then
+ ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_AWK="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
+$as_echo "$AWK" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$AWK" && break
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+ @echo '@@@%%%=$(MAKE)=@@@%%%'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+ *@@@%%%=?*=@@@%%%*)
+ eval ac_cv_prog_make_${ac_make}_set=yes;;
+ *)
+ eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
+rm -f conftest.make
+fi
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+ SET_MAKE=
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+# Check whether --enable-silent-rules was given.
+if test "${enable_silent_rules+set}" = set; then :
+ enableval=$enable_silent_rules;
+fi
+
+case $enable_silent_rules in # (((
+ yes) AM_DEFAULT_VERBOSITY=0;;
+ no) AM_DEFAULT_VERBOSITY=1;;
+ *) AM_DEFAULT_VERBOSITY=1;;
+esac
+am_make=${MAKE-make}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
+$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
+if ${am_cv_make_support_nested_variables+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if $as_echo 'TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+ @$(TRUE)
+.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
+ am_cv_make_support_nested_variables=yes
+else
+ am_cv_make_support_nested_variables=no
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
+$as_echo "$am_cv_make_support_nested_variables" >&6; }
+if test $am_cv_make_support_nested_variables = yes; then
+ AM_V='$(V)'
+ AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+ AM_V=$AM_DEFAULT_VERBOSITY
+ AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AM_BACKSLASH='\'
+
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+ # is not polluted with repeated "-I."
+ am__isrc=' -I$(srcdir)'
+ # test to see if srcdir already configured
+ if test -f $srcdir/config.status; then
+ as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
+ fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+
+
+# Define the identity of the package.
+ PACKAGE='re2c'
+ VERSION='1.0.3'
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE "$PACKAGE"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define VERSION "$VERSION"
+_ACEOF
+
+# Some tools Automake needs.
+
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+
+
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+# For better backward compatibility. To be removed once Automake 1.9.x
+# dies out for good. For more background, see:
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
+# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
+mkdir_p='$(MKDIR_P)'
+
+# We need awk for the "check" target (and possibly the TAP driver). The
+# system "awk" is bad on some platforms.
+# Always define AMTAR for backward compatibility. Yes, it's still used
+# in the wild :-( We should find a proper way to deprecate it ...
+AMTAR='$${TAR-tar}'
+
+
+# We'll loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar pax cpio none'
+
+am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
+
+
+
+
+
+
+# POSIX will say in a future version that running "rm -f" with no argument
+# is OK; and we want to be able to make that assumption in our Makefile
+# recipes. So use an aggressive probe to check that the usage we want is
+# actually supported "in the wild" to an acceptable degree.
+# See automake bug#10828.
+# To make any issue more visible, cause the running configure to be aborted
+# by default if the 'rm' program in use doesn't match our expectations; the
+# user can still override this though.
+if rm -f && rm -fr && rm -rf; then : OK; else
+ cat >&2 <<'END'
+Oops!
+
+Your 'rm' program seems unable to run without file operands specified
+on the command line, even when the '-f' option is present. This is contrary
+to the behaviour of most rm programs out there, and not conforming with
+the upcoming POSIX standard: <http://austingroupbugs.net/view.php?id=542>
+
+Please tell bug-automake@gnu.org about your system, including the value
+of your $PATH and any error possibly output before this message. This
+can help us improve future automake versions.
+
+END
+ if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then
+ echo 'Configuration will proceed anyway, since you have set the' >&2
+ echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2
+ echo >&2
+ else
+ cat >&2 <<'END'
+Aborting the configuration process, to ensure you take notice of the issue.
+
+You can download and install GNU coreutils to get an 'rm' implementation
+that behaves properly: <http://www.gnu.org/software/coreutils/>.
+
+If you want to complete the configuration process using your problematic
+'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
+to "yes", and re-run configure.
+
+END
+ as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
+ fi
+fi
+
+# Check whether --enable-silent-rules was given.
+if test "${enable_silent_rules+set}" = set; then :
+ enableval=$enable_silent_rules;
+fi
+
+case $enable_silent_rules in # (((
+ yes) AM_DEFAULT_VERBOSITY=0;;
+ no) AM_DEFAULT_VERBOSITY=1;;
+ *) AM_DEFAULT_VERBOSITY=0;;
+esac
+am_make=${MAKE-make}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5
+$as_echo_n "checking whether $am_make supports nested variables... " >&6; }
+if ${am_cv_make_support_nested_variables+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if $as_echo 'TRUE=$(BAR$(V))
+BAR0=false
+BAR1=true
+V=1
+am__doit:
+ @$(TRUE)
+.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then
+ am_cv_make_support_nested_variables=yes
+else
+ am_cv_make_support_nested_variables=no
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5
+$as_echo "$am_cv_make_support_nested_variables" >&6; }
+if test $am_cv_make_support_nested_variables = yes; then
+ AM_V='$(V)'
+ AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)'
+else
+ AM_V=$AM_DEFAULT_VERBOSITY
+ AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY
+fi
+AM_BACKSLASH='\'
+
+
+
+
+ac_config_headers="$ac_config_headers config.h"
+
+
+
+PACKAGE_DATE=`date +'%d %b %Y'`
+
+
+
+
+PACKAGE_RELEASE=${PACKAGE_RELEASE:-1}
+
+
+
+# --enable-docs
+# Check whether --enable-docs was given.
+if test "${enable_docs+set}" = set; then :
+ enableval=$enable_docs;
+fi
+
+ if test "x$enable_docs" = "xyes"; then
+ REBUILD_DOCS_TRUE=
+ REBUILD_DOCS_FALSE='#'
+else
+ REBUILD_DOCS_TRUE='#'
+ REBUILD_DOCS_FALSE=
+fi
+
+if test -z "$REBUILD_DOCS_TRUE"; then :
+
+ for ac_prog in rst2man rst2man.py
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_RST2MAN+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$RST2MAN"; then
+ ac_cv_prog_RST2MAN="$RST2MAN" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_RST2MAN="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+RST2MAN=$ac_cv_prog_RST2MAN
+if test -n "$RST2MAN"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RST2MAN" >&5
+$as_echo "$RST2MAN" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$RST2MAN" && break
+done
+test -n "$RST2MAN" || RST2MAN="no"
+
+ if test "x$RST2MAN" = "xno"; then :
+
+ as_fn_error $? "need rst2man or rst2man.py for --enable-docs" "$LINENO" 5
+
+fi
+
+fi
+
+
+# checks for programs
+# Extract the first word of "bison", so it can be a program name with args.
+set dummy bison; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_path_BISON+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ case $BISON in
+ [\\/]* | ?:[\\/]*)
+ ac_cv_path_BISON="$BISON" # Let the user override the test with a path.
+ ;;
+ *)
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_path_BISON="$as_dir/$ac_word$ac_exec_ext"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+ test -z "$ac_cv_path_BISON" && ac_cv_path_BISON="no"
+ ;;
+esac
+fi
+BISON=$ac_cv_path_BISON
+if test -n "$BISON"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BISON" >&5
+$as_echo "$BISON" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_CC="${ac_tool_prefix}gcc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+ ac_ct_CC=$CC
+ # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_CC="gcc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+else
+ CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_CC="${ac_tool_prefix}cc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ fi
+fi
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# != 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+ fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$CC"; then
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in cl.exe
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$CC" && break
+ done
+fi
+if test -z "$CC"; then
+ ac_ct_CC=$CC
+ for ac_prog in cl.exe
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CC+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_CC"; then
+ ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_CC="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_CC" && break
+done
+
+ if test "x$ac_ct_CC" = x; then
+ CC=""
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CC=$ac_ct_CC
+ fi
+fi
+
+fi
+
+
+test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5; }
+
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+ { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ sed '10a\
+... rest of stderr output deleted ...
+ 10q' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ fi
+ rm -f conftest.er1 conftest.err
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+done
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
+ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+
+# The possible output files:
+ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
+
+ac_rmfiles=
+for ac_file in $ac_files
+do
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+ * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+ esac
+done
+rm -f $ac_rmfiles
+
+if { { ac_try="$ac_link_default"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link_default") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then :
+ # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile. We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
+do
+ test -f "$ac_file" || continue
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
+ ;;
+ [ab].out )
+ # We found the default executable, but exeext='' is most
+ # certainly right.
+ break;;
+ *.* )
+ if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+ then :; else
+ ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ fi
+ # We set ac_cv_exeext here because the later test for it is not
+ # safe: cross compilers may not add the suffix if given an `-o'
+ # argument, so we may need to know it at that point already.
+ # Even if this section looks crufty: it has the advantage of
+ # actually working.
+ break;;
+ * )
+ break;;
+ esac
+done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
+else
+ ac_file=''
+fi
+if test -z "$ac_file"; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
+ac_exeext=$ac_cv_exeext
+
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
+$as_echo_n "checking for suffix of executables... " >&6; }
+if { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then :
+ # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in conftest.exe conftest conftest.*; do
+ test -f "$ac_file" || continue
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+ *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+ break;;
+ * ) break;;
+ esac
+done
+else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+rm -f conftest conftest$ac_cv_exeext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
+$as_echo "$ac_cv_exeext" >&6; }
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+ ;
+ return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run. If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+ { { ac_try="$ac_link"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_link") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+ if { ac_try='./conftest$ac_cv_exeext'
+ { { case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_try") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; }; then
+ cross_compiling=no
+ else
+ if test "$cross_compiling" = maybe; then
+ cross_compiling=yes
+ else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5; }
+ fi
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
+$as_echo_n "checking for suffix of object files... " >&6; }
+if ${ac_cv_objext+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+if { { ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compile") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }; then :
+ for ac_file in conftest.o conftest.obj conftest.*; do
+ test -f "$ac_file" || continue;
+ case $ac_file in
+ *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
+ *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+ break;;
+ esac
+done
+else
+ $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5; }
+fi
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
+$as_echo "$ac_cv_objext" >&6; }
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
+if ${ac_cv_c_compiler_gnu+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+#ifndef __GNUC__
+ choke me
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_compiler_gnu=yes
+else
+ ac_compiler_gnu=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+ GCC=yes
+else
+ GCC=
+fi
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
+if ${ac_cv_prog_cc_g+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_save_c_werror_flag=$ac_c_werror_flag
+ ac_c_werror_flag=yes
+ ac_cv_prog_cc_g=no
+ CFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_g=yes
+else
+ CFLAGS=""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+ ac_c_werror_flag=$ac_save_c_werror_flag
+ CFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+ CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+ if test "$GCC" = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-g"
+ fi
+else
+ if test "$GCC" = yes; then
+ CFLAGS="-O2"
+ else
+ CFLAGS=
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if ${ac_cv_prog_cc_c89+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdarg.h>
+#include <stdio.h>
+struct stat;
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+ char **p;
+ int i;
+{
+ return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+ char *s;
+ va_list v;
+ va_start (v,p);
+ s = g (p, va_arg (v,int));
+ va_end (v);
+ return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
+ function prototypes and stuff, but not '\xHH' hex character constants.
+ These don't provoke an error unfortunately, instead are silently treated
+ as 'x'. The following induces an error, until -std is added to get
+ proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
+ array size at least. It's necessary to write '\x00'==0 to get something
+ that's true only with -std. */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+ inside strings and character constants. */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
+ ;
+ return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+ CC="$ac_save_CC $ac_arg"
+ if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_prog_cc_c89=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext
+ test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+ x)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+ xno)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+ *)
+ CC="$CC $ac_cv_prog_cc_c89"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
+esac
+if test "x$ac_cv_prog_cc_c89" != xno; then :
+
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5
+$as_echo_n "checking whether $CC understands -c and -o together... " >&6; }
+if ${am_cv_prog_cc_c_o+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+ # Make sure it works both with $CC and with simple cc.
+ # Following AC_PROG_CC_C_O, we do the test twice because some
+ # compilers refuse to overwrite an existing .o file with -o,
+ # though they will create one.
+ am_cv_prog_cc_c_o=yes
+ for am_i in 1 2; do
+ if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5
+ ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } \
+ && test -f conftest2.$ac_objext; then
+ : OK
+ else
+ am_cv_prog_cc_c_o=no
+ break
+ fi
+ done
+ rm -f core conftest*
+ unset am_i
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5
+$as_echo "$am_cv_prog_cc_c_o" >&6; }
+if test "$am_cv_prog_cc_c_o" != yes; then
+ # Losing compiler, so override with the script.
+ # FIXME: It is wrong to rewrite CC.
+ # But if we don't then we get into trouble of one sort or another.
+ # A longer-term fix would be to have automake use am__CC in this case,
+ # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)"
+ CC="$am_aux_dir/compile $CC"
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+DEPDIR="${am__leading_dot}deps"
+
+ac_config_commands="$ac_config_commands depfiles"
+
+
+am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
+$as_echo_n "checking for style of include used by $am_make... " >&6; }
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from 'make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+ am__include=include
+ am__quote=
+ _am_result=GNU
+ ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ case `$am_make -s -f confmf 2> /dev/null` in #(
+ *the\ am__doit\ target*)
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ ;;
+ esac
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
+$as_echo "$_am_result" >&6; }
+rm -f confinc confmf
+
+# Check whether --enable-dependency-tracking was given.
+if test "${enable_dependency_tracking+set}" = set; then :
+ enableval=$enable_dependency_tracking;
+fi
+
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+ am__nodep='_no'
+fi
+ if test "x$enable_dependency_tracking" != xno; then
+ AMDEP_TRUE=
+ AMDEP_FALSE='#'
+else
+ AMDEP_TRUE='#'
+ AMDEP_FALSE=
+fi
+
+
+
+depcc="$CC" am_compiler_list=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if ${am_cv_CC_dependencies_compiler_type+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named 'D' -- because '-MD' means "put the output
+ # in D".
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_CC_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+ fi
+ am__universal=false
+ case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac
+
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+ # Solaris 10 /bin/sh.
+ echo '/* dummy */' > sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ # We check with '-c' and '-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle '-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs.
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
+ case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
+ nosideeffect)
+ # After this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested.
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+ # This compiler won't grok '-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
+ none) break ;;
+ esac
+ if depmode=$depmode \
+ source=sub/conftest.c object=$am__obj \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_CC_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_CC_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+
+ if
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
+ am__fastdepCC_TRUE=
+ am__fastdepCC_FALSE='#'
+else
+ am__fastdepCC_TRUE='#'
+ am__fastdepCC_FALSE=
+fi
+
+ # used in skeleton tests
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+if test -z "$CXX"; then
+ if test -n "$CCC"; then
+ CXX=$CCC
+ else
+ if test -n "$ac_tool_prefix"; then
+ for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_CXX+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$CXX"; then
+ ac_cv_prog_CXX="$CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+CXX=$ac_cv_prog_CXX
+if test -n "$CXX"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5
+$as_echo "$CXX" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$CXX" && break
+ done
+fi
+if test -z "$CXX"; then
+ ac_ct_CXX=$CXX
+ for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_CXX+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_CXX"; then
+ ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_CXX="$ac_prog"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
+if test -n "$ac_ct_CXX"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
+$as_echo "$ac_ct_CXX" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+ test -n "$ac_ct_CXX" && break
+done
+
+ if test "x$ac_ct_CXX" = x; then
+ CXX="g++"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ CXX=$ac_ct_CXX
+ fi
+fi
+
+ fi
+fi
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+ { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+ (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+ ac_status=$?
+ if test -s conftest.err; then
+ sed '10a\
+... rest of stderr output deleted ...
+ 10q' conftest.err >conftest.er1
+ cat conftest.er1 >&5
+ fi
+ rm -f conftest.er1 conftest.err
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+ test $ac_status = 0; }
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5
+$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
+if ${ac_cv_cxx_compiler_gnu+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+#ifndef __GNUC__
+ choke me
+#endif
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ ac_compiler_gnu=yes
+else
+ ac_compiler_gnu=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5
+$as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+ GXX=yes
+else
+ GXX=
+fi
+ac_test_CXXFLAGS=${CXXFLAGS+set}
+ac_save_CXXFLAGS=$CXXFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
+$as_echo_n "checking whether $CXX accepts -g... " >&6; }
+if ${ac_cv_prog_cxx_g+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_save_cxx_werror_flag=$ac_cxx_werror_flag
+ ac_cxx_werror_flag=yes
+ ac_cv_prog_cxx_g=no
+ CXXFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ ac_cv_prog_cxx_g=yes
+else
+ CXXFLAGS=""
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+
+else
+ ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+ CXXFLAGS="-g"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+ ac_cv_prog_cxx_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5
+$as_echo "$ac_cv_prog_cxx_g" >&6; }
+if test "$ac_test_CXXFLAGS" = set; then
+ CXXFLAGS=$ac_save_CXXFLAGS
+elif test $ac_cv_prog_cxx_g = yes; then
+ if test "$GXX" = yes; then
+ CXXFLAGS="-g -O2"
+ else
+ CXXFLAGS="-g"
+ fi
+else
+ if test "$GXX" = yes; then
+ CXXFLAGS="-O2"
+ else
+ CXXFLAGS=
+ fi
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+depcc="$CXX" am_compiler_list=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if ${am_cv_CXX_dependencies_compiler_type+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named 'D' -- because '-MD' means "put the output
+ # in D".
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_CXX_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+ fi
+ am__universal=false
+ case " $depcc " in #(
+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
+ esac
+
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with
+ # Solaris 10 /bin/sh.
+ echo '/* dummy */' > sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ # We check with '-c' and '-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle '-M -o', and we need to detect this. Also, some Intel
+ # versions had trouble with output in subdirs.
+ am__obj=sub/conftest.${OBJEXT-o}
+ am__minus_obj="-o $am__obj"
+ case $depmode in
+ gcc)
+ # This depmode causes a compiler race in universal mode.
+ test "$am__universal" = false || continue
+ ;;
+ nosideeffect)
+ # After this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested.
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ msvc7 | msvc7msys | msvisualcpp | msvcmsys)
+ # This compiler won't grok '-c -o', but also, the minuso test has
+ # not run yet. These depmodes are late enough in the game, and
+ # so weak that their functioning should not be impacted.
+ am__obj=conftest.${OBJEXT-o}
+ am__minus_obj=
+ ;;
+ none) break ;;
+ esac
+ if depmode=$depmode \
+ source=sub/conftest.c object=$am__obj \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_CXX_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_CXX_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
+CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
+
+ if
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
+ am__fastdepCXX_TRUE=
+ am__fastdepCXX_FALSE='#'
+else
+ am__fastdepCXX_TRUE='#'
+ am__fastdepCXX_FALSE=
+fi
+
+
+
+
+
+# checks for C++ compiler flags
+
+# TRY_CXXFLAG (flag [implied-flags])
+# Iff C++ compiler recognizes 'flag', append 'flag' and 'implied-flags' to CXXFLAGSDEFAULT
+# (Second param 'implied-flags' is needed for warning suppressions '-Wno-<warning>':
+# GCC warns about unrecognized suppressions options only in presence of other warnings,
+# which makes it hard to test for them with autoconf.)
+
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking C++ compiler flag -std=c++98" >&5
+$as_echo_n "checking C++ compiler flag -std=c++98... " >&6; }
+ CXXFLAGS_BACKUP="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -std=c++98"
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+
+ TRY_CXXFLAG_RESULT=yes
+ CXXFLAGSDEFAULT="$CXXFLAGSDEFAULT -std=c++98 "
+
+else
+ TRY_CXXFLAG_RESULT=no
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ CXXFLAGS="$CXXFLAGS_BACKUP"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TRY_CXXFLAG_RESULT" >&5
+$as_echo "$TRY_CXXFLAG_RESULT" >&6; }
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking C++ compiler flag -W" >&5
+$as_echo_n "checking C++ compiler flag -W... " >&6; }
+ CXXFLAGS_BACKUP="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -W"
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+
+ TRY_CXXFLAG_RESULT=yes
+ CXXFLAGSDEFAULT="$CXXFLAGSDEFAULT -W "
+
+else
+ TRY_CXXFLAG_RESULT=no
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ CXXFLAGS="$CXXFLAGS_BACKUP"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TRY_CXXFLAG_RESULT" >&5
+$as_echo "$TRY_CXXFLAG_RESULT" >&6; }
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking C++ compiler flag -Wall" >&5
+$as_echo_n "checking C++ compiler flag -Wall... " >&6; }
+ CXXFLAGS_BACKUP="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -Wall"
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+
+ TRY_CXXFLAG_RESULT=yes
+ CXXFLAGSDEFAULT="$CXXFLAGSDEFAULT -Wall "
+
+else
+ TRY_CXXFLAG_RESULT=no
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ CXXFLAGS="$CXXFLAGS_BACKUP"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TRY_CXXFLAG_RESULT" >&5
+$as_echo "$TRY_CXXFLAG_RESULT" >&6; }
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking C++ compiler flag -Wextra" >&5
+$as_echo_n "checking C++ compiler flag -Wextra... " >&6; }
+ CXXFLAGS_BACKUP="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -Wextra"
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+
+ TRY_CXXFLAG_RESULT=yes
+ CXXFLAGSDEFAULT="$CXXFLAGSDEFAULT -Wextra "
+
+else
+ TRY_CXXFLAG_RESULT=no
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ CXXFLAGS="$CXXFLAGS_BACKUP"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TRY_CXXFLAG_RESULT" >&5
+$as_echo "$TRY_CXXFLAG_RESULT" >&6; }
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking C++ compiler flag -Weffc++" >&5
+$as_echo_n "checking C++ compiler flag -Weffc++... " >&6; }
+ CXXFLAGS_BACKUP="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -Weffc++"
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+
+ TRY_CXXFLAG_RESULT=yes
+ CXXFLAGSDEFAULT="$CXXFLAGSDEFAULT -Weffc++ "
+
+else
+ TRY_CXXFLAG_RESULT=no
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ CXXFLAGS="$CXXFLAGS_BACKUP"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TRY_CXXFLAG_RESULT" >&5
+$as_echo "$TRY_CXXFLAG_RESULT" >&6; }
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking C++ compiler flag -pedantic" >&5
+$as_echo_n "checking C++ compiler flag -pedantic... " >&6; }
+ CXXFLAGS_BACKUP="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -pedantic"
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+
+ TRY_CXXFLAG_RESULT=yes
+ CXXFLAGSDEFAULT="$CXXFLAGSDEFAULT -pedantic "
+
+else
+ TRY_CXXFLAG_RESULT=no
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ CXXFLAGS="$CXXFLAGS_BACKUP"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TRY_CXXFLAG_RESULT" >&5
+$as_echo "$TRY_CXXFLAG_RESULT" >&6; }
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking C++ compiler flag -Wformat=2" >&5
+$as_echo_n "checking C++ compiler flag -Wformat=2... " >&6; }
+ CXXFLAGS_BACKUP="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -Wformat=2"
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+
+ TRY_CXXFLAG_RESULT=yes
+ CXXFLAGSDEFAULT="$CXXFLAGSDEFAULT -Wformat=2 "
+
+else
+ TRY_CXXFLAG_RESULT=no
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ CXXFLAGS="$CXXFLAGS_BACKUP"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TRY_CXXFLAG_RESULT" >&5
+$as_echo "$TRY_CXXFLAG_RESULT" >&6; }
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking C++ compiler flag -Wredundant-decls" >&5
+$as_echo_n "checking C++ compiler flag -Wredundant-decls... " >&6; }
+ CXXFLAGS_BACKUP="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -Wredundant-decls"
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+
+ TRY_CXXFLAG_RESULT=yes
+ CXXFLAGSDEFAULT="$CXXFLAGSDEFAULT -Wredundant-decls "
+
+else
+ TRY_CXXFLAG_RESULT=no
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ CXXFLAGS="$CXXFLAGS_BACKUP"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TRY_CXXFLAG_RESULT" >&5
+$as_echo "$TRY_CXXFLAG_RESULT" >&6; }
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking C++ compiler flag -Wsuggest-attribute=format" >&5
+$as_echo_n "checking C++ compiler flag -Wsuggest-attribute=format... " >&6; }
+ CXXFLAGS_BACKUP="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -Wsuggest-attribute=format"
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+
+ TRY_CXXFLAG_RESULT=yes
+ CXXFLAGSDEFAULT="$CXXFLAGSDEFAULT -Wsuggest-attribute=format "
+
+else
+ TRY_CXXFLAG_RESULT=no
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ CXXFLAGS="$CXXFLAGS_BACKUP"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TRY_CXXFLAG_RESULT" >&5
+$as_echo "$TRY_CXXFLAG_RESULT" >&6; }
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking C++ compiler flag -Wconversion" >&5
+$as_echo_n "checking C++ compiler flag -Wconversion... " >&6; }
+ CXXFLAGS_BACKUP="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -Wconversion"
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+
+ TRY_CXXFLAG_RESULT=yes
+ CXXFLAGSDEFAULT="$CXXFLAGSDEFAULT -Wconversion "
+
+else
+ TRY_CXXFLAG_RESULT=no
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ CXXFLAGS="$CXXFLAGS_BACKUP"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TRY_CXXFLAG_RESULT" >&5
+$as_echo "$TRY_CXXFLAG_RESULT" >&6; }
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking C++ compiler flag -Wsign-conversion" >&5
+$as_echo_n "checking C++ compiler flag -Wsign-conversion... " >&6; }
+ CXXFLAGS_BACKUP="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -Wsign-conversion"
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+
+ TRY_CXXFLAG_RESULT=yes
+ CXXFLAGSDEFAULT="$CXXFLAGSDEFAULT -Wsign-conversion "
+
+else
+ TRY_CXXFLAG_RESULT=no
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ CXXFLAGS="$CXXFLAGS_BACKUP"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TRY_CXXFLAG_RESULT" >&5
+$as_echo "$TRY_CXXFLAG_RESULT" >&6; }
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking C++ compiler flag -O2" >&5
+$as_echo_n "checking C++ compiler flag -O2... " >&6; }
+ CXXFLAGS_BACKUP="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -O2"
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+
+ TRY_CXXFLAG_RESULT=yes
+ CXXFLAGSDEFAULT="$CXXFLAGSDEFAULT -O2 "
+
+else
+ TRY_CXXFLAG_RESULT=no
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ CXXFLAGS="$CXXFLAGS_BACKUP"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TRY_CXXFLAG_RESULT" >&5
+$as_echo "$TRY_CXXFLAG_RESULT" >&6; }
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking C++ compiler flag -Weverything" >&5
+$as_echo_n "checking C++ compiler flag -Weverything... " >&6; }
+ CXXFLAGS_BACKUP="$CXXFLAGS"
+ CXXFLAGS="$CXXFLAGS -Weverything"
+ ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+
+ TRY_CXXFLAG_RESULT=yes
+ CXXFLAGSDEFAULT="$CXXFLAGSDEFAULT -Weverything -Wno-unknown-warning-option -Wno-reserved-id-macro -Wno-padded -Wno-old-style-cast -Wno-nested-anon-types -Wno-global-constructors"
+
+else
+ TRY_CXXFLAG_RESULT=no
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ CXXFLAGS="$CXXFLAGS_BACKUP"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TRY_CXXFLAG_RESULT" >&5
+$as_echo "$TRY_CXXFLAG_RESULT" >&6; }
+
+
+# needed by src/c99_stdint.h
+# avoid AC_INCLUDES_DEFAULT
+
+for ac_header in stdint.h
+do :
+ ac_fn_c_check_header_compile "$LINENO" "stdint.h" "ac_cv_header_stdint_h" "
+"
+if test "x$ac_cv_header_stdint_h" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_STDINT_H 1
+_ACEOF
+
+fi
+
+done
+
+# list of possible types to use in typedefs
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of char" >&5
+$as_echo_n "checking size of char... " >&6; }
+if ${ac_cv_sizeof_char+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (char))" "ac_cv_sizeof_char" "
+"; then :
+
+else
+ if test "$ac_cv_type_char" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (char)
+See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof_char=0
+ fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_char" >&5
+$as_echo "$ac_cv_sizeof_char" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_CHAR $ac_cv_sizeof_char
+_ACEOF
+
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of short" >&5
+$as_echo_n "checking size of short... " >&6; }
+if ${ac_cv_sizeof_short+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short))" "ac_cv_sizeof_short" "
+"; then :
+
+else
+ if test "$ac_cv_type_short" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (short)
+See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof_short=0
+ fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_short" >&5
+$as_echo "$ac_cv_sizeof_short" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_SHORT $ac_cv_sizeof_short
+_ACEOF
+
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5
+$as_echo_n "checking size of int... " >&6; }
+if ${ac_cv_sizeof_int+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "
+"; then :
+
+else
+ if test "$ac_cv_type_int" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (int)
+See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof_int=0
+ fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5
+$as_echo "$ac_cv_sizeof_int" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_INT $ac_cv_sizeof_int
+_ACEOF
+
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5
+$as_echo_n "checking size of long... " >&6; }
+if ${ac_cv_sizeof_long+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "
+"; then :
+
+else
+ if test "$ac_cv_type_long" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (long)
+See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof_long=0
+ fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5
+$as_echo "$ac_cv_sizeof_long" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_LONG $ac_cv_sizeof_long
+_ACEOF
+
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long long" >&5
+$as_echo_n "checking size of long long... " >&6; }
+if ${ac_cv_sizeof_long_long+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long long))" "ac_cv_sizeof_long_long" "
+"; then :
+
+else
+ if test "$ac_cv_type_long_long" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (long long)
+See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof_long_long=0
+ fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_long" >&5
+$as_echo "$ac_cv_sizeof_long_long" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_LONG_LONG $ac_cv_sizeof_long_long
+_ACEOF
+
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of __int64" >&5
+$as_echo_n "checking size of __int64... " >&6; }
+if ${ac_cv_sizeof___int64+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (__int64))" "ac_cv_sizeof___int64" "
+"; then :
+
+else
+ if test "$ac_cv_type___int64" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (__int64)
+See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof___int64=0
+ fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof___int64" >&5
+$as_echo "$ac_cv_sizeof___int64" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF___INT64 $ac_cv_sizeof___int64
+_ACEOF
+
+
+# size of pointers
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of void *" >&5
+$as_echo_n "checking size of void *... " >&6; }
+if ${ac_cv_sizeof_void_p+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void *))" "ac_cv_sizeof_void_p" "
+"; then :
+
+else
+ if test "$ac_cv_type_void_p" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (void *)
+See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof_void_p=0
+ fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_void_p" >&5
+$as_echo "$ac_cv_sizeof_void_p" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_VOID_P $ac_cv_sizeof_void_p
+_ACEOF
+
+
+# 64-bit integer constant suffix
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of 0l" >&5
+$as_echo_n "checking size of 0l... " >&6; }
+if ${ac_cv_sizeof_0l+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (0l))" "ac_cv_sizeof_0l" "
+"; then :
+
+else
+ if test "$ac_cv_type_0l" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (0l)
+See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof_0l=0
+ fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_0l" >&5
+$as_echo "$ac_cv_sizeof_0l" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_0L $ac_cv_sizeof_0l
+_ACEOF
+
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of 0ll" >&5
+$as_echo_n "checking size of 0ll... " >&6; }
+if ${ac_cv_sizeof_0ll+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (0ll))" "ac_cv_sizeof_0ll" "
+"; then :
+
+else
+ if test "$ac_cv_type_0ll" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (0ll)
+See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof_0ll=0
+ fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_0ll" >&5
+$as_echo "$ac_cv_sizeof_0ll" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_0LL $ac_cv_sizeof_0ll
+_ACEOF
+
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of 0i8" >&5
+$as_echo_n "checking size of 0i8... " >&6; }
+if ${ac_cv_sizeof_0i8+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (0i8))" "ac_cv_sizeof_0i8" "
+"; then :
+
+else
+ if test "$ac_cv_type_0i8" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (0i8)
+See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof_0i8=0
+ fi
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_0i8" >&5
+$as_echo "$ac_cv_sizeof_0i8" >&6; }
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_0I8 $ac_cv_sizeof_0i8
+_ACEOF
+
+
+
+
+ac_config_files="$ac_config_files Makefile doc/manpage.rst doc/help.rst"
+
+ac_config_files="$ac_config_files run_tests.sh"
+
+
+
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, we kill variables containing newlines.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(
+ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+ *) { eval $ac_var=; unset $ac_var;} ;;
+ esac ;;
+ esac
+ done
+
+ (set) 2>&1 |
+ case $as_nl`(ac_space=' '; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ # `set' does not quote correctly, so add quotes: double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \.
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;; #(
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+) |
+ sed '
+ /^ac_cv_env_/b end
+ t clear
+ :clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+ if test -w "$cache_file"; then
+ if test "x$cache_file" != "x/dev/null"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
+$as_echo "$as_me: updating cache $cache_file" >&6;}
+ if test ! -f "$cache_file" || test -h "$cache_file"; then
+ cat confcache >"$cache_file"
+ else
+ case $cache_file in #(
+ */* | ?:*)
+ mv -f confcache "$cache_file"$$ &&
+ mv -f "$cache_file"$$ "$cache_file" ;; #(
+ *)
+ mv -f confcache "$cache_file" ;;
+ esac
+ fi
+ fi
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+DEFS=-DHAVE_CONFIG_H
+
+ac_libobjs=
+ac_ltlibobjs=
+U=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+ # 1. Remove the extension, and $U if already installed.
+ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+ ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
+ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
+ # will be set to the directory where LIBOBJS objects are built.
+ as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+ as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5
+$as_echo_n "checking that generated files are newer than configure... " >&6; }
+ if test -n "$am_sleep_pid"; then
+ # Hide warnings about reused PIDs.
+ wait $am_sleep_pid 2>/dev/null
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5
+$as_echo "done" >&6; }
+ if test -n "$EXEEXT"; then
+ am__EXEEXT_TRUE=
+ am__EXEEXT_FALSE='#'
+else
+ am__EXEEXT_TRUE='#'
+ am__EXEEXT_FALSE=
+fi
+
+if test -z "${REBUILD_DOCS_TRUE}" && test -z "${REBUILD_DOCS_FALSE}"; then
+ as_fn_error $? "conditional \"REBUILD_DOCS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
+ as_fn_error $? "conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+ as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
+ as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+
+: "${CONFIG_STATUS=./config.status}"
+ac_write_fail=0
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+as_write_fail=0
+cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+ emulate sh
+ NULLCMD=:
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in #(
+ *posix*) :
+ set -o posix ;; #(
+ *) :
+ ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='print -r --'
+ as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
+ else
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in #(
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
+ fi
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+as_myself=
+case $0 in #((
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+ done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there. '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+ as_status=$1; test $as_status -eq 0 && as_status=1
+ if test "$4"; then
+ as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+ fi
+ $as_echo "$as_me: error: $2" >&2
+ as_fn_exit $as_status
+} # as_fn_error
+
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+ return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+ set +e
+ as_fn_set_status $1
+ exit $1
+} # as_fn_exit
+
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+ { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+ eval 'as_fn_append ()
+ {
+ eval $1+=\$2
+ }'
+else
+ as_fn_append ()
+ {
+ eval $1=\$$1\$2
+ }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+ eval 'as_fn_arith ()
+ {
+ as_val=$(( $* ))
+ }'
+else
+ as_fn_arith ()
+ {
+ as_val=`expr "$@" || test $? -eq 1`
+ }
+fi # as_fn_arith
+
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+ case `echo 'xy\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ xy) ECHO_C='\c';;
+ *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
+ ECHO_T=' ';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -pR'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -pR'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
+ as_ln_s='cp -pR'
+ fi
+else
+ as_ln_s='cp -pR'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || eval $as_mkdir_p || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p='mkdir -p "$as_dir"'
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+
+# as_fn_executable_p FILE
+# -----------------------
+# Test if FILE is an executable regular file.
+as_fn_executable_p ()
+{
+ test -f "$1" && test -x "$1"
+} # as_fn_executable_p
+as_test_x='test -x'
+as_executable_p=as_fn_executable_p
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+exec 6>&1
+## ----------------------------------- ##
+## Main body of $CONFIG_STATUS script. ##
+## ----------------------------------- ##
+_ASEOF
+test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# Save the log message, to keep $0 and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.
+ac_log="
+This file was extended by re2c $as_me 1.0.3, which was
+generated by GNU Autoconf 2.69. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ $ $0 $@
+
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
+_ACEOF
+
+case $ac_config_files in *"
+"*) set x $ac_config_files; shift; ac_config_files=$*;;
+esac
+
+case $ac_config_headers in *"
+"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
+esac
+
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+# Files that config.status was made for.
+config_files="$ac_config_files"
+config_headers="$ac_config_headers"
+config_commands="$ac_config_commands"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ac_cs_usage="\
+\`$as_me' instantiates files and other configuration actions
+from templates according to the current configuration. Unless the files
+and actions are specified as TAGs, all are instantiated by default.
+
+Usage: $0 [OPTION]... [TAG]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number and configuration settings, then exit
+ --config print configuration, then exit
+ -q, --quiet, --silent
+ do not print progress messages
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+ --header=FILE[:TEMPLATE]
+ instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to <re2c-general@lists.sourceforge.net>."
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+ac_cs_version="\\
+re2c config.status 1.0.3
+configured by $0, generated by GNU Autoconf 2.69,
+ with options \\"\$ac_cs_config\\"
+
+Copyright (C) 2012 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
+MKDIR_P='$MKDIR_P'
+AWK='$AWK'
+test -n "\$AWK" || AWK=awk
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# The default lists apply if the user does not specify any file.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=?*)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+ ac_shift=:
+ ;;
+ --*=)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=
+ ac_shift=:
+ ;;
+ *)
+ ac_option=$1
+ ac_optarg=$2
+ ac_shift=shift
+ ;;
+ esac
+
+ case $ac_option in
+ # Handling of the options.
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ ac_cs_recheck=: ;;
+ --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+ $as_echo "$ac_cs_version"; exit ;;
+ --config | --confi | --conf | --con | --co | --c )
+ $as_echo "$ac_cs_config"; exit ;;
+ --debug | --debu | --deb | --de | --d | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ $ac_shift
+ case $ac_optarg in
+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ '') as_fn_error $? "missing file argument" ;;
+ esac
+ as_fn_append CONFIG_FILES " '$ac_optarg'"
+ ac_need_defaults=false;;
+ --header | --heade | --head | --hea )
+ $ac_shift
+ case $ac_optarg in
+ *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ as_fn_append CONFIG_HEADERS " '$ac_optarg'"
+ ac_need_defaults=false;;
+ --he | --h)
+ # Conflict between --help and --header
+ as_fn_error $? "ambiguous option: \`$1'
+Try \`$0 --help' for more information.";;
+ --help | --hel | -h )
+ $as_echo "$ac_cs_usage"; exit ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil | --si | --s)
+ ac_cs_silent=: ;;
+
+ # This is an error.
+ -*) as_fn_error $? "unrecognized option: \`$1'
+Try \`$0 --help' for more information." ;;
+
+ *) as_fn_append ac_config_targets " $1"
+ ac_need_defaults=false ;;
+
+ esac
+ shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+ exec 6>/dev/null
+ ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+if \$ac_cs_recheck; then
+ set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+ shift
+ \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+ CONFIG_SHELL='$SHELL'
+ export CONFIG_SHELL
+ exec "\$@"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+exec 5>>config.log
+{
+ echo
+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+ $as_echo "$ac_log"
+} >&5
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+#
+# INIT-COMMANDS
+#
+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+
+# Handling of arguments.
+for ac_config_target in $ac_config_targets
+do
+ case $ac_config_target in
+ "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+ "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "doc/manpage.rst") CONFIG_FILES="$CONFIG_FILES doc/manpage.rst" ;;
+ "doc/help.rst") CONFIG_FILES="$CONFIG_FILES doc/help.rst" ;;
+ "run_tests.sh") CONFIG_FILES="$CONFIG_FILES run_tests.sh" ;;
+
+ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+ esac
+done
+
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+ test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+ test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Have a temporary directory for convenience. Make it in the build tree
+# simply because there is no reason against having it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
+$debug ||
+{
+ tmp= ac_tmp=
+ trap 'exit_status=$?
+ : "${ac_tmp:=$tmp}"
+ { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
+' 0
+ trap 'as_fn_exit 1' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
+
+{
+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+ test -d "$tmp"
+} ||
+{
+ tmp=./conf$$-$RANDOM
+ (umask 077 && mkdir "$tmp")
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+ac_tmp=$tmp
+
+# Set up the scripts for CONFIG_FILES section.
+# No need to generate them if there are no CONFIG_FILES.
+# This happens for instance with `./config.status config.h'.
+if test -n "$CONFIG_FILES"; then
+
+
+ac_cr=`echo X | tr X '\015'`
+# On cygwin, bash can eat \r inside `` if the user requested igncr.
+# But we know of no other shell where ac_cr would be empty at this
+# point, so we can use a bashism as a fallback.
+if test "x$ac_cr" = x; then
+ eval ac_cr=\$\'\\r\'
+fi
+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+ ac_cs_awk_cr='\\r'
+else
+ ac_cs_awk_cr=$ac_cr
+fi
+
+echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
+_ACEOF
+
+
+{
+ echo "cat >conf$$subs.awk <<_ACEOF" &&
+ echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+ echo "_ACEOF"
+} >conf$$subs.sh ||
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+ . ./conf$$subs.sh ||
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+
+ ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+ if test $ac_delim_n = $ac_delim_num; then
+ break
+ elif $ac_last_try; then
+ as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+rm -f conf$$subs.sh
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
+_ACEOF
+sed -n '
+h
+s/^/S["/; s/!.*/"]=/
+p
+g
+s/^[^!]*!//
+:repl
+t repl
+s/'"$ac_delim"'$//
+t delim
+:nl
+h
+s/\(.\{148\}\)..*/\1/
+t more1
+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
+p
+n
+b repl
+:more1
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t nl
+:delim
+h
+s/\(.\{148\}\)..*/\1/
+t more2
+s/["\\]/\\&/g; s/^/"/; s/$/"/
+p
+b
+:more2
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t delim
+' <conf$$subs.awk | sed '
+/^[^""]/{
+ N
+ s/\n//
+}
+' >>$CONFIG_STATUS || ac_write_fail=1
+rm -f conf$$subs.awk
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACAWK
+cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
+ for (key in S) S_is_set[key] = 1
+ FS = ""
+
+}
+{
+ line = $ 0
+ nfields = split(line, field, "@")
+ substed = 0
+ len = length(field[1])
+ for (i = 2; i < nfields; i++) {
+ key = field[i]
+ keylen = length(key)
+ if (S_is_set[key]) {
+ value = S[key]
+ line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
+ len += length(value) + length(field[++i])
+ substed = 1
+ } else
+ len += 1 + keylen
+ }
+
+ print line
+}
+
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
+ sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+else
+ cat
+fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
+ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
+_ACEOF
+
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
+h
+s///
+s/^/:/
+s/[ ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
+s/:*$//
+x
+s/\(=[ ]*\).*/\1/
+G
+s/\n//
+s/^[^=]*=[ ]*$//
+}'
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+fi # test -n "$CONFIG_FILES"
+
+# Set up the scripts for CONFIG_HEADERS section.
+# No need to generate them if there are no CONFIG_HEADERS.
+# This happens for instance with `./config.status Makefile'.
+if test -n "$CONFIG_HEADERS"; then
+cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
+BEGIN {
+_ACEOF
+
+# Transform confdefs.h into an awk script `defines.awk', embedded as
+# here-document in config.status, that substitutes the proper values into
+# config.h.in to produce config.h.
+
+# Create a delimiter string that does not exist in confdefs.h, to ease
+# handling of long lines.
+ac_delim='%!_!# '
+for ac_last_try in false false :; do
+ ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
+ if test -z "$ac_tt"; then
+ break
+ elif $ac_last_try; then
+ as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+
+# For the awk script, D is an array of macro values keyed by name,
+# likewise P contains macro parameters if any. Preserve backslash
+# newline sequences.
+
+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
+sed -n '
+s/.\{148\}/&'"$ac_delim"'/g
+t rset
+:rset
+s/^[ ]*#[ ]*define[ ][ ]*/ /
+t def
+d
+:def
+s/\\$//
+t bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3"/p
+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p
+d
+:bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3\\\\\\n"\\/p
+t cont
+s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
+t cont
+d
+:cont
+n
+s/.\{148\}/&'"$ac_delim"'/g
+t clear
+:clear
+s/\\$//
+t bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/"/p
+d
+:bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
+b cont
+' <confdefs.h | sed '
+s/'"$ac_delim"'/"\\\
+"/g' >>$CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ for (key in D) D_is_set[key] = 1
+ FS = ""
+}
+/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
+ line = \$ 0
+ split(line, arg, " ")
+ if (arg[1] == "#") {
+ defundef = arg[2]
+ mac1 = arg[3]
+ } else {
+ defundef = substr(arg[1], 2)
+ mac1 = arg[2]
+ }
+ split(mac1, mac2, "(") #)
+ macro = mac2[1]
+ prefix = substr(line, 1, index(line, defundef) - 1)
+ if (D_is_set[macro]) {
+ # Preserve the white space surrounding the "#".
+ print prefix "define", macro P[macro] D[macro]
+ next
+ } else {
+ # Replace #undef with comments. This is necessary, for example,
+ # in the case of _POSIX_SOURCE, which is predefined and required
+ # on some systems where configure will not decide to define it.
+ if (defundef == "undef") {
+ print "/*", prefix defundef, macro, "*/"
+ next
+ }
+ }
+}
+{ print }
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
+fi # test -n "$CONFIG_HEADERS"
+
+
+eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS"
+shift
+for ac_tag
+do
+ case $ac_tag in
+ :[FHLC]) ac_mode=$ac_tag; continue;;
+ esac
+ case $ac_mode$ac_tag in
+ :[FHL]*:*);;
+ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
+ :[FH]-) ac_tag=-:-;;
+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+ esac
+ ac_save_IFS=$IFS
+ IFS=:
+ set x $ac_tag
+ IFS=$ac_save_IFS
+ shift
+ ac_file=$1
+ shift
+
+ case $ac_mode in
+ :L) ac_source=$1;;
+ :[FH])
+ ac_file_inputs=
+ for ac_f
+ do
+ case $ac_f in
+ -) ac_f="$ac_tmp/stdin";;
+ *) # Look for the file first in the build tree, then in the source tree
+ # (if the path is not absolute). The absolute path cannot be DOS-style,
+ # because $ac_f cannot contain `:'.
+ test -f "$ac_f" ||
+ case $ac_f in
+ [\\/$]*) false;;
+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+ esac ||
+ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+ esac
+ case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+ as_fn_append ac_file_inputs " '$ac_f'"
+ done
+
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ configure_input='Generated from '`
+ $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+ `' by configure.'
+ if test x"$ac_file" != x-; then
+ configure_input="$ac_file. $configure_input"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
+$as_echo "$as_me: creating $ac_file" >&6;}
+ fi
+ # Neutralize special characters interpreted by sed in replacement strings.
+ case $configure_input in #(
+ *\&* | *\|* | *\\* )
+ ac_sed_conf_input=`$as_echo "$configure_input" |
+ sed 's/[\\\\&|]/\\\\&/g'`;; #(
+ *) ac_sed_conf_input=$configure_input;;
+ esac
+
+ case $ac_tag in
+ *:-:* | *:-) cat >"$ac_tmp/stdin" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
+ esac
+ ;;
+ esac
+
+ ac_dir=`$as_dirname -- "$ac_file" ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ as_dir="$ac_dir"; as_fn_mkdir_p
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+
+ case $ac_mode in
+ :F)
+ #
+ # CONFIG_FILE
+ #
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
+ esac
+ ac_MKDIR_P=$MKDIR_P
+ case $MKDIR_P in
+ [\\/$]* | ?:[\\/]* ) ;;
+ */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
+ esac
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+ac_sed_dataroot='
+/datarootdir/ {
+ p
+ q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p'
+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ ac_datarootdir_hack='
+ s&@datadir@&$datadir&g
+ s&@docdir@&$docdir&g
+ s&@infodir@&$infodir&g
+ s&@localedir@&$localedir&g
+ s&@mandir@&$mandir&g
+ s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
+_ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_sed_extra="$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s|@configure_input@|$ac_sed_conf_input|;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@top_build_prefix@&$ac_top_build_prefix&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+s&@MKDIR_P@&$ac_MKDIR_P&;t t
+$ac_datarootdir_hack
+"
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
+ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+ { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
+ "$ac_tmp/out"`; test -z "$ac_out"; } &&
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined" >&5
+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined" >&2;}
+
+ rm -f "$ac_tmp/stdin"
+ case $ac_file in
+ -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
+ *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
+ esac \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ ;;
+ :H)
+ #
+ # CONFIG_HEADER
+ #
+ if test x"$ac_file" != x-; then
+ {
+ $as_echo "/* $configure_input */" \
+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
+ } >"$ac_tmp/config.h" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
+$as_echo "$as_me: $ac_file is unchanged" >&6;}
+ else
+ rm -f "$ac_file"
+ mv "$ac_tmp/config.h" "$ac_file" \
+ || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ fi
+ else
+ $as_echo "/* $configure_input */" \
+ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
+ || as_fn_error $? "could not create -" "$LINENO" 5
+ fi
+# Compute "$ac_file"'s index in $config_headers.
+_am_arg="$ac_file"
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $_am_arg | $_am_arg:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
+$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$_am_arg" : 'X\(//\)[^/]' \| \
+ X"$_am_arg" : 'X\(//\)$' \| \
+ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$_am_arg" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`/stamp-h$_am_stamp_count
+ ;;
+
+ :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
+$as_echo "$as_me: executing $ac_file commands" >&6;}
+ ;;
+ esac
+
+
+ case $ac_file$ac_mode in
+ "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
+ # Older Autoconf quotes --file arguments for eval, but not when files
+ # are listed without --file. Let's play safe and only enable the eval
+ # if we detect the quoting.
+ case $CONFIG_FILES in
+ *\'*) eval set x "$CONFIG_FILES" ;;
+ *) set x $CONFIG_FILES ;;
+ esac
+ shift
+ for mf
+ do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named 'Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # Grep'ing the whole file is not good either: AIX grep has a line
+ # limit of 2048, but all sed's we know have understand at least 4000.
+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+ dirpart=`$as_dirname -- "$mf" ||
+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$mf" : 'X\(//\)[^/]' \| \
+ X"$mf" : 'X\(//\)$' \| \
+ X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$mf" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running 'make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "$am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`$as_dirname -- "$file" ||
+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$file" : 'X\(//\)[^/]' \| \
+ X"$file" : 'X\(//\)$' \| \
+ X"$file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ as_dir=$dirpart/$fdir; as_fn_mkdir_p
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+ done
+}
+ ;;
+ "run_tests.sh":F) chmod +x run_tests.sh ;;
+
+ esac
+done # for ac_tag
+
+
+as_fn_exit 0
+_ACEOF
+ac_clean_files=$ac_clean_files_save
+
+test $ac_write_fail = 0 ||
+ as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ ac_config_status_args=
+ test "$silent" = yes &&
+ ac_config_status_args="$ac_config_status_args --quiet"
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || as_fn_exit 1
+fi
+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+fi
+
diff --git a/configure.ac b/configure.ac
index 87ff2122..ac73c5c7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,4 +1,4 @@
-AC_INIT([re2c],[0.16],[re2c-general@lists.sourceforge.net])
+AC_INIT([re2c],[1.0.3],[re2c-general@lists.sourceforge.net])
AM_INIT_AUTOMAKE([foreign subdir-objects])
AM_SILENT_RULES([yes])
@@ -56,6 +56,7 @@ AC_DEFUN([TRY_CXXFLAG], [
AS_VAR_SET([CXXFLAGS], ["$CXXFLAGS_BACKUP"])
AC_MSG_RESULT([$TRY_CXXFLAG_RESULT])
])
+TRY_CXXFLAG([-std=c++98])
TRY_CXXFLAG([-W])
TRY_CXXFLAG([-Wall])
TRY_CXXFLAG([-Wextra])
@@ -70,9 +71,10 @@ TRY_CXXFLAG([-O2])
TRY_CXXFLAG([-Weverything], m4_join([ ],
[-Wno-unknown-warning-option], dnl CLANG eats some GCC options only to warn they are unknown
[-Wno-reserved-id-macro], dnl to allow header guards of the form '_RE2C_PATH_TO_HEADER_BASENAME_'
- [-Wno-padded], dnl perhaps later
+ [-Wno-padded],
[-Wno-old-style-cast], dnl RE2C-generated lexer has lots of C-syle casts because of 're2c:yych:conversion = 1;'
- [-Wno-covered-switch-default])) dnl GCC reports false positives in some cases
+ [-Wno-nested-anon-types],
+ [-Wno-global-constructors])) dnl initialization of global constants with std::numeric_limits<...> (mostly for size_t)
# needed by src/c99_stdint.h
@@ -96,6 +98,7 @@ AC_CHECK_SIZEOF([0i8], [], [[]])
AC_CONFIG_FILES([\
Makefile \
doc/manpage.rst \
+ doc/help.rst \
])
AC_CONFIG_FILES([run_tests.sh], [chmod +x run_tests.sh])
diff --git a/depcomp b/depcomp
new file mode 100755
index 00000000..b39f98f9
--- /dev/null
+++ b/depcomp
@@ -0,0 +1,791 @@
+#! /bin/sh
+# depcomp - compile a program generating dependencies as side-effects
+
+scriptversion=2016-01-11.22; # UTC
+
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
+
+case $1 in
+ '')
+ echo "$0: No command. Try '$0 --help' for more information." 1>&2
+ exit 1;
+ ;;
+ -h | --h*)
+ cat <<\EOF
+Usage: depcomp [--help] [--version] PROGRAM [ARGS]
+
+Run PROGRAMS ARGS to compile a file, generating dependencies
+as side-effects.
+
+Environment variables:
+ depmode Dependency tracking mode.
+ source Source file read by 'PROGRAMS ARGS'.
+ object Object file output by 'PROGRAMS ARGS'.
+ DEPDIR directory where to store dependencies.
+ depfile Dependency file to output.
+ tmpdepfile Temporary file to use when outputting dependencies.
+ libtool Whether libtool is used (yes/no).
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+ exit $?
+ ;;
+ -v | --v*)
+ echo "depcomp $scriptversion"
+ exit $?
+ ;;
+esac
+
+# Get the directory component of the given path, and save it in the
+# global variables '$dir'. Note that this directory component will
+# be either empty or ending with a '/' character. This is deliberate.
+set_dir_from ()
+{
+ case $1 in
+ */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
+ *) dir=;;
+ esac
+}
+
+# Get the suffix-stripped basename of the given path, and save it the
+# global variable '$base'.
+set_base_from ()
+{
+ base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
+}
+
+# If no dependency file was actually created by the compiler invocation,
+# we still have to create a dummy depfile, to avoid errors with the
+# Makefile "include basename.Plo" scheme.
+make_dummy_depfile ()
+{
+ echo "#dummy" > "$depfile"
+}
+
+# Factor out some common post-processing of the generated depfile.
+# Requires the auxiliary global variable '$tmpdepfile' to be set.
+aix_post_process_depfile ()
+{
+ # If the compiler actually managed to produce a dependency file,
+ # post-process it.
+ if test -f "$tmpdepfile"; then
+ # Each line is of the form 'foo.o: dependency.h'.
+ # Do two passes, one to just change these to
+ # $object: dependency.h
+ # and one to simply output
+ # dependency.h:
+ # which is needed to avoid the deleted-header problem.
+ { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
+ sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
+ } > "$depfile"
+ rm -f "$tmpdepfile"
+ else
+ make_dummy_depfile
+ fi
+}
+
+# A tabulation character.
+tab=' '
+# A newline character.
+nl='
+'
+# Character ranges might be problematic outside the C locale.
+# These definitions help.
+upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
+lower=abcdefghijklmnopqrstuvwxyz
+digits=0123456789
+alpha=${upper}${lower}
+
+if test -z "$depmode" || test -z "$source" || test -z "$object"; then
+ echo "depcomp: Variables source, object and depmode must be set" 1>&2
+ exit 1
+fi
+
+# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
+depfile=${depfile-`echo "$object" |
+ sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
+tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
+
+rm -f "$tmpdepfile"
+
+# Avoid interferences from the environment.
+gccflag= dashmflag=
+
+# Some modes work just like other modes, but use different flags. We
+# parameterize here, but still list the modes in the big case below,
+# to make depend.m4 easier to write. Note that we *cannot* use a case
+# here, because this file can only contain one case statement.
+if test "$depmode" = hp; then
+ # HP compiler uses -M and no extra arg.
+ gccflag=-M
+ depmode=gcc
+fi
+
+if test "$depmode" = dashXmstdout; then
+ # This is just like dashmstdout with a different argument.
+ dashmflag=-xM
+ depmode=dashmstdout
+fi
+
+cygpath_u="cygpath -u -f -"
+if test "$depmode" = msvcmsys; then
+ # This is just like msvisualcpp but w/o cygpath translation.
+ # Just convert the backslash-escaped backslashes to single forward
+ # slashes to satisfy depend.m4
+ cygpath_u='sed s,\\\\,/,g'
+ depmode=msvisualcpp
+fi
+
+if test "$depmode" = msvc7msys; then
+ # This is just like msvc7 but w/o cygpath translation.
+ # Just convert the backslash-escaped backslashes to single forward
+ # slashes to satisfy depend.m4
+ cygpath_u='sed s,\\\\,/,g'
+ depmode=msvc7
+fi
+
+if test "$depmode" = xlc; then
+ # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
+ gccflag=-qmakedep=gcc,-MF
+ depmode=gcc
+fi
+
+case "$depmode" in
+gcc3)
+## gcc 3 implements dependency tracking that does exactly what
+## we want. Yay! Note: for some reason libtool 1.4 doesn't like
+## it if -MD -MP comes after the -MF stuff. Hmm.
+## Unfortunately, FreeBSD c89 acceptance of flags depends upon
+## the command line argument order; so add the flags where they
+## appear in depend2.am. Note that the slowdown incurred here
+## affects only configure: in makefiles, %FASTDEP% shortcuts this.
+ for arg
+ do
+ case $arg in
+ -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
+ *) set fnord "$@" "$arg" ;;
+ esac
+ shift # fnord
+ shift # $arg
+ done
+ "$@"
+ stat=$?
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ mv "$tmpdepfile" "$depfile"
+ ;;
+
+gcc)
+## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
+## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
+## (see the conditional assignment to $gccflag above).
+## There are various ways to get dependency output from gcc. Here's
+## why we pick this rather obscure method:
+## - Don't want to use -MD because we'd like the dependencies to end
+## up in a subdir. Having to rename by hand is ugly.
+## (We might end up doing this anyway to support other compilers.)
+## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
+## -MM, not -M (despite what the docs say). Also, it might not be
+## supported by the other compilers which use the 'gcc' depmode.
+## - Using -M directly means running the compiler twice (even worse
+## than renaming).
+ if test -z "$gccflag"; then
+ gccflag=-MD,
+ fi
+ "$@" -Wp,"$gccflag$tmpdepfile"
+ stat=$?
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ # The second -e expression handles DOS-style file names with drive
+ # letters.
+ sed -e 's/^[^:]*: / /' \
+ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
+## This next piece of magic avoids the "deleted header file" problem.
+## The problem is that when a header file which appears in a .P file
+## is deleted, the dependency causes make to die (because there is
+## typically no way to rebuild the header). We avoid this by adding
+## dummy dependencies for each header file. Too bad gcc doesn't do
+## this for us directly.
+## Some versions of gcc put a space before the ':'. On the theory
+## that the space means something, we add a space to the output as
+## well. hp depmode also adds that space, but also prefixes the VPATH
+## to the object. Take care to not repeat it in the output.
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly. Breaking it into two sed invocations is a workaround.
+ tr ' ' "$nl" < "$tmpdepfile" \
+ | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
+ | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+hp)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
+
+sgi)
+ if test "$libtool" = yes; then
+ "$@" "-Wp,-MDupdate,$tmpdepfile"
+ else
+ "$@" -MDupdate "$tmpdepfile"
+ fi
+ stat=$?
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+
+ if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
+ echo "$object : \\" > "$depfile"
+ # Clip off the initial element (the dependent). Don't try to be
+ # clever and replace this with sed code, as IRIX sed won't handle
+ # lines with more than a fixed number of characters (4096 in
+ # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
+ # the IRIX cc adds comments like '#:fec' to the end of the
+ # dependency line.
+ tr ' ' "$nl" < "$tmpdepfile" \
+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
+ | tr "$nl" ' ' >> "$depfile"
+ echo >> "$depfile"
+ # The second pass generates a dummy entry for each header file.
+ tr ' ' "$nl" < "$tmpdepfile" \
+ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
+ >> "$depfile"
+ else
+ make_dummy_depfile
+ fi
+ rm -f "$tmpdepfile"
+ ;;
+
+xlc)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
+
+aix)
+ # The C for AIX Compiler uses -M and outputs the dependencies
+ # in a .u file. In older versions, this file always lives in the
+ # current directory. Also, the AIX compiler puts '$object:' at the
+ # start of each line; $object doesn't have directory information.
+ # Version 6 uses the directory in both cases.
+ set_dir_from "$object"
+ set_base_from "$object"
+ if test "$libtool" = yes; then
+ tmpdepfile1=$dir$base.u
+ tmpdepfile2=$base.u
+ tmpdepfile3=$dir.libs/$base.u
+ "$@" -Wc,-M
+ else
+ tmpdepfile1=$dir$base.u
+ tmpdepfile2=$dir$base.u
+ tmpdepfile3=$dir$base.u
+ "$@" -M
+ fi
+ stat=$?
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ exit $stat
+ fi
+
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ do
+ test -f "$tmpdepfile" && break
+ done
+ aix_post_process_depfile
+ ;;
+
+tcc)
+ # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
+ # FIXME: That version still under development at the moment of writing.
+ # Make that this statement remains true also for stable, released
+ # versions.
+ # It will wrap lines (doesn't matter whether long or short) with a
+ # trailing '\', as in:
+ #
+ # foo.o : \
+ # foo.c \
+ # foo.h \
+ #
+ # It will put a trailing '\' even on the last line, and will use leading
+ # spaces rather than leading tabs (at least since its commit 0394caf7
+ # "Emit spaces for -MD").
+ "$@" -MD -MF "$tmpdepfile"
+ stat=$?
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+ # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
+ # We have to change lines of the first kind to '$object: \'.
+ sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
+ # And for each line of the second kind, we have to emit a 'dep.h:'
+ # dummy dependency, to avoid the deleted-header problem.
+ sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+## The order of this option in the case statement is important, since the
+## shell code in configure will try each of these formats in the order
+## listed in this file. A plain '-MD' option would be understood by many
+## compilers, so we must ensure this comes after the gcc and icc options.
+pgcc)
+ # Portland's C compiler understands '-MD'.
+ # Will always output deps to 'file.d' where file is the root name of the
+ # source file under compilation, even if file resides in a subdirectory.
+ # The object file name does not affect the name of the '.d' file.
+ # pgcc 10.2 will output
+ # foo.o: sub/foo.c sub/foo.h
+ # and will wrap long lines using '\' :
+ # foo.o: sub/foo.c ... \
+ # sub/foo.h ... \
+ # ...
+ set_dir_from "$object"
+ # Use the source, not the object, to determine the base name, since
+ # that's sadly what pgcc will do too.
+ set_base_from "$source"
+ tmpdepfile=$base.d
+
+ # For projects that build the same source file twice into different object
+ # files, the pgcc approach of using the *source* file root name can cause
+ # problems in parallel builds. Use a locking strategy to avoid stomping on
+ # the same $tmpdepfile.
+ lockdir=$base.d-lock
+ trap "
+ echo '$0: caught signal, cleaning up...' >&2
+ rmdir '$lockdir'
+ exit 1
+ " 1 2 13 15
+ numtries=100
+ i=$numtries
+ while test $i -gt 0; do
+ # mkdir is a portable test-and-set.
+ if mkdir "$lockdir" 2>/dev/null; then
+ # This process acquired the lock.
+ "$@" -MD
+ stat=$?
+ # Release the lock.
+ rmdir "$lockdir"
+ break
+ else
+ # If the lock is being held by a different process, wait
+ # until the winning process is done or we timeout.
+ while test -d "$lockdir" && test $i -gt 0; do
+ sleep 1
+ i=`expr $i - 1`
+ done
+ fi
+ i=`expr $i - 1`
+ done
+ trap - 1 2 13 15
+ if test $i -le 0; then
+ echo "$0: failed to acquire lock after $numtries attempts" >&2
+ echo "$0: check lockdir '$lockdir'" >&2
+ exit 1
+ fi
+
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+ # Each line is of the form `foo.o: dependent.h',
+ # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
+ # Do two passes, one to just change these to
+ # `$object: dependent.h' and one to simply `dependent.h:'.
+ sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
+ # Some versions of the HPUX 10.20 sed can't process this invocation
+ # correctly. Breaking it into two sed invocations is a workaround.
+ sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
+ | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+hp2)
+ # The "hp" stanza above does not work with aCC (C++) and HP's ia64
+ # compilers, which have integrated preprocessors. The correct option
+ # to use with these is +Maked; it writes dependencies to a file named
+ # 'foo.d', which lands next to the object file, wherever that
+ # happens to be.
+ # Much of this is similar to the tru64 case; see comments there.
+ set_dir_from "$object"
+ set_base_from "$object"
+ if test "$libtool" = yes; then
+ tmpdepfile1=$dir$base.d
+ tmpdepfile2=$dir.libs/$base.d
+ "$@" -Wc,+Maked
+ else
+ tmpdepfile1=$dir$base.d
+ tmpdepfile2=$dir$base.d
+ "$@" +Maked
+ fi
+ stat=$?
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile1" "$tmpdepfile2"
+ exit $stat
+ fi
+
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
+ do
+ test -f "$tmpdepfile" && break
+ done
+ if test -f "$tmpdepfile"; then
+ sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
+ # Add 'dependent.h:' lines.
+ sed -ne '2,${
+ s/^ *//
+ s/ \\*$//
+ s/$/:/
+ p
+ }' "$tmpdepfile" >> "$depfile"
+ else
+ make_dummy_depfile
+ fi
+ rm -f "$tmpdepfile" "$tmpdepfile2"
+ ;;
+
+tru64)
+ # The Tru64 compiler uses -MD to generate dependencies as a side
+ # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
+ # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
+ # dependencies in 'foo.d' instead, so we check for that too.
+ # Subdirectories are respected.
+ set_dir_from "$object"
+ set_base_from "$object"
+
+ if test "$libtool" = yes; then
+ # Libtool generates 2 separate objects for the 2 libraries. These
+ # two compilations output dependencies in $dir.libs/$base.o.d and
+ # in $dir$base.o.d. We have to check for both files, because
+ # one of the two compilations can be disabled. We should prefer
+ # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+ # automatically cleaned when .libs/ is deleted, while ignoring
+ # the former would cause a distcleancheck panic.
+ tmpdepfile1=$dir$base.o.d # libtool 1.5
+ tmpdepfile2=$dir.libs/$base.o.d # Likewise.
+ tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504
+ "$@" -Wc,-MD
+ else
+ tmpdepfile1=$dir$base.d
+ tmpdepfile2=$dir$base.d
+ tmpdepfile3=$dir$base.d
+ "$@" -MD
+ fi
+
+ stat=$?
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ exit $stat
+ fi
+
+ for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+ do
+ test -f "$tmpdepfile" && break
+ done
+ # Same post-processing that is required for AIX mode.
+ aix_post_process_depfile
+ ;;
+
+msvc7)
+ if test "$libtool" = yes; then
+ showIncludes=-Wc,-showIncludes
+ else
+ showIncludes=-showIncludes
+ fi
+ "$@" $showIncludes > "$tmpdepfile"
+ stat=$?
+ grep -v '^Note: including file: ' "$tmpdepfile"
+ if test $stat -ne 0; then
+ rm -f "$tmpdepfile"
+ exit $stat
+ fi
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ # The first sed program below extracts the file names and escapes
+ # backslashes for cygpath. The second sed program outputs the file
+ # name when reading, but also accumulates all include files in the
+ # hold buffer in order to output them again at the end. This only
+ # works with sed implementations that can handle large buffers.
+ sed < "$tmpdepfile" -n '
+/^Note: including file: *\(.*\)/ {
+ s//\1/
+ s/\\/\\\\/g
+ p
+}' | $cygpath_u | sort -u | sed -n '
+s/ /\\ /g
+s/\(.*\)/'"$tab"'\1 \\/p
+s/.\(.*\) \\/\1:/
+H
+$ {
+ s/.*/'"$tab"'/
+ G
+ p
+}' >> "$depfile"
+ echo >> "$depfile" # make sure the fragment doesn't end with a backslash
+ rm -f "$tmpdepfile"
+ ;;
+
+msvc7msys)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
+
+#nosideeffect)
+ # This comment above is used by automake to tell side-effect
+ # dependency tracking mechanisms from slower ones.
+
+dashmstdout)
+ # Important note: in order to support this mode, a compiler *must*
+ # always write the preprocessed file to stdout, regardless of -o.
+ "$@" || exit $?
+
+ # Remove the call to Libtool.
+ if test "$libtool" = yes; then
+ while test "X$1" != 'X--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+
+ # Remove '-o $object'.
+ IFS=" "
+ for arg
+ do
+ case $arg in
+ -o)
+ shift
+ ;;
+ $object)
+ shift
+ ;;
+ *)
+ set fnord "$@" "$arg"
+ shift # fnord
+ shift # $arg
+ ;;
+ esac
+ done
+
+ test -z "$dashmflag" && dashmflag=-M
+ # Require at least two characters before searching for ':'
+ # in the target name. This is to cope with DOS-style filenames:
+ # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
+ "$@" $dashmflag |
+ sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
+ rm -f "$depfile"
+ cat < "$tmpdepfile" > "$depfile"
+ # Some versions of the HPUX 10.20 sed can't process this sed invocation
+ # correctly. Breaking it into two sed invocations is a workaround.
+ tr ' ' "$nl" < "$tmpdepfile" \
+ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
+ | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+dashXmstdout)
+ # This case only exists to satisfy depend.m4. It is never actually
+ # run, as this mode is specially recognized in the preamble.
+ exit 1
+ ;;
+
+makedepend)
+ "$@" || exit $?
+ # Remove any Libtool call
+ if test "$libtool" = yes; then
+ while test "X$1" != 'X--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+ # X makedepend
+ shift
+ cleared=no eat=no
+ for arg
+ do
+ case $cleared in
+ no)
+ set ""; shift
+ cleared=yes ;;
+ esac
+ if test $eat = yes; then
+ eat=no
+ continue
+ fi
+ case "$arg" in
+ -D*|-I*)
+ set fnord "$@" "$arg"; shift ;;
+ # Strip any option that makedepend may not understand. Remove
+ # the object too, otherwise makedepend will parse it as a source file.
+ -arch)
+ eat=yes ;;
+ -*|$object)
+ ;;
+ *)
+ set fnord "$@" "$arg"; shift ;;
+ esac
+ done
+ obj_suffix=`echo "$object" | sed 's/^.*\././'`
+ touch "$tmpdepfile"
+ ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
+ rm -f "$depfile"
+ # makedepend may prepend the VPATH from the source file name to the object.
+ # No need to regex-escape $object, excess matching of '.' is harmless.
+ sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
+ # Some versions of the HPUX 10.20 sed can't process the last invocation
+ # correctly. Breaking it into two sed invocations is a workaround.
+ sed '1,2d' "$tmpdepfile" \
+ | tr ' ' "$nl" \
+ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
+ | sed -e 's/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile" "$tmpdepfile".bak
+ ;;
+
+cpp)
+ # Important note: in order to support this mode, a compiler *must*
+ # always write the preprocessed file to stdout.
+ "$@" || exit $?
+
+ # Remove the call to Libtool.
+ if test "$libtool" = yes; then
+ while test "X$1" != 'X--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+
+ # Remove '-o $object'.
+ IFS=" "
+ for arg
+ do
+ case $arg in
+ -o)
+ shift
+ ;;
+ $object)
+ shift
+ ;;
+ *)
+ set fnord "$@" "$arg"
+ shift # fnord
+ shift # $arg
+ ;;
+ esac
+ done
+
+ "$@" -E \
+ | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+ | sed '$ s: \\$::' > "$tmpdepfile"
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ cat < "$tmpdepfile" >> "$depfile"
+ sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+msvisualcpp)
+ # Important note: in order to support this mode, a compiler *must*
+ # always write the preprocessed file to stdout.
+ "$@" || exit $?
+
+ # Remove the call to Libtool.
+ if test "$libtool" = yes; then
+ while test "X$1" != 'X--mode=compile'; do
+ shift
+ done
+ shift
+ fi
+
+ IFS=" "
+ for arg
+ do
+ case "$arg" in
+ -o)
+ shift
+ ;;
+ $object)
+ shift
+ ;;
+ "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
+ set fnord "$@"
+ shift
+ shift
+ ;;
+ *)
+ set fnord "$@" "$arg"
+ shift
+ shift
+ ;;
+ esac
+ done
+ "$@" -E 2>/dev/null |
+ sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
+ rm -f "$depfile"
+ echo "$object : \\" > "$depfile"
+ sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
+ echo "$tab" >> "$depfile"
+ sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
+ rm -f "$tmpdepfile"
+ ;;
+
+msvcmsys)
+ # This case exists only to let depend.m4 do its work. It works by
+ # looking at the text of this script. This case will never be run,
+ # since it is checked for above.
+ exit 1
+ ;;
+
+none)
+ exec "$@"
+ ;;
+
+*)
+ echo "Unknown depmode $depmode" 1>&2
+ exit 1
+ ;;
+esac
+
+exit 0
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC0"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/distcheck.sh b/distcheck.sh
deleted file mode 100755
index 4916e523..00000000
--- a/distcheck.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/bash
-
-set -e
-
-if [ $# -ne 1 ]
-then
- echo "usage: ./distcheck.sh <builddir>"
- exit 1
-fi
-builddir="$1"
-
-./autogen.sh
-
-# try to be portable on various MAKEs
-for make_prog in make bmake
-do
- rm -rf $builddir
- mkdir $builddir
- cd $builddir
- ../configure --enable-docs && \
- $make_prog bootstrap -j5
- $make_prog distcheck -j5
- cd ..
-done
diff --git a/doc/help.rst b/doc/help.rst
new file mode 100644
index 00000000..48bdd933
--- /dev/null
+++ b/doc/help.rst
@@ -0,0 +1,5 @@
+.. include:: ../../doc/manual/options/options_list.rst
+
+.. include:: ../../doc/manual/warnings/warnings_general.rst
+
+.. include:: ../../doc/manual/warnings/warnings_list.rst
diff --git a/doc/help.rst.in b/doc/help.rst.in
new file mode 100644
index 00000000..17514562
--- /dev/null
+++ b/doc/help.rst.in
@@ -0,0 +1,5 @@
+.. include:: @top_srcdir@/doc/manual/options/options_list.rst
+
+.. include:: @top_srcdir@/doc/manual/warnings/warnings_general.rst
+
+.. include:: @top_srcdir@/doc/manual/warnings/warnings_list.rst
diff --git a/doc/manpage.rst.in b/doc/manpage.rst.in
index fa40d280..c682807b 100644
--- a/doc/manpage.rst.in
+++ b/doc/manpage.rst.in
@@ -21,1001 +21,102 @@ specifications inside of C/C++ comments and replaces them with a
hard-coded DFA. The user must supply some interface code in order to
control and customize the generated DFA.
+
OPTIONS
-------
-``-? -h --help``
- Invoke a short help.
-
-``-b --bit-vectors``
- Implies ``-s``. Use bit vectors as well in the
- attempt to coax better code out of the compiler. Most useful for
- specifications with more than a few keywords (e.g. for most programming
- languages).
-
-``-c --conditions``
- Used to support (f)lex-like condition support.
-
-``-d --debug-output``
- Creates a parser that dumps information about
- the current position and in which state the parser is while parsing the
- input. This is useful to debug parser issues and states. If you use this
- switch you need to define a macro ``YYDEBUG`` that is called like a
- function with two parameters: ``void YYDEBUG (int state, char current)``.
- The first parameter receives the state or ``-1`` and the second parameter
- receives the input at the current cursor.
-
-``-D --emit-dot``
- Emit Graphviz dot data. It can then be processed
- with e.g. ``dot -Tpng input.dot > output.png``. Please note that
- scanners with many states may crash dot.
-
-``-e --ecb``
- Generate a parser that supports EBCDIC. The generated
- code can deal with any character up to 0xFF. In this mode ``re2c`` assumes
- that input character size is 1 byte. This switch is incompatible with
- ``-w``, ``-x``, ``-u`` and ``-8``.
-
-``-f --storable-state``
- Generate a scanner with support for storable state.
-
-``-F --flex-syntax``
- Partial support for flex syntax. When this flag
- is active then named definitions must be surrounded by curly braces and
- can be defined without an equal sign and the terminating semi colon.
- Instead names are treated as direct double quoted strings.
-
-``-g --computed-gotos``
- Generate a scanner that utilizes GCC's
- computed goto feature. That is ``re2c`` generates jump tables whenever a
- decision is of a certain complexity (e.g. a lot of if conditions are
- otherwise necessary). This is only useable with GCC and produces output
- that cannot be compiled with any other compiler. Note that this implies
- ``-b`` and that the complexity threshold can be configured using the
- inplace configuration ``cgoto:threshold``.
-
-``-i --no-debug-info``
- Do not output ``#line`` information. This is
- useful when you want use a CMS tool with the ``re2c`` output which you
- might want if you do not require your users to have ``re2c`` themselves
- when building from your source.
-
-``-o OUTPUT --output=OUTPUT``
- Specify the ``OUTPUT`` file.
-
-``-r --reusable``
- Allows reuse of scanner definitions with ``/*!use:re2c */`` after ``/*!rules:re2c */``.
- In this mode no ``/*!re2c */`` block and exactly one ``/*!rules:re2c */`` must be present.
- The rules are being saved and used by every ``/*!use:re2c */`` block that follows.
- These blocks can contain inplace configurations, especially ``re2c:flags:e``,
- ``re2c:flags:w``, ``re2c:flags:x``, ``re2c:flags:u`` and ``re2c:flags:8``.
- That way it is possible to create the same scanner multiple times for
- different character types, different input mechanisms or different output mechanisms.
- The ``/*!use:re2c */`` blocks can also contain additional rules that will be appended
- to the set of rules in ``/*!rules:re2c */``.
-
-``-s --nested-ifs``
- Generate nested ifs for some switches. Many
- compilers need this assist to generate better code.
-
-``-t HEADER --type-header=HEADER``
- Create a ``HEADER`` file that
- contains types for the (f)lex-like condition support. This can only be
- activated when ``-c`` is in use.
-
-``-u --unicode``
- Generate a parser that supports UTF-32. The generated
- code can deal with any valid Unicode character up to 0x10FFFF. In this
- mode ``re2c`` assumes that input character size is 4 bytes. This switch is
- incompatible with ``-e``, ``-w``, ``-x`` and ``-8``. This implies ``-s``.
-
-``-v --version``
- Show version information.
-
-``-V --vernum``
- Show the version as a number XXYYZZ.
-
-``-w --wide-chars``
- Generate a parser that supports UCS-2. The
- generated code can deal with any valid Unicode character up to 0xFFFF.
- In this mode ``re2c`` assumes that input character size is 2 bytes. This
- switch is incompatible with ``-e``, ``-x``, ``-u`` and ``-8``. This implies
- ``-s``.
-
-``-x --utf-16``
- Generate a parser that supports UTF-16. The generated
- code can deal with any valid Unicode character up to 0x10FFFF. In this
- mode ``re2c`` assumes that input character size is 2 bytes. This switch is
- incompatible with ``-e``, ``-w``, ``-u`` and ``-8``. This implies ``-s``.
-
-``-8 --utf-8``
- Generate a parser that supports UTF-8. The generated
- code can deal with any valid Unicode character up to 0x10FFFF. In this
- mode ``re2c`` assumes that input character size is 1 byte. This switch is
- incompatible with ``-e``, ``-w``, ``-x`` and ``-u``.
-
-``--case-insensitive``
- All strings are case insensitive, so all
- "-expressions are treated in the same way '-expressions are.
-
-``--case-inverted``
- Invert the meaning of single and double quoted
- strings. With this switch single quotes are case sensitive and double
- quotes are case insensitive.
-
-``--no-generation-date``
- Suppress date output in the generated file.
-
-``--no-generation-date``
- Suppress version output in the generated file.
-
-``--encoding-policy POLICY``
- Specify how ``re2c`` must treat Unicode
- surrogates. ``POLICY`` can be one of the following: ``fail`` (abort with
- error when surrogate encountered), ``substitute`` (silently substitute
- surrogate with error code point 0xFFFD), ``ignore`` (treat surrogates as
- normal code points). By default ``re2c`` ignores surrogates (for backward
- compatibility). Unicode standard says that standalone surrogates are
- invalid code points, but different libraries and programs treat them
- differently.
-
-``--input INPUT``
- Specify re2c input API. ``INPUT`` can be one of the
- following: ``default``, ``custom``.
+.. include:: @top_srcdir@/doc/manual/options/options_list.rst
-``-S --skeleton``
- Instead of embedding re2c-generated code into C/C++
- source, generate a self-contained program for the same DFA. Most useful
- for correctness and performance testing.
-
-``--empty-class POLICY``
- What to do if user inputs empty character
- class. ``POLICY`` can be one of the following: ``match-empty`` (match empty
- input: pretty illogical, but this is the default for backwards
- compatibility reason), ``match-none`` (fail to match on any input),
- ``error`` (compilation error). Note that there are various ways to
- construct empty class, e.g: [], [^\\x00-\\xFF],
- [\\x00-\\xFF][\\x00-\\xFF].
-
-``--dfa-minimization <table | moore>``
- Internal algorithm used by re2c to minimize DFA (defaults to ``moore``).
- Both table filling and Moore's algorithms should produce identical DFA (up to states relabelling).
- Table filling algorithm is much simpler and slower; it serves as a reference implementation.
-
-``-1 --single-pass``
- Deprecated and does nothing (single pass is by default now).
-
-``-W``
- Turn on all warnings.
-
-``-Werror``
- Turn warnings into errors. Note that this option along
- doesn't turn on any warnings, it only affects those warnings that have
- been turned on so far or will be turned on later.
-
-``-W<warning>``
- Turn on individual ``warning``.
-
-``-Wno-<warning>``
- Turn off individual ``warning``.
-
-``-Werror-<warning>``
- Turn on individual ``warning`` and treat it as error (this implies ``-W<warning>``).
-
-``-Wno-error-<warning>``
- Don't treat this particular ``warning`` as error. This doesn't turn off
- the warning itself.
-
-``-Wcondition-order``
- Warn if the generated program makes implicit
- assumptions about condition numbering. One should use either ``-t, --type-header`` option or
- ``/*!types:re2c*/`` directive to generate mapping of condition names to numbers and use
- autogenerated condition names.
-
-``-Wempty-character-class``
- Warn if regular expression contains empty
- character class. From the rational point of view trying to match empty
- character class makes no sense: it should always fail. However, for
- backwards compatibility reasons ``re2c`` allows empty character class and
- treats it as empty string. Use ``--empty-class`` option to change default
- behaviour.
-
-``-Wmatch-empty-string``
- Warn if regular expression in a rule is
- nullable (matches empty string). If DFA runs in a loop and empty match
- is unintentional (input position in not advanced manually), lexer may
- get stuck in eternal loop.
-
-``-Wswapped-range``
- Warn if range lower bound is greater that upper
- bound. Default ``re2c`` behaviour is to silently swap range bounds.
-
-``-Wundefined-control-flow``
- Warn if some input strings cause undefined
- control flow in lexer (the faulty patterns are reported). This is the
- most dangerous and common mistake. It can be easily fixed by adding
- default rule ``*`` (this rule has the lowest priority, matches any code unit and consumes
- exactly one code unit).
-
-``-Wuseless-escape``
- Warn if a symbol is escaped when it shouldn't be.
- By default re2c silently ignores escape, but this may as well indicate a
- typo or an error in escape sequence.
+.. include:: @top_srcdir@/doc/manual/warnings/warnings_general.rst
+.. include:: @top_srcdir@/doc/manual/warnings/warnings_list.rst
INTERFACE CODE
--------------
-The user must supply interface code either in the form of C/C++ code
-(macros, functions, variables, etc.) or in the form of ``INPLACE CONFIGURATIONS``.
-Which symbols must be defined and which are optional
-depends on a particular use case.
-
-``YYCONDTYPE``
- In ``-c`` mode you can use ``-t`` to generate a file that
- contains the enumeration used as conditions. Each of the values refers
- to a condition of a rule set.
-
-``YYCTXMARKER``
- l-value of type ``YYCTYPE *``.
- The generated code saves trailing context backtracking information in
- ``YYCTXMARKER``. The user only needs to define this macro if a scanner
- specification uses trailing context in one or more of its regular
- expressions.
-
-``YYCTYPE``
- Type used to hold an input symbol (code unit). Usually
- ``char`` or ``unsigned char`` for ASCII, EBCDIC and UTF-8, ``unsigned short``
- for UTF-16 or UCS-2 and ``unsigned int`` for UTF-32.
-
-``YYCURSOR``
- l-value of type ``YYCTYPE *`` that points to the current input symbol. The generated code advances
- ``YYCURSOR`` as symbols are matched. On entry, ``YYCURSOR`` is assumed to
- point to the first character of the current token. On exit, ``YYCURSOR``
- will point to the first character of the following token.
-
-``YYDEBUG (state, current)``
- This is only needed if the ``-d`` flag was
- specified. It allows one to easily debug the generated parser by calling a
- user defined function for every state. The function should have the
- following signature: ``void YYDEBUG (int state, char current)``. The first
- parameter receives the state or -1 and the second parameter receives the
- input at the current cursor.
-
-``YYFILL (n)``
- The generated code "calls"" ``YYFILL (n)`` when the
- buffer needs (re)filling: at least ``n`` additional characters should be
- provided. ``YYFILL (n)`` should adjust ``YYCURSOR``, ``YYLIMIT``, ``YYMARKER``
- and ``YYCTXMARKER`` as needed. Note that for typical programming languages
- ``n`` will be the length of the longest keyword plus one. The user can
- place a comment of the form ``/*!max:re2c*/`` to insert ``YYMAXFILL`` definition that is set to the maximum
- length value.
-
-``YYGETCONDITION ()``
- This define is used to get the condition prior to
- entering the scanner code when using ``-c`` switch. The value must be
- initialized with a value from the enumeration ``YYCONDTYPE`` type.
-
-``YYGETSTATE ()``
- The user only needs to define this macro if the ``-f``
- flag was specified. In that case, the generated code "calls"
- ``YYGETSTATE ()`` at the very beginning of the scanner in order to obtain
- the saved state. ``YYGETSTATE ()`` must return a signed integer. The value
- must be either -1, indicating that the scanner is entered for the first
- time, or a value previously saved by ``YYSETSTATE (s)``. In the second
- case, the scanner will resume operations right after where the last
- ``YYFILL (n)`` was called.
-
-``YYLIMIT``
- Expression of type ``YYCTYPE *`` that marks the end of the buffer ``YYLIMIT[-1]``
- is the last character in the buffer). The generated code repeatedly
- compares ``YYCURSOR`` to ``YYLIMIT`` to determine when the buffer needs
- (re)filling.
-
-``YYMARKER``
- l-value of type ``YYCTYPE *``.
- The generated code saves backtracking information in ``YYMARKER``. Some
- easy scanners might not use this.
-
-``YYMAXFILL``
- This will be automatically defined by ``/*!max:re2c*/`` blocks as explained above.
-
-``YYSETCONDITION (c)``
- This define is used to set the condition in
- transition rules. This is only being used when ``-c`` is active and
- transition rules are being used.
-
-``YYSETSTATE (s)``
- The user only needs to define this macro if the ``-f``
- flag was specified. In that case, the generated code "calls"
- ``YYSETSTATE`` just before calling ``YYFILL (n)``. The parameter to
- ``YYSETSTATE`` is a signed integer that uniquely identifies the specific
- instance of ``YYFILL (n)`` that is about to be called. Should the user
- wish to save the state of the scanner and have ``YYFILL (n)`` return to
- the caller, all he has to do is store that unique identifer in a
- variable. Later, when the scannered is called again, it will call
- ``YYGETSTATE ()`` and resume execution right where it left off. The
- generated code will contain both ``YYSETSTATE (s)`` and ``YYGETSTATE`` even
- if ``YYFILL (n)`` is being disabled.
-
+.. include:: @top_srcdir@/doc/manual/syntax/interface.rst_
SYNTAX
------
-Code for ``re2c`` consists of a set of ``RULES``, ``NAMED DEFINITIONS`` and
-``INPLACE CONFIGURATIONS``.
+A program can contain any number of ``re2c`` blocks.
+Each block consists of a sequence of ``RULES``, ``NAMED DEFINITIONS`` and ``INPLACE CONFIGURATIONS``.
RULES
~~~~~
-Rules consist of a regular expression (see ``REGULAR EXPRESSIONS``) along with a block of C/C++ code
-that is to be executed when the associated regular expression is
-matched. You can either start the code with an opening curly brace or
-the sequence ``:=``. When the code with a curly brace then ``re2c`` counts the brace depth
-and stops looking for code automatically. Otherwise curly braces are not
-allowed and ``re2c`` stops looking for code at the first line that does
-not begin with whitespace. If two or more rules overlap, the first rule
-is preferred.
-
- ``regular-expression { C/C++ code }``
-
- ``regular-expression := C/C++ code``
-
-There is one special rule: default rule ``*``
-
- ``* { C/C++ code }``
-
- ``* := C/C++ code``
-
-Note that default rule ``*`` differs from ``[^]``: default rule has the lowest priority,
-matches any code unit (either valid or invalid) and always consumes one character;
-while ``[^]`` matches any valid code point (not code unit) and can consume multiple
-code units. In fact, when variable-length encoding is used, ``*``
-is the only possible way to match invalid input character (see ``ENCODINGS`` for details).
-
-If ``-c`` is active then each regular expression is preceded by a list
-of comma separated condition names. Besides normal naming rules there
-are two special cases: ``<*>`` (such rules are merged to all conditions)
-and ``<>`` (such the rule cannot have an associated regular expression,
-its code is merged to all actions). Non empty rules may further more specify the new
-condition. In that case ``re2c`` will generate the necessary code to
-change the condition automatically. Rules can use ``:=>`` as a shortcut
-to automatically generate code that not only sets the
-new condition state but also continues execution with the new state. A
-shortcut rule should not be used in a loop where there is code between
-the start of the loop and the ``re2c`` block unless ``re2c:cond:goto``
-is changed to ``continue``. If code is necessary before all rules (though not simple jumps) you
-can doso by using ``<!>`` pseudo-rules.
-
- ``<condition-list> regular-expression { C/C++ code }``
-
- ``<condition-list> regular-expression := C/C++ code``
-
- ``<condition-list> * { C/C++ code }``
-
- ``<condition-list> * := C/C++ code``
-
- ``<condition-list> regular-expression => condition { C/C++ code }``
-
- ``<condition-list> regular-expression => condition := C/C++ code``
-
- ``<condition-list> * => condition { C/C++ code }``
-
- ``<condition-list> * => condition := C/C++ code``
-
- ``<condition-list> regular-expression :=> condition``
-
-
- ``<*> regular-expression { C/C++ code }``
-
- ``<*> regular-expression := C/C++ code``
-
- ``<*> * { C/C++ code }``
-
- ``<*> * := C/C++ code``
-
- ``<*> regular-expression => condition { C/C++ code }``
-
- ``<*> regular-expression => condition := C/C++ code``
-
- ``<*> * => condition { C/C++ code }``
-
- ``<*> * => condition := C/C++ code``
-
- ``<*> regular-expression :=> condition``
-
-
- ``<> { C/C++ code }``
-
- ``<> := C/C++ code``
-
- ``<> => condition { C/C++ code }``
-
- ``<> => condition := C/C++ code``
-
- ``<> :=> condition``
-
- ``<> :=> condition``
-
-
- ``<! condition-list> { C/C++ code }``
-
- ``<! condition-list> := C/C++ code``
-
- ``<!> { C/C++ code }``
-
- ``<!> := C/C++ code``
-
+.. include:: @top_srcdir@/doc/manual/syntax/rules.rst_
NAMED DEFINITIONS
~~~~~~~~~~~~~~~~~
-Named definitions are of the form:
-
- ``name = regular-expression;``
-
-If ``-F`` is active, then named definitions are also of the form:
-
- ``name { regular-expression }``
+.. include:: @top_srcdir@/doc/manual/syntax/named_definitions.rst_
INPLACE CONFIGURATIONS
~~~~~~~~~~~~~~~~~~~~~~
-``re2c:condprefix = yyc;``
- Allows one to specify the prefix used for
- condition labels. That is this text is prepended to any condition label
- in the generated output file.
-
-``re2c:condenumprefix = yyc;``
- Allows one to specify the prefix used for
- condition values. That is this text is prepended to any condition enum
- value in the generated output file.
-
-``re2c:cond:divider = "/* *********************************** */";``
- Allows one to customize the devider for condition blocks. You can use ``@@``
- to put the name of the condition or customize the placeholder using
- ``re2c:cond:divider@cond``.
-
-``re2c:cond:divider@cond = @@;``
- Specifies the placeholder that will be
- replaced with the condition name in ``re2c:cond:divider``.
-
-``re2c:cond:goto = "goto @@;";``
- Allows one to customize the condition goto statements used with ``:=>`` style rules. You can use ``@@``
- to put the name of the condition or ustomize the placeholder using
- ``re2c:cond:goto@cond``. You can also change this to ``continue;``, which
- would allow you to continue with the next loop cycle including any code
- between loop start and re2c block.
-
-``re2c:cond:goto@cond = @@;``
- Spcifies the placeholder that will be replaced with the condition label in ``re2c:cond:goto``.
-
-``re2c:indent:top = 0;``
- Specifies the minimum number of indentation to
- use. Requires a numeric value greater than or equal zero.
-
-``re2c:indent:string = "\t";``
- Specifies the string to use for indentation. Requires a string that should
- contain only whitespace unless you need this for external tools. The easiest
- way to specify spaces is to enclude them in single or double quotes.
- If you do not want any indentation at all you can simply set this to "".
-
-``re2c:yych:conversion = 0;``
- When this setting is non zero, then ``re2c`` automatically generates
- conversion code whenever yych gets read. In this case the type must be
- defined using ``re2c:define:YYCTYPE``.
-
-``re2c:yych:emit = 1;``
- Generation of ``yych`` can be suppressed by setting this to 0.
-
-``re2c:yybm:hex = 0;``
- If set to zero then a decimal table is being used else a hexadecimal table will be generated.
-
-``re2c:yyfill:enable = 1;``
- Set this to zero to suppress generation of ``YYFILL (n)``. When using this be sure to verify that the generated
- scanner does not read behind input. Allowing this behavior might
- introduce sever security issues to you programs.
-
-``re2c:yyfill:check = 1;``
- This can be set 0 to suppress output of the
- pre condition using ``YYCURSOR`` and ``YYLIMIT`` which becomes useful when
- ``YYLIMIT + YYMAXFILL`` is always accessible.
-
-``re2c:define:YYFILL = "YYFILL";``
- Substitution for ``YYFILL``. Note
- that by default ``re2c`` generates argument in braces and semicolon after
- ``YYFILL``. If you need to make ``YYFILL`` an arbitrary statement rather
- than a call, set ``re2c:define:YYFILL:naked`` to non-zero and use
- ``re2c:define:YYFILL@len`` to denote formal parameter inside of ``YYFILL``
- body.
-
-``re2c:define:YYFILL@len = "@@";``
- Any occurrence of this text
- inside of ``YYFILL`` will be replaced with the actual argument.
-
-``re2c:yyfill:parameter = 1;``
- Controls argument in braces after
- ``YYFILL``. If zero, agrument is omitted. If non-zero, argument is
- generated unless ``re2c:define:YYFILL:naked`` is set to non-zero.
-
-``re2c:define:YYFILL:naked = 0;``
- Controls argument in braces and
- semicolon after ``YYFILL``. If zero, both agrument and semicolon are
- omitted. If non-zero, argument is generated unless
- ``re2c:yyfill:parameter`` is set to zero and semicolon is generated
- unconditionally.
-
-``re2c:startlabel = 0;``
- If set to a non zero integer then the start
- label of the next scanner blocks will be generated even if not used by
- the scanner itself. Otherwise the normal ``yy0`` like start label is only
- being generated if needed. If set to a text value then a label with that
- text will be generated regardless of whether the normal start label is
- being used or not. This setting is being reset to 0 after a start
- label has been generated.
-
-``re2c:labelprefix = "yy";``
- Allows one to change the prefix of numbered
- labels. The default is ``yy`` and can be set any string that is a valid
- label.
-
-``re2c:state:abort = 0;``
- When not zero and switch ``-f`` is active then
- the ``YYGETSTATE`` block will contain a default case that aborts and a -1
- case is used for initialization.
-
-``re2c:state:nextlabel = 0;``
- Used when ``-f`` is active to control
- whether the ``YYGETSTATE`` block is followed by a ``yyNext:`` label line.
- Instead of using ``yyNext`` you can usually also use configuration
- ``startlabel`` to force a specific start label or default to ``yy0`` as
- start label. Instead of using a dedicated label it is often better to
- separate the ``YYGETSTATE`` code from the actual scanner code by placing a
- ``/*!getstate:re2c*/`` comment.
-
-``re2c:cgoto:threshold = 9;``
- When ``-g`` is active this value specifies
- the complexity threshold that triggers generation of jump tables rather
- than using nested if's and decision bitfields. The threshold is compared
- against a calculated estimation of if-s needed where every used bitmap
- divides the threshold by 2.
-
-``re2c:yych:conversion = 0;``
- When the input uses signed characters and
- ``-s`` or ``-b`` switches are in effect re2c allows one to automatically convert
- to the unsigned character type that is then necessary for its internal
- single character. When this setting is zero or an empty string the
- conversion is disabled. Using a non zero number the conversion is taken
- from ``YYCTYPE``. If that is given by an inplace configuration that value
- is being used. Otherwise it will be ``(YYCTYPE)`` and changes to that
- configuration are no longer possible. When this setting is a string the
- braces must be specified. Now assuming your input is a ``char *``
- buffer and you are using above mentioned switches you can set
- ``YYCTYPE`` to ``unsigned char`` and this setting to either 1 or ``(unsigned char)``.
-
-``re2c:define:YYCONDTYPE = "YYCONDTYPE";``
- Enumeration used for condition support with ``-c`` mode.
-
-``re2c:define:YYCTXMARKER = "YYCTXMARKER";``
- Allows one to overwrite the
- define ``YYCTXMARKER`` and thus avoiding it by setting the value to the
- actual code needed.
-
-``re2c:define:YYCTYPE = "YYCTYPE";``
- Allows one to overwrite the define
- ``YYCTYPE`` and thus avoiding it by setting the value to the actual code
- needed.
-
-``re2c:define:YYCURSOR = "YYCURSOR";``
- Allows one to overwrite the define
- ``YYCURSOR`` and thus avoiding it by setting the value to the actual code
- needed.
-
-``re2c:define:YYDEBUG = "YYDEBUG";``
- Allows one to overwrite the define
- ``YYDEBUG`` and thus avoiding it by setting the value to the actual code
- needed.
-
-``re2c:define:YYGETCONDITION = "YYGETCONDITION";``
- Substitution for
- ``YYGETCONDITION``. Note that by default ``re2c`` generates braces after
- ``YYGETCONDITION``. Set ``re2c:define:YYGETCONDITION:naked`` to non-zero to
- omit braces.
-
-``re2c:define:YYGETCONDITION:naked = 0;``
- Controls braces after
- ``YYGETCONDITION``. If zero, braces are omitted. If non-zero, braces are
- generated.
-
-``re2c:define:YYSETCONDITION = "YYSETCONDITION";``
- Substitution for
- ``YYSETCONDITION``. Note that by default ``re2c`` generates argument in
- braces and semicolon after ``YYSETCONDITION``. If you need to make
- ``YYSETCONDITION`` an arbitrary statement rather than a call, set
- ``re2c:define:YYSETCONDITION:naked`` to non-zero and use
- ``re2c:define:YYSETCONDITION@cond`` to denote formal parameter inside of
- ``YYSETCONDITION`` body.
-
-``re2c:define:YYSETCONDITION@cond = "@@";``
- Any occurrence of this
- text inside of ``YYSETCONDITION`` will be replaced with the actual
- argument.
-
-``re2c:define:YYSETCONDITION:naked = 0;``
- Controls argument in braces
- and semicolon after ``YYSETCONDITION``. If zero, both agrument and
- semicolon are omitted. If non-zero, both argument and semicolon are
- generated.
-
-``re2c:define:YYGETSTATE = "YYGETSTATE";``
- Substitution for
- ``YYGETSTATE``. Note that by default ``re2c`` generates braces after
- ``YYGETSTATE``. Set ``re2c:define:YYGETSTATE:naked`` to non-zero to omit
- braces.
-
-``re2c:define:YYGETSTATE:naked = 0;``
- Controls braces after
- ``YYGETSTATE``. If zero, braces are omitted. If non-zero, braces are
- generated.
-
-``re2c:define:YYSETSTATE = "YYSETSTATE";``
- Substitution for
- ``YYSETSTATE``. Note that by default ``re2c`` generates argument in braces
- and semicolon after ``YYSETSTATE``. If you need to make ``YYSETSTATE`` an
- arbitrary statement rather than a call, set
- ``re2c:define:YYSETSTATE:naked`` to non-zero and use
- ``re2c:define:YYSETSTATE@cond`` to denote formal parameter inside of
- ``YYSETSTATE`` body.
-
-``re2c:define:YYSETSTATE@state = "@@";``
- Any occurrence of this text
- inside of ``YYSETSTATE`` will be replaced with the actual argument.
-
-``re2c:define:YYSETSTATE:naked = 0;``
- Controls argument in braces and
- semicolon after ``YYSETSTATE``. If zero, both agrument and semicolon are
- omitted. If non-zero, both argument and semicolon are generated.
-
-``re2c:define:YYLIMIT = "YYLIMIT";``
- Allows one to overwrite the define
- ``YYLIMIT`` and thus avoiding it by setting the value to the actual code
- needed.
-
-``re2c:define:YYMARKER = "YYMARKER";``
- Allows one to overwrite the define
- ``YYMARKER`` and thus avoiding it by setting the value to the actual code
- needed.
-
-``re2c:label:yyFillLabel = "yyFillLabel";``
- Allows one to overwrite the name of the label ``yyFillLabel``.
-
-``re2c:label:yyNext = "yyNext";``
- Allows one to overwrite the name of the label ``yyNext``.
-
-``re2c:variable:yyaccept = yyaccept;``
- Allows one to overwrite the name of the variable ``yyaccept``.
-
-``re2c:variable:yybm = "yybm";``
- Allows one to overwrite the name of the variable ``yybm``.
-
-``re2c:variable:yych = "yych";``
- Allows one to overwrite the name of the variable ``yych``.
-
-``re2c:variable:yyctable = "yyctable";``
- When both ``-c`` and ``-g`` are active then ``re2c`` uses this variable to generate a static jump table
- for ``YYGETCONDITION``.
-
-``re2c:variable:yystable = "yystable";``
- Deprecated.
-
-``re2c:variable:yytarget = "yytarget";``
- Allows one to overwrite the name of the variable ``yytarget``.
-
+.. include:: @top_srcdir@/doc/manual/syntax/configurations.rst_
REGULAR EXPRESSIONS
~~~~~~~~~~~~~~~~~~~
-``"foo"``
- literal string ``"foo"``. ANSI-C escape sequences can be used.
-
-``'foo'``
- literal string ``"foo"`` (characters [a-zA-Z] treated
- case-insensitive). ANSI-C escape sequences can be used.
-
-``[xyz]``
- character class; in this case, regular expression matches either ``x``, ``y``, or ``z``.
-
-``[abj-oZ]``
- character class with a range in it; matches ``a``, ``b``, any letter from ``j`` through ``o`` or ``Z``.
-
-``[^class]``
- inverted character class.
-
-``r \ s``
- match any ``r`` which isn't ``s``. ``r`` and ``s`` must be regular expressions
- which can be expressed as character classes.
-
-``r*``
- zero or more occurrences of ``r``.
-
-``r+``
- one or more occurrences of ``r``.
+.. include:: @top_srcdir@/doc/manual/syntax/regular_expressions.rst_
-``r?``
- optional ``r``.
-``(r)``
- ``r``; parentheses are used to override precedence.
-
-``r s``
- ``r`` followed by ``s`` (concatenation).
-
-``r | s``
- either ``r`` or ``s`` (alternative).
-
-``r`` / ``s``
- ``r`` but only if it is followed by ``s``. Note that ``s`` is not
- part of the matched text. This type of regular expression is called
- "trailing context". Trailing context can only be the end of a rule
- and not part of a named definition.
-
-``r{n}``
- matches ``r`` exactly ``n`` times.
-
-``r{n,}``
- matches ``r`` at least ``n`` times.
-
-``r{n,m}``
- matches ``r`` at least ``n`` times, but not more than ``m`` times.
-
-``.``
- match any character except newline.
-
-``name``
- matches named definition as specified by ``name`` only if ``-F`` is
- off. If ``-F`` is active then this behaves like it was enclosed in double
- quotes and matches the string "name".
-
-Character classes and string literals may contain octal or hexadecimal
-character definitions and the following set of escape sequences:
-``\a``, ``\b``, ``\f``, ``\n``, ``\r``, ``\t``, ``\v``, ``\\``. An octal character is defined by a backslash
-followed by its three octal digits (e.g. ``\377``).
-Hexadecimal characters from 0 to 0xFF are defined by backslash, a lower
-cased ``x`` and two hexadecimal digits (e.g. ``\x12``). Hexadecimal characters from 0x100 to 0xFFFF are defined by backslash, a lower cased
-``\u`` or an upper cased ``\X`` and four hexadecimal digits (e.g. ``\u1234``).
-Hexadecimal characters from 0x10000 to 0xFFFFffff are defined by backslash, an upper cased ``\U``
-and eight hexadecimal digits (e.g. ``\U12345678``).
-
-The only portable "any" rule is the default rule ``*``.
-
-
-
-SCANNER WITH STORABLE STATES
-----------------------------
-
-When the ``-f`` flag is specified, ``re2c`` generates a scanner that can
-store its current state, return to the caller, and later resume
-operations exactly where it left off.
-
-The default operation of ``re2c`` is a
-"pull" model, where the scanner asks for extra input whenever it needs it. However, this mode of operation assumes that the scanner is the "owner"
-the parsing loop, and that may not always be convenient.
-
-Typically, if there is a preprocessor ahead of the scanner in the
-stream, or for that matter any other procedural source of data, the
-scanner cannot "ask" for more data unless both scanner and source
-live in a separate threads.
-
-The ``-f`` flag is useful for just this situation: it lets users design
-scanners that work in a "push" model, i.e. where data is fed to the
-scanner chunk by chunk. When the scanner runs out of data to consume, it
-just stores its state, and return to the caller. When more input data is
-fed to the scanner, it resumes operations exactly where it left off.
-
-Changes needed compared to the "pull" model:
-
-* User has to supply macros ``YYSETSTATE ()`` and ``YYGETSTATE (state)``.
-
-* The ``-f`` option inhibits declaration of ``yych`` and ``yyaccept``. So the
- user has to declare these. Also the user has to save and restore these.
- In the example ``examples/push_model/push.re`` these are declared as
- fields of the (C++) class of which the scanner is a method, so they do
- not need to be saved/restored explicitly. For C they could e.g. be made
- macros that select fields from a structure passed in as parameter.
- Alternatively, they could be declared as local variables, saved with
- ``YYFILL (n)`` when it decides to return and restored at entry to the
- function. Also, it could be more efficient to save the state from
- ``YYFILL (n)`` because ``YYSETSTATE (state)`` is called unconditionally.
- ``YYFILL (n)`` however does not get ``state`` as parameter, so we would have
- to store state in a local variable by ``YYSETSTATE (state)``.
-
-* Modify ``YYFILL (n)`` to return (from the function calling it) if more input is needed.
-
-* Modify caller to recognise if more input is needed and respond appropriately.
-
-* The generated code will contain a switch block that is used to
- restores the last state by jumping behind the corrspoding ``YYFILL (n)``
- call. This code is automatically generated in the epilog of the first ``/*!re2c */``
- block. It is possible to trigger generation of the ``YYGETSTATE ()``
- block earlier by placing a ``/*!getstate:re2c*/`` comment. This is especially useful when the scanner code should be
- wrapped inside a loop.
-
-Please see ``examples/push_model/push.re`` for "push" model scanner. The
-generated code can be tweaked using inplace configurations ``state:abort``
-and ``state:nextlabel``.
+SUBMATCH EXTRACTION
+-------------------
+.. include:: @top_srcdir@/doc/manual/features/submatch/submatch.rst_
-SCANNER WITH CONDITION SUPPORT
-------------------------------
+STORABLE STATE
+--------------
-You can preceed regular expressions with a list of condition names when
-using the ``-c`` switch. In this case ``re2c`` generates scanner blocks for
-each conditon. Where each of the generated blocks has its own
-precondition. The precondition is given by the interface define
-``YYGETCONDITON()`` and must be of type ``YYCONDTYPE``.
+.. include:: @top_srcdir@/doc/manual/features/state/state.rst_
-There are two special rule types. First, the rules of the condition ``<*>``
-are merged to all conditions (note that they have lower priority than
-other rules of that condition). And second the empty condition list
-allows one to provide a code block that does not have a scanner part.
-Meaning it does not allow any regular expression. The condition value
-referring to this special block is always the one with the enumeration
-value 0. This way the code of this special rule can be used to
-initialize a scanner. It is in no way necessary to have these rules: but
-sometimes it is helpful to have a dedicated uninitialized condition
-state.
-Non empty rules allow one to specify the new condition, which makes them
-transition rules. Besides generating calls for the define
-``YYSETCONDTITION`` no other special code is generated.
-There is another kind of special rules that allow one to prepend code to any
-code block of all rules of a certain set of conditions or to all code
-blocks to all rules. This can be helpful when some operation is common
-among rules. For instance this can be used to store the length of the
-scanned string. These special setup rules start with an exclamation mark
-followed by either a list of conditions ``<! condition, ... >`` or a star
-``<!*>``. When ``re2c`` generates the code for a rule whose state does not have a
-setup rule and a star'd setup rule is present, than that code will be
-used as setup code.
+CONDITIONS
+----------
+.. include:: @top_srcdir@/doc/manual/features/conditions/conditions.rst_
ENCODINGS
---------
-``re2c`` supports the following encodings: ASCII (default), EBCDIC (``-e``),
-UCS-2 (``-w``), UTF-16 (``-x``), UTF-32 (``-u``) and UTF-8 (``-8``).
-See also inplace configuration ``re2c:flags``.
-
-The following concepts should be clarified when talking about encoding.
-Code point is an abstract number, which represents single encoding
-symbol. Code unit is the smallest unit of memory, which is used in the
-encoded text (it corresponds to one character in the input stream). One
-or more code units can be needed to represent a single code point,
-depending on the encoding. In fixed-length encoding, each code point
-is represented with equal number of code units. In variable-length
-encoding, different code points can be represented with different number
-of code units.
-
-ASCII
- is a fixed-length encoding. Its code space includes 0x100
- code points, from 0 to 0xFF. One code point is represented with exactly one
- 1-byte code unit, which has the same value as the code point. Size of
- ``YYCTYPE`` must be 1 byte.
-
-EBCDIC
- is a fixed-length encoding. Its code space includes 0x100
- code points, from 0 to 0xFF. One code point is represented with exactly
- one 1-byte code unit, which has the same value as the code point. Size
- of ``YYCTYPE`` must be 1 byte.
-
-UCS-2
- is a fixed-length encoding. Its code space includes 0x10000
- code points, from 0 to 0xFFFF. One code point is represented with
- exactly one 2-byte code unit, which has the same value as the code
- point. Size of ``YYCTYPE`` must be 2 bytes.
-
-UTF-16
- is a variable-length encoding. Its code space includes all
- Unicode code points, from 0 to 0xD7FF and from 0xE000 to 0x10FFFF. One
- code point is represented with one or two 2-byte code units. Size of
- ``YYCTYPE`` must be 2 bytes.
-
-UTF-32
- is a fixed-length encoding. Its code space includes all
- Unicode code points, from 0 to 0xD7FF and from 0xE000 to 0x10FFFF. One
- code point is represented with exactly one 4-byte code unit. Size of
- ``YYCTYPE`` must be 4 bytes.
-
-UTF-8
- is a variable-length encoding. Its code space includes all
- Unicode code points, from 0 to 0xD7FF and from 0xE000 to 0x10FFFF. One
- code point is represented with sequence of one, two, three or four
- 1-byte code units. Size of ``YYCTYPE`` must be 1 byte.
-
-In Unicode, values from range 0xD800 to 0xDFFF (surrogates) are not
-valid Unicode code points, any encoded sequence of code units, that
-would map to Unicode code points in the range 0xD800-0xDFFF, is
-ill-formed. The user can control how ``re2c`` treats such ill-formed
-sequences with ``--encoding-policy <policy>`` flag (see ``OPTIONS``
-for full explanation).
-
-For some encodings, there are code units, that never occur in valid
-encoded stream (e.g. 0xFF byte in UTF-8). If the generated scanner must
-check for invalid input, the only true way to do so is to use default
-rule ``*``. Note, that full range rule ``[^]`` won't catch invalid code units when variable-length encoding is used
-(``[^]`` means "all valid code points", while default rule ``*`` means "all possible code units").
-
-
-
-GENERIC INPUT API
------------------
+.. include:: @top_srcdir@/doc/manual/features/encodings/encodings.rst_
-``re2c`` usually operates on input using pointer-like primitives
-``YYCURSOR``, ``YYMARKER``, ``YYCTXMARKER`` and ``YYLIMIT``.
-Generic input API (enabled with ``--input custom`` switch) allows one to
-customize input operations. In this mode, ``re2c`` will express all
-operations on input in terms of the following primitives:
-
- +---------------------+-----------------------------------------------------+
- | ``YYPEEK ()`` | get current input character |
- +---------------------+-----------------------------------------------------+
- | ``YYSKIP ()`` | advance to the next character |
- +---------------------+-----------------------------------------------------+
- | ``YYBACKUP ()`` | backup current input position |
- +---------------------+-----------------------------------------------------+
- | ``YYBACKUPCTX ()`` | backup current input position for trailing context |
- +---------------------+-----------------------------------------------------+
- | ``YYRESTORE ()`` | restore current input position |
- +---------------------+-----------------------------------------------------+
- | ``YYRESTORECTX ()`` | restore current input position for trailing context |
- +---------------------+-----------------------------------------------------+
- | ``YYLESSTHAN (n)`` | check if less than ``n`` input characters are left |
- +---------------------+-----------------------------------------------------+
-
-A couple of useful links that provide some examples:
-
-1. http://skvadrik.github.io/aleph_null/posts/re2c/2015-01-13-input_model.html
-2. http://skvadrik.github.io/aleph_null/posts/re2c/2015-01-15-input_model_custom.html
+GENERIC API
+-----------
+.. include:: @top_srcdir@/doc/manual/features/generic_api/generic_api.rst_
SEE ALSO
--------
-You can find more information about ``re2c`` on the website: http://re2c.org.
+You can find more information about ``re2c`` at: http://re2c.org.
See also: flex(1), lex(1), quex (http://quex.sourceforge.net).
-
AUTHORS
-------
-Peter Bumbulis peter@csg.uwaterloo.ca
-
-Brian Young bayoung@acm.org
-
-Dan Nuffer nuffer@users.sourceforge.net
-
-Marcus Boerger helly@users.sourceforge.net
-
-Hartmut Kaiser hkaiser@users.sourceforge.net
-
-Emmanuel Mogenet mgix@mgix.com
-
-Ulya Trofimovich skvadrik@gmail.com
+Originaly written by Peter Bumbulis in 1993;
+developed and maintained by Brain Young, Marcus Boerger, Dan Nuffer and Ulya Trofimovich.
+Below is a (more or less) full list of contributors retrieved from the Git history and mailing lists:
+.. include:: @top_srcdir@/doc/manual/contributors.rst_
VERSION INFORMATION
@@ -1023,4 +124,3 @@ VERSION INFORMATION
This manpage describes ``re2c`` version @PACKAGE_VERSION@, package date @PACKAGE_DATE@.
-
diff --git a/doc/manual/contributors.rst_ b/doc/manual/contributors.rst_
new file mode 100644
index 00000000..541be107
--- /dev/null
+++ b/doc/manual/contributors.rst_
@@ -0,0 +1,34 @@
+Abs62,
+asmwarrior,
+Ben Smith,
+Brian Young,
+CRCinAU,
+Dan Nuffer,
+Derick Rethans,
+Dimitri John Ledkov,
+Eldar Zakirov,
+Emmanuel Mogenet,
+Hartmut Kaiser,
+jcfp,
+Jean-Claude Wippler,
+Jeff Trull,
+Jérôme Dumesnil,
+Jesse Buesking,
+joscherl,
+Julian Andres Klode,
+Marcus Boerger,
+Mike Gilbert,
+nuno-lopes,
+Oleksii Taran,
+paulmcq,
+Paulo Custodio,
+Perry E. Metzger,
+philippschaefer,
+Ross Burton,
+Rui Maciel,
+Ryan Mast,
+Samuel006,
+Sergei Trofimovich,
+sirzooro,
+Tim Kelly,
+Ulya Trofimovich
diff --git a/doc/manual/features/conditions/conditions.rst_ b/doc/manual/features/conditions/conditions.rst_
new file mode 100644
index 00000000..3edfcdd5
--- /dev/null
+++ b/doc/manual/features/conditions/conditions.rst_
@@ -0,0 +1,52 @@
+*Conditions* are enabled with ``-c`` ``--conditions``.
+This option allows to encode multiple interrelated lexers within the same re2c block.
+
+Each lexer corresponds to a single *condition*.
+It starts with a label of the form ``yyc_name``,
+where ``name`` is *condition* name
+and ``yyc`` prefix can be adjusted with configuration ``re2c:condprefix``.
+Different lexers are separated with a comment ``/* *********************************** */``
+which can be adjusted with configuration ``re2c:cond:divider``.
+
+Furthermore, each *condition* has a unique identifier of the form ``yycname``,
+where ``name`` is condition name
+and ``yyc`` prefix can be adjusted with configuration ``re2c:condenumprefix``.
+Identifiers have the type ``YYCONDTYPE`` and should be generated with ``/*!types:re2c*/`` directive or ``-t`` ``--type-header`` option.
+Users shouldn't define these identifiers manually, as the order of *conditions* is not specified.
+
+Before all *conditions* re2c generates entry code that checks the current *condition* identifier
+and transfers control flow to the start label of the active *condition*.
+After matching some rule of this *condition*,
+lexer may either transfer control flow back to the entry code (after executing the associated action and optionally setting another *condition* with ``=>``),
+or use ``:=>`` shortcut and transition directly to the start label of another *condition* (skipping the action and the entry code).
+Configuration ``re2c:cond:goto`` allows to change the default behavior.
+
+Syntactically each rule must be preceded with a list of comma-separated *condition* names or a wildcard ``*``
+enclosed in angle brackets ``<`` and ``>``.
+Wildcard means "any condition" and is semantically equivalent to listing all condition names.
+Here ``regexp`` is a regular expression, ``default`` refers to the *default rule* ``*``,
+and ``action`` is a block of C/C++ code.
+
+* ``<conditions-or-wildcard> regexp-or-default action``
+
+* ``<conditions-or-wildcard> regexp-or-default => condition action``
+
+* ``<conditions-or-wildcard> regexp-or-default :=> condition``
+
+Rules with an exclamation mark ``!`` in front of condition list have a special meaning:
+they have no regular expression,
+and the associated action is merged as an entry code to actions of normal rules.
+This might be a convenient place to peform a routine task that is common to all rules.
+
+* ``<!conditions-or-wildcard> action``
+
+Another special form of rules with an empty condition list ``<>`` and no regular expression
+allows to specify an "entry condition" that can be used to execute code before entering the lexer.
+It is semantically equivalent to a condition with number zero, name ``0`` and an empty regular expression.
+
+* ``<> action``
+
+* ``<> => condition action``
+
+* ``<> :=> condition``
+
diff --git a/doc/manual/features/encodings/encodings.rst_ b/doc/manual/features/encodings/encodings.rst_
new file mode 100644
index 00000000..5a66f940
--- /dev/null
+++ b/doc/manual/features/encodings/encodings.rst_
@@ -0,0 +1,56 @@
+``re2c`` supports the following encodings: ASCII (default), EBCDIC (``-e``),
+UCS-2 (``-w``), UTF-16 (``-x``), UTF-32 (``-u``) and UTF-8 (``-8``).
+See also inplace configuration ``re2c:flags``.
+
+The following concepts should be clarified when talking about encodings.
+A *code point* is an abstract number that represents a single symbol.
+A *code unit* is the smallest unit of memory, which is used in the
+encoded text (it corresponds to one character in the input stream). One
+or more code units may be needed to represent a single code point,
+depending on the encoding. In a *fixed-length* encoding, each code point
+is represented with an equal number of code units. In *variable-length*
+encodings, different code points can be represented with different number
+of code units.
+
+* ASCII is a fixed-length encoding. Its code space includes 0x100
+ code points, from 0 to 0xFF. A code point is represented with exactly one
+ 1-byte code unit, which has the same value as the code point. The size of
+ ``YYCTYPE`` must be 1 byte.
+
+* EBCDIC is a fixed-length encoding. Its code space includes 0x100
+ code points, from 0 to 0xFF. A code point is represented with exactly
+ one 1-byte code unit, which has the same value as the code point. The size
+ of ``YYCTYPE`` must be 1 byte.
+
+* UCS-2 is a fixed-length encoding. Its code space includes 0x10000
+ code points, from 0 to 0xFFFF. One code point is represented with
+ exactly one 2-byte code unit, which has the same value as the code
+ point. The size of ``YYCTYPE`` must be 2 bytes.
+
+* UTF-16 is a variable-length encoding. Its code space includes all
+ Unicode code points, from 0 to 0xD7FF and from 0xE000 to 0x10FFFF. One
+ code point is represented with one or two 2-byte code units. The size of
+ ``YYCTYPE`` must be 2 bytes.
+
+* UTF-32 is a fixed-length encoding. Its code space includes all
+ Unicode code points, from 0 to 0xD7FF and from 0xE000 to 0x10FFFF. One
+ code point is represented with exactly one 4-byte code unit. The size of
+ ``YYCTYPE`` must be 4 bytes.
+
+* UTF-8 is a variable-length encoding. Its code space includes all
+ Unicode code points, from 0 to 0xD7FF and from 0xE000 to 0x10FFFF. One
+ code point is represented with a sequence of one, two, three, or four
+ 1-byte code units. The size of ``YYCTYPE`` must be 1 byte.
+
+In Unicode, values from range 0xD800 to 0xDFFF (surrogates) are not
+valid Unicode code points. Any encoded sequence of code units that
+would map to Unicode code points in the range 0xD800-0xDFFF, is
+ill-formed. The user can control how ``re2c`` treats such ill-formed
+sequences with the ``--encoding-policy <policy>`` switch.
+
+For some encodings, there are code units that never occur in a valid
+encoded stream (e.g., 0xFF byte in UTF-8). If the generated scanner must
+check for invalid input, the only correct way to do so is to use the default
+rule (``*``). Note that the full range rule (``[^]``) won't catch invalid code units when a variable-length encoding is used
+(``[^]`` means "any valid code point", whereas the default rule (``*``) means "any possible code unit").
+
diff --git a/doc/manual/features/generic_api/generic_api.rst_ b/doc/manual/features/generic_api/generic_api.rst_
new file mode 100644
index 00000000..d239a8b7
--- /dev/null
+++ b/doc/manual/features/generic_api/generic_api.rst_
@@ -0,0 +1,54 @@
+
+By default ``re2c`` operates on input using pointer-like primitives
+``YYCURSOR``, ``YYMARKER``, ``YYCTXMARKER``, and ``YYLIMIT``.
+Normally pointer-like primitives are defined as variables of type ``YYCTYPE*``,
+but it is possible to use STL iterators or any other abstraction as long as it syntactically fits into the following use cases:
+
+* ``++YYCURSOR;``
+* ``yych = *YYCURSOR;``
+* ``yych = *++YYCURSOR;``
+* ``yych = *(YYMARKER = YYCURSOR);``
+* ``yych = *(YYMARKER = ++YCURSOR);``
+* ``YYMARKER = YYCURSOR;``
+* ``YYMARKER = ++YYCURSOR;``
+* ``YYCURSOR = YYMARKER;``
+* ``YYCTXMARKER = YYCURSOR + 1;``
+* ``YYCURSOR = YYCTXMARKER;``
+* ``if (YYLIMIT <= YYCURSOR) ...``
+* ``if ((YYLIMIT - YYCURSOR) < n) ...``
+* ``YYDEBUG (label, *YYCURSOR);``
+
+
+If this input model is too restrictive, then it is possible to use generic input API enabled with ``--input custom`` option.
+In this mode all input operations are expressed in terms of the primitives below.
+These primitives can be defined in any suitable way; one doesn't have to stick to the pointer semantics.
+For example, it is possible to read input directly from file without any buffering,
+or to disable ``YYFILL`` mechanism and perform end-of-input checking on each input character from inside of ``YYPEEK`` or ``YYSKIP``.
+
+* ``YYPEEK ()``
+* ``YYSKIP ()``
+* ``YYBACKUP ()``
+* ``YYBACKUPCTX ()``
+* ``YYSTAGP (t)``
+* ``YYSTAGN (t)``
+* ``YYMTAGP (t)``
+* ``YYMTAGN (t)``
+* ``YYRESTORE ()``
+* ``YYRESTORECTX ()``
+* ``YYRESTORETAG (t)``
+* ``YYLESSTHAN (n)``
+
+Default input model can be expressed in terms of generic API as follows
+(except for ``YMTAGP`` and ``YYMTAGN``, which have no default implementation):
+
+* ``#define YYPEEK () *YYCURSOR``
+* ``#define YYSKIP () ++YYCURSOR``
+* ``#define YYBACKUP () YYMARKER = YYCURSOR``
+* ``#define YYBACKUPCTX () YYCTXMARKER = YYCURSOR``
+* ``#define YYRESTORE () YYCURSOR = YYMARKER``
+* ``#define YYRESTORECTX () YYCURSOR = YYCTXMARKER``
+* ``#define YYRESTORERAG (t) YYCURSOR = t``
+* ``#define YYLESSTHAN (n) YYLIMIT - YYCURSOR < n``
+* ``#define YYSTAGP (t) t = YYCURSOR``
+* ``#define YYSTAGN (t) t = NULL``
+
diff --git a/doc/manual/features/state/state.rst_ b/doc/manual/features/state/state.rst_
new file mode 100644
index 00000000..880fa009
--- /dev/null
+++ b/doc/manual/features/state/state.rst_
@@ -0,0 +1,28 @@
+With ``-f`` ``--storable-state`` option re2c generates a lexer that can
+store its current state, return to the caller, and later resume operations exactly where it left off.
+The default mode of operation in re2c is a "pull" model, where the lexer "pulls" more input whenever it needs it.
+However, this mode of operation assumes that the lexer is the owner of the parsing loop, and that may not always be convenient.
+
+Storable state is useful exactly for situations like that: it allows to construct
+lexers that work in a "push" model, where data is fed to the lexer chunk by chunk.
+When the lexer needs more input, it stores its state and returns to the caller.
+Later, when more input becomes available, it resumes operations exactly where it stopped.
+
+Changes needed compared to the "pull" model:
+
+* Define ``YYSETSTATE ()`` and ``YYGETSTATE (state)``.
+
+* Define ``yych``, ``yyaccept`` and ``state`` variables as a part of persistent lexer state.
+ ``state`` should be initialized to ``-1``.
+
+* ``YYFILL`` should return to the outer program instead of trying to supply more input.
+ Return code should indicate that lexer needs more input.
+
+* The outer program should recognize situations when lexer needs more input
+ and respond appropriately.
+
+* Use ``/*!getstate:re2c*/`` directive if it is necessary to execute any code
+ before entering the lexer.
+
+* Use configurations ``state:abort`` and ``state:nextlabel`` to tweak the generated code.
+
diff --git a/doc/manual/features/submatch/submatch.rst_ b/doc/manual/features/submatch/submatch.rst_
new file mode 100644
index 00000000..6995ebc5
--- /dev/null
+++ b/doc/manual/features/submatch/submatch.rst_
@@ -0,0 +1,68 @@
+``re2c`` supports two kinds of submatch extraction.
+
+
+The first option is ``-P --posix-captures``: it enables POSIX-compliant capturing groups.
+In this mode parentheses in regular expressions denote the beginning and the end of capturing groups;
+the whole regular expression is group number zero.
+The number of groups for the matching rule is stored in a variable ``yynmatch``,
+and submatch results are stored in ``yypmatch`` array.
+Both ``yynmatch`` and ``yypmatch`` should be defined by the user;
+note that ``yypmatch`` size must be at least ``[yynmatch * 2]``.
+``re2c`` provides a directive ``/*!maxnmatch:re2c*/`` that defines a constant ``YYMAXNMATCH``: the maximal value of ``yynmatch`` among all rules.
+Note that ``re2c`` implements POSIX-compliant disambiguation:
+each subexpression matches as long as possible,
+and subexpressions that start earlier in regular expression have priority over those starting later.
+
+
+Second option is ``-T --tags``.
+With this option one can use standalone tags of the form ``@stag`` and ``#mtag`` instead of capturing parentheses,
+where ``stag`` and ``mtag`` are arbitrary used-defined names.
+Tags can be used anywhere inside of a regular expression; semantically they are just position markers.
+Tags of the form ``@stag`` are called *s-tags*: they denote a single submatch value (the last input position where this tag matched).
+Tags of the form ``#mtag`` are called *m-tags*: they denote multiple submatch values (the whole history of repetitions of this tag).
+All tags should be defined by the user as variables with the corresponding names.
+With standalone tags ``re2c`` uses leftmost greedy disambiguation:
+submatch positions correspond to the leftmost matching path through the regular expression.
+
+
+With both ``--posix-captures`` and ``--tags`` options ``re2c`` generates a number of tag variables
+that are used by the lexer to track multiple possible versions of each tag
+(multiple versions are caused by possible ambiguity of submatch).
+When a rule matches, ambiguity is resolved and all tags of this rule (or capturing parentheses, which are also implemented as tags)
+are initialized with the values of appropriate tag variables.
+Note that there is no one-to-one correspondence between tag variables and tags:
+the same tag variable may be reused for different tags, and one tag may require multiple tag variables to hold all its ambiguous versions.
+The exact number of tag variables is unknown to the user; this number is determined by ``re2c``.
+However, tag variables should be defined by the user, because it might be necessary to update them in ``YYFILL``
+and store them between invocations of lexer with ``--storable-state`` option.
+Therefore ``re2c`` provides directives ``/*!stags:re2c ... */`` and ``/*!mtags:re2c ... */``
+that can be used to declare, initialize and manipulate tag variables.
+
+*S-tags* must support the following operations:
+
+* save input position to *s-tag*:
+ ``t = YYCURSOR`` with default API, or user-defined operation ``YYSTAGP (t)`` with generic API
+* save default value to *s-tag*:
+ ``t = NULL`` with default API, or user-defined operation ``YYSTAGN (t)`` with generic API
+* copy one *s-tag* to another:
+ ``t1 = t2``
+
+*M-tags* must support the following operations:
+
+* append input position to *m-tag*:
+ user-defined operation ``YYMTAGP (t)`` with both default and generic API
+* append default value to *m-tag*:
+ user-defined operation ``YYMTAGN (t)`` with both default and generic API
+* copy one *m-tag* to another:
+ ``t1 = t2``
+
+*S-tags* can be implemented as scalar values (pointers or offsets).
+*M-tags* need a more complex representation, as they need to store a sequence of tag values.
+The most naive and inefficient representation of *m-tag* is a list (array, vector) of tag values;
+a more efficient representation is to store all *m-tags* in a prefix-tree
+represented as array of nodes ``(v, p)``, where ``v`` is tag value and ``p`` is a pointer to parent node.
+
+
+For further details see ``http://re2c.org/examples/examples.html`` page on the website
+or ``re2c/examples/`` subdirectory of ``re2c`` distribution.
+
diff --git a/doc/manual/options/options_list.rst b/doc/manual/options/options_list.rst
new file mode 100644
index 00000000..1ecebb53
--- /dev/null
+++ b/doc/manual/options/options_list.rst
@@ -0,0 +1,171 @@
+``-? -h --help``
+ Show help message.
+
+``-b --bit-vectors``
+ Optimize conditional jumps using bit masks. Implies ``-s``.
+
+``-c --conditions``
+ Enable support of Flex-like "conditions": multiple interrelated lexers within one block.
+
+``-d --debug-output``
+ Emit ``YYDEBUG`` in the generated code.
+ ``YYDEBUG`` should be defined by the user in the form of a void function with two parameters:
+ ``state`` (lexer state or -1) and ``symbol`` (current input symbol of type ``YYCTYPE``).
+
+``-D --emit-dot``
+ Instead of normal output generate lexer graph in DOT format.
+ The output can be converted to PNG with the help of Graphviz (something like ``dot -Tpng -odfa.png dfa.dot``).
+ Note that large graphs may crash Graphviz.
+
+``-e --ecb``
+ Generate a lexer that reads input in EBCDIC encoding.
+ ``re2c`` assumes that character range is 0 -- 0xFF an character size is 1 byte.
+
+``-f --storable-state``
+ Generate a lexer which can store its inner state.
+ This is useful in push-model lexers which are stopped by an outer program when there is not enough input,
+ and then resumed when more input becomes available.
+ In this mode users should additionally define
+ ``YYGETSTATE ()`` and ``YYSETSTATE (state)`` macros
+ and variables ``yych``, ``yyaccept`` and the ``state`` as part of the lexer state.
+
+``-F --flex-syntax``
+ Partial support for Flex syntax:
+ in this mode named definitions don't need the equal sign and the terminating semicolon,
+ and when used they must be surrounded by curly braces.
+ Names without curly braces are treated as double-quoted strings.
+
+``-g --computed-gotos``
+ Optimize conditional jumps using non-standard "computed goto" extension (must be supported by C/C++ compiler).
+ ``re2c`` generates jump tables only in complex cases with a lot of conditional branches.
+ Complexity threshold can be configured with ``cgoto:threshold`` configuration.
+ This option implies ``-b``.
+
+``-i --no-debug-info``
+ Do not output ``#line`` information.
+ This is useful when the generated code is tracked by some version control system.
+
+``-o OUTPUT --output=OUTPUT``
+ Specify the ``OUTPUT`` file.
+
+``-r --reusable``
+ Allows reuse of ``re2c`` rules with ``/*!rules:re2c */`` and ``/*!use:re2c */`` blocks.
+ In this mode simple ``/*!re2c */`` blocks are not allowed
+ and exactly one ``/*!rules:re2c */`` block must be present.
+ The rules are saved and used by every ``/*!use:re2c */`` block that follows (which may add rules of their own).
+ This option allows to reuse the same set of rules with different configurations.
+
+``-s --nested-ifs``
+ Use nested ``if`` statements instead of ``switch`` statements in conditional jumps.
+ This usually results in more efficient code with non-optimizing C/C++ compilers.
+
+``-t HEADER --type-header=HEADER``
+ Generate a ``HEADER`` file that contains enum with condition names.
+ Requires ``-c`` option.
+
+``-T --tags``
+ Enable submatch extraction with tags.
+
+``-P --posix-captures``
+ Enable submatch extraction with POSIX-style capturing groups.
+
+``-u --unicode``
+ Generate a lexer that reads input in UTF-32 encoding.
+ ``re2c`` assumes that character range is 0 -- 0x10FFFF and character size is 4 bytes.
+ Implies ``-s``.
+
+``-v --version``
+ Show version information.
+
+``-V --vernum``
+ Show version information in ``MMmmpp`` format (major, minor, patch).
+
+``-w --wide-chars``
+ Generate a lexer that reads input in UCS-2 encoding.
+ ``re2c`` assumes that character range is 0 -- 0xFFFF and character size is 2 bytes.
+ Implies ``-s``.
+
+``-x --utf-16``
+ Generate a lexer that reads input in UTF-16 encoding.
+ ``re2c`` assumes that character range is 0 -- 0x10FFFF and character size is 2 bytes.
+ Implies ``-s``.
+
+``-8 --utf-8``
+ Generate a lexer that reads input in UTF-8 encoding.
+ ``re2c`` assumes that character range is 0 -- 0x10FFFF and character size is 1 byte.
+
+``--case-insensitive``
+ Treat single-quoted and double-quoted strings as case-insensitive.
+
+``--case-inverted``
+ Invert the meaning of single-quoted and double-quoted strings:
+ treat single-quoted strings as case-sensitive and double-quoted strings as case-insensitive.
+
+``--no-generation-date``
+ Suppress date output in the generated file.
+
+``--no-lookahead``
+ Use TDFA(0) instead of TDFA(1).
+ This option only has effect with ``--tags`` or ``--posix-captures`` options.
+
+``--no-optimize-tags``
+ Suppress optimization of tag variables (useful for debugging or benchmarking).
+
+``--no-version``
+ Suppress version output in the generated file.
+
+``--encoding-policy POLICY``
+ Define the way ``re2c`` treats Unicode surrogates.
+ ``POLICY`` can be one of the following: ``fail`` (abort with an error when a surrogate is encountered),
+ ``substitute`` (silently replace surrogates with the error code point 0xFFFD),
+ ``ignore`` (default, treat surrogates as normal code points).
+ The Unicode standard says that standalone surrogates are invalid,
+ but real-world libraries and programs behave in different ways.
+
+``--input INPUT``
+ Specify ``re2c`` input API. ``INPUT`` can be either ``default`` or ``custom`` (enables the use of generic API).
+
+``-S --skeleton``
+ Ignore user-defined interface code and generate a self-contained "skeleton" program.
+ Additionally, generate input files with strings derived from the regular grammar
+ and compressed match results that are used to verify "skeleton" behavior on all inputs.
+ This option is useful for finding bugs in optimizations and code generation.
+
+``--empty-class POLICY``
+ Define the way ``re2c`` treats empty character classes.
+ ``POLICY`` can be one of the following: ``match-empty`` (match empty input: illogical, but default behavior for backwards compatibility reasons),
+ ``match-none`` (fail to match on any input),
+ ``error`` (compilation error).
+
+``--dfa-minimization ALGORITHM``
+ The internal algorithm used by re2c to minimize the DFA.
+ ``ALGORITHM`` can be either ``moore`` (Moore algorithm, the default) or ``table`` (table filling algorithm).
+ Both algorithms should produce the same DFA up to states relabeling;
+ table filling is much slower and serves as a reference implementation.
+
+``--eager-skip``
+ Make the generated lexer advance the input position "eagerly":
+ immediately after reading input symbol.
+ By default this happens after transition to the next state.
+ Implied by ``--no-lookahead``.
+
+``--dump-nfa``
+ Generate representation of NFA in DOT format and dump it on stderr.
+
+``--dump-dfa-raw``
+ Generate representation of DFA in DOT format under construction and dump it on stderr.
+
+``--dump-dfa-det``
+ Generate representation of DFA in DOT format immediately after determinization and dump it on stderr.
+
+``--dump-dfa-tagopt``
+ Generate representation of DFA in DOT format after tag optimizations and dump it on stderr.
+
+``--dump-dfa-min``
+ Generate representation of DFA in DOT format after minimization and dump it on stderr.
+
+``--dump-adfa``
+ Generate representation of DFA in DOT format after tunneling and dump it on stderr.
+
+``-1 --single-pass``
+ Deprecated. Does nothing (single pass is the default now).
diff --git a/doc/manual/syntax/configurations.rst_ b/doc/manual/syntax/configurations.rst_
new file mode 100644
index 00000000..bacf4095
--- /dev/null
+++ b/doc/manual/syntax/configurations.rst_
@@ -0,0 +1,308 @@
+``re2c:cgoto:threshold = 9;``
+ With ``-g`` ``--computed-gotos`` option this value specifies
+ the complexity threshold that triggers the generation of jump tables rather
+ than nested ``if`` statements and bit masks.
+
+``re2c:cond:divider = '/* *********************************** */';``
+ Allows to customize the divider for condition blocks. One can use ``@@`` to insert condition name.
+
+``re2c:cond:divider@cond = @@;``
+ Specifies the placeholder that will be replaced with condition name in ``re2c:cond:divider``.
+
+``re2c:condenumprefix = yyc;``
+ Specifies the prefix used for condition identifiers.
+
+``re2c:cond:goto@cond = @@;``
+ Specifies the placeholder that will be replaced with condition label in ``re2c:cond:goto``.
+
+``re2c:cond:goto = 'goto @@;';``
+ Allows to customize ``goto`` statements used with ``:=>`` style rules.
+ One can use ``@@`` to insert the condition name.
+
+``re2c:condprefix = yyc;``
+ Specifies the prefix used for condition labels.
+
+``re2c:define:YYBACKUPCTX = 'YYBACKUPCTX';``
+ Replaces ``YYBACKUPCTX`` identifier with the specified string.
+
+``re2c:define:YYBACKUP = 'YYBACKUP';``
+ Replaces ``YYBACKUP`` identifier with the specified string.
+
+``re2c:define:YYCONDTYPE = 'YYCONDTYPE';``
+ Enumeration type used for condition identifiers.
+
+``re2c:define:YYCTXMARKER = 'YYCTXMARKER';``
+ Replaces the ``YYCTXMARKER`` placeholder with the specified identifier.
+
+``re2c:define:YYCTYPE = 'YYCTYPE';``
+ Replaces the ``YYCTYPE`` placeholder with the specified type.
+
+``re2c:define:YYCURSOR = 'YYCURSOR';``
+ Replaces the ``YYCURSOR`` placeholder with the specified identifier.
+
+``re2c:define:YYDEBUG = 'YYDEBUG';``
+ Replaces the ``YYDEBUG`` placeholder with the specified identifier.
+
+``re2c:define:YYFILL@len = '@@';``
+ Any occurrence of this text inside of a ``YYFILL`` will be replaced with the actual argument.
+
+``re2c:define:YYFILL:naked = 0;``
+ Controls the argument in the parentheses after ``YYFILL`` and the following semicolon.
+ If zero, both the argument and the semicolon are omitted.
+ If non-zero, the argument is generated unless ``re2c:yyfill:parameter`` is set to zero;
+ the semicolon is generated unconditionally.
+
+``re2c:define:YYFILL = 'YYFILL';``
+ Define a substitution for ``YYFILL``.
+ By default re2c generates an argument in parentheses and a semicolon after ``YYFILL``.
+ If you need to make ``YYFILL`` an arbitrary statement rather than a call,
+ set ``re2c:define:YYFILL:naked`` to a non-zero value.
+
+``re2c:define:YYGETCONDITION:naked = 0;``
+ Controls the parentheses after ``YYGETCONDITION``.
+ If zero, the parentheses are omitted. If non-zero, the parentheses are generated.
+
+``re2c:define:YYGETCONDITION = 'YYGETCONDITION';``
+ Substitution for ``YYGETCONDITION``.
+ By default re2c generates parentheses after ``YYGETCONDITION``.
+ Set ``re2c:define:YYGETCONDITION:naked`` to non-zero in order to omit the parentheses.
+
+``re2c:define:YYGETSTATE:naked = 0;``
+ Controls the parentheses that follow ``YYGETSTATE``.
+ If zero, the parentheses are omitted. If non-zero, they are generated.
+
+``re2c:define:YYGETSTATE = 'YYGETSTATE';``
+ Substitution for ``YYGETSTATE``.
+ By default re2c generates parentheses after ``YYGETSTATE``.
+ Set ``re2c:define:YYGETSTATE:naked`` to non-zero to omit the parentheses.
+
+``re2c:define:YYLESSTHAN = 'YYLESSTHAN';``
+ Replaces ``YYLESSTHAN`` identifier with the specified string.
+
+``re2c:define:YYLIMIT = 'YYLIMIT';``
+ Replaces the ``YYLIMIT`` placeholder with the specified identifier.
+
+``re2c:define:YYMARKER = 'YYMARKER';``
+ Replaces the ``YYMARKER`` placeholder with the specified identifier.
+
+``re2c:define:YYMTAGN = 'YYMTAGN';``
+ Replaces ``YYMTAGN`` identifier with the specified string.
+
+``re2c:define:YYMTAGP = 'YYMTAGP';``
+ Replaces ``YYMTAGP`` identifier with the specified string.
+
+``re2c:define:YYPEEK = 'YYPEEK';``
+ Replaces ``YYPEEK`` identifier with the specified string.
+
+``re2c:define:YYRESTORECTX = 'YYRESTORECTX';``
+ Replaces ``YYRESTORECTX`` identifier with the specified string.
+
+``re2c:define:YYRESTORE = 'YYRESTORE';``
+ Replaces ``YYRESTORE`` identifier with the specified string.
+
+``re2c:define:YYRESTORETAG = 'YYRESTORETAG';``
+ Replaces ``YYRESTORETAG`` identifier with the specified string.
+
+``re2c:define:YYSETCONDITION@cond = '@@';``
+ Any occurrence of this
+ text inside of ``YYSETCONDITION`` will be replaced with the actual argument.
+
+``re2c:define:YYSETCONDITION:naked = 0;``
+ Controls the argument in parentheses
+ and the semicolon after ``YYSETCONDITION``. If zero, both the argument and
+ the semicolon are omitted. If non-zero, both the argument and the semicolon are
+ generated.
+
+``re2c:define:YYSETCONDITION = 'YYSETCONDITION';``
+ Substitution for
+ ``YYSETCONDITION``. By default re2c generates an argument in
+ parentheses followed by semicolon after ``YYSETCONDITION``. If you need to make
+ ``YYSETCONDITION`` an arbitrary statement rather than a call, set
+ ``re2c:define:YYSETCONDITION:naked`` to non-zero.
+
+``re2c:define:YYSETSTATE:naked = 0;``
+ Controls the argument in parentheses and the
+ semicolon after ``YYSETSTATE``. If zero, both argument and the semicolon are
+ omitted. If non-zero, both the argument and the semicolon are generated.
+
+``re2c:define:YYSETSTATE@state = '@@';``
+ Any occurrence of this text
+ inside of ``YYSETSTATE`` will be replaced with the actual argument.
+
+``re2c:define:YYSETSTATE = 'YYSETSTATE';``
+ Substitution for
+ ``YYSETSTATE``. By default re2c generates an argument in parentheses
+ followed by a semicolon after ``YYSETSTATE``. If you need to make ``YYSETSTATE`` an
+ arbitrary statement rather than a call, set
+ ``re2c:define:YYSETSTATE:naked`` to non-zero.
+
+``re2c:define:YYSKIP = 'YYSKIP';``
+ Replaces ``YYSKIP`` identifier with the specified string.
+
+``re2c:define:YYSTAGN = 'YYSTAGN';``
+ Replaces ``YYSTAGN`` identifier with the specified string.
+
+``re2c:define:YYSTAGP = 'YYSTAGP';``
+ Replaces ``YYSTAGP`` identifier with the specified string.
+
+``re2c:flags:8`` or ``re2c:flags:utf-8``
+ Same as ``-8 --utf-8`` command-line option.
+
+``re2c:flags:b`` or ``re2c:flags:bit-vectors``
+ Same as ``-b --bit-vectors`` command-line option.
+
+``re2c:flags:case-insensitive = 0;``
+ Same as ``--case-insensitive`` command-line option.
+
+``re2c:flags:case-inverted = 0;``
+ Same as ``--case-inverted`` command-line option.
+
+``re2c:flags:d`` or ``re2c:flags:debug-output``
+ Same as ``-d --debug-output`` command-line option.
+
+``re2c:flags:dfa-minimization = 'moore';``
+ Same as ``--dfa-minimization`` command-line option.
+
+``re2c:flags:eager-skip = 0;``
+ Same as ``--eager-skip`` command-line option.
+
+``re2c:flags:e`` or ``re2c:flags:ecb``
+ Same as ``-e --ecb`` command-line option.
+
+``re2c:flags:empty-class = 'match-empty';``
+ Same as ``--empty-class`` command-line option.
+
+``re2c:flags:encoding-policy = 'ignore';``
+ Same as ``--encoding-policy`` command-line option.
+
+``re2c:flags:g`` or ``re2c:flags:computed-gotos``
+ Same as ``-g --computed-gotos`` command-line option.
+
+``re2c:flags:i`` or ``re2c:flags:no-debug-info``
+ Same as ``-i --no-debug-info`` command-line option.
+
+``re2c:flags:input = 'default';``
+ Same as ``--input`` command-line option.
+
+``re2c:flags:lookahead = 1;``
+ Same as inverted ``--no-lookahead`` command-line option.
+
+``re2c:flags:optimize-tags = 1;``
+ Same as inverted ``--no-optimize-tags`` command-line option.
+
+``re2c:flags:P`` or ``re2c:flags:posix-captures``
+ Same as ``-P --posix-captures`` command-line option.
+
+``re2c:flags:s`` or ``re2c:flags:nested-ifs``
+ Same as ``-s --nested-ifs`` command-line option.
+
+``re2c:flags:T`` or ``re2c:flags:tags``
+ Same as ``-T --tags`` command-line option.
+
+``re2c:flags:u`` or ``re2c:flags:unicode``
+ Same as ``-u --unicode`` command-line option.
+
+``re2c:flags:w`` or ``re2c:flags:wide-chars``
+ Same as ``-w --wide-chars`` command-line option.
+
+``re2c:flags:x`` or ``re2c:flags:utf-16``
+ Same as ``-x --utf-16`` command-line option.
+
+``re2c:indent:string = '\t';``
+ Specifies the string to use for indentation. Requires a string that contains
+ only whitespace (unless you need something else for external tools). The easiest
+ way to specify spaces is to enclose them in single or double quotes.
+ If you do not want any indentation at all, you can set this to ''.
+
+``re2c:indent:top = 0;``
+ Specifies the minimum amount of indentation to
+ use. Requires a numeric value greater than or equal to zero.
+
+``re2c:labelprefix = 'yy';``
+ Allows to change the prefix of numbered
+ labels. The default is ``yy``. Can be set any string that is valid in
+ a label name.
+
+``re2c:label:yyFillLabel = 'yyFillLabel';``
+ Overrides the name of the ``yyFillLabel`` label.
+
+``re2c:label:yyNext = 'yyNext';``
+ Overrides the name of the ``yyNext`` label.
+
+``re2c:startlabel = 0;``
+ If set to a non zero integer, then the start
+ label of the next scanner block will be generated even if it isn't used by
+ the scanner itself. Otherwise, the normal ``yy0``-like start label is only
+ generated if needed. If set to a text value, then a label with that
+ text will be generated regardless of whether the normal start label is
+ used or not. This setting is reset to 0 after a start label has been generated.
+
+``re2c:state:abort = 0;``
+ When not zero and the ``-f`` ``--storable-state`` switch is active, then
+ the ``YYGETSTATE`` block will contain a default case that aborts and a -1
+ case will be used for initialization.
+
+``re2c:state:nextlabel = 0;``
+ Used when ``-f`` ``--storable-state`` is active to control
+ whether the ``YYGETSTATE`` block is followed by a ``yyNext:`` label line.
+ Instead of using ``yyNext``, you can usually also use configuration
+ ``startlabel`` to force a specific start label or default to ``yy0`` as
+ a start label. Instead of using a dedicated label, it is often better to
+ separate the ``YYGETSTATE`` code from the actual scanner code by placing a
+ ``/*!getstate:re2c*/`` comment.
+
+``re2c:tags:expression = '@@';``
+ Allows to customize the way re2c addresses tag variables:
+ by default it emits expressions of the form ``yyt<N>``,
+ but this might be inconvenient if tag variables are defined as fields in a struct,
+ or for any other reason require special accessors.
+ For example, setting ``re2c:tags:expression = p->@@`` will result in ``p->yyt<N>``.
+
+``re2c:tags:prefix = 'yyt';``
+ Allows to override prefix of tag variables.
+
+``re2c:variable:yyaccept = yyaccept;``
+ Overrides the name of the ``yyaccept`` variable.
+
+``re2c:variable:yybm = 'yybm';``
+ Overrides the name of the ``yybm`` variable.
+
+``re2c:variable:yych = 'yych';``
+ Overrides the name of the ``yych`` variable.
+
+``re2c:variable:yyctable = 'yyctable';``
+ When both ``-c`` ``--conditions`` and ``-g`` ``--computed-gotos`` are active,
+ re2c will use this variable to generate a static jump table
+ for ``YYGETCONDITION``.
+
+``re2c:variable:yystable = 'yystable';``
+ Deprecated.
+
+``re2c:variable:yytarget = 'yytarget';``
+ Overrides the name of the ``yytarget`` variable.
+
+``re2c:yybm:hex = 0;``
+ If set to zero, a decimal table will be used. Otherwise, a hexadecimal table will be generated.
+
+``re2c:yych:conversion = 0;``
+ When this setting is non zero, re2c automatically generates
+ conversion code whenever yych gets read. In this case, the type must be
+ defined using ``re2c:define:YYCTYPE``.
+
+``re2c:yych:emit = 1;``
+ Set this to zero to suppress the generation of *yych*.
+
+``re2c:yyfill:check = 1;``
+ This can be set to 0 to suppress the generations of
+ ``YYCURSOR`` and ``YYLIMIT`` based precondition checks. This option is useful when
+ ``YYLIMIT + YYMAXFILL`` is always accessible.
+
+``re2c:yyfill:enable = 1;``
+ Set this to zero to suppress the generation of ``YYFILL (n)``. When using this, be sure to verify that the generated
+ scanner does not read beyond the available input, as allowing such behavior might
+ introduce severe security issues to your programs.
+
+``re2c:yyfill:parameter = 1;``
+ Controls the argument in the parentheses that follow ``YYFILL``. If zero, the argument is omitted.
+ If non-zero, the argument is generated unless ``re2c:define:YYFILL:naked`` is set to non-zero.
+
diff --git a/doc/manual/syntax/interface.rst_ b/doc/manual/syntax/interface.rst_
new file mode 100644
index 00000000..39c1236c
--- /dev/null
+++ b/doc/manual/syntax/interface.rst_
@@ -0,0 +1,119 @@
+Below is the list of all symbols which may be used by the lexer in order to interact with the outer world.
+These symbols should be defined by the user,
+either in the form of inplace configurations,
+or as C/C++ variables, functions, macros and other language constructs.
+Which primitives are necessary depends on the particular use case.
+
+``yyaccept``
+ L-value of unsigned integral type that is used to hold the number of the last matched rule.
+ Explicit definition by the user is necessary only with ``-f`` ``--storable-state`` option.
+
+``YYBACKUP ()``
+ Backup current input position (used only with ``--input custom`` option).
+
+``YYBACKUPCTX ()``
+ Backup current input position for trailing context (used only with ``--input custom`` option).
+
+``yych``
+ L-value of type ``YYCTYPE`` that is used to hold current input character.
+ Explicit definition by the user is necessary only with ``-f`` ``--storable-state`` option.
+
+``YYCONDTYPE``
+ The type of *condition* identifiers (used only with ``-c`` ``--conditions`` option).
+ Should be generated either with ``/*!types:re2c*/`` directive, or with ``-t`` ``--type-header`` option.
+
+``YYCTXMARKER``
+ L-value of type ``YYCTYPE *`` that is used to backup input position of trailing context.
+ It is needed only if regular expressions use the lookahead operator ``/``.
+
+``YYCTYPE``
+ The type of the input characters (*code units*).
+ Usually it should be ``unsigned char`` for ASCII, EBCDIC and UTF-8 encodings,
+ ``unsigned short`` for UTF-16 or UCS-2 encodings,
+ and ``unsigned int`` for UTF-32 encoding.
+
+``YYCURSOR``
+ L-value of type ``YYCTYPE *`` that is used as a pointer to the current input symbol.
+ Initially ``YYCURSOR`` points to the first character and is advanced by the lexer during matching.
+ When a rule matches, ``YYCURSOR`` points past the last character of the matched string.
+
+``YYDEBUG (state, symbol)``
+ A function-like primitive that is used to dump debug information (only used with ``-d`` ``--debug-output`` option).
+ ``YYDEBUG`` should return no value and accept two arguments:
+ ``state`` (either lexer state or ``-1``) and ``symbol`` (current input symbol).
+
+``YYFILL (n)``
+ A function-like primitive that is called by the lexer when there is not enough input.
+ ``YYFILL`` should return no value and supply at least ``n`` additional characters.
+ Maximal value of ``n`` equals ``YYMAXFILL``, which can be obtained with the ``/*!max:re2c*/`` directive.
+
+``YYGETCONDITION ()``
+ R-value of type ``YYCONDTYPE`` that represents current *condition* identifier (used only with ``-c`` ``--conditions`` option).
+
+``YYGETSTATE ()``
+ R-value of signed integral type that represents current lexer state (used only with ``-f`` ``--storable-state`` option).
+ Initial value of lexer state should be ``-1``.
+
+``YYLESSTHAN (n)``
+ R-value of boolean type that is ``true`` if and only if there is less than ``n`` input characters left (used only with ``--input custom`` option).
+
+``YYLIMIT``
+ R-value of type ``YYCTYPE *`` that marks the end of input (``YYLIMIT[-1]`` should be the last input character).
+ Lexer compares ``YYCURSOR`` and ``YYLIMIT`` in order to determine if there is enough input characters left.
+
+``YYMARKER``
+ L-value of type ``YYCTYPE *`` used to backup input position of successful match.
+ This might be necessary if there is an overlapping longer rule that might also match.
+
+``YYMTAGP (t)``
+ Append current input position to the history of *m-tag* ``t`` (used only with ``-T`` ``--tags`` option).
+
+``YYMTAGN (t)``
+ Append default value to the history of *m-tag* ``t`` (used only with ``-T`` ``--tags`` option).
+
+``YYMAXFILL``
+ Integral constant that denotes maximal value of ``YYFILL`` argument
+ and is autogenerated by ``/*!max:re2c*/`` directive.
+
+``YYMAXNMATCH``
+ Integral constant that denotes maximal number of capturing groups in a rule
+ and is autogenerated by ``/*!maxnmatch:re2c*/`` directive (used only with ``--posix-captures`` option).
+
+``yynmatch``
+ L-value of unsigned integral type that is used to hold the number of capturing groups in the matching rule.
+ Used only with ``-P`` ``--posix-captures`` option.
+
+``YYPEEK ()``
+ R-value of type ``YYCTYPE`` that denotes current input character (used only with ``--input custom`` option).
+
+``yypmatch``
+ An array of l-values that are used to hold the values of *s-tags*
+ corresponding to the capturing parentheses in the matching rule.
+ The length of array must be at least ``yynmatch * 2`` (ideally ``YYMAXNMATCH * 2``).
+ Used only with ``-P`` ``--posix-captures`` option.
+
+``YYRESTORE ()``
+ Restore input position (used only with ``--input custom`` option).
+
+``YYRESTORECTX ()``
+ Restore input position from the value of trailing context (used only with ``--input custom`` option).
+
+``YYRESTORETAG (t)``
+ Restore input position from the value of *s-tag* ``t`` (used only with ``--input custom`` option).
+
+``YYSETCONDITION (condition)``
+ Set current *condition* identifier to ``condition`` (used only with ``-c`` ``--conditions`` option).
+
+``YYSETSTATE (state)``
+ Set current lexer state to ``state`` (used only with ``-f`` ``--storable-state`` option).
+ Parameter ``state`` is of signed integral type.
+
+``YYSKIP ()``
+ Advance input position to the next character (used only with generic API).
+
+``YYSTAGP (t)``
+ Save current input position to *s-tag* ``t`` (used only with ``-T`` ``--tags`` and ``--input custom`` option).
+
+``YYSTAGN (t)``
+ Save default value to *s-tag* ``t`` (used only with ``-T`` ``--tags`` and ``--input custom`` options).
+
diff --git a/doc/manual/syntax/named_definitions.rst_ b/doc/manual/syntax/named_definitions.rst_
new file mode 100644
index 00000000..e92fef5b
--- /dev/null
+++ b/doc/manual/syntax/named_definitions.rst_
@@ -0,0 +1,6 @@
+
+Named definitions are of the form ``name = regexp ;``
+where ``name`` is an identifier that consists of letters, digits and underscores,
+and ``regexp`` is a regular expression.
+With ``-F`` ``--flex-syntax`` option named definitions are also of the form ``name regexp``.
+Each name should be defined before it is used.
diff --git a/doc/manual/syntax/regular_expressions.rst_ b/doc/manual/syntax/regular_expressions.rst_
new file mode 100644
index 00000000..c455f412
--- /dev/null
+++ b/doc/manual/syntax/regular_expressions.rst_
@@ -0,0 +1,44 @@
+
+re2c uses the following syntax for regular expressions:
+
+* ``"foo"`` case-sensitive string literal
+
+* ``'foo'`` case-insensitive string literal
+
+* ``[a-xyz]``, ``[^a-xyz]`` character class (possibly negated)
+
+* ``.`` any character except newline
+
+* ``R \ S`` difference of character classes ``R`` and ``S``
+
+* ``R*`` zero or more occurrences of ``R``
+
+* ``R+`` one or more occurrences of ``R``
+
+* ``R?`` optional ``R``
+
+* ``R{n}`` repetition of ``R`` exactly ``n`` times
+
+* ``R{n,}`` repetition of ``R`` at least ``n`` times
+
+* ``R{n,m}`` repetition of ``R`` from ``n`` to ``m`` times
+
+* ``(R)`` just ``R``; parentheses are used to override precedence or for POSIX-style submatch
+
+* ``R S`` concatenation: ``R`` followed by ``S``
+
+* ``R | S`` alternative: ``R or S``
+
+* ``R / S`` loohakead: ``R`` followed by ``S``, but ``S`` is not consumed
+
+* ``name`` the regular expression defined as ``name`` (or literal string ``"name"`` in Flex compatibility mode)
+
+* ``{name}`` the regular expression defined as ``name`` in Flex compatibility mode
+
+* ``@stag`` an *s-tag*: saves the last input position at which ``@stag`` matches in a variable named ``stag``
+
+* ``#mtag`` an *m-tag*: saves all input positions at which ``#mtag`` matches in a variable named ``mtag``
+
+Character classes and string literals may contain the following escape sequences:
+``\a``, ``\b``, ``\f``, ``\n``, ``\r``, ``\t``, ``\v``, ``\\``, octal escapes ``\ooo`` and hexadecimal escapes ``\xhh``, ``\uhhhh`` and ``\Uhhhhhhhh``.
+
diff --git a/doc/manual/syntax/rules.rst_ b/doc/manual/syntax/rules.rst_
new file mode 100644
index 00000000..772a6ac0
--- /dev/null
+++ b/doc/manual/syntax/rules.rst_
@@ -0,0 +1,17 @@
+
+Rules consist of a regular expression followed by a user-defined action:
+a block of C/C++ code that is executed in case of sucessful match.
+Action can be either an arbitrary block of code enclosed in curly braces ``{`` and ``}``
+or a block of code without curly braces preceded with ``:=`` and ended with a newline that is not followed by a whitespace.
+
+If multiple rules match, ``re2c`` prefers the longest match.
+If rules match the same string, the earlier rule has priority.
+
+There is one special kind of rule: the *default rule* with ``*`` instead of the regular expression.
+It always has the lowest priority, matches any *code unit* (either valid or invalid) and consumes exactly one *code unit*.
+Note that *default rule* is not the same as ``[^]``, which
+matches any valid *code point* and can consume multiple *code units*.
+In case of variable-length encodings ``*`` is the only possible way to match invalid input character.
+
+If ``-c`` ``--conditions`` option is used, then rules have more complex form
+described in the section about conditions.
diff --git a/doc/manual/warnings/warnings_general.rst b/doc/manual/warnings/warnings_general.rst
new file mode 100644
index 00000000..5797db28
--- /dev/null
+++ b/doc/manual/warnings/warnings_general.rst
@@ -0,0 +1,22 @@
+
+``-W``
+ Turn on all warnings.
+
+``-Werror``
+ Turn warnings into errors. Note that this option alone
+ doesn't turn on any warnings; it only affects those warnings that have
+ been turned on so far or will be turned on later.
+
+``-W<warning>``
+ Turn on ``warning``.
+
+``-Wno-<warning>``
+ Turn off ``warning``.
+
+``-Werror-<warning>``
+ Turn on ``warning`` and treat it as an error (this implies ``-W<warning>``).
+
+``-Wno-error-<warning>``
+ Don't treat this particular ``warning`` as an error. This doesn't turn off
+ the warning itself.
+
diff --git a/doc/manual/warnings/warnings_list.rst b/doc/manual/warnings/warnings_list.rst
new file mode 100644
index 00000000..ae381bfb
--- /dev/null
+++ b/doc/manual/warnings/warnings_list.rst
@@ -0,0 +1,40 @@
+``-Wcondition-order``
+ Warn if the generated program makes implicit
+ assumptions about condition numbering. One should use either the ``-t, --type-header`` option or
+ the ``/*!types:re2c*/`` directive to generate a mapping of condition names to numbers and then use
+ the autogenerated condition names.
+
+``-Wempty-character-class``
+ Warn if a regular expression contains an empty
+ character class. Trying to match an empty character class makes no sense: it should always fail.
+ However, for backwards compatibility reasons ``re2c`` allows empty character classes and
+ treats them as empty strings. Use the ``--empty-class`` option to change the default
+ behavior.
+
+``-Wmatch-empty-string``
+ Warn if a rule is nullable (matches an empty string).
+ If the lexer runs in a loop and the empty match is unintentional,
+ the lexer may unexpectedly hang in an infinite loop.
+
+``-Wswapped-range``
+ Warn if the lower bound of a range is greater than its upper
+ bound. The default behavior is to silently swap the range bounds.
+
+``-Wundefined-control-flow``
+ Warn if some input strings cause undefined
+ control flow in the lexer (the faulty patterns are reported). This is the
+ most dangerous and most common mistake. It can be easily fixed by adding
+ the default rule ``*`` which has the lowest priority, matches any code unit, and consumes
+ exactly one code unit.
+
+``-Wunreachable-rules``
+ Warn about rules that are shadowed by other rules and will never match.
+
+``-Wuseless-escape``
+ Warn if a symbol is escaped when it shouldn't be.
+ By default, re2c silently ignores such escapes, but this may as well indicate a
+ typo or an error in the escape sequence.
+
+``-Wnondeterministic-tags``
+ Warn if a tag has ``n``-th degree of nondeterminism, where ``n`` is greater than 1.
+
diff --git a/doc/tdfa/tdfa.pdf b/doc/tdfa/tdfa.pdf
new file mode 100644
index 00000000..1622016c
--- /dev/null
+++ b/doc/tdfa/tdfa.pdf
Binary files differ
diff --git a/examples/001_upn_calculator/README b/examples/001_upn_calculator/README
deleted file mode 100644
index 81377d75..00000000
--- a/examples/001_upn_calculator/README
+++ /dev/null
@@ -1,83 +0,0 @@
-re2c lesson 001_upn_calculator, (c) M. Boerger 2006
-
-This lesson gets you started with re2c. In the end you will have an easy RPN
-(reverse polish notation) calculator for use at command line.
-
-You will learn about the basic interface of re2c when scanning input strings.
-How to detect the end of the input and use that to stop scanning in order to
-avoid problems.
-
-Once you have successfully installed re2c you can use it to generate *.c files
-from the *.re files presented in this lesson. Actually the expected *.c files
-are already present. So you should name them *.cc or something alike or just
-give them a different name like test.c. To do so you simply change into the
-directory and execute the following command:
-
- re2c calc_001.re > test.c
-
-Then use your compiler to compile that code and run it. If you are using gcc
-you simply do the following:
-
- gcc -o test.o test.c
- ./test.o <input_file_name>
-
-If you are using windows you might want to read till the end of this lesson.
-
-When you want to debug the code it helps to make re2c generate working #line
-information. To do so you simply specify the output file using the -o switch
-followed by the output filename:
-
- re2c -o test.c calc_001.re
-
-The input files *.re each contain basic step by comments that explain what is
-going on and what you can see in the examples.
-
-In order to optimize the generated code we will use the -s command line switch
-of re2c. This tells re2c to generate code that uses if statements rather
-then endless switch/case expressions where appropriate. Note that the file name
-extension is actually '.s.re' to tell the test system to use the -s switch. To
-invoke re2 you do the following:
-
- re2c -s -o test.c calc_006.s.re
-
-Finally we use the -b switch to have the code use a decision table. The -b
-switch also contains the -s behavior.
-
- re2c -b -o test.c calc_007.b.re
-
-
-
--------------------------------------------------------------------------------
-
-For windows users Lynn Allan provided some additional stuff to get you started
-in the Microsoft world. This addon resides in the windows subdirectory and
-gives you something to expereiment with. The code in that directory is based
-on the first step and has the following changes:
-
-* vc6 .dsp/.dsw and vc7/vc8 .sln/.vcproj project files that have "Custom Build
-Steps" that can tell when main.re changes, and know how to generate main.c
-from main.re. They assume that you unpacked the zip package and have re2c
-itself build or installed in Release and Release-2005 directory respectively.
-If re2c cannot be found you need to modify the custom build step and correct
-the path to re2c.
-
-* BuildAndRun.bat to do command line rec2 and then cl and then run the
-executable (discontinues with message if errors).
-
-* built-in cppunit-like test to confirm it worked as expected.
-
-* array of test strings "fed" to scan rather than file contents to facilitate
-testing and also reduce the newbie learning curve.
-
-* HiResTimer output for 10,000 loops and 100,000 loops. While this might be
-excessive for this lesson, it illustrates how to do it for subsequent lessons
-and your own stuff using windows. Also it shows that Release build is as fast
-as strncmp for this test and can probably be made significantly faster.
-
-* If you want to build the other steps of this lesson using windows tools
-simply copy the *.re files into the windows directory as main.re and rebuild.
-
-
--------------------------------------------------------------------------------
-Sidenote: UPN is the german translation of RPN, somehow hardcoded into the
-authors brain :-)
diff --git a/examples/001_upn_calculator/calc_001.re b/examples/001_upn_calculator/calc_001.re
deleted file mode 100644
index fe8d3ae1..00000000
--- a/examples/001_upn_calculator/calc_001.re
+++ /dev/null
@@ -1,84 +0,0 @@
-/* re2c lesson 001_upn_calculator, calc_001, (c) M. Boerger 2006 - 2007 */
-/*!ignore:re2c
-
-- basic interface for string reading
-
- . We define the macros YYCTYPE, YYCURSOR, YYLIMIT, YYMARKER, YYFILL
- . YYCTYPE is the type re2c operates on or in other words the type that
- it generates code for. While it is not a big difference when we were
- using 'unsigned char' here we would need to run re2c with option -w
- to fully support types with sieof() > 1.
- . YYCURSOR is used internally and holds the current scanner position. In
- expression handlers, the code blocks after re2c expressions, this can be
- used to identify the end of the token.
- . YYMARKER is not always being used so we set an initial value to avoid
- a compiler warning. Here we could also omit it compleley.
- . YYLIMIT stores the end of the input. Unfortunatley we have to use strlen()
- in this lesson. In the next example we see one way to get rid of it.
- . We use a 'for(;;)'-loop around the scanner block. We could have used a
- 'while(1)'-loop instead but some compilers generate a warning for it.
- . To make the output more readable we use 're2c:indent:top' scanner
- configuration that configures re2c to prepend a single tab (the default)
- to the beginning of each output line.
- . The following lines are expressions and for each expression we output the
- token name and continue the scanner loop.
- . The second last token detects the end of our input, the terminating zero in
- our input string. In other scanners detecting the end of input may vary.
- For example binary code may contain \0 as valid input.
- . The last expression accepts any input character. It tells re2c to accept
- the opposit of the empty range. This includes numbers and our tokens but
- as re2c goes from top to botton when evaluating the expressions this is no
- problem.
- . The first three rules show that re2c actually prioritizes the expressions
- from top to bottom. Octal number require a starting "0" and the actual
- number. Normal numbers start with a digit greater 0. And zero is finally a
- special case. A single "0" is detected by the last rule of this set. And
- valid ocal number is already being detected by the first rule. This even
- includes multi "0" sequences that in octal notation also means zero.
- Another way would be to only use two rules:
- "0" [0-9]+
- "0" | ( [1-9] [0-9]* )
- A full description of re2c rule syntax can be found in the manual.
-*/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
-int scan(char *s, int l)
-{
- char *p = s;
- char *q = 0;
-#define YYCTYPE char
-#define YYCURSOR p
-#define YYLIMIT (s+l)
-#define YYMARKER q
-#define YYFILL(n)
-
- for(;;)
- {
-/*!re2c
- re2c:indent:top = 2;
- "0"[0-9]+ { printf("Oct\n"); continue; }
- [1-9][0-9]* { printf("Num\n"); continue; }
- "0" { printf("Num\n"); continue; }
- "+" { printf("+\n"); continue; }
- "-" { printf("-\n"); continue; }
- "\000" { printf("EOF\n"); return 0; }
- [^] { printf("ERR\n"); return 1; }
-*/
- }
-}
-
-int main(int argc, char **argv)
-{
- if (argc > 1)
- {
- return scan(argv[1], strlen(argv[1]));
- }
- else
- {
- fprintf(stderr, "%s <expr>\n", argv[0]);
- return 1;
- }
-}
diff --git a/examples/001_upn_calculator/calc_002.re b/examples/001_upn_calculator/calc_002.re
deleted file mode 100644
index 417e9f31..00000000
--- a/examples/001_upn_calculator/calc_002.re
+++ /dev/null
@@ -1,69 +0,0 @@
-/* re2c lesson 001_upn_calculator, calc_002, (c) M. Boerger 2006 - 2007 */
-/*!ignore:re2c
-
-- making use of YYFILL
-
- . Here we modified the scanner to not require strlen() on the call. Instead
- we compute limit on the fly. That is whenever more input is needed we
- search for the terminating \0 in the next n chars the scanner needs.
- . If there is not enough input we quit the scanner.
- . Note that in lesson_001 YYLIMIT was a character pointer computed only once.
- Here is of course also of type YYCTYPE but a variable that gets reevaluated
- by YYFILL().
- . To make the code smaller we take advantage of the fact that our loop has no
- break so far. This allows us to use break here and have the code that is
- used for YYFILL() not contain the printf in every occurence. That way the
- generated code gets smaller.
-
-*/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
-int fill(char *p, int n, char **l)
-{
- while (*++p && n--) ;
- * l = p;
- return n <= 0;
-}
-
-int scan(char *s)
-{
- char *p = s;
- char *l = s;
- char *q = 0;
-#define YYCTYPE char
-#define YYCURSOR p
-#define YYLIMIT l
-#define YYMARKER q
-#define YYFILL(n) { if (!fill(p, n, &l)) break; }
-
- for(;;)
- {
-/*!re2c
- re2c:indent:top = 2;
- "0"[0-9]+ { printf("Oct\n"); continue; }
- [1-9][0-9]* { printf("Num\n"); continue; }
- "0" { printf("Num\n"); continue; }
- "+" { printf("+\n"); continue; }
- "-" { printf("+\n"); continue; }
- "\000" { printf("EOF\n"); return 0; }
- [^] { printf("ERR\n"); return 1; }
-*/
- }
- printf("OOD\n"); return 2;
-}
-
-int main(int argc, char **argv)
-{
- if (argc > 1)
- {
- return scan(argv[1]);
- }
- else
- {
- fprintf(stderr, "%s <expr>\n", argv[0]);
- return 0;
- }
-}
diff --git a/examples/001_upn_calculator/calc_003.re b/examples/001_upn_calculator/calc_003.re
deleted file mode 100644
index e48aec92..00000000
--- a/examples/001_upn_calculator/calc_003.re
+++ /dev/null
@@ -1,61 +0,0 @@
-/* re2c lesson 001_upn_calculator, calc_003, (c) M. Boerger 2006 - 2007 */
-/*!ignore:re2c
-
-- making use of YYFILL
-
- . Again provide the length of the input to generate the limit only once. Now
- we can use YYFILL() to detect the end and simply return since YYFILL() is
- only being used if the next scanner run might use more chars then YYLIMIT
- allows.
- . Note that we now use (s+l+2) instead of (s+l) as we did in lesson_001. In
- the first lesson we did not quit from YYFILL() and used a special rule to
- detect the end of input. Here we use the fact that we know the exact end
- of input and that this length does not include the terminating zero. Since
- YYLIMIT points to the first character behind the used buffer we use "+ 2".
- If we would use "+1" we could drop the "\000" rule but could no longer
- distinguish between end of input and out of data.
-
-*/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
-int scan(char *s, int l)
-{
- char *p = s;
- char *q = 0;
-#define YYCTYPE char
-#define YYCURSOR p
-#define YYLIMIT (s+l+2)
-#define YYMARKER q
-#define YYFILL(n) { printf("OOD\n"); return 2; }
-
- for(;;)
- {
-/*!re2c
- re2c:indent:top = 2;
- "0"[0-9]+ { printf("Oct\n"); continue; }
- [1-9][0-9]* { printf("Num\n"); continue; }
- "0" { printf("Num\n"); continue; }
- "+" { printf("+\n"); continue; }
- "-" { printf("+\n"); continue; }
- "\000" { printf("EOF\n"); return 0; }
- [^] { printf("ERR\n"); return 1; }
-*/
- }
- return 0;
-}
-
-int main(int argc, char **argv)
-{
- if (argc > 1)
- {
- return scan(argv[1], strlen(argv[1]));
- }
- else
- {
- fprintf(stderr, "%s <expr>\n", argv[0]);
- return 0;
- }
-}
diff --git a/examples/001_upn_calculator/calc_004.re b/examples/001_upn_calculator/calc_004.re
deleted file mode 100644
index 977e438b..00000000
--- a/examples/001_upn_calculator/calc_004.re
+++ /dev/null
@@ -1,78 +0,0 @@
-/* re2c lesson 001_upn_calculator, calc_004, (c) M. Boerger 2006 - 2007 */
-/*!ignore:re2c
-
-- making use of definitions
- . We provide complex rules as definitions. We can even have definitions made
- up from other definitions. And we could also use definitions as part of
- rules and not only as full rules as shown in this lesson.
-
-- showing the tokens
- . re2c does not store the beginning of a token on its own but we can easily
- do this by providing variable, in our case t, that is set to YYCURSOR on
- every loop. If we were not using a loop here the token, we could have used
- s instead of a new variable instead.
- . As we use the token for an output function that requires a terminating zero
- we copy the token. Alternatively we could store the end of the token, then
- replace it with a zero character and replace it after the token has been
- used. However that approach is not always acceptable.
-
-*/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
-char * tokendup(const char *t, const char *l)
-{
- size_t n = l -t + 1;
- char *r = (char*)malloc(n);
-
- memmove(r, t, n-1);
- r[n] = '\0';
- return r;
-}
-
-int scan(char *s, int l)
-{
- char *p = s;
- char *q = 0;
- char *t;
-#define YYCTYPE char
-#define YYCURSOR p
-#define YYLIMIT (s+l+2)
-#define YYMARKER q
-#define YYFILL(n) { printf("OOD\n"); return 2; }
-
- for(;;)
- {
- t = p;
-/*!re2c
- re2c:indent:top = 2;
-
- DIGIT = [0-9] ;
- OCT = "0" DIGIT+ ;
- INT = "0" | ( [1-9] DIGIT* ) ;
-
- OCT { t = tokendup(t, p); printf("Oct: %s\n", t); free(t); continue; }
- INT { t = tokendup(t, p); printf("Num: %s\n", t); free(t); continue; }
- "+" { printf("+\n"); continue; }
- "-" { printf("+\n"); continue; }
- "\000" { printf("EOF\n"); return 0; }
- [^] { printf("ERR\n"); return 1; }
-*/
- }
- return 0;
-}
-
-int main(int argc, char **argv)
-{
- if (argc > 1)
- {
- return scan(argv[1], strlen(argv[1]));
- }
- else
- {
- fprintf(stderr, "%s <expr>\n", argv[0]);
- return 0;
- }
-}
diff --git a/examples/001_upn_calculator/calc_005.re b/examples/001_upn_calculator/calc_005.re
deleted file mode 100644
index 6ae2a484..00000000
--- a/examples/001_upn_calculator/calc_005.re
+++ /dev/null
@@ -1,144 +0,0 @@
-/* re2c lesson 001_upn_calculator, calc_005, (c) M. Boerger 2006 - 2007 */
-/*!ignore:re2c
-
-- turning this lesson into an easy calculator
- . We are going to write an UPN calculator so we need an additional rule to
- ignore white space.
- . Then we need to store the scanned input somewhere and do our math on it.
- . Also we need to scan all arguments since the main c code gets the input
- split up into chunks.
- . In contrast to what we did before we now add a variable res that holds the
- scanner state. We initialize that variable to 0 and quit the loop when it
- is non zero. This will also be our return value so that we can use it in
- function main to generate error information.
- . To support operating systems where ' and " get passed in program arguments
- we check for them being first and last input character. If so we correct
- input pointer and input length. Since now our scanner might not see a
- terminating zero we change YYLIMIT again and drop the special zero rule.
-*/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
-#define DEBUG(stmt) stmt
-
-int stack[4];
-int depth = 0;
-
-int push_num(const char *t, const char *l, int radix)
-{
- int num = 0;
-
- if (depth >= sizeof(stack))
- {
- return 3;
- }
-
- --t;
- while(++t < l)
- {
- num = num * radix + (*t - '0');
- }
- DEBUG(printf("Num: %d\n", num));
-
- stack[depth++] = num;
- return 0;
-}
-
-int stack_add()
-{
- if (depth < 2) return 4;
-
- --depth;
- stack[depth-1] = stack[depth-1] + stack[depth];
- return 0;
-}
-
-int stack_sub()
-{
- if (depth < 2) return 4;
-
- --depth;
- stack[depth-1] = stack[depth-1] - stack[depth];
- return 0;
-}
-
-int scan(char *s, int l)
-{
- char *p = s;
- char *q = 0;
- char *t;
- int res = 0;
-
-#define YYCTYPE char
-#define YYCURSOR p
-#define YYLIMIT (s+l+1)
-#define YYMARKER q
-#define YYFILL(n) { return depth == 1 ? 0 : 2; }
-
- while(!res)
- {
- t = p;
-/*!re2c
- re2c:indent:top = 2;
-
- DIGIT = [0-9] ;
- OCT = "0" DIGIT+ ;
- INT = "0" | ( [1-9] DIGIT* ) ;
- WS = [ \t]+ ;
-
- WS { continue; }
- OCT { res = push_num(t, p, 8); continue; }
- INT { res = push_num(t, p, 10); continue; }
- "+" { res = stack_add(); continue; }
- "-" { res = stack_sub(); continue; }
- [^] { res = 1; continue; }
-*/
- }
- return res;
-}
-
-int main(int argc, char **argv)
-{
- if (argc > 1)
- {
- char *inp;
- int res = 0, argp = 0, len;
-
- while(!res && ++argp < argc)
- {
- inp = argv[argp];
- len = strlen(inp);
- if (inp[0] == '\"' && inp[len-1] == '\"')
- {
- ++inp;
- len -=2;
- }
- res = scan(inp, len);
- }
- switch(res)
- {
- case 0:
- printf("Result: %d\n", stack[0]);
- return 0;
- case 1:
- fprintf(stderr, "Illegal character in input.\n");
- return 1;
- case 2:
- fprintf(stderr, "Premature end of input.\n");
- return 2;
- case 3:
- fprintf(stderr, "Stack overflow.\n");
- return 3;
- case 4:
- fprintf(stderr, "Stack underflow.\n");
- return 4;
- }
- }
- else
- {
- fprintf(stderr, "%s <expr>\n", argv[0]);
- return 0;
- }
-}
diff --git a/examples/001_upn_calculator/calc_006.s.re b/examples/001_upn_calculator/calc_006.s.re
deleted file mode 100644
index 10da31cd..00000000
--- a/examples/001_upn_calculator/calc_006.s.re
+++ /dev/null
@@ -1,162 +0,0 @@
-/* re2c lesson 001_upn_calculator, calc_006, (c) M. Boerger 2006 - 2007 */
-/*!ignore:re2c
-
-- avoiding YYFILL()
- . We use the inplace configuration re2c:yyfill to suppress generation of
- YYFILL() blocks. This of course means we no longer have to provide the
- macro.
- . We also drop the YYMARKER stuff since we know that re2c does not generate
- it for this example.
- . Since re2c does no longer check for out of data situations we must do this.
- For that reason we first reintroduce our zero rule and second we need to
- ensure that the scanner does not take more than one bytes in one go.
-
- In the example suppose "0" is passed. The scanner reads the first "0" and
- then is in an undecided state. The scanner can earliest decide on the next
- char what the token is. In case of a zero the input ends and it was a
- number, 0 to be precise. In case of a digit it is an octal number and the
- next character needs to be read. In case of any other character the scanner
- will detect an error with the any rule [^].
-
- Now the above shows that the scanner may read two characters directly. But
- only if the first is a "0". So we could easily check that if the first char
- is "0" and the next char is a digit then yet another charcter is present.
- But we require our inut to be zero terminated. And that means we do not
- have to check anything for this scanner.
-
- However with other rule sets re2c might read more then one character in a
- row. In those cases it is normally hard to impossible to avoid YYFILL.
-
-- optimizing the generated code by using -s command line switch of re2c
- . This tells re2c to generate code that uses if statements rather
- then endless switch/case expressions where appropriate. Note that the
- generated code now requires the input to be unsigned char rather than char
- due to the way comparisons are generated.
-*/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
-#define DEBUG(stmt) stmt
-
-int stack[4];
-int depth = 0;
-
-int push_num(const unsigned char *t, const unsigned char *l, int radix)
-{
- int num = 0;
-
- if (depth >= sizeof(stack))
- {
- return 3;
- }
-
- --t;
- while(++t < l)
- {
- num = num * radix + (*t - (unsigned char)'0');
- }
- DEBUG(printf("Num: %d\n", num));
-
- stack[depth++] = num;
- return 0;
-}
-
-int stack_add()
-{
- if (depth < 2) return 4;
-
- --depth;
- stack[depth-1] = stack[depth-1] + stack[depth];
- DEBUG(printf("+\n"));
- return 0;
-}
-
-int stack_sub()
-{
- if (depth < 2) return 4;
-
- --depth;
- stack[depth-1] = stack[depth-1] - stack[depth];
- DEBUG(printf("-\n"));
- return 0;
-}
-
-int scan(char *s)
-{
- unsigned char *p = (unsigned char*)s;
- unsigned char *t;
- int res = 0;
-
-#define YYCTYPE unsigned char
-#define YYCURSOR p
-
- while(!res)
- {
- t = p;
-/*!re2c
- re2c:indent:top = 2;
- re2c:yyfill:enable = 0;
-
- DIGIT = [0-9] ;
- OCT = "0" DIGIT+ ;
- INT = "0" | ( [1-9] DIGIT* ) ;
- WS = [ \t]+ ;
-
- WS { continue; }
- OCT { res = push_num(t, p, 8); continue; }
- INT { res = push_num(t, p, 10); continue; }
- "+" { res = stack_add(); continue; }
- "-" { res = stack_sub(); continue; }
- "\000" { res = depth == 1 ? 0 : 2; break; }
- [^] { res = 1; continue; }
-*/
- }
- return res;
-}
-
-int main(int argc, char **argv)
-{
- if (argc > 1)
- {
- char *inp;
- int res = 0, argp = 0, len;
-
- while(!res && ++argp < argc)
- {
- inp = strdup(argv[argp]);
- len = strlen(inp);
- if (inp[0] == '\"' && inp[len-1] == '\"')
- {
- inp[len - 1] = '\0';
- ++inp;
- }
- res = scan(inp);
- free(inp);
- }
- switch(res)
- {
- case 0:
- printf("Result: %d\n", stack[0]);
- return 0;
- case 1:
- fprintf(stderr, "Illegal character in input.\n");
- return 1;
- case 2:
- fprintf(stderr, "Premature end of input.\n");
- return 2;
- case 3:
- fprintf(stderr, "Stack overflow.\n");
- return 3;
- case 4:
- fprintf(stderr, "Stack underflow.\n");
- return 4;
- }
- }
- else
- {
- fprintf(stderr, "%s <expr>\n", argv[0]);
- return 0;
- }
-}
diff --git a/examples/001_upn_calculator/calc_007.b.re b/examples/001_upn_calculator/calc_007.b.re
deleted file mode 100644
index 52381965..00000000
--- a/examples/001_upn_calculator/calc_007.b.re
+++ /dev/null
@@ -1,135 +0,0 @@
-/* re2c lesson 001_upn_calculator, calc_007, (c) M. Boerger 2006 - 2007 */
-/*!ignore:re2c
-
-- optimizing the generated code by using -b command line switch of re2c
- . This tells re2c to generate code that uses a decision table. The -b switch
- also contains the -s behavior. And -b also requires the input to be
- unsigned chars.
-*/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
-#define DEBUG(stmt) stmt
-
-int stack[4];
-int depth = 0;
-
-int push_num(const unsigned char *t, const unsigned char *l, int radix)
-{
- int num = 0;
-
- if (depth >= sizeof(stack))
- {
- return 3;
- }
-
- --t;
- while(++t < l)
- {
- num = num * radix + (*t - (unsigned char)'0');
- }
- DEBUG(printf("Num: %d\n", num));
-
- stack[depth++] = num;
- return 0;
-}
-
-int stack_add()
-{
- if (depth < 2) return 4;
-
- --depth;
- stack[depth-1] = stack[depth-1] + stack[depth];
- DEBUG(printf("+\n"));
- return 0;
-}
-
-int stack_sub()
-{
- if (depth < 2) return 4;
-
- --depth;
- stack[depth-1] = stack[depth-1] - stack[depth];
- DEBUG(printf("+\n"));
- return 0;
-}
-
-int scan(char *s)
-{
- unsigned char *p = (unsigned char*)s;
- unsigned char *t;
- int res = 0;
-
-#define YYCTYPE unsigned char
-#define YYCURSOR p
-
- while(!res)
- {
- t = p;
-/*!re2c
- re2c:indent:top = 2;
- re2c:yyfill:enable = 0;
-
- DIGIT = [0-9] ;
- OCT = "0" DIGIT+ ;
- INT = "0" | ( [1-9] DIGIT* ) ;
- WS = [ \t]+ ;
-
- WS { continue; }
- OCT { res = push_num(t, p, 8); continue; }
- INT { res = push_num(t, p, 10); continue; }
- "+" { res = stack_add(); continue; }
- "-" { res = stack_sub(); continue; }
- "\000" { res = depth == 1 ? 0 : 2; break; }
- [^] { res = 1; continue; }
-*/
- }
- return res;
-}
-
-int main(int argc, char **argv)
-{
- if (argc > 1)
- {
- char *inp;
- int res = 0, argp = 0, len;
-
- while(!res && ++argp < argc)
- {
- inp = strdup(argv[argp]);
- len = strlen(inp);
- if (inp[0] == '\"' && inp[len-1] == '\"')
- {
- inp[len - 1] = '\0';
- ++inp;
- }
- res = scan(inp);
- free(inp);
- }
- switch(res)
- {
- case 0:
- printf("Result: %d\n", stack[0]);
- return 0;
- case 1:
- fprintf(stderr, "Illegal character in input.\n");
- return 1;
- case 2:
- fprintf(stderr, "Premature end of input.\n");
- return 2;
- case 3:
- fprintf(stderr, "Stack overflow.\n");
- return 3;
- case 4:
- fprintf(stderr, "Stack underflow.\n");
- return 4;
- }
- }
- else
- {
- fprintf(stderr, "%s <expr>\n", argv[0]);
- return 0;
- }
-}
diff --git a/examples/001_upn_calculator/calc_008.b.re b/examples/001_upn_calculator/calc_008.b.re
deleted file mode 100644
index ed1a088e..00000000
--- a/examples/001_upn_calculator/calc_008.b.re
+++ /dev/null
@@ -1,158 +0,0 @@
-/* re2c lesson 001_upn_calculator, calc_008, (c) M. Boerger 2006 - 2007 */
-/*!ignore:re2c
-
-- using -b with signed character input
- . Since the code is being generated with -b switch re2c requires the internal
- character variable yych to use an unsigned character type. For that reason
- the previous lessons had a conversion at the beginning of their scan()
- function. Other re2c generated code often have the scanners work completely
- on unsigned input. Thus requesting a conversion.
-
- To avoid the conversion on input, re2c allows to do the conversion when
- reading the internal yych variable. To enable that conversion you need to
- use the implace configuration 're2c:yych:conversion' and set it to 1. This
- will change the generated code to insert conversions to YYCTYPE whenever
- yych is being read.
-
-- More inplace configurations for better/nicer code
- . re2c allows to overwrite the generation of any define, label or variable
- used in the generated code. For example we overwrite the 'yych' variable
- name to 'curr' using inplace configuration 're2c:variable:yych = curr;'.
-
- . We further more use inplace configurations instead of defines. This allows
- to use correct conversions to 'unsigned char' instead of having to convert
- to 'YYCTYPE' when placing 're2c:define:YYCTYPE = "unsigned char";' infront
- of 're2c:yych:conversion'. Note that we have to use apostrophies for the
- first setting as it contains a space.
-
- . Last but not least we use 're2c:labelprefix = scan' to change the prefix
- of generated labels.
-*/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
-#define DEBUG(stmt) stmt
-
-int stack[4];
-int depth = 0;
-
-int push_num(const char *t, const char *l, int radix)
-{
- int num = 0;
-
- if (depth >= sizeof(stack))
- {
- return 3;
- }
-
- --t;
- while(++t < l)
- {
- num = num * radix + (*t - '0');
- }
- DEBUG(printf("Num: %d\n", num));
-
- stack[depth++] = num;
- return 0;
-}
-
-int stack_add()
-{
- if (depth < 2) return 4;
-
- --depth;
- stack[depth-1] = stack[depth-1] + stack[depth];
- DEBUG(printf("+\n"));
- return 0;
-}
-
-int stack_sub()
-{
- if (depth < 2) return 4;
-
- --depth;
- stack[depth-1] = stack[depth-1] - stack[depth];
- DEBUG(printf("+\n"));
- return 0;
-}
-
-int scan(char *p)
-{
- char *t;
- int res = 0;
-
- while(!res)
- {
- t = p;
-/*!re2c
- re2c:define:YYCTYPE = "unsigned char";
- re2c:define:YYCURSOR = p;
- re2c:variable:yych = curr;
- re2c:indent:top = 2;
- re2c:yyfill:enable = 0;
- re2c:yych:conversion = 1;
- re2c:labelprefix = scan;
-
- DIGIT = [0-9] ;
- OCT = "0" DIGIT+ ;
- INT = "0" | ( [1-9] DIGIT* ) ;
- WS = [ \t]+ ;
-
- WS { continue; }
- OCT { res = push_num(t, p, 8); continue; }
- INT { res = push_num(t, p, 10); continue; }
- "+" { res = stack_add(); continue; }
- "-" { res = stack_sub(); continue; }
- "\000" { res = depth == 1 ? 0 : 2; break; }
- [^] { res = 1; continue; }
-*/
- }
- return res;
-}
-
-int main(int argc, char **argv)
-{
- if (argc > 1)
- {
- char *inp;
- int res = 0, argp = 0, len;
-
- while(!res && ++argp < argc)
- {
- inp = strdup(argv[argp]);
- len = strlen(inp);
- if (inp[0] == '\"' && inp[len-1] == '\"')
- {
- inp[len - 1] = '\0';
- ++inp;
- }
- res = scan(inp);
- free(inp);
- }
- switch(res)
- {
- case 0:
- printf("Result: %d\n", stack[0]);
- return 0;
- case 1:
- fprintf(stderr, "Illegal character in input.\n");
- return 1;
- case 2:
- fprintf(stderr, "Premature end of input.\n");
- return 2;
- case 3:
- fprintf(stderr, "Stack overflow.\n");
- return 3;
- case 4:
- fprintf(stderr, "Stack underflow.\n");
- return 4;
- }
- }
- else
- {
- fprintf(stderr, "%s <expr>\n", argv[0]);
- return 0;
- }
-}
diff --git a/examples/001_upn_calculator/windows/HiResTimer.h b/examples/001_upn_calculator/windows/HiResTimer.h
deleted file mode 100644
index 585a1d98..00000000
--- a/examples/001_upn_calculator/windows/HiResTimer.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * @file HiResTimer.h
- * @brief
- * @note
- */
-
-#ifndef _HI_RES_TIMER_H_
-#define _HI_RES_TIMER_H_
-
-#ifdef WIN32
-#include <windows.h> // probably already done in stdafx.h
-static LARGE_INTEGER start;
-static LARGE_INTEGER stop;
-static LARGE_INTEGER freq;
-static _int64 elapsedCounts;
-static double elapsedMillis;
-static double elapsedMicros;
-static HANDLE processHandle;
-static DWORD prevPriorityClass;
-
-void HrtInit()
-{
- processHandle = GetCurrentProcess();
- prevPriorityClass = GetPriorityClass(processHandle);
- QueryPerformanceFrequency(&freq);
-}
-
-void HrtStart()
-{
- QueryPerformanceCounter(&start);
-}
-
-void HrtSetPriority(DWORD priority)
-{
- int flag;
- prevPriorityClass = GetPriorityClass(processHandle);
- flag = SetPriorityClass(processHandle, priority);
-}
-
-void HrtResetPriority(void)
-{
- int flag = SetPriorityClass(processHandle, prevPriorityClass);
-}
-
-double HrtElapsedMillis()
-{
- QueryPerformanceCounter(&stop);
- elapsedCounts = (stop.QuadPart - start.QuadPart);
- elapsedMillis = ((elapsedCounts * 1000.0) / freq.QuadPart);
- return elapsedMillis;
-}
-
-#endif
-#endif \ No newline at end of file
diff --git a/examples/001_upn_calculator/windows/main.b.re b/examples/001_upn_calculator/windows/main.b.re
deleted file mode 100644
index 1600b83d..00000000
--- a/examples/001_upn_calculator/windows/main.b.re
+++ /dev/null
@@ -1,291 +0,0 @@
-/* re2c lesson 001_upn_calculator, main.b.re, (c) M. Boerger, L. Allan 2006 */
-/*!ignore:re2c
-
-- basic interface for string reading
-
- . We define the macros YYCTYPE, YYCURSOR, YYLIMIT, YYMARKER, YYFILL
- . YYCTYPE is the type re2c operates on or in other words the type that
- it generates code for. While it is not a big difference when we were
- using 'unsigned char' here we would need to run re2c with option -w
- to fully support types with sieof() > 1.
- . YYCURSOR is used internally and holds the current scanner position. In
- expression handlers, the code blocks after re2c expressions, this can be
- used to identify the end of the token.
- . YYMARKER is not always being used so we set an initial value to avoid
- a compiler warning.
- . YYLIMIT stores the end of the input. Unfortunatley we have to use strlen()
- in this lesson. In the next example we see one way to get rid of it.
- . We use a 'for(;;)'-loop around the scanner block. We could have used a
- 'while(1)'-loop instead but some compilers generate a warning for it.
- . To make the output more readable we use 're2c:indent:top' scanner
- configuration that configures re2c to prepend a single tab (the default)
- to the beginning of each output line.
- . The following lines are expressions and for each expression we output the
- token name and continue the scanner loop.
- . The second last token detects the end of our input, the terminating zero in
- our input string. In other scanners detecting the end of input may vary.
- For example binary code may contain \0 as valid input.
- . The last expression accepts any input character. It tells re2c to accept
- the opposit of the empty range. This includes numbers and our tokens but
- as re2c goes from top to botton when evaluating the expressions this is no
- problem.
- . The first three rules show that re2c actually prioritizes the expressions
- from top to bottom. Octal number require a starting "0" and the actual
- number. Normal numbers start with a digit greater 0. And zero is finally a
- special case. A single "0" is detected by the last rule of this set. And
- valid ocal number is already being detected by the first rule. This even
- includes multi "0" sequences that in octal notation also means zero.
- Another way would be to only use two rules:
- "0" [0-9]+
- "0" | ( [1-9] [0-9]* )
- A full description of re2c rule syntax can be found in the manual.
-*/
-
-#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers
-
-#if _MSC_VER > 1200
-#define WINVER 0x0400 // Change this to the appropriate value to target Windows 98 and Windows 2000 or later.
-#endif // Prevents warning from vc7.1 complaining about redefinition
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-#include <string.h>
-#include <windows.h>
-#include "HiResTimer.h"
-
-static char gTestBuf[1000] = "";
-
-/**
- * @brief Setup HiResolution timer and confirm it is working ok
- */
-void InitHiResTimerAndVerifyWorking(void)
-{
- double elapsed;
- HrtInit();
- HrtSetPriority(ABOVE_NORMAL_PRIORITY_CLASS);
- HrtStart();
- Sleep(100);
- elapsed = HrtElapsedMillis();
- if ((elapsed < 90) || (elapsed > 110)) {
- printf("HiResTimer misbehaving: %f\n", elapsed);
- exit(2);
- }
-}
-
-/**
- * @brief Scan for numbers in different formats
- */
-int ScanFullSpeed(char *pzStrToScan, size_t lenStrToScan)
-{
- unsigned char *pzCurScanPos = (unsigned char*)pzStrToScan;
- unsigned char *pzBacktrackInfo = 0;
-#define YYCTYPE unsigned char
-#define YYCURSOR pzCurScanPos
-#define YYLIMIT (pzStrToScan+lenStrToScan)
-#define YYMARKER pzBacktrackInfo
-#define YYFILL(n)
-
- for(;;)
- {
-/*!re2c
- re2c:indent:top = 2;
- [1-9][0-9]* { continue; }
- [0][0-9]+ { continue; }
- "+" { continue; }
- "-" { continue; }
- "\000" { return 0; }
- [^] { return 1; }
-*/
- }
-}
-
-/**
- * @brief Scan for numbers in different formats
- */
-int scan(char *pzStrToScan, size_t lenStrToScan)
-{
- unsigned char *pzCurScanPos = (unsigned char*)pzStrToScan;
- unsigned char *pzBacktrackInfo = 0;
-#define YYCTYPE unsigned char
-#define YYCURSOR pzCurScanPos
-#define YYLIMIT (pzStrToScan+lenStrToScan)
-#define YYMARKER pzBacktrackInfo
-#define YYFILL(n)
-
- for(;;)
- {
-/*!re2c
- re2c:indent:top = 2;
- [1-9][0-9]* { printf("Num\n"); strcat(gTestBuf, "Num "); continue; }
- [0][0-9]+ { printf("Oct\n"); strcat(gTestBuf, "Oct "); continue; }
- "+" { printf("+\n"); strcat(gTestBuf, "+ "); continue; }
- "-" { printf("-\n"); strcat(gTestBuf, "- "); continue; }
- "\000" { printf("EOF\n"); return 0; }
- [^] { printf("ERR\n"); strcat(gTestBuf, "ERR "); return 1; }
-*/
- }
-}
-
-/**
- * @brief Show high resolution elapsed time for 10,000 and 100,000 loops
- */
-void DoTimingsOfStrnCmp(void)
-{
- char testStr[] = "Hello, world";
- int totLoops = 10000;
- int totFoundCount = 0;
- int foundCount = 0;
- int loop;
- int rc;
- const int progressAnd = 0xFFFFF000;
- double elapsed;
-
- printf("\n\n%d loops with * every %d loops to confirm\n", totLoops, ((~progressAnd) + 1));
-
- HrtStart();
- for (loop = 0; loop < totLoops; ++loop) {
- foundCount = 0;
- rc = strncmp(testStr, "Hello", 5);
- if (rc == 0) {
- foundCount++;
- totFoundCount++;
- if ((totFoundCount & progressAnd) == totFoundCount) {
- printf("*");
- }
- }
- }
- elapsed = HrtElapsedMillis();
- printf("\nstrncmp Elapsed for %7d loops milliseconds: %7.3f\n", totLoops, elapsed);
- printf("FoundCount each loop: %d\n", foundCount);
- printf("TotalFoundCount for all loops: %d\n", totFoundCount);
-
- totLoops = 100000;
- HrtStart();
- for (loop = 0; loop < totLoops; ++loop) {
- foundCount = 0;
- rc = strncmp(testStr, "Hello", 5);
- if (rc == 0) {
- foundCount++;
- totFoundCount++;
- if ((totFoundCount & progressAnd) == totFoundCount) {
- printf("*");
- }
- }
- }
- elapsed = HrtElapsedMillis();
- printf("\nstrncmp Elapsed for %7d loops milliseconds: %7.3f\n", totLoops, elapsed);
- printf("FoundCount each loop: %d\n", foundCount);
- printf("TotalFoundCount for all loops: %d\n", totFoundCount);
-}
-
-/**
- * @brief Show high resolution elapsed time for 10,000 and 100,000 loops
- */
-void DoTimingsOfRe2c(void)
-{
- char* testStrings[] = { "123", "1234", "+123", "01234", "-04321", "abc", "123abc" };
- const int testCount = sizeof(testStrings) / sizeof(testStrings[0]);
- int i;
- int totLoops = 10000 / testCount; // Doing more than one per loop
- int totFoundCount = 0;
- int foundCount = 0;
- int loop;
- int rc;
- const int progressAnd = 0xFFFFF000;
- double elapsed;
-
- printf("\n\n%d loops with * every %d loops to confirm\n", totLoops, ((~progressAnd) + 1));
-
- HrtStart();
- for (loop = 0; loop < totLoops; ++loop) {
- foundCount = 0;
- strcpy(gTestBuf, "");
- for (i = 0; i < testCount; ++i) {
- char* pzCurStr = testStrings[i];
- size_t len = strlen(pzCurStr); // Calc of strlen slows things down ... std::string?
- rc = ScanFullSpeed(pzCurStr, len);
- if (rc == 0) {
- foundCount++;
- totFoundCount++;
- if ((totFoundCount & progressAnd) == totFoundCount) {
- printf("*");
- }
- }
- }
- }
- elapsed = HrtElapsedMillis();
- printf("\nRe2c Elapsed for %7d loops milliseconds: %7.3f\n", totLoops, elapsed);
- printf("FoundCount each loop: %d\n", foundCount);
- printf("TotalFoundCount for all loops: %d\n", totFoundCount);
-
- totLoops = 100000 / testCount;
- printf("\n\n%d loops with * every %d loops to confirm\n", totLoops, ((~progressAnd) + 1));
-
- HrtStart();
- for (loop = 0; loop < totLoops; ++loop) {
- foundCount = 0;
- strcpy(gTestBuf, "");
- for (i = 0; i < testCount; ++i) {
- char* pzCurStr = testStrings[i];
- size_t len = strlen(pzCurStr); // Calc of strlen slows things down ... std::string?
- rc = ScanFullSpeed(pzCurStr, len);
- if (rc == 0) {
- foundCount++;
- totFoundCount++;
- if ((totFoundCount & progressAnd) == totFoundCount) {
- printf("*");
- }
- }
- }
- }
- elapsed = HrtElapsedMillis();
- printf("\nRe2c Elapsed for %7d loops milliseconds: %7.3f\n", totLoops, elapsed);
- printf("FoundCount each loop: %d\n", foundCount);
- printf("TotalFoundCount for all loops: %d\n", totFoundCount);
-}
-
-/**
- * @brief Entry point for console app
- */
-int main(int argc, char **argv)
-{
- char testStr_A[] = "123";
- char* testStr_B = "456";
- char* testStrings[] = { "123", "1234", "+123", "01234", "-04321", "abc", "123abc" };
- const int testCount = sizeof(testStrings) / sizeof(testStrings[0]);
- int i;
-
- int rc = scan(testStr_A, 3);
- printf("rc: %d\n", rc);
-
- rc = scan(testStr_B, 3);
- printf("rc: %d\n", rc);
-
- rc = scan("789", 3);
- printf("rc: %d\n", rc);
-
- strcpy(gTestBuf, "");
- for (i = 0; i < testCount; ++i) {
- char* pzCurStr = testStrings[i];
- size_t len = strlen(pzCurStr);
- scan(pzCurStr, len);
- }
- printf("%s\n", gTestBuf);
- rc = strcmp(gTestBuf, "Num Num + Num Oct - Oct ERR Num ERR ");
- if (rc == 0) {
- printf("Success\n");
- }
- else {
- printf("Failure\n");
- }
- assert(0 == rc); // Doesn't work with Release build
-
- InitHiResTimerAndVerifyWorking();
-
- DoTimingsOfStrnCmp();
-
- DoTimingsOfRe2c();
-
- return 0;
-}
diff --git a/examples/002_strip_comments/README b/examples/002_strip_comments/README
deleted file mode 100644
index 353d6690..00000000
--- a/examples/002_strip_comments/README
+++ /dev/null
@@ -1,21 +0,0 @@
-re2c lesson 002_strip_comments, (c) M. Boerger 2006
-
-In this lesson you will learn how to use multiple scanner blocks and how to
-read the input from a file instead of a zero terminated string. In the end you
-will have a scanner that filters comments out of c source files but keeps re2c
-comments.
-
-The first scanner can be generated with:
-
- re2c -s -o t.c strip_001.s.re
-
-In the second step we will learn about YYMARKER that stores backtracking
-information.
-
- re2c -s -0 t.c strip_002.b.re
-
-The third step brings trailing contexts that are stored in YYCTXMARKER. We also
-change to use -b instead of -s option since the scanner gets more and more
-complex.
-
- re2c -b -0 t.c strip_002.b.re
diff --git a/examples/002_strip_comments/strip_001.s.re b/examples/002_strip_comments/strip_001.s.re
deleted file mode 100644
index 5525ae3c..00000000
--- a/examples/002_strip_comments/strip_001.s.re
+++ /dev/null
@@ -1,147 +0,0 @@
-/* re2c lesson 002_strip_comments, strip_001.s, (c) M. Boerger 2006 - 2007 */
-/*!ignore:re2c
-
-- basic interface for file reading
- . This scanner will read chunks of input from a file. The easiest way would
- be to read the whole file into a memory buffer and use that a zero
- terminated string.
- . Instead we want to read input chunks of a reasonable size as they are neede
- by the scanner. Thus we basically need YYFILL(n) to call fread(n).
- . Before we provide a buffer that we constantly reallocate we instead use
- one buffer that we get from the stack or global memory just once. When we
- reach the end of the buffer we simply move the beginning of our input
- that is somewhere in our buffer to the beginning of our buffer and then
- append the next chunk of input to the correct end inside our buffer.
- . As re2c scanners might read more than one character we need to ensure our
- buffer is long enough. We can use re2c to inform about the maximum size
- by placing a "!max:re2c" comment somewhere. This gets translated to a
- "#define YYMAXFILL <n>" line where <n> is the maximum length value. This
- define can be used as precompiler condition.
-
-- multiple scanner blocks
- . We use a main scanner block that outputs every input character unless the
- input is two /s or a / followed by a *. In the latter two cases we switch
- to a special c++ comment and a comment block respectively.
- . Both special blocks simply detect their end ignore any other character.
- . The c++ block is a bit special. Since the terminating new line needs to
- be output and that can either be a new line or a carridge return followed
- by a new line.
- . In order to ensure that we do not read behind our buffer we reset the token
- pointer to the cursor on every scanner run.
-*/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
-/*!max:re2c */
-#define BSIZE 128
-
-#if BSIZE < YYMAXFILL
-# error BSIZE must be greater YYMAXFILL
-#endif
-
-#define YYCTYPE unsigned char
-#define YYCURSOR s.cur
-#define YYLIMIT s.lim
-#define YYFILL(n) { if ((res = fill(&s, n)) >= 0) break; }
-
-typedef struct Scanner
-{
- FILE *fp;
- unsigned char *cur, *tok, *lim, *eof;
- unsigned char buffer[BSIZE];
-} Scanner;
-
-int fill(Scanner *s, int len)
-{
- if (!len)
- {
- s->cur = s->tok = s->lim = s->buffer;
- s->eof = 0;
- }
- if (!s->eof)
- {
- int got, cnt = s->tok - s->buffer;
-
- if (cnt > 0)
- {
- memcpy(s->buffer, s->tok, s->lim - s->tok);
- s->tok -= cnt;
- s->cur -= cnt;
- s->lim -= cnt;
- }
- cnt = BSIZE - cnt;
- if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt)
- {
- s->eof = &s->lim[got];
- }
- s->lim += got;
- }
- else if (s->cur + len > s->eof)
- {
- return 0; /* not enough input data */
- }
- return -1;
-}
-
-int scan(FILE *fp)
-{
- int res = 0;
- Scanner s;
-
- if (!fp)
- {
- return 1; /* no file was opened */
- }
-
- s.fp = fp;
-
- fill(&s, 0);
-
- for(;;)
- {
- s.tok = s.cur;
-/*!re2c
- re2c:indent:top = 2;
-
- NL = "\r"? "\n" ;
- ANY = [^] ;
-
- "/" "/" { goto cppcomment; }
- "/" "*" { goto comment; }
- ANY { fputc(*s.tok, stdout); continue; }
-*/
-comment:
- s.tok = s.cur;
-/*!re2c
- "*" "/" { continue; }
- ANY { goto comment; }
-*/
-cppcomment:
- s.tok = s.cur;
-/*!re2c
- NL { fwrite(s.tok, 1, s.cur - s.tok, stdout); continue; }
- ANY { goto cppcomment; }
-*/
- }
-
- if (fp != stdin)
- {
- fclose(fp); /* close only if not stdin */
- }
- return res; /* return result */
-}
-
-int main(int argc, char **argv)
-{
- if (argc > 1)
- {
- return scan(!strcmp(argv[1], "-") ? stdin : fopen(argv[1], "r"));
- }
- else
- {
- fprintf(stderr, "%s <expr>\n", argv[0]);
- return 1;
- }
-}
diff --git a/examples/002_strip_comments/strip_002.s.re b/examples/002_strip_comments/strip_002.s.re
deleted file mode 100644
index 3c2a6cf8..00000000
--- a/examples/002_strip_comments/strip_002.s.re
+++ /dev/null
@@ -1,162 +0,0 @@
-/* re2c lesson 002_strip_comments, strip_002.s, (c) M. Boerger 2006 - 2007 */
-/*!ignore:re2c
-
-- complexity
- . When a comment is preceeded by a new line and followed by whitespace and a
- new line then we can drop the trailing whitespace and new line.
- . Additional to what we strip out already what about two consequtive comment
- blocks? When two comments are only separated by whitespace we want to drop
- both. In other words when detecting the end of a comment block we need to
- check whether it is followed by only whitespace and the a new comment in
- which case we continure ignoring the input. If it is followed only by white
- space and a new line we strip out the new white space and new line. In any
- other case we start outputting all that follows.
- But we cannot simply use the following two rules:
- "*" "/" WS* "/" "*" { continue; }
- "*" "/" WS* NL { continue; }
- The main problem is that WS* can get bigger then our buffer, so we need a
- new scanner.
- . Meanwhile our scanner gets a bit more complex and we have to add two more
- things. First the scanner code now uses a YYMARKER to store backtracking
- information.
-
-- backtracking information
- . When the scanner has two rules that can have the same beginning but a
- different ending then it needs to store the position that identifies the
- common part. This is called backtracking. As mentioned above re2c expects
- you to provide compiler define YYMARKER and a pointer variable.
- . When shifting buffer contents as done in our fill function the marker needs
- to be corrected, too.
-
-*/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
-/*!max:re2c */
-#define BSIZE 128
-
-#if BSIZE < YYMAXFILL
-# error BSIZE must be greater YYMAXFILL
-#endif
-
-#define YYCTYPE unsigned char
-#define YYCURSOR s.cur
-#define YYLIMIT s.lim
-#define YYMARKER s.mrk
-#define YYFILL(n) { if ((res = fill(&s, n)) >= 0) break; }
-
-typedef struct Scanner
-{
- FILE *fp;
- unsigned char *cur, *tok, *lim, *eof, *mrk;
- unsigned char buffer[BSIZE];
-} Scanner;
-
-int fill(Scanner *s, int len)
-{
- if (!len)
- {
- s->cur = s->tok = s->lim = s->mrk = s->buffer;
- s->eof = 0;
- }
- if (!s->eof)
- {
- int got, cnt = s->tok - s->buffer;
-
- if (cnt > 0)
- {
- memcpy(s->buffer, s->tok, s->lim - s->tok);
- s->tok -= cnt;
- s->cur -= cnt;
- s->lim -= cnt;
- s->mrk -= cnt;
- }
- cnt = BSIZE - cnt;
- if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt)
- {
- s->eof = &s->lim[got];
- }
- s->lim += got;
- }
- else if (s->cur + len > s->eof)
- {
- return 0; /* not enough input data */
- }
- return -1;
-}
-
-void echo(Scanner *s)
-{
- fwrite(s->tok, 1, s->cur - s->tok, stdout);
-}
-
-int scan(FILE *fp)
-{
- int res = 0;
- Scanner s;
-
- if (!fp)
- {
- return 1; /* no file was opened */
- }
-
- s.fp = fp;
-
- fill(&s, 0);
-
- for(;;)
- {
- s.tok = s.cur;
-/*!re2c
- re2c:indent:top = 2;
-
- NL = "\r"? "\n" ;
- WS = [\r\n\t ] ;
- ANY = [^] ;
-
- "/" "/" { goto cppcomment; }
- "/" "*" { goto comment; }
- ANY { fputc(*s.tok, stdout); continue; }
-*/
-comment:
- s.tok = s.cur;
-/*!re2c
- "*" "/" { goto commentws; }
- ANY { goto comment; }
-*/
-commentws:
- s.tok = s.cur;
-/*!re2c
- NL { echo(&s); continue; }
- WS { goto commentws; }
- ANY { echo(&s); continue; }
-*/
-cppcomment:
- s.tok = s.cur;
-/*!re2c
- NL { echo(&s); continue; }
- ANY { goto cppcomment; }
-*/
- }
-
- if (fp != stdin)
- {
- fclose(fp); /* close only if not stdin */
- }
- return res; /* return result */
-}
-
-int main(int argc, char **argv)
-{
- if (argc > 1)
- {
- return scan(!strcmp(argv[1], "-") ? stdin : fopen(argv[1], "r"));
- }
- else
- {
- fprintf(stderr, "%s <expr>\n", argv[0]);
- return 1;
- }
-}
diff --git a/examples/002_strip_comments/strip_003.b.re b/examples/002_strip_comments/strip_003.b.re
deleted file mode 100644
index a7b1a5c7..00000000
--- a/examples/002_strip_comments/strip_003.b.re
+++ /dev/null
@@ -1,179 +0,0 @@
-/* re2c lesson 002_strip_comments, strip_003.b, (c) M. Boerger 2006 - 2007 */
-/*!ignore:re2c
-
-- more complexity
- . Right now we strip out trailing white space and new lines after a comment
- block. This can be a problem when the comment block was not preceeded by
- a new line.
- . The solution is to use trailing contexts.
-
-- trailing contexts
- . Re2c allows to check for a portion of input and only recognize it when it
- is followed by another portion. This is called a trailing context.
- . The trailing context is not part of the identified input. That means that
- it follows exactly at the cursor. A consequence is that the scanner has
- already read more input and on the next run you need to restore begining
- of input, in our case s.tok, from the cursor, here s.cur, rather then
- restoring to the beginning of the buffer. This way the scanner can reuse
- the portion it has already read.
- . The position of the trailing context is stored in YYCTXMARKER for which
- a pointer variable needs to be provided.
- . As with YYMARKER the corrsponding variable needs to be corrected if we
- shift in some buffer.
- . Still this is not all we need to solve the problem. What is left is that
- the information whether we detected a trailing context was detected has to
- be stored somewhere. This is done by the new variable nlcomment.
-
-- formatting
- . Until now we only used single line expression code and we always had the
- opening { on the same line as the rule itself. If we have multiline rule
- code and care for formatting we can no longer rely on re2c. Now we have
- to indent the rule code ourself. Also we need to take care of the opening
- {. If we keep it on the same line as the rule then re2c will indent it
- correctly and the emitted #line informations will be correct. If we place
- it on the next line then the #line directive will also point to that line
- and not to the rule.
-*/
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
-/*!max:re2c */
-#define BSIZE 128
-
-#if BSIZE < YYMAXFILL
-# error BSIZE must be greater YYMAXFILL
-#endif
-
-#define YYCTYPE unsigned char
-#define YYCURSOR s.cur
-#define YYLIMIT s.lim
-#define YYMARKER s.mrk
-#define YYCTXMARKER s.ctx
-#define YYFILL(n) { if ((res = fill(&s, n)) >= 0) break; }
-
-typedef struct Scanner
-{
- FILE *fp;
- unsigned char *cur, *tok, *lim, *eof, *ctx, *mrk;
- unsigned char buffer[BSIZE];
-} Scanner;
-
-int fill(Scanner *s, int len)
-{
- if (!len)
- {
- s->cur = s->tok = s->lim = s->mrk = s->buffer;
- s->eof = 0;
- }
- if (!s->eof)
- {
- int got, cnt = s->tok - s->buffer;
-
- if (cnt > 0)
- {
- memcpy(s->buffer, s->tok, s->lim - s->tok);
- s->tok -= cnt;
- s->cur -= cnt;
- s->lim -= cnt;
- s->mrk -= cnt;
- s->ctx -= cnt;
- }
- cnt = BSIZE - cnt;
- if ((got = fread(s->lim, 1, cnt, s->fp)) != cnt)
- {
- s->eof = &s->lim[got];
- }
- s->lim += got;
- }
- else if (s->cur + len > s->eof)
- {
- return 0; /* not enough input data */
- }
- return -1;
-}
-
-void echo(Scanner *s)
-{
- fwrite(s->tok, 1, s->cur - s->tok, stdout);
-}
-
-int scan(FILE *fp)
-{
- int res = 0;
- int nlcomment = 0;
- Scanner s;
-
- if (!fp)
- {
- return 1; /* no file was opened */
- }
-
- s.fp = fp;
-
- fill(&s, 0);
-
- for(;;)
- {
- s.tok = s.cur;
-/*!re2c
- re2c:indent:top = 2;
-
- NL = "\r"? "\n" ;
- WS = [\r\n\t ] ;
- ANY = [^] ;
-
- "/" "/" { goto cppcomment; }
- NL / "/""*" { echo(&s); nlcomment = 1; continue; }
- "/" "*" { goto comment; }
- ANY { fputc(*s.tok, stdout); continue; }
-*/
-comment:
- s.tok = s.cur;
-/*!re2c
- "*" "/" { goto commentws; }
- ANY { goto comment; }
-*/
-commentws:
- s.tok = s.cur;
-/*!re2c
- NL? "/" "*" { goto comment; }
- NL {
- if (!nlcomment)
- {
- echo(&s);
- }
- nlcomment = 0;
- continue;
- }
- WS { goto commentws; }
- ANY { echo(&s); nlcomment = 0; continue; }
-*/
-cppcomment:
- s.tok = s.cur;
-/*!re2c
- NL { echo(&s); continue; }
- ANY { goto cppcomment; }
-*/
- }
-
- if (fp != stdin)
- {
- fclose(fp); /* close only if not stdin */
- }
- return res; /* return result */
-}
-
-int main(int argc, char **argv)
-{
- if (argc > 1)
- {
- return scan(!strcmp(argv[1], "-") ? stdin : fopen(argv[1], "r"));
- }
- else
- {
- fprintf(stderr, "%s <expr>\n", argv[0]);
- return 1;
- }
-}
diff --git a/examples/01_recognizing_integers.i.c b/examples/01_recognizing_integers.i.c
new file mode 100644
index 00000000..84e3c9e8
--- /dev/null
+++ b/examples/01_recognizing_integers.i.c
@@ -0,0 +1,171 @@
+/* Generated by re2c */
+#include <stdio.h>
+
+enum num_t { ERR, BIN, OCT, DEC, HEX };
+
+static num_t lex(const char *YYCURSOR)
+{
+ const char *YYMARKER;
+
+{
+ char yych;
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0': goto yy4;
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ ++YYCURSOR;
+yy3:
+ { return ERR; }
+yy4:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy6;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7': goto yy8;
+ case 'B':
+ case 'b': goto yy11;
+ case 'X':
+ case 'x': goto yy12;
+ default: goto yy3;
+ }
+yy5:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy13;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy15;
+ default: goto yy3;
+ }
+yy6:
+ ++YYCURSOR;
+ { return OCT; }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy6;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7': goto yy8;
+ default: goto yy10;
+ }
+yy10:
+ YYCURSOR = YYMARKER;
+ goto yy3;
+yy11:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy10;
+ goto yy18;
+yy12:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy10;
+ goto yy20;
+yy13:
+ ++YYCURSOR;
+ { return DEC; }
+yy15:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy13;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy15;
+ default: goto yy10;
+ }
+yy17:
+ yych = *++YYCURSOR;
+yy18:
+ switch (yych) {
+ case 0x00: goto yy21;
+ case '0':
+ case '1': goto yy17;
+ default: goto yy10;
+ }
+yy19:
+ yych = *++YYCURSOR;
+yy20:
+ switch (yych) {
+ case 0x00: goto yy23;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy19;
+ default: goto yy10;
+ }
+yy21:
+ ++YYCURSOR;
+ { return BIN; }
+yy23:
+ ++YYCURSOR;
+ { return HEX; }
+}
+
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ switch (lex(argv[i])) {
+ case ERR: printf("error\n"); break;
+ case BIN: printf("binary\n"); break;
+ case OCT: printf("octal\n"); break;
+ case DEC: printf("decimal\n"); break;
+ case HEX: printf("hexadecimal\n"); break;
+ }
+ }
+ return 0;
+}
diff --git a/examples/01_recognizing_integers.i.re b/examples/01_recognizing_integers.i.re
new file mode 100644
index 00000000..47c1320a
--- /dev/null
+++ b/examples/01_recognizing_integers.i.re
@@ -0,0 +1,38 @@
+#include <stdio.h>
+
+enum num_t { ERR, BIN, OCT, DEC, HEX };
+
+static num_t lex(const char *YYCURSOR)
+{
+ const char *YYMARKER;
+ /*!re2c
+ re2c:define:YYCTYPE = char;
+ re2c:yyfill:enable = 0;
+
+ end = "\x00";
+ bin = '0b' [01]+;
+ oct = "0" [0-7]*;
+ dec = [1-9][0-9]*;
+ hex = '0x' [0-9a-fA-F]+;
+
+ * { return ERR; }
+ bin end { return BIN; }
+ oct end { return OCT; }
+ dec end { return DEC; }
+ hex end { return HEX; }
+ */
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ switch (lex(argv[i])) {
+ case ERR: printf("error\n"); break;
+ case BIN: printf("binary\n"); break;
+ case OCT: printf("octal\n"); break;
+ case DEC: printf("decimal\n"); break;
+ case HEX: printf("hexadecimal\n"); break;
+ }
+ }
+ return 0;
+}
diff --git a/examples/02_recognizing_strings.i.c b/examples/02_recognizing_strings.i.c
new file mode 100644
index 00000000..77673986
--- /dev/null
+++ b/examples/02_recognizing_strings.i.c
@@ -0,0 +1,72 @@
+/* Generated by re2c */
+#include <stdio.h>
+#include <string.h>
+
+#define YYMAXFILL 1
+
+
+struct input_t {
+ size_t len;
+ char *str;
+
+ input_t(const char *s)
+ : len(strlen(s))
+ , str(new char[len + YYMAXFILL])
+ {
+ memcpy(str, s, len);
+ memset(str + len, 'a', YYMAXFILL);
+ }
+ ~input_t()
+ {
+ delete[]str;
+ }
+};
+
+static bool lex(const input_t & input)
+{
+ const char *YYCURSOR = input.str;
+ const char *const YYLIMIT = input.str + input.len + YYMAXFILL;
+
+{
+ char yych;
+ if (YYLIMIT <= YYCURSOR) return false;
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '"': goto yy4;
+ case '\'': goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ ++YYCURSOR;
+ { return false; }
+yy4:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) return false;
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '"': goto yy8;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) return false;
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '\'': goto yy8;
+ default: goto yy6;
+ }
+yy8:
+ ++YYCURSOR;
+ { return YYLIMIT - YYCURSOR == YYMAXFILL; }
+}
+
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ input_t arg(argv[i]);
+ printf("%s: %s\n", lex(arg) ? "str" : "err", argv[i]);
+ }
+ return 0;
+}
diff --git a/examples/02_recognizing_strings.i.re b/examples/02_recognizing_strings.i.re
new file mode 100644
index 00000000..ec9d6830
--- /dev/null
+++ b/examples/02_recognizing_strings.i.re
@@ -0,0 +1,47 @@
+#include <stdio.h>
+#include <string.h>
+
+/*!max:re2c*/
+
+struct input_t {
+ size_t len;
+ char *str;
+
+ input_t(const char *s)
+ : len(strlen(s))
+ , str(new char[len + YYMAXFILL])
+ {
+ memcpy(str, s, len);
+ memset(str + len, 'a', YYMAXFILL);
+ }
+ ~input_t()
+ {
+ delete[]str;
+ }
+};
+
+static bool lex(const input_t & input)
+{
+ const char *YYCURSOR = input.str;
+ const char *const YYLIMIT = input.str + input.len + YYMAXFILL;
+ /*!re2c
+ re2c:define:YYCTYPE = char;
+ re2c:define:YYFILL = "return false;";
+ re2c:define:YYFILL:naked = 1;
+
+ sstr = "'" [^']* "'";
+ dstr = "\"" [^"]* "\"";
+
+ * { return false; }
+ (sstr | dstr) { return YYLIMIT - YYCURSOR == YYMAXFILL; }
+ */
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ input_t arg(argv[i]);
+ printf("%s: %s\n", lex(arg) ? "str" : "err", argv[i]);
+ }
+ return 0;
+}
diff --git a/examples/03_arbitrary_large_input.i.c b/examples/03_arbitrary_large_input.i.c
new file mode 100644
index 00000000..cd726244
--- /dev/null
+++ b/examples/03_arbitrary_large_input.i.c
@@ -0,0 +1,121 @@
+/* Generated by re2c */
+#include <stdio.h>
+#include <string.h>
+
+#define YYMAXFILL 1
+
+static const size_t SIZE = 16;
+
+struct input_t {
+ char buf[SIZE + YYMAXFILL];
+ char *lim;
+ char *cur;
+ char *tok;
+ bool eof;
+
+ input_t()
+ : buf()
+ , lim(buf + SIZE)
+ , cur(lim)
+ , tok(lim)
+ , eof(false)
+ {}
+ bool fill(size_t need)
+ {
+ if (eof) {
+ return false;
+ }
+ const size_t free = tok - buf;
+ if (free < need) {
+ return false;
+ }
+ memmove(buf, tok, lim - tok);
+ lim -= free;
+ cur -= free;
+ tok -= free;
+ lim += fread(lim, 1, free, stdin);
+ if (lim < buf + SIZE) {
+ eof = true;
+ memset(lim, 0, YYMAXFILL);
+ lim += YYMAXFILL;
+ }
+ return true;
+ }
+};
+
+static bool lex(input_t & in, unsigned int &count)
+{
+ for (count = 0;;) {
+ in.tok = in.cur;
+
+{
+ char yych;
+ if (in.lim <= in.cur) if (!in.fill(1)) return false;
+ yych = *in.cur;
+ switch (yych) {
+ case 0x00: goto yy2;
+ case '\n': goto yy6;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy9;
+ default: goto yy4;
+ }
+yy2:
+ ++in.cur;
+ { return YYMAXFILL == in.lim - in.tok; }
+yy4:
+ ++in.cur;
+ { return false; }
+yy6:
+ ++in.cur;
+ if (in.lim <= in.cur) if (!in.fill(1)) return false;
+ yych = *in.cur;
+ switch (yych) {
+ case '\n': goto yy6;
+ default: goto yy8;
+ }
+yy8:
+ { continue; }
+yy9:
+ ++in.cur;
+ if (in.lim <= in.cur) if (!in.fill(1)) return false;
+ yych = *in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy9;
+ default: goto yy11;
+ }
+yy11:
+ { ++count; continue; }
+}
+
+ }
+}
+
+int main()
+{
+ input_t in;
+ unsigned int count;
+ if (lex(in, count)) {
+ printf("glorious %u numbers!\n", count);
+ } else {
+ printf("error\n");
+ }
+
+ return 0;
+}
diff --git a/examples/03_arbitrary_large_input.i.re b/examples/03_arbitrary_large_input.i.re
new file mode 100644
index 00000000..506ca41f
--- /dev/null
+++ b/examples/03_arbitrary_large_input.i.re
@@ -0,0 +1,78 @@
+#include <stdio.h>
+#include <string.h>
+
+/*!max:re2c*/
+static const size_t SIZE = 16;
+
+struct input_t {
+ char buf[SIZE + YYMAXFILL];
+ char *lim;
+ char *cur;
+ char *tok;
+ bool eof;
+
+ input_t()
+ : buf()
+ , lim(buf + SIZE)
+ , cur(lim)
+ , tok(lim)
+ , eof(false)
+ {}
+ bool fill(size_t need)
+ {
+ if (eof) {
+ return false;
+ }
+ const size_t free = tok - buf;
+ if (free < need) {
+ return false;
+ }
+ memmove(buf, tok, lim - tok);
+ lim -= free;
+ cur -= free;
+ tok -= free;
+ lim += fread(lim, 1, free, stdin);
+ if (lim < buf + SIZE) {
+ eof = true;
+ memset(lim, 0, YYMAXFILL);
+ lim += YYMAXFILL;
+ }
+ return true;
+ }
+};
+
+static bool lex(input_t & in, unsigned int &count)
+{
+ for (count = 0;;) {
+ in.tok = in.cur;
+ /*!re2c
+ re2c:define:YYCTYPE = char;
+ re2c:define:YYCURSOR = in.cur;
+ re2c:define:YYLIMIT = in.lim;
+ re2c:define:YYFILL = "if (!in.fill(@@)) return false;";
+ re2c:define:YYFILL:naked = 1;
+
+ end = "\x00";
+ wsp = [\n]+;
+ num = [0-9]+;
+
+ * { return false; }
+ end { return YYMAXFILL == in.lim - in.tok; }
+ wsp { continue; }
+ num { ++count; continue; }
+ */
+ }
+}
+
+int main()
+{
+ input_t in;
+ unsigned int count;
+ if (lex(in, count)) {
+ printf("glorious %u numbers!\n", count);
+ } else {
+ printf("error\n");
+ }
+
+ return 0;
+}
diff --git a/examples/04_parsing_integers_blocks.i.c b/examples/04_parsing_integers_blocks.i.c
new file mode 100644
index 00000000..c635aa32
--- /dev/null
+++ b/examples/04_parsing_integers_blocks.i.c
@@ -0,0 +1,251 @@
+/* Generated by re2c */
+#include <limits.h>
+#include <stdio.h>
+
+template<int base>
+static bool adddgt(unsigned long &u, unsigned int d)
+{
+ if (u > (ULONG_MAX - d) / base) {
+ return false;
+ }
+ u = u * base + d;
+ return true;
+}
+
+static bool lex(const char *s, unsigned long &u)
+{
+ const char *YYMARKER;
+ const char *YYCTXMARKER;
+ u = 0;
+
+
+
+
+{
+ char yych;
+ yych = *s;
+ switch (yych) {
+ case '0': goto yy4;
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ ++s;
+ { return false; }
+yy4:
+ yych = *(YYMARKER = ++s);
+ switch (yych) {
+ case 'B':
+ case 'b': goto yy8;
+ case 'X':
+ case 'x': goto yy10;
+ default: goto yy5;
+ }
+yy5:
+ { goto oct; }
+yy6:
+ ++s;
+ s -= 1;
+ { goto dec; }
+yy8:
+ yych = *++s;
+ switch (yych) {
+ case '0':
+ case '1': goto yy11;
+ default: goto yy9;
+ }
+yy9:
+ s = YYMARKER;
+ goto yy5;
+yy10:
+ yych = *++s;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy13;
+ default: goto yy9;
+ }
+yy11:
+ ++s;
+ s -= 1;
+ { goto bin; }
+yy13:
+ ++s;
+ s -= 1;
+ { goto hex; }
+}
+
+
+bin:
+
+{
+ char yych;
+ yych = *s;
+ switch (yych) {
+ case 0x00: goto yy17;
+ case '0':
+ case '1': goto yy21;
+ default: goto yy19;
+ }
+yy17:
+ ++s;
+ { return true; }
+yy19:
+ ++s;
+ { return false; }
+yy21:
+ ++s;
+ { if (!adddgt<2>(u, s[-1] - '0')) return false; goto bin; }
+}
+
+
+oct:
+
+{
+ char yych;
+ yych = *s;
+ switch (yych) {
+ case 0x00: goto yy25;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7': goto yy29;
+ default: goto yy27;
+ }
+yy25:
+ ++s;
+ { return true; }
+yy27:
+ ++s;
+ { return false; }
+yy29:
+ ++s;
+ { if (!adddgt<8>(u, s[-1] - '0')) return false; goto oct; }
+}
+
+
+dec:
+
+{
+ char yych;
+ yych = *s;
+ switch (yych) {
+ case 0x00: goto yy33;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy37;
+ default: goto yy35;
+ }
+yy33:
+ ++s;
+ { return true; }
+yy35:
+ ++s;
+ { return false; }
+yy37:
+ ++s;
+ { if (!adddgt<10>(u, s[-1] - '0')) return false; goto dec; }
+}
+
+
+hex:
+
+{
+ char yych;
+ yych = *s;
+ switch (yych) {
+ case 0x00: goto yy41;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy45;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F': goto yy47;
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy49;
+ default: goto yy43;
+ }
+yy41:
+ ++s;
+ { return true; }
+yy43:
+ ++s;
+ { return false; }
+yy45:
+ ++s;
+ { if (!adddgt<16>(u, s[-1] - '0')) return false; goto hex; }
+yy47:
+ ++s;
+ { if (!adddgt<16>(u, s[-1] - 'A' + 10)) return false; goto hex; }
+yy49:
+ ++s;
+ { if (!adddgt<16>(u, s[-1] - 'a' + 10)) return false; goto hex; }
+}
+
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ unsigned long u;
+ if (lex(argv[i], u)) {
+ printf("%lu\n", u);
+ } else {
+ printf("error\n");
+ }
+ }
+ return 0;
+}
+re2c: warning: line 32: rule matches empty string [-Wmatch-empty-string]
diff --git a/examples/04_parsing_integers_blocks.i.re b/examples/04_parsing_integers_blocks.i.re
new file mode 100644
index 00000000..20bf9de9
--- /dev/null
+++ b/examples/04_parsing_integers_blocks.i.re
@@ -0,0 +1,78 @@
+#include <limits.h>
+#include <stdio.h>
+
+template<int base>
+static bool adddgt(unsigned long &u, unsigned int d)
+{
+ if (u > (ULONG_MAX - d) / base) {
+ return false;
+ }
+ u = u * base + d;
+ return true;
+}
+
+static bool lex(const char *s, unsigned long &u)
+{
+ const char *YYMARKER;
+ const char *YYCTXMARKER;
+ u = 0;
+
+ /*!re2c
+ re2c:yyfill:enable = 0;
+ re2c:define:YYCTYPE = char;
+ re2c:define:YYCURSOR = s;
+
+ end = "\x00";
+ */
+
+ /*!re2c
+ * { return false; }
+ '0b' / [01] { goto bin; }
+ "0" { goto oct; }
+ "" / [1-9] { goto dec; }
+ '0x' / [0-9a-fA-F] { goto hex; }
+ */
+
+bin:
+ /*!re2c
+ * { return false; }
+ end { return true; }
+ [01] { if (!adddgt<2>(u, s[-1] - '0')) return false; goto bin; }
+ */
+
+oct:
+ /*!re2c
+ * { return false; }
+ end { return true; }
+ [0-7] { if (!adddgt<8>(u, s[-1] - '0')) return false; goto oct; }
+ */
+
+dec:
+ /*!re2c
+ * { return false; }
+ end { return true; }
+ [0-9] { if (!adddgt<10>(u, s[-1] - '0')) return false; goto dec; }
+ */
+
+hex:
+ /*!re2c
+ * { return false; }
+ end { return true; }
+ [0-9] { if (!adddgt<16>(u, s[-1] - '0')) return false; goto hex; }
+ [a-f] { if (!adddgt<16>(u, s[-1] - 'a' + 10)) return false; goto hex; }
+ [A-F] { if (!adddgt<16>(u, s[-1] - 'A' + 10)) return false; goto hex; }
+ */
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ unsigned long u;
+ if (lex(argv[i], u)) {
+ printf("%lu\n", u);
+ } else {
+ printf("error\n");
+ }
+ }
+ return 0;
+}
diff --git a/examples/05_parsing_integers_conditions.ci.c b/examples/05_parsing_integers_conditions.ci.c
new file mode 100644
index 00000000..177f295e
--- /dev/null
+++ b/examples/05_parsing_integers_conditions.ci.c
@@ -0,0 +1,251 @@
+/* Generated by re2c */
+#include <limits.h>
+#include <stdio.h>
+
+template<int base>
+static bool adddgt(unsigned long &u, unsigned int d)
+{
+ if (u > (ULONG_MAX - d) / base) {
+ return false;
+ }
+ u = u * base + d;
+ return true;
+}
+
+enum YYCONDTYPE {
+ yycinit,
+ yycbin,
+ yycdec,
+ yychex,
+ yycoct,
+};
+
+
+static bool lex(const char *s, unsigned long &u)
+{
+ const char *YYMARKER;
+ const char *YYCTXMARKER;
+ int c = yycinit;
+ u = 0;
+
+{
+ char yych;
+ switch (c) {
+ case yycinit: goto yyc_init;
+ case yycbin: goto yyc_bin;
+ case yycdec: goto yyc_dec;
+ case yychex: goto yyc_hex;
+ case yycoct: goto yyc_oct;
+ }
+/* *********************************** */
+yyc_init:
+ yych = *s;
+ switch (yych) {
+ case '0': goto yy5;
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy7;
+ default: goto yy3;
+ }
+yy3:
+ ++s;
+ { return false; }
+yy5:
+ yych = *(YYMARKER = ++s);
+ switch (yych) {
+ case 'B':
+ case 'b': goto yy9;
+ case 'X':
+ case 'x': goto yy11;
+ default: goto yy6;
+ }
+yy6:
+ c = yycoct;
+ goto yyc_oct;
+yy7:
+ ++s;
+ s -= 1;
+ c = yycdec;
+ goto yyc_dec;
+yy9:
+ yych = *++s;
+ switch (yych) {
+ case '0':
+ case '1': goto yy12;
+ default: goto yy10;
+ }
+yy10:
+ s = YYMARKER;
+ goto yy6;
+yy11:
+ yych = *++s;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy14;
+ default: goto yy10;
+ }
+yy12:
+ ++s;
+ s -= 1;
+ c = yycbin;
+ goto yyc_bin;
+yy14:
+ ++s;
+ s -= 1;
+ c = yychex;
+ goto yyc_hex;
+/* *********************************** */
+yyc_bin:
+ yych = *s;
+ switch (yych) {
+ case 0x00: goto yy18;
+ case '0':
+ case '1': goto yy22;
+ default: goto yy20;
+ }
+yy18:
+ ++s;
+ { return true; }
+yy20:
+ ++s;
+ { return false; }
+yy22:
+ ++s;
+ { if (!adddgt<2>(u, s[-1] - '0')) return false; goto yyc_bin; }
+/* *********************************** */
+yyc_dec:
+ yych = *s;
+ switch (yych) {
+ case 0x00: goto yy26;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy30;
+ default: goto yy28;
+ }
+yy26:
+ ++s;
+ { return true; }
+yy28:
+ ++s;
+ { return false; }
+yy30:
+ ++s;
+ { if (!adddgt<10>(u, s[-1] - '0')) return false; goto yyc_dec; }
+/* *********************************** */
+yyc_hex:
+ yych = *s;
+ switch (yych) {
+ case 0x00: goto yy34;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy38;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F': goto yy40;
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy42;
+ default: goto yy36;
+ }
+yy34:
+ ++s;
+ { return true; }
+yy36:
+ ++s;
+ { return false; }
+yy38:
+ ++s;
+ { if (!adddgt<16>(u, s[-1] - '0')) return false; goto yyc_hex; }
+yy40:
+ ++s;
+ { if (!adddgt<16>(u, s[-1] - 'A' + 10)) return false; goto yyc_hex; }
+yy42:
+ ++s;
+ { if (!adddgt<16>(u, s[-1] - 'a' + 10)) return false; goto yyc_hex; }
+/* *********************************** */
+yyc_oct:
+ yych = *s;
+ switch (yych) {
+ case 0x00: goto yy46;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7': goto yy50;
+ default: goto yy48;
+ }
+yy46:
+ ++s;
+ { return true; }
+yy48:
+ ++s;
+ { return false; }
+yy50:
+ ++s;
+ { if (!adddgt<8>(u, s[-1] - '0')) return false; goto yyc_oct; }
+}
+
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ unsigned long u;
+ if (lex(argv[i], u)) {
+ printf("%lu\n", u);
+ } else {
+ printf("error\n");
+ }
+ }
+ return 0;
+}
+re2c: warning: line 35: rule in condition 'init' matches empty string [-Wmatch-empty-string]
diff --git a/examples/05_parsing_integers_conditions.ci.re b/examples/05_parsing_integers_conditions.ci.re
new file mode 100644
index 00000000..9fbc0fd6
--- /dev/null
+++ b/examples/05_parsing_integers_conditions.ci.re
@@ -0,0 +1,59 @@
+#include <limits.h>
+#include <stdio.h>
+
+template<int base>
+static bool adddgt(unsigned long &u, unsigned int d)
+{
+ if (u > (ULONG_MAX - d) / base) {
+ return false;
+ }
+ u = u * base + d;
+ return true;
+}
+
+/*!types:re2c*/
+
+static bool lex(const char *s, unsigned long &u)
+{
+ const char *YYMARKER;
+ const char *YYCTXMARKER;
+ int c = yycinit;
+ u = 0;
+ /*!re2c
+ re2c:yyfill:enable = 0;
+ re2c:define:YYCTYPE = char;
+ re2c:define:YYCURSOR = s;
+ re2c:define:YYGETCONDITION = "c";
+ re2c:define:YYGETCONDITION:naked = 1;
+ re2c:define:YYSETCONDITION = "c = @@;";
+ re2c:define:YYSETCONDITION:naked = 1;
+
+ <*> * { return false; }
+
+ <init> '0b' / [01] :=> bin
+ <init> "0" :=> oct
+ <init> "" / [1-9] :=> dec
+ <init> '0x' / [0-9a-fA-F] :=> hex
+
+ <bin, oct, dec, hex> "\x00" { return true; }
+ <bin> [01] { if (!adddgt<2>(u, s[-1] - '0')) return false; goto yyc_bin; }
+ <oct> [0-7] { if (!adddgt<8>(u, s[-1] - '0')) return false; goto yyc_oct; }
+ <dec> [0-9] { if (!adddgt<10>(u, s[-1] - '0')) return false; goto yyc_dec; }
+ <hex> [0-9] { if (!adddgt<16>(u, s[-1] - '0')) return false; goto yyc_hex; }
+ <hex> [a-f] { if (!adddgt<16>(u, s[-1] - 'a' + 10)) return false; goto yyc_hex; }
+ <hex> [A-F] { if (!adddgt<16>(u, s[-1] - 'A' + 10)) return false; goto yyc_hex; }
+ */
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ unsigned long u;
+ if (lex(argv[i], u)) {
+ printf("%lu\n", u);
+ } else {
+ printf("error\n");
+ }
+ }
+ return 0;
+}
diff --git a/examples/06_braille.cr8i.c b/examples/06_braille.cr8i.c
new file mode 100644
index 00000000..f2fe8ee3
--- /dev/null
+++ b/examples/06_braille.cr8i.c
@@ -0,0 +1,1701 @@
+/* Generated by re2c */
+#include <ctype.h>
+#include <stdio.h>
+
+template<typename char_t>
+struct input_t {
+ size_t len;
+ char_t *str;
+
+ input_t(FILE *f) : len(0), str(NULL)
+ {
+ fseek(f, 0, SEEK_END);
+ len = ftell(f) / sizeof(char_t);
+ fseek(f, 0, SEEK_SET);
+ str = new char_t[len + 1];
+ fread(str, sizeof(char_t), len, f);
+ str[len] = 0;
+ }
+ ~input_t()
+ {
+ delete[]str;
+ }
+};
+
+typedef input_t<unsigned char> iutf8_t;
+typedef input_t<unsigned short> iutf16_t;
+typedef input_t<unsigned int> iutf32_t;
+typedef input_t<unsigned short> iucs2_t;
+
+struct out_t {
+ bool caps;
+
+ out_t() : caps(false) {}
+ void prt(char c)
+ {
+ printf("%c", caps ? toupper(c) : c);
+ caps = false;
+ }
+ void err()
+ {
+ printf(" ... error\n");
+ }
+};
+
+
+
+enum YYCONDTYPE {
+ yycl,
+ yycn,
+};
+
+
+static void lex_utf8(const iutf8_t & in)
+{
+ const unsigned char *YYCURSOR = in.str;
+ const unsigned char *YYMARKER;
+ int c = yycl;
+ out_t out;
+
+{
+ unsigned char yych;
+ switch (c) {
+ case yycl: goto yyc_l;
+ case yycn: goto yyc_n;
+ }
+/* *********************************** */
+yyc_l:
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy3;
+ case '\n': goto yy7;
+ case ' ': goto yy9;
+ case 0xE2: goto yy11;
+ default: goto yy5;
+ }
+yy3:
+ ++YYCURSOR;
+ { if (YYCURSOR != in.str + in.len + 1) out.err(); return; }
+yy5:
+ ++YYCURSOR;
+yy6:
+ { out.err(); return; }
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '\r': goto yy12;
+ default: goto yy8;
+ }
+yy8:
+ { out.prt('\n'); goto yyc_l; }
+yy9:
+ ++YYCURSOR;
+ { out.prt(' '); goto yyc_l; }
+yy11:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0xA0: goto yy13;
+ default: goto yy6;
+ }
+yy12:
+ ++YYCURSOR;
+ goto yy8;
+yy13:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x80: goto yy9;
+ case 0x81: goto yy15;
+ case 0x82: goto yy17;
+ case 0x83: goto yy19;
+ case 0x84: goto yy21;
+ case 0x85: goto yy23;
+ case 0x86: goto yy25;
+ case 0x87: goto yy27;
+ case 0x89: goto yy29;
+ case 0x8A: goto yy31;
+ case 0x8B: goto yy33;
+ case 0x8D: goto yy35;
+ case 0x8E: goto yy37;
+ case 0x8F: goto yy39;
+ case 0x91: goto yy41;
+ case 0x92: goto yy43;
+ case 0x93: goto yy45;
+ case 0x94: goto yy47;
+ case 0x95: goto yy49;
+ case 0x96: goto yy51;
+ case 0x97: goto yy53;
+ case 0x99: goto yy55;
+ case 0x9A: goto yy57;
+ case 0x9B: goto yy59;
+ case 0x9D: goto yy61;
+ case 0x9E: goto yy63;
+ case 0x9F: goto yy65;
+ case 0xA0: goto yy67;
+ case 0xA4: goto yy69;
+ case 0xA5: goto yy71;
+ case 0xA6: goto yy73;
+ case 0xA7: goto yy75;
+ case 0xAD: goto yy77;
+ case 0xB0: goto yy79;
+ case 0xB2: goto yy81;
+ case 0xB5: goto yy83;
+ case 0xBA: goto yy85;
+ case 0xBC: goto yy87;
+ case 0xBD: goto yy89;
+ default: goto yy14;
+ }
+yy14:
+ YYCURSOR = YYMARKER;
+ goto yy6;
+yy15:
+ ++YYCURSOR;
+ { out.prt('a'); goto yyc_l; }
+yy17:
+ ++YYCURSOR;
+ { out.prt(','); goto yyc_l; }
+yy19:
+ ++YYCURSOR;
+ { out.prt('b'); goto yyc_l; }
+yy21:
+ ++YYCURSOR;
+ { out.prt('\''); goto yyc_l; }
+yy23:
+ ++YYCURSOR;
+ { out.prt('k'); goto yyc_l; }
+yy25:
+ ++YYCURSOR;
+ { out.prt(';'); goto yyc_l; }
+yy27:
+ ++YYCURSOR;
+ { out.prt('l'); goto yyc_l; }
+yy29:
+ ++YYCURSOR;
+ { out.prt('c'); goto yyc_l; }
+yy31:
+ ++YYCURSOR;
+ { out.prt('i'); goto yyc_l; }
+yy33:
+ ++YYCURSOR;
+ { out.prt('f'); goto yyc_l; }
+yy35:
+ ++YYCURSOR;
+ { out.prt('m'); goto yyc_l; }
+yy37:
+ ++YYCURSOR;
+ { out.prt('s'); goto yyc_l; }
+yy39:
+ ++YYCURSOR;
+ { out.prt('p'); goto yyc_l; }
+yy41:
+ ++YYCURSOR;
+ { out.prt('e'); goto yyc_l; }
+yy43:
+ ++YYCURSOR;
+ { out.prt(':'); goto yyc_l; }
+yy45:
+ ++YYCURSOR;
+ { out.prt('h'); goto yyc_l; }
+yy47:
+ ++YYCURSOR;
+ { out.prt('*'); goto yyc_l; }
+yy49:
+ ++YYCURSOR;
+ { out.prt('o'); goto yyc_l; }
+yy51:
+ ++YYCURSOR;
+ { out.prt('!'); goto yyc_l; }
+yy53:
+ ++YYCURSOR;
+ { out.prt('r'); goto yyc_l; }
+yy55:
+ ++YYCURSOR;
+ { out.prt('d'); goto yyc_l; }
+yy57:
+ ++YYCURSOR;
+ { out.prt('j'); goto yyc_l; }
+yy59:
+ ++YYCURSOR;
+ { out.prt('g'); goto yyc_l; }
+yy61:
+ ++YYCURSOR;
+ { out.prt('n'); goto yyc_l; }
+yy63:
+ ++YYCURSOR;
+ { out.prt('t'); goto yyc_l; }
+yy65:
+ ++YYCURSOR;
+ { out.prt('q'); goto yyc_l; }
+yy67:
+ ++YYCURSOR;
+ { out.caps = true; goto yyc_l; }
+yy69:
+ ++YYCURSOR;
+ { out.prt('-'); goto yyc_l; }
+yy71:
+ ++YYCURSOR;
+ { out.prt('u'); goto yyc_l; }
+yy73:
+ ++YYCURSOR;
+ { out.prt('?'); goto yyc_l; }
+yy75:
+ ++YYCURSOR;
+ { out.prt('v'); goto yyc_l; }
+yy77:
+ ++YYCURSOR;
+ { out.prt('x'); goto yyc_l; }
+yy79:
+ ++YYCURSOR;
+ goto yyc_l;
+yy81:
+ ++YYCURSOR;
+ { out.prt('.'); goto yyc_l; }
+yy83:
+ ++YYCURSOR;
+ { out.prt('z'); goto yyc_l; }
+yy85:
+ ++YYCURSOR;
+ { out.prt('w'); goto yyc_l; }
+yy87:
+ ++YYCURSOR;
+ c = yycn;
+ goto yyc_n;
+yy89:
+ ++YYCURSOR;
+ { out.prt('y'); goto yyc_l; }
+/* *********************************** */
+yyc_n:
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy93;
+ case '\n': goto yy97;
+ case ' ': goto yy99;
+ case 0xE2: goto yy101;
+ default: goto yy95;
+ }
+yy93:
+ ++YYCURSOR;
+ { if (YYCURSOR != in.str + in.len + 1) out.err(); return; }
+yy95:
+ ++YYCURSOR;
+yy96:
+ { out.err(); return; }
+yy97:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '\r': goto yy102;
+ default: goto yy98;
+ }
+yy98:
+ { out.prt('\n'); goto yyc_l; }
+yy99:
+ ++YYCURSOR;
+ { out.prt(' '); goto yyc_l; }
+yy101:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0xA0: goto yy103;
+ default: goto yy96;
+ }
+yy102:
+ ++YYCURSOR;
+ goto yy98;
+yy103:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x80: goto yy99;
+ case 0x81: goto yy105;
+ case 0x82: goto yy107;
+ case 0x83: goto yy109;
+ case 0x84: goto yy111;
+ case 0x86: goto yy113;
+ case 0x89: goto yy115;
+ case 0x8A: goto yy117;
+ case 0x8B: goto yy119;
+ case 0x91: goto yy121;
+ case 0x92: goto yy123;
+ case 0x93: goto yy125;
+ case 0x94: goto yy127;
+ case 0x96: goto yy129;
+ case 0x99: goto yy131;
+ case 0x9A: goto yy133;
+ case 0x9B: goto yy135;
+ case 0xA0: goto yy137;
+ case 0xA4: goto yy139;
+ case 0xA6: goto yy141;
+ case 0xB0: goto yy143;
+ case 0xB2: goto yy145;
+ case 0xBC: goto yy147;
+ default: goto yy104;
+ }
+yy104:
+ YYCURSOR = YYMARKER;
+ goto yy96;
+yy105:
+ ++YYCURSOR;
+ { out.prt('1'); goto yyc_n; }
+yy107:
+ ++YYCURSOR;
+ { out.prt(','); goto yyc_l; }
+yy109:
+ ++YYCURSOR;
+ { out.prt('2'); goto yyc_n; }
+yy111:
+ ++YYCURSOR;
+ { out.prt('\''); goto yyc_l; }
+yy113:
+ ++YYCURSOR;
+ { out.prt(';'); goto yyc_l; }
+yy115:
+ ++YYCURSOR;
+ { out.prt('3'); goto yyc_n; }
+yy117:
+ ++YYCURSOR;
+ { out.prt('9'); goto yyc_n; }
+yy119:
+ ++YYCURSOR;
+ { out.prt('6'); goto yyc_n; }
+yy121:
+ ++YYCURSOR;
+ { out.prt('5'); goto yyc_n; }
+yy123:
+ ++YYCURSOR;
+ { out.prt(':'); goto yyc_l; }
+yy125:
+ ++YYCURSOR;
+ { out.prt('8'); goto yyc_n; }
+yy127:
+ ++YYCURSOR;
+ { out.prt('*'); goto yyc_l; }
+yy129:
+ ++YYCURSOR;
+ { out.prt('!'); goto yyc_l; }
+yy131:
+ ++YYCURSOR;
+ { out.prt('4'); goto yyc_n; }
+yy133:
+ ++YYCURSOR;
+ { out.prt('0'); goto yyc_n; }
+yy135:
+ ++YYCURSOR;
+ { out.prt('7'); goto yyc_n; }
+yy137:
+ ++YYCURSOR;
+ { out.caps = true; goto yyc_l; }
+yy139:
+ ++YYCURSOR;
+ { out.prt('-'); goto yyc_l; }
+yy141:
+ ++YYCURSOR;
+ { out.prt('?'); goto yyc_l; }
+yy143:
+ ++YYCURSOR;
+ c = yycl;
+ goto yyc_l;
+yy145:
+ ++YYCURSOR;
+ { out.prt('.'); goto yyc_l; }
+yy147:
+ ++YYCURSOR;
+ goto yyc_n;
+}
+
+}
+
+static void lex_utf16(const iutf16_t & in)
+{
+ const unsigned short *YYCURSOR = in.str;
+ int c = yycl;
+ out_t out;
+
+{
+ unsigned int yych;
+ if (c < 1) {
+ goto yyc_l;
+ } else {
+ goto yyc_n;
+ }
+/* *********************************** */
+yyc_l:
+ yych = *YYCURSOR;
+ if (yych <= 0x2816) {
+ if (yych <= 0x2807) {
+ if (yych <= 0x2800) {
+ if (yych <= '\n') {
+ if (yych <= 0x0000) goto yy3;
+ if (yych <= '\t') goto yy5;
+ goto yy7;
+ } else {
+ if (yych == ' ') goto yy9;
+ if (yych <= 0x27FF) goto yy5;
+ goto yy9;
+ }
+ } else {
+ if (yych <= 0x2803) {
+ if (yych <= 0x2801) goto yy11;
+ if (yych <= 0x2802) goto yy13;
+ goto yy15;
+ } else {
+ if (yych <= 0x2804) goto yy17;
+ if (yych <= 0x2805) goto yy19;
+ if (yych <= 0x2806) goto yy21;
+ goto yy23;
+ }
+ }
+ } else {
+ if (yych <= 0x280E) {
+ if (yych <= 0x280A) {
+ if (yych <= 0x2808) goto yy5;
+ if (yych <= 0x2809) goto yy25;
+ goto yy27;
+ } else {
+ if (yych <= 0x280B) goto yy29;
+ if (yych <= 0x280C) goto yy5;
+ if (yych <= 0x280D) goto yy31;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 0x2812) {
+ if (yych <= 0x280F) goto yy35;
+ if (yych <= 0x2810) goto yy5;
+ if (yych <= 0x2811) goto yy37;
+ goto yy39;
+ } else {
+ if (yych <= 0x2813) goto yy41;
+ if (yych <= 0x2814) goto yy43;
+ if (yych <= 0x2815) goto yy45;
+ goto yy47;
+ }
+ }
+ }
+ } else {
+ if (yych <= 0x2826) {
+ if (yych <= 0x281D) {
+ if (yych <= 0x2819) {
+ if (yych <= 0x2817) goto yy49;
+ if (yych <= 0x2818) goto yy5;
+ goto yy51;
+ } else {
+ if (yych <= 0x281A) goto yy53;
+ if (yych <= 0x281B) goto yy55;
+ if (yych <= 0x281C) goto yy5;
+ goto yy57;
+ }
+ } else {
+ if (yych <= 0x2820) {
+ if (yych <= 0x281E) goto yy59;
+ if (yych <= 0x281F) goto yy61;
+ goto yy63;
+ } else {
+ if (yych <= 0x2823) goto yy5;
+ if (yych <= 0x2824) goto yy65;
+ if (yych <= 0x2825) goto yy67;
+ goto yy69;
+ }
+ }
+ } else {
+ if (yych <= 0x2832) {
+ if (yych <= 0x282D) {
+ if (yych <= 0x2827) goto yy71;
+ if (yych <= 0x282C) goto yy5;
+ goto yy73;
+ } else {
+ if (yych == 0x2830) goto yy75;
+ if (yych <= 0x2831) goto yy5;
+ goto yy77;
+ }
+ } else {
+ if (yych <= 0x283A) {
+ if (yych == 0x2835) goto yy79;
+ if (yych <= 0x2839) goto yy5;
+ goto yy81;
+ } else {
+ if (yych <= 0x283B) goto yy5;
+ if (yych <= 0x283C) goto yy83;
+ if (yych <= 0x283D) goto yy85;
+ goto yy5;
+ }
+ }
+ }
+ }
+yy3:
+ ++YYCURSOR;
+ { if (YYCURSOR != in.str + in.len + 1) out.err(); return; }
+yy5:
+ ++YYCURSOR;
+ { out.err(); return; }
+yy7:
+ yych = *++YYCURSOR;
+ if (yych == '\r') goto yy87;
+yy8:
+ { out.prt('\n'); goto yyc_l; }
+yy9:
+ ++YYCURSOR;
+ { out.prt(' '); goto yyc_l; }
+yy11:
+ ++YYCURSOR;
+ { out.prt('a'); goto yyc_l; }
+yy13:
+ ++YYCURSOR;
+ { out.prt(','); goto yyc_l; }
+yy15:
+ ++YYCURSOR;
+ { out.prt('b'); goto yyc_l; }
+yy17:
+ ++YYCURSOR;
+ { out.prt('\''); goto yyc_l; }
+yy19:
+ ++YYCURSOR;
+ { out.prt('k'); goto yyc_l; }
+yy21:
+ ++YYCURSOR;
+ { out.prt(';'); goto yyc_l; }
+yy23:
+ ++YYCURSOR;
+ { out.prt('l'); goto yyc_l; }
+yy25:
+ ++YYCURSOR;
+ { out.prt('c'); goto yyc_l; }
+yy27:
+ ++YYCURSOR;
+ { out.prt('i'); goto yyc_l; }
+yy29:
+ ++YYCURSOR;
+ { out.prt('f'); goto yyc_l; }
+yy31:
+ ++YYCURSOR;
+ { out.prt('m'); goto yyc_l; }
+yy33:
+ ++YYCURSOR;
+ { out.prt('s'); goto yyc_l; }
+yy35:
+ ++YYCURSOR;
+ { out.prt('p'); goto yyc_l; }
+yy37:
+ ++YYCURSOR;
+ { out.prt('e'); goto yyc_l; }
+yy39:
+ ++YYCURSOR;
+ { out.prt(':'); goto yyc_l; }
+yy41:
+ ++YYCURSOR;
+ { out.prt('h'); goto yyc_l; }
+yy43:
+ ++YYCURSOR;
+ { out.prt('*'); goto yyc_l; }
+yy45:
+ ++YYCURSOR;
+ { out.prt('o'); goto yyc_l; }
+yy47:
+ ++YYCURSOR;
+ { out.prt('!'); goto yyc_l; }
+yy49:
+ ++YYCURSOR;
+ { out.prt('r'); goto yyc_l; }
+yy51:
+ ++YYCURSOR;
+ { out.prt('d'); goto yyc_l; }
+yy53:
+ ++YYCURSOR;
+ { out.prt('j'); goto yyc_l; }
+yy55:
+ ++YYCURSOR;
+ { out.prt('g'); goto yyc_l; }
+yy57:
+ ++YYCURSOR;
+ { out.prt('n'); goto yyc_l; }
+yy59:
+ ++YYCURSOR;
+ { out.prt('t'); goto yyc_l; }
+yy61:
+ ++YYCURSOR;
+ { out.prt('q'); goto yyc_l; }
+yy63:
+ ++YYCURSOR;
+ { out.caps = true; goto yyc_l; }
+yy65:
+ ++YYCURSOR;
+ { out.prt('-'); goto yyc_l; }
+yy67:
+ ++YYCURSOR;
+ { out.prt('u'); goto yyc_l; }
+yy69:
+ ++YYCURSOR;
+ { out.prt('?'); goto yyc_l; }
+yy71:
+ ++YYCURSOR;
+ { out.prt('v'); goto yyc_l; }
+yy73:
+ ++YYCURSOR;
+ { out.prt('x'); goto yyc_l; }
+yy75:
+ ++YYCURSOR;
+ goto yyc_l;
+yy77:
+ ++YYCURSOR;
+ { out.prt('.'); goto yyc_l; }
+yy79:
+ ++YYCURSOR;
+ { out.prt('z'); goto yyc_l; }
+yy81:
+ ++YYCURSOR;
+ { out.prt('w'); goto yyc_l; }
+yy83:
+ ++YYCURSOR;
+ c = yycn;
+ goto yyc_n;
+yy85:
+ ++YYCURSOR;
+ { out.prt('y'); goto yyc_l; }
+yy87:
+ ++YYCURSOR;
+ goto yy8;
+/* *********************************** */
+yyc_n:
+ yych = *YYCURSOR;
+ if (yych <= 0x2812) {
+ if (yych <= 0x2803) {
+ if (yych <= ' ') {
+ if (yych <= '\t') {
+ if (yych >= 0x0001) goto yy92;
+ } else {
+ if (yych <= '\n') goto yy94;
+ if (yych <= 0x001F) goto yy92;
+ goto yy96;
+ }
+ } else {
+ if (yych <= 0x2800) {
+ if (yych <= 0x27FF) goto yy92;
+ goto yy96;
+ } else {
+ if (yych <= 0x2801) goto yy98;
+ if (yych <= 0x2802) goto yy100;
+ goto yy102;
+ }
+ }
+ } else {
+ if (yych <= 0x2809) {
+ if (yych <= 0x2805) {
+ if (yych <= 0x2804) goto yy104;
+ goto yy92;
+ } else {
+ if (yych <= 0x2806) goto yy106;
+ if (yych <= 0x2808) goto yy92;
+ goto yy108;
+ }
+ } else {
+ if (yych <= 0x280B) {
+ if (yych <= 0x280A) goto yy110;
+ goto yy112;
+ } else {
+ if (yych <= 0x2810) goto yy92;
+ if (yych <= 0x2811) goto yy114;
+ goto yy116;
+ }
+ }
+ }
+ } else {
+ if (yych <= 0x2820) {
+ if (yych <= 0x2818) {
+ if (yych <= 0x2814) {
+ if (yych <= 0x2813) goto yy118;
+ goto yy120;
+ } else {
+ if (yych == 0x2816) goto yy122;
+ goto yy92;
+ }
+ } else {
+ if (yych <= 0x281A) {
+ if (yych <= 0x2819) goto yy124;
+ goto yy126;
+ } else {
+ if (yych <= 0x281B) goto yy128;
+ if (yych <= 0x281F) goto yy92;
+ goto yy130;
+ }
+ }
+ } else {
+ if (yych <= 0x282F) {
+ if (yych <= 0x2824) {
+ if (yych <= 0x2823) goto yy92;
+ goto yy132;
+ } else {
+ if (yych == 0x2826) goto yy134;
+ goto yy92;
+ }
+ } else {
+ if (yych <= 0x2832) {
+ if (yych <= 0x2830) goto yy136;
+ if (yych <= 0x2831) goto yy92;
+ goto yy138;
+ } else {
+ if (yych == 0x283C) goto yy140;
+ goto yy92;
+ }
+ }
+ }
+ }
+ ++YYCURSOR;
+ { if (YYCURSOR != in.str + in.len + 1) out.err(); return; }
+yy92:
+ ++YYCURSOR;
+ { out.err(); return; }
+yy94:
+ yych = *++YYCURSOR;
+ if (yych == '\r') goto yy142;
+yy95:
+ { out.prt('\n'); goto yyc_l; }
+yy96:
+ ++YYCURSOR;
+ { out.prt(' '); goto yyc_l; }
+yy98:
+ ++YYCURSOR;
+ { out.prt('1'); goto yyc_n; }
+yy100:
+ ++YYCURSOR;
+ { out.prt(','); goto yyc_l; }
+yy102:
+ ++YYCURSOR;
+ { out.prt('2'); goto yyc_n; }
+yy104:
+ ++YYCURSOR;
+ { out.prt('\''); goto yyc_l; }
+yy106:
+ ++YYCURSOR;
+ { out.prt(';'); goto yyc_l; }
+yy108:
+ ++YYCURSOR;
+ { out.prt('3'); goto yyc_n; }
+yy110:
+ ++YYCURSOR;
+ { out.prt('9'); goto yyc_n; }
+yy112:
+ ++YYCURSOR;
+ { out.prt('6'); goto yyc_n; }
+yy114:
+ ++YYCURSOR;
+ { out.prt('5'); goto yyc_n; }
+yy116:
+ ++YYCURSOR;
+ { out.prt(':'); goto yyc_l; }
+yy118:
+ ++YYCURSOR;
+ { out.prt('8'); goto yyc_n; }
+yy120:
+ ++YYCURSOR;
+ { out.prt('*'); goto yyc_l; }
+yy122:
+ ++YYCURSOR;
+ { out.prt('!'); goto yyc_l; }
+yy124:
+ ++YYCURSOR;
+ { out.prt('4'); goto yyc_n; }
+yy126:
+ ++YYCURSOR;
+ { out.prt('0'); goto yyc_n; }
+yy128:
+ ++YYCURSOR;
+ { out.prt('7'); goto yyc_n; }
+yy130:
+ ++YYCURSOR;
+ { out.caps = true; goto yyc_l; }
+yy132:
+ ++YYCURSOR;
+ { out.prt('-'); goto yyc_l; }
+yy134:
+ ++YYCURSOR;
+ { out.prt('?'); goto yyc_l; }
+yy136:
+ ++YYCURSOR;
+ c = yycl;
+ goto yyc_l;
+yy138:
+ ++YYCURSOR;
+ { out.prt('.'); goto yyc_l; }
+yy140:
+ ++YYCURSOR;
+ goto yyc_n;
+yy142:
+ ++YYCURSOR;
+ goto yy95;
+}
+
+}
+
+static void lex_utf32(const iutf32_t & in)
+{
+ const unsigned int *YYCURSOR = in.str;
+ int c = yycl;
+ out_t out;
+
+{
+ unsigned int yych;
+ if (c < 1) {
+ goto yyc_l;
+ } else {
+ goto yyc_n;
+ }
+/* *********************************** */
+yyc_l:
+ yych = *YYCURSOR;
+ if (yych <= 0x00002816) {
+ if (yych <= 0x00002807) {
+ if (yych <= 0x00002800) {
+ if (yych <= '\n') {
+ if (yych <= 0x00000000) goto yy3;
+ if (yych <= '\t') goto yy5;
+ goto yy7;
+ } else {
+ if (yych == ' ') goto yy9;
+ if (yych <= 0x000027FF) goto yy5;
+ goto yy9;
+ }
+ } else {
+ if (yych <= 0x00002803) {
+ if (yych <= 0x00002801) goto yy11;
+ if (yych <= 0x00002802) goto yy13;
+ goto yy15;
+ } else {
+ if (yych <= 0x00002804) goto yy17;
+ if (yych <= 0x00002805) goto yy19;
+ if (yych <= 0x00002806) goto yy21;
+ goto yy23;
+ }
+ }
+ } else {
+ if (yych <= 0x0000280E) {
+ if (yych <= 0x0000280A) {
+ if (yych <= 0x00002808) goto yy5;
+ if (yych <= 0x00002809) goto yy25;
+ goto yy27;
+ } else {
+ if (yych <= 0x0000280B) goto yy29;
+ if (yych <= 0x0000280C) goto yy5;
+ if (yych <= 0x0000280D) goto yy31;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 0x00002812) {
+ if (yych <= 0x0000280F) goto yy35;
+ if (yych <= 0x00002810) goto yy5;
+ if (yych <= 0x00002811) goto yy37;
+ goto yy39;
+ } else {
+ if (yych <= 0x00002813) goto yy41;
+ if (yych <= 0x00002814) goto yy43;
+ if (yych <= 0x00002815) goto yy45;
+ goto yy47;
+ }
+ }
+ }
+ } else {
+ if (yych <= 0x00002826) {
+ if (yych <= 0x0000281D) {
+ if (yych <= 0x00002819) {
+ if (yych <= 0x00002817) goto yy49;
+ if (yych <= 0x00002818) goto yy5;
+ goto yy51;
+ } else {
+ if (yych <= 0x0000281A) goto yy53;
+ if (yych <= 0x0000281B) goto yy55;
+ if (yych <= 0x0000281C) goto yy5;
+ goto yy57;
+ }
+ } else {
+ if (yych <= 0x00002820) {
+ if (yych <= 0x0000281E) goto yy59;
+ if (yych <= 0x0000281F) goto yy61;
+ goto yy63;
+ } else {
+ if (yych <= 0x00002823) goto yy5;
+ if (yych <= 0x00002824) goto yy65;
+ if (yych <= 0x00002825) goto yy67;
+ goto yy69;
+ }
+ }
+ } else {
+ if (yych <= 0x00002832) {
+ if (yych <= 0x0000282D) {
+ if (yych <= 0x00002827) goto yy71;
+ if (yych <= 0x0000282C) goto yy5;
+ goto yy73;
+ } else {
+ if (yych == 0x00002830) goto yy75;
+ if (yych <= 0x00002831) goto yy5;
+ goto yy77;
+ }
+ } else {
+ if (yych <= 0x0000283A) {
+ if (yych == 0x00002835) goto yy79;
+ if (yych <= 0x00002839) goto yy5;
+ goto yy81;
+ } else {
+ if (yych <= 0x0000283B) goto yy5;
+ if (yych <= 0x0000283C) goto yy83;
+ if (yych <= 0x0000283D) goto yy85;
+ goto yy5;
+ }
+ }
+ }
+ }
+yy3:
+ ++YYCURSOR;
+ { if (YYCURSOR != in.str + in.len + 1) out.err(); return; }
+yy5:
+ ++YYCURSOR;
+ { out.err(); return; }
+yy7:
+ yych = *++YYCURSOR;
+ if (yych == '\r') goto yy87;
+yy8:
+ { out.prt('\n'); goto yyc_l; }
+yy9:
+ ++YYCURSOR;
+ { out.prt(' '); goto yyc_l; }
+yy11:
+ ++YYCURSOR;
+ { out.prt('a'); goto yyc_l; }
+yy13:
+ ++YYCURSOR;
+ { out.prt(','); goto yyc_l; }
+yy15:
+ ++YYCURSOR;
+ { out.prt('b'); goto yyc_l; }
+yy17:
+ ++YYCURSOR;
+ { out.prt('\''); goto yyc_l; }
+yy19:
+ ++YYCURSOR;
+ { out.prt('k'); goto yyc_l; }
+yy21:
+ ++YYCURSOR;
+ { out.prt(';'); goto yyc_l; }
+yy23:
+ ++YYCURSOR;
+ { out.prt('l'); goto yyc_l; }
+yy25:
+ ++YYCURSOR;
+ { out.prt('c'); goto yyc_l; }
+yy27:
+ ++YYCURSOR;
+ { out.prt('i'); goto yyc_l; }
+yy29:
+ ++YYCURSOR;
+ { out.prt('f'); goto yyc_l; }
+yy31:
+ ++YYCURSOR;
+ { out.prt('m'); goto yyc_l; }
+yy33:
+ ++YYCURSOR;
+ { out.prt('s'); goto yyc_l; }
+yy35:
+ ++YYCURSOR;
+ { out.prt('p'); goto yyc_l; }
+yy37:
+ ++YYCURSOR;
+ { out.prt('e'); goto yyc_l; }
+yy39:
+ ++YYCURSOR;
+ { out.prt(':'); goto yyc_l; }
+yy41:
+ ++YYCURSOR;
+ { out.prt('h'); goto yyc_l; }
+yy43:
+ ++YYCURSOR;
+ { out.prt('*'); goto yyc_l; }
+yy45:
+ ++YYCURSOR;
+ { out.prt('o'); goto yyc_l; }
+yy47:
+ ++YYCURSOR;
+ { out.prt('!'); goto yyc_l; }
+yy49:
+ ++YYCURSOR;
+ { out.prt('r'); goto yyc_l; }
+yy51:
+ ++YYCURSOR;
+ { out.prt('d'); goto yyc_l; }
+yy53:
+ ++YYCURSOR;
+ { out.prt('j'); goto yyc_l; }
+yy55:
+ ++YYCURSOR;
+ { out.prt('g'); goto yyc_l; }
+yy57:
+ ++YYCURSOR;
+ { out.prt('n'); goto yyc_l; }
+yy59:
+ ++YYCURSOR;
+ { out.prt('t'); goto yyc_l; }
+yy61:
+ ++YYCURSOR;
+ { out.prt('q'); goto yyc_l; }
+yy63:
+ ++YYCURSOR;
+ { out.caps = true; goto yyc_l; }
+yy65:
+ ++YYCURSOR;
+ { out.prt('-'); goto yyc_l; }
+yy67:
+ ++YYCURSOR;
+ { out.prt('u'); goto yyc_l; }
+yy69:
+ ++YYCURSOR;
+ { out.prt('?'); goto yyc_l; }
+yy71:
+ ++YYCURSOR;
+ { out.prt('v'); goto yyc_l; }
+yy73:
+ ++YYCURSOR;
+ { out.prt('x'); goto yyc_l; }
+yy75:
+ ++YYCURSOR;
+ goto yyc_l;
+yy77:
+ ++YYCURSOR;
+ { out.prt('.'); goto yyc_l; }
+yy79:
+ ++YYCURSOR;
+ { out.prt('z'); goto yyc_l; }
+yy81:
+ ++YYCURSOR;
+ { out.prt('w'); goto yyc_l; }
+yy83:
+ ++YYCURSOR;
+ c = yycn;
+ goto yyc_n;
+yy85:
+ ++YYCURSOR;
+ { out.prt('y'); goto yyc_l; }
+yy87:
+ ++YYCURSOR;
+ goto yy8;
+/* *********************************** */
+yyc_n:
+ yych = *YYCURSOR;
+ if (yych <= 0x00002812) {
+ if (yych <= 0x00002803) {
+ if (yych <= ' ') {
+ if (yych <= '\t') {
+ if (yych >= 0x00000001) goto yy92;
+ } else {
+ if (yych <= '\n') goto yy94;
+ if (yych <= 0x0000001F) goto yy92;
+ goto yy96;
+ }
+ } else {
+ if (yych <= 0x00002800) {
+ if (yych <= 0x000027FF) goto yy92;
+ goto yy96;
+ } else {
+ if (yych <= 0x00002801) goto yy98;
+ if (yych <= 0x00002802) goto yy100;
+ goto yy102;
+ }
+ }
+ } else {
+ if (yych <= 0x00002809) {
+ if (yych <= 0x00002805) {
+ if (yych <= 0x00002804) goto yy104;
+ goto yy92;
+ } else {
+ if (yych <= 0x00002806) goto yy106;
+ if (yych <= 0x00002808) goto yy92;
+ goto yy108;
+ }
+ } else {
+ if (yych <= 0x0000280B) {
+ if (yych <= 0x0000280A) goto yy110;
+ goto yy112;
+ } else {
+ if (yych <= 0x00002810) goto yy92;
+ if (yych <= 0x00002811) goto yy114;
+ goto yy116;
+ }
+ }
+ }
+ } else {
+ if (yych <= 0x00002820) {
+ if (yych <= 0x00002818) {
+ if (yych <= 0x00002814) {
+ if (yych <= 0x00002813) goto yy118;
+ goto yy120;
+ } else {
+ if (yych == 0x00002816) goto yy122;
+ goto yy92;
+ }
+ } else {
+ if (yych <= 0x0000281A) {
+ if (yych <= 0x00002819) goto yy124;
+ goto yy126;
+ } else {
+ if (yych <= 0x0000281B) goto yy128;
+ if (yych <= 0x0000281F) goto yy92;
+ goto yy130;
+ }
+ }
+ } else {
+ if (yych <= 0x0000282F) {
+ if (yych <= 0x00002824) {
+ if (yych <= 0x00002823) goto yy92;
+ goto yy132;
+ } else {
+ if (yych == 0x00002826) goto yy134;
+ goto yy92;
+ }
+ } else {
+ if (yych <= 0x00002832) {
+ if (yych <= 0x00002830) goto yy136;
+ if (yych <= 0x00002831) goto yy92;
+ goto yy138;
+ } else {
+ if (yych == 0x0000283C) goto yy140;
+ goto yy92;
+ }
+ }
+ }
+ }
+ ++YYCURSOR;
+ { if (YYCURSOR != in.str + in.len + 1) out.err(); return; }
+yy92:
+ ++YYCURSOR;
+ { out.err(); return; }
+yy94:
+ yych = *++YYCURSOR;
+ if (yych == '\r') goto yy142;
+yy95:
+ { out.prt('\n'); goto yyc_l; }
+yy96:
+ ++YYCURSOR;
+ { out.prt(' '); goto yyc_l; }
+yy98:
+ ++YYCURSOR;
+ { out.prt('1'); goto yyc_n; }
+yy100:
+ ++YYCURSOR;
+ { out.prt(','); goto yyc_l; }
+yy102:
+ ++YYCURSOR;
+ { out.prt('2'); goto yyc_n; }
+yy104:
+ ++YYCURSOR;
+ { out.prt('\''); goto yyc_l; }
+yy106:
+ ++YYCURSOR;
+ { out.prt(';'); goto yyc_l; }
+yy108:
+ ++YYCURSOR;
+ { out.prt('3'); goto yyc_n; }
+yy110:
+ ++YYCURSOR;
+ { out.prt('9'); goto yyc_n; }
+yy112:
+ ++YYCURSOR;
+ { out.prt('6'); goto yyc_n; }
+yy114:
+ ++YYCURSOR;
+ { out.prt('5'); goto yyc_n; }
+yy116:
+ ++YYCURSOR;
+ { out.prt(':'); goto yyc_l; }
+yy118:
+ ++YYCURSOR;
+ { out.prt('8'); goto yyc_n; }
+yy120:
+ ++YYCURSOR;
+ { out.prt('*'); goto yyc_l; }
+yy122:
+ ++YYCURSOR;
+ { out.prt('!'); goto yyc_l; }
+yy124:
+ ++YYCURSOR;
+ { out.prt('4'); goto yyc_n; }
+yy126:
+ ++YYCURSOR;
+ { out.prt('0'); goto yyc_n; }
+yy128:
+ ++YYCURSOR;
+ { out.prt('7'); goto yyc_n; }
+yy130:
+ ++YYCURSOR;
+ { out.caps = true; goto yyc_l; }
+yy132:
+ ++YYCURSOR;
+ { out.prt('-'); goto yyc_l; }
+yy134:
+ ++YYCURSOR;
+ { out.prt('?'); goto yyc_l; }
+yy136:
+ ++YYCURSOR;
+ c = yycl;
+ goto yyc_l;
+yy138:
+ ++YYCURSOR;
+ { out.prt('.'); goto yyc_l; }
+yy140:
+ ++YYCURSOR;
+ goto yyc_n;
+yy142:
+ ++YYCURSOR;
+ goto yy95;
+}
+
+}
+
+static void lex_ucs2(const iucs2_t & in)
+{
+ const unsigned short *YYCURSOR = in.str;
+ int c = yycl;
+ out_t out;
+
+{
+ unsigned int yych;
+ if (c < 1) {
+ goto yyc_l;
+ } else {
+ goto yyc_n;
+ }
+/* *********************************** */
+yyc_l:
+ yych = *YYCURSOR;
+ if (yych <= 0x2816) {
+ if (yych <= 0x2807) {
+ if (yych <= 0x2800) {
+ if (yych <= '\n') {
+ if (yych <= 0x0000) goto yy3;
+ if (yych <= '\t') goto yy5;
+ goto yy7;
+ } else {
+ if (yych == ' ') goto yy9;
+ if (yych <= 0x27FF) goto yy5;
+ goto yy9;
+ }
+ } else {
+ if (yych <= 0x2803) {
+ if (yych <= 0x2801) goto yy11;
+ if (yych <= 0x2802) goto yy13;
+ goto yy15;
+ } else {
+ if (yych <= 0x2804) goto yy17;
+ if (yych <= 0x2805) goto yy19;
+ if (yych <= 0x2806) goto yy21;
+ goto yy23;
+ }
+ }
+ } else {
+ if (yych <= 0x280E) {
+ if (yych <= 0x280A) {
+ if (yych <= 0x2808) goto yy5;
+ if (yych <= 0x2809) goto yy25;
+ goto yy27;
+ } else {
+ if (yych <= 0x280B) goto yy29;
+ if (yych <= 0x280C) goto yy5;
+ if (yych <= 0x280D) goto yy31;
+ goto yy33;
+ }
+ } else {
+ if (yych <= 0x2812) {
+ if (yych <= 0x280F) goto yy35;
+ if (yych <= 0x2810) goto yy5;
+ if (yych <= 0x2811) goto yy37;
+ goto yy39;
+ } else {
+ if (yych <= 0x2813) goto yy41;
+ if (yych <= 0x2814) goto yy43;
+ if (yych <= 0x2815) goto yy45;
+ goto yy47;
+ }
+ }
+ }
+ } else {
+ if (yych <= 0x2826) {
+ if (yych <= 0x281D) {
+ if (yych <= 0x2819) {
+ if (yych <= 0x2817) goto yy49;
+ if (yych <= 0x2818) goto yy5;
+ goto yy51;
+ } else {
+ if (yych <= 0x281A) goto yy53;
+ if (yych <= 0x281B) goto yy55;
+ if (yych <= 0x281C) goto yy5;
+ goto yy57;
+ }
+ } else {
+ if (yych <= 0x2820) {
+ if (yych <= 0x281E) goto yy59;
+ if (yych <= 0x281F) goto yy61;
+ goto yy63;
+ } else {
+ if (yych <= 0x2823) goto yy5;
+ if (yych <= 0x2824) goto yy65;
+ if (yych <= 0x2825) goto yy67;
+ goto yy69;
+ }
+ }
+ } else {
+ if (yych <= 0x2832) {
+ if (yych <= 0x282D) {
+ if (yych <= 0x2827) goto yy71;
+ if (yych <= 0x282C) goto yy5;
+ goto yy73;
+ } else {
+ if (yych == 0x2830) goto yy75;
+ if (yych <= 0x2831) goto yy5;
+ goto yy77;
+ }
+ } else {
+ if (yych <= 0x283A) {
+ if (yych == 0x2835) goto yy79;
+ if (yych <= 0x2839) goto yy5;
+ goto yy81;
+ } else {
+ if (yych <= 0x283B) goto yy5;
+ if (yych <= 0x283C) goto yy83;
+ if (yych <= 0x283D) goto yy85;
+ goto yy5;
+ }
+ }
+ }
+ }
+yy3:
+ ++YYCURSOR;
+ { if (YYCURSOR != in.str + in.len + 1) out.err(); return; }
+yy5:
+ ++YYCURSOR;
+ { out.err(); return; }
+yy7:
+ yych = *++YYCURSOR;
+ if (yych == '\r') goto yy87;
+yy8:
+ { out.prt('\n'); goto yyc_l; }
+yy9:
+ ++YYCURSOR;
+ { out.prt(' '); goto yyc_l; }
+yy11:
+ ++YYCURSOR;
+ { out.prt('a'); goto yyc_l; }
+yy13:
+ ++YYCURSOR;
+ { out.prt(','); goto yyc_l; }
+yy15:
+ ++YYCURSOR;
+ { out.prt('b'); goto yyc_l; }
+yy17:
+ ++YYCURSOR;
+ { out.prt('\''); goto yyc_l; }
+yy19:
+ ++YYCURSOR;
+ { out.prt('k'); goto yyc_l; }
+yy21:
+ ++YYCURSOR;
+ { out.prt(';'); goto yyc_l; }
+yy23:
+ ++YYCURSOR;
+ { out.prt('l'); goto yyc_l; }
+yy25:
+ ++YYCURSOR;
+ { out.prt('c'); goto yyc_l; }
+yy27:
+ ++YYCURSOR;
+ { out.prt('i'); goto yyc_l; }
+yy29:
+ ++YYCURSOR;
+ { out.prt('f'); goto yyc_l; }
+yy31:
+ ++YYCURSOR;
+ { out.prt('m'); goto yyc_l; }
+yy33:
+ ++YYCURSOR;
+ { out.prt('s'); goto yyc_l; }
+yy35:
+ ++YYCURSOR;
+ { out.prt('p'); goto yyc_l; }
+yy37:
+ ++YYCURSOR;
+ { out.prt('e'); goto yyc_l; }
+yy39:
+ ++YYCURSOR;
+ { out.prt(':'); goto yyc_l; }
+yy41:
+ ++YYCURSOR;
+ { out.prt('h'); goto yyc_l; }
+yy43:
+ ++YYCURSOR;
+ { out.prt('*'); goto yyc_l; }
+yy45:
+ ++YYCURSOR;
+ { out.prt('o'); goto yyc_l; }
+yy47:
+ ++YYCURSOR;
+ { out.prt('!'); goto yyc_l; }
+yy49:
+ ++YYCURSOR;
+ { out.prt('r'); goto yyc_l; }
+yy51:
+ ++YYCURSOR;
+ { out.prt('d'); goto yyc_l; }
+yy53:
+ ++YYCURSOR;
+ { out.prt('j'); goto yyc_l; }
+yy55:
+ ++YYCURSOR;
+ { out.prt('g'); goto yyc_l; }
+yy57:
+ ++YYCURSOR;
+ { out.prt('n'); goto yyc_l; }
+yy59:
+ ++YYCURSOR;
+ { out.prt('t'); goto yyc_l; }
+yy61:
+ ++YYCURSOR;
+ { out.prt('q'); goto yyc_l; }
+yy63:
+ ++YYCURSOR;
+ { out.caps = true; goto yyc_l; }
+yy65:
+ ++YYCURSOR;
+ { out.prt('-'); goto yyc_l; }
+yy67:
+ ++YYCURSOR;
+ { out.prt('u'); goto yyc_l; }
+yy69:
+ ++YYCURSOR;
+ { out.prt('?'); goto yyc_l; }
+yy71:
+ ++YYCURSOR;
+ { out.prt('v'); goto yyc_l; }
+yy73:
+ ++YYCURSOR;
+ { out.prt('x'); goto yyc_l; }
+yy75:
+ ++YYCURSOR;
+ goto yyc_l;
+yy77:
+ ++YYCURSOR;
+ { out.prt('.'); goto yyc_l; }
+yy79:
+ ++YYCURSOR;
+ { out.prt('z'); goto yyc_l; }
+yy81:
+ ++YYCURSOR;
+ { out.prt('w'); goto yyc_l; }
+yy83:
+ ++YYCURSOR;
+ c = yycn;
+ goto yyc_n;
+yy85:
+ ++YYCURSOR;
+ { out.prt('y'); goto yyc_l; }
+yy87:
+ ++YYCURSOR;
+ goto yy8;
+/* *********************************** */
+yyc_n:
+ yych = *YYCURSOR;
+ if (yych <= 0x2812) {
+ if (yych <= 0x2803) {
+ if (yych <= ' ') {
+ if (yych <= '\t') {
+ if (yych >= 0x0001) goto yy92;
+ } else {
+ if (yych <= '\n') goto yy94;
+ if (yych <= 0x001F) goto yy92;
+ goto yy96;
+ }
+ } else {
+ if (yych <= 0x2800) {
+ if (yych <= 0x27FF) goto yy92;
+ goto yy96;
+ } else {
+ if (yych <= 0x2801) goto yy98;
+ if (yych <= 0x2802) goto yy100;
+ goto yy102;
+ }
+ }
+ } else {
+ if (yych <= 0x2809) {
+ if (yych <= 0x2805) {
+ if (yych <= 0x2804) goto yy104;
+ goto yy92;
+ } else {
+ if (yych <= 0x2806) goto yy106;
+ if (yych <= 0x2808) goto yy92;
+ goto yy108;
+ }
+ } else {
+ if (yych <= 0x280B) {
+ if (yych <= 0x280A) goto yy110;
+ goto yy112;
+ } else {
+ if (yych <= 0x2810) goto yy92;
+ if (yych <= 0x2811) goto yy114;
+ goto yy116;
+ }
+ }
+ }
+ } else {
+ if (yych <= 0x2820) {
+ if (yych <= 0x2818) {
+ if (yych <= 0x2814) {
+ if (yych <= 0x2813) goto yy118;
+ goto yy120;
+ } else {
+ if (yych == 0x2816) goto yy122;
+ goto yy92;
+ }
+ } else {
+ if (yych <= 0x281A) {
+ if (yych <= 0x2819) goto yy124;
+ goto yy126;
+ } else {
+ if (yych <= 0x281B) goto yy128;
+ if (yych <= 0x281F) goto yy92;
+ goto yy130;
+ }
+ }
+ } else {
+ if (yych <= 0x282F) {
+ if (yych <= 0x2824) {
+ if (yych <= 0x2823) goto yy92;
+ goto yy132;
+ } else {
+ if (yych == 0x2826) goto yy134;
+ goto yy92;
+ }
+ } else {
+ if (yych <= 0x2832) {
+ if (yych <= 0x2830) goto yy136;
+ if (yych <= 0x2831) goto yy92;
+ goto yy138;
+ } else {
+ if (yych == 0x283C) goto yy140;
+ goto yy92;
+ }
+ }
+ }
+ }
+ ++YYCURSOR;
+ { if (YYCURSOR != in.str + in.len + 1) out.err(); return; }
+yy92:
+ ++YYCURSOR;
+ { out.err(); return; }
+yy94:
+ yych = *++YYCURSOR;
+ if (yych == '\r') goto yy142;
+yy95:
+ { out.prt('\n'); goto yyc_l; }
+yy96:
+ ++YYCURSOR;
+ { out.prt(' '); goto yyc_l; }
+yy98:
+ ++YYCURSOR;
+ { out.prt('1'); goto yyc_n; }
+yy100:
+ ++YYCURSOR;
+ { out.prt(','); goto yyc_l; }
+yy102:
+ ++YYCURSOR;
+ { out.prt('2'); goto yyc_n; }
+yy104:
+ ++YYCURSOR;
+ { out.prt('\''); goto yyc_l; }
+yy106:
+ ++YYCURSOR;
+ { out.prt(';'); goto yyc_l; }
+yy108:
+ ++YYCURSOR;
+ { out.prt('3'); goto yyc_n; }
+yy110:
+ ++YYCURSOR;
+ { out.prt('9'); goto yyc_n; }
+yy112:
+ ++YYCURSOR;
+ { out.prt('6'); goto yyc_n; }
+yy114:
+ ++YYCURSOR;
+ { out.prt('5'); goto yyc_n; }
+yy116:
+ ++YYCURSOR;
+ { out.prt(':'); goto yyc_l; }
+yy118:
+ ++YYCURSOR;
+ { out.prt('8'); goto yyc_n; }
+yy120:
+ ++YYCURSOR;
+ { out.prt('*'); goto yyc_l; }
+yy122:
+ ++YYCURSOR;
+ { out.prt('!'); goto yyc_l; }
+yy124:
+ ++YYCURSOR;
+ { out.prt('4'); goto yyc_n; }
+yy126:
+ ++YYCURSOR;
+ { out.prt('0'); goto yyc_n; }
+yy128:
+ ++YYCURSOR;
+ { out.prt('7'); goto yyc_n; }
+yy130:
+ ++YYCURSOR;
+ { out.caps = true; goto yyc_l; }
+yy132:
+ ++YYCURSOR;
+ { out.prt('-'); goto yyc_l; }
+yy134:
+ ++YYCURSOR;
+ { out.prt('?'); goto yyc_l; }
+yy136:
+ ++YYCURSOR;
+ c = yycl;
+ goto yyc_l;
+yy138:
+ ++YYCURSOR;
+ { out.prt('.'); goto yyc_l; }
+yy140:
+ ++YYCURSOR;
+ goto yyc_n;
+yy142:
+ ++YYCURSOR;
+ goto yy95;
+}
+
+}
+
+int main()
+{
+ FILE *f;
+
+ f = fopen("06_braille.utf8.txt", "rb");
+ if (f) {
+ printf("utf8:\n");
+ iutf8_t in(f);
+ lex_utf8(in);
+ fclose(f);
+ }
+
+ f = fopen("06_braille.utf16.txt", "rb");
+ if (f) {
+ printf("utf16:\n");
+ iutf16_t in(f);
+ lex_utf16(in);
+ fclose(f);
+ }
+
+ f = fopen("06_braille.utf32.txt", "rb");
+ if (f) {
+ printf("utf32:\n");
+ iutf32_t in(f);
+ lex_utf32(in);
+ fclose(f);
+ }
+
+ f = fopen("06_braille.ucs2.txt", "rb");
+ if (f) {
+ printf("ucs2:\n");
+ iucs2_t in(f);
+ lex_ucs2(in);
+ fclose(f);
+ }
+
+ return 0;
+}
diff --git a/examples/06_braille.cr8i.re b/examples/06_braille.cr8i.re
new file mode 100644
index 00000000..5fa429eb
--- /dev/null
+++ b/examples/06_braille.cr8i.re
@@ -0,0 +1,229 @@
+#include <ctype.h>
+#include <stdio.h>
+
+template<typename char_t>
+struct input_t {
+ size_t len;
+ char_t *str;
+
+ input_t(FILE *f) : len(0), str(NULL)
+ {
+ fseek(f, 0, SEEK_END);
+ len = ftell(f) / sizeof(char_t);
+ fseek(f, 0, SEEK_SET);
+ str = new char_t[len + 1];
+ fread(str, sizeof(char_t), len, f);
+ str[len] = 0;
+ }
+ ~input_t()
+ {
+ delete[]str;
+ }
+};
+
+typedef input_t<unsigned char> iutf8_t;
+typedef input_t<unsigned short> iutf16_t;
+typedef input_t<unsigned int> iutf32_t;
+typedef input_t<unsigned short> iucs2_t;
+
+struct out_t {
+ bool caps;
+
+ out_t() : caps(false) {}
+ void prt(char c)
+ {
+ printf("%c", caps ? toupper(c) : c);
+ caps = false;
+ }
+ void err()
+ {
+ printf(" ... error\n");
+ }
+};
+
+/*!rules:re2c
+ re2c:yyfill:enable = 0;
+
+ // letters
+ l = "\u2830";
+ la = "\u2801"; lb = "\u2803"; lc = "\u2809"; ld = "\u2819"; le = "\u2811";
+ lf = "\u280b"; lg = "\u281b"; lh = "\u2813"; li = "\u280a"; lj = "\u281a";
+ lk = "\u2805"; ll = "\u2807"; lm = "\u280d"; ln = "\u281d"; lo = "\u2815";
+ lp = "\u280f"; lq = "\u281f"; lr = "\u2817"; ls = "\u280e"; lt = "\u281e";
+ lu = "\u2825"; lv = "\u2827"; lw = "\u283a"; lx = "\u282d"; ly = "\u283d";
+ lz = "\u2835";
+
+ // numbers
+ n = "\u283c";
+ n1 = "\u2801"; n2 = "\u2803"; n3 = "\u2809"; n4 = "\u2819"; n5 = "\u2811";
+ n6 = "\u280b"; n7 = "\u281b"; n8 = "\u2813"; n9 = "\u280a"; n0 = "\u281a";
+
+ // punctuation
+ pcom = "\u2802"; psem = "\u2806"; pcln = "\u2812";
+ pdot = "\u2832"; pxcl = "\u2816"; pqst = "\u2826";
+ past = "\u2814"; pdsh = "\u2804"; phyp = "\u2824";
+
+ // formatting
+ fcp = "\u2820"; fsp = "\u2800" | "\x20"; fnl = "\n" | "\n\r";
+
+ <*> * { out.err(); return; }
+ <*> "\x00" { if (YYCURSOR != in.str + in.len + 1) out.err(); return; }
+
+ <*> l :=> l
+ <l> la { out.prt('a'); goto yyc_l; }
+ <l> lb { out.prt('b'); goto yyc_l; }
+ <l> lc { out.prt('c'); goto yyc_l; }
+ <l> ld { out.prt('d'); goto yyc_l; }
+ <l> le { out.prt('e'); goto yyc_l; }
+ <l> lf { out.prt('f'); goto yyc_l; }
+ <l> lg { out.prt('g'); goto yyc_l; }
+ <l> lh { out.prt('h'); goto yyc_l; }
+ <l> li { out.prt('i'); goto yyc_l; }
+ <l> lj { out.prt('j'); goto yyc_l; }
+ <l> lk { out.prt('k'); goto yyc_l; }
+ <l> ll { out.prt('l'); goto yyc_l; }
+ <l> lm { out.prt('m'); goto yyc_l; }
+ <l> ln { out.prt('n'); goto yyc_l; }
+ <l> lo { out.prt('o'); goto yyc_l; }
+ <l> lp { out.prt('p'); goto yyc_l; }
+ <l> lq { out.prt('q'); goto yyc_l; }
+ <l> lr { out.prt('r'); goto yyc_l; }
+ <l> ls { out.prt('s'); goto yyc_l; }
+ <l> lt { out.prt('t'); goto yyc_l; }
+ <l> lu { out.prt('u'); goto yyc_l; }
+ <l> lv { out.prt('v'); goto yyc_l; }
+ <l> lw { out.prt('w'); goto yyc_l; }
+ <l> lx { out.prt('x'); goto yyc_l; }
+ <l> ly { out.prt('y'); goto yyc_l; }
+ <l> lz { out.prt('z'); goto yyc_l; }
+
+ <*> n :=> n
+ <n> n1 { out.prt('1'); goto yyc_n; }
+ <n> n2 { out.prt('2'); goto yyc_n; }
+ <n> n3 { out.prt('3'); goto yyc_n; }
+ <n> n4 { out.prt('4'); goto yyc_n; }
+ <n> n5 { out.prt('5'); goto yyc_n; }
+ <n> n6 { out.prt('6'); goto yyc_n; }
+ <n> n7 { out.prt('7'); goto yyc_n; }
+ <n> n8 { out.prt('8'); goto yyc_n; }
+ <n> n9 { out.prt('9'); goto yyc_n; }
+ <n> n0 { out.prt('0'); goto yyc_n; }
+
+ <*> pcom { out.prt(','); goto yyc_l; }
+ <*> psem { out.prt(';'); goto yyc_l; }
+ <*> pcln { out.prt(':'); goto yyc_l; }
+ <*> pdot { out.prt('.'); goto yyc_l; }
+ <*> pxcl { out.prt('!'); goto yyc_l; }
+ <*> pqst { out.prt('?'); goto yyc_l; }
+ <*> past { out.prt('*'); goto yyc_l; }
+ <*> pdsh { out.prt('\''); goto yyc_l; }
+ <*> phyp { out.prt('-'); goto yyc_l; }
+
+ <*> fcp { out.caps = true; goto yyc_l; }
+ <*> fsp { out.prt(' '); goto yyc_l; }
+ <*> fnl { out.prt('\n'); goto yyc_l; }
+*/
+
+/*!types:re2c*/
+
+static void lex_utf8(const iutf8_t & in)
+{
+ const unsigned char *YYCURSOR = in.str;
+ const unsigned char *YYMARKER;
+ int c = yycl;
+ out_t out;
+ /*!use:re2c
+ re2c:define:YYCTYPE = "unsigned char";
+ re2c:define:YYGETCONDITION = "c";
+ re2c:define:YYGETCONDITION:naked = 1;
+ re2c:define:YYSETCONDITION = "c = @@;";
+ re2c:define:YYSETCONDITION:naked = 1;
+ */
+}
+
+static void lex_utf16(const iutf16_t & in)
+{
+ const unsigned short *YYCURSOR = in.str;
+ int c = yycl;
+ out_t out;
+ /*!use:re2c
+ re2c:define:YYCTYPE = "unsigned int";
+ re2c:define:YYGETCONDITION = "c";
+ re2c:define:YYGETCONDITION:naked = 1;
+ re2c:define:YYSETCONDITION = "c = @@;";
+ re2c:define:YYSETCONDITION:naked = 1;
+ re2c:flags:8 = 0;
+ re2c:flags:x = 1;
+ */
+}
+
+static void lex_utf32(const iutf32_t & in)
+{
+ const unsigned int *YYCURSOR = in.str;
+ int c = yycl;
+ out_t out;
+ /*!use:re2c
+ re2c:define:YYCTYPE = "unsigned int";
+ re2c:define:YYGETCONDITION = "c";
+ re2c:define:YYGETCONDITION:naked = 1;
+ re2c:define:YYSETCONDITION = "c = @@;";
+ re2c:define:YYSETCONDITION:naked = 1;
+ re2c:flags:x = 0;
+ re2c:flags:u = 1;
+ */
+}
+
+static void lex_ucs2(const iucs2_t & in)
+{
+ const unsigned short *YYCURSOR = in.str;
+ int c = yycl;
+ out_t out;
+ /*!use:re2c
+ re2c:define:YYCTYPE = "unsigned int";
+ re2c:define:YYGETCONDITION = "c";
+ re2c:define:YYGETCONDITION:naked = 1;
+ re2c:define:YYSETCONDITION = "c = @@;";
+ re2c:define:YYSETCONDITION:naked = 1;
+ re2c:flags:u = 0;
+ re2c:flags:w = 1;
+ */
+}
+
+int main()
+{
+ FILE *f;
+
+ f = fopen("06_braille.utf8.txt", "rb");
+ if (f) {
+ printf("utf8:\n");
+ iutf8_t in(f);
+ lex_utf8(in);
+ fclose(f);
+ }
+
+ f = fopen("06_braille.utf16.txt", "rb");
+ if (f) {
+ printf("utf16:\n");
+ iutf16_t in(f);
+ lex_utf16(in);
+ fclose(f);
+ }
+
+ f = fopen("06_braille.utf32.txt", "rb");
+ if (f) {
+ printf("utf32:\n");
+ iutf32_t in(f);
+ lex_utf32(in);
+ fclose(f);
+ }
+
+ f = fopen("06_braille.ucs2.txt", "rb");
+ if (f) {
+ printf("ucs2:\n");
+ iucs2_t in(f);
+ lex_ucs2(in);
+ fclose(f);
+ }
+
+ return 0;
+}
diff --git a/examples/07_cxx98.i.c b/examples/07_cxx98.i.c
new file mode 100644
index 00000000..c5f088c9
--- /dev/null
+++ b/examples/07_cxx98.i.c
@@ -0,0 +1,8332 @@
+/* Generated by re2c */
+#include <float.h>
+#include <limits.h>
+#include <stdio.h>
+#include <string.h>
+
+#define YYMAXFILL 17
+
+static const size_t SIZE = 64 * 1024;
+
+struct input_t {
+ unsigned char buf[SIZE + YYMAXFILL];
+ unsigned char *lim;
+ unsigned char *cur;
+ unsigned char *mar;
+ unsigned char *tok;
+ bool eof;
+
+ FILE *const file;
+
+ input_t(FILE *f)
+ : buf()
+ , lim(buf + SIZE)
+ , cur(lim)
+ , mar(lim)
+ , tok(lim)
+ , eof(false)
+ , file(f)
+ {}
+ bool fill(size_t need)
+ {
+ if (eof) {
+ return false;
+ }
+ const size_t free = tok - buf;
+ if (free < need) {
+ return false;
+ }
+ memmove(buf, tok, lim - tok);
+ lim -= free;
+ cur -= free;
+ mar -= free;
+ tok -= free;
+ lim += fread(lim, 1, free, file);
+ if (lim < buf + SIZE) {
+ eof = true;
+ memset(lim, 0, YYMAXFILL);
+ lim += YYMAXFILL;
+ }
+ return true;
+ }
+};
+
+
+
+template<int base>
+static bool adddgt(unsigned long &u, unsigned long d)
+{
+ if (u > (ULONG_MAX - d) / base) {
+ return false;
+ }
+ u = u * base + d;
+ return true;
+}
+
+static bool lex_oct(const unsigned char *s, const unsigned char *e, unsigned long &u)
+{
+ for (u = 0, ++s; s < e; ++s) {
+ if (!adddgt<8>(u, *s - 0x30u)) {
+ return false;
+ }
+ }
+ return true;
+}
+
+static bool lex_dec(const unsigned char *s, const unsigned char *e, unsigned long &u)
+{
+ for (u = 0; s < e; ++s) {
+ if (!adddgt<10>(u, *s - 0x30u)) {
+ return false;
+ }
+ }
+ return true;
+}
+
+static bool lex_hex(const unsigned char *s, const unsigned char *e, unsigned long &u)
+{
+ for (u = 0, s += 2; s < e;) {
+
+{
+ unsigned char yych;
+ yych = *s;
+ switch (yych) {
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F': goto yy4;
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ ++s;
+ { if (!adddgt<16>(u, s[-1] - 0x30u)) return false; continue; }
+yy4:
+ ++s;
+ { if (!adddgt<16>(u, s[-1] - 0x41u + 10)) return false; continue; }
+yy6:
+ ++s;
+ { if (!adddgt<16>(u, s[-1] - 0x61u + 10)) return false; continue; }
+}
+
+ }
+ return true;
+}
+
+static bool lex_str(input_t &in, unsigned char q)
+{
+ printf("%c", q);
+ for (unsigned long u = q;; printf("\\x%lx", u)) {
+ in.tok = in.cur;
+
+{
+ unsigned char yych;
+ if ((in.lim - in.cur) < 10) if (!in.fill(10)) return false;
+ yych = *in.cur;
+ switch (yych) {
+ case '\n': goto yy12;
+ case '\\': goto yy14;
+ default: goto yy10;
+ }
+yy10:
+ ++in.cur;
+ { u = in.tok[0]; if (u == q) break; continue; }
+yy12:
+ ++in.cur;
+yy13:
+ { return false; }
+yy14:
+ yych = *(in.mar = ++in.cur);
+ switch (yych) {
+ case '"': goto yy15;
+ case '\'': goto yy17;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7': goto yy19;
+ case '?': goto yy21;
+ case 'U': goto yy23;
+ case '\\': goto yy25;
+ case 'a': goto yy27;
+ case 'b': goto yy29;
+ case 'f': goto yy31;
+ case 'n': goto yy33;
+ case 'r': goto yy35;
+ case 't': goto yy37;
+ case 'u': goto yy39;
+ case 'v': goto yy40;
+ case 'x': goto yy42;
+ default: goto yy13;
+ }
+yy15:
+ ++in.cur;
+ { u = '"'; continue; }
+yy17:
+ ++in.cur;
+ { u = '\''; continue; }
+yy19:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7': goto yy43;
+ default: goto yy20;
+ }
+yy20:
+ { lex_oct(in.tok, in.cur, u); continue; }
+yy21:
+ ++in.cur;
+ { u = '?'; continue; }
+yy23:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy44;
+ default: goto yy24;
+ }
+yy24:
+ in.cur = in.mar;
+ goto yy13;
+yy25:
+ ++in.cur;
+ { u = '\\'; continue; }
+yy27:
+ ++in.cur;
+ { u = '\a'; continue; }
+yy29:
+ ++in.cur;
+ { u = '\b'; continue; }
+yy31:
+ ++in.cur;
+ { u = '\f'; continue; }
+yy33:
+ ++in.cur;
+ { u = '\n'; continue; }
+yy35:
+ ++in.cur;
+ { u = '\r'; continue; }
+yy37:
+ ++in.cur;
+ { u = '\t'; continue; }
+yy39:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy45;
+ default: goto yy24;
+ }
+yy40:
+ ++in.cur;
+ { u = '\v'; continue; }
+yy42:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy46;
+ default: goto yy24;
+ }
+yy43:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7': goto yy49;
+ default: goto yy20;
+ }
+yy44:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy50;
+ default: goto yy24;
+ }
+yy45:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy51;
+ default: goto yy24;
+ }
+yy46:
+ ++in.cur;
+ if (in.lim <= in.cur) if (!in.fill(1)) return false;
+ yych = *in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy46;
+ default: goto yy48;
+ }
+yy48:
+ { if (!lex_hex(in.tok, in.cur, u)) return false; continue; }
+yy49:
+ ++in.cur;
+ goto yy20;
+yy50:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy52;
+ default: goto yy24;
+ }
+yy51:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy53;
+ default: goto yy24;
+ }
+yy52:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy54;
+ default: goto yy24;
+ }
+yy53:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy55;
+ default: goto yy24;
+ }
+yy54:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy57;
+ default: goto yy24;
+ }
+yy55:
+ ++in.cur;
+ { lex_hex(in.tok, in.cur, u); continue; }
+yy57:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy58;
+ default: goto yy24;
+ }
+yy58:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy59;
+ default: goto yy24;
+ }
+yy59:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy60;
+ default: goto yy24;
+ }
+yy60:
+ ++in.cur;
+ { lex_hex(in.tok, in.cur, u); continue; }
+}
+
+ }
+ printf("%c", q);
+ return true;
+}
+
+static bool lex_flt(const unsigned char *s)
+{
+ double d = 0;
+ double x = 1;
+ int e = 0;
+
+mant_int:
+
+{
+ unsigned char yych;
+ yych = *s;
+ switch (yych) {
+ case '.': goto yy66;
+ case 'E':
+ case 'e': goto yy68;
+ default: goto yy64;
+ }
+yy64:
+ ++s;
+ { d = (d * 10) + (s[-1] - '0'); goto mant_int; }
+yy66:
+ ++s;
+ { goto mant_frac; }
+yy68:
+ ++s;
+ { goto exp_sign; }
+}
+
+mant_frac:
+
+{
+ unsigned char yych;
+ yych = *s;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy73;
+ case 'E':
+ case 'e': goto yy75;
+ default: goto yy72;
+ }
+yy72:
+ { goto sfx; }
+yy73:
+ ++s;
+ { d += (x /= 10) * (s[-1] - '0'); goto mant_frac; }
+yy75:
+ ++s;
+ { goto exp_sign; }
+}
+
+exp_sign:
+
+{
+ unsigned char yych;
+ yych = *s;
+ switch (yych) {
+ case '+': goto yy80;
+ case '-': goto yy81;
+ default: goto yy79;
+ }
+yy79:
+ { x = 1e+1; goto exp; }
+yy80:
+ ++s;
+ goto yy79;
+yy81:
+ ++s;
+ { x = 1e-1; goto exp; }
+}
+
+exp:
+
+{
+ unsigned char yych;
+ yych = *s;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy86;
+ default: goto yy85;
+ }
+yy85:
+ { for (; e > 0; --e) d *= x; goto sfx; }
+yy86:
+ ++s;
+ { e = (e * 10) + (s[-1] - '0'); goto exp; }
+}
+
+sfx:
+
+{
+ unsigned char yych;
+ yych = *s;
+ switch (yych) {
+ case 'F':
+ case 'f': goto yy92;
+ default: goto yy90;
+ }
+yy90:
+ ++s;
+ { goto end; }
+yy92:
+ ++s;
+ { if (d > FLT_MAX) return false; goto end; }
+}
+
+end:
+ printf("%g", d);
+ return true;
+}
+
+static bool lex(input_t &in)
+{
+ unsigned long u;
+ for (;;) {
+ in.tok = in.cur;
+
+{
+ unsigned char yych;
+ unsigned int yyaccept = 0;
+ if ((in.lim - in.cur) < 17) if (!in.fill(17)) return false;
+ yych = *in.cur;
+ switch (yych) {
+ case 0x00: goto yy96;
+ case '\t':
+ case '\n':
+ case '\v':
+ case '\r':
+ case ' ': goto yy100;
+ case '!': goto yy103;
+ case '"': goto yy105;
+ case '#': goto yy107;
+ case '%': goto yy109;
+ case '&': goto yy111;
+ case '\'': goto yy113;
+ case '(': goto yy114;
+ case ')': goto yy116;
+ case '*': goto yy118;
+ case '+': goto yy120;
+ case ',': goto yy122;
+ case '-': goto yy124;
+ case '.': goto yy126;
+ case '/': goto yy128;
+ case '0': goto yy130;
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy132;
+ case ':': goto yy135;
+ case ';': goto yy137;
+ case '<': goto yy139;
+ case '=': goto yy141;
+ case '>': goto yy143;
+ case '?': goto yy145;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'h':
+ case 'j':
+ case 'k':
+ case 'q':
+ case 'y':
+ case 'z': goto yy147;
+ case 'L': goto yy150;
+ case '[': goto yy151;
+ case ']': goto yy153;
+ case '^': goto yy155;
+ case 'a': goto yy157;
+ case 'b': goto yy158;
+ case 'c': goto yy159;
+ case 'd': goto yy160;
+ case 'e': goto yy161;
+ case 'f': goto yy162;
+ case 'g': goto yy163;
+ case 'i': goto yy164;
+ case 'l': goto yy165;
+ case 'm': goto yy166;
+ case 'n': goto yy167;
+ case 'o': goto yy168;
+ case 'p': goto yy169;
+ case 'r': goto yy170;
+ case 's': goto yy171;
+ case 't': goto yy172;
+ case 'u': goto yy173;
+ case 'v': goto yy174;
+ case 'w': goto yy175;
+ case 'x': goto yy176;
+ case '{': goto yy177;
+ case '|': goto yy179;
+ case '}': goto yy181;
+ case '~': goto yy183;
+ default: goto yy98;
+ }
+yy96:
+ ++in.cur;
+ { return in.lim - in.tok == YYMAXFILL; }
+yy98:
+ ++in.cur;
+ { return false; }
+yy100:
+ yyaccept = 0;
+ in.mar = ++in.cur;
+ if (in.lim <= in.cur) if (!in.fill(1)) return false;
+ yych = *in.cur;
+ switch (yych) {
+ case '\t':
+ case '\n':
+ case '\v':
+ case '\r':
+ case ' ': goto yy100;
+ case '/': goto yy185;
+ default: goto yy102;
+ }
+yy102:
+ { printf(" "); continue; }
+yy103:
+ yych = *++in.cur;
+ switch (yych) {
+ case '=': goto yy187;
+ default: goto yy104;
+ }
+yy104:
+ { printf("!"); continue; }
+yy105:
+ ++in.cur;
+yy106:
+ { if (!lex_str(in, in.cur[-1])) return false; continue; }
+yy107:
+ ++in.cur;
+ if (in.lim <= in.cur) if (!in.fill(1)) return false;
+ yych = *in.cur;
+ switch (yych) {
+ case '\n': goto yy189;
+ case '\\': goto yy191;
+ default: goto yy107;
+ }
+yy109:
+ yych = *++in.cur;
+ switch (yych) {
+ case ':': goto yy107;
+ case '=': goto yy193;
+ case '>': goto yy181;
+ default: goto yy110;
+ }
+yy110:
+ { printf("%%"); continue; }
+yy111:
+ yych = *++in.cur;
+ switch (yych) {
+ case '&': goto yy195;
+ case '=': goto yy197;
+ default: goto yy112;
+ }
+yy112:
+ { printf("&"); continue; }
+yy113:
+ yych = *++in.cur;
+ switch (yych) {
+ case '\'': goto yy199;
+ default: goto yy106;
+ }
+yy114:
+ ++in.cur;
+ { printf("("); continue; }
+yy116:
+ ++in.cur;
+ { printf(")"); continue; }
+yy118:
+ yych = *++in.cur;
+ switch (yych) {
+ case '=': goto yy201;
+ default: goto yy119;
+ }
+yy119:
+ { printf("*"); continue; }
+yy120:
+ yych = *++in.cur;
+ switch (yych) {
+ case '+': goto yy203;
+ case '=': goto yy205;
+ default: goto yy121;
+ }
+yy121:
+ { printf("+"); continue; }
+yy122:
+ ++in.cur;
+ { printf(","); continue; }
+yy124:
+ yych = *++in.cur;
+ switch (yych) {
+ case '-': goto yy207;
+ case '=': goto yy209;
+ case '>': goto yy211;
+ default: goto yy125;
+ }
+yy125:
+ { printf("-"); continue; }
+yy126:
+ yyaccept = 1;
+ yych = *(in.mar = ++in.cur);
+ switch (yych) {
+ case '*': goto yy213;
+ case '.': goto yy215;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy216;
+ default: goto yy127;
+ }
+yy127:
+ { printf("."); continue; }
+yy128:
+ yych = *++in.cur;
+ switch (yych) {
+ case '*': goto yy219;
+ case '/': goto yy221;
+ case '=': goto yy223;
+ default: goto yy129;
+ }
+yy129:
+ { printf("/"); continue; }
+yy130:
+ yyaccept = 2;
+ yych = *(in.mar = ++in.cur);
+ switch (yych) {
+ case 'X':
+ case 'x': goto yy230;
+ default: goto yy226;
+ }
+yy131:
+ { if (!lex_oct(in.tok, in.cur, u)) return false; goto sfx; }
+yy132:
+ yyaccept = 3;
+ in.mar = ++in.cur;
+ if ((in.lim - in.cur) < 3) if (!in.fill(3)) return false;
+ yych = *in.cur;
+ switch (yych) {
+ case '.': goto yy216;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy132;
+ case 'E':
+ case 'e': goto yy229;
+ default: goto yy134;
+ }
+yy134:
+ { if (!lex_dec(in.tok, in.cur, u)) return false; goto sfx; }
+yy135:
+ yych = *++in.cur;
+ switch (yych) {
+ case ':': goto yy231;
+ case '>': goto yy153;
+ default: goto yy136;
+ }
+yy136:
+ { printf(":"); continue; }
+yy137:
+ ++in.cur;
+ { printf(";"); continue; }
+yy139:
+ yych = *++in.cur;
+ switch (yych) {
+ case '%': goto yy177;
+ case ':': goto yy151;
+ case '<': goto yy233;
+ case '=': goto yy235;
+ default: goto yy140;
+ }
+yy140:
+ { printf("<"); continue; }
+yy141:
+ yych = *++in.cur;
+ switch (yych) {
+ case '=': goto yy237;
+ default: goto yy142;
+ }
+yy142:
+ { printf("="); continue; }
+yy143:
+ yych = *++in.cur;
+ switch (yych) {
+ case '=': goto yy239;
+ case '>': goto yy241;
+ default: goto yy144;
+ }
+yy144:
+ { printf(">"); continue; }
+yy145:
+ ++in.cur;
+ { printf("?"); continue; }
+yy147:
+ ++in.cur;
+ if (in.lim <= in.cur) if (!in.fill(1)) return false;
+ yych = *in.cur;
+yy148:
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy149;
+ }
+yy149:
+ { printf("%.*s", in.cur - in.tok, in.tok); continue; }
+yy150:
+ yych = *++in.cur;
+ switch (yych) {
+ case '"': goto yy105;
+ case '\'': goto yy113;
+ default: goto yy148;
+ }
+yy151:
+ ++in.cur;
+ { printf("["); continue; }
+yy153:
+ ++in.cur;
+ { printf("]"); continue; }
+yy155:
+ yych = *++in.cur;
+ switch (yych) {
+ case '=': goto yy243;
+ default: goto yy156;
+ }
+yy156:
+ { printf("^"); continue; }
+yy157:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'n': goto yy245;
+ case 's': goto yy246;
+ case 'u': goto yy247;
+ default: goto yy148;
+ }
+yy158:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'i': goto yy248;
+ case 'o': goto yy249;
+ case 'r': goto yy250;
+ default: goto yy148;
+ }
+yy159:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'a': goto yy251;
+ case 'h': goto yy252;
+ case 'l': goto yy253;
+ case 'o': goto yy254;
+ default: goto yy148;
+ }
+yy160:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'e': goto yy255;
+ case 'o': goto yy256;
+ case 'y': goto yy258;
+ default: goto yy148;
+ }
+yy161:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'l': goto yy259;
+ case 'n': goto yy260;
+ case 'x': goto yy261;
+ default: goto yy148;
+ }
+yy162:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'a': goto yy262;
+ case 'l': goto yy263;
+ case 'o': goto yy264;
+ case 'r': goto yy265;
+ default: goto yy148;
+ }
+yy163:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'o': goto yy266;
+ default: goto yy148;
+ }
+yy164:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'f': goto yy267;
+ case 'n': goto yy269;
+ default: goto yy148;
+ }
+yy165:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'o': goto yy270;
+ default: goto yy148;
+ }
+yy166:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'u': goto yy271;
+ default: goto yy148;
+ }
+yy167:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'a': goto yy272;
+ case 'e': goto yy273;
+ case 'o': goto yy274;
+ default: goto yy148;
+ }
+yy168:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'p': goto yy275;
+ case 'r': goto yy276;
+ default: goto yy148;
+ }
+yy169:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'r': goto yy278;
+ case 'u': goto yy279;
+ default: goto yy148;
+ }
+yy170:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'e': goto yy280;
+ default: goto yy148;
+ }
+yy171:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'h': goto yy281;
+ case 'i': goto yy282;
+ case 't': goto yy283;
+ case 'w': goto yy284;
+ default: goto yy148;
+ }
+yy172:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'e': goto yy285;
+ case 'h': goto yy286;
+ case 'r': goto yy287;
+ case 'y': goto yy288;
+ default: goto yy148;
+ }
+yy173:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'n': goto yy289;
+ case 's': goto yy290;
+ default: goto yy148;
+ }
+yy174:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'i': goto yy291;
+ case 'o': goto yy292;
+ default: goto yy148;
+ }
+yy175:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'c': goto yy293;
+ case 'h': goto yy294;
+ default: goto yy148;
+ }
+yy176:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'o': goto yy295;
+ default: goto yy148;
+ }
+yy177:
+ ++in.cur;
+ { printf("{"); continue; }
+yy179:
+ yych = *++in.cur;
+ switch (yych) {
+ case '=': goto yy296;
+ case '|': goto yy298;
+ default: goto yy180;
+ }
+yy180:
+ { printf("|"); continue; }
+yy181:
+ ++in.cur;
+ { printf("}"); continue; }
+yy183:
+ ++in.cur;
+yy184:
+ { printf("~"); continue; }
+yy185:
+ ++in.cur;
+ if (in.lim <= in.cur) if (!in.fill(1)) return false;
+ yych = *in.cur;
+ switch (yych) {
+ case '*': goto yy219;
+ case '/': goto yy221;
+ default: goto yy186;
+ }
+yy186:
+ in.cur = in.mar;
+ switch (yyaccept) {
+ case 0: goto yy102;
+ case 1: goto yy127;
+ case 2: goto yy131;
+ case 3: goto yy134;
+ default: goto yy218;
+ }
+yy187:
+ ++in.cur;
+yy188:
+ { printf("!="); continue; }
+yy189:
+ ++in.cur;
+ { continue; }
+yy191:
+ ++in.cur;
+ if (in.lim <= in.cur) if (!in.fill(1)) return false;
+ yych = *in.cur;
+ switch (yych) {
+ case '\\': goto yy191;
+ default: goto yy107;
+ }
+yy193:
+ ++in.cur;
+ { printf("%%="); continue; }
+yy195:
+ ++in.cur;
+yy196:
+ { printf("&&"); continue; }
+yy197:
+ ++in.cur;
+yy198:
+ { printf("&="); continue; }
+yy199:
+ ++in.cur;
+ { return false; }
+yy201:
+ ++in.cur;
+ { printf("*="); continue; }
+yy203:
+ ++in.cur;
+ { printf("++"); continue; }
+yy205:
+ ++in.cur;
+ { printf("+="); continue; }
+yy207:
+ ++in.cur;
+ { printf("--"); continue; }
+yy209:
+ ++in.cur;
+ { printf("-="); continue; }
+yy211:
+ yych = *++in.cur;
+ switch (yych) {
+ case '*': goto yy299;
+ default: goto yy212;
+ }
+yy212:
+ { printf("->"); continue; }
+yy213:
+ ++in.cur;
+ { printf("."); continue; }
+yy215:
+ yych = *++in.cur;
+ switch (yych) {
+ case '.': goto yy301;
+ default: goto yy186;
+ }
+yy216:
+ yyaccept = 4;
+ in.mar = ++in.cur;
+ if ((in.lim - in.cur) < 3) if (!in.fill(3)) return false;
+ yych = *in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy216;
+ case 'E':
+ case 'e': goto yy229;
+ case 'F':
+ case 'L':
+ case 'f':
+ case 'l': goto yy303;
+ default: goto yy218;
+ }
+yy218:
+ { if (lex_flt(in.tok)) continue; return false; }
+yy219:
+ ++in.cur;
+ if (in.lim <= in.cur) if (!in.fill(1)) return false;
+ yych = *in.cur;
+ switch (yych) {
+ case '*': goto yy304;
+ default: goto yy219;
+ }
+yy221:
+ ++in.cur;
+ if (in.lim <= in.cur) if (!in.fill(1)) return false;
+ yych = *in.cur;
+ switch (yych) {
+ case '\n': goto yy100;
+ default: goto yy221;
+ }
+yy223:
+ ++in.cur;
+ { printf("/="); continue; }
+yy225:
+ yyaccept = 2;
+ in.mar = ++in.cur;
+ if ((in.lim - in.cur) < 3) if (!in.fill(3)) return false;
+ yych = *in.cur;
+yy226:
+ switch (yych) {
+ case '.': goto yy216;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7': goto yy225;
+ case '8':
+ case '9': goto yy227;
+ case 'E':
+ case 'e': goto yy229;
+ default: goto yy131;
+ }
+yy227:
+ ++in.cur;
+ if ((in.lim - in.cur) < 3) if (!in.fill(3)) return false;
+ yych = *in.cur;
+ switch (yych) {
+ case '.': goto yy216;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy227;
+ case 'E':
+ case 'e': goto yy229;
+ default: goto yy186;
+ }
+yy229:
+ yych = *++in.cur;
+ switch (yych) {
+ case '+':
+ case '-': goto yy305;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy306;
+ default: goto yy186;
+ }
+yy230:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy308;
+ default: goto yy186;
+ }
+yy231:
+ ++in.cur;
+ { printf("::"); continue; }
+yy233:
+ yych = *++in.cur;
+ switch (yych) {
+ case '=': goto yy311;
+ default: goto yy234;
+ }
+yy234:
+ { printf("<<"); continue; }
+yy235:
+ ++in.cur;
+ { printf("<="); continue; }
+yy237:
+ ++in.cur;
+ { printf("=="); continue; }
+yy239:
+ ++in.cur;
+ { printf(">="); continue; }
+yy241:
+ yych = *++in.cur;
+ switch (yych) {
+ case '=': goto yy313;
+ default: goto yy242;
+ }
+yy242:
+ { printf(">>"); continue; }
+yy243:
+ ++in.cur;
+yy244:
+ { printf("^="); continue; }
+yy245:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'd': goto yy315;
+ default: goto yy148;
+ }
+yy246:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'm': goto yy316;
+ default: goto yy148;
+ }
+yy247:
+ yych = *++in.cur;
+ switch (yych) {
+ case 't': goto yy318;
+ default: goto yy148;
+ }
+yy248:
+ yych = *++in.cur;
+ switch (yych) {
+ case 't': goto yy319;
+ default: goto yy148;
+ }
+yy249:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'o': goto yy320;
+ default: goto yy148;
+ }
+yy250:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'e': goto yy321;
+ default: goto yy148;
+ }
+yy251:
+ yych = *++in.cur;
+ switch (yych) {
+ case 's': goto yy322;
+ case 't': goto yy323;
+ default: goto yy148;
+ }
+yy252:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'a': goto yy324;
+ default: goto yy148;
+ }
+yy253:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'a': goto yy325;
+ default: goto yy148;
+ }
+yy254:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'm': goto yy326;
+ case 'n': goto yy327;
+ default: goto yy148;
+ }
+yy255:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'f': goto yy328;
+ case 'l': goto yy329;
+ default: goto yy148;
+ }
+yy256:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ case 'u': goto yy330;
+ default: goto yy257;
+ }
+yy257:
+ { printf("DO"); continue; }
+yy258:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'n': goto yy331;
+ default: goto yy148;
+ }
+yy259:
+ yych = *++in.cur;
+ switch (yych) {
+ case 's': goto yy332;
+ default: goto yy148;
+ }
+yy260:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'u': goto yy333;
+ default: goto yy148;
+ }
+yy261:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'p': goto yy334;
+ case 't': goto yy335;
+ default: goto yy148;
+ }
+yy262:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'l': goto yy336;
+ default: goto yy148;
+ }
+yy263:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'o': goto yy337;
+ default: goto yy148;
+ }
+yy264:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'r': goto yy338;
+ default: goto yy148;
+ }
+yy265:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'i': goto yy340;
+ default: goto yy148;
+ }
+yy266:
+ yych = *++in.cur;
+ switch (yych) {
+ case 't': goto yy341;
+ default: goto yy148;
+ }
+yy267:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy268;
+ }
+yy268:
+ { printf("IF"); continue; }
+yy269:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'l': goto yy342;
+ case 't': goto yy343;
+ default: goto yy148;
+ }
+yy270:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'n': goto yy345;
+ default: goto yy148;
+ }
+yy271:
+ yych = *++in.cur;
+ switch (yych) {
+ case 't': goto yy346;
+ default: goto yy148;
+ }
+yy272:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'm': goto yy347;
+ default: goto yy148;
+ }
+yy273:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'w': goto yy348;
+ default: goto yy148;
+ }
+yy274:
+ yych = *++in.cur;
+ switch (yych) {
+ case 't': goto yy350;
+ default: goto yy148;
+ }
+yy275:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'e': goto yy351;
+ default: goto yy148;
+ }
+yy276:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ case '_': goto yy352;
+ default: goto yy277;
+ }
+yy277:
+ { printf("||"); continue; }
+yy278:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'i': goto yy353;
+ case 'o': goto yy354;
+ default: goto yy148;
+ }
+yy279:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'b': goto yy355;
+ default: goto yy148;
+ }
+yy280:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'g': goto yy356;
+ case 'i': goto yy357;
+ case 't': goto yy358;
+ default: goto yy148;
+ }
+yy281:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'o': goto yy359;
+ default: goto yy148;
+ }
+yy282:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'g': goto yy360;
+ case 'z': goto yy361;
+ default: goto yy148;
+ }
+yy283:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'a': goto yy362;
+ case 'r': goto yy363;
+ default: goto yy148;
+ }
+yy284:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'i': goto yy364;
+ default: goto yy148;
+ }
+yy285:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'm': goto yy365;
+ default: goto yy148;
+ }
+yy286:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'i': goto yy366;
+ case 'r': goto yy367;
+ default: goto yy148;
+ }
+yy287:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'u': goto yy368;
+ case 'y': goto yy369;
+ default: goto yy148;
+ }
+yy288:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'p': goto yy371;
+ default: goto yy148;
+ }
+yy289:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'i': goto yy372;
+ case 's': goto yy373;
+ default: goto yy148;
+ }
+yy290:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'i': goto yy374;
+ default: goto yy148;
+ }
+yy291:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'r': goto yy375;
+ default: goto yy148;
+ }
+yy292:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'i': goto yy376;
+ case 'l': goto yy377;
+ default: goto yy148;
+ }
+yy293:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'h': goto yy378;
+ default: goto yy148;
+ }
+yy294:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'i': goto yy379;
+ default: goto yy148;
+ }
+yy295:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'r': goto yy380;
+ default: goto yy148;
+ }
+yy296:
+ ++in.cur;
+yy297:
+ { printf("|="); continue; }
+yy298:
+ ++in.cur;
+ goto yy277;
+yy299:
+ ++in.cur;
+ { printf("->*"); continue; }
+yy301:
+ ++in.cur;
+ { printf("..."); continue; }
+yy303:
+ ++in.cur;
+ goto yy218;
+yy304:
+ ++in.cur;
+ if (in.lim <= in.cur) if (!in.fill(1)) return false;
+ yych = *in.cur;
+ switch (yych) {
+ case '/': goto yy100;
+ default: goto yy219;
+ }
+yy305:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy306;
+ default: goto yy186;
+ }
+yy306:
+ ++in.cur;
+ if (in.lim <= in.cur) if (!in.fill(1)) return false;
+ yych = *in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy306;
+ case 'F':
+ case 'L':
+ case 'f':
+ case 'l': goto yy303;
+ default: goto yy218;
+ }
+yy308:
+ ++in.cur;
+ if (in.lim <= in.cur) if (!in.fill(1)) return false;
+ yych = *in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy308;
+ default: goto yy310;
+ }
+yy310:
+ { if (!lex_hex(in.tok, in.cur, u)) return false; goto sfx; }
+yy311:
+ ++in.cur;
+ { printf("<<="); continue; }
+yy313:
+ ++in.cur;
+ { printf(">>="); continue; }
+yy315:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ case '_': goto yy381;
+ default: goto yy196;
+ }
+yy316:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy317;
+ }
+yy317:
+ { printf("ASM"); continue; }
+yy318:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'o': goto yy382;
+ default: goto yy148;
+ }
+yy319:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'a': goto yy384;
+ case 'o': goto yy385;
+ default: goto yy148;
+ }
+yy320:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'l': goto yy386;
+ default: goto yy148;
+ }
+yy321:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'a': goto yy388;
+ default: goto yy148;
+ }
+yy322:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'e': goto yy389;
+ default: goto yy148;
+ }
+yy323:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'c': goto yy391;
+ default: goto yy148;
+ }
+yy324:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'r': goto yy392;
+ default: goto yy148;
+ }
+yy325:
+ yych = *++in.cur;
+ switch (yych) {
+ case 's': goto yy394;
+ default: goto yy148;
+ }
+yy326:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'p': goto yy395;
+ default: goto yy148;
+ }
+yy327:
+ yych = *++in.cur;
+ switch (yych) {
+ case 's': goto yy396;
+ case 't': goto yy397;
+ default: goto yy148;
+ }
+yy328:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'a': goto yy398;
+ default: goto yy148;
+ }
+yy329:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'e': goto yy399;
+ default: goto yy148;
+ }
+yy330:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'b': goto yy400;
+ default: goto yy148;
+ }
+yy331:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'a': goto yy401;
+ default: goto yy148;
+ }
+yy332:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'e': goto yy402;
+ default: goto yy148;
+ }
+yy333:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'm': goto yy404;
+ default: goto yy148;
+ }
+yy334:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'l': goto yy406;
+ case 'o': goto yy407;
+ default: goto yy148;
+ }
+yy335:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'e': goto yy408;
+ default: goto yy148;
+ }
+yy336:
+ yych = *++in.cur;
+ switch (yych) {
+ case 's': goto yy409;
+ default: goto yy148;
+ }
+yy337:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'a': goto yy410;
+ default: goto yy148;
+ }
+yy338:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy339;
+ }
+yy339:
+ { printf("FOR"); continue; }
+yy340:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'e': goto yy411;
+ default: goto yy148;
+ }
+yy341:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'o': goto yy412;
+ default: goto yy148;
+ }
+yy342:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'i': goto yy414;
+ default: goto yy148;
+ }
+yy343:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy344;
+ }
+yy344:
+ { printf("INT"); continue; }
+yy345:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'g': goto yy415;
+ default: goto yy148;
+ }
+yy346:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'a': goto yy417;
+ default: goto yy148;
+ }
+yy347:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'e': goto yy418;
+ default: goto yy148;
+ }
+yy348:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy349;
+ }
+yy349:
+ { printf("new"); continue; }
+yy350:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ case '_': goto yy419;
+ default: goto yy104;
+ }
+yy351:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'r': goto yy420;
+ default: goto yy148;
+ }
+yy352:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'e': goto yy421;
+ default: goto yy148;
+ }
+yy353:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'v': goto yy422;
+ default: goto yy148;
+ }
+yy354:
+ yych = *++in.cur;
+ switch (yych) {
+ case 't': goto yy423;
+ default: goto yy148;
+ }
+yy355:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'l': goto yy424;
+ default: goto yy148;
+ }
+yy356:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'i': goto yy425;
+ default: goto yy148;
+ }
+yy357:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'n': goto yy426;
+ default: goto yy148;
+ }
+yy358:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'u': goto yy427;
+ default: goto yy148;
+ }
+yy359:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'r': goto yy428;
+ default: goto yy148;
+ }
+yy360:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'n': goto yy429;
+ default: goto yy148;
+ }
+yy361:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'e': goto yy430;
+ default: goto yy148;
+ }
+yy362:
+ yych = *++in.cur;
+ switch (yych) {
+ case 't': goto yy431;
+ default: goto yy148;
+ }
+yy363:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'u': goto yy432;
+ default: goto yy148;
+ }
+yy364:
+ yych = *++in.cur;
+ switch (yych) {
+ case 't': goto yy433;
+ default: goto yy148;
+ }
+yy365:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'p': goto yy434;
+ default: goto yy148;
+ }
+yy366:
+ yych = *++in.cur;
+ switch (yych) {
+ case 's': goto yy435;
+ default: goto yy148;
+ }
+yy367:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'o': goto yy437;
+ default: goto yy148;
+ }
+yy368:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'e': goto yy438;
+ default: goto yy148;
+ }
+yy369:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy370;
+ }
+yy370:
+ { printf("TRY"); continue; }
+yy371:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'e': goto yy440;
+ default: goto yy148;
+ }
+yy372:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'o': goto yy441;
+ default: goto yy148;
+ }
+yy373:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'i': goto yy442;
+ default: goto yy148;
+ }
+yy374:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'n': goto yy443;
+ default: goto yy148;
+ }
+yy375:
+ yych = *++in.cur;
+ switch (yych) {
+ case 't': goto yy444;
+ default: goto yy148;
+ }
+yy376:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'd': goto yy445;
+ default: goto yy148;
+ }
+yy377:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'a': goto yy447;
+ default: goto yy148;
+ }
+yy378:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'a': goto yy448;
+ default: goto yy148;
+ }
+yy379:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'l': goto yy449;
+ default: goto yy148;
+ }
+yy380:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ case '_': goto yy450;
+ default: goto yy156;
+ }
+yy381:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'e': goto yy451;
+ default: goto yy148;
+ }
+yy382:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy383;
+ }
+yy383:
+ { printf("AUTO"); continue; }
+yy384:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'n': goto yy452;
+ default: goto yy148;
+ }
+yy385:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'r': goto yy453;
+ default: goto yy148;
+ }
+yy386:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy387;
+ }
+yy387:
+ { printf("BOOL"); continue; }
+yy388:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'k': goto yy454;
+ default: goto yy148;
+ }
+yy389:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy390;
+ }
+yy390:
+ { printf("CASE"); continue; }
+yy391:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'h': goto yy456;
+ default: goto yy148;
+ }
+yy392:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy393;
+ }
+yy393:
+ { printf("CHAR"); continue; }
+yy394:
+ yych = *++in.cur;
+ switch (yych) {
+ case 's': goto yy458;
+ default: goto yy148;
+ }
+yy395:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'l': goto yy460;
+ default: goto yy148;
+ }
+yy396:
+ yych = *++in.cur;
+ switch (yych) {
+ case 't': goto yy461;
+ default: goto yy148;
+ }
+yy397:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'i': goto yy463;
+ default: goto yy148;
+ }
+yy398:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'u': goto yy464;
+ default: goto yy148;
+ }
+yy399:
+ yych = *++in.cur;
+ switch (yych) {
+ case 't': goto yy465;
+ default: goto yy148;
+ }
+yy400:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'l': goto yy466;
+ default: goto yy148;
+ }
+yy401:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'm': goto yy467;
+ default: goto yy148;
+ }
+yy402:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy403;
+ }
+yy403:
+ { printf("ELSE"); continue; }
+yy404:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy405;
+ }
+yy405:
+ { printf("ENUM"); continue; }
+yy406:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'i': goto yy468;
+ default: goto yy148;
+ }
+yy407:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'r': goto yy469;
+ default: goto yy148;
+ }
+yy408:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'r': goto yy470;
+ default: goto yy148;
+ }
+yy409:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'e': goto yy471;
+ default: goto yy148;
+ }
+yy410:
+ yych = *++in.cur;
+ switch (yych) {
+ case 't': goto yy473;
+ default: goto yy148;
+ }
+yy411:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'n': goto yy475;
+ default: goto yy148;
+ }
+yy412:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy413;
+ }
+yy413:
+ { printf("GOTO"); continue; }
+yy414:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'n': goto yy476;
+ default: goto yy148;
+ }
+yy415:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy416;
+ }
+yy416:
+ { printf("LONG"); continue; }
+yy417:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'b': goto yy477;
+ default: goto yy148;
+ }
+yy418:
+ yych = *++in.cur;
+ switch (yych) {
+ case 's': goto yy478;
+ default: goto yy148;
+ }
+yy419:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'e': goto yy479;
+ default: goto yy148;
+ }
+yy420:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'a': goto yy480;
+ default: goto yy148;
+ }
+yy421:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'q': goto yy481;
+ default: goto yy148;
+ }
+yy422:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'a': goto yy482;
+ default: goto yy148;
+ }
+yy423:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'e': goto yy483;
+ default: goto yy148;
+ }
+yy424:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'i': goto yy484;
+ default: goto yy148;
+ }
+yy425:
+ yych = *++in.cur;
+ switch (yych) {
+ case 's': goto yy485;
+ default: goto yy148;
+ }
+yy426:
+ yych = *++in.cur;
+ switch (yych) {
+ case 't': goto yy486;
+ default: goto yy148;
+ }
+yy427:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'r': goto yy487;
+ default: goto yy148;
+ }
+yy428:
+ yych = *++in.cur;
+ switch (yych) {
+ case 't': goto yy488;
+ default: goto yy148;
+ }
+yy429:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'e': goto yy490;
+ default: goto yy148;
+ }
+yy430:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'o': goto yy491;
+ default: goto yy148;
+ }
+yy431:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'i': goto yy492;
+ default: goto yy148;
+ }
+yy432:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'c': goto yy493;
+ default: goto yy148;
+ }
+yy433:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'c': goto yy494;
+ default: goto yy148;
+ }
+yy434:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'l': goto yy495;
+ default: goto yy148;
+ }
+yy435:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy436;
+ }
+yy436:
+ { printf("THIS"); continue; }
+yy437:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'w': goto yy496;
+ default: goto yy148;
+ }
+yy438:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy439;
+ }
+yy439:
+ { printf("true"); continue; }
+yy440:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'd': goto yy498;
+ case 'i': goto yy499;
+ case 'n': goto yy500;
+ default: goto yy148;
+ }
+yy441:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'n': goto yy501;
+ default: goto yy148;
+ }
+yy442:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'g': goto yy503;
+ default: goto yy148;
+ }
+yy443:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'g': goto yy504;
+ default: goto yy148;
+ }
+yy444:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'u': goto yy506;
+ default: goto yy148;
+ }
+yy445:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy446;
+ }
+yy446:
+ { printf("VOID"); continue; }
+yy447:
+ yych = *++in.cur;
+ switch (yych) {
+ case 't': goto yy507;
+ default: goto yy148;
+ }
+yy448:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'r': goto yy508;
+ default: goto yy148;
+ }
+yy449:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'e': goto yy509;
+ default: goto yy148;
+ }
+yy450:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'e': goto yy511;
+ default: goto yy148;
+ }
+yy451:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'q': goto yy512;
+ default: goto yy148;
+ }
+yy452:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'd': goto yy513;
+ default: goto yy148;
+ }
+yy453:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy180;
+ }
+yy454:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy455;
+ }
+yy455:
+ { printf("BREAK"); continue; }
+yy456:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy457;
+ }
+yy457:
+ { printf("CATCH"); continue; }
+yy458:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy459;
+ }
+yy459:
+ { printf("CLASS"); continue; }
+yy460:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy184;
+ }
+yy461:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ case '_': goto yy514;
+ default: goto yy462;
+ }
+yy462:
+ { printf("CONST"); continue; }
+yy463:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'n': goto yy515;
+ default: goto yy148;
+ }
+yy464:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'l': goto yy516;
+ default: goto yy148;
+ }
+yy465:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'e': goto yy517;
+ default: goto yy148;
+ }
+yy466:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'e': goto yy519;
+ default: goto yy148;
+ }
+yy467:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'i': goto yy521;
+ default: goto yy148;
+ }
+yy468:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'c': goto yy522;
+ default: goto yy148;
+ }
+yy469:
+ yych = *++in.cur;
+ switch (yych) {
+ case 't': goto yy523;
+ default: goto yy148;
+ }
+yy470:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'n': goto yy525;
+ default: goto yy148;
+ }
+yy471:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy472;
+ }
+yy472:
+ { printf("false"); continue; }
+yy473:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy474;
+ }
+yy474:
+ { printf("FLOAT"); continue; }
+yy475:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'd': goto yy527;
+ default: goto yy148;
+ }
+yy476:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'e': goto yy529;
+ default: goto yy148;
+ }
+yy477:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'l': goto yy531;
+ default: goto yy148;
+ }
+yy478:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'p': goto yy532;
+ default: goto yy148;
+ }
+yy479:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'q': goto yy533;
+ default: goto yy148;
+ }
+yy480:
+ yych = *++in.cur;
+ switch (yych) {
+ case 't': goto yy534;
+ default: goto yy148;
+ }
+yy481:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy297;
+ }
+yy482:
+ yych = *++in.cur;
+ switch (yych) {
+ case 't': goto yy535;
+ default: goto yy148;
+ }
+yy483:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'c': goto yy536;
+ default: goto yy148;
+ }
+yy484:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'c': goto yy537;
+ default: goto yy148;
+ }
+yy485:
+ yych = *++in.cur;
+ switch (yych) {
+ case 't': goto yy539;
+ default: goto yy148;
+ }
+yy486:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'e': goto yy540;
+ default: goto yy148;
+ }
+yy487:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'n': goto yy541;
+ default: goto yy148;
+ }
+yy488:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy489;
+ }
+yy489:
+ { printf("SHORT"); continue; }
+yy490:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'd': goto yy543;
+ default: goto yy148;
+ }
+yy491:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'f': goto yy545;
+ default: goto yy148;
+ }
+yy492:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'c': goto yy547;
+ default: goto yy148;
+ }
+yy493:
+ yych = *++in.cur;
+ switch (yych) {
+ case 't': goto yy549;
+ default: goto yy148;
+ }
+yy494:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'h': goto yy551;
+ default: goto yy148;
+ }
+yy495:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'a': goto yy553;
+ default: goto yy148;
+ }
+yy496:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy497;
+ }
+yy497:
+ { printf("THROW"); continue; }
+yy498:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'e': goto yy554;
+ default: goto yy148;
+ }
+yy499:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'd': goto yy555;
+ default: goto yy148;
+ }
+yy500:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'a': goto yy557;
+ default: goto yy148;
+ }
+yy501:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy502;
+ }
+yy502:
+ { printf("UNION"); continue; }
+yy503:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'n': goto yy558;
+ default: goto yy148;
+ }
+yy504:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy505;
+ }
+yy505:
+ { printf("USING"); continue; }
+yy506:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'a': goto yy559;
+ default: goto yy148;
+ }
+yy507:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'i': goto yy560;
+ default: goto yy148;
+ }
+yy508:
+ yych = *++in.cur;
+ switch (yych) {
+ case '_': goto yy561;
+ default: goto yy148;
+ }
+yy509:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy510;
+ }
+yy510:
+ { printf("WHILE"); continue; }
+yy511:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'q': goto yy562;
+ default: goto yy148;
+ }
+yy512:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy198;
+ }
+yy513:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy112;
+ }
+yy514:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'c': goto yy563;
+ default: goto yy148;
+ }
+yy515:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'u': goto yy564;
+ default: goto yy148;
+ }
+yy516:
+ yych = *++in.cur;
+ switch (yych) {
+ case 't': goto yy565;
+ default: goto yy148;
+ }
+yy517:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy518;
+ }
+yy518:
+ { printf("delete"); continue; }
+yy519:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy520;
+ }
+yy520:
+ { printf("DOUBLE"); continue; }
+yy521:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'c': goto yy567;
+ default: goto yy148;
+ }
+yy522:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'i': goto yy568;
+ default: goto yy148;
+ }
+yy523:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy524;
+ }
+yy524:
+ { printf("EXPORT"); continue; }
+yy525:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy526;
+ }
+yy526:
+ { printf("EXTERN"); continue; }
+yy527:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy528;
+ }
+yy528:
+ { printf("FRIEND"); continue; }
+yy529:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy530;
+ }
+yy530:
+ { printf("INLINE"); continue; }
+yy531:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'e': goto yy569;
+ default: goto yy148;
+ }
+yy532:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'a': goto yy571;
+ default: goto yy148;
+ }
+yy533:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy188;
+ }
+yy534:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'o': goto yy572;
+ default: goto yy148;
+ }
+yy535:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'e': goto yy573;
+ default: goto yy148;
+ }
+yy536:
+ yych = *++in.cur;
+ switch (yych) {
+ case 't': goto yy575;
+ default: goto yy148;
+ }
+yy537:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy538;
+ }
+yy538:
+ { printf("PUBLIC"); continue; }
+yy539:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'e': goto yy576;
+ default: goto yy148;
+ }
+yy540:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'r': goto yy577;
+ default: goto yy148;
+ }
+yy541:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy542;
+ }
+yy542:
+ { printf("RETURN"); continue; }
+yy543:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy544;
+ }
+yy544:
+ { printf("SIGNED"); continue; }
+yy545:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy546;
+ }
+yy546:
+ { printf("SIZEOF"); continue; }
+yy547:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ case '_': goto yy578;
+ default: goto yy548;
+ }
+yy548:
+ { printf("STATIC"); continue; }
+yy549:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy550;
+ }
+yy550:
+ { printf("STRUCT"); continue; }
+yy551:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy552;
+ }
+yy552:
+ { printf("SWITCH"); continue; }
+yy553:
+ yych = *++in.cur;
+ switch (yych) {
+ case 't': goto yy579;
+ default: goto yy148;
+ }
+yy554:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'f': goto yy580;
+ default: goto yy148;
+ }
+yy555:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy556;
+ }
+yy556:
+ { printf("TYPEID"); continue; }
+yy557:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'm': goto yy582;
+ default: goto yy148;
+ }
+yy558:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'e': goto yy583;
+ default: goto yy148;
+ }
+yy559:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'l': goto yy584;
+ default: goto yy148;
+ }
+yy560:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'l': goto yy586;
+ default: goto yy148;
+ }
+yy561:
+ yych = *++in.cur;
+ switch (yych) {
+ case 't': goto yy587;
+ default: goto yy148;
+ }
+yy562:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy244;
+ }
+yy563:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'a': goto yy589;
+ default: goto yy148;
+ }
+yy564:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'e': goto yy590;
+ default: goto yy148;
+ }
+yy565:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy566;
+ }
+yy566:
+ { printf("DEFAULT"); continue; }
+yy567:
+ yych = *++in.cur;
+ switch (yych) {
+ case '_': goto yy592;
+ default: goto yy148;
+ }
+yy568:
+ yych = *++in.cur;
+ switch (yych) {
+ case 't': goto yy593;
+ default: goto yy148;
+ }
+yy569:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy570;
+ }
+yy570:
+ { printf("MUTABLE"); continue; }
+yy571:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'c': goto yy595;
+ default: goto yy148;
+ }
+yy572:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'r': goto yy596;
+ default: goto yy148;
+ }
+yy573:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy574;
+ }
+yy574:
+ { printf("PRIVATE"); continue; }
+yy575:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'e': goto yy598;
+ default: goto yy148;
+ }
+yy576:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'r': goto yy599;
+ default: goto yy148;
+ }
+yy577:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'p': goto yy601;
+ default: goto yy148;
+ }
+yy578:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'c': goto yy602;
+ default: goto yy148;
+ }
+yy579:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'e': goto yy603;
+ default: goto yy148;
+ }
+yy580:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy581;
+ }
+yy581:
+ { printf("TYPEDEF"); continue; }
+yy582:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'e': goto yy605;
+ default: goto yy148;
+ }
+yy583:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'd': goto yy607;
+ default: goto yy148;
+ }
+yy584:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy585;
+ }
+yy585:
+ { printf("VIRTUAL"); continue; }
+yy586:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'e': goto yy609;
+ default: goto yy148;
+ }
+yy587:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy588;
+ }
+yy588:
+ { printf("WCHAR_T"); continue; }
+yy589:
+ yych = *++in.cur;
+ switch (yych) {
+ case 's': goto yy611;
+ default: goto yy148;
+ }
+yy590:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy591;
+ }
+yy591:
+ { printf("CONTINUE"); continue; }
+yy592:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'c': goto yy612;
+ default: goto yy148;
+ }
+yy593:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy594;
+ }
+yy594:
+ { printf("EXPLICIT"); continue; }
+yy595:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'e': goto yy613;
+ default: goto yy148;
+ }
+yy596:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy597;
+ }
+yy597:
+ { printf("OPERATOR"); continue; }
+yy598:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'd': goto yy615;
+ default: goto yy148;
+ }
+yy599:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy600;
+ }
+yy600:
+ { printf("REGISTER"); continue; }
+yy601:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'r': goto yy617;
+ default: goto yy148;
+ }
+yy602:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'a': goto yy618;
+ default: goto yy148;
+ }
+yy603:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy604;
+ }
+yy604:
+ { printf("TEMPLATE"); continue; }
+yy605:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy606;
+ }
+yy606:
+ { printf("TYPENAME"); continue; }
+yy607:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy608;
+ }
+yy608:
+ { printf("UNSIGNED"); continue; }
+yy609:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy610;
+ }
+yy610:
+ { printf("VOLATILE"); continue; }
+yy611:
+ yych = *++in.cur;
+ switch (yych) {
+ case 't': goto yy619;
+ default: goto yy148;
+ }
+yy612:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'a': goto yy621;
+ default: goto yy148;
+ }
+yy613:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy614;
+ }
+yy614:
+ { printf("NAMESPACE"); continue; }
+yy615:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy616;
+ }
+yy616:
+ { printf("PROTECTED"); continue; }
+yy617:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'e': goto yy622;
+ default: goto yy148;
+ }
+yy618:
+ yych = *++in.cur;
+ switch (yych) {
+ case 's': goto yy623;
+ default: goto yy148;
+ }
+yy619:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy620;
+ }
+yy620:
+ { printf("CONST_CAST"); continue; }
+yy621:
+ yych = *++in.cur;
+ switch (yych) {
+ case 's': goto yy624;
+ default: goto yy148;
+ }
+yy622:
+ yych = *++in.cur;
+ switch (yych) {
+ case 't': goto yy625;
+ default: goto yy148;
+ }
+yy623:
+ yych = *++in.cur;
+ switch (yych) {
+ case 't': goto yy626;
+ default: goto yy148;
+ }
+yy624:
+ yych = *++in.cur;
+ switch (yych) {
+ case 't': goto yy628;
+ default: goto yy148;
+ }
+yy625:
+ yych = *++in.cur;
+ switch (yych) {
+ case '_': goto yy630;
+ default: goto yy148;
+ }
+yy626:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy627;
+ }
+yy627:
+ { printf("STATIC_CAST"); continue; }
+yy628:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy629;
+ }
+yy629:
+ { printf("DYNAMIC_CAST"); continue; }
+yy630:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'c': goto yy631;
+ default: goto yy148;
+ }
+yy631:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'a': goto yy632;
+ default: goto yy148;
+ }
+yy632:
+ yych = *++in.cur;
+ switch (yych) {
+ case 's': goto yy633;
+ default: goto yy148;
+ }
+yy633:
+ yych = *++in.cur;
+ switch (yych) {
+ case 't': goto yy634;
+ default: goto yy148;
+ }
+yy634:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy147;
+ default: goto yy635;
+ }
+yy635:
+ { printf("REINTERPRET_CAST"); continue; }
+}
+
+sfx:
+
+{
+ unsigned char yych;
+ if ((in.lim - in.cur) < 2) if (!in.fill(2)) return false;
+ yych = *in.cur;
+ switch (yych) {
+ case 'L':
+ case 'l': goto yy639;
+ case 'U':
+ case 'u': goto yy641;
+ default: goto yy638;
+ }
+yy638:
+ { if (u > INT_MAX) return false; printf("%d", static_cast<int>(u)); continue; }
+yy639:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'U':
+ case 'u': goto yy643;
+ default: goto yy640;
+ }
+yy640:
+ { if (u > LONG_MAX) return false; printf("%ld", static_cast<long>(u)); continue; }
+yy641:
+ yych = *++in.cur;
+ switch (yych) {
+ case 'L':
+ case 'l': goto yy643;
+ default: goto yy642;
+ }
+yy642:
+ { if (u > UINT_MAX) return false; printf("%u", static_cast<unsigned>(u)); continue; }
+yy643:
+ ++in.cur;
+ { printf("%lu", u); continue; }
+}
+
+ }
+}
+
+int main(int argc, char **argv)
+{
+ if (argc != 2) {
+ printf ("usage: ./example <filename>\n");
+ return 1;
+ }
+
+ FILE *file = fopen(argv[1], "rb");
+ if (!file) {
+ printf("error: cannot open file: %s\n", argv[1]);
+ return 1;
+ }
+
+ input_t in(file);
+ if (!lex(in)) {
+ printf("... error\n");
+ } else {
+ printf("\n");
+ }
+
+ fclose(file);
+ return 0;
+}
+re2c: warning: line 150: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 156: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 161: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 344: rule matches empty string [-Wmatch-empty-string]
diff --git a/examples/07_cxx98.i.re b/examples/07_cxx98.i.re
new file mode 100644
index 00000000..ac2e352f
--- /dev/null
+++ b/examples/07_cxx98.i.re
@@ -0,0 +1,374 @@
+#include <float.h>
+#include <limits.h>
+#include <stdio.h>
+#include <string.h>
+
+/*!max:re2c*/
+static const size_t SIZE = 64 * 1024;
+
+struct input_t {
+ unsigned char buf[SIZE + YYMAXFILL];
+ unsigned char *lim;
+ unsigned char *cur;
+ unsigned char *mar;
+ unsigned char *tok;
+ bool eof;
+
+ FILE *const file;
+
+ input_t(FILE *f)
+ : buf()
+ , lim(buf + SIZE)
+ , cur(lim)
+ , mar(lim)
+ , tok(lim)
+ , eof(false)
+ , file(f)
+ {}
+ bool fill(size_t need)
+ {
+ if (eof) {
+ return false;
+ }
+ const size_t free = tok - buf;
+ if (free < need) {
+ return false;
+ }
+ memmove(buf, tok, lim - tok);
+ lim -= free;
+ cur -= free;
+ mar -= free;
+ tok -= free;
+ lim += fread(lim, 1, free, file);
+ if (lim < buf + SIZE) {
+ eof = true;
+ memset(lim, 0, YYMAXFILL);
+ lim += YYMAXFILL;
+ }
+ return true;
+ }
+};
+
+/*!re2c re2c:define:YYCTYPE = "unsigned char"; */
+
+template<int base>
+static bool adddgt(unsigned long &u, unsigned long d)
+{
+ if (u > (ULONG_MAX - d) / base) {
+ return false;
+ }
+ u = u * base + d;
+ return true;
+}
+
+static bool lex_oct(const unsigned char *s, const unsigned char *e, unsigned long &u)
+{
+ for (u = 0, ++s; s < e; ++s) {
+ if (!adddgt<8>(u, *s - 0x30u)) {
+ return false;
+ }
+ }
+ return true;
+}
+
+static bool lex_dec(const unsigned char *s, const unsigned char *e, unsigned long &u)
+{
+ for (u = 0; s < e; ++s) {
+ if (!adddgt<10>(u, *s - 0x30u)) {
+ return false;
+ }
+ }
+ return true;
+}
+
+static bool lex_hex(const unsigned char *s, const unsigned char *e, unsigned long &u)
+{
+ for (u = 0, s += 2; s < e;) {
+ /*!re2c
+ re2c:yyfill:enable = 0;
+ re2c:define:YYCURSOR = s;
+ * { if (!adddgt<16>(u, s[-1] - 0x30u)) return false; continue; }
+ [a-f] { if (!adddgt<16>(u, s[-1] - 0x61u + 10)) return false; continue; }
+ [A-F] { if (!adddgt<16>(u, s[-1] - 0x41u + 10)) return false; continue; }
+ */
+ }
+ return true;
+}
+
+static bool lex_str(input_t &in, unsigned char q)
+{
+ printf("%c", q);
+ for (unsigned long u = q;; printf("\\x%lx", u)) {
+ in.tok = in.cur;
+ /*!re2c
+ re2c:define:YYCURSOR = in.cur;
+ re2c:define:YYMARKER = in.mar;
+ re2c:define:YYLIMIT = in.lim;
+ re2c:yyfill:enable = 1;
+ re2c:define:YYFILL = "if (!in.fill(@@)) return false;";
+ re2c:define:YYFILL:naked = 1;
+ * { return false; }
+ [^\n\\] { u = in.tok[0]; if (u == q) break; continue; }
+ "\\a" { u = '\a'; continue; }
+ "\\b" { u = '\b'; continue; }
+ "\\f" { u = '\f'; continue; }
+ "\\n" { u = '\n'; continue; }
+ "\\r" { u = '\r'; continue; }
+ "\\t" { u = '\t'; continue; }
+ "\\v" { u = '\v'; continue; }
+ "\\\\" { u = '\\'; continue; }
+ "\\'" { u = '\''; continue; }
+ "\\\"" { u = '"'; continue; }
+ "\\?" { u = '?'; continue; }
+ "\\" [0-7]{1,3} { lex_oct(in.tok, in.cur, u); continue; }
+ "\\u" [0-9a-fA-F]{4} { lex_hex(in.tok, in.cur, u); continue; }
+ "\\U" [0-9a-fA-F]{8} { lex_hex(in.tok, in.cur, u); continue; }
+ "\\x" [0-9a-fA-F]+ { if (!lex_hex(in.tok, in.cur, u)) return false; continue; }
+ */
+ }
+ printf("%c", q);
+ return true;
+}
+
+static bool lex_flt(const unsigned char *s)
+{
+ double d = 0;
+ double x = 1;
+ int e = 0;
+ /*!re2c
+ re2c:yyfill:enable = 0;
+ re2c:define:YYCURSOR = s;
+ */
+mant_int:
+ /*!re2c
+ "." { goto mant_frac; }
+ [eE] { goto exp_sign; }
+ * { d = (d * 10) + (s[-1] - '0'); goto mant_int; }
+ */
+mant_frac:
+ /*!re2c
+ "" { goto sfx; }
+ [eE] { goto exp_sign; }
+ [0-9] { d += (x /= 10) * (s[-1] - '0'); goto mant_frac; }
+ */
+exp_sign:
+ /*!re2c
+ "+"? { x = 1e+1; goto exp; }
+ "-" { x = 1e-1; goto exp; }
+ */
+exp:
+ /*!re2c
+ "" { for (; e > 0; --e) d *= x; goto sfx; }
+ [0-9] { e = (e * 10) + (s[-1] - '0'); goto exp; }
+ */
+sfx:
+ /*!re2c
+ * { goto end; }
+ [fF] { if (d > FLT_MAX) return false; goto end; }
+ */
+end:
+ printf("%g", d);
+ return true;
+}
+
+static bool lex(input_t &in)
+{
+ unsigned long u;
+ for (;;) {
+ in.tok = in.cur;
+ /*!re2c
+ re2c:define:YYCURSOR = in.cur;
+ re2c:define:YYMARKER = in.mar;
+ re2c:define:YYLIMIT = in.lim;
+ re2c:yyfill:enable = 1;
+ re2c:define:YYFILL = "if (!in.fill(@@)) return false;";
+ re2c:define:YYFILL:naked = 1;
+
+ end = "\x00";
+
+ * { return false; }
+ end { return in.lim - in.tok == YYMAXFILL; }
+
+ // macros
+ macro = ("#" | "%:") ([^\n] | "\\\n")* "\n";
+ macro { continue; }
+
+ // whitespaces
+ mcm = "/*" ([^*] | ("*" [^/]))* "*""/";
+ scm = "//" [^\n]* "\n";
+ wsp = ([ \t\v\n\r] | scm | mcm)+;
+ wsp { printf(" "); continue; }
+
+ // character and string literals
+ "L"? ['"] { if (!lex_str(in, in.cur[-1])) return false; continue; }
+ "L"? "''" { return false; }
+
+ // integer literals
+ oct = "0" [0-7]*;
+ dec = [1-9][0-9]*;
+ hex = '0x' [0-9a-fA-F]+;
+ oct { if (!lex_oct(in.tok, in.cur, u)) return false; goto sfx; }
+ dec { if (!lex_dec(in.tok, in.cur, u)) return false; goto sfx; }
+ hex { if (!lex_hex(in.tok, in.cur, u)) return false; goto sfx; }
+
+ // floating literals
+ frc = [0-9]* "." [0-9]+ | [0-9]+ ".";
+ exp = 'e' [+-]? [0-9]+;
+ flt = (frc exp? | [0-9]+ exp) [fFlL]?;
+ flt { if (lex_flt(in.tok)) continue; return false; }
+
+ // boolean literals
+ "false" { printf("false"); continue; }
+ "true" { printf("true"); continue; }
+
+ // keywords
+ "asm" { printf("ASM"); continue; }
+ "auto" { printf("AUTO"); continue; }
+ "bool" { printf("BOOL"); continue; }
+ "break" { printf("BREAK"); continue; }
+ "case" { printf("CASE"); continue; }
+ "catch" { printf("CATCH"); continue; }
+ "char" { printf("CHAR"); continue; }
+ "class" { printf("CLASS"); continue; }
+ "const" { printf("CONST"); continue; }
+ "const_cast" { printf("CONST_CAST"); continue; }
+ "continue" { printf("CONTINUE"); continue; }
+ "default" { printf("DEFAULT"); continue; }
+ "do" { printf("DO"); continue; }
+ "double" { printf("DOUBLE"); continue; }
+ "dynamic_cast" { printf("DYNAMIC_CAST"); continue; }
+ "else" { printf("ELSE"); continue; }
+ "enum" { printf("ENUM"); continue; }
+ "explicit" { printf("EXPLICIT"); continue; }
+ "export" { printf("EXPORT"); continue; }
+ "extern" { printf("EXTERN"); continue; }
+ "float" { printf("FLOAT"); continue; }
+ "for" { printf("FOR"); continue; }
+ "friend" { printf("FRIEND"); continue; }
+ "goto" { printf("GOTO"); continue; }
+ "if" { printf("IF"); continue; }
+ "inline" { printf("INLINE"); continue; }
+ "int" { printf("INT"); continue; }
+ "long" { printf("LONG"); continue; }
+ "mutable" { printf("MUTABLE"); continue; }
+ "namespace" { printf("NAMESPACE"); continue; }
+ "operator" { printf("OPERATOR"); continue; }
+ "private" { printf("PRIVATE"); continue; }
+ "protected" { printf("PROTECTED"); continue; }
+ "public" { printf("PUBLIC"); continue; }
+ "register" { printf("REGISTER"); continue; }
+ "reinterpret_cast" { printf("REINTERPRET_CAST"); continue; }
+ "return" { printf("RETURN"); continue; }
+ "short" { printf("SHORT"); continue; }
+ "signed" { printf("SIGNED"); continue; }
+ "sizeof" { printf("SIZEOF"); continue; }
+ "static" { printf("STATIC"); continue; }
+ "static_cast" { printf("STATIC_CAST"); continue; }
+ "struct" { printf("STRUCT"); continue; }
+ "switch" { printf("SWITCH"); continue; }
+ "template" { printf("TEMPLATE"); continue; }
+ "this" { printf("THIS"); continue; }
+ "throw" { printf("THROW"); continue; }
+ "try" { printf("TRY"); continue; }
+ "typedef" { printf("TYPEDEF"); continue; }
+ "typeid" { printf("TYPEID"); continue; }
+ "typename" { printf("TYPENAME"); continue; }
+ "union" { printf("UNION"); continue; }
+ "unsigned" { printf("UNSIGNED"); continue; }
+ "using" { printf("USING"); continue; }
+ "virtual" { printf("VIRTUAL"); continue; }
+ "void" { printf("VOID"); continue; }
+ "volatile" { printf("VOLATILE"); continue; }
+ "wchar_t" { printf("WCHAR_T"); continue; }
+ "while" { printf("WHILE"); continue; }
+
+ // operators and punctuation (including preprocessor)
+ ("{" | "<%") { printf("{"); continue; }
+ ("}" | "%>") { printf("}"); continue; }
+ ("[" | "<:") { printf("["); continue; }
+ ("]" | ":>") { printf("]"); continue; }
+ "(" { printf("("); continue; }
+ ")" { printf(")"); continue; }
+ ";" { printf(";"); continue; }
+ ":" { printf(":"); continue; }
+ "..." { printf("..."); continue; }
+ "new" { printf("new"); continue; }
+ "delete" { printf("delete"); continue; }
+ "?" { printf("?"); continue; }
+ "::" { printf("::"); continue; }
+ "." { printf("."); continue; }
+ ".*" { printf("."); continue; }
+ "+" { printf("+"); continue; }
+ "-" { printf("-"); continue; }
+ "*" { printf("*"); continue; }
+ "/" { printf("/"); continue; }
+ "%" { printf("%%"); continue; }
+ ("^" | "xor") { printf("^"); continue; }
+ ("&" | "bitand") { printf("&"); continue; }
+ ("|" | "bitor") { printf("|"); continue; }
+ ("~" | "compl") { printf("~"); continue; }
+ ("!" | "not") { printf("!"); continue; }
+ "=" { printf("="); continue; }
+ "<" { printf("<"); continue; }
+ ">" { printf(">"); continue; }
+ "+=" { printf("+="); continue; }
+ "-=" { printf("-="); continue; }
+ "*=" { printf("*="); continue; }
+ "/=" { printf("/="); continue; }
+ "%=" { printf("%%="); continue; }
+ ("^=" | "xor_eq") { printf("^="); continue; }
+ ("&=" | "and_eq") { printf("&="); continue; }
+ ("|=" | "or_eq") { printf("|="); continue; }
+ "<<" { printf("<<"); continue; }
+ ">>" { printf(">>"); continue; }
+ ">>=" { printf(">>="); continue; }
+ "<<=" { printf("<<="); continue; }
+ "==" { printf("=="); continue; }
+ ("!=" | "not_eq") { printf("!="); continue; }
+ "<=" { printf("<="); continue; }
+ ">=" { printf(">="); continue; }
+ ("&&" | "and") { printf("&&"); continue; }
+ ("||" | "or") { printf("||"); continue; }
+ "++" { printf("++"); continue; }
+ "--" { printf("--"); continue; }
+ "," { printf(","); continue; }
+ "->*" { printf("->*"); continue; }
+ "->" { printf("->"); continue; }
+
+ // identifiers
+ id = [a-zA-Z_][a-zA-Z_0-9]*;
+ id { printf("%.*s", in.cur - in.tok, in.tok); continue; }
+ */
+sfx:
+ /*!re2c
+ "" { if (u > INT_MAX) return false; printf("%d", static_cast<int>(u)); continue; }
+ 'u' { if (u > UINT_MAX) return false; printf("%u", static_cast<unsigned>(u)); continue; }
+ 'l' { if (u > LONG_MAX) return false; printf("%ld", static_cast<long>(u)); continue; }
+ 'ul' | 'lu' { printf("%lu", u); continue; }
+ */
+ }
+}
+
+int main(int argc, char **argv)
+{
+ if (argc != 2) {
+ printf ("usage: ./example <filename>\n");
+ return 1;
+ }
+
+ FILE *file = fopen(argv[1], "rb");
+ if (!file) {
+ printf("error: cannot open file: %s\n", argv[1]);
+ return 1;
+ }
+
+ input_t in(file);
+ if (!lex(in)) {
+ printf("... error\n");
+ } else {
+ printf("\n");
+ }
+
+ fclose(file);
+ return 0;
+}
diff --git a/examples/08_ipv4.i--tags.c b/examples/08_ipv4.i--tags.c
new file mode 100644
index 00000000..e0812e5b
--- /dev/null
+++ b/examples/08_ipv4.i--tags.c
@@ -0,0 +1,253 @@
+/* Generated by re2c */
+#include <stdio.h>
+
+static int lex(const char *YYCURSOR)
+{
+ const char *YYMARKER, *o1, *o2, *o3, *o4;
+ const char *yyt1;const char *yyt2;const char *yyt3;const char *yyt4;
+
+{
+ char yych;
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ yyt1 = YYCURSOR;
+ goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ ++YYCURSOR;
+yy3:
+ { printf("error\n"); return 1; }
+yy4:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case '.': goto yy5;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy7;
+ default: goto yy3;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ yyt2 = YYCURSOR;
+ goto yy8;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = YYMARKER;
+ goto yy3;
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy5;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy9;
+ default: goto yy6;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy10;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy11;
+ default: goto yy6;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy5;
+ default: goto yy6;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ yyt3 = YYCURSOR;
+ goto yy12;
+ default: goto yy6;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy10;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy13;
+ default: goto yy6;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy14;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy15;
+ default: goto yy6;
+ }
+yy13:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy10;
+ default: goto yy6;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ yyt4 = YYCURSOR;
+ goto yy16;
+ default: goto yy6;
+ }
+yy15:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy14;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy18;
+ default: goto yy6;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy19;
+ default: goto yy17;
+ }
+yy17:
+ o1 = yyt1;
+ o2 = yyt2;
+ o3 = yyt3;
+ o4 = yyt4;
+ {
+ printf("parsed: %.*s, %.*s, %.*s, %*s!\n",
+ (int)(o2 - o1 - 1), o1,
+ (int)(o3 - o2 - 1), o2,
+ (int)(o4 - o3 - 1), o3,
+ (int)(YYCURSOR - o4), o4);
+ return 0;
+ }
+yy18:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy14;
+ default: goto yy6;
+ }
+yy19:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy20;
+ default: goto yy17;
+ }
+yy20:
+ ++YYCURSOR;
+ goto yy17;
+}
+
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) lex(argv[i]);
+ return 0;
+}
diff --git a/examples/08_ipv4.i--tags.re b/examples/08_ipv4.i--tags.re
new file mode 100644
index 00000000..c9e5c19d
--- /dev/null
+++ b/examples/08_ipv4.i--tags.re
@@ -0,0 +1,32 @@
+#include <stdio.h>
+
+static int lex(const char *YYCURSOR)
+{
+ const char *YYMARKER, *o1, *o2, *o3, *o4;
+ /*!stags:re2c format = 'const char *@@;'; */
+ /*!re2c
+ re2c:define:YYCTYPE = char;
+ re2c:yyfill:enable = 0;
+
+ end = "\x00";
+ oct = [0-9]{1,3};
+ dot = ".";
+
+ * { printf("error\n"); return 1; }
+
+ @o1 oct dot @o2 oct dot @o3 oct dot @o4 oct {
+ printf("parsed: %.*s, %.*s, %.*s, %*s!\n",
+ (int)(o2 - o1 - 1), o1,
+ (int)(o3 - o2 - 1), o2,
+ (int)(o4 - o3 - 1), o3,
+ (int)(YYCURSOR - o4), o4);
+ return 0;
+ }
+ */
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) lex(argv[i]);
+ return 0;
+}
diff --git a/examples/09_etc_passwd.i--tags.c b/examples/09_etc_passwd.i--tags.c
new file mode 100644
index 00000000..20f3adfe
--- /dev/null
+++ b/examples/09_etc_passwd.i--tags.c
@@ -0,0 +1,238 @@
+/* Generated by re2c */
+#include <stdio.h>
+#include <stdlib.h>
+
+#define YYMAXFILL 4
+
+
+static int lex(const char *YYCURSOR)
+{
+ const char *YYMARKER, *n, *p, *u, *g, *i, *h, *c;
+ const char *yyt1;const char *yyt2;const char *yyt3;const char *yyt4;const char *yyt5;const char *yyt6;const char *yyt7;
+loop:
+
+{
+ char yych;
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy2;
+ case '\n':
+ case ':': goto yy6;
+ default:
+ yyt1 = YYCURSOR;
+ goto yy4;
+ }
+yy2:
+ ++YYCURSOR;
+ { return 0; }
+yy4:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ case '\n': goto yy5;
+ default: goto yy8;
+ }
+yy5:
+ { printf("error\n"); return 1; }
+yy6:
+ ++YYCURSOR;
+ goto yy5;
+yy7:
+ yych = *++YYCURSOR;
+yy8:
+ switch (yych) {
+ case 0x00:
+ case '\n': goto yy9;
+ case ':': goto yy10;
+ default: goto yy7;
+ }
+yy9:
+ YYCURSOR = YYMARKER;
+ goto yy5;
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case '\n': goto yy9;
+ case ':':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy11;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case '\n': goto yy9;
+ case ':': goto yy13;
+ default: goto yy11;
+ }
+yy13:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ yyt3 = YYCURSOR;
+ goto yy14;
+ default: goto yy9;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy14;
+ case ':': goto yy16;
+ default: goto yy9;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ yyt4 = YYCURSOR;
+ goto yy17;
+ default: goto yy9;
+ }
+yy17:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy17;
+ case ':': goto yy19;
+ default: goto yy9;
+ }
+yy19:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case '\n': goto yy9;
+ case ':':
+ yyt5 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt5 = YYCURSOR;
+ goto yy20;
+ }
+yy20:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case '\n': goto yy9;
+ case ':': goto yy22;
+ default: goto yy20;
+ }
+yy22:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '/':
+ yyt6 = YYCURSOR;
+ goto yy23;
+ default: goto yy9;
+ }
+yy23:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case '\n': goto yy9;
+ case ':': goto yy25;
+ default: goto yy23;
+ }
+yy25:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '/':
+ yyt7 = YYCURSOR;
+ goto yy26;
+ default: goto yy9;
+ }
+yy26:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case ':': goto yy9;
+ case '\n': goto yy28;
+ default: goto yy26;
+ }
+yy28:
+ ++YYCURSOR;
+ n = yyt1;
+ p = yyt2;
+ u = yyt3;
+ g = yyt4;
+ i = yyt5;
+ h = yyt6;
+ c = yyt7;
+ {
+ printf("user: %.*s\n", (int)(p - n) - 1, n);
+ printf("password: %.*s\n", (int)(u - p) - 1, p);
+ printf("UID: %.*s\n", (int)(g - u) - 1, u);
+ printf("GID: %.*s\n", (int)(i - g) - 1, g);
+ printf("info: %.*s\n", (int)(h - i) - 1, i);
+ printf("home: %.*s\n", (int)(c - h) - 1, h);
+ printf("command: %.*s\n", (int)(YYCURSOR - c - 1), c);
+ printf("\n");
+ goto loop;
+ }
+}
+
+}
+
+int main(int argc, char **argv)
+{
+ if (argc < 2) {
+ fprintf(stderr, "no input files\n");
+ return 1;
+ }
+
+ FILE *file = fopen(argv[1], "r");
+
+ fseek(file, 0, SEEK_END);
+ const size_t fsize = (size_t) ftell(file);
+ fseek(file, 0, SEEK_SET);
+
+ char *buffer = (char*) malloc(fsize + 1);
+
+ fread(buffer, 1, fsize, file);
+ buffer[fsize] = 0;
+
+ const int status = lex(buffer);
+
+ fclose(file);
+ free(buffer);
+
+ return status;
+}
diff --git a/examples/09_etc_passwd.i--tags.re b/examples/09_etc_passwd.i--tags.re
new file mode 100644
index 00000000..6564110e
--- /dev/null
+++ b/examples/09_etc_passwd.i--tags.re
@@ -0,0 +1,74 @@
+#include <stdio.h>
+#include <stdlib.h>
+
+/*!max:re2c*/
+
+static int lex(const char *YYCURSOR)
+{
+ const char *YYMARKER, *n, *p, *u, *g, *i, *h, *c;
+ /*!stags:re2c format = 'const char *@@;'; */
+loop:
+ /*!re2c
+ re2c:define:YYCTYPE = char;
+ re2c:yyfill:enable = 0;
+
+ end = "\x00";
+ eol = "\n";
+ sep = [:];
+ char = [^] \ (end | eol | sep);
+ user = char+;
+ pass = char*;
+ uid = [0-9]+;
+ gid = [0-9]+;
+ info = char*;
+ home = "/" char*;
+ cmd = "/" char*;
+
+ * { printf("error\n"); return 1; }
+ end { return 0; }
+
+ @n user sep
+ @p pass sep
+ @u uid sep
+ @g gid sep
+ @i info sep
+ @h home sep
+ @c cmd eol {
+ printf("user: %.*s\n", (int)(p - n) - 1, n);
+ printf("password: %.*s\n", (int)(u - p) - 1, p);
+ printf("UID: %.*s\n", (int)(g - u) - 1, u);
+ printf("GID: %.*s\n", (int)(i - g) - 1, g);
+ printf("info: %.*s\n", (int)(h - i) - 1, i);
+ printf("home: %.*s\n", (int)(c - h) - 1, h);
+ printf("command: %.*s\n", (int)(YYCURSOR - c - 1), c);
+ printf("\n");
+ goto loop;
+ }
+ */
+}
+
+int main(int argc, char **argv)
+{
+ if (argc < 2) {
+ fprintf(stderr, "no input files\n");
+ return 1;
+ }
+
+ FILE *file = fopen(argv[1], "r");
+
+ fseek(file, 0, SEEK_END);
+ const size_t fsize = (size_t) ftell(file);
+ fseek(file, 0, SEEK_SET);
+
+ char *buffer = (char*) malloc(fsize + 1);
+
+ fread(buffer, 1, fsize, file);
+ buffer[fsize] = 0;
+
+ const int status = lex(buffer);
+
+ fclose(file);
+ free(buffer);
+
+ return status;
+}
diff --git a/examples/10_uri_rfc3986.i--tags.c b/examples/10_uri_rfc3986.i--tags.c
new file mode 100644
index 00000000..7ceaac3c
--- /dev/null
+++ b/examples/10_uri_rfc3986.i--tags.c
@@ -0,0 +1,7935 @@
+/* Generated by re2c */
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
+#define YYMAXFILL 72
+
+static const size_t SIZE = 4096;
+
+typedef struct {
+ FILE *file;
+ char *buf;
+ char *lim;
+ char *cur;
+ char *mar;
+ char *tok;
+ char *yyt1;
+char *yyt10;
+char *yyt11;
+char *yyt12;
+char *yyt13;
+char *yyt14;
+char *yyt15;
+char *yyt16;
+char *yyt17;
+char *yyt18;
+char *yyt19;
+char *yyt2;
+char *yyt20;
+char *yyt3;
+char *yyt4;
+char *yyt5;
+char *yyt6;
+char *yyt7;
+char *yyt8;
+char *yyt9;
+
+ int eof;
+} input_t;
+
+static void init_input(input_t *in, const char *fname)
+{
+ in->file = fopen(fname, "r");
+ in->buf = (char*) malloc(SIZE + YYMAXFILL);
+ in->lim = in->buf + SIZE;
+ in->cur = in->lim;
+ in->mar = in->lim;
+ in->tok = in->lim;
+ in->yyt1 = 0;
+in->yyt10 = 0;
+in->yyt11 = 0;
+in->yyt12 = 0;
+in->yyt13 = 0;
+in->yyt14 = 0;
+in->yyt15 = 0;
+in->yyt16 = 0;
+in->yyt17 = 0;
+in->yyt18 = 0;
+in->yyt19 = 0;
+in->yyt2 = 0;
+in->yyt20 = 0;
+in->yyt3 = 0;
+in->yyt4 = 0;
+in->yyt5 = 0;
+in->yyt6 = 0;
+in->yyt7 = 0;
+in->yyt8 = 0;
+in->yyt9 = 0;
+
+ in->eof = 0;
+}
+
+static void free_input(input_t *in)
+{
+ free(in->buf);
+ fclose(in->file);
+}
+
+static int fill(input_t *in, size_t need)
+{
+ size_t free;
+ if (in->eof) return 1;
+
+ free = in->tok - in->buf;
+ if (free < need) return 2;
+
+ memmove(in->buf, in->tok, in->lim - in->tok);
+ in->lim -= free;
+ in->cur -= free;
+ in->mar -= free;
+ in->tok -= free;
+ if (in->yyt1) in->yyt1 -= free;
+if (in->yyt10) in->yyt10 -= free;
+if (in->yyt11) in->yyt11 -= free;
+if (in->yyt12) in->yyt12 -= free;
+if (in->yyt13) in->yyt13 -= free;
+if (in->yyt14) in->yyt14 -= free;
+if (in->yyt15) in->yyt15 -= free;
+if (in->yyt16) in->yyt16 -= free;
+if (in->yyt17) in->yyt17 -= free;
+if (in->yyt18) in->yyt18 -= free;
+if (in->yyt19) in->yyt19 -= free;
+if (in->yyt2) in->yyt2 -= free;
+if (in->yyt20) in->yyt20 -= free;
+if (in->yyt3) in->yyt3 -= free;
+if (in->yyt4) in->yyt4 -= free;
+if (in->yyt5) in->yyt5 -= free;
+if (in->yyt6) in->yyt6 -= free;
+if (in->yyt7) in->yyt7 -= free;
+if (in->yyt8) in->yyt8 -= free;
+if (in->yyt9) in->yyt9 -= free;
+
+ in->lim += fread(in->lim, 1, free, in->file);
+ if (in->lim < in->buf + SIZE) {
+ in->eof = 1;
+ memset(in->lim, 0, YYMAXFILL);
+ in->lim += YYMAXFILL;
+ }
+ return 0;
+}
+
+static int lex(input_t *in, long *count)
+{
+ const char
+ *s1, *u1, *h1, *h3, *h5, *r1, *p1, *p3, *q1, *f1,
+ *s2, *u2, *h2, *h4, *h6, *r2, *p2, *p4, *q2, *f2;
+ long c;
+
+ c = 0;
+loop:
+ in->tok = in->cur;
+
+{
+ char yych;
+ unsigned int yyaccept = 0;
+ if ((in->lim - in->cur) < 72) if (fill(in, 72) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case 0x00: goto yy2;
+ case '\n': goto yy6;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ in->yyt1 = in->cur;
+ goto yy8;
+ default: goto yy4;
+ }
+yy2:
+ ++in->cur;
+ { *count = c; return 0; }
+yy4:
+ ++in->cur;
+yy5:
+ { return 1; }
+yy6:
+ ++in->cur;
+ { goto loop; }
+yy8:
+ yyaccept = 0;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '+':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy10;
+ default: goto yy5;
+ }
+yy9:
+ ++in->cur;
+ if ((in->lim - in->cur) < 71) if (fill(in, 71) != 0) return 2;
+ yych = *in->cur;
+yy10:
+ switch (yych) {
+ case '+':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy9;
+ case ':':
+ in->yyt2 = in->cur;
+ goto yy12;
+ default: goto yy11;
+ }
+yy11:
+ in->cur = in->mar;
+ switch (yyaccept) {
+ case 0: goto yy5;
+ case 1:
+ in->yyt3 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = NULL;
+ in->yyt4 = in->yyt5 = in->cur;
+ goto yy13;
+ case 2:
+ in->yyt3 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = NULL;
+ in->yyt5 = in->cur;
+ goto yy13;
+ case 3:
+ in->yyt7 = in->yyt8 = in->cur;
+ goto yy13;
+ case 4:
+ in->yyt7 = in->yyt8 = NULL;
+ in->yyt6 = in->yyt20 = in->cur;
+ goto yy13;
+ case 5:
+ in->yyt8 = in->cur;
+ goto yy13;
+ case 6:
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt15 = in->yyt16 = in->yyt19 = in->cur;
+ goto yy13;
+ case 7:
+ in->yyt7 = in->yyt8 = NULL;
+ in->yyt6 = in->cur;
+ goto yy13;
+ case 8:
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt16 = in->yyt19 = in->cur;
+ goto yy13;
+ case 9:
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt20 = NULL;
+ in->yyt3 = in->cur;
+ goto yy13;
+ case 10:
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt17 = in->yyt18 = in->yyt19 = in->cur;
+ goto yy13;
+ case 11:
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt15 = in->yyt16 = in->yyt19 = in->cur;
+ goto yy13;
+ case 12:
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt18 = in->yyt19 = in->cur;
+ goto yy13;
+ case 13:
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt16 = in->yyt19 = in->cur;
+ goto yy13;
+ case 14:
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy13;
+ default:
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy13;
+ }
+yy12:
+ yyaccept = 1;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~':
+ in->yyt4 = in->cur;
+ goto yy14;
+ case '#':
+ in->yyt3 = in->yyt6 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = NULL;
+ in->yyt4 = in->yyt5 = in->cur;
+ goto yy16;
+ case '%':
+ in->yyt4 = in->cur;
+ goto yy17;
+ case '/':
+ in->yyt4 = in->cur;
+ goto yy18;
+ case '?':
+ in->yyt3 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = NULL;
+ in->yyt4 = in->yyt5 = in->cur;
+ goto yy19;
+ default:
+ in->yyt3 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = NULL;
+ in->yyt4 = in->yyt5 = in->cur;
+ goto yy13;
+ }
+yy13:
+ s1 = in->yyt1;
+ s2 = in->yyt2;
+ u1 = in->yyt9;
+ u2 = in->yyt10;
+ h1 = in->yyt11;
+ h2 = in->yyt12;
+ h3 = in->yyt13;
+ h4 = in->yyt14;
+ h5 = in->yyt15;
+ h6 = in->yyt16;
+ r1 = in->yyt17;
+ r2 = in->yyt18;
+ p1 = in->yyt19;
+ p2 = in->yyt3;
+ p3 = in->yyt4;
+ p4 = in->yyt5;
+ q1 = in->yyt20;
+ q2 = in->yyt6;
+ f1 = in->yyt7;
+ f2 = in->yyt8;
+ {
+ ++c;
+ printf("URI %ld:\n", c);
+ printf(" scheme: %.*s\n", (int)(s2 - s1), s1);
+ if (u1) printf(" userinfo: %.*s\n", (int)(u2 - u1), u1);
+ if (h1) printf(" host: %.*s (IP literal)\n", (int)(h2 - h1), h1);
+ if (h3) printf(" host: %.*s (IPv4)\n", (int)(h4 - h3), h3);
+ if (h5) printf(" host: %.*s (name)\n", (int)(h6 - h5), h5);
+ if (r1) printf(" port: %.*s\n", (int)(r2 - r1), r1);
+ if (p1) printf(" path: %.*s\n", (int)(p2 - p1), p1);
+ if (p3) printf(" path: %.*s\n", (int)(p4 - p3), p3);
+ if (q1) printf(" query: %.*s\n", (int)(q2 - q1), q1);
+ if (f1) printf(" fragment: %.*s\n", (int)(f2 - f1), f1);
+ printf("\n");
+ goto loop;
+ }
+yy14:
+ yyaccept = 2;
+ in->mar = ++in->cur;
+ if ((in->lim - in->cur) < 3) if (fill(in, 3) != 0) return 2;
+ yych = *in->cur;
+yy15:
+ switch (yych) {
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '/':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy14;
+ case '#':
+ in->yyt3 = in->yyt6 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = NULL;
+ in->yyt5 = in->cur;
+ goto yy16;
+ case '%': goto yy17;
+ case '?':
+ in->yyt3 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = NULL;
+ in->yyt5 = in->cur;
+ goto yy19;
+ default:
+ in->yyt3 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = NULL;
+ in->yyt5 = in->cur;
+ goto yy13;
+ }
+yy16:
+ yyaccept = 3;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '/':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case '?':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~':
+ in->yyt7 = in->cur;
+ goto yy20;
+ case '%':
+ in->yyt7 = in->cur;
+ goto yy22;
+ default:
+ in->yyt7 = in->yyt8 = in->cur;
+ goto yy13;
+ }
+yy17:
+ ++in->cur;
+ if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy23;
+ default: goto yy11;
+ }
+yy18:
+ yyaccept = 2;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '/': goto yy24;
+ default: goto yy15;
+ }
+yy19:
+ yyaccept = 4;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '/':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case '?':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~':
+ in->yyt20 = in->cur;
+ goto yy25;
+ case '#':
+ in->yyt6 = in->yyt20 = in->cur;
+ goto yy16;
+ case '%':
+ in->yyt20 = in->cur;
+ goto yy27;
+ default:
+ in->yyt7 = in->yyt8 = NULL;
+ in->yyt6 = in->yyt20 = in->cur;
+ goto yy13;
+ }
+yy20:
+ yyaccept = 5;
+ in->mar = ++in->cur;
+ if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '/':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case '?':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy20;
+ case '%': goto yy22;
+ default:
+ in->yyt8 = in->cur;
+ goto yy13;
+ }
+yy22:
+ ++in->cur;
+ if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy28;
+ default: goto yy11;
+ }
+yy23:
+ ++in->cur;
+ if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy14;
+ default: goto yy11;
+ }
+yy24:
+ yyaccept = 6;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~':
+ in->yyt9 = in->yyt10 = NULL;
+ in->yyt3 = in->yyt15 = in->cur;
+ goto yy29;
+ case '#':
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt15 = in->yyt16 = in->yyt19 = in->cur;
+ goto yy16;
+ case '%':
+ in->yyt9 = in->yyt10 = NULL;
+ in->yyt3 = in->yyt15 = in->cur;
+ goto yy31;
+ case '/':
+ in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt15 = in->yyt16 = in->yyt19 = in->cur;
+ goto yy32;
+ case '0':
+ in->yyt9 = in->yyt10 = NULL;
+ in->yyt3 = in->yyt13 = in->yyt15 = in->cur;
+ goto yy34;
+ case '1':
+ in->yyt9 = in->yyt10 = NULL;
+ in->yyt3 = in->yyt13 = in->yyt15 = in->cur;
+ goto yy35;
+ case '2':
+ in->yyt9 = in->yyt10 = NULL;
+ in->yyt3 = in->yyt13 = in->yyt15 = in->cur;
+ goto yy36;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ in->yyt9 = in->yyt10 = NULL;
+ in->yyt3 = in->yyt13 = in->yyt15 = in->cur;
+ goto yy37;
+ case ':':
+ in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = NULL;
+ in->yyt3 = in->yyt15 = in->yyt16 = in->cur;
+ goto yy38;
+ case '?':
+ in->yyt4 = in->yyt5 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt3 = in->yyt15 = in->yyt16 = in->yyt19 = in->cur;
+ goto yy19;
+ case '@':
+ in->yyt3 = in->yyt10 = in->cur;
+ goto yy39;
+ case '[':
+ in->yyt9 = in->yyt10 = NULL;
+ in->yyt11 = in->cur;
+ goto yy40;
+ default:
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt15 = in->yyt16 = in->yyt19 = in->cur;
+ goto yy13;
+ }
+yy25:
+ yyaccept = 7;
+ in->mar = ++in->cur;
+ if ((in->lim - in->cur) < 2) if (fill(in, 2) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '/':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case '?':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy25;
+ case '#':
+ in->yyt6 = in->cur;
+ goto yy16;
+ case '%': goto yy27;
+ default:
+ in->yyt7 = in->yyt8 = NULL;
+ in->yyt6 = in->cur;
+ goto yy13;
+ }
+yy27:
+ ++in->cur;
+ if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy41;
+ default: goto yy11;
+ }
+yy28:
+ ++in->cur;
+ if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy20;
+ default: goto yy11;
+ }
+yy29:
+ yyaccept = 8;
+ in->mar = ++in->cur;
+ if ((in->lim - in->cur) < 53) if (fill(in, 53) != 0) return 2;
+ yych = *in->cur;
+yy30:
+ switch (yych) {
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy29;
+ case '#':
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt16 = in->yyt19 = in->cur;
+ goto yy16;
+ case '%': goto yy31;
+ case '/':
+ in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt16 = in->yyt19 = in->cur;
+ goto yy32;
+ case ':':
+ in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = NULL;
+ in->yyt16 = in->cur;
+ goto yy38;
+ case '?':
+ in->yyt4 = in->yyt5 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt3 = in->yyt16 = in->yyt19 = in->cur;
+ goto yy19;
+ case '@':
+ in->yyt10 = in->cur;
+ goto yy39;
+ default:
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt16 = in->yyt19 = in->cur;
+ goto yy13;
+ }
+yy31:
+ ++in->cur;
+ if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy42;
+ default: goto yy11;
+ }
+yy32:
+ yyaccept = 9;
+ in->mar = ++in->cur;
+ if ((in->lim - in->cur) < 3) if (fill(in, 3) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '/':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy32;
+ case '#':
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt20 = NULL;
+ in->yyt3 = in->cur;
+ goto yy16;
+ case '%': goto yy43;
+ case '?':
+ in->yyt4 = in->yyt5 = NULL;
+ in->yyt3 = in->cur;
+ goto yy19;
+ default:
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt20 = NULL;
+ in->yyt3 = in->cur;
+ goto yy13;
+ }
+yy34:
+ yyaccept = 8;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy44;
+ default: goto yy30;
+ }
+yy35:
+ yyaccept = 8;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy44;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy37;
+ default: goto yy30;
+ }
+yy36:
+ yyaccept = 8;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy44;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy37;
+ case '5': goto yy45;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy34;
+ default: goto yy30;
+ }
+yy37:
+ yyaccept = 8;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy44;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy34;
+ default: goto yy30;
+ }
+yy38:
+ yyaccept = 10;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '!':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case ':':
+ case ';':
+ case '=':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy47;
+ case '#':
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt17 = in->yyt18 = in->yyt19 = in->cur;
+ goto yy16;
+ case '/':
+ in->yyt17 = in->yyt18 = in->yyt19 = in->cur;
+ goto yy32;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ in->yyt17 = in->cur;
+ goto yy49;
+ case '?':
+ in->yyt4 = in->yyt5 = NULL;
+ in->yyt3 = in->yyt17 = in->yyt18 = in->yyt19 = in->cur;
+ goto yy19;
+ default:
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt17 = in->yyt18 = in->yyt19 = in->cur;
+ goto yy13;
+ }
+yy39:
+ yyaccept = 11;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~':
+ in->yyt15 = in->cur;
+ goto yy51;
+ case '#':
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt15 = in->yyt16 = in->yyt19 = in->cur;
+ goto yy16;
+ case '%':
+ in->yyt15 = in->cur;
+ goto yy53;
+ case '/':
+ in->yyt9 = in->yyt3;
+ in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt15 = in->yyt16 = in->yyt19 = in->cur;
+ goto yy32;
+ case '0':
+ in->yyt13 = in->yyt15 = in->cur;
+ goto yy54;
+ case '1':
+ in->yyt13 = in->yyt15 = in->cur;
+ goto yy55;
+ case '2':
+ in->yyt13 = in->yyt15 = in->cur;
+ goto yy56;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ in->yyt13 = in->yyt15 = in->cur;
+ goto yy57;
+ case ':':
+ in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = NULL;
+ in->yyt15 = in->yyt16 = in->cur;
+ goto yy58;
+ case '?':
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt3 = in->yyt15 = in->yyt16 = in->yyt19 = in->cur;
+ goto yy19;
+ case '[':
+ in->yyt9 = in->yyt3;
+ in->yyt11 = in->cur;
+ goto yy40;
+ default:
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt15 = in->yyt16 = in->yyt19 = in->cur;
+ goto yy13;
+ }
+yy40:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy59;
+ case ':': goto yy60;
+ case 'v': goto yy61;
+ default: goto yy11;
+ }
+yy41:
+ ++in->cur;
+ if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy25;
+ default: goto yy11;
+ }
+yy42:
+ ++in->cur;
+ if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy29;
+ default: goto yy11;
+ }
+yy43:
+ ++in->cur;
+ if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy62;
+ default: goto yy11;
+ }
+yy44:
+ yyaccept = 8;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '0': goto yy63;
+ case '1': goto yy64;
+ case '2': goto yy65;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy66;
+ default: goto yy30;
+ }
+yy45:
+ yyaccept = 8;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy44;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy34;
+ default: goto yy30;
+ }
+yy46:
+ ++in->cur;
+ if ((in->lim - in->cur) < 52) if (fill(in, 52) != 0) return 2;
+ yych = *in->cur;
+yy47:
+ switch (yych) {
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy46;
+ case '%': goto yy48;
+ case '@':
+ in->yyt10 = in->cur;
+ goto yy39;
+ default: goto yy11;
+ }
+yy48:
+ ++in->cur;
+ if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy67;
+ default: goto yy11;
+ }
+yy49:
+ yyaccept = 12;
+ in->mar = ++in->cur;
+ if ((in->lim - in->cur) < 52) if (fill(in, 52) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case ':':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy46;
+ case '#':
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt18 = in->yyt19 = in->cur;
+ goto yy16;
+ case '%': goto yy48;
+ case '/':
+ in->yyt18 = in->yyt19 = in->cur;
+ goto yy32;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy49;
+ case '?':
+ in->yyt4 = in->yyt5 = NULL;
+ in->yyt3 = in->yyt18 = in->yyt19 = in->cur;
+ goto yy19;
+ case '@':
+ in->yyt10 = in->cur;
+ goto yy39;
+ default:
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt18 = in->yyt19 = in->cur;
+ goto yy13;
+ }
+yy51:
+ yyaccept = 13;
+ in->mar = ++in->cur;
+ if ((in->lim - in->cur) < 4) if (fill(in, 4) != 0) return 2;
+ yych = *in->cur;
+yy52:
+ switch (yych) {
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy51;
+ case '#':
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt16 = in->yyt19 = in->cur;
+ goto yy16;
+ case '%': goto yy53;
+ case '/':
+ in->yyt9 = in->yyt3;
+ in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt16 = in->yyt19 = in->cur;
+ goto yy32;
+ case ':':
+ in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = NULL;
+ in->yyt16 = in->cur;
+ goto yy58;
+ case '?':
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt3 = in->yyt16 = in->yyt19 = in->cur;
+ goto yy19;
+ default:
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt16 = in->yyt19 = in->cur;
+ goto yy13;
+ }
+yy53:
+ ++in->cur;
+ if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy68;
+ default: goto yy11;
+ }
+yy54:
+ yyaccept = 13;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy69;
+ default: goto yy52;
+ }
+yy55:
+ yyaccept = 13;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy69;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy57;
+ default: goto yy52;
+ }
+yy56:
+ yyaccept = 13;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy69;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy57;
+ case '5': goto yy70;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy54;
+ default: goto yy52;
+ }
+yy57:
+ yyaccept = 13;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy69;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy54;
+ default: goto yy52;
+ }
+yy58:
+ yych = *++in->cur;
+ switch (yych) {
+ case '#':
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt17 = in->yyt18 = in->yyt19 = in->cur;
+ goto yy16;
+ case '/':
+ in->yyt9 = in->yyt3;
+ in->yyt17 = in->yyt18 = in->yyt19 = in->cur;
+ goto yy32;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ in->yyt17 = in->cur;
+ goto yy71;
+ case '?':
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = NULL;
+ in->yyt3 = in->yyt17 = in->yyt18 = in->yyt19 = in->cur;
+ goto yy19;
+ default:
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt17 = in->yyt18 = in->yyt19 = in->cur;
+ goto yy13;
+ }
+yy59:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy73;
+ case ':': goto yy74;
+ default: goto yy11;
+ }
+yy60:
+ yych = *++in->cur;
+ switch (yych) {
+ case ':': goto yy75;
+ default: goto yy11;
+ }
+yy61:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy11;
+ default: goto yy77;
+ }
+yy62:
+ ++in->cur;
+ if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy32;
+ default: goto yy11;
+ }
+yy63:
+ yyaccept = 8;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy78;
+ default: goto yy30;
+ }
+yy64:
+ yyaccept = 8;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy78;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy66;
+ default: goto yy30;
+ }
+yy65:
+ yyaccept = 8;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy78;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy66;
+ case '5': goto yy79;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy63;
+ default: goto yy30;
+ }
+yy66:
+ yyaccept = 8;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy78;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy63;
+ default: goto yy30;
+ }
+yy67:
+ ++in->cur;
+ if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy46;
+ default: goto yy11;
+ }
+yy68:
+ ++in->cur;
+ if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy51;
+ default: goto yy11;
+ }
+yy69:
+ yyaccept = 13;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '0': goto yy80;
+ case '1': goto yy81;
+ case '2': goto yy82;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy83;
+ default: goto yy52;
+ }
+yy70:
+ yyaccept = 13;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy69;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy54;
+ default: goto yy52;
+ }
+yy71:
+ ++in->cur;
+ if ((in->lim - in->cur) < 3) if (fill(in, 3) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case '#':
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt18 = in->yyt19 = in->cur;
+ goto yy16;
+ case '/':
+ in->yyt9 = in->yyt3;
+ in->yyt18 = in->yyt19 = in->cur;
+ goto yy32;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy71;
+ case '?':
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = NULL;
+ in->yyt3 = in->yyt18 = in->yyt19 = in->cur;
+ goto yy19;
+ default:
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt18 = in->yyt19 = in->cur;
+ goto yy13;
+ }
+yy73:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy84;
+ case ':': goto yy74;
+ default: goto yy11;
+ }
+yy74:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy85;
+ case ':': goto yy86;
+ default: goto yy11;
+ }
+yy75:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0': goto yy87;
+ case '1': goto yy88;
+ case '2': goto yy89;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy90;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy91;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy76:
+ ++in->cur;
+ if ((in->lim - in->cur) < 2) if (fill(in, 2) != 0) return 2;
+ yych = *in->cur;
+yy77:
+ switch (yych) {
+ case '.': goto yy93;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy76;
+ default: goto yy11;
+ }
+yy78:
+ yyaccept = 8;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '0': goto yy94;
+ case '1': goto yy95;
+ case '2': goto yy96;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy97;
+ default: goto yy30;
+ }
+yy79:
+ yyaccept = 8;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy78;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy63;
+ default: goto yy30;
+ }
+yy80:
+ yyaccept = 13;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy98;
+ default: goto yy52;
+ }
+yy81:
+ yyaccept = 13;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy98;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy83;
+ default: goto yy52;
+ }
+yy82:
+ yyaccept = 13;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy98;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy83;
+ case '5': goto yy99;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy80;
+ default: goto yy52;
+ }
+yy83:
+ yyaccept = 13;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy98;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy80;
+ default: goto yy52;
+ }
+yy84:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy100;
+ case ':': goto yy74;
+ default: goto yy11;
+ }
+yy85:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy101;
+ case ':': goto yy102;
+ default: goto yy11;
+ }
+yy86:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0': goto yy103;
+ case '1': goto yy104;
+ case '2': goto yy105;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy106;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy107;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy87:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy109;
+ case ':': goto yy110;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy88:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy111;
+ case ':': goto yy110;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy109;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy89:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy111;
+ case '5': goto yy112;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy113;
+ case ':': goto yy110;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy109;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy90:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy113;
+ case ':': goto yy110;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy109;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy91:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy109;
+ case ':': goto yy110;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy92:
+ yych = *++in->cur;
+ switch (yych) {
+ case '#':
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt12 = in->yyt19 = in->cur;
+ goto yy16;
+ case '/':
+ in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt12 = in->yyt19 = in->cur;
+ goto yy32;
+ case ':':
+ in->yyt3 = in->yyt9;
+ in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = NULL;
+ in->yyt12 = in->cur;
+ goto yy58;
+ case '?':
+ in->yyt4 = in->yyt5 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt3 = in->yyt12 = in->yyt19 = in->cur;
+ goto yy19;
+ default:
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt12 = in->yyt19 = in->cur;
+ goto yy13;
+ }
+yy93:
+ yych = *++in->cur;
+ switch (yych) {
+ case ']': goto yy11;
+ default: goto yy115;
+ }
+yy94:
+ yyaccept = 8;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy116;
+ default: goto yy30;
+ }
+yy95:
+ yyaccept = 8;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy116;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy97;
+ default: goto yy30;
+ }
+yy96:
+ yyaccept = 8;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy116;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy97;
+ case '5': goto yy117;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy94;
+ default: goto yy30;
+ }
+yy97:
+ yyaccept = 8;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy116;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy94;
+ default: goto yy30;
+ }
+yy98:
+ yyaccept = 13;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '0': goto yy118;
+ case '1': goto yy119;
+ case '2': goto yy120;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy121;
+ default: goto yy52;
+ }
+yy99:
+ yyaccept = 13;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy98;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy80;
+ default: goto yy52;
+ }
+yy100:
+ yych = *++in->cur;
+ switch (yych) {
+ case ':': goto yy74;
+ default: goto yy11;
+ }
+yy101:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy122;
+ case ':': goto yy102;
+ default: goto yy11;
+ }
+yy102:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy123;
+ case ':': goto yy124;
+ default: goto yy11;
+ }
+yy103:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy125;
+ case ':': goto yy126;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy104:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy127;
+ case ':': goto yy126;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy125;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy105:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy127;
+ case '5': goto yy128;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy129;
+ case ':': goto yy126;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy125;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy106:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy129;
+ case ':': goto yy126;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy125;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy107:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy125;
+ case ':': goto yy126;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy108:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0': goto yy130;
+ case '1': goto yy131;
+ case '2': goto yy132;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy133;
+ default: goto yy11;
+ }
+yy109:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy134;
+ case ':': goto yy110;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy110:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0': goto yy103;
+ case '1': goto yy104;
+ case '2': goto yy105;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy106;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy107;
+ default: goto yy11;
+ }
+yy111:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy135;
+ case ':': goto yy110;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy134;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy112:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy135;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy134;
+ case ':': goto yy110;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy113:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy134;
+ case ':': goto yy110;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy114:
+ ++in->cur;
+ if ((in->lim - in->cur) < 5) if (fill(in, 5) != 0) return 2;
+ yych = *in->cur;
+yy115:
+ switch (yych) {
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy114;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy116:
+ yyaccept = 8;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '0': goto yy136;
+ case '1': goto yy137;
+ case '2': goto yy138;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy139;
+ default: goto yy30;
+ }
+yy117:
+ yyaccept = 8;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy116;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy94;
+ default: goto yy30;
+ }
+yy118:
+ yyaccept = 13;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy140;
+ default: goto yy52;
+ }
+yy119:
+ yyaccept = 13;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy140;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy121;
+ default: goto yy52;
+ }
+yy120:
+ yyaccept = 13;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy140;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy121;
+ case '5': goto yy141;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy118;
+ default: goto yy52;
+ }
+yy121:
+ yyaccept = 13;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy140;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy118;
+ default: goto yy52;
+ }
+yy122:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy142;
+ case ':': goto yy102;
+ default: goto yy11;
+ }
+yy123:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy143;
+ case ':': goto yy144;
+ default: goto yy11;
+ }
+yy124:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0': goto yy145;
+ case '1': goto yy146;
+ case '2': goto yy147;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy148;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy149;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy125:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy150;
+ case ':': goto yy126;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy126:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0': goto yy145;
+ case '1': goto yy146;
+ case '2': goto yy147;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy148;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy149;
+ default: goto yy11;
+ }
+yy127:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy151;
+ case ':': goto yy126;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy150;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy128:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy151;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy150;
+ case ':': goto yy126;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy129:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy150;
+ case ':': goto yy126;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy130:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy152;
+ default: goto yy11;
+ }
+yy131:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy152;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy133;
+ default: goto yy11;
+ }
+yy132:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy152;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy133;
+ case '5': goto yy153;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy130;
+ default: goto yy11;
+ }
+yy133:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy152;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy130;
+ default: goto yy11;
+ }
+yy134:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy154;
+ case ':': goto yy110;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy135:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy154;
+ case ':': goto yy110;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy136:
+ yyaccept = 14;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '!':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ';':
+ case '=':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy30;
+ case '#':
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy16;
+ case '/':
+ in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt14 = in->yyt19 = in->cur;
+ goto yy32;
+ case ':':
+ in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = NULL;
+ in->yyt14 = in->cur;
+ goto yy38;
+ case '?':
+ in->yyt4 = in->yyt5 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy19;
+ default:
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy13;
+ }
+yy137:
+ yyaccept = 14;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '!':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case ';':
+ case '=':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy30;
+ case '#':
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy16;
+ case '/':
+ in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt14 = in->yyt19 = in->cur;
+ goto yy32;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy139;
+ case ':':
+ in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = NULL;
+ in->yyt14 = in->cur;
+ goto yy38;
+ case '?':
+ in->yyt4 = in->yyt5 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy19;
+ default:
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy13;
+ }
+yy138:
+ yyaccept = 14;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '!':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case ';':
+ case '=':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy30;
+ case '#':
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy16;
+ case '/':
+ in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt14 = in->yyt19 = in->cur;
+ goto yy32;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy139;
+ case '5': goto yy155;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy136;
+ case ':':
+ in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = NULL;
+ in->yyt14 = in->cur;
+ goto yy38;
+ case '?':
+ in->yyt4 = in->yyt5 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy19;
+ default:
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy13;
+ }
+yy139:
+ yyaccept = 14;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '!':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case ';':
+ case '=':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy30;
+ case '#':
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy16;
+ case '/':
+ in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt14 = in->yyt19 = in->cur;
+ goto yy32;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy136;
+ case ':':
+ in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = NULL;
+ in->yyt14 = in->cur;
+ goto yy38;
+ case '?':
+ in->yyt4 = in->yyt5 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy19;
+ default:
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy13;
+ }
+yy140:
+ yyaccept = 13;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '0': goto yy156;
+ case '1': goto yy157;
+ case '2': goto yy158;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy159;
+ default: goto yy52;
+ }
+yy141:
+ yyaccept = 13;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy140;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy118;
+ default: goto yy52;
+ }
+yy142:
+ yych = *++in->cur;
+ switch (yych) {
+ case ':': goto yy102;
+ default: goto yy11;
+ }
+yy143:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy160;
+ case ':': goto yy144;
+ default: goto yy11;
+ }
+yy144:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy161;
+ case ':': goto yy162;
+ default: goto yy11;
+ }
+yy145:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy163;
+ case ':': goto yy164;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy146:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy165;
+ case ':': goto yy164;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy163;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy147:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy165;
+ case '5': goto yy166;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy167;
+ case ':': goto yy164;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy163;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy148:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy167;
+ case ':': goto yy164;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy163;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy149:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy163;
+ case ':': goto yy164;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy150:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy168;
+ case ':': goto yy126;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy151:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy168;
+ case ':': goto yy126;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy152:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0': goto yy169;
+ case '1': goto yy170;
+ case '2': goto yy171;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy172;
+ default: goto yy11;
+ }
+yy153:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy152;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy130;
+ default: goto yy11;
+ }
+yy154:
+ yych = *++in->cur;
+ switch (yych) {
+ case ':': goto yy110;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy155:
+ yyaccept = 14;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '!':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ';':
+ case '=':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy30;
+ case '#':
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy16;
+ case '/':
+ in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt14 = in->yyt19 = in->cur;
+ goto yy32;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy136;
+ case ':':
+ in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = NULL;
+ in->yyt14 = in->cur;
+ goto yy38;
+ case '?':
+ in->yyt4 = in->yyt5 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy19;
+ default:
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy13;
+ }
+yy156:
+ yyaccept = 15;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '!':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy52;
+ case '#':
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy16;
+ case '/':
+ in->yyt9 = in->yyt3;
+ in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt14 = in->yyt19 = in->cur;
+ goto yy32;
+ case ':':
+ in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = NULL;
+ in->yyt14 = in->cur;
+ goto yy58;
+ case '?':
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy19;
+ default:
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy13;
+ }
+yy157:
+ yyaccept = 15;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '!':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy52;
+ case '#':
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy16;
+ case '/':
+ in->yyt9 = in->yyt3;
+ in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt14 = in->yyt19 = in->cur;
+ goto yy32;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy159;
+ case ':':
+ in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = NULL;
+ in->yyt14 = in->cur;
+ goto yy58;
+ case '?':
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy19;
+ default:
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy13;
+ }
+yy158:
+ yyaccept = 15;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '!':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy52;
+ case '#':
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy16;
+ case '/':
+ in->yyt9 = in->yyt3;
+ in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt14 = in->yyt19 = in->cur;
+ goto yy32;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy159;
+ case '5': goto yy173;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy156;
+ case ':':
+ in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = NULL;
+ in->yyt14 = in->cur;
+ goto yy58;
+ case '?':
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy19;
+ default:
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy13;
+ }
+yy159:
+ yyaccept = 15;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '!':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy52;
+ case '#':
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy16;
+ case '/':
+ in->yyt9 = in->yyt3;
+ in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt14 = in->yyt19 = in->cur;
+ goto yy32;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy156;
+ case ':':
+ in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = NULL;
+ in->yyt14 = in->cur;
+ goto yy58;
+ case '?':
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy19;
+ default:
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy13;
+ }
+yy160:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy174;
+ case ':': goto yy144;
+ default: goto yy11;
+ }
+yy161:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy175;
+ case ':': goto yy176;
+ default: goto yy11;
+ }
+yy162:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0': goto yy177;
+ case '1': goto yy178;
+ case '2': goto yy179;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy180;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy181;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy163:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy182;
+ case ':': goto yy164;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy164:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0': goto yy177;
+ case '1': goto yy178;
+ case '2': goto yy179;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy180;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy181;
+ default: goto yy11;
+ }
+yy165:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy183;
+ case ':': goto yy164;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy182;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy166:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy183;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy182;
+ case ':': goto yy164;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy167:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy182;
+ case ':': goto yy164;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy168:
+ yych = *++in->cur;
+ switch (yych) {
+ case ':': goto yy126;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy169:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy184;
+ default: goto yy11;
+ }
+yy170:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy184;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy172;
+ default: goto yy11;
+ }
+yy171:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy184;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy172;
+ case '5': goto yy185;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy169;
+ default: goto yy11;
+ }
+yy172:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy184;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy169;
+ default: goto yy11;
+ }
+yy173:
+ yyaccept = 15;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '!':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy52;
+ case '#':
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy16;
+ case '/':
+ in->yyt9 = in->yyt3;
+ in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt14 = in->yyt19 = in->cur;
+ goto yy32;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy156;
+ case ':':
+ in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = NULL;
+ in->yyt14 = in->cur;
+ goto yy58;
+ case '?':
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy19;
+ default:
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy13;
+ }
+yy174:
+ yych = *++in->cur;
+ switch (yych) {
+ case ':': goto yy144;
+ default: goto yy11;
+ }
+yy175:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy186;
+ case ':': goto yy176;
+ default: goto yy11;
+ }
+yy176:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy187;
+ case ':': goto yy188;
+ default: goto yy11;
+ }
+yy177:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy189;
+ case ':': goto yy190;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy178:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy191;
+ case ':': goto yy190;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy189;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy179:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy191;
+ case '5': goto yy192;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy193;
+ case ':': goto yy190;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy189;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy180:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy193;
+ case ':': goto yy190;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy189;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy181:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy189;
+ case ':': goto yy190;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy182:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy194;
+ case ':': goto yy164;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy183:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy194;
+ case ':': goto yy164;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy184:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0': goto yy195;
+ case '1': goto yy196;
+ case '2': goto yy197;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy198;
+ default: goto yy11;
+ }
+yy185:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy184;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy169;
+ default: goto yy11;
+ }
+yy186:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy199;
+ case ':': goto yy176;
+ default: goto yy11;
+ }
+yy187:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy200;
+ case ':': goto yy201;
+ default: goto yy11;
+ }
+yy188:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0': goto yy202;
+ case '1': goto yy203;
+ case '2': goto yy204;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy205;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy206;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy189:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy207;
+ case ':': goto yy190;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy190:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0': goto yy202;
+ case '1': goto yy203;
+ case '2': goto yy204;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy205;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy206;
+ default: goto yy11;
+ }
+yy191:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy208;
+ case ':': goto yy190;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy207;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy192:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy208;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy207;
+ case ':': goto yy190;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy193:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy207;
+ case ':': goto yy190;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy194:
+ yych = *++in->cur;
+ switch (yych) {
+ case ':': goto yy164;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy195:
+ yych = *++in->cur;
+ switch (yych) {
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy196:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy198;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy197:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy198;
+ case '5': goto yy209;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy195;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy198:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy195;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy199:
+ yych = *++in->cur;
+ switch (yych) {
+ case ':': goto yy176;
+ default: goto yy11;
+ }
+yy200:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy210;
+ case ':': goto yy201;
+ default: goto yy11;
+ }
+yy201:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy211;
+ case ':': goto yy212;
+ default: goto yy11;
+ }
+yy202:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy213;
+ case ':': goto yy214;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy203:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy215;
+ case ':': goto yy214;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy213;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy204:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy215;
+ case '5': goto yy216;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy217;
+ case ':': goto yy214;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy213;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy205:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy217;
+ case ':': goto yy214;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy213;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy206:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy213;
+ case ':': goto yy214;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy207:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy218;
+ case ':': goto yy190;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy208:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy218;
+ case ':': goto yy190;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy209:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy195;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy210:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy219;
+ case ':': goto yy201;
+ default: goto yy11;
+ }
+yy211:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy220;
+ case ':': goto yy221;
+ default: goto yy11;
+ }
+yy212:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0': goto yy222;
+ case '1': goto yy223;
+ case '2': goto yy224;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy225;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy226;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy213:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy227;
+ case ':': goto yy214;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy214:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0': goto yy222;
+ case '1': goto yy223;
+ case '2': goto yy224;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy225;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy226;
+ default: goto yy11;
+ }
+yy215:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy228;
+ case ':': goto yy214;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy227;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy216:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy228;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy227;
+ case ':': goto yy214;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy217:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy227;
+ case ':': goto yy214;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy218:
+ yych = *++in->cur;
+ switch (yych) {
+ case ':': goto yy190;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy219:
+ yych = *++in->cur;
+ switch (yych) {
+ case ':': goto yy201;
+ default: goto yy11;
+ }
+yy220:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy229;
+ case ':': goto yy221;
+ default: goto yy11;
+ }
+yy221:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0': goto yy230;
+ case '1': goto yy231;
+ case '2': goto yy232;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy233;
+ case ':': goto yy234;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy235;
+ default: goto yy11;
+ }
+yy222:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy236;
+ case ':': goto yy237;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy223:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy238;
+ case ':': goto yy237;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy236;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy224:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy238;
+ case '5': goto yy239;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy240;
+ case ':': goto yy237;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy236;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy225:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy240;
+ case ':': goto yy237;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy236;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy226:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy236;
+ case ':': goto yy237;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy227:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy241;
+ case ':': goto yy214;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy228:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy241;
+ case ':': goto yy214;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy229:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy242;
+ case ':': goto yy221;
+ default: goto yy11;
+ }
+yy230:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy243;
+ case ':': goto yy244;
+ default: goto yy11;
+ }
+yy231:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy245;
+ case ':': goto yy244;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy243;
+ default: goto yy11;
+ }
+yy232:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy245;
+ case '5': goto yy246;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy247;
+ case ':': goto yy244;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy243;
+ default: goto yy11;
+ }
+yy233:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy247;
+ case ':': goto yy244;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy243;
+ default: goto yy11;
+ }
+yy234:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy248;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy235:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy243;
+ case ':': goto yy244;
+ default: goto yy11;
+ }
+yy236:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy249;
+ case ':': goto yy237;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy237:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy248;
+ default: goto yy11;
+ }
+yy238:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy250;
+ case ':': goto yy237;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy249;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy239:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy250;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy249;
+ case ':': goto yy237;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy240:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy249;
+ case ':': goto yy237;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy241:
+ yych = *++in->cur;
+ switch (yych) {
+ case ':': goto yy214;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy242:
+ yych = *++in->cur;
+ switch (yych) {
+ case ':': goto yy221;
+ default: goto yy11;
+ }
+yy243:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy251;
+ case ':': goto yy244;
+ default: goto yy11;
+ }
+yy244:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy248;
+ case ':': goto yy195;
+ default: goto yy11;
+ }
+yy245:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy252;
+ case ':': goto yy244;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy251;
+ default: goto yy11;
+ }
+yy246:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy252;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy251;
+ case ':': goto yy244;
+ default: goto yy11;
+ }
+yy247:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy251;
+ case ':': goto yy244;
+ default: goto yy11;
+ }
+yy248:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy253;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy249:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy254;
+ case ':': goto yy237;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy250:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy254;
+ case ':': goto yy237;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy251:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy255;
+ case ':': goto yy244;
+ default: goto yy11;
+ }
+yy252:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy255;
+ case ':': goto yy244;
+ default: goto yy11;
+ }
+yy253:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy256;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy254:
+ yych = *++in->cur;
+ switch (yych) {
+ case ':': goto yy237;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy255:
+ yych = *++in->cur;
+ switch (yych) {
+ case ':': goto yy244;
+ default: goto yy11;
+ }
+yy256:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy195;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+}
+
+}
+
+int main(int argc, char **argv)
+{
+ long count;
+ input_t in;
+ init_input(&in, argv[1]);
+
+ switch (lex(&in, &count)) {
+ case 0: fprintf(stderr, "ok, parsed %ld URIs\n", count); break;
+ case 1: fprintf(stderr, "syntax error\n"); break;
+ case 2: fprintf(stderr, "yyfill error\n"); break;
+ default: fprintf(stderr, "panic\n"); break;
+ }
+
+ free_input(&in);
+ return 0;
+}
+re2c: warning: line 135: tag 'u1' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 135: tag 'u2' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 135: tag 'h1' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 135: tag 'h2' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 135: tag 'h3' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 135: tag 'h4' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 135: tag 'h5' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 135: tag 'h6' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 135: tag 'r1' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 135: tag 'p3' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
diff --git a/examples/10_uri_rfc3986.i--tags.re b/examples/10_uri_rfc3986.i--tags.re
new file mode 100644
index 00000000..c1438139
--- /dev/null
+++ b/examples/10_uri_rfc3986.i--tags.re
@@ -0,0 +1,169 @@
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
+/*!max:re2c*/
+static const size_t SIZE = 4096;
+
+typedef struct {
+ FILE *file;
+ char *buf;
+ char *lim;
+ char *cur;
+ char *mar;
+ char *tok;
+ /*!stags:re2c format = "char *@@;\n"; */
+ int eof;
+} input_t;
+
+static void init_input(input_t *in, const char *fname)
+{
+ in->file = fopen(fname, "r");
+ in->buf = (char*) malloc(SIZE + YYMAXFILL);
+ in->lim = in->buf + SIZE;
+ in->cur = in->lim;
+ in->mar = in->lim;
+ in->tok = in->lim;
+ /*!stags:re2c format = "in->@@ = 0;\n"; */
+ in->eof = 0;
+}
+
+static void free_input(input_t *in)
+{
+ free(in->buf);
+ fclose(in->file);
+}
+
+static int fill(input_t *in, size_t need)
+{
+ size_t free;
+ if (in->eof) return 1;
+
+ free = in->tok - in->buf;
+ if (free < need) return 2;
+
+ memmove(in->buf, in->tok, in->lim - in->tok);
+ in->lim -= free;
+ in->cur -= free;
+ in->mar -= free;
+ in->tok -= free;
+ /*!stags:re2c format = "if (in->@@) in->@@ -= free;\n"; */
+ in->lim += fread(in->lim, 1, free, in->file);
+ if (in->lim < in->buf + SIZE) {
+ in->eof = 1;
+ memset(in->lim, 0, YYMAXFILL);
+ in->lim += YYMAXFILL;
+ }
+ return 0;
+}
+
+static int lex(input_t *in, long *count)
+{
+ const char
+ *s1, *u1, *h1, *h3, *h5, *r1, *p1, *p3, *q1, *f1,
+ *s2, *u2, *h2, *h4, *h6, *r2, *p2, *p4, *q2, *f2;
+ long c;
+
+ c = 0;
+loop:
+ in->tok = in->cur;
+/*!re2c
+
+ re2c:define:YYCTYPE = char;
+ re2c:define:YYCURSOR = in->cur;
+ re2c:define:YYMARKER = in->mar;
+ re2c:define:YYLIMIT = in->lim;
+ re2c:define:YYFILL = "if (fill(in, @@) != 0) return 2;";
+ re2c:define:YYFILL:naked = 1;
+ re2c:tags:expression = "in->@@";
+
+ end = "\x00";
+ eol = "\n";
+
+ alpha = [a-zA-Z];
+ digit = [0-9];
+ hexdigit = [0-9a-fA-F];
+ unreserved = alpha | digit | [-._~];
+ pct_encoded = "%" hexdigit{2};
+ sub_delims = [!$&'()*+,;=];
+ pchar = unreserved | pct_encoded | sub_delims | [:@];
+
+ scheme = @s1 alpha (alpha | digit | [-+.])* @s2;
+ userinfo = @u1 (unreserved | pct_encoded | sub_delims | ":")* @u2;
+ dec_octet
+ = digit
+ | [\x31-\x39] digit
+ | "1" digit{2}
+ | "2" [\x30-\x34] digit
+ | "25" [\x30-\x35];
+ ipv4address = dec_octet "." dec_octet "." dec_octet "." dec_octet;
+ h16 = hexdigit{1,4};
+ ls32 = h16 ":" h16 | ipv4address;
+ ipv6address
+ = (h16 ":"){6} ls32
+ | "::" (h16 ":"){5} ls32
+ | ( h16)? "::" (h16 ":"){4} ls32
+ | ((h16 ":"){0,1} h16)? "::" (h16 ":"){3} ls32
+ | ((h16 ":"){0,2} h16)? "::" (h16 ":"){2} ls32
+ | ((h16 ":"){0,3} h16)? "::" h16 ":" ls32
+ | ((h16 ":"){0,4} h16)? "::" ls32
+ | ((h16 ":"){0,5} h16)? "::" h16
+ | ((h16 ":"){0,6} h16)? "::";
+ ipvfuture = "v" hexdigit+ "." (unreserved | sub_delims | ":" )+;
+ ip_literal = "[" ( ipv6address | ipvfuture ) "]";
+ reg_name = (unreserved | pct_encoded | sub_delims)*;
+ host
+ = @h1 ip_literal @h2
+ | @h3 ipv4address @h4
+ | @h5 reg_name @h6;
+ port = @r1 digit* @r2;
+ authority = (userinfo "@")? host (":" port)?;
+ path_abempty = ("/" pchar*)*;
+ path_absolute = "/" (pchar+ ("/" pchar*)*)?;
+ path_rootless = pchar+ ("/" pchar*)*;
+ path_empty = "";
+ hier_part
+ = "//" authority @p1 path_abempty @p2
+ | @p3 (path_absolute | path_rootless | path_empty) @p4;
+ query = @q1 (pchar | [/?])* @q2;
+ fragment = @f1 (pchar | [/?])* @f2;
+ uri = scheme ":" hier_part ("?" query)? ("#" fragment)?;
+
+ * { return 1; }
+ end { *count = c; return 0; }
+ eol { goto loop; }
+ uri {
+ ++c;
+ printf("URI %ld:\n", c);
+ printf(" scheme: %.*s\n", (int)(s2 - s1), s1);
+ if (u1) printf(" userinfo: %.*s\n", (int)(u2 - u1), u1);
+ if (h1) printf(" host: %.*s (IP literal)\n", (int)(h2 - h1), h1);
+ if (h3) printf(" host: %.*s (IPv4)\n", (int)(h4 - h3), h3);
+ if (h5) printf(" host: %.*s (name)\n", (int)(h6 - h5), h5);
+ if (r1) printf(" port: %.*s\n", (int)(r2 - r1), r1);
+ if (p1) printf(" path: %.*s\n", (int)(p2 - p1), p1);
+ if (p3) printf(" path: %.*s\n", (int)(p4 - p3), p3);
+ if (q1) printf(" query: %.*s\n", (int)(q2 - q1), q1);
+ if (f1) printf(" fragment: %.*s\n", (int)(f2 - f1), f1);
+ printf("\n");
+ goto loop;
+ }
+*/
+}
+
+int main(int argc, char **argv)
+{
+ long count;
+ input_t in;
+ init_input(&in, argv[1]);
+
+ switch (lex(&in, &count)) {
+ case 0: fprintf(stderr, "ok, parsed %ld URIs\n", count); break;
+ case 1: fprintf(stderr, "syntax error\n"); break;
+ case 2: fprintf(stderr, "yyfill error\n"); break;
+ default: fprintf(stderr, "panic\n"); break;
+ }
+
+ free_input(&in);
+ return 0;
+}
diff --git a/examples/11_http_rfc7230.i--tags.c b/examples/11_http_rfc7230.i--tags.c
new file mode 100644
index 00000000..0d0c8a58
--- /dev/null
+++ b/examples/11_http_rfc7230.i--tags.c
@@ -0,0 +1,13267 @@
+/* Generated by re2c */
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
+typedef struct mtag_t {
+ struct mtag_t *pred;
+ long dist;
+} mtag_t;
+
+typedef struct mtagpool_t {
+ mtag_t *head;
+ mtag_t *next;
+ mtag_t *last;
+} mtagpool_t;
+
+typedef struct {
+ FILE *file;
+ char *buf;
+ char *lim;
+ char *cur;
+ char *mar;
+ char *tok;
+ char *yyt1;
+char *yyt10;
+char *yyt11;
+char *yyt12;
+char *yyt13;
+char *yyt14;
+char *yyt15;
+char *yyt16;
+char *yyt17;
+char *yyt18;
+char *yyt19;
+char *yyt2;
+char *yyt20;
+char *yyt21;
+char *yyt22;
+char *yyt23;
+char *yyt24;
+char *yyt25;
+char *yyt26;
+char *yyt27;
+char *yyt28;
+char *yyt29;
+char *yyt3;
+char *yyt30;
+char *yyt31;
+char *yyt32;
+char *yyt33;
+char *yyt34;
+char *yyt35;
+char *yyt4;
+char *yyt5;
+char *yyt6;
+char *yyt7;
+char *yyt8;
+char *yyt9;
+
+ mtag_t *yyt36;
+mtag_t *yyt37;
+mtag_t *yyt38;
+mtag_t *yyt39;
+mtag_t *yyt40;
+mtag_t *yyt41;
+mtag_t *yyt42;
+
+ mtagpool_t mtp;
+ int eof;
+} input_t;
+
+static void mtagpool_clear(mtagpool_t *mtp, input_t *in)
+{
+ mtp->next = mtp->head;
+ in->yyt36 = 0;
+in->yyt37 = 0;
+in->yyt38 = 0;
+in->yyt39 = 0;
+in->yyt40 = 0;
+in->yyt41 = 0;
+in->yyt42 = 0;
+
+}
+
+static void mtagpool_init(mtagpool_t *mtp)
+{
+ static const unsigned size = 1024 * 1024;
+ mtp->head = (mtag_t*)malloc(size * sizeof(mtag_t));
+ mtp->next = mtp->head;
+ mtp->last = mtp->head + size;
+}
+
+static void mtagpool_free(mtagpool_t *mtp)
+{
+ free(mtp->head);
+ mtp->head = mtp->next = mtp->last = NULL;
+}
+
+static mtag_t *mtagpool_next(mtagpool_t *mtp)
+{
+ unsigned size;
+ mtag_t *head;
+
+ if (mtp->next < mtp->last) return mtp->next++;
+
+ size = mtp->last - mtp->head;
+ head = (mtag_t*)malloc(2 * size * sizeof(mtag_t));
+ memcpy(head, mtp->head, size * sizeof(mtag_t));
+ free(mtp->head);
+ mtp->head = head;
+ mtp->next = head + size;
+ mtp->last = head + size * 2;
+ return mtp->next++;
+}
+
+static void mtag(mtag_t **pmt, const char *b, const char *t, mtagpool_t *mtp)
+{
+ mtag_t *mt = mtagpool_next(mtp);
+ mt->pred = *pmt;
+ mt->dist = t - b;
+ *pmt = mt;
+}
+
+#define YYMAXFILL 66
+
+static const size_t SIZE = 4096;
+
+static void init_input(input_t *in, const char *fname)
+{
+ in->file = fopen(fname, "r");
+ in->buf = (char*) malloc(SIZE + YYMAXFILL);
+ in->lim = in->buf + SIZE;
+ in->cur = in->lim;
+ in->mar = in->lim;
+ in->tok = in->lim;
+ in->yyt1 = 0;
+in->yyt10 = 0;
+in->yyt11 = 0;
+in->yyt12 = 0;
+in->yyt13 = 0;
+in->yyt14 = 0;
+in->yyt15 = 0;
+in->yyt16 = 0;
+in->yyt17 = 0;
+in->yyt18 = 0;
+in->yyt19 = 0;
+in->yyt2 = 0;
+in->yyt20 = 0;
+in->yyt21 = 0;
+in->yyt22 = 0;
+in->yyt23 = 0;
+in->yyt24 = 0;
+in->yyt25 = 0;
+in->yyt26 = 0;
+in->yyt27 = 0;
+in->yyt28 = 0;
+in->yyt29 = 0;
+in->yyt3 = 0;
+in->yyt30 = 0;
+in->yyt31 = 0;
+in->yyt32 = 0;
+in->yyt33 = 0;
+in->yyt34 = 0;
+in->yyt35 = 0;
+in->yyt4 = 0;
+in->yyt5 = 0;
+in->yyt6 = 0;
+in->yyt7 = 0;
+in->yyt8 = 0;
+in->yyt9 = 0;
+
+ in->yyt36 = 0;
+in->yyt37 = 0;
+in->yyt38 = 0;
+in->yyt39 = 0;
+in->yyt40 = 0;
+in->yyt41 = 0;
+in->yyt42 = 0;
+
+ mtagpool_init(&in->mtp);
+ in->eof = 0;
+}
+
+static void free_input(input_t *in)
+{
+ fclose(in->file);
+ free(in->buf);
+ mtagpool_free(&in->mtp);
+}
+
+static int fill(input_t *in, size_t need)
+{
+ size_t free;
+ if (in->eof) return 1;
+
+ free = in->tok - in->buf;
+ if (free < need) return 2;
+
+ memmove(in->buf, in->tok, in->lim - in->tok);
+ in->lim -= free;
+ in->cur -= free;
+ in->mar -= free;
+ in->tok -= free;
+ if (in->yyt1) in->yyt1 -= free;
+if (in->yyt10) in->yyt10 -= free;
+if (in->yyt11) in->yyt11 -= free;
+if (in->yyt12) in->yyt12 -= free;
+if (in->yyt13) in->yyt13 -= free;
+if (in->yyt14) in->yyt14 -= free;
+if (in->yyt15) in->yyt15 -= free;
+if (in->yyt16) in->yyt16 -= free;
+if (in->yyt17) in->yyt17 -= free;
+if (in->yyt18) in->yyt18 -= free;
+if (in->yyt19) in->yyt19 -= free;
+if (in->yyt2) in->yyt2 -= free;
+if (in->yyt20) in->yyt20 -= free;
+if (in->yyt21) in->yyt21 -= free;
+if (in->yyt22) in->yyt22 -= free;
+if (in->yyt23) in->yyt23 -= free;
+if (in->yyt24) in->yyt24 -= free;
+if (in->yyt25) in->yyt25 -= free;
+if (in->yyt26) in->yyt26 -= free;
+if (in->yyt27) in->yyt27 -= free;
+if (in->yyt28) in->yyt28 -= free;
+if (in->yyt29) in->yyt29 -= free;
+if (in->yyt3) in->yyt3 -= free;
+if (in->yyt30) in->yyt30 -= free;
+if (in->yyt31) in->yyt31 -= free;
+if (in->yyt32) in->yyt32 -= free;
+if (in->yyt33) in->yyt33 -= free;
+if (in->yyt34) in->yyt34 -= free;
+if (in->yyt35) in->yyt35 -= free;
+if (in->yyt4) in->yyt4 -= free;
+if (in->yyt5) in->yyt5 -= free;
+if (in->yyt6) in->yyt6 -= free;
+if (in->yyt7) in->yyt7 -= free;
+if (in->yyt8) in->yyt8 -= free;
+if (in->yyt9) in->yyt9 -= free;
+
+ in->lim += fread(in->lim, 1, free, in->file);
+ if (in->lim < in->buf + SIZE) {
+ in->eof = 1;
+ memset(in->lim, 0, YYMAXFILL);
+ in->lim += YYMAXFILL;
+ }
+ return 0;
+}
+
+static void print_headers(const char *tok,
+ const mtag_t *h1, const mtag_t *h2,
+ const mtag_t *h3, const mtag_t *h4,
+ const mtag_t *h5)
+{
+ if (!h1) return;
+ print_headers(tok, h1->pred, h2->pred, h3->pred, h4->pred, h5->pred);
+ printf("%.*s%.*s%.*s%.*s\n",
+ (int)(h2->dist - h1->dist), tok + h1->dist,
+ (int)(h3->dist - h2->dist), tok + h2->dist,
+ (int)(h4->dist - h3->dist), tok + h3->dist,
+ (int)(h5->dist - h4->dist), tok + h4->dist);
+}
+
+#define YYCTYPE char
+#define YYCURSOR in->cur
+#define YYMARKER in->mar
+#define YYLIMIT in->lim
+#define YYMTAGP(mt) mtag(&mt, in->tok, in->cur, &in->mtp)
+#define YYMTAGN(mt) mtag(&mt, in->tok, NULL, &in->mtp)
+#define YYFILL(n) if (fill(in, n) != 0) return 2;
+
+static int lex(input_t *in, long *count)
+{
+ const char *of, *au, *at,
+ *hs1, *hs3, *m1, *p1, *p3, *p5, *q1, *q3,
+ *hs2, *hs4, *m2, *p2, *p4, *p6, *q2, *q4,
+ *r1, *r3, *rp1, *s1, *st1, *u1, *u3, *v1, *v3,
+ *r2, *r4, *rp2, *s2, *st2, *u2, *u4, *v2, *v4;
+ mtag_t *h1, *h2, *h3, *h4, *h5;
+ long c;
+
+ c = 0;;
+ of = au = at
+ = hs1 = hs3 = m1 = p1 = p3 = p5 = q1 = q3
+ = hs2 = hs4 = m2 = p2 = p4 = p6 = q2 = q4
+ = r1 = r3 = rp1 = s1 = st1 = u1 = u3 = v1 = v3
+ = r2 = r4 = rp2 = s2 = st2 = u2 = u4 = v2 = v4 = NULL;
+loop:
+ in->tok = in->cur;
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 66) YYFILL(66);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy2;
+ case '\n': goto yy6;
+ case '!':
+ case '#':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '*':
+ case '+':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '^':
+ case '_':
+ case '`':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '|':
+ case '~':
+ in->yyt1 = YYCURSOR;
+ goto yy8;
+ case 'H':
+ in->yyt1 = in->yyt30 = YYCURSOR;
+ goto yy9;
+ default: goto yy4;
+ }
+yy2:
+ ++YYCURSOR;
+ { *count = c; return 0; }
+yy4:
+ ++YYCURSOR;
+yy5:
+ { return 1; }
+yy6:
+ ++YYCURSOR;
+ { goto loop; }
+yy8:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case ' ':
+ case '!':
+ case '#':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '*':
+ case '+':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '^':
+ case '_':
+ case '`':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '|':
+ case '~': goto yy13;
+ default: goto yy5;
+ }
+yy9:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case ' ':
+ case '!':
+ case '#':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '*':
+ case '+':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '^':
+ case '_':
+ case '`':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '|':
+ case '~': goto yy13;
+ case 'T': goto yy14;
+ default: goto yy5;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt10 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt3 = in->yyt11 = in->yyt12 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ';':
+ case '=':
+ case '_':
+ case '~':
+ in->yyt4 = in->yyt10 = NULL;
+ in->yyt3 = in->yyt5 = in->yyt11 = YYCURSOR;
+ goto yy16;
+ case '%':
+ in->yyt4 = in->yyt10 = NULL;
+ in->yyt3 = in->yyt5 = in->yyt11 = YYCURSOR;
+ goto yy18;
+ case '/':
+ in->yyt27 = YYCURSOR;
+ goto yy19;
+ case ':':
+ in->yyt4 = in->yyt10 = NULL;
+ in->yyt3 = in->yyt5 = in->yyt11 = in->yyt12 = YYCURSOR;
+ goto yy21;
+ case '?':
+ in->yyt27 = in->yyt28 = YYCURSOR;
+ goto yy22;
+ case '@':
+ in->yyt3 = in->yyt5 = in->yyt10 = YYCURSOR;
+ goto yy23;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ in->yyt4 = in->yyt10 = NULL;
+ in->yyt3 = in->yyt5 = in->yyt11 = in->yyt14 = YYCURSOR;
+ goto yy24;
+ case '[':
+ in->yyt4 = in->yyt10 = NULL;
+ in->yyt3 = in->yyt11 = YYCURSOR;
+ goto yy26;
+ default: goto yy11;
+ }
+yy11:
+ YYCURSOR = YYMARKER;
+ goto yy5;
+yy12:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 62) YYFILL(62);
+ yych = *YYCURSOR;
+yy13:
+ switch (yych) {
+ case ' ':
+ in->yyt2 = YYCURSOR;
+ goto yy10;
+ case '!':
+ case '#':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '*':
+ case '+':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '^':
+ case '_':
+ case '`':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '|':
+ case '~': goto yy12;
+ default: goto yy11;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'T': goto yy27;
+ default: goto yy13;
+ }
+yy15:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'H':
+ in->yyt8 = YYCURSOR;
+ goto yy28;
+ default: goto yy11;
+ }
+yy16:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 61) YYFILL(61);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt5 = in->yyt6 = in->yyt7 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt12 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy16;
+ case '%': goto yy18;
+ case ':':
+ in->yyt12 = YYCURSOR;
+ goto yy21;
+ case '@':
+ in->yyt10 = YYCURSOR;
+ goto yy23;
+ default: goto yy11;
+ }
+yy18:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy29;
+ default: goto yy11;
+ }
+yy19:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt29 = NULL;
+ in->yyt28 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '/':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy19;
+ case '%': goto yy30;
+ case '?':
+ in->yyt28 = YYCURSOR;
+ goto yy22;
+ default: goto yy11;
+ }
+yy21:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt6 = in->yyt7 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt5 = in->yyt13 = YYCURSOR;
+ goto yy15;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ in->yyt13 = YYCURSOR;
+ goto yy34;
+ default: goto yy32;
+ }
+yy22:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = NULL;
+ in->yyt7 = in->yyt29 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '/':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case '?':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~':
+ in->yyt29 = YYCURSOR;
+ goto yy36;
+ case '%':
+ in->yyt29 = YYCURSOR;
+ goto yy38;
+ default: goto yy11;
+ }
+yy23:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt4 = in->yyt5;
+ in->yyt5 = in->yyt6 = in->yyt7 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt11 = in->yyt12 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~':
+ in->yyt11 = YYCURSOR;
+ goto yy39;
+ case '%':
+ in->yyt11 = YYCURSOR;
+ goto yy41;
+ case ':':
+ in->yyt11 = in->yyt12 = YYCURSOR;
+ goto yy42;
+ case '[':
+ in->yyt4 = in->yyt5;
+ in->yyt11 = YYCURSOR;
+ goto yy26;
+ default: goto yy11;
+ }
+yy24:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 65) YYFILL(65);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt5 = in->yyt6 = in->yyt7 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt12 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case ',':
+ case ';':
+ case '=':
+ case '_':
+ case '~': goto yy16;
+ case '%': goto yy18;
+ case '+':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy24;
+ case ':':
+ in->yyt12 = in->yyt15 = YYCURSOR;
+ goto yy43;
+ case '@':
+ in->yyt10 = YYCURSOR;
+ goto yy23;
+ default: goto yy11;
+ }
+yy26:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy44;
+ case ':': goto yy45;
+ case 'v': goto yy46;
+ default: goto yy11;
+ }
+yy27:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'P': goto yy47;
+ default: goto yy13;
+ }
+yy28:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'T': goto yy48;
+ default: goto yy11;
+ }
+yy29:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy16;
+ default: goto yy11;
+ }
+yy30:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy49;
+ default: goto yy11;
+ }
+yy31:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 60) YYFILL(60);
+ yych = *YYCURSOR;
+yy32:
+ switch (yych) {
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy31;
+ case '%': goto yy33;
+ case '@':
+ in->yyt10 = YYCURSOR;
+ goto yy23;
+ default: goto yy11;
+ }
+yy33:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy50;
+ default: goto yy11;
+ }
+yy34:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 60) YYFILL(60);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt6 = in->yyt7 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt5 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case ':':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy31;
+ case '%': goto yy33;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy34;
+ case '@':
+ in->yyt10 = YYCURSOR;
+ goto yy23;
+ default: goto yy11;
+ }
+yy36:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = NULL;
+ in->yyt7 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '/':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case '?':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy36;
+ case '%': goto yy38;
+ default: goto yy11;
+ }
+yy38:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy51;
+ default: goto yy11;
+ }
+yy39:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt4 = in->yyt5;
+ in->yyt5 = in->yyt6 = in->yyt7 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt12 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy39;
+ case '%': goto yy41;
+ case ':':
+ in->yyt12 = YYCURSOR;
+ goto yy42;
+ default: goto yy11;
+ }
+yy41:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy52;
+ default: goto yy11;
+ }
+yy42:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt4 = in->yyt5;
+ in->yyt6 = in->yyt7 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt5 = in->yyt13 = YYCURSOR;
+ goto yy15;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ in->yyt13 = YYCURSOR;
+ goto yy53;
+ default: goto yy11;
+ }
+yy43:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt6 = in->yyt7 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt5 = in->yyt13 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case ':':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~':
+ in->yyt24 = YYCURSOR;
+ goto yy55;
+ case '%':
+ in->yyt24 = YYCURSOR;
+ goto yy57;
+ case '/':
+ in->yyt24 = YYCURSOR;
+ goto yy58;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ in->yyt13 = in->yyt24 = YYCURSOR;
+ goto yy59;
+ case '?':
+ in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = NULL;
+ in->yyt24 = in->yyt25 = YYCURSOR;
+ goto yy61;
+ case '@':
+ in->yyt10 = in->yyt24 = YYCURSOR;
+ goto yy62;
+ default: goto yy11;
+ }
+yy44:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy63;
+ case ':': goto yy64;
+ default: goto yy11;
+ }
+yy45:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy65;
+ default: goto yy11;
+ }
+yy46:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy11;
+ default: goto yy67;
+ }
+yy47:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '/': goto yy68;
+ default: goto yy13;
+ }
+yy48:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'T': goto yy69;
+ default: goto yy11;
+ }
+yy49:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy19;
+ default: goto yy11;
+ }
+yy50:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy31;
+ default: goto yy11;
+ }
+yy51:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy36;
+ default: goto yy11;
+ }
+yy52:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy39;
+ default: goto yy11;
+ }
+yy53:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt4 = in->yyt5;
+ in->yyt6 = in->yyt7 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt5 = YYCURSOR;
+ goto yy15;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy53;
+ default: goto yy11;
+ }
+yy55:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 60) YYFILL(60);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt25 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy55;
+ case '%': goto yy57;
+ case '/': goto yy70;
+ case '?':
+ in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = NULL;
+ in->yyt25 = YYCURSOR;
+ goto yy61;
+ case '@':
+ in->yyt10 = YYCURSOR;
+ goto yy62;
+ default: goto yy11;
+ }
+yy57:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy72;
+ default: goto yy11;
+ }
+yy58:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '/': goto yy74;
+ default: goto yy71;
+ }
+yy59:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 60) YYFILL(60);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt6 = in->yyt7 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt5 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case ':':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy55;
+ case '%': goto yy57;
+ case '/': goto yy70;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy59;
+ case '?':
+ in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = NULL;
+ in->yyt25 = YYCURSOR;
+ goto yy61;
+ case '@':
+ in->yyt10 = YYCURSOR;
+ goto yy62;
+ default: goto yy11;
+ }
+yy61:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt3 = in->yyt4 = in->yyt5 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt6 = in->yyt26 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '/':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case '?':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~':
+ in->yyt26 = YYCURSOR;
+ goto yy75;
+ case '%':
+ in->yyt26 = YYCURSOR;
+ goto yy77;
+ default: goto yy11;
+ }
+yy62:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt4 = in->yyt5;
+ in->yyt5 = in->yyt6 = in->yyt7 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt11 = in->yyt12 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~':
+ in->yyt11 = YYCURSOR;
+ goto yy78;
+ case '%':
+ in->yyt11 = YYCURSOR;
+ goto yy80;
+ case ':':
+ in->yyt11 = in->yyt12 = YYCURSOR;
+ goto yy81;
+ case '[':
+ in->yyt4 = in->yyt5;
+ in->yyt11 = YYCURSOR;
+ goto yy26;
+ default: goto yy79;
+ }
+yy63:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy82;
+ case ':': goto yy64;
+ default: goto yy11;
+ }
+yy64:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy83;
+ case ':': goto yy84;
+ default: goto yy11;
+ }
+yy65:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy85;
+ case '1': goto yy86;
+ case '2': goto yy87;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy88;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy89;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy66:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+yy67:
+ switch (yych) {
+ case '.': goto yy91;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy66;
+ default: goto yy11;
+ }
+yy68:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy92;
+ default: goto yy11;
+ }
+yy69:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'P': goto yy93;
+ default: goto yy11;
+ }
+yy70:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
+ yych = *YYCURSOR;
+yy71:
+ switch (yych) {
+ case ' ':
+ in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt25 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '/':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy70;
+ case '%': goto yy73;
+ case '?':
+ in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = NULL;
+ in->yyt25 = YYCURSOR;
+ goto yy61;
+ default: goto yy11;
+ }
+yy72:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy55;
+ default: goto yy11;
+ }
+yy73:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy94;
+ default: goto yy11;
+ }
+yy74:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt16 = in->yyt17 = in->yyt20 = in->yyt21 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt18 = in->yyt19 = in->yyt22 = in->yyt23 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~':
+ in->yyt16 = in->yyt17 = NULL;
+ in->yyt3 = in->yyt18 = YYCURSOR;
+ goto yy95;
+ case '%':
+ in->yyt16 = in->yyt17 = NULL;
+ in->yyt3 = in->yyt18 = YYCURSOR;
+ goto yy97;
+ case '/':
+ in->yyt16 = in->yyt17 = in->yyt20 = in->yyt21 = NULL;
+ in->yyt18 = in->yyt19 = in->yyt22 = YYCURSOR;
+ goto yy98;
+ case ':':
+ in->yyt16 = in->yyt17 = NULL;
+ in->yyt3 = in->yyt18 = in->yyt19 = YYCURSOR;
+ goto yy100;
+ case '?':
+ in->yyt16 = in->yyt17 = in->yyt20 = in->yyt21 = in->yyt24 = in->yyt25 = NULL;
+ in->yyt18 = in->yyt19 = in->yyt22 = in->yyt23 = YYCURSOR;
+ goto yy61;
+ case '@':
+ in->yyt3 = in->yyt17 = YYCURSOR;
+ goto yy101;
+ case '[':
+ in->yyt16 = in->yyt17 = NULL;
+ in->yyt18 = YYCURSOR;
+ goto yy102;
+ default: goto yy11;
+ }
+yy75:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt3 = in->yyt4 = in->yyt5 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt6 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '/':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case '?':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy75;
+ case '%': goto yy77;
+ default: goto yy11;
+ }
+yy77:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy103;
+ default: goto yy11;
+ }
+yy78:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
+ yych = *YYCURSOR;
+yy79:
+ switch (yych) {
+ case ' ':
+ in->yyt4 = in->yyt5;
+ in->yyt5 = in->yyt6 = in->yyt7 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt12 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy78;
+ case '%': goto yy80;
+ case '/':
+ case '@': goto yy70;
+ case ':':
+ in->yyt12 = YYCURSOR;
+ goto yy81;
+ case '?':
+ in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = NULL;
+ in->yyt25 = YYCURSOR;
+ goto yy61;
+ default: goto yy11;
+ }
+yy80:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy104;
+ default: goto yy11;
+ }
+yy81:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt4 = in->yyt5;
+ in->yyt6 = in->yyt7 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt5 = in->yyt13 = YYCURSOR;
+ goto yy15;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ in->yyt13 = YYCURSOR;
+ goto yy105;
+ default: goto yy71;
+ }
+yy82:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy107;
+ case ':': goto yy64;
+ default: goto yy11;
+ }
+yy83:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy108;
+ case ':': goto yy109;
+ default: goto yy11;
+ }
+yy84:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy110;
+ case '1': goto yy111;
+ case '2': goto yy112;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy113;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy114;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy85:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy116;
+ case ':': goto yy117;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy86:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy118;
+ case ':': goto yy117;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy116;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy87:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy118;
+ case '5': goto yy119;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy120;
+ case ':': goto yy117;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy116;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy88:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy120;
+ case ':': goto yy117;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy116;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy89:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy116;
+ case ':': goto yy117;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy90:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt5 = in->yyt6 = in->yyt7 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt12 = YYCURSOR;
+ goto yy15;
+ case ':':
+ in->yyt5 = in->yyt4;
+ in->yyt12 = YYCURSOR;
+ goto yy42;
+ default: goto yy11;
+ }
+yy91:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ']': goto yy11;
+ default: goto yy122;
+ }
+yy92:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy123;
+ default: goto yy11;
+ }
+yy93:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '/': goto yy124;
+ default: goto yy11;
+ }
+yy94:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy70;
+ default: goto yy11;
+ }
+yy95:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 62) YYFILL(62);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt20 = in->yyt21 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt19 = in->yyt22 = in->yyt23 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy95;
+ case '%': goto yy97;
+ case '/':
+ in->yyt20 = in->yyt21 = NULL;
+ in->yyt19 = in->yyt22 = YYCURSOR;
+ goto yy98;
+ case ':':
+ in->yyt19 = YYCURSOR;
+ goto yy100;
+ case '?':
+ in->yyt20 = in->yyt21 = in->yyt24 = in->yyt25 = NULL;
+ in->yyt19 = in->yyt22 = in->yyt23 = YYCURSOR;
+ goto yy61;
+ case '@':
+ in->yyt17 = YYCURSOR;
+ goto yy101;
+ default: goto yy11;
+ }
+yy97:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy125;
+ default: goto yy11;
+ }
+yy98:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt23 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '/':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy98;
+ case '%': goto yy126;
+ case '?':
+ in->yyt24 = in->yyt25 = NULL;
+ in->yyt23 = YYCURSOR;
+ goto yy61;
+ default: goto yy11;
+ }
+yy100:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = YYCURSOR;
+ goto yy15;
+ case '/':
+ in->yyt20 = in->yyt21 = in->yyt22 = YYCURSOR;
+ goto yy98;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ in->yyt20 = YYCURSOR;
+ goto yy130;
+ case '?':
+ in->yyt24 = in->yyt25 = NULL;
+ in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = YYCURSOR;
+ goto yy61;
+ default: goto yy128;
+ }
+yy101:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt16 = in->yyt3;
+ in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt20 = in->yyt21 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt18 = in->yyt19 = in->yyt22 = in->yyt23 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~':
+ in->yyt18 = YYCURSOR;
+ goto yy132;
+ case '%':
+ in->yyt18 = YYCURSOR;
+ goto yy134;
+ case '/':
+ in->yyt16 = in->yyt3;
+ in->yyt20 = in->yyt21 = NULL;
+ in->yyt18 = in->yyt19 = in->yyt22 = YYCURSOR;
+ goto yy98;
+ case ':':
+ in->yyt18 = in->yyt19 = YYCURSOR;
+ goto yy135;
+ case '?':
+ in->yyt16 = in->yyt3;
+ in->yyt20 = in->yyt21 = in->yyt24 = in->yyt25 = NULL;
+ in->yyt18 = in->yyt19 = in->yyt22 = in->yyt23 = YYCURSOR;
+ goto yy61;
+ case '[':
+ in->yyt16 = in->yyt3;
+ in->yyt18 = YYCURSOR;
+ goto yy102;
+ default: goto yy11;
+ }
+yy102:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy136;
+ case ':': goto yy137;
+ case 'v': goto yy138;
+ default: goto yy11;
+ }
+yy103:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy75;
+ default: goto yy11;
+ }
+yy104:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy78;
+ default: goto yy11;
+ }
+yy105:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt4 = in->yyt5;
+ in->yyt6 = in->yyt7 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt5 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '/':
+ case ':':
+ case ';':
+ case '=':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy70;
+ case '%': goto yy73;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy105;
+ case '?':
+ in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = NULL;
+ in->yyt25 = YYCURSOR;
+ goto yy61;
+ default: goto yy11;
+ }
+yy107:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy64;
+ default: goto yy11;
+ }
+yy108:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy139;
+ case ':': goto yy109;
+ default: goto yy11;
+ }
+yy109:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy140;
+ case ':': goto yy141;
+ default: goto yy11;
+ }
+yy110:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy142;
+ case ':': goto yy143;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy111:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy144;
+ case ':': goto yy143;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy142;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy112:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy144;
+ case '5': goto yy145;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy146;
+ case ':': goto yy143;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy142;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy113:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy146;
+ case ':': goto yy143;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy142;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy114:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy142;
+ case ':': goto yy143;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy115:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy147;
+ case '1': goto yy148;
+ case '2': goto yy149;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy150;
+ default: goto yy11;
+ }
+yy116:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy151;
+ case ':': goto yy117;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy117:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy110;
+ case '1': goto yy111;
+ case '2': goto yy112;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy113;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy114;
+ default: goto yy11;
+ }
+yy118:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy152;
+ case ':': goto yy117;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy151;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy119:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy152;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy151;
+ case ':': goto yy117;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy120:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy151;
+ case ':': goto yy117;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy121:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
+ yych = *YYCURSOR;
+yy122:
+ switch (yych) {
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy121;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy123:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy153;
+ default: goto yy11;
+ }
+yy124:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy154;
+ default: goto yy11;
+ }
+yy125:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy95;
+ default: goto yy11;
+ }
+yy126:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy155;
+ default: goto yy11;
+ }
+yy127:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 61) YYFILL(61);
+ yych = *YYCURSOR;
+yy128:
+ switch (yych) {
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy127;
+ case '%': goto yy129;
+ case '@':
+ in->yyt17 = YYCURSOR;
+ goto yy101;
+ default: goto yy11;
+ }
+yy129:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy156;
+ default: goto yy11;
+ }
+yy130:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 61) YYFILL(61);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt21 = in->yyt22 = in->yyt23 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case ':':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy127;
+ case '%': goto yy129;
+ case '/':
+ in->yyt21 = in->yyt22 = YYCURSOR;
+ goto yy98;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy130;
+ case '?':
+ in->yyt24 = in->yyt25 = NULL;
+ in->yyt21 = in->yyt22 = in->yyt23 = YYCURSOR;
+ goto yy61;
+ case '@':
+ in->yyt17 = YYCURSOR;
+ goto yy101;
+ default: goto yy11;
+ }
+yy132:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt16 = in->yyt3;
+ in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt20 = in->yyt21 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt19 = in->yyt22 = in->yyt23 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy132;
+ case '%': goto yy134;
+ case '/':
+ in->yyt16 = in->yyt3;
+ in->yyt20 = in->yyt21 = NULL;
+ in->yyt19 = in->yyt22 = YYCURSOR;
+ goto yy98;
+ case ':':
+ in->yyt19 = YYCURSOR;
+ goto yy135;
+ case '?':
+ in->yyt16 = in->yyt3;
+ in->yyt20 = in->yyt21 = in->yyt24 = in->yyt25 = NULL;
+ in->yyt19 = in->yyt22 = in->yyt23 = YYCURSOR;
+ goto yy61;
+ default: goto yy11;
+ }
+yy134:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy157;
+ default: goto yy11;
+ }
+yy135:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt16 = in->yyt3;
+ in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = YYCURSOR;
+ goto yy15;
+ case '/':
+ in->yyt16 = in->yyt3;
+ in->yyt20 = in->yyt21 = in->yyt22 = YYCURSOR;
+ goto yy98;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ in->yyt20 = YYCURSOR;
+ goto yy158;
+ case '?':
+ in->yyt16 = in->yyt3;
+ in->yyt24 = in->yyt25 = NULL;
+ in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = YYCURSOR;
+ goto yy61;
+ default: goto yy11;
+ }
+yy136:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy160;
+ case ':': goto yy161;
+ default: goto yy11;
+ }
+yy137:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy162;
+ default: goto yy11;
+ }
+yy138:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy11;
+ default: goto yy164;
+ }
+yy139:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy165;
+ case ':': goto yy109;
+ default: goto yy11;
+ }
+yy140:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy166;
+ case ':': goto yy167;
+ default: goto yy11;
+ }
+yy141:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy168;
+ case '1': goto yy169;
+ case '2': goto yy170;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy171;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy172;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy142:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy173;
+ case ':': goto yy143;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy143:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy168;
+ case '1': goto yy169;
+ case '2': goto yy170;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy171;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy172;
+ default: goto yy11;
+ }
+yy144:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy174;
+ case ':': goto yy143;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy173;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy145:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy174;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy173;
+ case ':': goto yy143;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy146:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy173;
+ case ':': goto yy143;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy147:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy175;
+ default: goto yy11;
+ }
+yy148:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy175;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy150;
+ default: goto yy11;
+ }
+yy149:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy175;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy150;
+ case '5': goto yy176;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy147;
+ default: goto yy11;
+ }
+yy150:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy175;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy147;
+ default: goto yy11;
+ }
+yy151:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy177;
+ case ':': goto yy117;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy152:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy177;
+ case ':': goto yy117;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy153:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt31 = YYCURSOR;
+ goto yy178;
+ default: goto yy11;
+ }
+yy154:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy179;
+ default: goto yy11;
+ }
+yy155:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy98;
+ default: goto yy11;
+ }
+yy156:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy127;
+ default: goto yy11;
+ }
+yy157:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy132;
+ default: goto yy11;
+ }
+yy158:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt16 = in->yyt3;
+ in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt21 = in->yyt22 = in->yyt23 = YYCURSOR;
+ goto yy15;
+ case '/':
+ in->yyt16 = in->yyt3;
+ in->yyt21 = in->yyt22 = YYCURSOR;
+ goto yy98;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy158;
+ case '?':
+ in->yyt16 = in->yyt3;
+ in->yyt24 = in->yyt25 = NULL;
+ in->yyt21 = in->yyt22 = in->yyt23 = YYCURSOR;
+ goto yy61;
+ default: goto yy11;
+ }
+yy160:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy180;
+ case ':': goto yy161;
+ default: goto yy11;
+ }
+yy161:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy181;
+ case ':': goto yy182;
+ default: goto yy11;
+ }
+yy162:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy183;
+ case '1': goto yy184;
+ case '2': goto yy185;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy186;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy187;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy163:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+yy164:
+ switch (yych) {
+ case '.': goto yy189;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy163;
+ default: goto yy11;
+ }
+yy165:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy109;
+ default: goto yy11;
+ }
+yy166:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy190;
+ case ':': goto yy167;
+ default: goto yy11;
+ }
+yy167:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy191;
+ case ':': goto yy192;
+ default: goto yy11;
+ }
+yy168:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy193;
+ case ':': goto yy194;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy169:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy195;
+ case ':': goto yy194;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy193;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy170:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy195;
+ case '5': goto yy196;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy197;
+ case ':': goto yy194;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy193;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy171:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy197;
+ case ':': goto yy194;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy193;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy172:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy193;
+ case ':': goto yy194;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy173:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy198;
+ case ':': goto yy143;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy174:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy198;
+ case ':': goto yy143;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy175:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy199;
+ case '1': goto yy200;
+ case '2': goto yy201;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy202;
+ default: goto yy11;
+ }
+yy176:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy175;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy147;
+ default: goto yy11;
+ }
+yy177:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy117;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy178:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ in->yyt32 = YYCURSOR;
+ goto yy203;
+ default: goto yy11;
+ }
+yy179:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy204;
+ default: goto yy11;
+ }
+yy180:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy205;
+ case ':': goto yy161;
+ default: goto yy11;
+ }
+yy181:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy206;
+ case ':': goto yy207;
+ default: goto yy11;
+ }
+yy182:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy208;
+ case '1': goto yy209;
+ case '2': goto yy210;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy211;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy212;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy183:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy214;
+ case ':': goto yy215;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy184:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy216;
+ case ':': goto yy215;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy214;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy185:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy216;
+ case '5': goto yy217;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy218;
+ case ':': goto yy215;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy214;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy186:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy218;
+ case ':': goto yy215;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy214;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy187:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy214;
+ case ':': goto yy215;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy188:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt20 = in->yyt21 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt19 = in->yyt22 = in->yyt23 = YYCURSOR;
+ goto yy15;
+ case '/':
+ in->yyt20 = in->yyt21 = NULL;
+ in->yyt19 = in->yyt22 = YYCURSOR;
+ goto yy98;
+ case ':':
+ in->yyt3 = in->yyt16;
+ in->yyt19 = YYCURSOR;
+ goto yy135;
+ case '?':
+ in->yyt20 = in->yyt21 = in->yyt24 = in->yyt25 = NULL;
+ in->yyt19 = in->yyt22 = in->yyt23 = YYCURSOR;
+ goto yy61;
+ default: goto yy11;
+ }
+yy189:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ']': goto yy11;
+ default: goto yy220;
+ }
+yy190:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy221;
+ case ':': goto yy167;
+ default: goto yy11;
+ }
+yy191:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy222;
+ case ':': goto yy223;
+ default: goto yy11;
+ }
+yy192:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy224;
+ case '1': goto yy225;
+ case '2': goto yy226;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy227;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy228;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy193:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy229;
+ case ':': goto yy194;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy194:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy224;
+ case '1': goto yy225;
+ case '2': goto yy226;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy227;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy228;
+ default: goto yy11;
+ }
+yy195:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy230;
+ case ':': goto yy194;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy229;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy196:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy230;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy229;
+ case ':': goto yy194;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy197:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy229;
+ case ':': goto yy194;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy198:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy143;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy199:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy231;
+ default: goto yy11;
+ }
+yy200:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy231;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy202;
+ default: goto yy11;
+ }
+yy201:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy231;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy202;
+ case '5': goto yy232;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy199;
+ default: goto yy11;
+ }
+yy202:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy231;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy199;
+ default: goto yy11;
+ }
+yy203:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy233;
+ default: goto yy11;
+ }
+yy204:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '\n':
+ in->yyt9 = YYCURSOR;
+ goto yy234;
+ default: goto yy11;
+ }
+yy205:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy161;
+ default: goto yy11;
+ }
+yy206:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy235;
+ case ':': goto yy207;
+ default: goto yy11;
+ }
+yy207:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy236;
+ case ':': goto yy237;
+ default: goto yy11;
+ }
+yy208:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy238;
+ case ':': goto yy239;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy209:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy240;
+ case ':': goto yy239;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy238;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy210:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy240;
+ case '5': goto yy241;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy242;
+ case ':': goto yy239;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy238;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy211:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy242;
+ case ':': goto yy239;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy238;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy212:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy238;
+ case ':': goto yy239;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy213:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy243;
+ case '1': goto yy244;
+ case '2': goto yy245;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy246;
+ default: goto yy11;
+ }
+yy214:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy247;
+ case ':': goto yy215;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy215:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy208;
+ case '1': goto yy209;
+ case '2': goto yy210;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy211;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy212;
+ default: goto yy11;
+ }
+yy216:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy248;
+ case ':': goto yy215;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy247;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy217:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy248;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy247;
+ case ':': goto yy215;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy218:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy247;
+ case ':': goto yy215;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy219:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 14) YYFILL(14);
+ yych = *YYCURSOR;
+yy220:
+ switch (yych) {
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy219;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy221:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy167;
+ default: goto yy11;
+ }
+yy222:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy249;
+ case ':': goto yy223;
+ default: goto yy11;
+ }
+yy223:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy250;
+ case ':': goto yy251;
+ default: goto yy11;
+ }
+yy224:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy252;
+ case ':': goto yy253;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy225:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy254;
+ case ':': goto yy253;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy252;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy226:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy254;
+ case '5': goto yy255;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy256;
+ case ':': goto yy253;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy252;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy227:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy256;
+ case ':': goto yy253;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy252;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy228:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy252;
+ case ':': goto yy253;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy229:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy257;
+ case ':': goto yy194;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy230:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy257;
+ case ':': goto yy194;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy231:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy258;
+ case '1': goto yy259;
+ case '2': goto yy260;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy261;
+ default: goto yy11;
+ }
+yy232:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy231;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy199;
+ default: goto yy11;
+ }
+yy233:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy262;
+ default: goto yy11;
+ }
+yy234:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '\n':
+ YYMTAGN (in->yyt40);
+ YYMTAGN (in->yyt39);
+ YYMTAGN (in->yyt38);
+ YYMTAGN (in->yyt37);
+ YYMTAGN (in->yyt36);
+ in->yyt30 = in->yyt31 = in->yyt32 = in->yyt33 = in->yyt34 = in->yyt35 = NULL;
+ goto yy263;
+ case '!':
+ case '#':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '*':
+ case '+':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '^':
+ case '_':
+ case '`':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '|':
+ case '~':
+ YYMTAGP (in->yyt36);
+ in->yyt30 = in->yyt31 = in->yyt32 = in->yyt33 = in->yyt34 = in->yyt35 = NULL;
+ goto yy265;
+ default: goto yy11;
+ }
+yy235:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy267;
+ case ':': goto yy207;
+ default: goto yy11;
+ }
+yy236:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy268;
+ case ':': goto yy269;
+ default: goto yy11;
+ }
+yy237:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy270;
+ case '1': goto yy271;
+ case '2': goto yy272;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy273;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy274;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy238:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy275;
+ case ':': goto yy239;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy239:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy270;
+ case '1': goto yy271;
+ case '2': goto yy272;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy273;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy274;
+ default: goto yy11;
+ }
+yy240:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy276;
+ case ':': goto yy239;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy275;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy241:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy276;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy275;
+ case ':': goto yy239;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy242:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy275;
+ case ':': goto yy239;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy243:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy277;
+ default: goto yy11;
+ }
+yy244:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy277;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy246;
+ default: goto yy11;
+ }
+yy245:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy277;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy246;
+ case '5': goto yy278;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy243;
+ default: goto yy11;
+ }
+yy246:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy277;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy243;
+ default: goto yy11;
+ }
+yy247:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy279;
+ case ':': goto yy215;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy248:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy279;
+ case ':': goto yy215;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy249:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy280;
+ case ':': goto yy223;
+ default: goto yy11;
+ }
+yy250:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy281;
+ case ':': goto yy282;
+ default: goto yy11;
+ }
+yy251:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy283;
+ case '1': goto yy284;
+ case '2': goto yy285;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy286;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy287;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy252:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy288;
+ case ':': goto yy253;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy253:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy283;
+ case '1': goto yy284;
+ case '2': goto yy285;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy286;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy287;
+ default: goto yy11;
+ }
+yy254:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy289;
+ case ':': goto yy253;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy288;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy255:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy289;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy288;
+ case ':': goto yy253;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy256:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy288;
+ case ':': goto yy253;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy257:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy194;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy258:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy259:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy261;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy260:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy261;
+ case '5': goto yy290;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy258;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy261:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy258;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy262:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt33 = YYCURSOR;
+ goto yy291;
+ default: goto yy11;
+ }
+yy263:
+ ++YYCURSOR;
+ m1 = in->yyt1;
+ m2 = in->yyt2;
+ at = in->yyt3;
+ u3 = in->yyt4;
+ u4 = in->yyt10;
+ hs3 = in->yyt11;
+ hs4 = in->yyt12;
+ r3 = in->yyt13;
+ r4 = in->yyt5;
+ au = in->yyt14;
+ s1 = in->yyt14;
+ s2 = in->yyt15;
+ u1 = in->yyt16;
+ u2 = in->yyt17;
+ hs1 = in->yyt18;
+ hs2 = in->yyt19;
+ r1 = in->yyt20;
+ r2 = in->yyt21;
+ p1 = in->yyt22;
+ p2 = in->yyt23;
+ p3 = in->yyt24;
+ p4 = in->yyt25;
+ q1 = in->yyt26;
+ q2 = in->yyt6;
+ of = in->yyt27;
+ p5 = in->yyt27;
+ p6 = in->yyt28;
+ q3 = in->yyt29;
+ q4 = in->yyt7;
+ v3 = in->yyt8;
+ v4 = in->yyt9;
+ v1 = in->yyt30;
+ v2 = in->yyt31;
+ st1 = in->yyt32;
+ st2 = in->yyt33;
+ rp1 = in->yyt34;
+ rp2 = in->yyt35;
+ h1 = in->yyt36;
+ h2 = in->yyt37;
+ h3 = in->yyt38;
+ h4 = in->yyt39;
+ h5 = in->yyt40;
+ {
+ ++c;
+ if (st1) {
+ printf("%.*s %.*s %.*s\n",
+ (int)(v2 - v1), v1,
+ (int)(st2 - st1), st1,
+ (int)(rp2 - rp1), rp1);
+ } else if (m1) {
+ printf("%.*s ", (int)(m2 - m1), m1);
+ if (of) {
+ printf("%.*s", (int)(p6 - p5), p5);
+ if (q3) printf("?%.*s", (int)(q4 - q3), q3);
+ } else if (au) {
+ printf("%.*s:", (int)(s2 - s1), s1);
+ if (p1) printf("//");
+ if (u1) printf("%.*s@", (int)(u2 - u1), u1);
+ printf("%.*s", (int)(hs2 - hs1), hs1);
+ if (r1) printf(":%.*s", (int)(r2 - r1), r1);
+ if (p1) printf("%.*s", (int)(p2 - p1), p1);
+ if (p3) printf("%.*s", (int)(p4 - p3), p3);
+ if (q1) printf("?%.*s", (int)(q2 - q1), q1);
+ } else if (at) {
+ if (u3) printf("%.*s@", (int)(u4 - u3), u3);
+ printf("%.*s", (int)(hs4 - hs3), hs3);
+ if (r3) printf(":%.*s", (int)(r4 - r3), r3);
+ } else {
+ printf("*");
+ }
+ printf(" %.*s\n", (int)(v4 - v3), v3);
+ }
+ print_headers(in->tok, h1, h2, h3, h4, h5);
+ printf("\n");
+ mtagpool_clear(&in->mtp, in);
+ goto loop;
+ }
+yy265:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '!':
+ case '#':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '*':
+ case '+':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '^':
+ case '_':
+ case '`':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '|':
+ case '~': goto yy265;
+ case ':':
+ YYMTAGP (in->yyt37);
+ goto yy292;
+ default: goto yy11;
+ }
+yy267:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy207;
+ default: goto yy11;
+ }
+yy268:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy294;
+ case ':': goto yy269;
+ default: goto yy11;
+ }
+yy269:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy295;
+ case ':': goto yy296;
+ default: goto yy11;
+ }
+yy270:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy297;
+ case ':': goto yy298;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy271:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy299;
+ case ':': goto yy298;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy297;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy272:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy299;
+ case '5': goto yy300;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy301;
+ case ':': goto yy298;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy297;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy273:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy301;
+ case ':': goto yy298;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy297;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy274:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy297;
+ case ':': goto yy298;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy275:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy302;
+ case ':': goto yy239;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy276:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy302;
+ case ':': goto yy239;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy277:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy303;
+ case '1': goto yy304;
+ case '2': goto yy305;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy306;
+ default: goto yy11;
+ }
+yy278:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy277;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy243;
+ default: goto yy11;
+ }
+yy279:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy215;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy280:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy223;
+ default: goto yy11;
+ }
+yy281:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy307;
+ case ':': goto yy282;
+ default: goto yy11;
+ }
+yy282:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy308;
+ case ':': goto yy309;
+ default: goto yy11;
+ }
+yy283:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy310;
+ case ':': goto yy311;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy284:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy312;
+ case ':': goto yy311;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy310;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy285:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy312;
+ case '5': goto yy313;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy314;
+ case ':': goto yy311;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy310;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy286:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy314;
+ case ':': goto yy311;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy310;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy287:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy310;
+ case ':': goto yy311;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy288:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy315;
+ case ':': goto yy253;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy289:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy315;
+ case ':': goto yy253;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy290:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy258;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy291:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case 0x01:
+ case 0x02:
+ case 0x03:
+ case 0x04:
+ case 0x05:
+ case 0x06:
+ case 0x07:
+ case 0x08:
+ case '\v':
+ case '\f':
+ case '\r':
+ case 0x0E:
+ case 0x0F:
+ case 0x10:
+ case 0x11:
+ case 0x12:
+ case 0x13:
+ case 0x14:
+ case 0x15:
+ case 0x16:
+ case 0x17:
+ case 0x18:
+ case 0x19:
+ case 0x1A:
+ case 0x1B:
+ case 0x1C:
+ case 0x1D:
+ case 0x1E:
+ case 0x7F: goto yy11;
+ case '\n':
+ in->yyt34 = in->yyt35 = YYCURSOR;
+ goto yy318;
+ default:
+ in->yyt34 = YYCURSOR;
+ goto yy316;
+ }
+yy292:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case 0x01:
+ case 0x02:
+ case 0x03:
+ case 0x04:
+ case 0x05:
+ case 0x06:
+ case 0x07:
+ case 0x08:
+ case '\v':
+ case '\f':
+ case '\r':
+ case 0x0E:
+ case 0x0F:
+ case 0x10:
+ case 0x11:
+ case 0x12:
+ case 0x13:
+ case 0x14:
+ case 0x15:
+ case 0x16:
+ case 0x17:
+ case 0x18:
+ case 0x19:
+ case 0x1A:
+ case 0x1B:
+ case 0x1C:
+ case 0x1D:
+ case 0x1E:
+ case 0x7F: goto yy11;
+ case '\t':
+ case ' ': goto yy292;
+ case '\n':
+ in->yyt41 = in->yyt40;
+ YYMTAGP (in->yyt41);
+ in->yyt42 = in->yyt39;
+ YYMTAGP (in->yyt42);
+ YYMTAGP (in->yyt38);
+ goto yy319;
+ default:
+ YYMTAGP (in->yyt38);
+ goto yy320;
+ }
+yy294:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy322;
+ case ':': goto yy269;
+ default: goto yy11;
+ }
+yy295:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy323;
+ case ':': goto yy324;
+ default: goto yy11;
+ }
+yy296:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy325;
+ case '1': goto yy326;
+ case '2': goto yy327;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy328;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy329;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy297:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy330;
+ case ':': goto yy298;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy298:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy325;
+ case '1': goto yy326;
+ case '2': goto yy327;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy328;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy329;
+ default: goto yy11;
+ }
+yy299:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy331;
+ case ':': goto yy298;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy330;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy300:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy331;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy330;
+ case ':': goto yy298;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy301:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy330;
+ case ':': goto yy298;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy302:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy239;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy303:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy332;
+ default: goto yy11;
+ }
+yy304:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy332;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy306;
+ default: goto yy11;
+ }
+yy305:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy332;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy306;
+ case '5': goto yy333;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy303;
+ default: goto yy11;
+ }
+yy306:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy332;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy303;
+ default: goto yy11;
+ }
+yy307:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy334;
+ case ':': goto yy282;
+ default: goto yy11;
+ }
+yy308:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy335;
+ case ':': goto yy336;
+ default: goto yy11;
+ }
+yy309:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy337;
+ case '1': goto yy338;
+ case '2': goto yy339;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy340;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy341;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy310:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy342;
+ case ':': goto yy311;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy311:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy337;
+ case '1': goto yy338;
+ case '2': goto yy339;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy340;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy341;
+ default: goto yy11;
+ }
+yy312:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy343;
+ case ':': goto yy311;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy342;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy313:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy343;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy342;
+ case ':': goto yy311;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy314:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy342;
+ case ':': goto yy311;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy315:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy253;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy316:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case 0x01:
+ case 0x02:
+ case 0x03:
+ case 0x04:
+ case 0x05:
+ case 0x06:
+ case 0x07:
+ case 0x08:
+ case '\v':
+ case '\f':
+ case '\r':
+ case 0x0E:
+ case 0x0F:
+ case 0x10:
+ case 0x11:
+ case 0x12:
+ case 0x13:
+ case 0x14:
+ case 0x15:
+ case 0x16:
+ case 0x17:
+ case 0x18:
+ case 0x19:
+ case 0x1A:
+ case 0x1B:
+ case 0x1C:
+ case 0x1D:
+ case 0x1E:
+ case 0x7F: goto yy11;
+ case '\n':
+ in->yyt35 = YYCURSOR;
+ goto yy318;
+ default: goto yy316;
+ }
+yy318:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '\n':
+ YYMTAGN (in->yyt40);
+ YYMTAGN (in->yyt39);
+ YYMTAGN (in->yyt38);
+ YYMTAGN (in->yyt37);
+ YYMTAGN (in->yyt36);
+ in->yyt1 = in->yyt2 = in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ goto yy263;
+ case '!':
+ case '#':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '*':
+ case '+':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '^':
+ case '_':
+ case '`':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '|':
+ case '~':
+ YYMTAGP (in->yyt36);
+ in->yyt1 = in->yyt2 = in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ goto yy265;
+ default: goto yy11;
+ }
+yy319:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '\t':
+ case ' ': goto yy344;
+ case '\n':
+ in->yyt39 = in->yyt42;
+ in->yyt40 = in->yyt41;
+ goto yy263;
+ case '!':
+ case '#':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '*':
+ case '+':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '^':
+ case '_':
+ case '`':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '|':
+ case '~':
+ in->yyt39 = in->yyt42;
+ in->yyt40 = in->yyt41;
+ YYMTAGP (in->yyt36);
+ goto yy265;
+ default: goto yy11;
+ }
+yy320:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case 0x01:
+ case 0x02:
+ case 0x03:
+ case 0x04:
+ case 0x05:
+ case 0x06:
+ case 0x07:
+ case 0x08:
+ case '\v':
+ case '\f':
+ case '\r':
+ case 0x0E:
+ case 0x0F:
+ case 0x10:
+ case 0x11:
+ case 0x12:
+ case 0x13:
+ case 0x14:
+ case 0x15:
+ case 0x16:
+ case 0x17:
+ case 0x18:
+ case 0x19:
+ case 0x1A:
+ case 0x1B:
+ case 0x1C:
+ case 0x1D:
+ case 0x1E:
+ case 0x7F: goto yy11;
+ case '\t':
+ in->yyt42 = in->yyt39;
+ YYMTAGP (in->yyt42);
+ goto yy346;
+ case '\n':
+ in->yyt41 = in->yyt40;
+ YYMTAGP (in->yyt41);
+ in->yyt42 = in->yyt39;
+ YYMTAGP (in->yyt42);
+ goto yy319;
+ case ' ': goto yy348;
+ default: goto yy320;
+ }
+yy322:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy269;
+ default: goto yy11;
+ }
+yy323:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy350;
+ case ':': goto yy324;
+ default: goto yy11;
+ }
+yy324:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy351;
+ case ':': goto yy352;
+ default: goto yy11;
+ }
+yy325:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy353;
+ case ':': goto yy354;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy326:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy355;
+ case ':': goto yy354;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy353;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy327:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy355;
+ case '5': goto yy356;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy357;
+ case ':': goto yy354;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy353;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy328:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy357;
+ case ':': goto yy354;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy353;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy329:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy353;
+ case ':': goto yy354;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy330:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy358;
+ case ':': goto yy298;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy331:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy358;
+ case ':': goto yy298;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy332:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy359;
+ case '1': goto yy360;
+ case '2': goto yy361;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy362;
+ default: goto yy11;
+ }
+yy333:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy332;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy303;
+ default: goto yy11;
+ }
+yy334:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy282;
+ default: goto yy11;
+ }
+yy335:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy363;
+ case ':': goto yy336;
+ default: goto yy11;
+ }
+yy336:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy364;
+ case '1': goto yy365;
+ case '2': goto yy366;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy367;
+ case ':': goto yy368;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy369;
+ default: goto yy11;
+ }
+yy337:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy370;
+ case ':': goto yy371;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy338:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy372;
+ case ':': goto yy371;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy370;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy339:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy372;
+ case '5': goto yy373;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy374;
+ case ':': goto yy371;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy370;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy340:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy374;
+ case ':': goto yy371;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy370;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy341:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy370;
+ case ':': goto yy371;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy342:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy375;
+ case ':': goto yy311;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy343:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy375;
+ case ':': goto yy311;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy344:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case 0x01:
+ case 0x02:
+ case 0x03:
+ case 0x04:
+ case 0x05:
+ case 0x06:
+ case 0x07:
+ case 0x08:
+ case '\v':
+ case '\f':
+ case '\r':
+ case 0x0E:
+ case 0x0F:
+ case 0x10:
+ case 0x11:
+ case 0x12:
+ case 0x13:
+ case 0x14:
+ case 0x15:
+ case 0x16:
+ case 0x17:
+ case 0x18:
+ case 0x19:
+ case 0x1A:
+ case 0x1B:
+ case 0x1C:
+ case 0x1D:
+ case 0x1E:
+ case 0x7F: goto yy11;
+ case '\t':
+ case ' ': goto yy344;
+ case '\n':
+ in->yyt41 = in->yyt40;
+ YYMTAGP (in->yyt41);
+ in->yyt42 = in->yyt39;
+ YYMTAGP (in->yyt42);
+ goto yy319;
+ default: goto yy320;
+ }
+yy346:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case 0x01:
+ case 0x02:
+ case 0x03:
+ case 0x04:
+ case 0x05:
+ case 0x06:
+ case 0x07:
+ case 0x08:
+ case '\v':
+ case '\f':
+ case '\r':
+ case 0x0E:
+ case 0x0F:
+ case 0x10:
+ case 0x11:
+ case 0x12:
+ case 0x13:
+ case 0x14:
+ case 0x15:
+ case 0x16:
+ case 0x17:
+ case 0x18:
+ case 0x19:
+ case 0x1A:
+ case 0x1B:
+ case 0x1C:
+ case 0x1D:
+ case 0x1E:
+ case 0x7F: goto yy11;
+ case '\t': goto yy346;
+ case '\n':
+ YYMTAGP (in->yyt40);
+ goto yy376;
+ case ' ': goto yy348;
+ default: goto yy377;
+ }
+yy348:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case 0x01:
+ case 0x02:
+ case 0x03:
+ case 0x04:
+ case 0x05:
+ case 0x06:
+ case 0x07:
+ case 0x08:
+ case '\v':
+ case '\f':
+ case '\r':
+ case 0x0E:
+ case 0x0F:
+ case 0x10:
+ case 0x11:
+ case 0x12:
+ case 0x13:
+ case 0x14:
+ case 0x15:
+ case 0x16:
+ case 0x17:
+ case 0x18:
+ case 0x19:
+ case 0x1A:
+ case 0x1B:
+ case 0x1C:
+ case 0x1D:
+ case 0x1E:
+ case 0x7F: goto yy11;
+ case '\t':
+ in->yyt42 = in->yyt39;
+ YYMTAGP (in->yyt42);
+ goto yy346;
+ case '\n':
+ in->yyt41 = in->yyt40;
+ YYMTAGP (in->yyt41);
+ in->yyt42 = in->yyt39;
+ YYMTAGP (in->yyt42);
+ goto yy319;
+ case ' ': goto yy348;
+ default: goto yy378;
+ }
+yy350:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy379;
+ case ':': goto yy324;
+ default: goto yy11;
+ }
+yy351:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy380;
+ case ':': goto yy381;
+ default: goto yy11;
+ }
+yy352:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy382;
+ case '1': goto yy383;
+ case '2': goto yy384;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy385;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy386;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy353:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy387;
+ case ':': goto yy354;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy354:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy382;
+ case '1': goto yy383;
+ case '2': goto yy384;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy385;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy386;
+ default: goto yy11;
+ }
+yy355:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy388;
+ case ':': goto yy354;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy387;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy356:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy388;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy387;
+ case ':': goto yy354;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy357:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy387;
+ case ':': goto yy354;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy358:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy298;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy359:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy360:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy362;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy361:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy362;
+ case '5': goto yy389;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy359;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy362:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy359;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy363:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy390;
+ case ':': goto yy336;
+ default: goto yy11;
+ }
+yy364:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy391;
+ case ':': goto yy392;
+ default: goto yy11;
+ }
+yy365:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy393;
+ case ':': goto yy392;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy391;
+ default: goto yy11;
+ }
+yy366:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy393;
+ case '5': goto yy394;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy395;
+ case ':': goto yy392;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy391;
+ default: goto yy11;
+ }
+yy367:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy395;
+ case ':': goto yy392;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy391;
+ default: goto yy11;
+ }
+yy368:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy396;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy369:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy391;
+ case ':': goto yy392;
+ default: goto yy11;
+ }
+yy370:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy397;
+ case ':': goto yy371;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy371:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy396;
+ default: goto yy11;
+ }
+yy372:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy398;
+ case ':': goto yy371;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy397;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy373:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy398;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy397;
+ case ':': goto yy371;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy374:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy397;
+ case ':': goto yy371;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy375:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy311;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy376:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '\n':
+ in->yyt39 = in->yyt42;
+ goto yy263;
+ case '!':
+ case '#':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '*':
+ case '+':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '^':
+ case '_':
+ case '`':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '|':
+ case '~':
+ in->yyt39 = in->yyt42;
+ YYMTAGP (in->yyt36);
+ goto yy265;
+ default: goto yy11;
+ }
+yy377:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case 0x01:
+ case 0x02:
+ case 0x03:
+ case 0x04:
+ case 0x05:
+ case 0x06:
+ case 0x07:
+ case 0x08:
+ case '\v':
+ case '\f':
+ case '\r':
+ case 0x0E:
+ case 0x0F:
+ case 0x10:
+ case 0x11:
+ case 0x12:
+ case 0x13:
+ case 0x14:
+ case 0x15:
+ case 0x16:
+ case 0x17:
+ case 0x18:
+ case 0x19:
+ case 0x1A:
+ case 0x1B:
+ case 0x1C:
+ case 0x1D:
+ case 0x1E:
+ case 0x7F: goto yy11;
+ case '\t':
+ YYMTAGP (in->yyt39);
+ goto yy399;
+ case '\n':
+ in->yyt41 = in->yyt40;
+ YYMTAGP (in->yyt41);
+ in->yyt42 = in->yyt39;
+ YYMTAGP (in->yyt42);
+ goto yy319;
+ default: goto yy320;
+ }
+yy378:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case 0x01:
+ case 0x02:
+ case 0x03:
+ case 0x04:
+ case 0x05:
+ case 0x06:
+ case 0x07:
+ case 0x08:
+ case '\v':
+ case '\f':
+ case '\r':
+ case 0x0E:
+ case 0x0F:
+ case 0x10:
+ case 0x11:
+ case 0x12:
+ case 0x13:
+ case 0x14:
+ case 0x15:
+ case 0x16:
+ case 0x17:
+ case 0x18:
+ case 0x19:
+ case 0x1A:
+ case 0x1B:
+ case 0x1C:
+ case 0x1D:
+ case 0x1E:
+ case 0x7F: goto yy11;
+ case '\t':
+ in->yyt42 = in->yyt39;
+ YYMTAGP (in->yyt42);
+ goto yy401;
+ case '\n':
+ in->yyt41 = in->yyt40;
+ YYMTAGP (in->yyt41);
+ in->yyt42 = in->yyt39;
+ YYMTAGP (in->yyt42);
+ goto yy319;
+ default: goto yy320;
+ }
+yy379:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy324;
+ default: goto yy11;
+ }
+yy380:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy403;
+ case ':': goto yy381;
+ default: goto yy11;
+ }
+yy381:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy404;
+ case ':': goto yy405;
+ default: goto yy11;
+ }
+yy382:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy406;
+ case ':': goto yy407;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy383:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy408;
+ case ':': goto yy407;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy406;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy384:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy408;
+ case '5': goto yy409;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy410;
+ case ':': goto yy407;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy406;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy385:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy410;
+ case ':': goto yy407;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy406;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy386:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy406;
+ case ':': goto yy407;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy387:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy411;
+ case ':': goto yy354;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy388:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy411;
+ case ':': goto yy354;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy389:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy359;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy390:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy336;
+ default: goto yy11;
+ }
+yy391:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy412;
+ case ':': goto yy392;
+ default: goto yy11;
+ }
+yy392:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy396;
+ case ':': goto yy258;
+ default: goto yy11;
+ }
+yy393:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy413;
+ case ':': goto yy392;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy412;
+ default: goto yy11;
+ }
+yy394:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy413;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy412;
+ case ':': goto yy392;
+ default: goto yy11;
+ }
+yy395:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy412;
+ case ':': goto yy392;
+ default: goto yy11;
+ }
+yy396:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy414;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy397:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy415;
+ case ':': goto yy371;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy398:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy415;
+ case ':': goto yy371;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy399:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '\t':
+ case ' ': goto yy399;
+ case '\n':
+ in->yyt42 = in->yyt39;
+ YYMTAGP (in->yyt40);
+ goto yy376;
+ default: goto yy11;
+ }
+yy401:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case 0x01:
+ case 0x02:
+ case 0x03:
+ case 0x04:
+ case 0x05:
+ case 0x06:
+ case 0x07:
+ case 0x08:
+ case '\v':
+ case '\f':
+ case '\r':
+ case 0x0E:
+ case 0x0F:
+ case 0x10:
+ case 0x11:
+ case 0x12:
+ case 0x13:
+ case 0x14:
+ case 0x15:
+ case 0x16:
+ case 0x17:
+ case 0x18:
+ case 0x19:
+ case 0x1A:
+ case 0x1B:
+ case 0x1C:
+ case 0x1D:
+ case 0x1E:
+ case 0x7F: goto yy11;
+ case '\t': goto yy401;
+ case '\n':
+ YYMTAGP (in->yyt40);
+ goto yy376;
+ case ' ': goto yy416;
+ default: goto yy377;
+ }
+yy403:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy418;
+ case ':': goto yy381;
+ default: goto yy11;
+ }
+yy404:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy419;
+ case ':': goto yy420;
+ default: goto yy11;
+ }
+yy405:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy421;
+ case '1': goto yy422;
+ case '2': goto yy423;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy424;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy425;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy406:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy426;
+ case ':': goto yy407;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy407:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy421;
+ case '1': goto yy422;
+ case '2': goto yy423;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy424;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy425;
+ default: goto yy11;
+ }
+yy408:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy427;
+ case ':': goto yy407;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy426;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy409:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy427;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy426;
+ case ':': goto yy407;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy410:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy426;
+ case ':': goto yy407;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy411:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy354;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy412:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy428;
+ case ':': goto yy392;
+ default: goto yy11;
+ }
+yy413:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy428;
+ case ':': goto yy392;
+ default: goto yy11;
+ }
+yy414:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy429;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy415:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy371;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy416:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case 0x01:
+ case 0x02:
+ case 0x03:
+ case 0x04:
+ case 0x05:
+ case 0x06:
+ case 0x07:
+ case 0x08:
+ case '\v':
+ case '\f':
+ case '\r':
+ case 0x0E:
+ case 0x0F:
+ case 0x10:
+ case 0x11:
+ case 0x12:
+ case 0x13:
+ case 0x14:
+ case 0x15:
+ case 0x16:
+ case 0x17:
+ case 0x18:
+ case 0x19:
+ case 0x1A:
+ case 0x1B:
+ case 0x1C:
+ case 0x1D:
+ case 0x1E:
+ case 0x7F: goto yy11;
+ case '\t': goto yy401;
+ case '\n':
+ in->yyt41 = in->yyt40;
+ YYMTAGP (in->yyt41);
+ goto yy319;
+ case ' ': goto yy416;
+ default: goto yy378;
+ }
+yy418:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy381;
+ default: goto yy11;
+ }
+yy419:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy430;
+ case ':': goto yy420;
+ default: goto yy11;
+ }
+yy420:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy431;
+ case '1': goto yy432;
+ case '2': goto yy433;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy434;
+ case ':': goto yy435;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy436;
+ default: goto yy11;
+ }
+yy421:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy437;
+ case ':': goto yy438;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy422:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy439;
+ case ':': goto yy438;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy437;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy423:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy439;
+ case '5': goto yy440;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy441;
+ case ':': goto yy438;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy437;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy424:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy441;
+ case ':': goto yy438;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy437;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy425:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy437;
+ case ':': goto yy438;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy426:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy442;
+ case ':': goto yy407;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy427:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy442;
+ case ':': goto yy407;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy428:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy392;
+ default: goto yy11;
+ }
+yy429:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy258;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy430:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy443;
+ case ':': goto yy420;
+ default: goto yy11;
+ }
+yy431:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy444;
+ case ':': goto yy445;
+ default: goto yy11;
+ }
+yy432:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy446;
+ case ':': goto yy445;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy444;
+ default: goto yy11;
+ }
+yy433:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy446;
+ case '5': goto yy447;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy448;
+ case ':': goto yy445;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy444;
+ default: goto yy11;
+ }
+yy434:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy448;
+ case ':': goto yy445;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy444;
+ default: goto yy11;
+ }
+yy435:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy449;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy436:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy444;
+ case ':': goto yy445;
+ default: goto yy11;
+ }
+yy437:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy450;
+ case ':': goto yy438;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy438:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy449;
+ default: goto yy11;
+ }
+yy439:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy451;
+ case ':': goto yy438;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy450;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy440:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy451;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy450;
+ case ':': goto yy438;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy441:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy450;
+ case ':': goto yy438;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy442:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy407;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy443:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy420;
+ default: goto yy11;
+ }
+yy444:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy452;
+ case ':': goto yy445;
+ default: goto yy11;
+ }
+yy445:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy449;
+ case ':': goto yy359;
+ default: goto yy11;
+ }
+yy446:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy453;
+ case ':': goto yy445;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy452;
+ default: goto yy11;
+ }
+yy447:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy453;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy452;
+ case ':': goto yy445;
+ default: goto yy11;
+ }
+yy448:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy452;
+ case ':': goto yy445;
+ default: goto yy11;
+ }
+yy449:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy454;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy450:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy455;
+ case ':': goto yy438;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy451:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy455;
+ case ':': goto yy438;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy452:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy456;
+ case ':': goto yy445;
+ default: goto yy11;
+ }
+yy453:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy456;
+ case ':': goto yy445;
+ default: goto yy11;
+ }
+yy454:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy457;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy455:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy438;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy456:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy445;
+ default: goto yy11;
+ }
+yy457:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy359;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+}
+
+}
+
+int main(int argc, char **argv)
+{
+ long count;
+ input_t in;
+ init_input(&in, argv[1]);
+
+ switch (lex(&in, &count)) {
+ case 0: fprintf(stderr, "ok, parsed %ld HTTPs\n", count); break;
+ case 1: fprintf(stderr, "syntax error\n"); break;
+ case 2: fprintf(stderr, "yyfill error\n"); break;
+ default: fprintf(stderr, "panic!\n"); break;
+ }
+
+ free_input(&in);
+ return 0;
+}
+re2c: warning: line 243: tag 'm1' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 243: tag 'at' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 243: tag 'u3' has 3rd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 243: tag 'u4' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 243: tag 'hs3' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 243: tag 'hs4' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 243: tag 'r3' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 243: tag 'au' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 243: tag 's1' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 243: tag 's2' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 243: tag 'u1' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 243: tag 'u2' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 243: tag 'hs1' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 243: tag 'hs2' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 243: tag 'r1' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 243: tag 'p3' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 243: tag 'v1' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 243: tag 'h3' has 3rd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 243: tag 'h4' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 243: tag 'h5' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
diff --git a/examples/11_http_rfc7230.i--tags.re b/examples/11_http_rfc7230.i--tags.re
new file mode 100644
index 00000000..ed14b91a
--- /dev/null
+++ b/examples/11_http_rfc7230.i--tags.re
@@ -0,0 +1,296 @@
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
+typedef struct mtag_t {
+ struct mtag_t *pred;
+ long dist;
+} mtag_t;
+
+typedef struct mtagpool_t {
+ mtag_t *head;
+ mtag_t *next;
+ mtag_t *last;
+} mtagpool_t;
+
+typedef struct {
+ FILE *file;
+ char *buf;
+ char *lim;
+ char *cur;
+ char *mar;
+ char *tok;
+ /*!stags:re2c format = "char *@@;\n"; */
+ /*!mtags:re2c format = "mtag_t *@@;\n"; */
+ mtagpool_t mtp;
+ int eof;
+} input_t;
+
+static void mtagpool_clear(mtagpool_t *mtp, input_t *in)
+{
+ mtp->next = mtp->head;
+ /*!mtags:re2c format = "in->@@ = 0;\n"; */
+}
+
+static void mtagpool_init(mtagpool_t *mtp)
+{
+ static const unsigned size = 1024 * 1024;
+ mtp->head = (mtag_t*)malloc(size * sizeof(mtag_t));
+ mtp->next = mtp->head;
+ mtp->last = mtp->head + size;
+}
+
+static void mtagpool_free(mtagpool_t *mtp)
+{
+ free(mtp->head);
+ mtp->head = mtp->next = mtp->last = NULL;
+}
+
+static mtag_t *mtagpool_next(mtagpool_t *mtp)
+{
+ unsigned size;
+ mtag_t *head;
+
+ if (mtp->next < mtp->last) return mtp->next++;
+
+ size = mtp->last - mtp->head;
+ head = (mtag_t*)malloc(2 * size * sizeof(mtag_t));
+ memcpy(head, mtp->head, size * sizeof(mtag_t));
+ free(mtp->head);
+ mtp->head = head;
+ mtp->next = head + size;
+ mtp->last = head + size * 2;
+ return mtp->next++;
+}
+
+static void mtag(mtag_t **pmt, const char *b, const char *t, mtagpool_t *mtp)
+{
+ mtag_t *mt = mtagpool_next(mtp);
+ mt->pred = *pmt;
+ mt->dist = t - b;
+ *pmt = mt;
+}
+
+/*!max:re2c*/
+static const size_t SIZE = 4096;
+
+static void init_input(input_t *in, const char *fname)
+{
+ in->file = fopen(fname, "r");
+ in->buf = (char*) malloc(SIZE + YYMAXFILL);
+ in->lim = in->buf + SIZE;
+ in->cur = in->lim;
+ in->mar = in->lim;
+ in->tok = in->lim;
+ /*!stags:re2c format = "in->@@ = 0;\n"; */
+ /*!mtags:re2c format = "in->@@ = 0;\n"; */
+ mtagpool_init(&in->mtp);
+ in->eof = 0;
+}
+
+static void free_input(input_t *in)
+{
+ fclose(in->file);
+ free(in->buf);
+ mtagpool_free(&in->mtp);
+}
+
+static int fill(input_t *in, size_t need)
+{
+ size_t free;
+ if (in->eof) return 1;
+
+ free = in->tok - in->buf;
+ if (free < need) return 2;
+
+ memmove(in->buf, in->tok, in->lim - in->tok);
+ in->lim -= free;
+ in->cur -= free;
+ in->mar -= free;
+ in->tok -= free;
+ /*!stags:re2c format = "if (in->@@) in->@@ -= free;\n"; */
+ in->lim += fread(in->lim, 1, free, in->file);
+ if (in->lim < in->buf + SIZE) {
+ in->eof = 1;
+ memset(in->lim, 0, YYMAXFILL);
+ in->lim += YYMAXFILL;
+ }
+ return 0;
+}
+
+static void print_headers(const char *tok,
+ const mtag_t *h1, const mtag_t *h2,
+ const mtag_t *h3, const mtag_t *h4,
+ const mtag_t *h5)
+{
+ if (!h1) return;
+ print_headers(tok, h1->pred, h2->pred, h3->pred, h4->pred, h5->pred);
+ printf("%.*s%.*s%.*s%.*s\n",
+ (int)(h2->dist - h1->dist), tok + h1->dist,
+ (int)(h3->dist - h2->dist), tok + h2->dist,
+ (int)(h4->dist - h3->dist), tok + h3->dist,
+ (int)(h5->dist - h4->dist), tok + h4->dist);
+}
+
+#define YYCTYPE char
+#define YYCURSOR in->cur
+#define YYMARKER in->mar
+#define YYLIMIT in->lim
+#define YYMTAGP(mt) mtag(&mt, in->tok, in->cur, &in->mtp)
+#define YYMTAGN(mt) mtag(&mt, in->tok, NULL, &in->mtp)
+#define YYFILL(n) if (fill(in, n) != 0) return 2;
+
+static int lex(input_t *in, long *count)
+{
+ const char *of, *au, *at,
+ *hs1, *hs3, *m1, *p1, *p3, *p5, *q1, *q3,
+ *hs2, *hs4, *m2, *p2, *p4, *p6, *q2, *q4,
+ *r1, *r3, *rp1, *s1, *st1, *u1, *u3, *v1, *v3,
+ *r2, *r4, *rp2, *s2, *st2, *u2, *u4, *v2, *v4;
+ mtag_t *h1, *h2, *h3, *h4, *h5;
+ long c;
+
+ c = 0;;
+ of = au = at
+ = hs1 = hs3 = m1 = p1 = p3 = p5 = q1 = q3
+ = hs2 = hs4 = m2 = p2 = p4 = p6 = q2 = q4
+ = r1 = r3 = rp1 = s1 = st1 = u1 = u3 = v1 = v3
+ = r2 = r4 = rp2 = s2 = st2 = u2 = u4 = v2 = v4 = NULL;
+loop:
+ in->tok = in->cur;
+/*!re2c
+ re2c:tags:expression = "in->@@";
+
+ end = "\x00";
+ eol = "\n";
+
+ crlf = eol;
+ sp = " ";
+ htab = "\t";
+ ows = (sp | htab)*;
+ digit = [0-9];
+ alpha = [a-zA-Z];
+ hexdigit = [0-9a-fA-F];
+ unreserved = alpha | digit | [-._~];
+ pct_encoded = "%" hexdigit{2};
+ sub_delims = [!$&'()*+,;=];
+ pchar = unreserved | pct_encoded | sub_delims | [:@];
+ vchar = [\x1f-\x7e];
+ tchar = [-!#$%&'*+.^_`|~] | digit | alpha;
+
+ obs_fold = crlf (sp | htab)+;
+ obs_text = [\x80-\xff];
+ field_name = tchar+;
+ field_vchar = vchar | obs_text;
+ field_content = field_vchar ((sp | htab)+ field_vchar)?;
+ field_value = (field_content | obs_fold)*;
+ header_field = #h1 field_name #h2 ":" ows #h3 field_value #h4 ows #h5;
+ scheme = alpha (alpha | digit | [-+.])*;
+ userinfo = (unreserved | pct_encoded | sub_delims | ":")*;
+ dec_octet
+ = digit
+ | [\x31-\x39] digit
+ | "1" digit{2}
+ | "2" [\x30-\x34] digit
+ | "25" [\x30-\x35];
+ ipv4address = dec_octet "." dec_octet "." dec_octet "." dec_octet;
+ h16 = hexdigit{1,4};
+ ls32 = h16 ":" h16 | ipv4address;
+ ipv6address
+ = (h16 ":"){6} ls32
+ | "::" (h16 ":"){5} ls32
+ | ( h16)? "::" (h16 ":"){4} ls32
+ | ((h16 ":"){0,1} h16)? "::" (h16 ":"){3} ls32
+ | ((h16 ":"){0,2} h16)? "::" (h16 ":"){2} ls32
+ | ((h16 ":"){0,3} h16)? "::" h16 ":" ls32
+ | ((h16 ":"){0,4} h16)? "::" ls32
+ | ((h16 ":"){0,5} h16)? "::" h16
+ | ((h16 ":"){0,6} h16)? "::";
+ ipvfuture = "v" hexdigit+ "." (unreserved | sub_delims | ":" )+;
+ ip_literal = "[" ( ipv6address | ipvfuture ) "]";
+ reg_name = (unreserved | pct_encoded | sub_delims)*;
+ path_abempty = ("/" pchar*)*;
+ path_absolute = "/" (pchar+ ("/" pchar*)*)?;
+ path_rootless = pchar+ ("/" pchar*)*;
+ path_empty = "";
+ host = ip_literal | ipv4address | reg_name;
+ port = digit*;
+ query = (pchar | [/?])*;
+ absolute_uri = @s1 scheme @s2 ":"
+ ( "//" (@u1 userinfo @u2 "@")? @hs1 host @hs2 (":" @r1 port @r2)? @p1 path_abempty @p2
+ | @p3 (path_absolute | path_rootless | path_empty) @p4
+ ) ("?" @q1 query @q2)?;
+ authority = (@u3 userinfo @u4 "@")? @hs3 host @hs4 (":" @r3 port @r4)?;
+ origin_form = @p5 path_abempty @p6 ("?" @q3 query @q4)?;
+ http_name = "HTTP";
+ http_version = http_name "/" digit "." digit;
+ request_target
+ = @at authority
+ | @au absolute_uri
+ | @of origin_form
+ | "*";
+ method = tchar+;
+ request_line = @m1 method @m2 sp request_target sp @v3 http_version @v4 crlf;
+ status_code = digit{3};
+ reason_phrase = (htab | sp | vchar | obs_text)*;
+ status_line = @v1 http_version @v2 sp @st1 status_code @st2 sp @rp1 reason_phrase @rp2 crlf;
+ start_line = (request_line | status_line);
+ message_head = start_line (header_field crlf)* crlf;
+
+ * { return 1; }
+ end { *count = c; return 0; }
+ eol { goto loop; }
+ message_head {
+ ++c;
+ if (st1) {
+ printf("%.*s %.*s %.*s\n",
+ (int)(v2 - v1), v1,
+ (int)(st2 - st1), st1,
+ (int)(rp2 - rp1), rp1);
+ } else if (m1) {
+ printf("%.*s ", (int)(m2 - m1), m1);
+ if (of) {
+ printf("%.*s", (int)(p6 - p5), p5);
+ if (q3) printf("?%.*s", (int)(q4 - q3), q3);
+ } else if (au) {
+ printf("%.*s:", (int)(s2 - s1), s1);
+ if (p1) printf("//");
+ if (u1) printf("%.*s@", (int)(u2 - u1), u1);
+ printf("%.*s", (int)(hs2 - hs1), hs1);
+ if (r1) printf(":%.*s", (int)(r2 - r1), r1);
+ if (p1) printf("%.*s", (int)(p2 - p1), p1);
+ if (p3) printf("%.*s", (int)(p4 - p3), p3);
+ if (q1) printf("?%.*s", (int)(q2 - q1), q1);
+ } else if (at) {
+ if (u3) printf("%.*s@", (int)(u4 - u3), u3);
+ printf("%.*s", (int)(hs4 - hs3), hs3);
+ if (r3) printf(":%.*s", (int)(r4 - r3), r3);
+ } else {
+ printf("*");
+ }
+ printf(" %.*s\n", (int)(v4 - v3), v3);
+ }
+ print_headers(in->tok, h1, h2, h3, h4, h5);
+ printf("\n");
+ mtagpool_clear(&in->mtp, in);
+ goto loop;
+ }
+*/
+}
+
+int main(int argc, char **argv)
+{
+ long count;
+ input_t in;
+ init_input(&in, argv[1]);
+
+ switch (lex(&in, &count)) {
+ case 0: fprintf(stderr, "ok, parsed %ld HTTPs\n", count); break;
+ case 1: fprintf(stderr, "syntax error\n"); break;
+ case 2: fprintf(stderr, "yyfill error\n"); break;
+ default: fprintf(stderr, "panic!\n"); break;
+ }
+
+ free_input(&in);
+ return 0;
+}
diff --git a/examples/13_records.i--tags.c b/examples/13_records.i--tags.c
new file mode 100644
index 00000000..b3b34260
--- /dev/null
+++ b/examples/13_records.i--tags.c
@@ -0,0 +1,1226 @@
+/* Generated by re2c */
+#include <stdio.h>
+#include <stdlib.h>
+#include <vector>
+
+struct mtag_t
+{
+ int pred;
+ const char *tag;
+};
+
+typedef std::vector<mtag_t> mtagpool_t;
+
+static void mtag(int *pt, const char *t, mtagpool_t *tp)
+{
+ mtag_t l = {*pt, t};
+ *pt = (int) tp->size();
+ tp->push_back(l);
+}
+
+static void print_channels(const mtagpool_t &tp, int x, int y)
+{
+ if (x == -1) return;
+ print_channels(tp, tp[x].pred, tp[y].pred);
+ const char *px = tp[x].tag, *py = tp[y].tag;
+ printf(" %.*s\n", (int) (py - px), px);
+}
+
+#define YYMTAGP(t) mtag(&t, YYCURSOR, &tp)
+#define YYMTAGN(t) mtag(&t, NULL, &tp)
+
+static int lex(const char *YYCURSOR)
+{
+ const char *YYMARKER, *n1, *n2, *a1, *a2, *c1, *c2;
+ mtagpool_t tp;
+ int h1, h2;
+ const char *yyt1;const char *yyt2;const char *yyt3;const char *yyt4;const char *yyt5;const char *yyt6;
+ int yyt7;int yyt8;
+loop:
+ tp.clear();
+ yyt7 = -1;yyt8 = -1;
+
+{
+ char yych;
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy2;
+ case '\t':
+ case ' ': goto yy6;
+ case '\n': goto yy9;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ yyt1 = YYCURSOR;
+ goto yy10;
+ default: goto yy4;
+ }
+yy2:
+ ++YYCURSOR;
+ { return 0; }
+yy4:
+ ++YYCURSOR;
+yy5:
+ { printf("error: %s\n", YYCURSOR); return 1; }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '\t':
+ case ' ': goto yy6;
+ default: goto yy8;
+ }
+yy8:
+ { goto loop; }
+yy9:
+ ++YYCURSOR;
+ goto yy8;
+yy10:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case '\t':
+ case ' ':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '{': goto yy15;
+ default: goto yy5;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '\t':
+ case ' ': goto yy11;
+ case '{': goto yy16;
+ default: goto yy13;
+ }
+yy13:
+ YYCURSOR = YYMARKER;
+ goto yy5;
+yy14:
+ yych = *++YYCURSOR;
+yy15:
+ switch (yych) {
+ case '\t':
+ case ' ':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy14;
+ case '{':
+ yyt2 = YYCURSOR;
+ goto yy16;
+ default: goto yy13;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '\t':
+ case ' ': goto yy16;
+ case '\n': goto yy18;
+ default: goto yy13;
+ }
+yy18:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '\t':
+ case ' ': goto yy18;
+ case 'n': goto yy20;
+ default: goto yy13;
+ }
+yy20:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy21;
+ default: goto yy13;
+ }
+yy21:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'm': goto yy22;
+ default: goto yy13;
+ }
+yy22:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'e': goto yy23;
+ default: goto yy13;
+ }
+yy23:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '\t':
+ case ' ': goto yy23;
+ case '=': goto yy25;
+ default: goto yy13;
+ }
+yy25:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '\t':
+ case ' ': goto yy25;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ yyt3 = YYCURSOR;
+ goto yy27;
+ default: goto yy13;
+ }
+yy27:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy28;
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy29;
+ default: goto yy13;
+ }
+yy28:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '\t':
+ case ' ':
+ yyt4 = YYCURSOR;
+ goto yy31;
+ case '\n':
+ yyt4 = YYCURSOR;
+ goto yy33;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z': goto yy27;
+ default: goto yy13;
+ }
+yy29:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '\t':
+ case ' ':
+ yyt4 = YYCURSOR;
+ goto yy31;
+ case '\n':
+ yyt4 = YYCURSOR;
+ goto yy33;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z': goto yy27;
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy29;
+ default: goto yy13;
+ }
+yy31:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '\t':
+ case ' ': goto yy31;
+ case '\n': goto yy33;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z': goto yy27;
+ default: goto yy13;
+ }
+yy33:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '\t':
+ case ' ': goto yy33;
+ case 'c': goto yy35;
+ default: goto yy13;
+ }
+yy35:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'o': goto yy36;
+ default: goto yy13;
+ }
+yy36:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'u': goto yy37;
+ default: goto yy13;
+ }
+yy37:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'n': goto yy38;
+ default: goto yy13;
+ }
+yy38:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 't': goto yy39;
+ default: goto yy13;
+ }
+yy39:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'r': goto yy40;
+ default: goto yy13;
+ }
+yy40:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'y': goto yy41;
+ default: goto yy13;
+ }
+yy41:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '\t':
+ case ' ': goto yy41;
+ case '=': goto yy43;
+ default: goto yy13;
+ }
+yy43:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '\t': goto yy43;
+ case ' ':
+ yyt5 = YYCURSOR;
+ goto yy45;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ yyt5 = YYCURSOR;
+ goto yy47;
+ default: goto yy13;
+ }
+yy45:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '\t':
+ yyt6 = YYCURSOR;
+ goto yy49;
+ case '\n':
+ yyt6 = YYCURSOR;
+ goto yy51;
+ case ' ':
+ yyt5 = YYCURSOR;
+ goto yy45;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ yyt5 = YYCURSOR;
+ goto yy47;
+ default: goto yy13;
+ }
+yy47:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '\t':
+ yyt6 = YYCURSOR;
+ goto yy53;
+ case '\n':
+ yyt6 = YYCURSOR;
+ goto yy51;
+ case ' ':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy47;
+ default: goto yy13;
+ }
+yy49:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '\t': goto yy49;
+ case '\n': goto yy51;
+ case ' ':
+ yyt5 = YYCURSOR;
+ goto yy45;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ yyt5 = YYCURSOR;
+ goto yy47;
+ default: goto yy13;
+ }
+yy51:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '\t':
+ case ' ': goto yy51;
+ case 'c': goto yy55;
+ default: goto yy13;
+ }
+yy53:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '\t':
+ case ' ': goto yy53;
+ case '\n': goto yy51;
+ default: goto yy13;
+ }
+yy55:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'h': goto yy56;
+ default: goto yy13;
+ }
+yy56:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy57;
+ default: goto yy13;
+ }
+yy57:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'n': goto yy58;
+ default: goto yy13;
+ }
+yy58:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'n': goto yy59;
+ default: goto yy13;
+ }
+yy59:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'e': goto yy60;
+ default: goto yy13;
+ }
+yy60:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'l': goto yy61;
+ default: goto yy13;
+ }
+yy61:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 's': goto yy62;
+ default: goto yy13;
+ }
+yy62:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '\t':
+ case ' ': goto yy62;
+ case '=': goto yy64;
+ default: goto yy13;
+ }
+yy64:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '\t':
+ case ' ': goto yy64;
+ case '\n':
+ YYMTAGN (yyt8);
+ YYMTAGN (yyt7);
+ goto yy66;
+ case '#':
+ YYMTAGP (yyt7);
+ goto yy68;
+ case '-':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ YYMTAGP (yyt7);
+ goto yy69;
+ default: goto yy13;
+ }
+yy66:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '\t':
+ case ' ': goto yy66;
+ case '}': goto yy71;
+ default: goto yy13;
+ }
+yy68:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '-':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy73;
+ default: goto yy13;
+ }
+yy69:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '-':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy69;
+ case '/': goto yy75;
+ default: goto yy13;
+ }
+yy71:
+ ++YYCURSOR;
+ n1 = yyt1;
+ n2 = yyt2;
+ a1 = yyt3;
+ a2 = yyt4;
+ c1 = yyt5;
+ c2 = yyt6;
+ h1 = yyt7;
+ h2 = yyt8;
+ {
+ printf("\n%.*s\n", (int) (n2 - n1), n1);
+ printf(" name: %.*s\n", (int) (a2 - a1), a1);
+ printf(" country: %.*s\n", (int) (c2 - c1), c1);
+ printf(" channels:\n");
+ print_channels(tp, h1, h2);
+ goto loop;
+ }
+yy73:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '\t':
+ case ' ':
+ YYMTAGP (yyt8);
+ goto yy76;
+ case '-':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy73;
+ case ';':
+ YYMTAGP (yyt8);
+ goto yy78;
+ default: goto yy13;
+ }
+yy75:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '#': goto yy68;
+ default: goto yy13;
+ }
+yy76:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '\t':
+ case ' ': goto yy76;
+ case ';': goto yy78;
+ default: goto yy13;
+ }
+yy78:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '\t':
+ case ' ': goto yy78;
+ case '\n': goto yy66;
+ case '#':
+ YYMTAGP (yyt7);
+ goto yy68;
+ case '-':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ YYMTAGP (yyt7);
+ goto yy69;
+ default: goto yy13;
+ }
+}
+
+}
+
+int main(int argc, char **argv)
+{
+ if (argc < 2) {
+ fprintf(stderr, "no input files\n");
+ return 1;
+ }
+
+ FILE *file = fopen(argv[1], "r");
+
+ fseek(file, 0, SEEK_END);
+ const size_t fsize = (size_t) ftell(file);
+ fseek(file, 0, SEEK_SET);
+
+ char *buffer = (char*) malloc(fsize + 1);
+
+ fread(buffer, 1, fsize, file);
+ buffer[fsize] = 0;
+
+ const int status = lex(buffer);
+
+ fclose(file);
+ free(buffer);
+
+ return status;
+}
+re2c: warning: line 57: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 63: tag 'a2' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 63: tag 'c1' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 63: tag 'c2' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
diff --git a/examples/13_records.i--tags.re b/examples/13_records.i--tags.re
new file mode 100644
index 00000000..7b41ff5b
--- /dev/null
+++ b/examples/13_records.i--tags.re
@@ -0,0 +1,98 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <vector>
+
+struct mtag_t
+{
+ int pred;
+ const char *tag;
+};
+
+typedef std::vector<mtag_t> mtagpool_t;
+
+static void mtag(int *pt, const char *t, mtagpool_t *tp)
+{
+ mtag_t l = {*pt, t};
+ *pt = (int) tp->size();
+ tp->push_back(l);
+}
+
+static void print_channels(const mtagpool_t &tp, int x, int y)
+{
+ if (x == -1) return;
+ print_channels(tp, tp[x].pred, tp[y].pred);
+ const char *px = tp[x].tag, *py = tp[y].tag;
+ printf(" %.*s\n", (int) (py - px), px);
+}
+
+#define YYMTAGP(t) mtag(&t, YYCURSOR, &tp)
+#define YYMTAGN(t) mtag(&t, NULL, &tp)
+
+static int lex(const char *YYCURSOR)
+{
+ const char *YYMARKER, *n1, *n2, *a1, *a2, *c1, *c2;
+ mtagpool_t tp;
+ int h1, h2;
+ /*!stags:re2c format = "const char *@@;"; */
+ /*!mtags:re2c format = "int @@;"; */
+loop:
+ tp.clear();
+ /*!mtags:re2c format = "@@ = -1;"; */
+ /*!re2c
+ re2c:define:YYCTYPE = char;
+ re2c:yyfill:enable = 0;
+
+ end = "\x00";
+ eol = "\n";
+ wsp = [ \t]*;
+ eq = wsp "=" wsp;
+ nick = [a-zA-Z0-9_]+;
+ name = [A-Z] ("." | [a-z]+);
+ names = name (wsp name)*;
+ country = [A-Za-z ]+;
+ channel = ([a-z0-9-]+ "/")? "#" [a-z0-9-]+;
+
+ * { printf("error: %s\n", YYCURSOR); return 1; }
+ end { return 0; }
+ wsp | eol { goto loop; }
+
+ @n1 nick @n2 wsp "{" wsp eol
+ wsp "name" eq @a1 names @a2 wsp eol
+ wsp "country" eq @c1 country @c2 wsp eol
+ wsp "channels" eq (wsp #h1 channel #h2 wsp ";")* wsp eol
+ wsp "}" {
+ printf("\n%.*s\n", (int) (n2 - n1), n1);
+ printf(" name: %.*s\n", (int) (a2 - a1), a1);
+ printf(" country: %.*s\n", (int) (c2 - c1), c1);
+ printf(" channels:\n");
+ print_channels(tp, h1, h2);
+ goto loop;
+ }
+ */
+}
+
+int main(int argc, char **argv)
+{
+ if (argc < 2) {
+ fprintf(stderr, "no input files\n");
+ return 1;
+ }
+
+ FILE *file = fopen(argv[1], "r");
+
+ fseek(file, 0, SEEK_END);
+ const size_t fsize = (size_t) ftell(file);
+ fseek(file, 0, SEEK_SET);
+
+ char *buffer = (char*) malloc(fsize + 1);
+
+ fread(buffer, 1, fsize, file);
+ buffer[fsize] = 0;
+
+ const int status = lex(buffer);
+
+ fclose(file);
+ free(buffer);
+
+ return status;
+}
diff --git a/examples/14_options.i--tags.c b/examples/14_options.i--tags.c
new file mode 100644
index 00000000..228f9b34
--- /dev/null
+++ b/examples/14_options.i--tags.c
@@ -0,0 +1,1636 @@
+/* Generated by re2c */
+#include <stdio.h>
+#include <string>
+#include <vector>
+
+typedef std::vector<std::pair<std::string, std::string> > unknown_t;
+
+struct options_t
+{
+ std::string date;
+ std::string path;
+ std::string format;
+ std::string limit;
+ bool verbose;
+};
+
+static void show(const options_t &o, const unknown_t &u)
+{
+ printf("\noptions:\n");
+ printf(" date: %s\n", o.date.c_str());
+ printf(" path: %s\n", o.path.c_str());
+ printf(" format: %s\n", o.format.c_str());
+ printf(" limit: %s\n", o.limit.c_str());
+ printf(" verbose: %s\n", o.verbose ? "yes" : "no");
+
+ printf("\nunknown:\n");
+ unknown_t::const_iterator i = u.begin(), e = u.end();
+ for (; i != e; ++i) {
+ printf(" %s: '%s'\n", i->first.c_str(), i->second.c_str());
+ }
+}
+
+static void bad_arg(const char *k, const char *v, const char *e)
+{
+ printf("bad argument '%.*s' to option %.*s\n",
+ (int) (e - v), v, (int) (v - k), k);
+}
+
+static int lex(const char *s)
+{
+ options_t o;
+ unknown_t u;
+ const char *m, *k, *v;
+ const char *yyt1;const char *yyt2;const char *yyt3;const char *yyt4;const char *yyt5;
+loop:
+
+{
+ char yych;
+ unsigned int yyaccept = 0;
+ yych = *s;
+ switch (yych) {
+ case 0x00: goto yy2;
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ': goto yy6;
+ case '-':
+ yyt2 = s;
+ goto yy9;
+ default: goto yy4;
+ }
+yy2:
+ ++s;
+ { show(o, u); return 0; }
+yy4:
+ ++s;
+yy5:
+ { printf("error: %s\n", s); return 1; }
+yy6:
+ yych = *++s;
+ switch (yych) {
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ': goto yy6;
+ default: goto yy8;
+ }
+yy8:
+ { goto loop; }
+yy9:
+ yych = *++s;
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ':
+ case '=': goto yy5;
+ case '-':
+ yyt3 = s;
+ goto yy13;
+ case 'd':
+ yyt3 = s;
+ goto yy14;
+ case 'f':
+ yyt3 = s;
+ goto yy16;
+ case 'l':
+ yyt3 = s;
+ goto yy17;
+ case 'p':
+ yyt3 = s;
+ goto yy18;
+ case 'v':
+ yyt3 = s;
+ goto yy20;
+ default:
+ yyt3 = s;
+ goto yy10;
+ }
+yy10:
+ yych = *++s;
+yy11:
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ':
+ yyt4 = s;
+ goto yy12;
+ case '"':
+ yyt4 = s;
+ goto yy22;
+ case '=':
+ yyt4 = s;
+ goto yy24;
+ default: goto yy10;
+ }
+yy12:
+ k = yyt3;
+ v = yyt4;
+ {
+ u.push_back(std::make_pair(std::string(k, v), std::string(v, s)));
+ goto loop;
+ }
+yy13:
+ yych = *++s;
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ':
+ yyt4 = s;
+ goto yy12;
+ case '"':
+ yyt1 = yyt4 = s;
+ goto yy25;
+ case '=':
+ yyt4 = s;
+ goto yy24;
+ case 'd':
+ yyt1 = s;
+ goto yy27;
+ case 'f':
+ yyt1 = s;
+ goto yy28;
+ case 'l':
+ yyt1 = s;
+ goto yy29;
+ case 'p':
+ yyt1 = s;
+ goto yy30;
+ case 'v':
+ yyt1 = s;
+ goto yy31;
+ default:
+ yyt3 = s;
+ goto yy10;
+ }
+yy14:
+ yych = *++s;
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ':
+ yyt5 = s;
+ goto yy15;
+ case '"':
+ yyt5 = s;
+ goto yy34;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ yyt1 = yyt5 = s;
+ goto yy36;
+ case '=':
+ yyt5 = s;
+ goto yy37;
+ default:
+ yyt5 = s;
+ goto yy32;
+ }
+yy15:
+ k = yyt2;
+ v = yyt5;
+ {
+ bad_arg(k, v, s);
+ goto loop;
+ }
+yy16:
+ yych = *++s;
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ':
+ yyt5 = s;
+ goto yy15;
+ case '"':
+ yyt1 = yyt5 = s;
+ goto yy38;
+ case '=':
+ yyt5 = s;
+ goto yy37;
+ default:
+ yyt5 = s;
+ goto yy32;
+ }
+yy17:
+ yych = *++s;
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ':
+ yyt5 = s;
+ goto yy15;
+ case '"':
+ yyt5 = s;
+ goto yy34;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ yyt1 = yyt5 = s;
+ goto yy40;
+ case '=':
+ yyt5 = s;
+ goto yy37;
+ default:
+ yyt5 = s;
+ goto yy32;
+ }
+yy18:
+ yych = *++s;
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ':
+ yyt1 = s;
+ goto yy19;
+ case '"':
+ yyt1 = yyt5 = s;
+ goto yy45;
+ case '=':
+ yyt5 = s;
+ goto yy37;
+ default:
+ yyt1 = s;
+ goto yy43;
+ }
+yy19:
+ v = yyt1;
+ { o.path = std::string(v, s); goto loop; }
+yy20:
+ yych = *++s;
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ': goto yy21;
+ default: goto yy11;
+ }
+yy21:
+ { o.verbose = true; goto loop; }
+yy22:
+ yyaccept = 0;
+ yych = *(m = ++s);
+ switch (yych) {
+ case 0x00:
+ yyt4 = s;
+ goto yy12;
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ': goto yy47;
+ case '"':
+ yyt4 = s;
+ goto yy22;
+ case '=':
+ yyt4 = s;
+ goto yy24;
+ default: goto yy22;
+ }
+yy24:
+ yych = *++s;
+ switch (yych) {
+ case '"': goto yy52;
+ default: goto yy51;
+ }
+yy25:
+ yyaccept = 1;
+ yych = *(m = ++s);
+ switch (yych) {
+ case 0x00:
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy12;
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ': goto yy47;
+ case '"':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy22;
+ case '=':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy24;
+ default: goto yy25;
+ }
+yy27:
+ yych = *++s;
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy12;
+ case '"':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy22;
+ case '=':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy24;
+ case 'a': goto yy54;
+ default:
+ yyt3 = yyt1;
+ goto yy10;
+ }
+yy28:
+ yych = *++s;
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy12;
+ case '"':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy22;
+ case '=':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy24;
+ case 'o': goto yy55;
+ default:
+ yyt3 = yyt1;
+ goto yy10;
+ }
+yy29:
+ yych = *++s;
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy12;
+ case '"':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy22;
+ case '=':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy24;
+ case 'i': goto yy56;
+ default:
+ yyt3 = yyt1;
+ goto yy10;
+ }
+yy30:
+ yych = *++s;
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy12;
+ case '"':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy22;
+ case '=':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy24;
+ case 'a': goto yy57;
+ default:
+ yyt3 = yyt1;
+ goto yy10;
+ }
+yy31:
+ yych = *++s;
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy12;
+ case '"':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy22;
+ case '=':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy24;
+ case 'e': goto yy58;
+ default:
+ yyt3 = yyt1;
+ goto yy10;
+ }
+yy32:
+ yych = *++s;
+yy33:
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ': goto yy15;
+ case '"':
+ yyt4 = s;
+ goto yy59;
+ case '=':
+ yyt4 = s;
+ goto yy24;
+ default: goto yy32;
+ }
+yy34:
+ yyaccept = 2;
+ yych = *(m = ++s);
+ switch (yych) {
+ case 0x00: goto yy15;
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ': goto yy61;
+ case '=':
+ yyt4 = s;
+ goto yy24;
+ default: goto yy34;
+ }
+yy36:
+ yych = *++s;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy63;
+ default: goto yy33;
+ }
+yy37:
+ yych = *++s;
+ switch (yych) {
+ case '"': goto yy66;
+ default: goto yy65;
+ }
+yy38:
+ yyaccept = 2;
+ yych = *(m = ++s);
+ switch (yych) {
+ case 0x00: goto yy15;
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ': goto yy68;
+ case '"': goto yy70;
+ case '=':
+ yyt4 = s;
+ goto yy24;
+ default: goto yy38;
+ }
+yy40:
+ yych = *++s;
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ': goto yy42;
+ case '"':
+ yyt4 = s;
+ goto yy59;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy40;
+ case '=':
+ yyt4 = s;
+ goto yy24;
+ case 'B':
+ case 'G':
+ case 'K':
+ case 'M': goto yy73;
+ default: goto yy32;
+ }
+yy42:
+ v = yyt1;
+ { o.limit = std::string(v, s); goto loop; }
+yy43:
+ yych = *++s;
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ': goto yy19;
+ case '"':
+ yyt4 = s;
+ goto yy74;
+ case '=':
+ yyt4 = s;
+ goto yy24;
+ default: goto yy43;
+ }
+yy45:
+ yyaccept = 3;
+ yych = *(m = ++s);
+ switch (yych) {
+ case 0x00: goto yy19;
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ': goto yy61;
+ case '=':
+ yyt4 = s;
+ goto yy24;
+ default: goto yy45;
+ }
+yy47:
+ yych = *++s;
+ switch (yych) {
+ case 0x00:
+ case '=': goto yy49;
+ case '"': goto yy76;
+ default: goto yy47;
+ }
+yy49:
+ s = m;
+ switch (yyaccept) {
+ case 0:
+ yyt4 = s;
+ goto yy12;
+ case 1:
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy12;
+ case 2: goto yy15;
+ case 3: goto yy19;
+ case 4: goto yy12;
+ default: goto yy72;
+ }
+yy50:
+ yych = *++s;
+yy51:
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ':
+ case '=': goto yy12;
+ default: goto yy50;
+ }
+yy52:
+ yyaccept = 4;
+ yych = *(m = ++s);
+ switch (yych) {
+ case 0x00:
+ case '=': goto yy12;
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ': goto yy47;
+ default: goto yy52;
+ }
+yy54:
+ yych = *++s;
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy12;
+ case '"':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy22;
+ case '=':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy24;
+ case 't': goto yy78;
+ default:
+ yyt3 = yyt1;
+ goto yy10;
+ }
+yy55:
+ yych = *++s;
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy12;
+ case '"':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy22;
+ case '=':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy24;
+ case 'r': goto yy79;
+ default:
+ yyt3 = yyt1;
+ goto yy10;
+ }
+yy56:
+ yych = *++s;
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy12;
+ case '"':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy22;
+ case '=':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy24;
+ case 'm': goto yy80;
+ default:
+ yyt3 = yyt1;
+ goto yy10;
+ }
+yy57:
+ yych = *++s;
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy12;
+ case '"':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy22;
+ case '=':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy24;
+ case 't': goto yy81;
+ default:
+ yyt3 = yyt1;
+ goto yy10;
+ }
+yy58:
+ yych = *++s;
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy12;
+ case '"':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy22;
+ case '=':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy24;
+ case 'r': goto yy82;
+ default:
+ yyt3 = yyt1;
+ goto yy10;
+ }
+yy59:
+ yyaccept = 2;
+ yych = *(m = ++s);
+ switch (yych) {
+ case 0x00: goto yy15;
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ': goto yy47;
+ case '"':
+ yyt4 = s;
+ goto yy59;
+ case '=':
+ yyt4 = s;
+ goto yy24;
+ default: goto yy59;
+ }
+yy61:
+ yych = *++s;
+ switch (yych) {
+ case 0x00:
+ case '=': goto yy49;
+ case '"': goto yy83;
+ default: goto yy61;
+ }
+yy63:
+ yych = *++s;
+ switch (yych) {
+ case '/': goto yy85;
+ default: goto yy33;
+ }
+yy64:
+ yych = *++s;
+yy65:
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ':
+ case '=': goto yy15;
+ default: goto yy64;
+ }
+yy66:
+ yyaccept = 2;
+ yych = *(m = ++s);
+ switch (yych) {
+ case 0x00:
+ case '=': goto yy15;
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ': goto yy61;
+ default: goto yy66;
+ }
+yy68:
+ yych = *++s;
+ switch (yych) {
+ case 0x00:
+ case '=': goto yy49;
+ case '"': goto yy86;
+ default: goto yy68;
+ }
+yy70:
+ yyaccept = 5;
+ yych = *(m = ++s);
+ switch (yych) {
+ case 0x00: goto yy72;
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ': goto yy68;
+ case '"': goto yy70;
+ case '=':
+ yyt4 = s;
+ goto yy24;
+ default: goto yy38;
+ }
+yy72:
+ v = yyt1;
+ { o.format = std::string(v, s); goto loop; }
+yy73:
+ yych = *++s;
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ': goto yy42;
+ default: goto yy33;
+ }
+yy74:
+ yyaccept = 3;
+ yych = *(m = ++s);
+ switch (yych) {
+ case 0x00: goto yy19;
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ': goto yy47;
+ case '"':
+ yyt4 = s;
+ goto yy74;
+ case '=':
+ yyt4 = s;
+ goto yy24;
+ default: goto yy74;
+ }
+yy76:
+ yyaccept = 4;
+ yych = *(m = ++s);
+ switch (yych) {
+ case 0x00:
+ case '=': goto yy12;
+ case '"': goto yy76;
+ default: goto yy47;
+ }
+yy78:
+ yych = *++s;
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy12;
+ case '"':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy22;
+ case '=':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy24;
+ case 'e': goto yy88;
+ default:
+ yyt3 = yyt1;
+ goto yy10;
+ }
+yy79:
+ yych = *++s;
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy12;
+ case '"':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy22;
+ case '=':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy24;
+ case 'm': goto yy89;
+ default:
+ yyt3 = yyt1;
+ goto yy10;
+ }
+yy80:
+ yych = *++s;
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy12;
+ case '"':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy22;
+ case '=':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy24;
+ case 'i': goto yy90;
+ default:
+ yyt3 = yyt1;
+ goto yy10;
+ }
+yy81:
+ yych = *++s;
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy12;
+ case '"':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy22;
+ case '=':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy24;
+ case 'h': goto yy91;
+ default:
+ yyt3 = yyt1;
+ goto yy10;
+ }
+yy82:
+ yych = *++s;
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy12;
+ case '"':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy22;
+ case '=':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy24;
+ case 'b': goto yy92;
+ default:
+ yyt3 = yyt1;
+ goto yy10;
+ }
+yy83:
+ yyaccept = 2;
+ yych = *(m = ++s);
+ switch (yych) {
+ case 0x00:
+ case '=': goto yy15;
+ case '"': goto yy83;
+ default: goto yy61;
+ }
+yy85:
+ yych = *++s;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy93;
+ default: goto yy33;
+ }
+yy86:
+ yyaccept = 5;
+ yych = *(m = ++s);
+ switch (yych) {
+ case 0x00:
+ case '=': goto yy72;
+ case '"': goto yy86;
+ default: goto yy68;
+ }
+yy88:
+ yych = *++s;
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ':
+ yyt5 = s;
+ goto yy15;
+ case '"':
+ yyt3 = yyt1;
+ yyt5 = s;
+ goto yy34;
+ case '=':
+ yyt5 = s;
+ goto yy94;
+ default:
+ yyt3 = yyt1;
+ yyt5 = s;
+ goto yy32;
+ }
+yy89:
+ yych = *++s;
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy12;
+ case '"':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy22;
+ case '=':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy24;
+ case 'a': goto yy95;
+ default:
+ yyt3 = yyt1;
+ goto yy10;
+ }
+yy90:
+ yych = *++s;
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy12;
+ case '"':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy22;
+ case '=':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy24;
+ case 't': goto yy96;
+ default:
+ yyt3 = yyt1;
+ goto yy10;
+ }
+yy91:
+ yych = *++s;
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ':
+ yyt5 = s;
+ goto yy15;
+ case '"':
+ yyt3 = yyt1;
+ yyt5 = s;
+ goto yy34;
+ case '=':
+ yyt5 = s;
+ goto yy97;
+ default:
+ yyt3 = yyt1;
+ yyt5 = s;
+ goto yy32;
+ }
+yy92:
+ yych = *++s;
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy12;
+ case '"':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy22;
+ case '=':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy24;
+ case 'o': goto yy98;
+ default:
+ yyt3 = yyt1;
+ goto yy10;
+ }
+yy93:
+ yych = *++s;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy99;
+ default: goto yy33;
+ }
+yy94:
+ yych = *++s;
+ switch (yych) {
+ case '"': goto yy66;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ yyt1 = s;
+ goto yy100;
+ default: goto yy65;
+ }
+yy95:
+ yych = *++s;
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy12;
+ case '"':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy22;
+ case '=':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy24;
+ case 't': goto yy101;
+ default:
+ yyt3 = yyt1;
+ goto yy10;
+ }
+yy96:
+ yych = *++s;
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ':
+ yyt5 = s;
+ goto yy15;
+ case '"':
+ yyt3 = yyt1;
+ yyt5 = s;
+ goto yy34;
+ case '=':
+ yyt5 = s;
+ goto yy102;
+ default:
+ yyt3 = yyt1;
+ yyt5 = s;
+ goto yy32;
+ }
+yy97:
+ yych = *++s;
+ yyt1 = s;
+ switch (yych) {
+ case '"': goto yy105;
+ default: goto yy104;
+ }
+yy98:
+ yych = *++s;
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy12;
+ case '"':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy22;
+ case '=':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy24;
+ case 's': goto yy107;
+ default:
+ yyt3 = yyt1;
+ goto yy10;
+ }
+yy99:
+ yych = *++s;
+ switch (yych) {
+ case '/': goto yy108;
+ default: goto yy33;
+ }
+yy100:
+ yych = *++s;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy109;
+ default: goto yy65;
+ }
+yy101:
+ yych = *++s;
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ':
+ yyt5 = s;
+ goto yy15;
+ case '"':
+ yyt3 = yyt1;
+ yyt5 = s;
+ goto yy34;
+ case '=':
+ yyt5 = s;
+ goto yy110;
+ default:
+ yyt3 = yyt1;
+ yyt5 = s;
+ goto yy32;
+ }
+yy102:
+ yych = *++s;
+ switch (yych) {
+ case '"': goto yy66;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ yyt1 = s;
+ goto yy111;
+ default: goto yy65;
+ }
+yy103:
+ yych = *++s;
+yy104:
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ':
+ case '=': goto yy19;
+ default: goto yy103;
+ }
+yy105:
+ yyaccept = 3;
+ yych = *(m = ++s);
+ switch (yych) {
+ case 0x00:
+ case '=': goto yy19;
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ': goto yy61;
+ default: goto yy105;
+ }
+yy107:
+ yych = *++s;
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy12;
+ case '"':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy22;
+ case '=':
+ yyt3 = yyt1;
+ yyt4 = s;
+ goto yy24;
+ case 'e':
+ yyt3 = yyt1;
+ goto yy20;
+ default:
+ yyt3 = yyt1;
+ goto yy10;
+ }
+yy108:
+ yych = *++s;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy113;
+ default: goto yy33;
+ }
+yy109:
+ yych = *++s;
+ switch (yych) {
+ case '/': goto yy114;
+ default: goto yy65;
+ }
+yy110:
+ yych = *++s;
+ switch (yych) {
+ case '"':
+ yyt1 = s;
+ goto yy115;
+ default: goto yy65;
+ }
+yy111:
+ yych = *++s;
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ':
+ case '=': goto yy42;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy111;
+ case 'B':
+ case 'G':
+ case 'K':
+ case 'M': goto yy117;
+ default: goto yy64;
+ }
+yy113:
+ yych = *++s;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy118;
+ default: goto yy33;
+ }
+yy114:
+ yych = *++s;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy119;
+ default: goto yy65;
+ }
+yy115:
+ yyaccept = 2;
+ yych = *(m = ++s);
+ switch (yych) {
+ case 0x00:
+ case '=': goto yy15;
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ': goto yy68;
+ case '"': goto yy120;
+ default: goto yy115;
+ }
+yy117:
+ yych = *++s;
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ':
+ case '=': goto yy42;
+ default: goto yy64;
+ }
+yy118:
+ yych = *++s;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy122;
+ default: goto yy33;
+ }
+yy119:
+ yych = *++s;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy123;
+ default: goto yy65;
+ }
+yy120:
+ yyaccept = 5;
+ yych = *(m = ++s);
+ switch (yych) {
+ case 0x00:
+ case '=': goto yy72;
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ': goto yy68;
+ case '"': goto yy120;
+ default: goto yy115;
+ }
+yy122:
+ yych = *++s;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy124;
+ default: goto yy33;
+ }
+yy123:
+ yych = *++s;
+ switch (yych) {
+ case '/': goto yy126;
+ default: goto yy65;
+ }
+yy124:
+ yych = *++s;
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ': goto yy125;
+ default: goto yy33;
+ }
+yy125:
+ v = yyt1;
+ { o.date = std::string(v, s); goto loop; }
+yy126:
+ yych = *++s;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy127;
+ default: goto yy65;
+ }
+yy127:
+ yych = *++s;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy128;
+ default: goto yy65;
+ }
+yy128:
+ yych = *++s;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy129;
+ default: goto yy65;
+ }
+yy129:
+ yych = *++s;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy130;
+ default: goto yy65;
+ }
+yy130:
+ yych = *++s;
+ switch (yych) {
+ case 0x00:
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ':
+ case '=': goto yy125;
+ default: goto yy64;
+ }
+}
+
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) lex(argv[i]);
+ return 0;
+}
+re2c: warning: line 68: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 80: tag 'k' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 80: tag 'v' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
diff --git a/examples/14_options.i--tags.re b/examples/14_options.i--tags.re
new file mode 100644
index 00000000..2b9b1c48
--- /dev/null
+++ b/examples/14_options.i--tags.re
@@ -0,0 +1,91 @@
+#include <stdio.h>
+#include <string>
+#include <vector>
+
+typedef std::vector<std::pair<std::string, std::string> > unknown_t;
+
+struct options_t
+{
+ std::string date;
+ std::string path;
+ std::string format;
+ std::string limit;
+ bool verbose;
+};
+
+static void show(const options_t &o, const unknown_t &u)
+{
+ printf("\noptions:\n");
+ printf(" date: %s\n", o.date.c_str());
+ printf(" path: %s\n", o.path.c_str());
+ printf(" format: %s\n", o.format.c_str());
+ printf(" limit: %s\n", o.limit.c_str());
+ printf(" verbose: %s\n", o.verbose ? "yes" : "no");
+
+ printf("\nunknown:\n");
+ unknown_t::const_iterator i = u.begin(), e = u.end();
+ for (; i != e; ++i) {
+ printf(" %s: '%s'\n", i->first.c_str(), i->second.c_str());
+ }
+}
+
+static void bad_arg(const char *k, const char *v, const char *e)
+{
+ printf("bad argument '%.*s' to option %.*s\n",
+ (int) (e - v), v, (int) (v - k), k);
+}
+
+static int lex(const char *s)
+{
+ options_t o;
+ unknown_t u;
+ const char *m, *k, *v;
+ /*!stags:re2c format = 'const char *@@;'; */
+loop:
+ /*!re2c
+ re2c:define:YYCTYPE = char;
+ re2c:define:YYCURSOR = s;
+ re2c:define:YYMARKER = m;
+ re2c:yyfill:enable = 0;
+
+ end = "\x00";
+ sp = [ \t\n\r];
+ eq = "=";
+ wsp = sp*;
+ char = [^=] \ end;
+ ochar = char \ sp;
+ pchar = ochar \ [/];
+ str = ["] (char \ ["] | [\]["])* ["];
+ opt = ochar+;
+ arg = ochar* | str;
+ date = [0-9]{2} "/" [0-9]{2} "/" [0-9]{4};
+ path = pchar* ("/" pchar*)*;
+ format = str;
+ limit = [0-9]+ [BKMG]?;
+
+ * { printf("error: %s\n", s); return 1; }
+ end { show(o, u); return 0; }
+ wsp { goto loop; }
+
+ "-v" | "--verbose" { o.verbose = true; goto loop; }
+ ("-l" | "--limit" eq) @v limit { o.limit = std::string(v, s); goto loop; }
+ ("-f" | "--format" eq) @v str { o.format = std::string(v, s); goto loop; }
+ ("-d" | "--date" eq) @v date { o.date = std::string(v, s); goto loop; }
+ ("-p" | "--path" eq) @v path { o.path = std::string(v, s); goto loop; }
+
+ @k ("--" ("limit" | "format" | "date" | "path") | "-" [lfdp]) @v eq? arg {
+ bad_arg(k, v, s);
+ goto loop;
+ }
+ [-]{1,2} @k opt @v eq? arg {
+ u.push_back(std::make_pair(std::string(k, v), std::string(v, s)));
+ goto loop;
+ }
+ */
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) lex(argv[i]);
+ return 0;
+}
diff --git a/examples/15_binsyms.i--input(custom).c b/examples/15_binsyms.i--input(custom).c
new file mode 100644
index 00000000..9a146179
--- /dev/null
+++ b/examples/15_binsyms.i--input(custom).c
@@ -0,0 +1,209 @@
+/* Generated by re2c */
+#include <stdlib.h>
+#include <stdio.h>
+
+static void lex(const char *cur, const char *lim)
+{
+ const char *mar, *tok;
+# define YYCTYPE char
+# define YYPEEK() *cur
+# define YYSKIP() if (++cur == lim) return;
+# define YYBACKUP() mar = cur
+# define YYRESTORE() cur = mar
+loop:
+ tok = cur;
+
+{
+ YYCTYPE yych;
+ yych = YYPEEK ();
+ switch (yych) {
+ case '_': goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ YYSKIP ();
+yy3:
+ { goto loop; }
+yy4:
+ YYSKIP ();
+ YYBACKUP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '_': goto yy5;
+ default: goto yy3;
+ }
+yy5:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy7;
+ default: goto yy6;
+ }
+yy6:
+ YYRESTORE ();
+ goto yy3;
+yy7:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy7;
+ default: goto yy9;
+ }
+yy9:
+ {
+ printf("%.*s\n", (int) (cur - tok), tok);
+ goto loop;
+ }
+}
+
+}
+
+int main(int argc, char **argv)
+{
+ if (argc < 2) {
+ fprintf(stderr, "no input files\n");
+ return 1;
+ }
+
+ FILE *file = fopen(argv[1], "rb");
+ if (file == NULL) {
+ fprintf(stderr, "cannot open file\n");
+ return 1;
+ }
+
+ fseek(file, 0, SEEK_END);
+ const size_t fsize = (size_t) ftell(file);
+ fseek(file, 0, SEEK_SET);
+
+ char *buffer = (char*) malloc(fsize);
+ fread(buffer, 1, fsize, file);
+ lex(buffer, buffer + fsize);
+
+ free(buffer);
+ fclose(file);
+ return 0;
+}
diff --git a/examples/15_binsyms.i--input(custom).re b/examples/15_binsyms.i--input(custom).re
new file mode 100644
index 00000000..ec1c2d6e
--- /dev/null
+++ b/examples/15_binsyms.i--input(custom).re
@@ -0,0 +1,49 @@
+#include <stdlib.h>
+#include <stdio.h>
+
+static void lex(const char *cur, const char *lim)
+{
+ const char *mar, *tok;
+# define YYCTYPE char
+# define YYPEEK() *cur
+# define YYSKIP() if (++cur == lim) return;
+# define YYBACKUP() mar = cur
+# define YYRESTORE() cur = mar
+loop:
+ tok = cur;
+ /*!re2c
+ re2c:yyfill:enable = 0;
+
+ * { goto loop; }
+ "__" [a-zA-Z0-9_]+ {
+ printf("%.*s\n", (int) (cur - tok), tok);
+ goto loop;
+ }
+ */
+}
+
+int main(int argc, char **argv)
+{
+ if (argc < 2) {
+ fprintf(stderr, "no input files\n");
+ return 1;
+ }
+
+ FILE *file = fopen(argv[1], "rb");
+ if (file == NULL) {
+ fprintf(stderr, "cannot open file\n");
+ return 1;
+ }
+
+ fseek(file, 0, SEEK_END);
+ const size_t fsize = (size_t) ftell(file);
+ fseek(file, 0, SEEK_SET);
+
+ char *buffer = (char*) malloc(fsize);
+ fread(buffer, 1, fsize, file);
+ lex(buffer, buffer + fsize);
+
+ free(buffer);
+ fclose(file);
+ return 0;
+}
diff --git a/examples/16_fake_sentinel.i--input(custom).c b/examples/16_fake_sentinel.i--input(custom).c
new file mode 100644
index 00000000..868c31f8
--- /dev/null
+++ b/examples/16_fake_sentinel.i--input(custom).c
@@ -0,0 +1,249 @@
+/* Generated by re2c */
+#include <stdio.h>
+#include <string.h>
+
+static int lex(const char *cur, const char *lim)
+{
+ const char *mar, *tok = cur;
+# define YYCTYPE char
+# define YYPEEK() (cur < lim ? *cur : 0)
+# define YYSKIP() ++cur
+# define YYBACKUP() mar = cur
+# define YYRESTORE() cur = mar
+
+{
+ YYCTYPE yych;
+ yych = YYPEEK ();
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ YYSKIP ();
+yy3:
+ { printf("error\n"); return 1; }
+yy4:
+ YYSKIP ();
+ YYBACKUP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy5;
+ case ';': goto yy8;
+ default: goto yy3;
+ }
+yy5:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy5;
+ case ';': goto yy8;
+ default: goto yy7;
+ }
+yy7:
+ YYRESTORE ();
+ goto yy3;
+yy8:
+ YYSKIP ();
+ yych = YYPEEK ();
+ if (yych >= 0x01) goto yy7;
+ YYSKIP ();
+ {
+ printf("%.*s\n", (int) (cur - tok) - 1, tok);
+ return 0;
+ }
+}
+
+}
+
+int main(int argc, char **argv)
+{
+ if (argc != 2) return 1;
+
+ char *s = argv[1];
+ size_t l = strlen(s);
+ s[l] = ';'; // overwrite terminating NULL
+ return lex(s, s + l + 1);
+}
diff --git a/examples/16_fake_sentinel.i--input(custom).re b/examples/16_fake_sentinel.i--input(custom).re
new file mode 100644
index 00000000..f06ffefb
--- /dev/null
+++ b/examples/16_fake_sentinel.i--input(custom).re
@@ -0,0 +1,31 @@
+#include <stdio.h>
+#include <string.h>
+
+static int lex(const char *cur, const char *lim)
+{
+ const char *mar, *tok = cur;
+# define YYCTYPE char
+# define YYPEEK() (cur < lim ? *cur : 0)
+# define YYSKIP() ++cur
+# define YYBACKUP() mar = cur
+# define YYRESTORE() cur = mar
+ /*!re2c
+ re2c:yyfill:enable = 0;
+
+ * { printf("error\n"); return 1; }
+ [0-9a-zA-Z]+ [;] [\x00] {
+ printf("%.*s\n", (int) (cur - tok) - 1, tok);
+ return 0;
+ }
+ */
+}
+
+int main(int argc, char **argv)
+{
+ if (argc != 2) return 1;
+
+ char *s = argv[1];
+ size_t l = strlen(s);
+ s[l] = ';'; // overwrite terminating NULL
+ return lex(s, s + l + 1);
+}
diff --git a/examples/17_ifstream.i--input(custom).c b/examples/17_ifstream.i--input(custom).c
new file mode 100644
index 00000000..478e0824
--- /dev/null
+++ b/examples/17_ifstream.i--input(custom).c
@@ -0,0 +1,49 @@
+/* Generated by re2c */
+#include <fstream>
+
+static void conv(std::ifstream &in, std::ofstream &out)
+{
+ std::streampos mar;
+# define YYCTYPE char
+# define YYPEEK() in.peek()
+# define YYSKIP() do { in.ignore(); if (in.eof()) return; } while(0)
+# define YYBACKUP() mar = in.tellg()
+# define YYRESTORE() in.seekg(mar)
+loop:
+
+{
+ YYCTYPE yych;
+ yych = YYPEEK ();
+ switch (yych) {
+ case '\r': goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ YYSKIP ();
+yy3:
+ { out.put(yych); goto loop; }
+yy4:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '\n': goto yy5;
+ default: goto yy3;
+ }
+yy5:
+ YYSKIP ();
+ { out.put('\n'); goto loop; }
+}
+
+}
+
+int main(int argc, char **argv)
+{
+ if (argc != 3) return 1;
+
+ std::ifstream in(argv[1], std::ios::binary);
+ std::ofstream out(argv[2], std::ios::binary);
+ if (in.fail() || out.fail()) return 2;
+
+ conv(in, out);
+ return 0;
+}
diff --git a/examples/17_ifstream.i--input(custom).re b/examples/17_ifstream.i--input(custom).re
new file mode 100644
index 00000000..69b0f18a
--- /dev/null
+++ b/examples/17_ifstream.i--input(custom).re
@@ -0,0 +1,30 @@
+#include <fstream>
+
+static void conv(std::ifstream &in, std::ofstream &out)
+{
+ std::streampos mar;
+# define YYCTYPE char
+# define YYPEEK() in.peek()
+# define YYSKIP() do { in.ignore(); if (in.eof()) return; } while(0)
+# define YYBACKUP() mar = in.tellg()
+# define YYRESTORE() in.seekg(mar)
+loop:
+ /*!re2c
+ re2c:yyfill:enable = 0;
+
+ * { out.put(yych); goto loop; }
+ "\r\n" { out.put('\n'); goto loop; }
+ */
+}
+
+int main(int argc, char **argv)
+{
+ if (argc != 3) return 1;
+
+ std::ifstream in(argv[1], std::ios::binary);
+ std::ofstream out(argv[2], std::ios::binary);
+ if (in.fail() || out.fail()) return 2;
+
+ conv(in, out);
+ return 0;
+}
diff --git a/examples/18_push_model.if.c b/examples/18_push_model.if.c
new file mode 100644
index 00000000..30335433
--- /dev/null
+++ b/examples/18_push_model.if.c
@@ -0,0 +1,240 @@
+/* Generated by re2c */
+#include <stdio.h>
+#include <string.h>
+
+#define YYMAXFILL 1
+
+static const size_t SIZE = 4096;
+
+struct input_t {
+ char buf[SIZE + YYMAXFILL];
+ char *lim;
+ char *cur;
+ char *tok;
+ int state;
+ unsigned need;
+ unsigned yyaccept;
+ char yych;
+
+ input_t()
+ : buf()
+ , lim(buf + SIZE)
+ , cur(lim)
+ , tok(lim)
+ , state(-1)
+ , need(0)
+ , yyaccept(0)
+ , yych(0)
+ {}
+
+ bool fill()
+ {
+ const size_t free = tok - buf;
+ if (free < need) return false;
+
+ memmove(buf, tok, buf - tok + SIZE);
+ lim -= free;
+ cur -= free;
+ tok -= free;
+ lim += fread(lim, 1, free, stdin);
+ if (lim < buf + SIZE) {
+ memset(lim, 0, YYMAXFILL);
+ lim += YYMAXFILL;
+ }
+ return true;
+ }
+};
+
+enum status_t { OK, FAIL, NEED_MORE_INPUT };
+
+static status_t lex(input_t &in, unsigned &words)
+{
+# define YYGETSTATE() in.state
+# define YYSETSTATE(s) in.state = s
+# define YYFILL(n) do { in.need = n; return NEED_MORE_INPUT; } while (0)
+ switch (YYGETSTATE()) {
+default: goto yy0;
+case 0: goto yyFillLabel0;
+case 1: goto yyFillLabel1;
+case 2: goto yyFillLabel2;
+}
+
+loop:
+ in.tok = in.cur;
+
+
+yy0:
+ YYSETSTATE(0);
+ if (in.lim <= in.cur) YYFILL(1);
+yyFillLabel0:
+ in.yych = *in.cur;
+ switch (in.yych) {
+ case 0x00: goto yy2;
+ case '\n':
+ case ' ': goto yy6;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy9;
+ default: goto yy4;
+ }
+yy2:
+ ++in.cur;
+ { return OK; }
+yy4:
+ ++in.cur;
+ { return FAIL; }
+yy6:
+ ++in.cur;
+ YYSETSTATE(1);
+ if (in.lim <= in.cur) YYFILL(1);
+yyFillLabel1:
+ in.yych = *in.cur;
+ switch (in.yych) {
+ case '\n':
+ case ' ': goto yy6;
+ default: goto yy8;
+ }
+yy8:
+ { goto loop; }
+yy9:
+ ++in.cur;
+ YYSETSTATE(2);
+ if (in.lim <= in.cur) YYFILL(1);
+yyFillLabel2:
+ in.yych = *in.cur;
+ switch (in.yych) {
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy9;
+ default: goto yy11;
+ }
+yy11:
+ { ++words; goto loop; }
+
+}
+
+int main()
+{
+ input_t in;
+ unsigned words = 0;
+
+ while (true) {
+ const status_t st = lex(in, words);
+
+ // end of input: print result
+ if (st == OK) {
+ printf("\nword count: %u\n", words);
+ break;
+
+ // unexpected error: abort
+ } else if (st == FAIL) {
+ printf("\nerror\n");
+ return 1;
+
+ // get more input and continue
+ } else if (!in.fill()) {
+ printf("\nsmall buffer\n");
+ return 2;
+ }
+ }
+
+ return 0;
+}
diff --git a/examples/18_push_model.if.re b/examples/18_push_model.if.re
new file mode 100644
index 00000000..2f136730
--- /dev/null
+++ b/examples/18_push_model.if.re
@@ -0,0 +1,95 @@
+#include <stdio.h>
+#include <string.h>
+
+/*!max:re2c*/
+static const size_t SIZE = 4096;
+
+struct input_t {
+ char buf[SIZE + YYMAXFILL];
+ char *lim;
+ char *cur;
+ char *tok;
+ int state;
+ unsigned need;
+ unsigned yyaccept;
+ char yych;
+
+ input_t()
+ : buf()
+ , lim(buf + SIZE)
+ , cur(lim)
+ , tok(lim)
+ , state(-1)
+ , need(0)
+ , yyaccept(0)
+ , yych(0)
+ {}
+
+ bool fill()
+ {
+ const size_t free = tok - buf;
+ if (free < need) return false;
+
+ memmove(buf, tok, buf - tok + SIZE);
+ lim -= free;
+ cur -= free;
+ tok -= free;
+ lim += fread(lim, 1, free, stdin);
+ if (lim < buf + SIZE) {
+ memset(lim, 0, YYMAXFILL);
+ lim += YYMAXFILL;
+ }
+ return true;
+ }
+};
+
+enum status_t { OK, FAIL, NEED_MORE_INPUT };
+
+static status_t lex(input_t &in, unsigned &words)
+{
+# define YYGETSTATE() in.state
+# define YYSETSTATE(s) in.state = s
+# define YYFILL(n) do { in.need = n; return NEED_MORE_INPUT; } while (0)
+ /*!getstate:re2c*/
+loop:
+ in.tok = in.cur;
+ /*!re2c
+ re2c:define:YYCTYPE = char;
+ re2c:define:YYCURSOR = in.cur;
+ re2c:define:YYLIMIT = in.lim;
+ re2c:variable:yych = in.yych;
+
+ * { return FAIL; }
+ [\x00] { return OK; }
+ [\n ]+ { goto loop; }
+ [a-zA-Z]+ { ++words; goto loop; }
+ */
+}
+
+int main()
+{
+ input_t in;
+ unsigned words = 0;
+
+ while (true) {
+ const status_t st = lex(in, words);
+
+ // end of input: print result
+ if (st == OK) {
+ printf("\nword count: %u\n", words);
+ break;
+
+ // unexpected error: abort
+ } else if (st == FAIL) {
+ printf("\nerror\n");
+ return 1;
+
+ // get more input and continue
+ } else if (!in.fill()) {
+ printf("\nsmall buffer\n");
+ return 2;
+ }
+ }
+
+ return 0;
+}
diff --git a/examples/input_custom/fixed.re b/examples/input_custom/fixed.re
deleted file mode 100644
index 51f3b2b0..00000000
--- a/examples/input_custom/fixed.re
+++ /dev/null
@@ -1,35 +0,0 @@
-// Build with "--input custom" re2c switch.
-//
-// This is an example of handling fixed-length buffer with "--input custom":
-// on each YYPEEK we check for the end of input, thus YYFILL generation
-// can be safely suppressed.
-//
-// Note that YYLIMIT points not to terminating NULL, but to the previous
-// character: we emulate the case when input has no terminating NULL.
-//
-// For a real-life example see https://github.com/sopyer/mjson
-// or mjson.re from re2c test collection.
-
-bool lex (const char * cursor, const char * const limit)
-{
- const char * marker;
- const char * ctxmarker;
-# define YYCTYPE char
-# define YYPEEK() (cursor >= limit ? 0 : *cursor)
-# define YYSKIP() ++cursor
-# define YYBACKUP() marker = cursor
-# define YYBACKUPCTX() ctxmarker = cursor
-# define YYRESTORE() cursor = marker
-# define YYRESTORECTX() cursor = ctxmarker
- /*!re2c
- re2c:yyfill:enable = 0;
- "int buffer " / "[" [0-9]+ "]" { return true; }
- * { return false; }
- */
-}
-
-int main ()
-{
- char buffer [] = "int buffer [1024]";
- return !lex (buffer, buffer + sizeof (buffer) - 1);
-}
diff --git a/examples/input_custom/simple/README b/examples/input_custom/simple/README
deleted file mode 100644
index c0c4d955..00000000
--- a/examples/input_custom/simple/README
+++ /dev/null
@@ -1,20 +0,0 @@
-Build with "--input custom" re2c switch.
-
-These are three examples of "--input custom" usage:
-
-- input_custom_default.re:
- implements default re2c input model (pointers to plain buffer)
-
-- input_custom_fgetc:
- implements C-style file input (using <stdio.h>)
-
-- input_custom_fgetc:
- implements std::istringstream input
-
-Note that these examples are very simple and don't need
-to implement YYFILL; the only reason they don't use
-"re2c:yyfill:enable = 0;" is to keep YYLESSTHAN and YYLIMIT
-(for the sake of example).
-
-In real-life programs one will need to care for correct
-end-of-input handling.
diff --git a/examples/input_custom/simple/default.re b/examples/input_custom/simple/default.re
deleted file mode 100644
index 94cde7cd..00000000
--- a/examples/input_custom/simple/default.re
+++ /dev/null
@@ -1,24 +0,0 @@
-bool lex (const char * cursor, const char * const limit)
-{
- const char * marker;
- const char * ctxmarker;
-# define YYCTYPE char
-# define YYPEEK() *cursor
-# define YYSKIP() ++cursor
-# define YYBACKUP() marker = cursor
-# define YYBACKUPCTX() ctxmarker = cursor
-# define YYRESTORE() cursor = marker
-# define YYRESTORECTX() cursor = ctxmarker
-# define YYLESSTHAN(n) limit - cursor < n
-# define YYFILL(n) {}
- /*!re2c
- "int buffer " / "[" [0-9]+ "]" { return true; }
- * { return false; }
- */
-}
-
-int main ()
-{
- char buffer [] = "int buffer [1024]";
- return !lex (buffer, buffer + sizeof (buffer));
-}
diff --git a/examples/input_custom/simple/fgetc.re b/examples/input_custom/simple/fgetc.re
deleted file mode 100644
index d2dffd9a..00000000
--- a/examples/input_custom/simple/fgetc.re
+++ /dev/null
@@ -1,43 +0,0 @@
-#include <stdio.h>
-
-char peek (FILE * f)
-{
- char c = fgetc (f);
- ungetc (c, f);
- return c;
-}
-
-bool lex (FILE * f, const long limit)
-{
- long marker;
- long ctxmarker;
-# define YYCTYPE char
-# define YYPEEK() peek (f)
-# define YYSKIP() fgetc (f)
-# define YYBACKUP() marker = ftell (f)
-# define YYBACKUPCTX() ctxmarker = ftell (f)
-# define YYRESTORE() fseek (f, marker, SEEK_SET)
-# define YYRESTORECTX() fseek (f, ctxmarker, SEEK_SET)
-# define YYLESSTHAN(n) limit - ftell (f) < n
-# define YYFILL(n) {}
- /*!re2c
- "int buffer " / "[" [0-9]+ "]" { return true; }
- * { return false; }
- */
-}
-
-int main ()
-{
- const char buffer [] = "int buffer [1024]";
- const char fn [] = "input.txt";
-
- FILE * f = fopen (fn, "w");
- fwrite (buffer, 1, sizeof (buffer), f);
- fclose (f);
-
- f = fopen (fn, "rb");
- int result = !lex (f, sizeof (buffer));
- fclose (f);
-
- return result;
-}
diff --git a/examples/input_custom/simple/istringstream.re b/examples/input_custom/simple/istringstream.re
deleted file mode 100644
index 5d702291..00000000
--- a/examples/input_custom/simple/istringstream.re
+++ /dev/null
@@ -1,27 +0,0 @@
-#include <sstream>
-
-bool lex (std::istringstream & is, const std::streampos limit)
-{
- std::streampos marker;
- std::streampos ctxmarker;
-# define YYCTYPE char
-# define YYPEEK() is.peek ()
-# define YYSKIP() is.ignore ()
-# define YYBACKUP() marker = is.tellg ()
-# define YYBACKUPCTX() ctxmarker = is.tellg ()
-# define YYRESTORE() is.seekg (marker)
-# define YYRESTORECTX() is.seekg (ctxmarker)
-# define YYLESSTHAN(n) limit - is.tellg () < n
-# define YYFILL(n) {}
- /*!re2c
- "int buffer " / "[" [0-9]+ "]" { return true; }
- * { return false; }
- */
-}
-
-int main ()
-{
- const char buffer [] = "int buffer [1024]";
- std::istringstream is (buffer);
- return !lex (is, sizeof (buffer));
-}
diff --git a/examples/langs/c.re b/examples/langs/c.re
deleted file mode 100644
index 7e413e2d..00000000
--- a/examples/langs/c.re
+++ /dev/null
@@ -1,272 +0,0 @@
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
-#define ADDEQ 257
-#define ANDAND 258
-#define ANDEQ 259
-#define ARRAY 260
-#define ASM 261
-#define AUTO 262
-#define BREAK 263
-#define CASE 264
-#define CHAR 265
-#define CONST 266
-#define CONTINUE 267
-#define DECR 268
-#define DEFAULT 269
-#define DEREF 270
-#define DIVEQ 271
-#define DO 272
-#define DOUBLE 273
-#define ELLIPSIS 274
-#define ELSE 275
-#define ENUM 276
-#define EQL 277
-#define EXTERN 278
-#define FCON 279
-#define FLOAT 280
-#define FOR 281
-#define FUNCTION 282
-#define GEQ 283
-#define GOTO 284
-#define ICON 285
-#define ID 286
-#define IF 287
-#define INCR 288
-#define INT 289
-#define LEQ 290
-#define LONG 291
-#define LSHIFT 292
-#define LSHIFTEQ 293
-#define MODEQ 294
-#define MULEQ 295
-#define NEQ 296
-#define OREQ 297
-#define OROR 298
-#define POINTER 299
-#define REGISTER 300
-#define RETURN 301
-#define RSHIFT 302
-#define RSHIFTEQ 303
-#define SCON 304
-#define SHORT 305
-#define SIGNED 306
-#define SIZEOF 307
-#define STATIC 308
-#define STRUCT 309
-#define SUBEQ 310
-#define SWITCH 311
-#define TYPEDEF 312
-#define UNION 313
-#define UNSIGNED 314
-#define VOID 315
-#define VOLATILE 316
-#define WHILE 317
-#define XOREQ 318
-#define EOI 319
-
-typedef unsigned int uint;
-typedef unsigned char uchar;
-
-#define BSIZE 8192
-
-#define YYCTYPE uchar
-#define YYCURSOR cursor
-#define YYLIMIT s->lim
-#define YYMARKER s->ptr
-#define YYFILL(n) {cursor = fill(s, cursor);}
-
-#define RET(i) {s->cur = cursor; return i;}
-
-typedef struct Scanner {
- int fd;
- uchar *bot, *tok, *ptr, *cur, *pos, *lim, *top, *eof;
- uint line;
-} Scanner;
-
-uchar *fill(Scanner *s, uchar *cursor){
- if(!s->eof) {
- uint cnt = s->tok - s->bot;
- if(cnt){
- memcpy(s->bot, s->tok, s->lim - s->tok);
- s->tok = s->bot;
- s->ptr -= cnt;
- cursor -= cnt;
- s->pos -= cnt;
- s->lim -= cnt;
- }
- if((s->top - s->lim) < BSIZE){
- uchar *buf = (uchar*) malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar));
- memcpy(buf, s->tok, s->lim - s->tok);
- s->tok = buf;
- s->ptr = &buf[s->ptr - s->bot];
- cursor = &buf[cursor - s->bot];
- s->pos = &buf[s->pos - s->bot];
- s->lim = &buf[s->lim - s->bot];
- s->top = &s->lim[BSIZE];
- free(s->bot);
- s->bot = buf;
- }
- if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){
- s->eof = &s->lim[cnt]; *(s->eof)++ = '\n';
- }
- s->lim += cnt;
- }
- return cursor;
-}
-
-int scan(Scanner *s){
- uchar *cursor = s->cur;
-std:
- s->tok = cursor;
-/*!re2c
-any = [\000-\377];
-O = [0-7];
-D = [0-9];
-L = [a-zA-Z_];
-H = [a-fA-F0-9];
-E = [Ee] [+-]? D+;
-FS = [fFlL];
-IS = [uUlL]*;
-ESC = [\\] ([abfnrtv?'"\\] | "x" H+ | O+);
-*/
-
-/*!re2c
- "/*" { goto comment; }
-
- "auto" { RET(AUTO); }
- "break" { RET(BREAK); }
- "case" { RET(CASE); }
- "char" { RET(CHAR); }
- "const" { RET(CONST); }
- "continue" { RET(CONTINUE); }
- "default" { RET(DEFAULT); }
- "do" { RET(DO); }
- "double" { RET(DOUBLE); }
- "else" { RET(ELSE); }
- "enum" { RET(ENUM); }
- "extern" { RET(EXTERN); }
- "float" { RET(FLOAT); }
- "for" { RET(FOR); }
- "goto" { RET(GOTO); }
- "if" { RET(IF); }
- "int" { RET(INT); }
- "long" { RET(LONG); }
- "register" { RET(REGISTER); }
- "return" { RET(RETURN); }
- "short" { RET(SHORT); }
- "signed" { RET(SIGNED); }
- "sizeof" { RET(SIZEOF); }
- "static" { RET(STATIC); }
- "struct" { RET(STRUCT); }
- "switch" { RET(SWITCH); }
- "typedef" { RET(TYPEDEF); }
- "union" { RET(UNION); }
- "unsigned" { RET(UNSIGNED); }
- "void" { RET(VOID); }
- "volatile" { RET(VOLATILE); }
- "while" { RET(WHILE); }
-
- L (L|D)* { RET(ID); }
-
- ("0" [xX] H+ IS?) | ("0" D+ IS?) | (D+ IS?) |
- (['] (ESC|any\[\n\\'])* ['])
- { RET(ICON); }
-
- (D+ E FS?) | (D* "." D+ E? FS?) | (D+ "." D* E? FS?)
- { RET(FCON); }
-
- (["] (ESC|any\[\n\\"])* ["])
- { RET(SCON); }
-
- "..." { RET(ELLIPSIS); }
- ">>=" { RET(RSHIFTEQ); }
- "<<=" { RET(LSHIFTEQ); }
- "+=" { RET(ADDEQ); }
- "-=" { RET(SUBEQ); }
- "*=" { RET(MULEQ); }
- "/=" { RET(DIVEQ); }
- "%=" { RET(MODEQ); }
- "&=" { RET(ANDEQ); }
- "^=" { RET(XOREQ); }
- "|=" { RET(OREQ); }
- ">>" { RET(RSHIFT); }
- "<<" { RET(LSHIFT); }
- "++" { RET(INCR); }
- "--" { RET(DECR); }
- "->" { RET(DEREF); }
- "&&" { RET(ANDAND); }
- "||" { RET(OROR); }
- "<=" { RET(LEQ); }
- ">=" { RET(GEQ); }
- "==" { RET(EQL); }
- "!=" { RET(NEQ); }
- ";" { RET(';'); }
- "{" { RET('{'); }
- "}" { RET('}'); }
- "," { RET(','); }
- ":" { RET(':'); }
- "=" { RET('='); }
- "(" { RET('('); }
- ")" { RET(')'); }
- "[" { RET('['); }
- "]" { RET(']'); }
- "." { RET('.'); }
- "&" { RET('&'); }
- "!" { RET('!'); }
- "~" { RET('~'); }
- "-" { RET('-'); }
- "+" { RET('+'); }
- "*" { RET('*'); }
- "/" { RET('/'); }
- "%" { RET('%'); }
- "<" { RET('<'); }
- ">" { RET('>'); }
- "^" { RET('^'); }
- "|" { RET('|'); }
- "?" { RET('?'); }
-
-
- [ \t\v\f]+ { goto std; }
-
- "\n"
- {
- if(cursor == s->eof) RET(EOI);
- s->pos = cursor; s->line++;
- goto std;
- }
-
- any
- {
- printf("unexpected character: %c\n", *s->tok);
- goto std;
- }
-*/
-
-comment:
-/*!re2c
- "*/" { goto std; }
- "\n"
- {
- if(cursor == s->eof) RET(EOI);
- s->tok = s->pos = cursor; s->line++;
- goto comment;
- }
- any { goto comment; }
-*/
-}
-
-main(){
- Scanner in;
- int t;
- memset((char*) &in, 0, sizeof(in));
- in.fd = 0;
- while((t = scan(&in)) != EOI){
-/*
- printf("%d\t%.*s\n", t, in.cur - in.tok, in.tok);
- printf("%d\n", t);
-*/
- }
- close(in.fd);
-}
diff --git a/examples/langs/modula.re b/examples/langs/modula.re
deleted file mode 100644
index 186b0cc1..00000000
--- a/examples/langs/modula.re
+++ /dev/null
@@ -1,203 +0,0 @@
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
-typedef unsigned int uint;
-typedef unsigned char uchar;
-
-#define BSIZE 8192
-
-#define YYCTYPE uchar
-#define YYCURSOR cursor
-#define YYLIMIT s->lim
-#define YYMARKER s->ptr
-#define YYCTXMARKER s->ctx
-#define YYFILL {cursor = fill(s, cursor);}
-
-#define RETURN(i) {s->cur = cursor; return i;}
-
-typedef struct Scanner {
- int fd;
- uchar *bot, *tok, *ptr, *ctx, *cur, *pos, *lim, *top, *eof;
- uint line;
-} Scanner;
-
-uchar *fill(Scanner *s, uchar *cursor){
- if(!s->eof){
- uint cnt = s->tok - s->bot;
- if(cnt){
- memcpy(s->bot, s->tok, s->lim - s->tok);
- s->tok = s->bot;
- s->ptr -= cnt;
- cursor -= cnt;
- s->pos -= cnt;
- s->lim -= cnt;
- }
- if((s->top - s->lim) < BSIZE){
- uchar *buf = (uchar*) malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar));
- memcpy(buf, s->tok, s->lim - s->tok);
- s->tok = buf;
- s->ptr = &buf[s->ptr - s->bot];
- cursor = &buf[cursor - s->bot];
- s->pos = &buf[s->pos - s->bot];
- s->lim = &buf[s->lim - s->bot];
- s->top = &s->lim[BSIZE];
- free(s->bot);
- s->bot = buf;
- }
- if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){
- s->eof = &s->lim[cnt]; *(s->eof)++ = '\n';
- }
- s->lim += cnt;
- }
- return cursor;
-}
-
-int scan(Scanner *s){
- uchar *cursor = s->cur;
- uint depth;
-std:
- s->tok = cursor;
-/*!re2c
-any = [\000-\377];
-digit = [0-9];
-letter = [a-zA-Z];
-*/
-
-/*!re2c
- "(*" { depth = 1; goto comment; }
-
- digit + {RETURN(1);}
- digit + / ".." {RETURN(1);}
- [0-7] + "B" {RETURN(2);}
- [0-7] + "C" {RETURN(3);}
- digit [0-9A-F] * "H" {RETURN(4);}
- digit + "." digit * ("E" ([+-]) ? digit +) ? {RETURN(5);}
- ['] (any\[\n']) * ['] | ["] (any\[\n"]) * ["] {RETURN(6);}
-
- "#" {RETURN(7);}
- "&" {RETURN(8);}
- "(" {RETURN(9);}
- ")" {RETURN(10);}
- "*" {RETURN(11);}
- "+" {RETURN(12);}
- "," {RETURN(13);}
- "-" {RETURN(14);}
- "." {RETURN(15);}
- ".." {RETURN(16);}
- "/" {RETURN(17);}
- ":" {RETURN(18);}
- ":=" {RETURN(19);}
- ";" {RETURN(20);}
- "<" {RETURN(21);}
- "<=" {RETURN(22);}
- "<>" {RETURN(23);}
- "=" {RETURN(24);}
- ">" {RETURN(25);}
- ">=" {RETURN(26);}
- "[" {RETURN(27);}
- "]" {RETURN(28);}
- "^" {RETURN(29);}
- "{" {RETURN(30);}
- "|" {RETURN(31);}
- "}" {RETURN(32);}
- "~" {RETURN(33);}
-
- "AND" {RETURN(34);}
- "ARRAY" {RETURN(35);}
- "BEGIN" {RETURN(36);}
- "BY" {RETURN(37);}
- "CASE" {RETURN(38);}
- "CONST" {RETURN(39);}
- "DEFINITION" {RETURN(40);}
- "DIV" {RETURN(41);}
- "DO" {RETURN(42);}
- "ELSE" {RETURN(43);}
- "ELSIF" {RETURN(44);}
- "END" {RETURN(45);}
- "EXIT" {RETURN(46);}
- "EXPORT" {RETURN(47);}
- "FOR" {RETURN(48);}
- "FROM" {RETURN(49);}
- "IF" {RETURN(50);}
- "IMPLEMENTATION" {RETURN(51);}
- "IMPORT" {RETURN(52);}
- "IN" {RETURN(53);}
- "LOOP" {RETURN(54);}
- "MOD" {RETURN(55);}
- "MODULE" {RETURN(56);}
- "NOT" {RETURN(57);}
- "OF" {RETURN(58);}
- "OR" {RETURN(59);}
- "POINTER" {RETURN(60);}
- "PROCEDURE" {RETURN(61);}
- "QUALIFIED" {RETURN(62);}
- "RECORD" {RETURN(63);}
- "REPEAT" {RETURN(64);}
- "RETURN" {RETURN(65);}
- "SET" {RETURN(66);}
- "THEN" {RETURN(67);}
- "TO" {RETURN(68);}
- "TYPE" {RETURN(69);}
- "UNTIL" {RETURN(70);}
- "VAR" {RETURN(71);}
- "WHILE" {RETURN(72);}
- "WITH" {RETURN(73);}
-
- letter (letter | digit) * {RETURN(74);}
-
- [ \t]+ { goto std; }
-
- "\n"
- {
- if(cursor == s->eof) RETURN(0);
- s->pos = cursor; s->line++;
- goto std;
- }
-
- any
- {
- printf("unexpected character: %c\n", *s->tok);
- goto std;
- }
-*/
-comment:
-/*!re2c
- "*)"
- {
- if(--depth == 0)
- goto std;
- else
- goto comment;
- }
- "(*" { ++depth; goto comment; }
- "\n"
- {
- if(cursor == s->eof) RETURN(0);
- s->tok = s->pos = cursor; s->line++;
- goto comment;
- }
- any { goto comment; }
-*/
-}
-
-/*
-void putStr(FILE *o, char *s, uint l){
- while(l-- > 0)
- putc(*s++, o);
-}
-*/
-
-main(){
- Scanner in;
- memset((char*) &in, 0, sizeof(in));
- in.fd = 0;
- while(scan(&in)){
-/*
- putc('<', stdout);
- putStr(stdout, (char*) in.tok, in.cur - in.tok);
- putc('>', stdout);
- putc('\n', stdout);
-*/
- }
-}
diff --git a/examples/langs/rexx.re b/examples/langs/rexx.re
deleted file mode 100644
index b74741da..00000000
--- a/examples/langs/rexx.re
+++ /dev/null
@@ -1,319 +0,0 @@
-#include "scanio.h"
-#include "scanner.h"
-
-#define CURSOR ch
-#define LOADCURSOR ch = *cursor;
-#define ADVANCE cursor++;
-#define BACK(n) cursor -= (n);
-#define CHECK(n) if((ScanCB.lim - cursor) < (n)){cursor = ScanFill(cursor);}
-#define MARK(n) ScanCB.ptr = cursor; sel = (n);
-#define REVERT cursor = ScanCB.ptr;
-#define MARKER sel
-
-#define RETURN(i) {ScanCB.cur = cursor; return i;}
-
-int ScanToken(){
- uchar *cursor = ScanCB.cur;
- unsigned sel;
- uchar ch;
- ScanCB.tok = cursor;
- ScanCB.eot = NULL;
-/*!re2c
-all = [\000-\377];
-eof = [\000];
-any = all\eof;
-letter = [a-z]|[A-Z];
-digit = [0-9];
-symchr = letter|digit|[.!?_];
-const = (digit|[.])symchr*([eE][+-]?digit+)?;
-simple = (symchr\(digit|[.]))(symchr\[.])*;
-stem = simple [.];
-symbol = symchr*;
-sqstr = ['] ((any\['\n])|(['][']))* ['];
-dqstr = ["] ((any\["\n])|(["]["]))* ["];
-str = sqstr|dqstr;
-ob = [ \t]*;
-not = [\\~];
-A = [aA];
-B = [bB];
-C = [cC];
-D = [dD];
-E = [eE];
-F = [fF];
-G = [gG];
-H = [hH];
-I = [iI];
-J = [jJ];
-K = [kK];
-L = [lL];
-M = [mM];
-N = [nN];
-O = [oO];
-P = [pP];
-Q = [qQ];
-R = [rR];
-S = [sS];
-T = [tT];
-U = [uU];
-V = [vV];
-W = [wW];
-X = [xX];
-Y = [yY];
-Z = [zZ];
-*/
-
-scan:
-/*!re2c
-"\n"
- {
- ++(ScanCB.lineNum);
- ScanCB.linePos = ScanCB.pos + (cursor - ScanCB.mrk);
- RETURN(SU_EOL);
- }
-"|" ob "|"
- { RETURN(OP_CONCAT); }
-"+"
- { RETURN(OP_PLUS); }
-"-"
- { RETURN(OP_MINUS); }
-"*"
- { RETURN(OP_MULT); }
-"/"
- { RETURN(OP_DIV); }
-"%"
- { RETURN(OP_IDIV); }
-"/" ob "/"
- { RETURN(OP_REMAIN); }
-"*" ob "*"
- { RETURN(OP_POWER); }
-"="
- { RETURN(OP_EQUAL); }
-not ob "=" | "<" ob ">" | ">" ob "<"
- { RETURN(OP_EQUAL_N); }
-">"
- { RETURN(OP_GT); }
-"<"
- { RETURN(OP_LT); }
-">" ob "=" | not ob "<"
- { RETURN(OP_GE); }
-"<" ob "=" | not ob ">"
- { RETURN(OP_LE); }
-"=" ob "="
- { RETURN(OP_EQUAL_EQ); }
-not ob "=" ob "="
- { RETURN(OP_EQUAL_EQ_N); }
-">" ob ">"
- { RETURN(OP_GT_STRICT); }
-"<" ob "<"
- { RETURN(OP_LT_STRICT); }
-">" ob ">" ob "=" | not ob "<" ob "<"
- { RETURN(OP_GE_STRICT); }
-"<" ob "<" ob "=" | not ob ">" ob ">"
- { RETURN(OP_LE_STRICT); }
-"&"
- { RETURN(OP_AND); }
-"|"
- { RETURN(OP_OR); }
-"&" ob "&"
- { RETURN(OP_XOR); }
-not
- { RETURN(OP_NOT); }
-
-":"
- { RETURN(SU_COLON); }
-","
- { RETURN(SU_COMMA); }
-"("
- { RETURN(SU_POPEN); }
-")"
- { RETURN(SU_PCLOSE); }
-";"
- { RETURN(SU_EOC); }
-
-A D D R E S S
- { RETURN(RX_ADDRESS); }
-A R G
- { RETURN(RX_ARG); }
-C A L L
- { RETURN(RX_CALL); }
-D O
- { RETURN(RX_DO); }
-D R O P
- { RETURN(RX_DROP); }
-E L S E
- { RETURN(RX_ELSE); }
-E N D
- { RETURN(RX_END); }
-E X I T
- { RETURN(RX_EXIT); }
-I F
- { RETURN(RX_IF); }
-I N T E R P R E T
- { RETURN(RX_INTERPRET); }
-I T E R A T E
- { RETURN(RX_ITERATE); }
-L E A V E
- { RETURN(RX_LEAVE); }
-N O P
- { RETURN(RX_NOP); }
-N U M E R I C
- { RETURN(RX_NUMERIC); }
-O P T I O N S
- { RETURN(RX_OPTIONS); }
-O T H E R W I S E
- { RETURN(RX_OTHERWISE); }
-P A R S E
- { RETURN(RX_PARSE); }
-P R O C E D U R E
- { RETURN(RX_PROCEDURE); }
-P U L L
- { RETURN(RX_PULL); }
-P U S H
- { RETURN(RX_PUSH); }
-Q U E U E
- { RETURN(RX_QUEUE); }
-R E T U R N
- { RETURN(RX_RETURN); }
-S A Y
- { RETURN(RX_SAY); }
-S E L E C T
- { RETURN(RX_SELECT); }
-S I G N A L
- { RETURN(RX_SIGNAL); }
-T H E N
- { RETURN(RX_THEN); }
-T R A C E
- { RETURN(RX_TRACE); }
-W H E N
- { RETURN(RX_WHEN); }
-O F F
- { RETURN(RXS_OFF); }
-O N
- { RETURN(RXS_ON); }
-B Y
- { RETURN(RXS_BY); }
-D I G I T S
- { RETURN(RXS_DIGITS); }
-E N G I N E E R I N G
- { RETURN(RXS_ENGINEERING); }
-E R R O R
- { RETURN(RXS_ERROR); }
-E X P O S E
- { RETURN(RXS_EXPOSE); }
-F A I L U R E
- { RETURN(RXS_FAILURE); }
-F O R
- { RETURN(RXS_FOR); }
-F O R E V E R
- { RETURN(RXS_FOREVER); }
-F O R M
- { RETURN(RXS_FORM); }
-F U Z Z
- { RETURN(RXS_FUZZ); }
-H A L T
- { RETURN(RXS_HALT); }
-L I N E I N
- { RETURN(RXS_LINEIN); }
-N A M E
- { RETURN(RXS_NAME); }
-N O T R E A D Y
- { RETURN(RXS_NOTREADY); }
-N O V A L U E
- { RETURN(RXS_NOVALUE); }
-S C I E N T I F I C
- { RETURN(RXS_SCIENTIFIC); }
-S O U R C E
- { RETURN(RXS_SOURCE); }
-S Y N T A X
- { RETURN(RXS_SYNTAX); }
-T O
- { RETURN(RXS_TO); }
-U N T I L
- { RETURN(RXS_UNTIL); }
-U P P E R
- { RETURN(RXS_UPPER); }
-V A L U E
- { RETURN(RXS_VALUE); }
-V A R
- { RETURN(RXS_VAR); }
-V E R S I O N
- { RETURN(RXS_VERSION); }
-W H I L E
- { RETURN(RXS_WHILE); }
-W I T H
- { RETURN(RXS_WITH); }
-
-const
- { RETURN(SU_CONST); }
-simple
- { RETURN(SU_SYMBOL); }
-stem
- { RETURN(SU_SYMBOL_STEM); }
-symbol
- { RETURN(SU_SYMBOL_COMPOUND); }
-str
- { RETURN(SU_LITERAL); }
-str [bB] / (all\symchr)
- { RETURN(SU_LITERAL_BIN); }
-str [xX] / (all\symchr)
- { RETURN(SU_LITERAL_HEX); }
-
-eof
- { RETURN(SU_EOF); }
-any
- { RETURN(SU_ERROR); }
-*/
-}
-
-bool StripToken(){
- uchar *cursor = ScanCB.cur;
- unsigned depth;
- uchar ch;
- bool blanks = FALSE;
- ScanCB.eot = cursor;
-strip:
-/*!re2c
-"/*"
- {
- depth = 1;
- goto comment;
- }
-"\r"
- { goto strip; }
-[ \t]
- {
- blanks = TRUE;
- goto strip;
- }
-[] / all
- { RETURN(blanks); }
-*/
-
-comment:
-/*!re2c
-"*/"
- {
- if(--depth == 0)
- goto strip;
- else
- goto comment;
- }
-"\n"
- {
- ++(ScanCB.lineNum);
- ScanCB.linePos = ScanCB.pos + (cursor - ScanCB.mrk);
- goto comment;
- }
-"/*"
- {
- ++depth;
- goto comment;
- }
-eof
- { RETURN(blanks); }
-any
- {
- goto comment;
- }
-*/
-}
diff --git a/examples/push_model/push.re b/examples/push_model/push.re
deleted file mode 100644
index 5ad6e7ac..00000000
--- a/examples/push_model/push.re
+++ /dev/null
@@ -1,340 +0,0 @@
-/*
- * A push-model scanner example for re2c -f
- * Written Mon Apr 11 2005 by mgix@mgix.com
- * This file is in the public domain.
- *
- */
-
-// ----------------------------------------------------------------------
-
-#include <fcntl.h>
-#include <stdio.h>
-#include <stddef.h>
-#include <stdlib.h>
-#include <string.h>
-
-#if defined(WIN32)
-
- typedef signed char int8_t;
- typedef signed short int16_t;
- typedef signed int int32_t;
-
- typedef unsigned char uint8_t;
- typedef unsigned short uint16_t;
- typedef unsigned int uint32_t;
-
-#else
-
- #include <stdint.h>
- #include <unistd.h>
-
- #ifndef O_BINARY
- #define O_BINARY 0
- #endif
-
-#endif
-
-// ----------------------------------------------------------------------
-#define TOKENS \
- \
- TOK(kEOF) \
- TOK(kEOL) \
- TOK(kUnknown) \
- TOK(kIdentifier) \
- TOK(kDecimalConstant) \
- \
- TOK(kEqual) \
- TOK(kLeftParen) \
- TOK(kRightParen) \
- TOK(kMinus) \
- TOK(kPlus) \
- TOK(kStar) \
- TOK(kSlash) \
- \
- TOK(kIf) \
- TOK(kFor) \
- TOK(kElse) \
- TOK(kGoto) \
- TOK(kBreak) \
- TOK(kWhile) \
- TOK(kReturn) \
-
-
-// ----------------------------------------------------------------------
-static const char *tokenNames[] =
-{
- #define TOK(x) #x,
- TOKENS
- #undef TOK
-};
-
-// ----------------------------------------------------------------------
-class PushScanner
-{
-public:
-
- enum Token
- {
- #define TOK(x) x,
- TOKENS
- #undef TOK
- };
-
-private:
-
- bool eof;
- int32_t state;
-
- uint8_t *limit;
- uint8_t *start;
- uint8_t *cursor;
- uint8_t *marker;
-
- uint8_t *buffer;
- uint8_t *bufferEnd;
-
- uint8_t yych;
- uint32_t yyaccept;
-
-public:
-
- // ----------------------------------------------------------------------
- PushScanner()
- {
- limit = 0;
- start = 0;
- state = -1;
- cursor = 0;
- marker = 0;
- buffer = 0;
- eof = false;
- bufferEnd = 0;
- }
-
- // ----------------------------------------------------------------------
- ~PushScanner()
- {
- }
-
- // ----------------------------------------------------------------------
- void send(
- Token token
- )
- {
- size_t tokenSize = cursor-start;
- const char *tokenName = tokenNames[token];
- printf(
- "scanner is pushing out a token of type %d (%s)",
- token,
- tokenName
- );
-
- if(token==kEOF) putchar('\n');
- else
- {
- size_t tokenNameSize = strlen(tokenNames[token]);
- size_t padSize = 20-(20<tokenNameSize ? 20 : tokenNameSize);
- for(size_t i=0; i<padSize; ++i) putchar(' ');
- printf(" : ---->");
-
- fwrite(
- start,
- tokenSize,
- 1,
- stdout
- );
-
- printf("<----\n");
- }
- }
-
- // ----------------------------------------------------------------------
- uint32_t push(
- const void *input,
- ssize_t inputSize
- )
- {
- printf(
- "scanner is receiving a new data batch of length %d\n"
- "scanner continues with saved state = %d\n",
- inputSize,
- state
- );
-
- /*
- * Data source is signaling end of file when batch size
- * is less than maxFill. This is slightly annoying because
- * maxFill is a value that can only be known after re2c does
- * its thing. Practically though, maxFill is never bigger than
- * the longest keyword, so given our grammar, 32 is a safe bet.
- */
- uint8_t null[64];
- const ssize_t maxFill = 32;
- if(inputSize<maxFill)
- {
- eof = true;
- input = null;
- inputSize = sizeof(null);
- memset(null, 0, sizeof(null));
- }
-
- /*
- * When we get here, we have a partially
- * consumed buffer which is in the following state:
- * last valid char last valid buffer spot
- * v v
- * +-------------------+-------------+---------------+-------------+----------------------+
- * ^ ^ ^ ^ ^ ^
- * buffer start marker cursor limit bufferEnd
- *
- * We need to stretch the buffer and concatenate the new chunk of input to it
- *
- */
- size_t used = limit-buffer;
- size_t needed = used+inputSize;
- size_t allocated = bufferEnd-buffer;
- if(allocated<needed)
- {
- size_t limitOffset = limit-buffer;
- size_t startOffset = start-buffer;
- size_t markerOffset = marker-buffer;
- size_t cursorOffset = cursor-buffer;
-
- buffer = (uint8_t*)realloc(buffer, needed);
- bufferEnd = needed+buffer;
-
- marker = markerOffset + buffer;
- cursor = cursorOffset + buffer;
- start = buffer + startOffset;
- limit = limitOffset + buffer;
- }
- memcpy(limit, input, inputSize);
- limit += inputSize;
-
- // The scanner starts here
- #define YYLIMIT limit
- #define YYCURSOR cursor
- #define YYMARKER marker
- #define YYCTYPE uint8_t
-
- #define SKIP(x) { start = cursor; goto yy0; }
- #define SEND(x) { send(x); SKIP(); }
- #define YYFILL(n) { goto fill; }
-
- #define YYGETSTATE() state
- #define YYSETSTATE(x) { state = (x); }
-
- start:
-
- /*!re2c
- re2c:startlabel = 1;
- eol = "\n";
- eof = "\000";
- digit = [0-9];
- integer = digit+;
- alpha = [A-Za-z_];
- any = [\000-\377];
- space = [ \h\t\v\f\r];
-
- "if" { SEND(kIf); }
- "for" { SEND(kFor); }
- "else" { SEND(kElse); }
- "goto" { SEND(kGoto); }
- "break" { SEND(kBreak); }
- "while" { SEND(kWhile); }
- "return" { SEND(kReturn); }
- alpha (alpha|digit)* { SEND(kIdentifier); }
- integer { SEND(kDecimalConstant);}
-
- "=" { SEND(kEqual); }
- "(" { SEND(kLeftParen); }
- ")" { SEND(kRightParen); }
- "-" { SEND(kMinus); }
- "+" { SEND(kPlus); }
- "*" { SEND(kStar); }
- "/" { SEND(kSlash); }
-
- eol { SKIP(); }
- space { SKIP(); }
- eof { send(kEOF); return 1; }
- any { SEND(kUnknown); }
- */
-
- fill:
- ssize_t unfinishedSize = cursor-start;
- printf(
- "scanner needs a refill. Exiting for now with:\n"
- " saved fill state = %d\n"
- " unfinished token size = %d\n",
- state,
- unfinishedSize
- );
-
- if(0<unfinishedSize && start<limit)
- {
- printf(" unfinished token is :");
- fwrite(start, 1, cursor-start, stdout);
- putchar('\n');
- }
- putchar('\n');
-
- /*
- * Once we get here, we can get rid of
- * everything before start and after limit.
- */
- if(eof==true) goto start;
- if(buffer<start)
- {
- size_t startOffset = start-buffer;
- memmove(buffer, start, limit-start);
- marker -= startOffset;
- cursor -= startOffset;
- limit -= startOffset;
- start -= startOffset;
- }
- return 0;
- }
-};
-
-// ----------------------------------------------------------------------
-int main(
- int argc,
- char **argv
-)
-{
- // Parse cmd line
- int input = 0;
- if(1<argc)
- {
- input = open(argv[1], O_RDONLY | O_BINARY);
- if(input<0)
- {
- fprintf(
- stderr,
- "could not open file %s\n",
- argv[1]
- );
- exit(1);
- }
- }
-
- /*
- * Tokenize input file by pushing batches
- * of data one by one into the scanner.
- */
- const size_t batchSize = 256;
- uint8_t buffer[batchSize];
- PushScanner scanner;
- while(1)
- {
- ssize_t n = read(input, buffer, batchSize);
- scanner.push(buffer, n);
- if(n<batchSize) break;
- }
- scanner.push(0, -1);
- close(input);
-
- // Done
- return 0;
-}
-
diff --git a/genhelp.sh b/genhelp.sh
new file mode 100755
index 00000000..d6680137
--- /dev/null
+++ b/genhelp.sh
@@ -0,0 +1,13 @@
+
+> "$2"
+echo "extern const char *help;" >> "$2"
+echo "const char *help =" >> "$2"
+PAGER=cat man "$1" \
+ | tail -n +7 \
+ | head -n -3 \
+ | sed -E -e 's/\x1b\x5b[0-9]+m//g' \
+ | sed 's/\\x/\\\\x/g' \
+ | sed -E 's/"/\\"/g' \
+ | sed -E 's/(.*)/"\1\\n"/' \
+ >> "$2"
+echo ";" >> "$2"
diff --git a/install-sh b/install-sh
new file mode 100755
index 00000000..0360b79e
--- /dev/null
+++ b/install-sh
@@ -0,0 +1,501 @@
+#!/bin/sh
+# install - install a program, script, or datafile
+
+scriptversion=2016-01-11.22; # UTC
+
+# This originates from X11R5 (mit/util/scripts/install.sh), which was
+# later released in X11R6 (xc/config/util/install.sh) with the
+# following copyright and license.
+#
+# Copyright (C) 1994 X Consortium
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to
+# deal in the Software without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the X Consortium shall not
+# be used in advertising or otherwise to promote the sale, use or other deal-
+# ings in this Software without prior written authorization from the X Consor-
+# tium.
+#
+#
+# FSF changes to this file are in the public domain.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# 'make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch.
+
+tab=' '
+nl='
+'
+IFS=" $tab$nl"
+
+# Set DOITPROG to "echo" to test this script.
+
+doit=${DOITPROG-}
+doit_exec=${doit:-exec}
+
+# Put in absolute file names if you don't have them in your path;
+# or use environment vars.
+
+chgrpprog=${CHGRPPROG-chgrp}
+chmodprog=${CHMODPROG-chmod}
+chownprog=${CHOWNPROG-chown}
+cmpprog=${CMPPROG-cmp}
+cpprog=${CPPROG-cp}
+mkdirprog=${MKDIRPROG-mkdir}
+mvprog=${MVPROG-mv}
+rmprog=${RMPROG-rm}
+stripprog=${STRIPPROG-strip}
+
+posix_mkdir=
+
+# Desired mode of installed file.
+mode=0755
+
+chgrpcmd=
+chmodcmd=$chmodprog
+chowncmd=
+mvcmd=$mvprog
+rmcmd="$rmprog -f"
+stripcmd=
+
+src=
+dst=
+dir_arg=
+dst_arg=
+
+copy_on_change=false
+is_target_a_directory=possibly
+
+usage="\
+Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+ or: $0 [OPTION]... SRCFILES... DIRECTORY
+ or: $0 [OPTION]... -t DIRECTORY SRCFILES...
+ or: $0 [OPTION]... -d DIRECTORIES...
+
+In the 1st form, copy SRCFILE to DSTFILE.
+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
+In the 4th, create DIRECTORIES.
+
+Options:
+ --help display this help and exit.
+ --version display version info and exit.
+
+ -c (ignored)
+ -C install only if different (preserve the last data modification time)
+ -d create directories instead of installing files.
+ -g GROUP $chgrpprog installed files to GROUP.
+ -m MODE $chmodprog installed files to MODE.
+ -o USER $chownprog installed files to USER.
+ -s $stripprog installed files.
+ -t DIRECTORY install into DIRECTORY.
+ -T report an error if DSTFILE is a directory.
+
+Environment variables override the default commands:
+ CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
+ RMPROG STRIPPROG
+"
+
+while test $# -ne 0; do
+ case $1 in
+ -c) ;;
+
+ -C) copy_on_change=true;;
+
+ -d) dir_arg=true;;
+
+ -g) chgrpcmd="$chgrpprog $2"
+ shift;;
+
+ --help) echo "$usage"; exit $?;;
+
+ -m) mode=$2
+ case $mode in
+ *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
+ echo "$0: invalid mode: $mode" >&2
+ exit 1;;
+ esac
+ shift;;
+
+ -o) chowncmd="$chownprog $2"
+ shift;;
+
+ -s) stripcmd=$stripprog;;
+
+ -t)
+ is_target_a_directory=always
+ dst_arg=$2
+ # Protect names problematic for 'test' and other utilities.
+ case $dst_arg in
+ -* | [=\(\)!]) dst_arg=./$dst_arg;;
+ esac
+ shift;;
+
+ -T) is_target_a_directory=never;;
+
+ --version) echo "$0 $scriptversion"; exit $?;;
+
+ --) shift
+ break;;
+
+ -*) echo "$0: invalid option: $1" >&2
+ exit 1;;
+
+ *) break;;
+ esac
+ shift
+done
+
+# We allow the use of options -d and -T together, by making -d
+# take the precedence; this is for compatibility with GNU install.
+
+if test -n "$dir_arg"; then
+ if test -n "$dst_arg"; then
+ echo "$0: target directory not allowed when installing a directory." >&2
+ exit 1
+ fi
+fi
+
+if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
+ # When -d is used, all remaining arguments are directories to create.
+ # When -t is used, the destination is already specified.
+ # Otherwise, the last argument is the destination. Remove it from $@.
+ for arg
+ do
+ if test -n "$dst_arg"; then
+ # $@ is not empty: it contains at least $arg.
+ set fnord "$@" "$dst_arg"
+ shift # fnord
+ fi
+ shift # arg
+ dst_arg=$arg
+ # Protect names problematic for 'test' and other utilities.
+ case $dst_arg in
+ -* | [=\(\)!]) dst_arg=./$dst_arg;;
+ esac
+ done
+fi
+
+if test $# -eq 0; then
+ if test -z "$dir_arg"; then
+ echo "$0: no input file specified." >&2
+ exit 1
+ fi
+ # It's OK to call 'install-sh -d' without argument.
+ # This can happen when creating conditional directories.
+ exit 0
+fi
+
+if test -z "$dir_arg"; then
+ if test $# -gt 1 || test "$is_target_a_directory" = always; then
+ if test ! -d "$dst_arg"; then
+ echo "$0: $dst_arg: Is not a directory." >&2
+ exit 1
+ fi
+ fi
+fi
+
+if test -z "$dir_arg"; then
+ do_exit='(exit $ret); exit $ret'
+ trap "ret=129; $do_exit" 1
+ trap "ret=130; $do_exit" 2
+ trap "ret=141; $do_exit" 13
+ trap "ret=143; $do_exit" 15
+
+ # Set umask so as not to create temps with too-generous modes.
+ # However, 'strip' requires both read and write access to temps.
+ case $mode in
+ # Optimize common cases.
+ *644) cp_umask=133;;
+ *755) cp_umask=22;;
+
+ *[0-7])
+ if test -z "$stripcmd"; then
+ u_plus_rw=
+ else
+ u_plus_rw='% 200'
+ fi
+ cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
+ *)
+ if test -z "$stripcmd"; then
+ u_plus_rw=
+ else
+ u_plus_rw=,u+rw
+ fi
+ cp_umask=$mode$u_plus_rw;;
+ esac
+fi
+
+for src
+do
+ # Protect names problematic for 'test' and other utilities.
+ case $src in
+ -* | [=\(\)!]) src=./$src;;
+ esac
+
+ if test -n "$dir_arg"; then
+ dst=$src
+ dstdir=$dst
+ test -d "$dstdir"
+ dstdir_status=$?
+ else
+
+ # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
+ # might cause directories to be created, which would be especially bad
+ # if $src (and thus $dsttmp) contains '*'.
+ if test ! -f "$src" && test ! -d "$src"; then
+ echo "$0: $src does not exist." >&2
+ exit 1
+ fi
+
+ if test -z "$dst_arg"; then
+ echo "$0: no destination specified." >&2
+ exit 1
+ fi
+ dst=$dst_arg
+
+ # If destination is a directory, append the input filename; won't work
+ # if double slashes aren't ignored.
+ if test -d "$dst"; then
+ if test "$is_target_a_directory" = never; then
+ echo "$0: $dst_arg: Is a directory" >&2
+ exit 1
+ fi
+ dstdir=$dst
+ dst=$dstdir/`basename "$src"`
+ dstdir_status=0
+ else
+ dstdir=`dirname "$dst"`
+ test -d "$dstdir"
+ dstdir_status=$?
+ fi
+ fi
+
+ obsolete_mkdir_used=false
+
+ if test $dstdir_status != 0; then
+ case $posix_mkdir in
+ '')
+ # Create intermediate dirs using mode 755 as modified by the umask.
+ # This is like FreeBSD 'install' as of 1997-10-28.
+ umask=`umask`
+ case $stripcmd.$umask in
+ # Optimize common cases.
+ *[2367][2367]) mkdir_umask=$umask;;
+ .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
+
+ *[0-7])
+ mkdir_umask=`expr $umask + 22 \
+ - $umask % 100 % 40 + $umask % 20 \
+ - $umask % 10 % 4 + $umask % 2
+ `;;
+ *) mkdir_umask=$umask,go-w;;
+ esac
+
+ # With -d, create the new directory with the user-specified mode.
+ # Otherwise, rely on $mkdir_umask.
+ if test -n "$dir_arg"; then
+ mkdir_mode=-m$mode
+ else
+ mkdir_mode=
+ fi
+
+ posix_mkdir=false
+ case $umask in
+ *[123567][0-7][0-7])
+ # POSIX mkdir -p sets u+wx bits regardless of umask, which
+ # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+ ;;
+ *)
+ tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+
+ if (umask $mkdir_umask &&
+ exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+ then
+ if test -z "$dir_arg" || {
+ # Check for POSIX incompatibilities with -m.
+ # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+ # other-writable bit of parent directory when it shouldn't.
+ # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+ ls_ld_tmpdir=`ls -ld "$tmpdir"`
+ case $ls_ld_tmpdir in
+ d????-?r-*) different_mode=700;;
+ d????-?--*) different_mode=755;;
+ *) false;;
+ esac &&
+ $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+ ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+ test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+ }
+ }
+ then posix_mkdir=:
+ fi
+ rmdir "$tmpdir/d" "$tmpdir"
+ else
+ # Remove any dirs left behind by ancient mkdir implementations.
+ rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+ fi
+ trap '' 0;;
+ esac;;
+ esac
+
+ if
+ $posix_mkdir && (
+ umask $mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+ )
+ then :
+ else
+
+ # The umask is ridiculous, or mkdir does not conform to POSIX,
+ # or it failed possibly due to a race condition. Create the
+ # directory the slow way, step by step, checking for races as we go.
+
+ case $dstdir in
+ /*) prefix='/';;
+ [-=\(\)!]*) prefix='./';;
+ *) prefix='';;
+ esac
+
+ oIFS=$IFS
+ IFS=/
+ set -f
+ set fnord $dstdir
+ shift
+ set +f
+ IFS=$oIFS
+
+ prefixes=
+
+ for d
+ do
+ test X"$d" = X && continue
+
+ prefix=$prefix$d
+ if test -d "$prefix"; then
+ prefixes=
+ else
+ if $posix_mkdir; then
+ (umask=$mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+ # Don't fail if two instances are running concurrently.
+ test -d "$prefix" || exit 1
+ else
+ case $prefix in
+ *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) qprefix=$prefix;;
+ esac
+ prefixes="$prefixes '$qprefix'"
+ fi
+ fi
+ prefix=$prefix/
+ done
+
+ if test -n "$prefixes"; then
+ # Don't fail if two instances are running concurrently.
+ (umask $mkdir_umask &&
+ eval "\$doit_exec \$mkdirprog $prefixes") ||
+ test -d "$dstdir" || exit 1
+ obsolete_mkdir_used=true
+ fi
+ fi
+ fi
+
+ if test -n "$dir_arg"; then
+ { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
+ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
+ { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
+ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
+ else
+
+ # Make a couple of temp file names in the proper directory.
+ dsttmp=$dstdir/_inst.$$_
+ rmtmp=$dstdir/_rm.$$_
+
+ # Trap to clean up those temp files at exit.
+ trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
+
+ # Copy the file name to the temp name.
+ (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
+
+ # and set any options; do chmod last to preserve setuid bits.
+ #
+ # If any of these fail, we abort the whole thing. If we want to
+ # ignore errors from any of these, just make sure not to ignore
+ # errors from the above "$doit $cpprog $src $dsttmp" command.
+ #
+ { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
+ { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
+ { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
+ { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
+
+ # If -C, don't bother to copy if it wouldn't change the file.
+ if $copy_on_change &&
+ old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
+ new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
+ set -f &&
+ set X $old && old=:$2:$4:$5:$6 &&
+ set X $new && new=:$2:$4:$5:$6 &&
+ set +f &&
+ test "$old" = "$new" &&
+ $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
+ then
+ rm -f "$dsttmp"
+ else
+ # Rename the file to the real destination.
+ $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
+
+ # The rename failed, perhaps because mv can't rename something else
+ # to itself, or perhaps because mv is so ancient that it does not
+ # support -f.
+ {
+ # Now remove or move aside any old file at destination location.
+ # We try this two ways since rm can't unlink itself on some
+ # systems and the destination file might be busy for other
+ # reasons. In this case, the final cleanup might fail but the new
+ # file should still install successfully.
+ {
+ test ! -f "$dst" ||
+ $doit $rmcmd -f "$dst" 2>/dev/null ||
+ { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+ { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
+ } ||
+ { echo "$0: cannot unlink or rename $dst" >&2
+ (exit 1); exit 1
+ }
+ } &&
+
+ # Now rename the file to the real destination.
+ $doit $mvcmd "$dsttmp" "$dst"
+ }
+ fi || exit 1
+
+ trap '' 0
+ fi
+done
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC0"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/missing b/missing
new file mode 100755
index 00000000..c6e37958
--- /dev/null
+++ b/missing
@@ -0,0 +1,215 @@
+#! /bin/sh
+# Common wrapper for a few potentially missing GNU programs.
+
+scriptversion=2016-01-11.22; # UTC
+
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
+# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+if test $# -eq 0; then
+ echo 1>&2 "Try '$0 --help' for more information"
+ exit 1
+fi
+
+case $1 in
+
+ --is-lightweight)
+ # Used by our autoconf macros to check whether the available missing
+ # script is modern enough.
+ exit 0
+ ;;
+
+ --run)
+ # Back-compat with the calling convention used by older automake.
+ shift
+ ;;
+
+ -h|--h|--he|--hel|--help)
+ echo "\
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+
+Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due
+to PROGRAM being missing or too old.
+
+Options:
+ -h, --help display this help and exit
+ -v, --version output version information and exit
+
+Supported PROGRAM values:
+ aclocal autoconf autoheader autom4te automake makeinfo
+ bison yacc flex lex help2man
+
+Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and
+'g' are ignored when checking the name.
+
+Send bug reports to <bug-automake@gnu.org>."
+ exit $?
+ ;;
+
+ -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+ echo "missing $scriptversion (GNU Automake)"
+ exit $?
+ ;;
+
+ -*)
+ echo 1>&2 "$0: unknown '$1' option"
+ echo 1>&2 "Try '$0 --help' for more information"
+ exit 1
+ ;;
+
+esac
+
+# Run the given program, remember its exit status.
+"$@"; st=$?
+
+# If it succeeded, we are done.
+test $st -eq 0 && exit 0
+
+# Also exit now if we it failed (or wasn't found), and '--version' was
+# passed; such an option is passed most likely to detect whether the
+# program is present and works.
+case $2 in --version|--help) exit $st;; esac
+
+# Exit code 63 means version mismatch. This often happens when the user
+# tries to use an ancient version of a tool on a file that requires a
+# minimum version.
+if test $st -eq 63; then
+ msg="probably too old"
+elif test $st -eq 127; then
+ # Program was missing.
+ msg="missing on your system"
+else
+ # Program was found and executed, but failed. Give up.
+ exit $st
+fi
+
+perl_URL=http://www.perl.org/
+flex_URL=http://flex.sourceforge.net/
+gnu_software_URL=http://www.gnu.org/software
+
+program_details ()
+{
+ case $1 in
+ aclocal|automake)
+ echo "The '$1' program is part of the GNU Automake package:"
+ echo "<$gnu_software_URL/automake>"
+ echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:"
+ echo "<$gnu_software_URL/autoconf>"
+ echo "<$gnu_software_URL/m4/>"
+ echo "<$perl_URL>"
+ ;;
+ autoconf|autom4te|autoheader)
+ echo "The '$1' program is part of the GNU Autoconf package:"
+ echo "<$gnu_software_URL/autoconf/>"
+ echo "It also requires GNU m4 and Perl in order to run:"
+ echo "<$gnu_software_URL/m4/>"
+ echo "<$perl_URL>"
+ ;;
+ esac
+}
+
+give_advice ()
+{
+ # Normalize program name to check for.
+ normalized_program=`echo "$1" | sed '
+ s/^gnu-//; t
+ s/^gnu//; t
+ s/^g//; t'`
+
+ printf '%s\n' "'$1' is $msg."
+
+ configure_deps="'configure.ac' or m4 files included by 'configure.ac'"
+ case $normalized_program in
+ autoconf*)
+ echo "You should only need it if you modified 'configure.ac',"
+ echo "or m4 files included by it."
+ program_details 'autoconf'
+ ;;
+ autoheader*)
+ echo "You should only need it if you modified 'acconfig.h' or"
+ echo "$configure_deps."
+ program_details 'autoheader'
+ ;;
+ automake*)
+ echo "You should only need it if you modified 'Makefile.am' or"
+ echo "$configure_deps."
+ program_details 'automake'
+ ;;
+ aclocal*)
+ echo "You should only need it if you modified 'acinclude.m4' or"
+ echo "$configure_deps."
+ program_details 'aclocal'
+ ;;
+ autom4te*)
+ echo "You might have modified some maintainer files that require"
+ echo "the 'autom4te' program to be rebuilt."
+ program_details 'autom4te'
+ ;;
+ bison*|yacc*)
+ echo "You should only need it if you modified a '.y' file."
+ echo "You may want to install the GNU Bison package:"
+ echo "<$gnu_software_URL/bison/>"
+ ;;
+ lex*|flex*)
+ echo "You should only need it if you modified a '.l' file."
+ echo "You may want to install the Fast Lexical Analyzer package:"
+ echo "<$flex_URL>"
+ ;;
+ help2man*)
+ echo "You should only need it if you modified a dependency" \
+ "of a man page."
+ echo "You may want to install the GNU Help2man package:"
+ echo "<$gnu_software_URL/help2man/>"
+ ;;
+ makeinfo*)
+ echo "You should only need it if you modified a '.texi' file, or"
+ echo "any other file indirectly affecting the aspect of the manual."
+ echo "You might want to install the Texinfo package:"
+ echo "<$gnu_software_URL/texinfo/>"
+ echo "The spurious makeinfo call might also be the consequence of"
+ echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might"
+ echo "want to install GNU make:"
+ echo "<$gnu_software_URL/make/>"
+ ;;
+ *)
+ echo "You might have modified some files without having the proper"
+ echo "tools for further handling them. Check the 'README' file, it"
+ echo "often tells you about the needed prerequisites for installing"
+ echo "this package. You may also peek at any GNU archive site, in"
+ echo "case some other package contains this missing '$1' program."
+ ;;
+ esac
+}
+
+give_advice "$1" | sed -e '1s/^/WARNING: /' \
+ -e '2,$s/^/ /' >&2
+
+# Propagate the correct exit status (expected to be 127 for a program
+# not found, 63 for a program that failed due to version mismatch).
+exit $st
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC0"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/run_tests.sh.in b/run_tests.sh.in
index 42ea7ed8..ac2360cd 100644
--- a/run_tests.sh.in
+++ b/run_tests.sh.in
@@ -49,20 +49,24 @@ do
threads=$number
fi
;;
- * ) tests+=("$arg") ;;
+ * ) tests[${#tests[@]}]="$arg" ;; # array is continuous (old bash lacks +=)
esac
done
echo "Running in ${threads} thread(s)"
-test_srcdir=""
-if [ ${#tests[@]} -eq 0 ]
-then
- test_srcdir="@top_srcdir@/test"
- tests=(`find $test_srcdir -name '*.re' | sort`)
-fi
test_blddir="test_"`date +%y%m%d%H%M%S`
rm -rf $test_blddir && mkdir $test_blddir
+# preserve directory structure unless given explicit args
+if [ ${#tests[@]} -eq 0 ]; then
+ cp -R "@top_srcdir@/test"/* "@top_srcdir@/examples"/* $test_blddir
+else
+ for f in ${tests[@]}; do cp $f ${f%.re}.c $test_blddir; done
+fi
+chmod -R u+w $test_blddir
+find $test_blddir -type f ! -name '*.re' -a ! -name '*.c' -exec rm {} \;
+tests=(`find $test_blddir -name '*.re' | sort`)
+
tests_per_thread=$((${#tests[@]} / threads + 1))
packs=()
for ((i = 0; i < threads; i++))
@@ -108,15 +112,8 @@ run_pack() {
do
cd $test_blddir
- # preserve directory structure unless given explicit args
- if [ -z "$test_srcdir" ]
- then
- local outx=`basename $x`
- else
- # remove prefix
- local outx=${x:$((${#test_srcdir} + 1))}
- mkdir -p `dirname $outx`
- fi
+ # remove prefix
+ local outx=${x:$((${#test_blddir} + 1))}
local outc="${outx%.re}.c"
# filename (dot short* (long arg?)*)? ext
@@ -138,10 +135,12 @@ run_pack() {
if [ $skeleton -eq 1 ]
then
+ rm -f "$outc"
+
local switches="$switches --skeleton -Werror-undefined-control-flow"
- local status=0
- ${valgrind} ${wine} ../${re2c} $switches "../$x" 2>"$outc.stderr" || status=1
+ ${valgrind} ${wine} ../${re2c} $switches "../$x" 2>"$outc.stderr"
+ local status=$(echo $?)
[ $status -eq 0 ] && { @CC@ -Wall -Wextra -o "$outc.out" "$outc" 2>>"$outc.stderr" || status=2; }
[ $status -eq 0 ] && { ./"$outc.out" 2>>"$outc.stderr" || status=3; }
@@ -150,16 +149,19 @@ run_pack() {
1 ) local msg="OK (expected re2c error)" ;;
2 ) local msg="FAIL (compilation error)" ;;
3 ) local msg="FAIL (runtime error)" ;;
+ * ) local msg="FAIL (unknown error)" ;;
esac
printf "%-25s $outx\n" "$msg"
if [ $status -le 1 ]; then
- [ $keep_tmp_files -eq 0 ] && rm -f "$outc"{,.line*.{input,keys},.stderr,.out}
+ [ $keep_tmp_files -eq 0 ] && rm -f "$outx" "$outc"{,.line*.{input,keys},.stderr,.out}
else
- cp -f "../$x" "$outx"
local errcnt=$(($errcnt + 1))
fi
else
+ local c="${outx%.re}.c.orig"
+ mv "$outc" "$c"
+
# create sandbox
tmpdir="tmp_$log" \
&& mkdir "$tmpdir" \
@@ -168,6 +170,12 @@ run_pack() {
&& cp "../../$x" "$outx"
# run re2c
$valgrind $wine ../../$re2c $switches "$outx" 2>"$outc.stderr" 1>&2
+ # on windows output contains CR LF, cut CR to match test results
+ for f in "$outc" "$outc.stderr"; do
+ [ -f "$f" ] \
+ && cat "$f" | lc_run tr -d '\r' > "$f".mod \
+ && mv "$f".mod "$f"
+ done
# paste all files dropped by re2c into output file
rm "$outx" && find . -type f \
| lc_run sort \
@@ -178,17 +186,14 @@ run_pack() {
&& rm -rf "$tmpdir"
# compare results
- local c="${x%.re}.c"
local status=""
- [ -z $status ] && status=`[ -f "../$c" ] || echo "MISSING"`
- [ -z $status ] && status=`$diff_prog "../$c" "$outc" > "$outc.diff" || echo "FAIL"`
+ [ -z $status ] && status=`[ -f "$c" ] || echo "MISSING"`
+ [ -z $status ] && status=`$diff_prog "$c" "$outc" > "$outc.diff" || echo "FAIL"`
[ -z $status ] && status="OK"
if [ $status = "OK" ]
then
- rm "$outc" "$outc.diff"
+ rm "$outc" "$outc.diff" "$c" "$outx"
else
- cp -f "../$x" "$outx"
- cp -f "../$c" "$outc.orig"
local errcnt=$(($errcnt + 1))
fi
@@ -214,7 +219,7 @@ for ((i = 0; i < ${#packs[@]}; i++))
do
logs[$i]=`date +%y%m%d%H%M%S`_$i
run_pack ${logs[i]} ${packs[i]} &
- wait_pids+=( $! )
+ wait_pids[${#wait_pids[@]}]=$! # array is continuous (old bash lacks +=)
done
wait ${wait_pids[@]}
diff --git a/src/adfa/action.h b/src/adfa/action.h
new file mode 100644
index 00000000..5e7762be
--- /dev/null
+++ b/src/adfa/action.h
@@ -0,0 +1,108 @@
+#ifndef _RE2C_ADFA_ACTION_
+#define _RE2C_ADFA_ACTION_
+
+#include <assert.h>
+#include <vector>
+
+#include "src/code/label.h"
+#include "src/dfa/tcmd.h"
+#include "src/util/c99_stdint.h"
+#include "src/util/uniq_vector.h"
+
+namespace re2c
+{
+
+class OutputFile;
+struct State;
+
+struct Initial
+{
+ static const size_t NOSAVE;
+
+ label_t label;
+ size_t save;
+
+ inline Initial (label_t l, size_t s)
+ : label (l)
+ , save (s)
+ {}
+};
+
+typedef uniq_vector_t<std::pair<const State*, tcid_t> > accept_t;
+
+class Action
+{
+public:
+ enum type_t
+ {
+ MATCH,
+ INITIAL,
+ SAVE,
+ MOVE,
+ ACCEPT,
+ RULE
+ } type;
+ union
+ {
+ Initial * initial;
+ size_t save;
+ const accept_t * accepts;
+ size_t rule;
+ } info;
+
+public:
+ inline Action ()
+ : type (MATCH)
+ , info ()
+ {}
+ ~Action ()
+ {
+ if (type == INITIAL) {
+ delete info.initial;
+ }
+ }
+ void set_initial (label_t label)
+ {
+ if (type == MATCH) {
+ // ordinary state with no special action
+ type = INITIAL;
+ info.initial = new Initial(label, Initial::NOSAVE);
+ } else if (type == SAVE) {
+ // fallback state: do not loose 'yyaccept'
+ type = INITIAL;
+ info.initial = new Initial(label, info.save);
+ } else if (type == INITIAL) {
+ // already marked as initial, probably reuse mode
+ info.initial->label = label;
+ } else {
+ assert(false);
+ }
+ }
+ void set_save (size_t save)
+ {
+ assert(type == MATCH);
+ type = SAVE;
+ info.save = save;
+ }
+ void set_move ()
+ {
+ assert(type == MATCH);
+ type = MOVE;
+ }
+ void set_accept (const accept_t * accepts)
+ {
+ assert(type == MATCH);
+ type = ACCEPT;
+ info.accepts = accepts;
+ }
+ void set_rule (size_t rule)
+ {
+ assert(type == MATCH);
+ type = RULE;
+ info.rule = rule;
+ }
+};
+
+} // namespace re2c
+
+#endif // _RE2C_ADFA_ACTION_
diff --git a/src/adfa/adfa.cc b/src/adfa/adfa.cc
new file mode 100644
index 00000000..99147e23
--- /dev/null
+++ b/src/adfa/adfa.cc
@@ -0,0 +1,177 @@
+#include <assert.h>
+#include <algorithm>
+#include <limits>
+#include <queue>
+#include <set>
+#include <utility>
+#include <vector>
+
+#include "src/adfa/adfa.h"
+#include "src/code/go.h"
+#include "src/dfa/dfa.h"
+#include "src/util/allocate.h"
+
+namespace re2c
+{
+
+const size_t Initial::NOSAVE = std::numeric_limits<size_t>::max();
+
+DFA::DFA
+ ( const dfa_t &dfa
+ , const std::vector<size_t> &fill
+ , size_t def
+ , size_t key
+ , const std::string &nm
+ , const std::string &cn
+ , uint32_t ln
+ , const std::string &su
+ )
+ : accepts ()
+ , name (nm)
+ , cond (cn)
+ , line (ln)
+ , lbChar(0)
+ , ubChar(dfa.charset.back())
+ , nStates(0)
+ , head(NULL)
+ , tags0(dfa.tcid0)
+ , charset(dfa.charset)
+ , rules(dfa.rules)
+ , tags(dfa.tags)
+ , mtagvers(dfa.mtagvers)
+ , finvers(dfa.finvers)
+ , tcpool(dfa.tcpool)
+ , max_fill (0)
+ , max_nmatch(0)
+ , need_backup (false)
+ , need_accept (false)
+ , oldstyle_ctxmarker (false)
+ , maxtagver (dfa.maxtagver)
+ , def_rule (def)
+ , key_size (key)
+ , bitmaps (std::min(ubChar, 256u))
+ , setup(su)
+{
+ const size_t nstates = dfa.states.size();
+ const size_t nchars = dfa.nchars;
+
+ State **i2s = new State*[nstates];
+ for (size_t i = 0; i < nstates; ++i)
+ {
+ i2s[i] = new State;
+ }
+
+ State **p = &head;
+ for (size_t i = 0; i < nstates; ++i)
+ {
+ dfa_state_t *t = dfa.states[i];
+ State *s = i2s[i];
+
+ ++nStates;
+ *p = s;
+ p = &s->next;
+
+ s->rule = t->rule;
+ s->rule_tags = t->tcid[dfa.nchars];
+ s->fall_tags = t->tcid[dfa.nchars + 1];
+ s->fill = fill[i];
+ s->fallback = t->fallback; // see note [fallback states]
+
+ s->go.span = allocate<Span>(nchars);
+ uint32_t j = 0;
+ for (uint32_t c = 0; c < nchars; ++j)
+ {
+ const size_t to = t->arcs[c];
+ const tcid_t tc = t->tcid[c];
+ for (;++c < nchars && t->arcs[c] == to && t->tcid[c] == tc;);
+ s->go.span[j].to = to == dfa_t::NIL ? NULL : i2s[to];
+ s->go.span[j].ub = charset[c];
+ s->go.span[j].tags = tc;
+ }
+ s->go.nSpans = j;
+ }
+ *p = NULL;
+
+ delete[] i2s;
+}
+
+DFA::~DFA()
+{
+ State *s;
+
+ while ((s = head))
+ {
+ head = s->next;
+ delete s;
+ }
+
+ delete &charset;
+ delete &rules;
+ delete &tags;
+ delete &mtagvers;
+ delete[] finvers;
+ delete &tcpool;
+}
+
+/* note [reordering DFA states]
+ *
+ * re2c-generated code depends on the order of states in DFA: simply
+ * flipping two states may change the output significantly.
+ * The order of states is affected by many factors, e.g.:
+ * - flipping left and right subtrees of alternative when constructing
+ * AST (also applies to iteration and counted repetition)
+ * - changing the order in which graph nodes are visited (applies to
+ * any intermediate representation: bytecode, NFA, DFA, etc.)
+ *
+ * To make the resulting code independent of such changes, we hereby
+ * reorder DFA states. The ordering scheme is very simple:
+ *
+ * Starting with DFA root, walk DFA nodes in breadth-first order.
+ * Child nodes are ordered accoding to the (alphabetically) first symbol
+ * leading to each node. Each node must be visited exactly once.
+ * Default state (NULL) is always the last state.
+ */
+void DFA::reorder()
+{
+ std::vector<State*> ord;
+ ord.reserve(nStates);
+
+ std::queue<State*> todo;
+ todo.push(head);
+
+ std::set<State*> done;
+ done.insert(head);
+
+ for(;!todo.empty();)
+ {
+ State *s = todo.front();
+ todo.pop();
+ ord.push_back(s);
+ for(uint32_t i = 0; i < s->go.nSpans; ++i)
+ {
+ State *q = s->go.span[i].to;
+ if(q && done.insert(q).second)
+ {
+ todo.push(q);
+ }
+ }
+ }
+
+ assert(nStates == ord.size());
+
+ ord.push_back(NULL);
+ for(uint32_t i = 0; i < nStates; ++i)
+ {
+ ord[i]->next = ord[i + 1];
+ }
+}
+
+void DFA::addState(State *s, State *next)
+{
+ ++nStates;
+ s->next = next->next;
+ next->next = s;
+}
+
+} // namespace re2c
+
diff --git a/src/adfa/adfa.h b/src/adfa/adfa.h
new file mode 100644
index 00000000..48259dd3
--- /dev/null
+++ b/src/adfa/adfa.h
@@ -0,0 +1,120 @@
+#ifndef _RE2C_ADFA_ADFA_
+#define _RE2C_ADFA_ADFA_
+
+#include <stddef.h>
+#include "src/util/c99_stdint.h"
+#include <set>
+#include <string>
+#include <valarray>
+#include <vector>
+
+#include "src/adfa/action.h"
+#include "src/code/bitmap.h"
+#include "src/code/go.h"
+#include "src/code/label.h"
+#include "src/dfa/tcmd.h"
+#include "src/re/rule.h"
+#include "src/re/tag.h"
+#include "src/util/forbid_copy.h"
+
+namespace re2c
+{
+
+struct opt_t;
+class OutputFile;
+struct Output;
+struct dfa_t;
+
+struct State
+{
+ label_t label;
+ State * next;
+ size_t fill;
+ bool fallback;
+
+ size_t rule;
+ tcid_t rule_tags;
+ tcid_t fall_tags;
+ bool isBase;
+ Go go;
+ Action action;
+
+ State ()
+ : label (label_t::first ())
+ , next (0)
+ , fill (0)
+ , fallback (false)
+ , rule (Rule::NONE)
+ , rule_tags (TCID0)
+ , fall_tags (TCID0)
+ , isBase (false)
+ , go ()
+ , action ()
+ {}
+ ~State ()
+ {
+ operator delete (go.span);
+ }
+
+ FORBID_COPY (State);
+};
+
+struct DFA
+{
+ accept_t accepts;
+ const std::string name;
+ const std::string cond;
+ const uint32_t line;
+ uint32_t lbChar;
+ uint32_t ubChar;
+ uint32_t nStates;
+ State * head;
+ const tcid_t tags0;
+ std::vector<uint32_t> &charset;
+ std::valarray<Rule> &rules;
+ std::vector<Tag> &tags;
+ std::set<tagver_t> &mtagvers;
+ const tagver_t *finvers;
+ tcpool_t &tcpool;
+ size_t max_fill;
+ size_t max_nmatch;
+ bool need_backup;
+ bool need_accept;
+ bool oldstyle_ctxmarker;
+ tagver_t maxtagver;
+ const size_t def_rule;
+ const size_t key_size;
+ bitmaps_t bitmaps;
+ std::string setup;
+
+ DFA ( const dfa_t &dfa
+ , const std::vector<size_t> &fill
+ , size_t def
+ , size_t key
+ , const std::string &nm
+ , const std::string &cn
+ , uint32_t ln
+ , const std::string &su
+ );
+ ~DFA ();
+ void reorder();
+ void prepare(const opt_t *opts);
+ void calc_stats(uint32_t ln, bool explicit_tags);
+ void emit (Output &, uint32_t &, bool, bool &);
+
+private:
+ void addState(State*, State *);
+ void split (State *);
+ void findBaseState ();
+ void hoist_tags();
+ void hoist_tags_and_skip(const opt_t *opts);
+ void count_used_labels(std::set<label_t> &used, label_t start, label_t initial, bool force_start, bool fFlag) const;
+ void emit_body (OutputFile &, uint32_t &, const std::set<label_t> & used_labels, label_t initial) const;
+ void emit_dot(OutputFile &o, bool last_cond) const;
+
+ FORBID_COPY (DFA);
+};
+
+} // namespace re2c
+
+#endif // _RE2C_ADFA_ADFA_
diff --git a/src/adfa/dump.cc b/src/adfa/dump.cc
new file mode 100644
index 00000000..fd7c70e4
--- /dev/null
+++ b/src/adfa/dump.cc
@@ -0,0 +1,101 @@
+#include "src/util/c99_stdint.h"
+#include <stdio.h>
+#include <string>
+#include <utility>
+#include <valarray>
+#include <vector>
+
+#include "src/adfa/action.h"
+#include "src/adfa/adfa.h"
+#include "src/adfa/dump.h"
+#include "src/code/go.h"
+#include "src/dfa/dump.h"
+#include "src/dfa/tcmd.h"
+#include "src/re/rule.h"
+#include "src/re/tag.h"
+
+namespace re2c
+{
+
+static void dump_adfa_range(uint32_t lower, uint32_t upper)
+{
+ fprintf(stderr, "%u", lower);
+ if (--upper > lower) {
+ fprintf(stderr, "-%u", upper);
+ }
+}
+
+void dump_adfa(const DFA &dfa)
+{
+ fprintf(stderr,
+ "digraph DFA {\n"
+ " rankdir=LR\n"
+ " node[shape=Mrecord fontname=fixed]\n"
+ " edge[arrowhead=vee fontname=fixed]\n\n");
+
+ fprintf(stderr,
+ " n [shape=point]"
+ " n -> n%p [style=dotted label=\"", (void*)dfa.head);
+ dump_tcmd(dfa.tcpool[dfa.tags0]);
+ fprintf(stderr, "\"]\n");
+
+ for (const State *s = dfa.head; s; s = s->next) {
+ const char *attr;
+ Action::type_t action = s->action.type;
+
+ if (action == Action::ACCEPT) {
+ attr = "style=filled fillcolor=gray";
+ } else if (action == Action::RULE) {
+ attr = "style=filled fillcolor=lightgray";
+ } else {
+ attr = "";
+ }
+ fprintf(stderr, " n%p [height=0.2 width=0.2 label=\"", (void*)s);
+ if (s->fill && action != Action::MOVE) {
+ fprintf(stderr, "F(%u) ", (uint32_t)s->fill);
+ }
+ if (action == Action::RULE) {
+ const Rule &r = dfa.rules[s->action.info.rule];
+ for (size_t t = r.ltag; t < r.htag; ++t) {
+ if (t > r.ltag) fprintf(stderr, " ");
+ const std::string *name = dfa.tags[t].name;
+ fprintf(stderr, "%s(%d)",
+ name ? name->c_str() : "/", dfa.finvers[t]);
+ }
+ }
+ dump_tcmd(dfa.tcpool[s->go.tags]);
+ fprintf(stderr, "\" %s]\n", attr);
+
+ if (action == Action::ACCEPT) {
+ const accept_t &accept = *s->action.info.accepts;
+ for (uint32_t i = 0; i < accept.size(); ++i) {
+ fprintf(stderr, " n%p -> n%p [label=\"",
+ (void*)s, (void*)accept[i].first);
+ dump_tcmd(dfa.tcpool[accept[i].second]);
+ fprintf(stderr, "\" style=dotted]\n");
+ }
+ }
+
+ const Span *x = s->go.span, *e = x + s->go.nSpans;
+ for (uint32_t lb = 0; x < e; lb = x->ub, ++x) {
+ if (!x->to) continue;
+
+ bool eat = true;
+ const Action::type_t act = x->to->action.type;
+ if (act == Action::MOVE || act == Action::RULE) {
+ attr = "style=dotted";
+ eat = false;
+ } else {
+ attr = "";
+ }
+ fprintf(stderr, " n%p -> n%p [label=\"", (void*)s, (void*)x->to);
+ if (eat) dump_adfa_range(lb, x->ub);
+ dump_tcmd(dfa.tcpool[x->tags]);
+ fprintf(stderr, "\" %s]\n", attr);
+ }
+ }
+
+ fprintf(stderr, "}\n");
+}
+
+} // namespace re2c
diff --git a/src/adfa/dump.h b/src/adfa/dump.h
new file mode 100644
index 00000000..352f4532
--- /dev/null
+++ b/src/adfa/dump.h
@@ -0,0 +1,15 @@
+#ifndef _RE2C_ADFA_DUMP_
+#define _RE2C_ADFA_DUMP_
+
+#include "src/adfa/adfa.h"
+
+namespace re2c
+{
+
+struct DFA;
+
+void dump_adfa(const DFA &dfa);
+
+} // namespace re2c
+
+#endif // _RE2C_ADFA_DUMP_
diff --git a/src/adfa/prepare.cc b/src/adfa/prepare.cc
new file mode 100644
index 00000000..362308d1
--- /dev/null
+++ b/src/adfa/prepare.cc
@@ -0,0 +1,348 @@
+#include <assert.h>
+#include "src/util/c99_stdint.h"
+#include <string.h>
+#include <algorithm>
+#include <utility>
+#include <valarray>
+#include <vector>
+
+#include "src/adfa/action.h"
+#include "src/adfa/adfa.h"
+#include "src/code/bitmap.h"
+#include "src/code/go.h"
+#include "src/conf/msg.h"
+#include "src/conf/opt.h"
+#include "src/dfa/tcmd.h"
+#include "src/re/rule.h"
+#include "src/util/allocate.h"
+
+namespace re2c {
+
+void DFA::split(State *s)
+{
+ State *move = new State;
+ addState(move, s);
+ move->action.set_move ();
+ move->rule = s->rule;
+ move->fill = s->fill; /* used by tunneling, ignored by codegen */
+ move->go = s->go;
+ move->go.tags = TCID0; /* drop hoisted tags */
+ move->rule_tags = s->rule_tags;
+ move->fall_tags = s->fall_tags;
+ s->rule = Rule::NONE;
+ s->go.nSpans = 1;
+ s->go.span = allocate<Span> (1);
+ s->go.span[0].ub = ubChar;
+ s->go.span[0].to = move;
+ s->go.span[0].tags = TCID0;
+}
+
+static uint32_t merge(Span *x, State *fg, State *bg)
+{
+ Span *f = fg->go.span;
+ Span *b = bg->go.span;
+ Span *const fe = f + fg->go.nSpans;
+ Span *const be = b + bg->go.nSpans;
+ Span *const x0 = x;
+
+ for (;!(f == fe && b == be);) {
+ if (f->to == b->to && f->tags == b->tags) {
+ x->to = bg;
+ x->tags = TCID0;
+ } else {
+ x->to = f->to;
+ x->tags = f->tags;
+ }
+ if (x == x0
+ || x[-1].to != x->to
+ || x[-1].tags != x->tags) {
+ ++x;
+ }
+ x[-1].ub = std::min(f->ub, b->ub);
+
+ if (f->ub < b->ub) {
+ ++f;
+ } else if (f->ub > b->ub) {
+ ++b;
+ } else {
+ ++f;
+ ++b;
+ }
+ }
+
+ return static_cast<uint32_t>(x - x0);
+}
+
+void DFA::findBaseState()
+{
+ Span *span = allocate<Span> (ubChar - lbChar);
+
+ for (State *s = head; s; s = s->next)
+ {
+ if (s->fill == 0)
+ {
+ for (uint32_t i = 0; i < s->go.nSpans; ++i)
+ {
+ State *to = s->go.span[i].to;
+
+ if (to->isBase)
+ {
+ to = to->go.span[0].to;
+ uint32_t nSpans = merge(span, s, to);
+
+ if (nSpans < s->go.nSpans)
+ {
+ operator delete (s->go.span);
+ s->go.nSpans = nSpans;
+ s->go.span = allocate<Span> (nSpans);
+ memcpy(s->go.span, span, nSpans*sizeof(Span));
+ break;
+ }
+ }
+ }
+ }
+ }
+
+ operator delete (span);
+}
+
+/* note [tag hoisting, skip hoisting and tunneling]
+ *
+ * Tag hoisting is simple: if all transitions have the same commands,
+ * they can be hoisted out of conditional branches.
+ *
+ * Skip hoisting is only relevant with '--eager-skip' option.
+ * Normally this option is off and skip is lazy: it happens after
+ * transition to the next state, if this state is consuming.
+ * However, with '--eager-skip' skip happens before transition to the next
+ * state. Different transitions may disagree: some of them go to consuming
+ * states, others don't. If they agree, skip can be hoisted (just like tags).
+ *
+ * '--eager-skip' makes tag hoisting more complicated, because now we have
+ * to care about the type of automaton: lookahead TDFAs must skip after
+ * writing tags, while non-lookahead TDFAs must skip before writing tags.
+ * Therefore skip hoising cannot be done without tag hoisting in lookahead
+ * TDFAs, and vice versa with non-lookahead TDFAs.
+ * (Note that '--eager-skip' is implied by '--no-lookahead').
+ *
+ * Tunneling splits base states in two parts: head and body. Body has all
+ * the conditional branches (transitions on symbols), while head has just
+ * one unconditional jump to body.
+ *
+ * Normally tag hoisting should go before tunneling: hoisting may add new
+ * candidates to be merged by tunneling. However, with '--eager-skip' tag
+ * hoisting is interwined with skip hoisting, and the latter needs to know
+ * which states are consuming. This is not possible if tunneling is still
+ * to be done, because it may turn consuming states into non-consuming ones.
+ * Another option is to disallow splitting states with non-hoisted skip
+ * in the presence of '--eager-skip' (this way skip hoisting wouldn't need
+ * to know tunneling results), but it's much worse for tunneling.
+ */
+
+void DFA::prepare(const opt_t *opts)
+{
+ // create rule states
+ std::vector<State*> rule2state(rules.size());
+ for (State *s = head; s; s = s->next) {
+ if (s->rule != Rule::NONE) {
+ if (!rule2state[s->rule]) {
+ State *n = new State;
+ n->action.set_rule(s->rule);
+ rule2state[s->rule] = n;
+ addState(n, s);
+ }
+ for (uint32_t i = 0; i < s->go.nSpans; ++i) {
+ if (!s->go.span[i].to) {
+ s->go.span[i].to = rule2state[s->rule];
+ s->go.span[i].tags = s->rule_tags;
+ }
+ }
+ }
+ }
+
+ // create default state (if needed)
+ State * default_state = NULL;
+ for (State * s = head; s; s = s->next)
+ {
+ for (uint32_t i = 0; i < s->go.nSpans; ++i)
+ {
+ if (!s->go.span[i].to)
+ {
+ if (!default_state)
+ {
+ default_state = new State;
+ addState(default_state, s);
+ }
+ s->go.span[i].to = default_state;
+ }
+ }
+ }
+
+ // bind save actions to fallback states and create accept state (if needed)
+ if (default_state) {
+ for (State *s = head; s; s = s->next) {
+ if (s->fallback) {
+ const std::pair<const State*, tcid_t> acc(rule2state[s->rule], s->fall_tags);
+ s->action.set_save(accepts.find_or_add(acc));
+ }
+ }
+ default_state->action.set_accept(&accepts);
+ }
+
+ // tag hoisting should be done after binding default arcs:
+ // (which may introduce new tags)
+ // see note [tag hoisting, skip hoisting and tunneling]
+ if (!opts->eager_skip) {
+ hoist_tags();
+ }
+
+ // split ``base'' states into two parts
+ for (State * s = head; s; s = s->next)
+ {
+ s->isBase = false;
+
+ if (s->fill != 0)
+ {
+ for (uint32_t i = 0; i < s->go.nSpans; ++i)
+ {
+ if (s->go.span[i].to == s)
+ {
+ s->isBase = true;
+ split(s);
+
+ if (opts->bFlag) {
+ bitmaps.insert(&s->next->go, s);
+ }
+
+ s = s->next;
+ break;
+ }
+ }
+ }
+ }
+ // find ``base'' state, if possible
+ findBaseState();
+
+ // see note [tag hoisting, skip hoisting and tunneling]
+ if (opts->eager_skip) {
+ hoist_tags_and_skip(opts);
+ }
+
+ for (State *s = head; s; s = s->next) {
+ s->go.init(s, opts, bitmaps);
+ }
+}
+
+void DFA::calc_stats(uint32_t ln, bool explicit_tags)
+{
+ // calculate 'YYMAXFILL'
+ max_fill = 0;
+ for (State * s = head; s; s = s->next)
+ {
+ if (max_fill < s->fill)
+ {
+ max_fill = s->fill;
+ }
+ }
+
+ // calculate 'YYMAXNMATCH'
+ max_nmatch = 0;
+ const size_t nrule = rules.size();
+ for (size_t i = 0; i < nrule; ++i) {
+ max_nmatch = std::max(max_nmatch, rules[i].ncap);
+ }
+
+ // determine if 'YYMARKER' or 'YYBACKUP'/'YYRESTORE' pair is used
+ need_backup = accepts.size () > 0;
+
+ // determine if 'yyaccept' variable is used
+ need_accept = accepts.size () > 1;
+
+ // determine if 'YYCTXMARKER' or 'YYBACKUPCTX'/'YYRESTORECTX' pair is used
+ // If tags are not enabled explicitely and trailing contexts
+ // don't overlap (single variable is enough for all of them), then
+ // re2c should use old-style YYCTXMARKER for backwards compatibility.
+ // Note that with generic API fixed-length contexts are forbidden,
+ // which may cause additional overlaps.
+ oldstyle_ctxmarker = !explicit_tags && maxtagver == 1;
+
+ // error if tags are not enabled, but we need them
+ if (!explicit_tags && maxtagver > 1) {
+ fatal_l(ln, "overlapping trailing contexts need "
+ "multiple context markers, use '-t, --tags' "
+ "option and '/*!stags:re2c ... */' directive");
+ }
+}
+
+void DFA::hoist_tags()
+{
+ for (State * s = head; s; s = s->next) {
+ Span *span = s->go.span;
+ const size_t nspan = s->go.nSpans;
+ if (nspan == 0) continue;
+
+ tcid_t ts = span[0].tags;
+ for (uint32_t i = 1; i < nspan; ++i) {
+ if (span[i].tags != ts) {
+ ts = TCID0;
+ break;
+ }
+ }
+ if (ts != TCID0) {
+ s->go.tags = ts;
+ for (uint32_t i = 0; i < nspan; ++i) {
+ span[i].tags = TCID0;
+ }
+ }
+ }
+}
+
+void DFA::hoist_tags_and_skip(const opt_t *opts)
+{
+ assert(opts->eager_skip);
+
+ for (State * s = head; s; s = s->next) {
+ Span *span = s->go.span;
+ const size_t nspan = s->go.nSpans;
+ if (nspan == 0) continue;
+
+ bool hoist_tags = true, hoist_skip = true;
+
+ // do all spans agree on tags?
+ for (uint32_t i = 1; i < nspan; ++i) {
+ if (span[i].tags != span[0].tags) {
+ hoist_tags = false;
+ break;
+ }
+ }
+
+ // do all spans agree on skip?
+ for (uint32_t i = 0; i < nspan; ++i) {
+ if (consume(span[i].to) != consume(span[0].to)) {
+ hoist_skip = false;
+ break;
+ }
+ }
+
+ if (opts->lookahead) {
+ // skip must go after tags
+ hoist_skip &= hoist_tags;
+ } else {
+ // skip must go before tags
+ hoist_tags &= hoist_skip;
+ }
+
+ // hoisting tags is possible
+ if (hoist_tags) {
+ s->go.tags = span[0].tags;
+ for (uint32_t i = 0; i < nspan; ++i) {
+ span[i].tags = TCID0;
+ }
+ }
+
+ // hoisting skip is possible
+ s->go.skip = hoist_skip && consume(span[0].to);
+ }
+}
+
+} // namespace re2c
diff --git a/src/ast/ast.cc b/src/ast/ast.cc
new file mode 100644
index 00000000..612641e9
--- /dev/null
+++ b/src/ast/ast.cc
@@ -0,0 +1,145 @@
+#include <limits>
+
+#include "src/ast/ast.h"
+#include "src/util/free_list.h"
+
+namespace re2c
+{
+
+free_list<AST*> AST::flist;
+
+const uint32_t AST::MANY = std::numeric_limits<uint32_t>::max();
+
+AST::AST(uint32_t l, uint32_t c, type_t t)
+ : type(t), line(l), column(c)
+{
+ flist.insert(this);
+}
+
+AST::~AST()
+{
+ flist.erase(this);
+ if (type == TAG) {
+ delete tag.name;
+ } else if (type == REF) {
+ delete ref.name;
+ } else if (type == STR) {
+ delete str.chars;
+ } else if (type == CLS) {
+ delete cls.ranges;
+ }
+}
+
+const AST *ast_nil(uint32_t l, uint32_t c)
+{
+ return new AST(l, c, AST::NIL);
+}
+
+const AST *ast_str(uint32_t l, uint32_t c, std::vector<ASTChar> *chars, bool icase)
+{
+ AST *ast = new AST(l, c, AST::STR);
+ ast->str.chars = chars;
+ ast->str.icase = icase;
+ return ast;
+}
+
+const AST *ast_cls(uint32_t l, uint32_t c, std::vector<ASTRange> *ranges, bool negated)
+{
+ AST *ast = new AST(l, c, AST::CLS);
+ ast->cls.ranges = ranges;
+ ast->cls.negated = negated;
+ return ast;
+}
+
+const AST *ast_dot(uint32_t l, uint32_t c)
+{
+ return new AST(l, c, AST::DOT);
+}
+
+const AST *ast_default(uint32_t l, uint32_t c)
+{
+ return new AST(l, c, AST::DEFAULT);
+}
+
+const AST *ast_alt(const AST *a1, const AST *a2)
+{
+ if (!a1) return a2;
+ if (!a2) return a1;
+ AST *ast = new AST(a1->line, a1->column, AST::ALT);
+ ast->alt.ast1 = a1;
+ ast->alt.ast2 = a2;
+ return ast;
+}
+
+const AST *ast_cat(const AST *a1, const AST *a2)
+{
+ if (!a1) return a2;
+ if (!a2) return a1;
+ AST *ast = new AST(a1->line, a1->column, AST::CAT);
+ ast->cat.ast1 = a1;
+ ast->cat.ast2 = a2;
+ return ast;
+}
+
+const AST *ast_iter(const AST *a, uint32_t n, uint32_t m)
+{
+ AST *ast = new AST(a->line, a->column, AST::ITER);
+ ast->iter.ast = a;
+ ast->iter.min = n;
+ ast->iter.max = m;
+ return ast;
+}
+
+const AST *ast_diff(const AST *a1, const AST *a2)
+{
+ AST *ast = new AST(a1->line, a1->column, AST::DIFF);
+ ast->cat.ast1 = a1;
+ ast->cat.ast2 = a2;
+ return ast;
+}
+
+const AST *ast_tag(uint32_t l, uint32_t c, const std::string *n, bool h)
+{
+ AST *ast = new AST(l, c, AST::TAG);
+ ast->tag.name = n;
+ ast->tag.history = h;
+ return ast;
+}
+
+const AST *ast_cap(const AST *a)
+{
+ AST *ast = new AST(a->line, a->column, AST::CAP);
+ ast->cap = a;
+ return ast;
+}
+
+const AST *ast_ref(const AST *a, const std::string &n)
+{
+ AST *ast = new AST(a->line, a->column, AST::REF);
+ ast->ref.ast = a;
+ ast->ref.name = new std::string(n);
+ return ast;
+}
+
+bool ast_need_wrap(const AST *a)
+{
+ switch (a->type) {
+ case AST::ITER:
+ case AST::NIL:
+ case AST::STR:
+ case AST::CLS:
+ case AST::DOT:
+ case AST::DEFAULT:
+ case AST::TAG:
+ case AST::CAP:
+ return false;
+ case AST::ALT:
+ case AST::CAT:
+ case AST::DIFF:
+ case AST::REF:
+ return true;
+ }
+ return false; /* unreachable */
+}
+
+} // namespace re2c
diff --git a/src/ast/ast.h b/src/ast/ast.h
new file mode 100644
index 00000000..e4685f76
--- /dev/null
+++ b/src/ast/ast.h
@@ -0,0 +1,140 @@
+#ifndef _RE2C_AST_AST_
+#define _RE2C_AST_AST_
+
+#include "src/util/c99_stdint.h"
+#include <map>
+#include <string>
+#include <vector>
+
+#include "src/ast/scanner.h"
+#include "src/re/rule.h"
+#include "src/util/free_list.h"
+#include "src/util/range.h"
+
+namespace re2c
+{
+
+struct Code;
+template <class _Ty> class free_list;
+
+struct ASTChar
+{
+ uint32_t chr;
+ uint32_t column;
+ ASTChar(uint32_t x, uint32_t c)
+ : chr(x), column(c) {}
+};
+
+struct ASTRange
+{
+ uint32_t lower;
+ uint32_t upper;
+ uint32_t column;
+ ASTRange(uint32_t l, uint32_t u, uint32_t c)
+ : lower(l), upper(u), column(c) {}
+};
+
+/* AST must be immutable and independent of options */
+struct AST
+{
+ static free_list<AST*> flist;
+ static const uint32_t MANY;
+
+ enum type_t
+ { NIL, STR, CLS, DOT, DEFAULT, ALT
+ , CAT, ITER, DIFF, TAG, CAP, REF } type;
+ union {
+ struct {
+ const std::vector<ASTChar> *chars;
+ bool icase;
+ } str;
+ struct {
+ const std::vector<ASTRange> *ranges;
+ bool negated;
+ } cls;
+ struct {
+ const AST *ast1;
+ const AST *ast2;
+ } alt;
+ struct {
+ const AST *ast1;
+ const AST *ast2;
+ } cat;
+ struct {
+ const AST *ast;
+ uint32_t min;
+ uint32_t max;
+ } iter;
+ struct {
+ const AST *ast1;
+ const AST *ast2;
+ } diff;
+ struct {
+ const std::string *name;
+ bool history;
+ } tag;
+ const AST *cap;
+ struct {
+ const AST *ast;
+ const std::string *name;
+ } ref;
+ };
+ uint32_t line;
+ uint32_t column;
+
+ AST(uint32_t l, uint32_t c, type_t t);
+ ~AST();
+};
+
+struct ASTRule
+{
+ const AST *ast;
+ const Code *code;
+
+ ASTRule(const AST *r, const Code *c)
+ : ast(r)
+ , code(c)
+ {}
+};
+
+struct ASTBounds
+{
+ uint32_t min;
+ uint32_t max;
+};
+
+struct spec_t
+{
+ std::string name;
+ std::vector<ASTRule> rules;
+ std::vector<const Code*> defs;
+ std::vector<const Code*> setup;
+
+ explicit spec_t(const std::string &n):
+ name(n), rules(), defs(), setup() {}
+};
+
+typedef std::vector<spec_t> specs_t;
+typedef std::map<std::string, const AST*> symtab_t;
+
+const AST *ast_nil(uint32_t l, uint32_t c);
+const AST *ast_str(uint32_t l, uint32_t c, std::vector<ASTChar> *chars, bool icase);
+const AST *ast_cls(uint32_t l, uint32_t c, std::vector<ASTRange> *ranges, bool negated);
+const AST *ast_dot(uint32_t l, uint32_t c);
+const AST *ast_default(uint32_t l, uint32_t c);
+const AST *ast_alt(const AST *a1, const AST *a2);
+const AST *ast_cat(const AST *a1, const AST *a2);
+const AST *ast_iter(const AST *a, uint32_t n, uint32_t m);
+const AST *ast_diff(const AST *a1, const AST *a2);
+const AST *ast_tag(uint32_t l, uint32_t c, const std::string *n, bool h);
+const AST *ast_cap(const AST *a);
+const AST *ast_ref(const AST *a, const std::string &n);
+bool ast_need_wrap(const AST *a);
+
+void validate_mode(Scanner::ParseMode mode, bool rflag, bool rules, Scanner &input);
+void validate_ast(const specs_t &specs, bool cflag);
+void normalize_ast(specs_t &specs);
+
+} // namespace re2c
+
+#endif // _RE2C_AST_AST_
diff --git a/src/parse/input.cc b/src/ast/input.cc
index 472e6b99..b06c1bd2 100644
--- a/src/parse/input.cc
+++ b/src/ast/input.cc
@@ -1,4 +1,4 @@
-#include "src/parse/input.h"
+#include "src/ast/input.h"
namespace re2c {
diff --git a/src/parse/input.h b/src/ast/input.h
index f58e189e..faee2f94 100644
--- a/src/parse/input.h
+++ b/src/ast/input.h
@@ -1,5 +1,5 @@
-#ifndef _RE2C_PARSE_INPUT_
-#define _RE2C_PARSE_INPUT_
+#ifndef _RE2C_AST_INPUT_
+#define _RE2C_AST_INPUT_
#include <stdio.h>
#include <string>
@@ -13,7 +13,7 @@ struct Input
FILE * file;
std::string file_name;
- Input (const char * fn);
+ explicit Input (const char * fn);
~Input ();
bool open ();
@@ -22,4 +22,4 @@ struct Input
} // namespace re2c
-#endif // _RE2C_PARSE_INPUT_
+#endif // _RE2C_AST_INPUT_
diff --git a/src/parse/lex.re b/src/ast/lex.re
index 2fd98fb9..6e6887cb 100644
--- a/src/parse/lex.re
+++ b/src/ast/lex.re
@@ -5,19 +5,14 @@
#include <limits>
#include <string>
-#include "src/codegen/output.h"
-#include "src/conf/opt.h"
-#include "src/conf/warn.h"
-#include "src/globals.h"
-#include "src/ir/regexp/encoding/enc.h"
-#include "src/ir/regexp/regexp.h"
-#include "src/ir/regexp/regexp_null.h"
-#include "src/parse/code.h"
-#include "src/parse/extop.h"
-#include "src/parse/input.h"
-#include "src/parse/scanner.h"
-#include "src/parse/parser.h" // needed by "y.tab.h"
-#include "src/parse/unescape.h"
+#include "src/conf/msg.h"
+#include "src/code/output.h"
+#include "src/re/encoding/enc.h"
+#include "src/ast/input.h"
+#include "src/ast/ast.h"
+#include "src/ast/scanner.h"
+#include "src/ast/parser.h" // needed by "y.tab.h"
+#include "src/ast/unescape.h"
#include "src/util/range.h"
#include "src/util/s_to_n32_unsafe.h"
#include "y.tab.h"
@@ -27,7 +22,7 @@ extern YYSTYPE yylval;
#define YYCTYPE unsigned char
#define YYCURSOR cur
#define YYLIMIT lim
-#define YYMARKER ptr
+#define YYMARKER mar
#define YYCTXMARKER ctx
#define YYFILL(n) { fill (n); }
@@ -48,10 +43,11 @@ sstring = "'" ((. \ [\\'] ) | "\\" .)* "'" ;
letter = [a-zA-Z];
digit = [0-9];
lineno = [1-9] digit*;
-name = (letter|digit|"_")+;
+name = (letter|"_") (letter|digit|"_")*;
space = [ \t];
ws = (space | [\r\n]);
-eol = ("\r\n" | "\n");
+eol = "\r"? "\n";
+eoc = "*" "/";
lineinf = lineno (space+ dstring)? eol;
esc = "\\";
@@ -61,11 +57,8 @@ lineinf = lineno (space+ dstring)? eol;
esc_simple = esc [abfnrtv\\];
*/
-Scanner::ParseMode Scanner::echo()
+Scanner::ParseMode Scanner::echo(OutputFile &out)
{
- bool ignore_eoc = false;
- int ignore_cnt = 0;
-
if (eof && cur == eof) // Catch EOF
{
return Stop;
@@ -73,167 +66,141 @@ Scanner::ParseMode Scanner::echo()
tok = cur;
echo:
+ ptr = cur;
+
/*!re2c
- beginRE = "%{" | "/*!re2c";
- beginRE {
- if (opts->rFlag)
- {
- fatal("found standard 're2c' block while using -r flag");
- }
- if (opts->target == opt_t::CODE)
- {
- const size_t lexeme_len = cur[-1] == '{'
- ? sizeof ("%{") - 1
- : sizeof ("/*!re2c") - 1;
- out.wraw(tok, tok_len () - lexeme_len);
- }
- tok = cur;
- return Parse;
- }
- "/*!rules:re2c" {
- if (opts->rFlag)
- {
- opts.reset_mapCodeName ();
- }
- else
- {
- fatal("found 'rules:re2c' block without -r flag");
- }
- tok = cur;
- return Rules;
- }
- "/*!use:re2c" {
- if (!opts->rFlag)
- {
- fatal("found 'use:re2c' block without -r flag");
- }
- reuse();
- if (opts->target == opt_t::CODE)
- {
- const size_t lexeme_len = sizeof ("/*!use:re2c") - 1;
- out.wraw(tok, tok_len () - lexeme_len);
- }
- tok = cur;
- return Reuse;
- }
+ "%{" | "/*!re2c" {
+ out.wraw(tok, ptr);
+ return Parse;
+ }
+
+ "/*!rules:re2c" {
+ out.wraw(tok, ptr);
+ return Rules;
+ }
+
+ "/*!use:re2c" {
+ out.wraw(tok, ptr);
+ return Reuse;
+ }
+
+ "/*!ignore:re2c" {
+ out.wraw(tok, ptr);
+ lex_end_of_comment(out);
+ goto echo;
+ }
+
"/*!max:re2c" {
- if (opts->target != opt_t::DOT)
- {
- out.wdelay_yymaxfill ();
- }
- tok = pos = cur;
- ignore_eoc = true;
- goto echo;
- }
+ out.wraw(tok, ptr);
+ out.wdelay_yymaxfill();
+ lex_end_of_comment(out);
+ goto echo;
+ }
+
+ "/*!maxnmatch:re2c" {
+ out.wraw(tok, ptr);
+ out.wdelay_yymaxnmatch();
+ lex_end_of_comment(out);
+ goto echo;
+ }
+
"/*!getstate:re2c" {
- tok = pos = cur;
- out.wdelay_state_goto (opts->topIndent);
- ignore_eoc = true;
- goto echo;
- }
- "/*!ignore:re2c" {
- tok = pos = cur;
- ignore_eoc = true;
- goto echo;
- }
+ out.wraw(tok, ptr);
+ out.wdelay_state_goto(0);
+ lex_end_of_comment(out);
+ goto echo;
+ }
+
"/*!types:re2c" {
- tok = pos = cur;
- ignore_eoc = true;
- if (opts->target != opt_t::DOT)
- {
- out.wdelay_line_info ().ws("\n")
- .wdelay_types ().ws("\n")
- .wline_info (cline, get_fname ().c_str ());
- }
- goto echo;
- }
- "*" "/" "\r"? "\n" {
- cline++;
- if (ignore_eoc)
- {
- if (ignore_cnt)
- {
- out.wline_info (cline, get_fname ().c_str ());
- }
- ignore_eoc = false;
- ignore_cnt = 0;
- }
- else if (opts->target == opt_t::CODE)
- {
- out.wraw(tok, tok_len ());
- }
- tok = pos = cur;
- goto echo;
- }
- "*" "/" {
- if (ignore_eoc)
- {
- if (ignore_cnt)
- {
- out.ws("\n").wline_info (cline, get_fname ().c_str ());
- }
- ignore_eoc = false;
- ignore_cnt = 0;
- }
- else if (opts->target == opt_t::CODE)
- {
- out.wraw(tok, tok_len ());
- }
- tok = pos = cur;
- goto echo;
- }
- "\n" space* "#" space* "line" space+ / lineinf {
- set_sourceline ();
- goto echo;
- }
- "\n" {
- if (ignore_eoc)
- {
- ignore_cnt++;
- }
- else if (opts->target == opt_t::CODE)
- {
- out.wraw(tok, tok_len ());
- }
- tok = pos = cur;
- cline++;
- goto echo;
- }
- zero {
- if (!ignore_eoc && opts->target == opt_t::CODE)
- {
- out.wraw(tok, tok_len () - 1);
- // -1 so we don't write out the \0
- }
- if(cur == eof)
- {
- return Stop;
- }
- }
- * {
- goto echo;
- }
+ out.wraw(tok, ptr);
+ out.wdelay_line_info();
+ out.wdelay_types();
+ out.wline_info(cline, get_fname().c_str());
+ lex_end_of_comment(out);
+ goto echo;
+ }
+
+ "/*!stags:re2c" {
+ out.wraw(tok, ptr);
+ lex_tags(out, false);
+ goto echo;
+ }
+
+ "/*!mtags:re2c" {
+ out.wraw(tok, ptr);
+ lex_tags(out, true);
+ goto echo;
+ }
+
+ zero {
+ if (cur != eof) goto echo;
+ out.wraw(tok, ptr);
+ return Stop;
+ }
+
+ eol space* "#" space* "line" space+ / lineinf {
+ set_sourceline();
+ goto echo;
+ }
+
+ eol {
+ cline++;
+ pos = cur;
+ goto echo;
+ }
+
+ * { goto echo; }
*/
}
-int Scanner::scan()
+void Scanner::lex_end_of_comment(OutputFile &out)
+{
+ uint32_t ignored = 0;
+ for (;;) {/*!re2c
+ zero { fatal_lc(get_cline(), get_column(), "expected end of block"); }
+
+ * { continue; }
+ eol { ++ignored; continue; }
+ eoc {
+ if (ignored > 0) {
+ cline += ignored;
+ out.wline_info(cline, get_fname().c_str());
+ }
+ tok = pos = cur;
+ return;
+ }
+ */}
+}
+
+void Scanner::lex_tags(OutputFile &out, bool mtags)
{
- uint32_t depth;
+ std::string fmt, sep;
+ for (;;) {/*!re2c
+ * { fatal_lc(get_cline(), get_column(), "unrecognized configuration"); }
+
+ "format" { fmt = lex_conf_string(); continue; }
+ "separator" { sep = lex_conf_string(); continue; }
+
+ space+ { continue; }
+ eol { ++cline; continue; }
+ eoc {
+ out.wdelay_tags(new ConfTags(fmt, sep), mtags);
+ tok = pos = cur;
+ return;
+ }
+ */}
+}
+int Scanner::scan(const conopt_t *globopts)
+{
+ uint32_t depth, code_line;
scan:
tchar = cur - pos;
- tline = cline;
tok = cur;
- switch (lexer_state)
- {
- case LEX_NORMAL: goto start;
- case LEX_FLEX_NAME: goto flex_name;
- }
-
-start:
/*!re2c
"{" {
depth = 1;
+ code_line = cline;
goto code;
}
@@ -244,6 +211,7 @@ start:
":=" {
tok += 2; /* skip ":=" */
depth = 0;
+ code_line = cline;
goto code;
}
@@ -261,78 +229,67 @@ start:
return 0;
}
- "'" { yylval.regexp = lex_str('\'', opts->bCaseInsensitive || !opts->bCaseInverted); return TOKEN_REGEXP; }
- "\"" { yylval.regexp = lex_str('"', opts->bCaseInsensitive || opts->bCaseInverted); return TOKEN_REGEXP; }
+ "'" { yylval.regexp = lex_str('\''); return TOKEN_REGEXP; }
+ "\"" { yylval.regexp = lex_str('"'); return TOKEN_REGEXP; }
"[" { yylval.regexp = lex_cls(false); return TOKEN_REGEXP; }
"[^" { yylval.regexp = lex_cls(true); return TOKEN_REGEXP; }
- "<>" / (space* ("{" | "=>" | ":=")) {
- return TOKEN_NOCOND;
- }
- "<!" {
- return TOKEN_SETUP;
- }
- [<>,()|=;/\\] {
- return *tok;
- }
+ [@#] name {
+ const std::string *name = new std::string(tok + 1, tok_len() - 1);
+ yylval.regexp = ast_tag(cline, get_column(), name, tok[0] == '#');
+ return TOKEN_REGEXP;
+ }
- "*" {
- yylval.op = *tok;
- return TOKEN_STAR;
- }
- [+?] {
- yylval.op = *tok;
- return TOKEN_CLOSE;
- }
+ [*+?<>!,()|=;/\\] { return *tok; }
"{" [0-9]+ "}" {
- if (!s_to_u32_unsafe (tok + 1, cur - 1, yylval.extop.min))
+ if (!s_to_u32_unsafe (tok + 1, cur - 1, yylval.bounds.min))
{
- fatal ("repetition count overflow");
+ fatal_lc(get_cline(), get_column(), "repetition count overflow");
}
- yylval.extop.max = yylval.extop.min;
+ yylval.bounds.max = yylval.bounds.min;
return TOKEN_CLOSESIZE;
}
"{" [0-9]+ "," [0-9]+ "}" {
const char * p = strchr (tok, ',');
- if (!s_to_u32_unsafe (tok + 1, p, yylval.extop.min))
+ if (!s_to_u32_unsafe (tok + 1, p, yylval.bounds.min))
{
- fatal ("repetition lower bound overflow");
+ fatal_lc(get_cline(), get_column(), "repetition lower bound overflow");
}
- if (!s_to_u32_unsafe (p + 1, cur - 1, yylval.extop.max))
+ if (!s_to_u32_unsafe (p + 1, cur - 1, yylval.bounds.max))
{
- fatal ("repetition upper bound overflow");
+ fatal_lc(get_cline(), get_column(), "repetition upper bound overflow");
}
return TOKEN_CLOSESIZE;
}
"{" [0-9]+ ",}" {
- if (!s_to_u32_unsafe (tok + 1, cur - 2, yylval.extop.min))
+ if (!s_to_u32_unsafe (tok + 1, cur - 2, yylval.bounds.min))
{
- fatal ("repetition lower bound overflow");
+ fatal_lc(get_cline(), get_column(), "repetition lower bound overflow");
}
- yylval.extop.max = std::numeric_limits<uint32_t>::max();
+ yylval.bounds.max = std::numeric_limits<uint32_t>::max();
return TOKEN_CLOSESIZE;
}
"{" [0-9]* "," {
- fatal("illegal closure form, use '{n}', '{n,}', '{n,m}' where n and m are numbers");
+ fatal_lc(get_cline(), get_column(), "illegal closure form, use '{n}', '{n,}', '{n,m}' where n and m are numbers");
}
"{" name "}" {
- if (!opts->FFlag) {
- fatal("curly braces for names only allowed with -F switch");
+ if (!globopts->FFlag) {
+ fatal_lc(get_cline(), get_column(), "curly braces for names only allowed with -F switch");
}
yylval.str = new std::string (tok + 1, tok_len () - 2); // -2 to omit braces
return TOKEN_ID;
}
- "re2c:" { lex_conf (); return TOKEN_CONF; }
+ "re2c:" { return TOKEN_CONF; }
name / (space+ [^=>,]) {
yylval.str = new std::string (tok, tok_len ());
- if (opts->FFlag)
+ if (globopts->FFlag)
{
lexer_state = LEX_FLEX_NAME;
return TOKEN_FID;
@@ -349,23 +306,24 @@ start:
}
name / [^] {
- if (!opts->FFlag) {
+ if (!globopts->FFlag) {
yylval.str = new std::string (tok, tok_len());
return TOKEN_ID;
} else {
- RegExp *r = NULL;
- const bool casing = opts->bCaseInsensitive || opts->bCaseInverted;
+ std::vector<ASTChar> *str = new std::vector<ASTChar>;
for (char *s = tok; s < cur; ++s) {
- const uint32_t c = static_cast<uint8_t>(*s);
- r = doCat(r, casing ? ichr(c) : schr(c));
+ const uint32_t
+ chr = static_cast<uint8_t>(*s),
+ col = static_cast<uint32_t>(s - tok);
+ str->push_back(ASTChar(chr, col));
}
- yylval.regexp = r ? r : new NullOp;
+ yylval.regexp = ast_str(cline, get_column(), str, false);
return TOKEN_REGEXP;
}
}
"." {
- yylval.regexp = mkDot();
+ yylval.regexp = ast_dot(cline, get_column());
return TOKEN_REGEXP;
}
@@ -374,48 +332,38 @@ start:
}
eol space* "#" space* "line" space+ / lineinf {
- set_sourceline ();
- goto scan;
- }
+ set_sourceline ();
+ return TOKEN_LINE_INFO;
+ }
- eol {
- if (cur == eof) return 0;
- pos = cur;
- cline++;
- goto scan;
- }
+ eol {
+ if (cur == eof) return 0;
+ pos = cur;
+ cline++;
+ if (lexer_state == LEX_FLEX_NAME) {
+ lexer_state = LEX_NORMAL;
+ return TOKEN_FID_END;
+ } else {
+ goto scan;
+ }
+ }
* {
- fatalf("unexpected character: '%c'", *tok);
+ fatal_lc(get_cline(), get_column(), "unexpected character: '%c'", *tok);
goto scan;
}
*/
-flex_name:
-/*!re2c
- eol
- {
- YYCURSOR = tok;
- lexer_state = LEX_NORMAL;
- return TOKEN_FID_END;
- }
- *
- {
- YYCURSOR = tok;
- goto start;
- }
-*/
-
code:
/*!re2c
"}" {
if (depth == 0)
{
- fatal("Curly braces are not allowed after ':='");
+ fatal_l(get_cline(), "Curly braces are not allowed after ':='");
}
else if (--depth == 0)
{
- yylval.code = new Code (tok, tok_len (), get_fname (), tline);
+ yylval.code = new Code(get_fname (), code_line, tok, tok_len ());
return TOKEN_CODE;
}
goto code;
@@ -423,7 +371,7 @@ code:
"{" {
if (depth == 0)
{
- fatal("Curly braces are not allowed after ':='");
+ fatal_l(get_cline(), "Curly braces are not allowed after ':='");
}
else
{
@@ -442,7 +390,7 @@ code:
}
else if (cur == eof)
{
- fatal("missing '}'");
+ fatal_l(get_cline(), "missing '}'");
}
pos = cur;
cline++;
@@ -456,12 +404,12 @@ code:
{
--cur;
}
- yylval.code = new Code (tok, tok_len (), get_fname (), tline);
+ yylval.code = new Code(get_fname (), code_line, tok, tok_len ());
return TOKEN_CODE;
}
else if (cur == eof)
{
- fatal("missing '}'");
+ fatal_l(get_cline(), "missing '}'");
}
pos = cur;
cline++;
@@ -472,7 +420,7 @@ code:
{
if (depth)
{
- fatal("missing '}'");
+ fatal_l(get_cline(), "missing '}'");
}
return 0;
}
@@ -488,7 +436,7 @@ code:
comment:
/*!re2c
- "*/" {
+ "*" "/" {
if (--depth == 0)
{
goto scan;
@@ -498,9 +446,9 @@ comment:
goto comment;
}
}
- "/*" {
+ "/" "*" {
++depth;
- fatal("ambiguous /* found");
+ fatal_lc(get_cline(), get_column(), "ambiguous /* found");
goto comment;
}
"\n" space* "#" space* "line" space+ / lineinf {
@@ -556,13 +504,15 @@ static void escape (std::string & dest, const std::string & src)
}
}
-RegExp *Scanner::lex_cls(bool neg)
+const AST *Scanner::lex_cls(bool neg)
{
- Range *r = NULL, *s;
- uint32_t u, l;
+ std::vector<ASTRange> *cls = new std::vector<ASTRange>;
+ uint32_t u, l, c, c0 = get_column();
fst:
+ tok = cur;
+ c = get_column();
/*!re2c
- "]" { goto end; }
+ "]" { return ast_cls(cline, c0, cls, neg); }
"" { l = lex_cls_chr(); goto snd; }
*/
snd:
@@ -571,33 +521,27 @@ snd:
"-" / [^\]] {
u = lex_cls_chr();
if (l > u) {
- warn.swapped_range(get_line(), l, u);
+ warn.swapped_range(cline, l, u);
std::swap(l, u);
}
goto add;
}
*/
add:
- if (!(s = opts->encoding.encodeRange(l, u))) {
- fatalf ("Bad code point range: '0x%X - 0x%X'", l, u);
- }
- r = Range::add(r, s);
+ cls->push_back(ASTRange(l, u, c));
goto fst;
-end:
- if (neg) {
- r = Range::sub(opts->encoding.fullRange(), r);
- }
- return cls(r);
}
uint32_t Scanner::lex_cls_chr()
{
tok = cur;
+ const uint32_t l = get_cline(), c = get_column();
/*!re2c
- * { fatal ((tok - pos) - tchar, "syntax error"); }
- esc [xXuU] { fatal ((tok - pos) - tchar, "syntax error in hexadecimal escape sequence"); }
- esc [0-7] { fatal ((tok - pos) - tchar, "syntax error in octal escape sequence"); }
- esc { fatal ((tok - pos) - tchar, "syntax error in escape sequence"); }
+ * { fatal_lc(l, c, "syntax error"); }
+ esc? eol { fatal_lc(l, c, "newline in character class"); }
+ esc [xXuU] { fatal_lc(l, c, "syntax error in hexadecimal escape sequence"); }
+ esc [0-7] { fatal_lc(l, c, "syntax error in octal escape sequence"); }
+ esc { fatal_lc(l, c, "syntax error in escape sequence"); }
. \ esc { return static_cast<uint8_t>(tok[0]); }
esc_hex { return unesc_hex(tok, cur); }
@@ -613,7 +557,7 @@ uint32_t Scanner::lex_cls_chr()
esc "-" { return static_cast<uint8_t>('-'); }
esc "]" { return static_cast<uint8_t>(']'); }
esc . {
- warn.useless_escape(tline, tok - pos, tok[1]);
+ warn.useless_escape(cline, get_column(), tok[1]);
return static_cast<uint8_t>(tok[1]);
}
*/
@@ -623,11 +567,13 @@ uint32_t Scanner::lex_str_chr(char quote, bool &end)
{
end = false;
tok = cur;
+ const uint32_t l = get_cline(), c = get_column();
/*!re2c
- * { fatal ((tok - pos) - tchar, "syntax error"); }
- esc [xXuU] { fatal ((tok - pos) - tchar, "syntax error in hexadecimal escape sequence"); }
- esc [0-7] { fatal ((tok - pos) - tchar, "syntax error in octal escape sequence"); }
- esc { fatal ((tok - pos) - tchar, "syntax error in escape sequence"); }
+ * { fatal_lc(l, c, "syntax error"); }
+ esc? eol { fatal_lc(l, c, "newline in character string"); }
+ esc [xXuU] { fatal_lc(l, c, "syntax error in hexadecimal escape sequence"); }
+ esc [0-7] { fatal_lc(l, c, "syntax error in octal escape sequence"); }
+ esc { fatal_lc(l, c, "syntax error in escape sequence"); }
. \ esc {
end = tok[0] == quote;
@@ -645,22 +591,21 @@ uint32_t Scanner::lex_str_chr(char quote, bool &end)
esc "\\" { return static_cast<uint8_t>('\\'); }
esc . {
if (tok[1] != quote) {
- warn.useless_escape(tline, tok - pos, tok[1]);
+ warn.useless_escape(cline, get_column(), tok[1]);
}
return static_cast<uint8_t>(tok[1]);
}
*/
}
-RegExp *Scanner::lex_str(char quote, bool casing)
+const AST *Scanner::lex_str(char quote)
{
- RegExp *r = NULL;
+ const uint32_t column = get_column();
+ std::vector<ASTChar> *str = new std::vector<ASTChar>;
for (bool end;;) {
const uint32_t c = lex_str_chr(quote, end);
- if (end) {
- return r ? r : new NullOp;
- }
- r = doCat(r, casing ? ichr(c) : schr(c));
+ if (end) return ast_str(cline, column, str, quote == '\'');
+ str->push_back(ASTChar(c, get_column()));
}
}
@@ -672,7 +617,7 @@ sourceline:
lineno {
if (!s_to_u32_unsafe (tok, cur, cline))
{
- fatal ("line number overflow");
+ fatal_lc(get_cline(), get_column(), "line number overflow");
}
goto sourceline;
}
diff --git a/src/ast/lex_conf.re b/src/ast/lex_conf.re
new file mode 100644
index 00000000..4582413c
--- /dev/null
+++ b/src/ast/lex_conf.re
@@ -0,0 +1,300 @@
+#include "src/util/c99_stdint.h"
+#include <string>
+
+#include "src/code/output.h"
+#include "src/conf/msg.h"
+#include "src/re/encoding/enc.h"
+#include "src/ast/scanner.h"
+#include "src/util/s_to_n32_unsafe.h"
+
+namespace re2c
+{
+
+// global re2c config (affects the whole file)
+/*!re2c
+ re2c:define:YYCTYPE = "unsigned char";
+ re2c:define:YYCURSOR = cur;
+ re2c:define:YYLIMIT = lim;
+ re2c:define:YYMARKER = mar;
+ re2c:define:YYCTXMARKER = ctx;
+ re2c:define:YYFILL = fill;
+
+ // source code is in ASCII: pointers have type 'char *'
+ // but re2c makes an implicit assumption that YYCTYPE is unsigned
+ // when it generates comparisons
+ re2c:yych:conversion = 1;
+
+ space = [ \t];
+
+ conf_assign = space* "=" space*;
+
+ naked_char = . \ (space | [;]);
+ naked = (naked_char \ ['"]) naked_char*;
+
+ number = "0" | ("-"? [1-9] [0-9]*);
+*/
+
+void Scanner::lex_conf(Opt &opts)
+{
+ tok = cur;
+ const uint32_t l = get_cline(), c = get_column();
+/*!re2c
+ "flags:" ("b" | "bit-vectors") { opts.set_bFlag(lex_conf_bool()); return; }
+ "flags:" ("d" | "debug-output") { opts.set_dFlag(lex_conf_bool()); return; }
+ "flags:" ("g" | "computed-gotos") { opts.set_gFlag(lex_conf_bool()); return; }
+ "flags:" ("i" | "no-debug-info") { opts.set_iFlag(lex_conf_bool()); return; }
+ "flags:" ("s" | "nested-ifs") { opts.set_sFlag(lex_conf_bool()); return; }
+ "flags:" ("T" | "tags") { opts.set_tags(lex_conf_bool()); return; }
+ "flags:" ("P" | "posix-captures") { opts.set_posix_captures(lex_conf_bool()); return; }
+ "flags:case-insensitive" { opts.set_bCaseInsensitive(lex_conf_bool()); return; }
+ "flags:case-inverted" { opts.set_bCaseInverted(lex_conf_bool()); return; }
+ "flags:lookahead" { opts.set_lookahead(lex_conf_bool()); return; }
+ "flags:optimize-tags" { opts.set_optimize_tags(lex_conf_bool()); return; }
+ "flags:eager-skip" { opts.set_eager_skip(lex_conf_bool()); return; }
+
+ "flags:" ("e" | "ecb") { lex_conf_enc(Enc::EBCDIC, opts); return; }
+ "flags:" ("u" | "unicode") { lex_conf_enc(Enc::UTF32, opts); return; }
+ "flags:" ("w" | "wide-chars") { lex_conf_enc(Enc::UCS2, opts); return; }
+ "flags:" ("x" | "utf-16") { lex_conf_enc(Enc::UTF16, opts); return; }
+ "flags:" ("8" | "utf-8") { lex_conf_enc(Enc::UTF8, opts); return; }
+
+ "flags:encoding-policy" { lex_conf_encoding_policy(opts); return; }
+ "flags:input" { lex_conf_input(opts); return; }
+ "flags:empty-class" { lex_conf_empty_class(opts); return; }
+ "flags:dfa-minimization" { lex_conf_dfa_minimization(opts); return; }
+
+ "define:YYCONDTYPE" { opts.set_yycondtype (lex_conf_string ()); return; }
+ "define:YYGETCONDITION" { opts.set_cond_get (lex_conf_string ()); return; }
+ "define:YYGETCONDITION:naked" { opts.set_cond_get_naked (lex_conf_bool()); return; }
+ "define:YYSETCONDITION" { opts.set_cond_set (lex_conf_string ()); return; }
+ "define:YYSETCONDITION@cond" { opts.set_cond_set_arg (lex_conf_string ()); return; }
+ "define:YYSETCONDITION:naked" { opts.set_cond_set_naked (lex_conf_bool()); return; }
+ "condprefix" { opts.set_condPrefix (lex_conf_string ()); return; }
+ "condenumprefix" { opts.set_condEnumPrefix (lex_conf_string ()); return; }
+ "cond:divider" { opts.set_condDivider (lex_conf_string ()); return; }
+ "cond:divider@cond" { opts.set_condDividerParam (lex_conf_string ()); return; }
+ "cond:goto" { opts.set_condGoto (lex_conf_string ()); return; }
+ "cond:goto@cond" { opts.set_condGotoParam (lex_conf_string ()); return; }
+ "variable:yyctable" { opts.set_yyctable (lex_conf_string ()); return; }
+
+ "define:YYGETSTATE" { opts.set_state_get (lex_conf_string ()); return; }
+ "define:YYGETSTATE:naked" { opts.set_state_get_naked (lex_conf_bool()); return; }
+ "define:YYSETSTATE" { opts.set_state_set (lex_conf_string ()); return; }
+ "define:YYSETSTATE:naked" { opts.set_state_set_naked (lex_conf_bool()); return; }
+ "define:YYSETSTATE@state" { opts.set_state_set_arg (lex_conf_string ()); return; }
+ "label:yyFillLabel" { opts.set_yyfilllabel (lex_conf_string ()); return; }
+ "label:yyNext" { opts.set_yynext (lex_conf_string ()); return; }
+ "state:abort" { opts.set_bUseStateAbort (lex_conf_bool()); return; }
+ "state:nextlabel" { opts.set_bUseStateNext (lex_conf_bool()); return; }
+ "variable:yyaccept" { opts.set_yyaccept (lex_conf_string ()); return; }
+
+ "variable:yybm" { opts.set_yybm (lex_conf_string ()); return; }
+ "yybm:hex" { opts.set_yybmHexTable (lex_conf_bool()); return; }
+ "cgoto:threshold"
+ {
+ const int32_t n = lex_conf_number ();
+ if (n < 0)
+ {
+ fatal_lc(l, c, "configuration 'cgoto:threshold' must be nonnegative");
+ }
+ opts.set_cGotoThreshold (static_cast<uint32_t> (n));
+ return;
+ }
+ "variable:yytarget" { opts.set_yytarget (lex_conf_string ()); return; }
+
+ "define:YYCURSOR" { opts.set_yycursor (lex_conf_string ()); return; }
+ "define:YYMARKER" { opts.set_yymarker (lex_conf_string ()); return; }
+ "define:YYCTXMARKER" { opts.set_yyctxmarker (lex_conf_string ()); return; }
+ "define:YYLIMIT" { opts.set_yylimit (lex_conf_string ()); return; }
+
+ "define:YYPEEK" { opts.set_yypeek (lex_conf_string ()); return; }
+ "define:YYSKIP" { opts.set_yyskip (lex_conf_string ()); return; }
+ "define:YYBACKUP" { opts.set_yybackup (lex_conf_string ()); return; }
+ "define:YYBACKUPCTX" { opts.set_yybackupctx (lex_conf_string ()); return; }
+ "define:YYRESTORE" { opts.set_yyrestore (lex_conf_string ()); return; }
+ "define:YYRESTORECTX" { opts.set_yyrestorectx (lex_conf_string ()); return; }
+ "define:YYRESTORETAG" { opts.set_yyrestoretag (lex_conf_string ()); return; }
+ "define:YYLESSTHAN" { opts.set_yylessthan (lex_conf_string ()); return; }
+ "define:YYSTAGN" { opts.set_yystagn (lex_conf_string ()); return; }
+ "define:YYSTAGP" { opts.set_yystagp (lex_conf_string ()); return; }
+ "define:YYMTAGN" { opts.set_yymtagn (lex_conf_string ()); return; }
+ "define:YYMTAGP" { opts.set_yymtagp (lex_conf_string ()); return; }
+
+ "tags:prefix" { opts.set_tags_prefix (lex_conf_string ()); return; }
+ "tags:expression" { opts.set_tags_expression(lex_conf_string ()); return; }
+
+ "indent:string" { opts.set_indString (lex_conf_string ()); return; }
+ "indent:top"
+ {
+ const int32_t n = lex_conf_number ();
+ if (n < 0)
+ {
+ fatal_lc(l, c, "configuration 'indent:top' must be nonnegative");
+ }
+ opts.set_topIndent (static_cast<uint32_t> (n));
+ return;
+ }
+
+ "define:YYDEBUG" { opts.set_yydebug (lex_conf_string ()); return; }
+
+ "define:YYCTYPE" { opts.set_yyctype (lex_conf_string ()); return; }
+ "variable:yych" { opts.set_yych (lex_conf_string ()); return; }
+ "yych:conversion" { opts.set_yychConversion (lex_conf_bool()); return; }
+ "yych:emit" { opts.set_bEmitYYCh (lex_conf_bool()); return; }
+
+ "define:YYFILL" { opts.set_fill (lex_conf_string ()); return; }
+ "yyfill:enable" { opts.set_fill_use (lex_conf_bool()); return; }
+ "define:YYFILL@len" { opts.set_fill_arg (lex_conf_string ()); return; }
+ "yyfill:parameter" { opts.set_fill_arg_use (lex_conf_bool()); return; }
+ "define:YYFILL:naked" { opts.set_fill_naked (lex_conf_bool()); return; }
+ "yyfill:check" { opts.set_fill_check (lex_conf_bool()); return; }
+
+ "labelprefix" { opts.set_labelPrefix (lex_conf_string ()); return; }
+
+ // try to lex number first, otherwize it would be lexed as a naked string
+ "startlabel" / conf_assign number { opts.set_startlabel_force (lex_conf_bool()); return; }
+ "startlabel" { opts.set_startlabel (lex_conf_string()); return; }
+
+ // deprecated
+ "variable:yystable" { lex_conf_string (); return; }
+
+ [a-zA-Z0-9_:-]* {
+ fatal_lc(l, c, "unrecognized configuration '%.*s'",
+ static_cast<int>(cur - tok), tok);
+ }
+*/
+}
+
+void Scanner::lex_conf_encoding_policy(Opt &opts)
+{
+ lex_conf_assign ();
+/*!re2c
+ * { fatal_lc(get_cline(), get_column(),
+ "bad configuration value (expected: 'ignore', 'substitute', 'fail')"); }
+ "ignore" { opts.set_encoding_policy(Enc::POLICY_IGNORE); goto end; }
+ "substitute" { opts.set_encoding_policy(Enc::POLICY_SUBSTITUTE); goto end; }
+ "fail" { opts.set_encoding_policy(Enc::POLICY_FAIL); goto end; }
+*/
+end:
+ lex_conf_semicolon();
+}
+
+void Scanner::lex_conf_input(Opt &opts)
+{
+ lex_conf_assign ();
+/*!re2c
+ * { fatal_lc(get_cline(), get_column(),
+ "bad configuration value (expected: 'default', 'custom')"); }
+ "default" { opts.set_input_api(INPUT_DEFAULT); goto end; }
+ "custom" { opts.set_input_api(INPUT_CUSTOM); goto end; }
+*/
+end:
+ lex_conf_semicolon();
+}
+
+void Scanner::lex_conf_empty_class(Opt &opts)
+{
+ lex_conf_assign ();
+/*!re2c
+ * { fatal_lc(get_cline(), get_column(),
+ "bad configuration value (expected: 'match-empty', 'match-none', 'error')"); }
+ "match-empty" { opts.set_empty_class_policy(EMPTY_CLASS_MATCH_EMPTY); goto end; }
+ "match-none" { opts.set_empty_class_policy(EMPTY_CLASS_MATCH_NONE); goto end; }
+ "error" { opts.set_empty_class_policy(EMPTY_CLASS_ERROR); goto end; }
+*/
+end:
+ lex_conf_semicolon();
+}
+
+void Scanner::lex_conf_dfa_minimization(Opt &opts)
+{
+ lex_conf_assign ();
+/*!re2c
+ * { fatal_lc(get_cline(), get_column(),
+ "bad configuration value (expected: 'table', 'moore')"); }
+ "table" { opts.set_dfa_minimization(DFA_MINIMIZATION_TABLE); goto end; }
+ "moore" { opts.set_dfa_minimization(DFA_MINIMIZATION_MOORE); goto end; }
+*/
+end:
+ lex_conf_semicolon();
+}
+
+void Scanner::lex_conf_enc(Enc::type_t enc, Opt &opts)
+{
+ if (lex_conf_bool()) {
+ opts.set_encoding(enc);
+ } else {
+ opts.unset_encoding(enc);
+ }
+}
+
+void Scanner::lex_conf_assign ()
+{
+/*!re2c
+ * { fatal_lc(get_cline(), get_column(), "missing '=' in configuration"); }
+ conf_assign { return; }
+*/
+}
+
+void Scanner::lex_conf_semicolon ()
+{
+/*!re2c
+ * { fatal_lc(get_cline(), get_column(), "missing ending ';' in configuration"); }
+ space* ";" { return; }
+*/
+}
+
+bool Scanner::lex_conf_bool()
+{
+ return lex_conf_number() != 0;
+}
+
+int32_t Scanner::lex_conf_number ()
+{
+ lex_conf_assign ();
+ tok = cur;
+/*!re2c
+ number {
+ int32_t n = 0;
+ if (!s_to_i32_unsafe (tok, cur, n)) {
+ fatal_lc(get_cline(), get_column(), "configuration value overflow");
+ }
+ lex_conf_semicolon ();
+ return n;
+ }
+*/
+}
+
+std::string Scanner::lex_conf_string ()
+{
+ lex_conf_assign ();
+ std::string s;
+ tok = cur;
+/*!re2c
+ ['"] {
+ const char quote = tok[0];
+ for (bool end;;) {
+ const uint32_t c = lex_str_chr(quote, end);
+ if (end) {
+ goto end;
+ }
+ if (c > 0xFF) {
+ fatal_lc(get_cline(), get_column(),
+ "multibyte character in configuration string: 0x%X", c);
+ } else {
+ s += static_cast<char>(c);
+ }
+ }
+ }
+ naked {
+ s = std::string(tok, tok_len());
+ goto end;
+ }
+ "" { goto end; }
+*/
+end:
+ lex_conf_semicolon ();
+ return s;
+}
+
+} // end namespace re2c
diff --git a/src/ast/normalize.cc b/src/ast/normalize.cc
new file mode 100644
index 00000000..dda268de
--- /dev/null
+++ b/src/ast/normalize.cc
@@ -0,0 +1,49 @@
+#include <string>
+#include <vector>
+
+#include "src/ast/ast.h"
+#include "src/re/rule.h"
+
+namespace re2c {
+
+void normalize_ast(specs_t &specs)
+{
+ specs_t::iterator i, b = specs.begin(), e = specs.end();
+
+ // merge <*> rules and <!*> setup to all conditions except "0"
+ // star rules must have lower priority than normal rules
+ for (i = b; i != e && i->name != "*"; ++i);
+ if (i != e) {
+ const specs_t::iterator star = i;
+
+ for (i = b; i != e; ++i) {
+ if (i == star || i->name == "0") continue;
+
+ i->rules.insert(i->rules.end(), star->rules.begin(), star->rules.end());
+ i->defs.insert(i->defs.end(), star->defs.begin(), star->defs.end());
+ i->setup.insert(i->setup.end(), star->setup.begin(), star->setup.end());
+ }
+
+ specs.erase(star);
+ e = specs.end();
+ }
+
+ // merge default rule with the lowest priority
+ for (i = b; i != e; ++i) {
+ if (!i->defs.empty()) {
+ const Code *c = i->defs[0];
+ const AST *r = ast_default(c->fline, 0);
+ i->rules.push_back(ASTRule(r, c));
+ }
+ }
+
+ // "0" condition must be the first one
+ for (i = b; i != e && i->name != "0"; ++i);
+ if (i != e && i != b) {
+ const spec_t zero = *i;
+ specs.erase(i);
+ specs.insert(specs.begin(), zero);
+ }
+}
+
+} // namespace re2c
diff --git a/src/ast/parser.h b/src/ast/parser.h
new file mode 100644
index 00000000..88469ae1
--- /dev/null
+++ b/src/ast/parser.h
@@ -0,0 +1,32 @@
+#ifndef _RE2C_AST_PARSER_
+#define _RE2C_AST_PARSER_
+
+#include <set>
+#include <string>
+
+#include "src/ast/ast.h"
+#include "src/ast/scanner.h"
+#include "src/conf/msg.h"
+#include "src/conf/opt.h"
+
+namespace re2c
+{
+
+class Scanner;
+struct Opt;
+
+typedef std::set<std::string> CondList;
+
+struct context_t
+{
+ Scanner &input;
+ specs_t &specs;
+ symtab_t &symtab;
+ Opt &opts;
+};
+
+void parse(Scanner &input, specs_t &specs, symtab_t &symtab, Opt &opts);
+
+} // namespace re2c
+
+#endif // _RE2C_AST_PARSER_
diff --git a/src/ast/parser.ypp b/src/ast/parser.ypp
new file mode 100644
index 00000000..76a6a567
--- /dev/null
+++ b/src/ast/parser.ypp
@@ -0,0 +1,274 @@
+%{
+
+#include "src/ast/parser.h"
+
+#define YYMALLOC malloc
+#define YYFREE free
+
+using namespace re2c;
+
+extern "C" {
+
+int yylex(context_t &context);
+void yyerror(context_t &context, const char*);
+
+} // extern "C"
+
+/* Bison version 1.875 emits a definition that is not working
+ * with several g++ version. Hence we disable it here.
+ */
+#if defined(__GNUC__)
+#define __attribute__(x)
+#endif
+
+static spec_t &find(specs_t &specs, const std::string &name)
+{
+ for (specs_t::iterator i = specs.begin(); i != specs.end(); ++i) {
+ if (i->name == name) return *i;
+ }
+ specs.push_back(spec_t(name));
+ return specs.back();
+}
+
+%}
+
+%start spec
+
+%lex-param {re2c::context_t &context}
+%parse-param {re2c::context_t &context}
+
+%union {
+ const re2c::AST * regexp;
+ re2c::Code * code;
+ char op;
+ re2c::ASTBounds bounds;
+ std::string * str;
+ re2c::CondList * clist;
+};
+
+%token TOKEN_CLOSESIZE
+%token TOKEN_CODE
+%token TOKEN_CONF
+%token TOKEN_ID
+%token TOKEN_FID
+%token TOKEN_FID_END
+%token TOKEN_LINE_INFO
+%token TOKEN_REGEXP
+
+%type <op> close closes
+%type <bounds> TOKEN_CLOSESIZE
+%type <code> TOKEN_CODE ccode
+%type <regexp> TOKEN_REGEXP trailexpr rule expr diff term factor primary
+%type <str> TOKEN_ID TOKEN_FID name
+%type <clist> conds clist
+
+%%
+
+spec
+ : /* empty */
+ | spec TOKEN_CONF { context.input.lex_conf(context.opts); }
+ | spec def
+ | spec rule
+ | spec TOKEN_LINE_INFO
+ ;
+
+def
+ : name expr enddef {
+ if (!context.symtab.insert(std::make_pair(*$1, $2)).second) {
+ fatal_l(context.input.get_cline(), "sym already defined");
+ }
+ delete $1;
+ }
+ /* errors */
+ | name expr '/' {
+ fatal_l(context.input.get_cline(),
+ "trailing contexts are not allowed in named definitions");
+ };
+
+name
+ : TOKEN_ID '=' {
+ $$ = $1;
+ }
+ | TOKEN_FID {
+ $$ = $1;
+ };
+
+enddef: ';' | TOKEN_FID_END;
+
+rule
+ : trailexpr TOKEN_CODE {
+ find(context.specs, "").rules.push_back(ASTRule($1, $2));
+ }
+
+ | '*' TOKEN_CODE {
+ find(context.specs, "").defs.push_back($2);
+ }
+
+ | '<' clist '>' trailexpr ccode {
+ for(CondList::const_iterator i = $2->begin(); i != $2->end(); ++i) {
+ find(context.specs, *i).rules.push_back(ASTRule($4, $5));
+ }
+ delete $2;
+ }
+
+ | '<' clist '>' '*' ccode {
+ for(CondList::const_iterator i = $2->begin(); i != $2->end(); ++i) {
+ find(context.specs, *i).defs.push_back($5);
+ }
+ delete $2;
+ }
+
+ | '<' '!' clist '>' TOKEN_CODE {
+ for (CondList::const_iterator i = $3->begin(); i != $3->end(); ++i) {
+ find(context.specs, *i).setup.push_back($5);
+ }
+ delete $3;
+ }
+
+ | '<' '>' ccode {
+ const AST *r = ast_nil(context.input.get_cline(), 0);
+ find(context.specs, "0").rules.push_back(ASTRule(r, $3));
+ };
+
+ccode
+ : TOKEN_CODE
+
+ | '=' '>' TOKEN_ID TOKEN_CODE {
+ $$ = $4;
+ $$->cond = *$3;
+ delete $3;
+ }
+
+ | ':' '=' '>' TOKEN_ID {
+ $$ = new Code(context.input.get_fname(), context.input.get_cline());
+ $$->cond = *$4;
+ delete $4;
+ };
+
+clist
+ : conds
+ | '*' {
+ $$ = new CondList;
+ $$->insert("*");
+ };
+
+conds
+ : TOKEN_ID {
+ $$ = new CondList;
+ $$->insert(*$1);
+ delete $1;
+ }
+
+ | conds ',' TOKEN_ID {
+ $1->insert(*$3);
+ delete $3;
+ $$ = $1;
+ };
+
+trailexpr
+ : expr {
+ $$ = ast_cap($1);
+ } | expr '/' expr {
+ $$ = ast_cat(ast_cap($1),
+ ast_cat(ast_tag(context.input.get_cline(), 0, NULL, false), $3));
+ };
+
+expr:
+ diff
+ {
+ $$ = $1;
+ }
+ | expr '|' diff
+ {
+ $$ = ast_alt($1, $3);
+ }
+;
+
+diff:
+ term
+ {
+ $$ = $1;
+ }
+ | diff '\\' term
+ {
+ $$ = ast_diff($1, $3);
+ }
+;
+
+term:
+ factor
+ {
+ $$ = $1;
+ }
+ | factor term // in POSIX concatenation is right-associative
+ {
+ $$ = ast_cat($1, $2);
+ }
+;
+
+factor
+ : primary
+ | primary closes {
+ switch($2) {
+ case '*': $$ = ast_iter($1, 0, AST::MANY); break;
+ case '+': $$ = ast_iter($1, 1, AST::MANY); break;
+ case '?': $$ = ast_iter($1, 0, 1); break;
+ }
+ } | primary TOKEN_CLOSESIZE {
+ $$ = ast_iter($1, $2.min, $2.max);
+ };
+
+closes
+ : close
+ | closes close { $$ = ($1 == $2) ? $1 : '*'; }
+ ;
+
+close
+ : '*' { $$ = '*'; }
+ | '+' { $$ = '+'; }
+ | '?' { $$ = '?'; }
+ ;
+
+primary
+ : TOKEN_REGEXP
+ | TOKEN_ID {
+ symtab_t::iterator i = context.symtab.find(*$1);
+ if (i == context.symtab.end()) {
+ fatal_l(context.input.get_cline(),
+ "undefined symbol '%s'", $1->c_str());
+ }
+ $$ = i->second;
+ if (ast_need_wrap($$)) {
+ $$ = ast_ref($$, *$1);
+ }
+ delete $1;
+ } | '(' expr ')' {
+ $$ = ast_cap($2);
+ };
+
+%%
+
+extern "C" {
+
+void yyerror(context_t &context, const char* s)
+{
+ fatal_l(context.input.get_cline(), "%s", s);
+}
+
+int yylex(context_t &context)
+{
+ return context.input.scan(&context.opts.glob);
+}
+
+} // extern "C"
+
+namespace re2c
+{
+
+void parse(Scanner &input, specs_t &specs, symtab_t &symtab, Opt &opts)
+{
+ context_t context = {input, specs, symtab, opts};
+ yyparse(context);
+}
+
+} // namespace re2c
diff --git a/src/ast/scanner.cc b/src/ast/scanner.cc
new file mode 100644
index 00000000..9dd4dcfe
--- /dev/null
+++ b/src/ast/scanner.cc
@@ -0,0 +1,98 @@
+#include <stdio.h>
+#include <string.h>
+
+#include "src/ast/scanner.h"
+#include "src/conf/msg.h"
+
+// used by Scanner::fatal_at and Scanner::fatalf
+#if defined(_MSC_VER) && !defined(vsnprintf)
+# define vsnprintf _vsnprintf
+#endif
+
+namespace re2c {
+
+class Warn;
+
+const uint32_t Scanner::BSIZE = 8192;
+
+ScannerState::ScannerState ()
+ : tok (NULL)
+ , ptr (NULL)
+ , cur (NULL)
+ , mar (NULL)
+ , pos (NULL)
+ , ctx (NULL)
+ , bot (NULL)
+ , lim (NULL)
+ , top (NULL)
+ , eof (NULL)
+ , tchar (0)
+ , cline (1)
+ , lexer_state (LEX_NORMAL)
+{}
+
+Scanner::Scanner(Input &i, Warn &w)
+ : ScannerState(), in(i), warn(w) {}
+
+void Scanner::fill (uint32_t need)
+{
+ if(!eof)
+ {
+ /* Get rid of everything that was already parsed. */
+ const ptrdiff_t diff = tok - bot;
+ if (diff > 0)
+ {
+ const size_t move = static_cast<size_t> (top - tok);
+ memmove (bot, tok, move);
+ tok -= diff;
+ mar -= diff;
+ ptr -= diff;
+ cur -= diff;
+ pos -= diff;
+ lim -= diff;
+ ctx -= diff;
+ }
+ /* Increase buffer size. */
+ if (BSIZE > need)
+ {
+ need = BSIZE;
+ }
+ if (static_cast<uint32_t> (top - lim) < need)
+ {
+ const size_t copy = static_cast<size_t> (lim - bot);
+ char * buf = new char[copy + need];
+ if (!buf)
+ {
+ fatal("Out of memory");
+ }
+ if (copy > 0) {
+ memcpy (buf, bot, copy);
+ }
+ tok = &buf[tok - bot];
+ mar = &buf[mar - bot];
+ ptr = &buf[ptr - bot];
+ cur = &buf[cur - bot];
+ pos = &buf[pos - bot];
+ lim = &buf[lim - bot];
+ top = &lim[need];
+ ctx = &buf[ctx - bot];
+ delete [] bot;
+ bot = buf;
+ }
+ /* Append to buffer. */
+ const size_t have = fread (lim, 1, need, in.file);
+ if (have != need)
+ {
+ eof = &lim[have];
+ *eof++ = '\0';
+ }
+ lim += have;
+ }
+}
+
+Scanner::~Scanner()
+{
+ delete [] bot;
+}
+
+} // namespace re2c
diff --git a/src/ast/scanner.h b/src/ast/scanner.h
new file mode 100644
index 00000000..78c47374
--- /dev/null
+++ b/src/ast/scanner.h
@@ -0,0 +1,120 @@
+#ifndef _RE2C_AST_SCANNER_
+#define _RE2C_AST_SCANNER_
+
+#include <stddef.h>
+#include "src/util/c99_stdint.h"
+#include <sys/types.h>
+#include <string>
+
+#include "src/ast/input.h"
+#include "src/conf/opt.h"
+#include "src/conf/warn.h"
+#include "src/re/encoding/enc.h"
+#include "src/util/attribute.h"
+#include "src/util/forbid_copy.h"
+
+namespace re2c
+{
+
+class Warn;
+struct Opt;
+struct conopt_t;
+class OutputFile;
+class Range;
+struct AST;
+
+struct ScannerState
+{
+ enum lexer_state_t
+ {
+ LEX_NORMAL,
+ LEX_FLEX_NAME
+ };
+
+ // positioning
+ char * tok;
+ char * ptr;
+ char * cur;
+ char * mar;
+ char * pos;
+ char * ctx;
+
+ // buffer
+ char * bot;
+ char * lim;
+ char * top;
+ char * eof;
+
+ ptrdiff_t tchar;
+ uint32_t cline;
+
+ lexer_state_t lexer_state;
+
+ ScannerState();
+ FORBID_COPY(ScannerState);
+};
+
+class Scanner: private ScannerState
+{
+ static const uint32_t BSIZE;
+ Input & in;
+ Warn &warn;
+
+ void fill(uint32_t need);
+ void lex_end_of_comment(OutputFile &out);
+ void lex_tags(OutputFile &out, bool mtags);
+ void set_sourceline ();
+ uint32_t lex_cls_chr();
+ uint32_t lex_str_chr(char quote, bool &end);
+ const AST *lex_cls(bool neg);
+ const AST *lex_str(char quote);
+ void lex_conf_encoding_policy(Opt &opts);
+ void lex_conf_input(Opt &opts);
+ void lex_conf_empty_class(Opt &opts);
+ void lex_conf_dfa_minimization(Opt &opts);
+ void lex_conf_enc(Enc::type_t enc, Opt &opts);
+ void lex_conf_assign();
+ void lex_conf_semicolon();
+ int32_t lex_conf_number();
+ bool lex_conf_bool();
+ std::string lex_conf_string();
+ size_t tok_len () const;
+
+public:
+ enum ParseMode {Stop, Parse, Reuse, Rules};
+
+ Scanner(Input&, Warn &w);
+ ~Scanner();
+ ParseMode echo(OutputFile &out);
+ int scan(const conopt_t *globopts);
+ void lex_conf(Opt &opts);
+ uint32_t get_cline() const;
+ uint32_t get_column() const;
+ const std::string & get_fname () const;
+ FORBID_COPY (Scanner);
+};
+
+inline size_t Scanner::tok_len () const
+{
+ // lexing and fill procedures must maintain: token pointer <= cursor pointer
+ return static_cast<size_t> (cur - tok);
+}
+
+inline const std::string & Scanner::get_fname () const
+{
+ return in.file_name;
+}
+
+inline uint32_t Scanner::get_cline() const
+{
+ return cline;
+}
+
+inline uint32_t Scanner::get_column() const
+{
+ return static_cast<uint32_t>(tok - pos);
+}
+
+} // end namespace re2c
+
+#endif // _RE2C_AST_SCANNER_
diff --git a/src/parse/unescape.cc b/src/ast/unescape.cc
index 0c17139f..e685cdc6 100644
--- a/src/parse/unescape.cc
+++ b/src/ast/unescape.cc
@@ -1,4 +1,4 @@
-#include "src/parse/unescape.h"
+#include "src/ast/unescape.h"
namespace re2c {
diff --git a/src/parse/unescape.h b/src/ast/unescape.h
index 000c378d..a37e6da8 100644
--- a/src/parse/unescape.h
+++ b/src/ast/unescape.h
@@ -1,5 +1,5 @@
-#ifndef _RE2C_PARSE_UNESCAPE_
-#define _RE2C_PARSE_UNESCAPE_
+#ifndef _RE2C_AST_UNESCAPE_
+#define _RE2C_AST_UNESCAPE_
#include "src/util/c99_stdint.h"
@@ -10,4 +10,4 @@ uint32_t unesc_oct (const char * s, const char * s_end);
} // namespace re2c
-#endif // _RE2C_PARSE_UNESCAPE_
+#endif // _RE2C_AST_UNESCAPE_
diff --git a/src/ast/validate.cc b/src/ast/validate.cc
new file mode 100644
index 00000000..9f95f767
--- /dev/null
+++ b/src/ast/validate.cc
@@ -0,0 +1,99 @@
+#include "src/util/c99_stdint.h"
+#include <string>
+#include <vector>
+
+#include "src/ast/ast.h"
+#include "src/ast/scanner.h"
+#include "src/conf/msg.h"
+#include "src/re/rule.h"
+
+namespace re2c {
+
+void validate_mode(Scanner::ParseMode mode, bool rflag, bool rules, Scanner &input)
+{
+ const uint32_t l = input.get_cline();
+ if (mode == Scanner::Rules) {
+ if (!rflag) {
+ fatal_l(l, "found 'rules:re2c' block without -r flag");
+ } else if (rules) {
+ fatal_l(l, "cannot have a second 'rules:re2c' block");
+ }
+ } else if (mode == Scanner::Reuse) {
+ if (!rflag) {
+ fatal_l(l, "found 'use:re2c' block without -r flag");
+ } else if (!rules) {
+ fatal_l(l, "got 'use:re2c' without 'rules:re2c'");
+ }
+ } else if (rflag) {
+ fatal_l(l, "found standard 're2c' block while using -r flag");
+ }
+}
+
+void validate_ast(const specs_t &specs, bool cflag)
+{
+ specs_t::const_iterator i,
+ b = specs.begin(),
+ e = specs.end();
+
+ for (i = b; i != e; ++i) {
+ if (i->defs.size() > 1) {
+ fatal_l(i->defs[1]->fline,
+ "code to default rule %sis already defined at line %u",
+ incond(i->name).c_str(), i->defs[0]->fline);
+ }
+ }
+
+ if (!cflag) {
+ for (i = b; i != e; ++i) {
+ if (i->name != "") {
+ fatal_l(i->rules[0].code->fline,
+ "conditions are only allowed with '-c', '--conditions' option");
+ }
+ }
+ } else {
+ for (i = b; i != e; ++i) {
+ if (i->name == "") {
+ fatal_l(i->rules[0].code->fline,
+ "non-conditional rules are not allowed"
+ " with '-c', '--conditions' option");
+ }
+ }
+
+ for (i = b; i != e; ++i) {
+ if (i->setup.size() > 1) {
+ fatal_l(i->setup[1]->fline,
+ "code to setup rule '%s' is already defined at line %u",
+ i->name.c_str(), i->setup[0]->fline);
+ }
+ }
+
+ for (i = b; i != e; ++i) {
+ if (i->name != "*" && !i->setup.empty() && i->rules.empty()) {
+ fatal_l(i->setup[0]->fline,
+ "setup for non existing condition '%s' found",
+ i->name.c_str());
+ }
+ }
+
+ for (i = b; i != e && !i->setup.empty(); ++i);
+ if (i == e) {
+ for (i = b; i != e; ++i) {
+ if (i->name == "*") {
+ fatal_l(i->setup[0]->fline,
+ "setup for all conditions '<!*>' is illegal "
+ "if setup for each condition is defined explicitly");
+ }
+ }
+ }
+
+ for (i = b; i != e; ++i) {
+ if (i->name == "0" && i->rules.size() > 1) {
+ fatal_l(i->rules[1].code->fline,
+ "startup code is already defined at line %u",
+ i->rules[0].code->fline);
+ }
+ }
+ }
+}
+
+} // namespace re2c
diff --git a/src/code/bitmap.cc b/src/code/bitmap.cc
new file mode 100644
index 00000000..36a9617d
--- /dev/null
+++ b/src/code/bitmap.cc
@@ -0,0 +1,150 @@
+#include <string.h> // memset
+#include <algorithm> // min
+
+#include "src/code/bitmap.h"
+#include "src/code/go.h"
+#include "src/code/output.h"
+#include "src/conf/opt.h"
+#include "src/dfa/tcmd.h"
+
+namespace re2c
+{
+
+static bool matches(const Go *go1, const State *s1, const Go *go2, const State *s2);
+static void doGen(const Go *g, const State *s, uint32_t *bm, uint32_t f, uint32_t m);
+
+bitmaps_t::bitmaps_t(uint32_t n)
+ : maps()
+ , ncunit(n)
+ , buffer(new uint32_t[ncunit])
+ , used(false)
+{}
+
+bitmaps_t::~bitmaps_t()
+{
+ delete[] buffer;
+}
+
+void bitmaps_t::insert(const Go *go, const State *s)
+{
+ rciter_t i = maps.rbegin(), e = maps.rend();
+ for (; i != e; ++i) {
+ if (matches(i->go, i->on, go, s)) return;
+ }
+
+ bitmap_t b = {go, s, 0, 0};
+ maps.push_back(b);
+}
+
+const bitmap_t *bitmaps_t::find(const Go *go, const State *s) const
+{
+ rciter_t i = maps.rbegin(), e = maps.rend();
+ for (; i != e; ++i) {
+ if (i->on == s && matches(i->go, i->on, go, s)) return &(*i);
+ }
+ return NULL;
+}
+
+bool bitmaps_t::empty() const { return maps.empty(); }
+
+void bitmaps_t::gen(OutputFile &o, uint32_t ind)
+{
+ if (empty() || !used) return;
+
+ const opt_t *opts = o.block().opts;
+ const uint32_t nmap = static_cast<uint32_t>(maps.size());
+ riter_t b = maps.rbegin(), e = maps.rend();
+
+ o.wind(ind).ws("static const unsigned char ")
+ .wstring(opts->yybm).ws("[] = {");
+
+ for (uint32_t i = 0, t = 1; b != e; i += ncunit, t += 8) {
+ memset(buffer, 0, ncunit * sizeof(uint32_t));
+
+ for (uint32_t m = 0x80; b != e && m; m >>= 1, ++b) {
+ b->i = i;
+ b->m = m;
+ doGen(b->go, b->on, buffer, 0, m);
+ }
+
+ if (nmap > 8) {
+ o.ws("\n").wind(ind + 1).ws("/* table ").wu32(t).ws(" .. ")
+ .wu32(std::min(nmap, t + 7)).ws(": ").wu32(i).ws(" */");
+ }
+
+ for (uint32_t c = 0; c < ncunit; ++c) {
+ if (c % 8 == 0) {
+ o.ws("\n").wind(ind + 1);
+ }
+ if (opts->yybmHexTable) {
+ o.wu32_hex(buffer[c]);
+ } else {
+ o.wu32_width(buffer[c], 3);
+ }
+ o.ws(", ");
+ }
+ }
+
+ o.ws("\n").wind(ind).ws("};\n");
+}
+
+void doGen(const Go *g, const State *s, uint32_t *bm, uint32_t f, uint32_t m)
+{
+ Span *b = g->span, *e = &b[g->nSpans];
+ uint32_t lb = 0;
+
+ for (; b < e; ++b)
+ {
+ if (b->to == s)
+ {
+ for (; lb < b->ub && lb < 256; ++lb)
+ {
+ bm[lb-f] |= m;
+ }
+ }
+
+ lb = b->ub;
+ }
+}
+
+// All spans in b1 that lead to s1 are pairwise equal to that in b2 leading to s2
+bool matches(const Go *go1, const State *s1, const Go *go2, const State *s2)
+{
+ const Span
+ *b1 = go1->span, *e1 = &b1[go1->nSpans],
+ *b2 = go2->span, *e2 = &b2[go2->nSpans];
+ uint32_t lb1 = 0, lb2 = 0;
+
+ for (;;)
+ {
+ for (; b1 < e1 && b1->to != s1; ++b1)
+ {
+ lb1 = b1->ub;
+ }
+ for (; b2 < e2 && b2->to != s2; ++b2)
+ {
+ lb2 = b2->ub;
+ }
+ if (b1 == e1)
+ {
+ return b2 == e2;
+ }
+ if (b2 == e2)
+ {
+ return false;
+ }
+ // tags are forbidden: transitions on different symbols
+ // might go to the same state, but have different tag sets
+ if (lb1 != lb2
+ || b1->ub != b2->ub
+ || b1->tags != TCID0
+ || b2->tags != TCID0)
+ {
+ return false;
+ }
+ ++b1;
+ ++b2;
+ }
+}
+
+} // end namespace re2c
diff --git a/src/code/bitmap.h b/src/code/bitmap.h
new file mode 100644
index 00000000..4ece4726
--- /dev/null
+++ b/src/code/bitmap.h
@@ -0,0 +1,48 @@
+#ifndef _RE2C_CODE_BITMAP_
+#define _RE2C_CODE_BITMAP_
+
+#include "src/util/c99_stdint.h"
+#include <vector>
+
+#include "src/util/forbid_copy.h"
+
+namespace re2c {
+
+class OutputFile;
+struct Go;
+struct Span;
+struct State;
+
+struct bitmap_t
+{
+ const Go *go;
+ const State *on;
+ uint32_t i;
+ uint32_t m;
+};
+
+class bitmaps_t
+{
+ typedef std::vector<bitmap_t> maps_t;
+ typedef maps_t::reverse_iterator riter_t;
+ typedef maps_t::const_reverse_iterator rciter_t;
+
+ maps_t maps;
+ uint32_t ncunit;
+ uint32_t *buffer;
+
+public:
+ bool used;
+
+ explicit bitmaps_t(uint32_t n);
+ ~bitmaps_t();
+ void insert(const Go *go, const State *s);
+ const bitmap_t *find(const Go *go, const State *s) const;
+ bool empty() const;
+ void gen(OutputFile &o, uint32_t ind);
+ FORBID_COPY(bitmaps_t);
+};
+
+} // namespace re2c
+
+#endif // _RE2C_CODE_BITMAP_
diff --git a/src/code/emit.h b/src/code/emit.h
new file mode 100644
index 00000000..ddef595b
--- /dev/null
+++ b/src/code/emit.h
@@ -0,0 +1,29 @@
+#ifndef _RE2C_CODE_EMIT_
+#define _RE2C_CODE_EMIT_
+
+#include "src/code/output.h"
+#include "src/adfa/adfa.h"
+
+namespace re2c {
+
+typedef std::vector<std::string> code_lines_t;
+
+void emit_action(OutputFile &o, uint32_t ind, const DFA &dfa, const State *s, const std::set<label_t> &used_labels);
+void gen_goto_plain(OutputFile &o, uint32_t ind, const State *to, const DFA &dfa, tcid_t tcid, bool skip);
+void gen_goto_case(OutputFile &o, uint32_t ind, const State *to, const DFA &dfa, tcid_t tcid, bool skip);
+void gen_goto_if(OutputFile &o, uint32_t ind, const State *to, const DFA &dfa, tcid_t tcid, bool skip);
+void gen_settags(code_lines_t &code, const DFA &dfa, tcid_t tcid, const opt_t *opts);
+std::string vartag_name(tagver_t ver, const std::string &prefix);
+std::string vartag_expr(tagver_t ver, const std::string &prefix, const std::string &expression);
+std::string tagname(const Tag &tag);
+
+inline std::string indent(uint32_t n, const std::string &s)
+{
+ std::string ind;
+ for (; n --> 0; ind += s);
+ return ind;
+}
+
+} // namespace re2c
+
+#endif // _RE2C_CODE_EMIT_
diff --git a/src/code/emit_action.cc b/src/code/emit_action.cc
new file mode 100644
index 00000000..d37d41ce
--- /dev/null
+++ b/src/code/emit_action.cc
@@ -0,0 +1,473 @@
+#include <assert.h>
+#include <stddef.h>
+#include "src/util/c99_stdint.h"
+#include <iosfwd>
+#include <set>
+#include <string>
+#include <utility>
+#include <valarray>
+#include <vector>
+
+#include "src/adfa/action.h"
+#include "src/adfa/adfa.h"
+#include "src/code/emit.h"
+#include "src/code/go.h"
+#include "src/code/input_api.h"
+#include "src/code/label.h"
+#include "src/code/output.h"
+#include "src/conf/opt.h"
+#include "src/dfa/tcmd.h"
+#include "src/re/rule.h"
+#include "src/re/tag.h"
+#include "src/skeleton/skeleton.h"
+#include "src/util/string_utils.h"
+
+namespace re2c
+{
+
+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, const opt_t *opts, bool skip);
+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 opt_t *opts = o.block().opts;
+ switch (s->action.type) {
+ case Action::MATCH:
+ o.wdelay_skip(ind, !opts->eager_skip);
+ need(o, ind, s->fill);
+ 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.wdelay_skip(ind, ul1 && !opts->eager_skip);
+ 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;
+ }
+ 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, !opts->eager_skip);
+ o.wdelay_backup(ind, true);
+ need(o, ind, s->fill);
+ 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 accept_t &acc, size_t l, size_t r)
+{
+ const opt_t *opts = o.block().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, acc, l, m);
+ o.wind(--ind).ws("} else {\n");
+ emit_accept_binary (o, ++ind, dfa, acc, m + 1, r);
+ o.wind(--ind).ws("}\n");
+ } else {
+ gen_goto_plain(o, ind, acc[l].first, dfa, acc[l].second, false);
+ }
+}
+
+void emit_accept(OutputFile &o, uint32_t ind, const DFA &dfa, const accept_t &acc)
+{
+ const opt_t *opts = o.block().opts;
+ const size_t nacc = acc.size();
+
+ if (nacc == 0) return;
+
+ o.wstring(output_restore(ind, opts));
+
+ // only one possible 'yyaccept' value: unconditional jump
+ if (nacc == 1) {
+ gen_goto_plain(o, ind, acc[0].first, dfa, acc[0].second, false);
+ return;
+ }
+
+ bool have_tags = false;
+ for (size_t i = 0; i < nacc; ++i) {
+ if (acc[i].second != TCID0) {
+ have_tags = true;
+ break;
+ }
+ }
+
+ // jump table
+ if (opts->gFlag && nacc >= opts->cGotoThreshold && !have_tags) {
+ o.wind(ind).ws("{\n")
+ .wind(ind + 1).ws("static void *")
+ .wstring(opts->yytarget).ws("[")
+ .wu64(nacc).ws("] = {\n");
+ for (uint32_t i = 0; i < nacc; ++i) {
+ o.wind(ind + 2).ws("&&").wstring(opts->labelPrefix)
+ .wlabel(acc[i].first->label).ws(",\n");
+ }
+ o.wind(ind + 1).ws("};\n")
+ .wind(ind + 1).ws("goto *")
+ .wstring(opts->yytarget).ws("[")
+ .wstring(opts->yyaccept).ws("];\n")
+ .wind(ind).ws("}\n");
+ return;
+ }
+
+ // nested ifs
+ if (opts->sFlag || nacc == 2) {
+ emit_accept_binary(o, ind, dfa, acc, 0, nacc - 1);
+ return;
+ }
+
+ // switch
+ o.wind(ind).ws("switch (").wstring(opts->yyaccept).ws(") {\n");
+ for (uint32_t i = 0; i < nacc - 1; ++i) {
+ o.wind(ind).ws("case ").wu32(i).ws(": ");
+ gen_goto_case(o, ind, acc[i].first, dfa, acc[i].second, false);
+ }
+ o.wind(ind).ws("default:");
+ gen_goto_case(o, ind, acc[nacc - 1].first, dfa, acc[nacc - 1].second, false);
+ o.wind(ind).ws("}\n");
+}
+
+void emit_rule(OutputFile &o, uint32_t ind, const DFA &dfa, size_t rule_idx)
+{
+ const opt_t *opts = o.block().opts;
+ const Rule &rule = dfa.rules[rule_idx];
+ const Code *code = rule.code;
+ const std::string &cond = code->cond;
+ std::string s;
+
+ gen_fintags(o, ind, dfa, rule);
+
+ if (opts->target == TARGET_SKELETON) {
+ emit_action(o, ind, dfa, rule_idx);
+ } else {
+ if (!cond.empty() && dfa.cond != cond) {
+ strrreplace(s = opts->cond_set, opts->cond_set_arg, opts->condEnumPrefix + cond);
+ o.wind(ind).wstring(s);
+ if (!opts->cond_set_naked) {
+ o.ws("(").wstring(opts->condEnumPrefix).wstring(cond).ws(");");
+ }
+ o.ws("\n");
+ }
+ if (!code->autogen) {
+ if (!dfa.setup.empty()) {
+ o.wind(ind).wstring(dfa.setup).ws("\n");
+ }
+ o.wline_info(code->fline, code->fname.c_str())
+ .wind(ind).wstring(code->text).ws("\n")
+ .wdelay_line_info();
+ } else if (!cond.empty()) {
+ strrreplace(s = opts->condGoto, opts->condGotoParam, opts->condPrefix + cond);
+ o.wind(ind).wstring(s).ws("\n");
+ }
+ }
+}
+
+void need(OutputFile &o, uint32_t ind, size_t some)
+{
+ if (some == 0) return;
+
+ const opt_t *opts = o.block().opts;
+ std::string s;
+
+ if (opts->fFlag) {
+ strrreplace(s = opts->state_set, opts->state_set_arg, o.fill_index);
+ o.wind(ind).wstring(s);
+ if (!opts->state_set_naked) {
+ o.ws("(").wu32(o.fill_index).ws(");");
+ }
+ o.ws("\n");
+ }
+
+ if (opts->fill_use) {
+ o.wind(ind);
+ if (opts->fill_check) {
+ o.ws("if (").wstring(output_expr_lessthan(some, opts)).ws(") ");
+ }
+ strrreplace(s = opts->fill, opts->fill_arg, some);
+ o.wstring(s);
+ if (!opts->fill_naked) {
+ if (opts->fill_arg_use) {
+ o.ws("(").wu64(some).ws(")");
+ }
+ o.ws(";");
+ }
+ o.ws("\n");
+ }
+
+ if (opts->fFlag) {
+ o.wstring(opts->yyfilllabel).wu32(o.fill_index).ws(":\n");
+ ++o.fill_index;
+ }
+}
+
+void gen_goto_case(OutputFile &o, uint32_t ind, const State *to,
+ const DFA &dfa, tcid_t tcid, bool skip)
+{
+ code_lines_t code;
+ gen_goto(code, to, dfa, tcid, o.block().opts, skip);
+ const size_t lines = code.size();
+
+ if (lines == 1) {
+ o.wind(1).wstring(code[0]);
+ } else {
+ o.ws("\n");
+ for (size_t i = 0; i < lines; ++i) {
+ o.wind(ind + 1).wstring(code[i]);
+ }
+ }
+}
+
+void gen_goto_if(OutputFile &o, uint32_t ind, const State *to,
+ const DFA &dfa, tcid_t tcid, bool skip)
+{
+ code_lines_t code;
+ gen_goto(code, to, dfa, tcid, o.block().opts, skip);
+ const size_t lines = code.size();
+
+ if (lines == 1) {
+ o.wstring(code[0]);
+ } else {
+ o.ws("{\n");
+ for (size_t i = 0; i < lines; ++i) {
+ o.wind(ind + 1).wstring(code[i]);
+ }
+ o.wind(ind).ws("}\n");
+ }
+}
+
+void gen_goto_plain(OutputFile &o, uint32_t ind, const State *to,
+ const DFA &dfa, tcid_t tcid, bool skip)
+{
+ code_lines_t code;
+ gen_goto(code, to, dfa, tcid, o.block().opts, skip);
+ const size_t lines = code.size();
+
+ for (size_t i = 0; i < lines; ++i) {
+ o.wind(ind).wstring(code[i]);
+ }
+}
+
+void gen_goto(code_lines_t &code, const State *to, const DFA &dfa,
+ tcid_t tcid, const opt_t *opts, bool skip)
+{
+ std::ostringstream s;
+ output_skip(s, 0, opts);
+
+ if (skip && !opts->lookahead) {
+ code.push_back(s.str());
+ }
+ gen_settags(code, dfa, tcid, opts);
+ if (skip && opts->lookahead) {
+ code.push_back(s.str());
+ }
+ if (to) {
+ code.push_back("goto " + opts->labelPrefix
+ + to_string(to->label) + ";\n");
+ }
+}
+
+void gen_settags(code_lines_t &code, const DFA &dfa, tcid_t tcid, const opt_t *opts)
+{
+ const bool generic = opts->input_api == INPUT_CUSTOM;
+ const std::string
+ &prefix = opts->tags_prefix,
+ &expression = opts->tags_expression;
+ const tcmd_t *cmd = dfa.tcpool[tcid];
+
+ // single tag YYCTXMARKER, backwards compatibility
+ if (cmd && dfa.oldstyle_ctxmarker) {
+ const std::string s = generic
+ ? opts->yybackupctx + " ();\n"
+ : opts->yyctxmarker + " = " + opts->yycursor + ";\n";
+ code.push_back(s);
+ return;
+ }
+
+ for (const tcmd_t *p = cmd; p; p = p->next) {
+ const tagver_t l = p->lhs, r = p->rhs, *h = p->history;
+
+ // copy command
+ if (tcmd_t::iscopy(p)) {
+ const std::string
+ le = vartag_expr(l, prefix, expression),
+ re = vartag_expr(r, prefix, expression),
+ s = le + " = " + re + ";\n";
+ code.push_back(s);
+
+ // save command; history
+ } else if (tcmd_t::isadd(p)) {
+ const std::string
+ le = vartag_expr(l, prefix, expression),
+ re = vartag_expr(r, prefix, expression);
+ if (l != r) {
+ const std::string s = le + " = " + re + ";\n";
+ code.push_back(s);
+ }
+ code_lines_t code1;
+ for (; *h != TAGVER_ZERO; ++h) {
+ const std::string s = *h == TAGVER_BOTTOM
+ ? opts->yymtagn + " (" + le + ");\n"
+ : opts->yymtagp + " (" + le + ");\n";
+ code1.push_back(s);
+ }
+ code.insert(code.end(), code1.rbegin(), code1.rend());
+
+ // save command; no history; generic API
+ } else if (generic) {
+ const std::string
+ v = vartag_expr(l, prefix, expression),
+ s = *h == TAGVER_BOTTOM
+ ? opts->yystagn + " (" + v + ");\n"
+ : opts->yystagp + " (" + v + ");\n";
+ code.push_back(s);
+
+ // save command; no history; default API
+ } else {
+ std::string s1 = "", s2 = "";
+ for (const tcmd_t *q = p; q && tcmd_t::isset(q); p = q, q = q->next) {
+ std::string &s = q->history[0] == TAGVER_BOTTOM ? s1 : s2;
+ s += vartag_expr(q->lhs, prefix, expression) + " = ";
+ }
+ if (!s1.empty()) {
+ s1 += "NULL;\n";
+ code.push_back(s1);
+ }
+ if (!s2.empty()) {
+ s2 += opts->yycursor + ";\n";
+ code.push_back(s2);
+ }
+ }
+ }
+}
+
+void gen_fintags(OutputFile &o, uint32_t ind, const DFA &dfa, const Rule &rule)
+{
+ const opt_t *opts = o.block().opts;
+ const bool generic = opts->input_api == INPUT_CUSTOM;
+ const std::string
+ &prefix = opts->tags_prefix,
+ &expression = opts->tags_expression;
+ std::string expr;
+ const std::vector<Tag> &tags = dfa.tags;
+ const tagver_t *fins = dfa.finvers;
+
+ if (rule.ncap > 0) {
+ o.wind(ind).ws("yynmatch = ").wu64(rule.ncap).ws(";\n");
+ }
+
+ // variable tags
+ for (size_t t = rule.ltag; t < rule.htag; ++t) {
+ const Tag &tag = tags[t];
+
+ // see note [fixed and variable tags]
+ if (fictive(tag) || fixed(tag)) continue;
+
+ expr = vartag_expr(fins[t], prefix, expression);
+
+ o.wind(ind);
+ if (!trailing(tag)) {
+ o.wstring(tagname(tag)).ws(" = ").wstring(expr);
+ } else if (generic) {
+ if (dfa.oldstyle_ctxmarker) {
+ o.wstring(opts->yyrestorectx).ws(" ()");
+ } else {
+ o.wstring(opts->yyrestoretag).ws(" (").wstring(expr).ws(")");
+ }
+ } else {
+ if (dfa.oldstyle_ctxmarker) {
+ o.wstring(opts->yycursor).ws(" = ").wstring(opts->yyctxmarker);
+ } else {
+ o.wstring(opts->yycursor).ws(" = ").wstring(expr);
+ }
+ }
+ o.ws(";\n");
+ }
+
+ // fixed tags
+ for (size_t t = rule.ltag; t < rule.htag; ++t) {
+ const Tag &tag = tags[t];
+
+ // see note [fixed and variable tags]
+ if (fictive(tag) || !fixed(tag)) continue;
+
+ const size_t dist = tag.dist;
+ const bool fixed_on_cursor = tag.base == Tag::RIGHTMOST;
+ expr = fixed_on_cursor ? opts->yycursor
+ : vartag_expr(fins[tag.base], prefix, expression);
+
+ o.wind(ind);
+ if (generic) {
+ assert(dist == 0);
+ if (!trailing(tag)) {
+ o.wstring(tagname(tag)).ws(" = ").wstring(expr);
+ } else if (!fixed_on_cursor) {
+ assert(!dfa.oldstyle_ctxmarker);
+ o.wstring(opts->yyrestoretag).ws(" (").wstring(expr).ws(")");
+ }
+ } else {
+ if (!trailing(tag)) {
+ o.wstring(tagname(tag)).ws(" = ").wstring(expr);
+ if (dist > 0) o.ws(" - ").wu64(dist);
+ } else if (!fixed_on_cursor) {
+ o.wstring(opts->yycursor).ws(" = ").wstring(expr);
+ if (dist > 0) o.ws(" - ").wu64(dist);
+ } else if (dist > 0) {
+ o.wstring(opts->yycursor).ws(" -= ").wu64(dist);
+ }
+ }
+ o.ws(";\n");
+ }
+}
+
+std::string tagname(const Tag &tag)
+{
+ assert(!trailing(tag));
+ return capture(tag)
+ ? "yypmatch[" + to_string(tag.ncap) + "]"
+ : *tag.name;
+}
+
+bool endstate(const State *s)
+{
+ // 'end' state is a state which has no outgoing transitions on symbols
+ // usually 'end' states are final states (not all final states are 'end'
+ // states), but sometimes 'end' state happens to be initial non-accepting
+ // state, e.g. in case of rule '[]'
+ const Action::type_t &a = s->go.span[0].to->action.type;
+ return s->go.nSpans == 1
+ && (a == Action::RULE || a == Action::ACCEPT);
+}
+
+} // namespace re2c
diff --git a/src/code/emit_dfa.cc b/src/code/emit_dfa.cc
new file mode 100644
index 00000000..18c600a0
--- /dev/null
+++ b/src/code/emit_dfa.cc
@@ -0,0 +1,285 @@
+#include <stddef.h>
+#include "src/util/c99_stdint.h"
+#include <ostream>
+#include <set>
+#include <string>
+#include <utility>
+#include <valarray>
+#include <vector>
+
+#include "src/adfa/action.h"
+#include "src/adfa/adfa.h"
+#include "src/code/bitmap.h"
+#include "src/code/emit.h"
+#include "src/code/go.h"
+#include "src/code/input_api.h"
+#include "src/code/label.h"
+#include "src/code/output.h"
+#include "src/conf/opt.h"
+#include "src/re/rule.h"
+#include "src/re/tag.h"
+#include "src/skeleton/skeleton.h"
+#include "src/util/counter.h"
+#include "src/util/string_utils.h"
+
+namespace re2c
+{
+
+static void emit_state(OutputFile & o, uint32_t ind, const State * s, bool used_label);
+
+void emit_state (OutputFile & o, uint32_t ind, const State * s, bool used_label)
+{
+ const opt_t *opts = o.block().opts;
+ if (used_label)
+ {
+ o.wstring(opts->labelPrefix).wlabel(s->label).ws(":\n");
+ }
+ if (opts->dFlag && (s->action.type != Action::INITIAL))
+ {
+ o.wind(ind).wstring(opts->yydebug).ws("(").wlabel(s->label).ws(", ").wstring(output_expr_peek(opts)).ws(");\n");
+ }
+}
+
+void DFA::count_used_labels (std::set<label_t> & used, label_t start,
+ label_t initial, bool force_start, bool fFlag) const
+{
+ // In '-f' mode, default state is always state 0
+ if (fFlag)
+ {
+ used.insert (label_t::first ());
+ }
+ if (force_start)
+ {
+ used.insert (start);
+ }
+ for (State * s = head; s; s = s->next)
+ {
+ s->go.used_labels (used);
+ }
+ for (uint32_t i = 0; i < accepts.size (); ++i)
+ {
+ used.insert (accepts[i].first->label);
+ }
+ // must go last: it needs the set of used labels
+ if (used.count (head->label))
+ {
+ used.insert (initial);
+ }
+}
+
+void DFA::emit_body(OutputFile &o, uint32_t& ind,
+ const std::set<label_t> &used_labels, label_t initial) const
+{
+ code_lines_t code;
+ gen_settags(code, *this, tags0, o.block().opts);
+ for (size_t i = 0; i < code.size(); ++i) {
+ o.wind(ind).wstring(code[i]);
+ }
+
+ // If DFA has transitions to initial state, then initial state
+ // has a piece of code that advances input position. Wee must
+ // skip it when entering DFA.
+ if (used_labels.count(head->label)) {
+ o.wind(ind).ws("goto ").wstring(o.block().opts->labelPrefix)
+ .wlabel(initial).ws(";\n");
+ }
+
+ for (State * s = head; s; s = s->next) {
+ emit_state(o, ind, s, used_labels.count(s->label));
+ emit_action(o, ind, *this, s, used_labels);
+ s->go.emit(o, ind, *this);
+ }
+}
+
+void DFA::emit_dot(OutputFile &o, bool last_cond) const
+{
+ const opt_t *opts = o.block().opts;
+ if (!opts->cFlag || !o.cond_goto) {
+ o.ws("digraph re2c {\n");
+ }
+ o.wdelay_cond_goto(0);
+ if (opts->cFlag) {
+ o.wstring(cond).ws(" -> ").wlabel(head->label).ws("\n");
+ }
+ for (State *s = head; s; s = s->next) {
+ if (s->action.type == Action::ACCEPT) {
+ const accept_t &accs = *s->action.info.accepts;
+ for (uint32_t i = 0; i < accs.size(); ++i) {
+ o.wlabel(s->label).ws(" -> ")
+ .wlabel(accs[i].first->label)
+ .ws(" [label=\"yyaccept=")
+ .wu32(i).ws("\"]").ws("\n");
+ }
+ } else if (s->action.type == Action::RULE) {
+ const Code *code = rules[s->action.info.rule].code;
+ if (!code->autogen) {
+ o.wlabel(s->label).ws(" [label=\"")
+ .wstring(code->fname)
+ .ws(":").wu32(code->fline)
+ .ws("\"]").ws("\n");
+ }
+ }
+ s->go.emit(o, 0, *this);
+ }
+ if (!opts->cFlag || last_cond) {
+ o.ws("}\n");
+ }
+}
+
+void DFA::emit(Output & output, uint32_t& ind, bool isLastCond, bool& bPrologBrace)
+{
+ OutputFile &o = output.source;
+ OutputBlock &ob = o.block();
+ const opt_t *opts = ob.opts;
+
+ std::set<std::string> stagnames, stagvars, mtagnames, mtagvars;
+ if (!oldstyle_ctxmarker) {
+ for (size_t i = 0; i < tags.size(); ++i) {
+ const Tag &tag = tags[i];
+ if (history(tag)) {
+ mtagvars.insert(*tag.name);
+ } else if (tag.name) {
+ stagvars.insert(*tag.name);
+ }
+ }
+ for (tagver_t v = 1; v <= maxtagver; ++v) {
+ const std::string s = vartag_name(v, opts->tags_prefix);
+ if (mtagvers.find(v) != mtagvers.end()) {
+ mtagnames.insert(s);
+ } else {
+ stagnames.insert(s);
+ }
+ }
+ ob.stags.insert(stagnames.begin(), stagnames.end());
+ ob.mtags.insert(mtagnames.begin(), mtagnames.end());
+ }
+ if (!cond.empty()) o.block().types.push_back(cond);
+
+ bool bProlog = (!opts->cFlag || !o.cond_goto);
+
+ // start_label points to the beginning of current re2c block
+ // (prior to condition dispatch in '-c' mode)
+ // it can forced by configuration 're2c:startlabel = <integer>;'
+ label_t start_label = o.label_counter.next ();
+ // initial_label points to the beginning of DFA
+ // in '-c' mode this is NOT equal to start_label
+ label_t initial_label = bProlog && opts->cFlag
+ ? o.label_counter.next ()
+ : start_label;
+ for (State * s = head; s; s = s->next)
+ {
+ s->label = o.label_counter.next ();
+ }
+ std::set<label_t> used_labels;
+ count_used_labels (used_labels, start_label, initial_label,
+ opts->startlabel_force && opts->startlabel.empty(), opts->fFlag);
+
+ head->action.set_initial(initial_label);
+
+ if (opts->target == TARGET_SKELETON) {
+ if (output.skeletons.insert (name).second)
+ {
+ emit_start(o, max_fill, max_nmatch, name, key_size, def_rule,
+ need_backup, need_accept, oldstyle_ctxmarker,
+ stagnames, stagvars, mtagnames, mtagvars, bitmaps);
+ uint32_t i = 2;
+ emit_body (o, i, used_labels, initial_label);
+ emit_end(o, name, need_backup, oldstyle_ctxmarker, mtagnames);
+ }
+ } else if (opts->target == TARGET_DOT) {
+ emit_dot(o, isLastCond);
+ } else {
+ // Generate prolog
+ if (bProlog)
+ {
+ o.ws("\n").wdelay_line_info ();
+ if ((!opts->fFlag && ob.used_yyaccept)
+ || (!opts->fFlag && opts->bEmitYYCh)
+ || (opts->bFlag && !opts->cFlag && !bitmaps.empty())
+ || (opts->cFlag && !o.cond_goto && opts->gFlag)
+ || (opts->fFlag && !o.state_goto && opts->gFlag)
+ )
+ {
+ bPrologBrace = true;
+ o.wind(ind++).ws("{\n");
+ }
+ else if (ind == 0)
+ {
+ ind = 1;
+ }
+ if (!opts->fFlag)
+ {
+ if (opts->bEmitYYCh)
+ {
+ o.wind(ind).wstring(opts->yyctype).ws(" ").wstring(opts->yych).ws(";\n");
+ }
+ o.wdelay_yyaccept_init (ind);
+ }
+ else
+ {
+ o.ws("\n");
+ }
+ }
+ if (opts->bFlag && !opts->cFlag)
+ {
+ bitmaps.gen(o, ind);
+ }
+ if (bProlog)
+ {
+ o.wdelay_cond_table(ind);
+ o.wdelay_state_goto (ind);
+ if (opts->cFlag)
+ {
+ if (used_labels.count(start_label))
+ {
+ o.wstring(opts->labelPrefix).wlabel(start_label).ws(":\n");
+ }
+ }
+ o.wuser_start_label ();
+ o.wdelay_cond_goto(ind);
+ }
+ if (opts->cFlag && !cond.empty())
+ {
+ if (opts->condDivider.length())
+ {
+ std::string divider = opts->condDivider;
+ strrreplace(divider, opts->condDividerParam, cond);
+ o.wstring(divider).ws("\n");
+ }
+ o.wstring(opts->condPrefix).wstring(cond).ws(":\n");
+ }
+ if (opts->cFlag && opts->bFlag && !bitmaps.empty())
+ {
+ o.wind(ind++).ws("{\n");
+ bitmaps.gen(o, ind);
+ }
+ // Generate code
+ emit_body (o, ind, used_labels, initial_label);
+ if (opts->cFlag && opts->bFlag && !bitmaps.empty())
+ {
+ o.wind(--ind).ws("}\n");
+ }
+ // Generate epilog
+ if ((!opts->cFlag || isLastCond) && bPrologBrace)
+ {
+ o.wind(--ind).ws("}\n");
+ }
+ }
+}
+
+std::string vartag_name(tagver_t ver, const std::string &prefix)
+{
+ std::ostringstream s;
+ s << prefix << ver;
+ return s.str();
+}
+
+std::string vartag_expr(tagver_t ver, const std::string &prefix, const std::string &expression)
+{
+ const std::string s = vartag_name(ver, prefix);
+ std::string e = expression;
+ strrreplace(e, "@@", s);
+ return e;
+}
+
+} // end namespace re2c
diff --git a/src/code/go.h b/src/code/go.h
new file mode 100644
index 00000000..40b3df95
--- /dev/null
+++ b/src/code/go.h
@@ -0,0 +1,240 @@
+#ifndef _RE2C_CODE_GO_
+#define _RE2C_CODE_GO_
+
+#include <iostream>
+#include <set>
+#include <vector>
+
+#include "src/code/output.h"
+#include "src/dfa/tcmd.h"
+#include "src/util/c99_stdint.h"
+#include "src/util/forbid_copy.h"
+
+namespace re2c
+{
+
+struct DFA;
+struct bitmap_t;
+class bitmaps_t;
+struct State;
+struct If;
+
+struct Span
+{
+ uint32_t ub;
+ State * to;
+ tcid_t tags;
+
+ FORBID_COPY (Span);
+};
+
+struct Case
+{
+ std::vector<std::pair<uint32_t, uint32_t> > ranges;
+ const State *to;
+ tcid_t tags;
+ bool skip;
+
+ void emit(OutputFile &o, uint32_t ind) const;
+ inline Case(): ranges(), to(NULL), tags(TCID0), skip(false) {}
+ FORBID_COPY(Case);
+};
+
+struct Cases
+{
+ Case *cases;
+ uint32_t cases_size;
+
+ void add(uint32_t lb, uint32_t ub, State *to, tcid_t tags, bool skip);
+ Cases(const Span *spans, uint32_t nspans, bool skip);
+ ~Cases();
+ void emit(OutputFile &o, uint32_t ind, const DFA &dfa) const;
+ void used_labels(std::set<label_t> &used) const;
+ FORBID_COPY(Cases);
+};
+
+struct Cond
+{
+ std::string compare;
+ uint32_t value;
+ Cond (const std::string & cmp, uint32_t val);
+};
+
+struct Binary
+{
+ Cond * cond;
+ If * thn;
+ If * els;
+ Binary (const Span * s, uint32_t n, const State * next, bool skip);
+ ~Binary ();
+ void emit (OutputFile &o, uint32_t ind, const DFA &dfa) const;
+ void used_labels (std::set<label_t> & used) const;
+
+ FORBID_COPY (Binary);
+};
+
+struct Linear
+{
+ struct Branch
+ {
+ const Cond *cond;
+ const State *to;
+ tcid_t tags;
+ bool skip;
+ };
+
+ size_t nbranches;
+ Branch *branches;
+
+ Linear(const Span *s, uint32_t n, const State *next, bool skip);
+ ~Linear();
+ void add_branch(const Cond *cond, const State *to, tcid_t tags, bool skip);
+ void emit(OutputFile &o, uint32_t ind, const DFA &dfa) const;
+ void used_labels(std::set<label_t> &used) const;
+ FORBID_COPY(Linear);
+};
+
+struct If
+{
+ enum type_t
+ {
+ BINARY,
+ LINEAR
+ } type;
+ union
+ {
+ Binary * binary;
+ Linear * linear;
+ } info;
+ If (type_t t, const Span * sp, uint32_t nsp, const State * next, bool skip);
+ ~If ();
+ void emit (OutputFile & o, uint32_t ind, const DFA &dfa) const;
+ void used_labels (std::set<label_t> & used) const;
+};
+
+struct SwitchIf
+{
+ enum
+ {
+ SWITCH,
+ IF
+ } type;
+ union
+ {
+ Cases * cases;
+ If * ifs;
+ } info;
+ SwitchIf (const Span * sp, uint32_t nsp, const State * next, bool sflag, bool skip);
+ ~SwitchIf ();
+ void emit (OutputFile & o, uint32_t ind, const DFA &dfa) const;
+ void used_labels (std::set<label_t> & used) const;
+};
+
+struct GoBitmap
+{
+ const bitmap_t * bitmap;
+ const State * bitmap_state;
+ SwitchIf * hgo;
+ SwitchIf * lgo;
+ GoBitmap (const Span * span, uint32_t nSpans, const Span * hspan,
+ uint32_t hSpans, const bitmap_t * bm, const State * bm_state,
+ const State * next, bool sflag);
+ ~GoBitmap ();
+ void emit (OutputFile & o, uint32_t ind, const DFA &dfa) const;
+ void used_labels (std::set<label_t> & used) const;
+
+ FORBID_COPY (GoBitmap);
+};
+
+struct CpgotoTable
+{
+ static const uint32_t TABLE_SIZE;
+ const State ** table;
+ CpgotoTable (const Span * span, uint32_t nSpans);
+ ~CpgotoTable ();
+ void emit (OutputFile & o, uint32_t ind) const;
+ void used_labels (std::set<label_t> & used) const;
+
+private:
+ label_t max_label () const;
+
+ FORBID_COPY (CpgotoTable);
+};
+
+struct Cpgoto
+{
+ SwitchIf * hgo;
+ CpgotoTable * table;
+ Cpgoto (const Span * span, uint32_t nSpans, const Span * hspan,
+ uint32_t hSpans, const State * next, bool sflag);
+ ~Cpgoto ();
+ void emit (OutputFile & o, uint32_t ind, const DFA &dfa) const;
+ void used_labels (std::set<label_t> & used) const;
+
+ FORBID_COPY (Cpgoto);
+};
+
+struct Dot
+{
+ const State * from;
+ Cases * cases;
+ Dot(const Span *sp, uint32_t nsp, const State *s);
+ ~Dot ();
+ void emit (OutputFile & o, const DFA &dfa) const;
+
+ FORBID_COPY (Dot);
+};
+
+struct Go
+{
+ uint32_t nSpans; // number of spans
+ Span * span;
+ tcid_t tags;
+ bool skip;
+ enum
+ {
+ EMPTY,
+ SWITCH_IF,
+ BITMAP,
+ CPGOTO,
+ DOT
+ } type;
+ union
+ {
+ SwitchIf * switchif;
+ GoBitmap * bitmap;
+ Cpgoto * cpgoto;
+ Dot * dot;
+ } info;
+
+ Go ();
+ ~Go ();
+ void init(const State* from, const opt_t *opts, bitmaps_t &bitmaps);
+ void emit (OutputFile & o, uint32_t ind, const DFA &dfa) const;
+ void used_labels (std::set<label_t> & used) const;
+
+ Go (const Go & g)
+ : nSpans (g.nSpans)
+ , span (g.span)
+ , tags (g.tags)
+ , skip (g.skip)
+ , type (g.type)
+ , info (g.info)
+ {}
+ Go & operator = (const Go & g)
+ {
+ nSpans = g.nSpans;
+ span = g.span;
+ tags = g.tags;
+ skip = g.skip;
+ type = g.type;
+ info = g.info;
+ return * this;
+ }
+};
+
+bool consume(const State *s);
+
+} // namespace re2c
+
+#endif // _RE2C_CODE_GO_
diff --git a/src/code/go_construct.cc b/src/code/go_construct.cc
new file mode 100644
index 00000000..eec4cef5
--- /dev/null
+++ b/src/code/go_construct.cc
@@ -0,0 +1,328 @@
+#include <assert.h>
+#include <stddef.h>
+#include "src/util/c99_stdint.h"
+#include <string>
+#include <utility>
+#include <vector>
+
+#include "src/adfa/action.h"
+#include "src/adfa/adfa.h"
+#include "src/code/bitmap.h"
+#include "src/code/go.h"
+#include "src/conf/opt.h"
+#include "src/dfa/tcmd.h"
+#include "src/util/allocate.h"
+
+namespace re2c
+{
+
+static uint32_t unmap (Span * new_span, const Span * old_span, uint32_t old_nspans, const State * x);
+
+bool consume(const State *s)
+{
+ switch (s->action.type) {
+ case Action::RULE:
+ case Action::MOVE:
+ case Action::ACCEPT: return false;
+ case Action::MATCH:
+ case Action::INITIAL:
+ case Action::SAVE: return true;
+ }
+ return true; /* unreachable */
+}
+
+Cases::Cases(const Span *spans, uint32_t nspans, bool skip)
+ : cases(new Case[nspans])
+ , cases_size(0)
+{
+ assert(nspans > 0);
+
+ // first case is default case
+ Case &c = cases[cases_size++];
+ const Span *s = spans + (nspans - 1);
+ c.to = s->to;
+ c.tags = s->tags;
+ c.skip = skip && consume(s->to);
+
+ for (uint32_t i = 0, lb = 0; i < nspans; ++i) {
+ s = spans + i;
+ add(lb, s->ub, s->to, s->tags, skip && consume(s->to));
+ lb = s->ub;
+ }
+}
+
+void Cases::add(uint32_t lb, uint32_t ub, State *to, tcid_t tags, bool skip)
+{
+ for (uint32_t i = 0; i < cases_size; ++i) {
+ Case &c = cases[i];
+ if (c.to == to && c.tags == tags) {
+ c.ranges.push_back(std::make_pair(lb, ub));
+ return;
+ }
+ }
+ Case &c = cases[cases_size++];
+ c.ranges.push_back(std::make_pair(lb, ub));
+ c.to = to;
+ c.tags = tags;
+ c.skip = skip;
+}
+
+Cond::Cond (const std::string & cmp, uint32_t val)
+ : compare (cmp)
+ , value (val)
+{}
+
+Binary::Binary (const Span * s, uint32_t n, const State * next, bool skip)
+ : cond (NULL)
+ , thn (NULL)
+ , els (NULL)
+{
+ const uint32_t l = n / 2;
+ const uint32_t h = n - l;
+ cond = new Cond ("<=", s[l - 1].ub - 1);
+ thn = new If (l > 4 ? If::BINARY : If::LINEAR, &s[0], l, next, skip);
+ els = new If (h > 4 ? If::BINARY : If::LINEAR, &s[l], h, next, skip);
+}
+
+void Linear::add_branch(const Cond *cond, const State *to, tcid_t tags, bool skip)
+{
+ Branch &b = branches[nbranches++];
+ b.cond = cond;
+ b.to = to;
+ b.tags = tags;
+ b.skip = skip;
+}
+
+Linear::Linear(const Span *s, uint32_t n, const State *next, bool skip)
+ : nbranches(0)
+ , branches(new Branch[n])
+{
+ for (;;) {
+ if (n == 1 && s[0].to == next) {
+ add_branch(NULL, NULL, s[0].tags, skip && consume(s[0].to));
+ return;
+ } else if (n == 1) {
+ add_branch(NULL, s[0].to, s[0].tags, skip && consume(s[0].to));
+ return;
+ } else if (n == 2 && s[0].to == next) {
+ add_branch(new Cond(">=", s[0].ub), s[1].to, s[1].tags, skip && consume(s[1].to));
+ add_branch(NULL, NULL, s[0].tags, skip && consume(s[0].to));
+ return;
+ } else if (n == 3
+ && s[1].to == next
+ && s[1].ub - s[0].ub == 1
+ && s[2].to == s[0].to
+ && s[2].tags == s[0].tags) {
+ add_branch(new Cond("!=", s[0].ub), s[0].to, s[0].tags, skip && consume(s[0].to));
+ add_branch(NULL, NULL, s[1].tags, skip && consume(s[1].to));
+ return;
+ } else if (n >= 3
+ && s[1].ub - s[0].ub == 1
+ && s[2].to == s[0].to
+ && s[2].tags == s[0].tags) {
+ add_branch(new Cond("==", s[0].ub), s[1].to, s[1].tags, skip && consume(s[1].to));
+ n -= 2;
+ s += 2;
+ } else {
+ add_branch(new Cond("<=", s[0].ub - 1), s[0].to, s[0].tags, skip && consume(s[0].to));
+ n -= 1;
+ s += 1;
+ }
+ }
+}
+
+If::If (type_t t, const Span * sp, uint32_t nsp, const State * next, bool skip)
+ : type (t)
+ , info ()
+{
+ switch (type)
+ {
+ case BINARY:
+ info.binary = new Binary (sp, nsp, next, skip);
+ break;
+ case LINEAR:
+ info.linear = new Linear (sp, nsp, next, skip);
+ break;
+ }
+}
+
+SwitchIf::SwitchIf (const Span * sp, uint32_t nsp, const State * next, bool sflag, bool skip)
+ : type (IF)
+ , info ()
+{
+ if ((!sflag && nsp > 2) || (nsp > 8 && (sp[nsp - 2].ub - sp[0].ub <= 3 * (nsp - 2))))
+ {
+ type = SWITCH;
+ info.cases = new Cases (sp, nsp, skip);
+ }
+ else if (nsp > 5)
+ {
+ info.ifs = new If (If::BINARY, sp, nsp, next, skip);
+ }
+ else
+ {
+ info.ifs = new If (If::LINEAR, sp, nsp, next, skip);
+ }
+}
+
+GoBitmap::GoBitmap (const Span * span, uint32_t nSpans, const Span * hspan,
+ uint32_t hSpans, const bitmap_t * bm, const State * bm_state,
+ const State * next, bool sflag)
+ : bitmap (bm)
+ , bitmap_state (bm_state)
+ , hgo (NULL)
+ , lgo (NULL)
+{
+ Span * bspan = allocate<Span> (nSpans);
+ uint32_t bSpans = unmap (bspan, span, nSpans, bm_state);
+ lgo = bSpans == 0
+ ? NULL
+ : new SwitchIf (bspan, bSpans, next, sflag, false);
+ // if there are any low spans, then next state for high spans
+ // must be NULL to trigger explicit goto generation in linear 'if'
+ hgo = hSpans == 0
+ ? NULL
+ : new SwitchIf (hspan, hSpans, lgo ? NULL : next, sflag, false);
+ operator delete (bspan);
+}
+
+const uint32_t CpgotoTable::TABLE_SIZE = 0x100;
+
+CpgotoTable::CpgotoTable (const Span * span, uint32_t nSpans)
+ : table (new const State * [TABLE_SIZE])
+{
+ uint32_t c = 0;
+ for (uint32_t i = 0; i < nSpans; ++i)
+ {
+ for(; c < span[i].ub && c < TABLE_SIZE; ++c)
+ {
+ table[c] = span[i].to;
+ }
+ }
+}
+
+Cpgoto::Cpgoto (const Span * span, uint32_t nSpans, const Span * hspan,
+ uint32_t hSpans, const State * next, bool sflag)
+ : hgo (hSpans == 0 ? NULL : new SwitchIf (hspan, hSpans, next, sflag, false))
+ , table (new CpgotoTable (span, nSpans))
+{}
+
+Dot::Dot (const Span * sp, uint32_t nsp, const State * s)
+ : from (s)
+ , cases (new Cases (sp, nsp, false))
+{}
+
+Go::Go ()
+ : nSpans (0)
+ , span (NULL)
+ , tags (TCID0)
+ , skip (false)
+ , type (EMPTY)
+ , info ()
+{}
+
+void Go::init(const State *from, const opt_t *opts, bitmaps_t &bitmaps)
+{
+ if (nSpans == 0)
+ {
+ return;
+ }
+
+ // initialize high (wide) spans
+ uint32_t hSpans = 0;
+ const Span * hspan = NULL;
+ for (uint32_t i = 0; i < nSpans; ++i)
+ {
+ if (span[i].ub > 0x100)
+ {
+ hspan = &span[i];
+ hSpans = nSpans - i;
+ break;
+ }
+ }
+
+ bool low_spans_have_tags = false;
+ for (uint32_t i = 0; i < nSpans - hSpans; ++i) {
+ if (span[i].tags != TCID0) {
+ low_spans_have_tags = true;
+ break;
+ }
+ }
+
+ // initialize bitmaps
+ uint32_t nBitmaps = 0;
+ const bitmap_t *bm = NULL;
+ const State *bms = NULL;
+
+ for (uint32_t i = 0; i < nSpans; ++i) {
+ const State *s = span[i].to;
+ if (!s->isBase) continue;
+
+ const bitmap_t *b = bitmaps.find(this, s);
+ if (b) {
+ if (bm == NULL) {
+ bm = b;
+ bms = s;
+ }
+ ++nBitmaps;
+ }
+ }
+
+ const uint32_t dSpans = nSpans - hSpans - nBitmaps;
+ const bool part_skip = opts->eager_skip && !skip;
+ if (opts->target == TARGET_DOT)
+ {
+ type = DOT;
+ info.dot = new Dot (span, nSpans, from);
+ }
+ else if (opts->gFlag && !part_skip && (dSpans >= opts->cGotoThreshold) && !low_spans_have_tags)
+ {
+ type = CPGOTO;
+ info.cpgoto = new Cpgoto (span, nSpans, hspan, hSpans, from->next, opts->sFlag);
+ }
+ else if (opts->bFlag && !part_skip && (nBitmaps > 0))
+ {
+ type = BITMAP;
+ info.bitmap = new GoBitmap (span, nSpans, hspan, hSpans, bm, bms, from->next, opts->sFlag);
+ bitmaps.used = true;
+ }
+ else
+ {
+ type = SWITCH_IF;
+ info.switchif = new SwitchIf (span, nSpans, from->next, opts->sFlag, part_skip);
+ }
+}
+
+/*
+ * Find all spans, that map to the given state. For each of them,
+ * find upper adjacent span, that maps to another state (if such
+ * span exists, otherwize try lower one).
+ * If input contains single span that maps to the given state,
+ * then output contains 0 spans.
+ */
+uint32_t unmap (Span * new_span, const Span * old_span, uint32_t old_nspans, const State * x)
+{
+ uint32_t new_nspans = 0;
+ for (uint32_t i = 0; i < old_nspans; ++i)
+ {
+ if (old_span[i].to != x)
+ {
+ if (new_nspans > 0
+ && new_span[new_nspans - 1].to == old_span[i].to
+ && new_span[new_nspans - 1].tags == old_span[i].tags)
+ new_span[new_nspans - 1].ub = old_span[i].ub;
+ else
+ {
+ new_span[new_nspans].to = old_span[i].to;
+ new_span[new_nspans].ub = old_span[i].ub;
+ new_span[new_nspans].tags = old_span[i].tags;
+ ++new_nspans;
+ }
+ }
+ }
+ if (new_nspans > 0)
+ new_span[new_nspans - 1].ub = old_span[old_nspans - 1].ub;
+ return new_nspans;
+}
+
+} // namespace re2c
diff --git a/src/codegen/go_destruct.cc b/src/code/go_destruct.cc
index 0160d48f..9876491b 100644
--- a/src/codegen/go_destruct.cc
+++ b/src/code/go_destruct.cc
@@ -1,8 +1,6 @@
#include "src/util/c99_stdint.h"
-#include <utility>
-#include <vector>
-#include "src/codegen/go.h"
+#include "src/code/go.h"
namespace re2c
{
@@ -21,10 +19,10 @@ Binary::~Binary ()
Linear::~Linear ()
{
- for (uint32_t i = 0; i < branches.size (); ++i)
- {
- delete branches[i].first;
+ for (uint32_t i = 0; i < nbranches; ++i) {
+ delete branches[i].cond;
}
+ delete[] branches;
}
If::~If ()
diff --git a/src/code/go_emit.cc b/src/code/go_emit.cc
new file mode 100644
index 00000000..d96bd7cb
--- /dev/null
+++ b/src/code/go_emit.cc
@@ -0,0 +1,249 @@
+#include <stddef.h>
+#include "src/util/c99_stdint.h"
+#include <string>
+#include <utility>
+#include <vector>
+
+#include "src/adfa/adfa.h"
+#include "src/code/bitmap.h"
+#include "src/code/emit.h"
+#include "src/code/go.h"
+#include "src/code/label.h"
+#include "src/code/output.h"
+#include "src/code/print.h"
+#include "src/conf/opt.h"
+#include "src/dfa/tcmd.h"
+#include "src/re/encoding/enc.h"
+
+namespace re2c
+{
+
+static void output_if (OutputFile & o, uint32_t ind, const std::string & compare, uint32_t value);
+static std::string output_hgo (OutputFile & o, uint32_t ind, const DFA &dfa, SwitchIf * hgo);
+
+void output_if (OutputFile & o, uint32_t ind, const std::string & compare, uint32_t value)
+{
+ o.wind(ind).ws("if (").wstring(o.block().opts->yych).ws(" ").wstring(compare).ws(" ").wc_hex (value).ws(") ");
+}
+
+std::string output_hgo (OutputFile & o, uint32_t ind, const DFA &dfa, SwitchIf * hgo)
+{
+ const opt_t *opts = o.block().opts;
+ std::string yych = opts->yych;
+ if (hgo != NULL)
+ {
+ o.wind(ind).ws("if (").wstring(yych).ws(" & ~0xFF) {\n");
+ hgo->emit (o, ind + 1, dfa);
+ o.wind(ind).ws("} else ");
+ yych = opts->yych;
+ }
+ else
+ {
+ o.wind(ind);
+ }
+ return yych;
+}
+
+void Case::emit (OutputFile & o, uint32_t ind) const
+{
+ const opt_t *opts = o.block().opts;
+ for (uint32_t i = 0; i < ranges.size (); ++i)
+ {
+ for (uint32_t b = ranges[i].first; b < ranges[i].second; ++b)
+ {
+ o.wind(ind).ws("case ").wc_hex (b).ws(":");
+ if (opts->dFlag && opts->encoding.type () == Enc::EBCDIC)
+ {
+ const uint32_t c = opts->encoding.decodeUnsafe (b);
+ if (is_print (c))
+ o.ws(" /* ").wc(static_cast<char> (c)).ws(" */");
+ }
+ bool last_case = i == ranges.size () - 1 && b == ranges[i].second - 1;
+ if (!last_case)
+ {
+ o.ws("\n");
+ }
+ }
+ }
+}
+
+void Cases::emit(OutputFile &o, uint32_t ind, const DFA &dfa) const
+{
+ o.wind(ind).ws("switch (").wstring(o.block().opts->yych).ws(") {\n");
+
+ for (uint32_t i = 1; i < cases_size; ++i) {
+ const Case &c = cases[i];
+ c.emit(o, ind);
+ gen_goto_case(o, ind, c.to, dfa, c.tags, c.skip);
+ }
+
+ // default case must be the last one
+ const Case &c = cases[0];
+ o.wind(ind).ws("default:");
+ gen_goto_case(o, ind, c.to, dfa, c.tags, c.skip);
+
+ o.wind(ind).ws("}\n");
+}
+
+void Binary::emit(OutputFile &o, uint32_t ind, const DFA &dfa) const
+{
+ output_if(o, ind, cond->compare, cond->value);
+ o.ws("{\n");
+ thn->emit(o, ind + 1, dfa);
+ o.wind(ind).ws("} else {\n");
+ els->emit(o, ind + 1, dfa);
+ o.wind(ind).ws("}\n");
+}
+
+void Linear::emit(OutputFile &o, uint32_t ind, const DFA &dfa) const
+{
+ for (uint32_t i = 0; i < nbranches; ++i) {
+ const Branch &b = branches[i];
+ const Cond *cond = b.cond;
+ if (cond) {
+ output_if(o, ind, cond->compare, cond->value);
+ gen_goto_if(o, ind, b.to, dfa, b.tags, b.skip);
+ } else {
+ gen_goto_plain(o, ind, b.to, dfa, b.tags, b.skip);
+ }
+ }
+}
+
+void If::emit(OutputFile &o, uint32_t ind, const DFA &dfa) const
+{
+ switch (type) {
+ case BINARY: info.binary->emit(o, ind, dfa); break;
+ case LINEAR: info.linear->emit(o, ind, dfa); break;
+ }
+}
+
+void SwitchIf::emit(OutputFile &o, uint32_t ind, const DFA &dfa) const
+{
+ switch (type) {
+ case SWITCH: info.cases->emit(o, ind, dfa); break;
+ case IF: info.ifs->emit(o, ind, dfa); break;
+ }
+}
+
+void GoBitmap::emit (OutputFile & o, uint32_t ind, const DFA &dfa) const
+{
+ const opt_t *opts = o.block().opts;
+ std::string yych = output_hgo (o, ind, dfa, hgo);
+ o.ws("if (").wstring(opts->yybm).ws("[").wu32(bitmap->i).ws("+").wstring(yych).ws("] & ");
+ if (opts->yybmHexTable)
+ {
+ o.wu32_hex(bitmap->m);
+ }
+ else
+ {
+ o.wu32(bitmap->m);
+ }
+ o.ws(") {\n");
+ gen_goto_plain(o, ind + 1, bitmap_state, dfa, TCID0, false);
+ o.wind(ind).ws("}\n");
+ if (lgo != NULL)
+ {
+ lgo->emit (o, ind, dfa);
+ }
+}
+
+label_t CpgotoTable::max_label () const
+{
+ label_t max = label_t::first ();
+ for (uint32_t i = 0; i < TABLE_SIZE; ++i)
+ {
+ if (max < table[i]->label)
+ {
+ max = table[i]->label;
+ };
+ }
+ return max;
+}
+
+void CpgotoTable::emit (OutputFile & o, uint32_t ind) const
+{
+ const opt_t *opts = o.block().opts;
+ o.wind(ind).ws("static void *").wstring(opts->yytarget).ws("[256] = {\n");
+ o.wind(++ind);
+ const uint32_t max_digits = max_label ().width ();
+ for (uint32_t i = 0; i < TABLE_SIZE; ++i)
+ {
+ o.ws("&&").wstring(opts->labelPrefix).wlabel(table[i]->label);
+ if (i == TABLE_SIZE - 1)
+ {
+ o.ws("\n");
+ }
+ else if (i % 8 == 7)
+ {
+ o.ws(",\n").wind(ind);
+ }
+ else
+ {
+ const uint32_t padding = max_digits - table[i]->label.width () + 1;
+ o.ws(",").wstring(std::string (padding, ' '));
+ }
+ }
+ o.wind(--ind).ws("};\n");
+}
+
+void Cpgoto::emit (OutputFile & o, uint32_t ind, const DFA &dfa) const
+{
+ std::string yych = output_hgo (o, ind, dfa, hgo);
+ o.ws("{\n");
+ table->emit (o, ++ind);
+ o.wind(ind).ws("goto *").wstring(o.block().opts->yytarget).ws("[").wstring(yych).ws("];\n");
+ o.wind(--ind).ws("}\n");
+}
+
+void Dot::emit(OutputFile &o, const DFA &dfa) const
+{
+ const std::string &prefix = o.block().opts->tags_prefix;
+ const uint32_t n = cases->cases_size;
+ if (n == 1) {
+ o.wlabel(from->label).ws(" -> ").wlabel(cases->cases[0].to->label).ws("\n");
+ } else {
+ for (uint32_t i = 0; i < n; ++i) {
+ const Case &c = cases->cases[i];
+ o.wlabel(from->label).ws(" -> ").wlabel(c.to->label).ws(" [label=\"");
+ for (uint32_t j = 0; j < c.ranges.size(); ++j) {
+ o.wrange(c.ranges[j].first, c.ranges[j].second);
+ }
+ const tcmd_t *cmd = dfa.tcpool[c.tags];
+ for (const tcmd_t *p = cmd; p; p = p->next) {
+ o.ws("<").wstring(vartag_name(p->lhs, prefix));
+ if (tcmd_t::iscopy(p)) {
+ o.ws("~").wstring(vartag_name(p->rhs, prefix));
+ }
+ o.ws(">");
+ }
+ o.ws("\"]\n");
+ }
+ }
+}
+
+void Go::emit (OutputFile & o, uint32_t ind, const DFA &dfa) const
+{
+ if (type == DOT) {
+ info.dot->emit (o, dfa);
+ return;
+ }
+
+ const bool lookahead = o.block().opts->lookahead;
+ o.wdelay_skip(ind, skip && !lookahead);
+ code_lines_t code;
+ gen_settags(code, dfa, tags, o.block().opts);
+ for (size_t i = 0; i < code.size(); ++i) {
+ o.wind(ind).wstring(code[i]);
+ }
+ o.wdelay_skip(ind, skip && lookahead);
+
+ if (type == SWITCH_IF) {
+ info.switchif->emit (o, ind, dfa);
+ } else if (type == BITMAP) {
+ info.bitmap->emit (o, ind, dfa);
+ } else if (type == CPGOTO) {
+ info.cpgoto->emit (o, ind, dfa);
+ }
+}
+
+} // namespace re2c
diff --git a/src/codegen/go_used_labels.cc b/src/code/go_used_labels.cc
index 09cf98ea..5ce70d94 100644
--- a/src/codegen/go_used_labels.cc
+++ b/src/code/go_used_labels.cc
@@ -1,17 +1,16 @@
#include <stddef.h>
#include "src/util/c99_stdint.h"
#include <set>
-#include <utility>
-#include <vector>
-#include "src/codegen/go.h"
-#include "src/codegen/label.h"
-#include "src/ir/adfa/adfa.h"
+#include "src/adfa/adfa.h"
+#include "src/code/go.h"
namespace re2c
{
-void Cases::used_labels (std::set<label_t> & used)
+class label_t;
+
+void Cases::used_labels (std::set<label_t> & used) const
{
for (uint32_t i = 0; i < cases_size; ++i)
{
@@ -19,21 +18,23 @@ void Cases::used_labels (std::set<label_t> & used)
}
}
-void Binary::used_labels (std::set<label_t> & used)
+void Binary::used_labels (std::set<label_t> & used) const
{
thn->used_labels (used);
els->used_labels (used);
}
-void Linear::used_labels (std::set<label_t> & used)
+void Linear::used_labels (std::set<label_t> & used) const
{
- for (uint32_t i = 0; i < branches.size (); ++i)
- {
- used.insert (branches[i].second->label);
+ for (uint32_t i = 0; i < nbranches; ++i) {
+ const State *to = branches[i].to;
+ if (to) {
+ used.insert(to->label);
+ }
}
}
-void If::used_labels (std::set<label_t> & used)
+void If::used_labels (std::set<label_t> & used) const
{
switch (type)
{
@@ -46,7 +47,7 @@ void If::used_labels (std::set<label_t> & used)
}
}
-void SwitchIf::used_labels (std::set<label_t> & used)
+void SwitchIf::used_labels (std::set<label_t> & used) const
{
switch (type)
{
@@ -59,7 +60,7 @@ void SwitchIf::used_labels (std::set<label_t> & used)
}
}
-void GoBitmap::used_labels (std::set<label_t> & used)
+void GoBitmap::used_labels (std::set<label_t> & used) const
{
if (hgo != NULL)
{
@@ -72,7 +73,7 @@ void GoBitmap::used_labels (std::set<label_t> & used)
}
}
-void CpgotoTable::used_labels (std::set<label_t> & used)
+void CpgotoTable::used_labels (std::set<label_t> & used) const
{
for (uint32_t i = 0; i < TABLE_SIZE; ++i)
{
@@ -80,7 +81,7 @@ void CpgotoTable::used_labels (std::set<label_t> & used)
}
}
-void Cpgoto::used_labels (std::set<label_t> & used)
+void Cpgoto::used_labels (std::set<label_t> & used) const
{
if (hgo != NULL)
{
@@ -89,7 +90,7 @@ void Cpgoto::used_labels (std::set<label_t> & used)
table->used_labels (used);
}
-void Go::used_labels (std::set<label_t> & used)
+void Go::used_labels (std::set<label_t> & used) const
{
switch (type)
{
diff --git a/src/code/input_api.cc b/src/code/input_api.cc
new file mode 100644
index 00000000..3b91ec2b
--- /dev/null
+++ b/src/code/input_api.cc
@@ -0,0 +1,131 @@
+#include <assert.h>
+#include <sstream>
+
+#include "src/code/emit.h"
+#include "src/code/input_api.h"
+#include "src/conf/opt.h"
+
+namespace re2c
+{
+
+std::string output_expr_peek(const opt_t *opts)
+{
+ return opts->input_api == INPUT_DEFAULT
+ ? "*" + opts->yycursor
+ : opts->yypeek + " ()";
+}
+
+std::string output_restore(uint32_t ind, const opt_t *opts)
+{
+ std::string s = opts->input_api == INPUT_DEFAULT
+ ? opts->yycursor + " = " + opts->yymarker
+ : opts->yyrestore + " ()";
+ return indent(ind, opts->indString) + s + ";\n";
+}
+
+std::string output_expr_lessthan(size_t n, const opt_t *opts)
+{
+ 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.str ();
+}
+
+static std::string yych_conv(const opt_t *opts)
+{
+ return opts->yychConversion
+ ? "(" + opts->yyctype + ")"
+ : "";
+}
+
+void output_peek(std::ostream &o, uint32_t ind, const opt_t *opts)
+{
+ o << indent(ind, opts->indString) << opts->yych << " = " << yych_conv(opts);
+ if (opts->input_api == INPUT_CUSTOM) {
+ o << opts->yypeek << " ()";
+ } else {
+ o << "*" << opts->yycursor;
+ }
+ o << ";\n";
+}
+
+void output_skip(std::ostream &o, uint32_t ind, const opt_t *opts)
+{
+ o << indent(ind, opts->indString);
+ if (opts->input_api == INPUT_CUSTOM) {
+ o << opts->yyskip << " ()";
+ } else {
+ o << "++" << opts->yycursor;
+ }
+ o << ";\n";
+}
+
+void output_backup(std::ostream &o, uint32_t ind, const opt_t *opts)
+{
+ o << indent(ind, opts->indString);
+ if (opts->input_api == INPUT_CUSTOM) {
+ o << opts->yybackup << " ()";
+ } else {
+ o << opts->yymarker << " = " << opts->yycursor;
+ }
+ o << ";\n";
+}
+
+void output_skip_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->yycursor << ";\n";
+}
+
+void output_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->yycursor << "++;\n";
+}
+
+void output_skip_backup(std::ostream &o, uint32_t ind, const opt_t *opts)
+{
+ assert(opts->input_api == INPUT_DEFAULT);
+ o << indent(ind, opts->indString) << opts->yymarker << " = ++"
+ << opts->yycursor << ";\n";
+}
+
+void output_backup_skip(std::ostream &o, uint32_t ind, const opt_t *opts)
+{
+ assert(opts->input_api == INPUT_DEFAULT);
+ o << indent(ind, opts->indString) << opts->yymarker << " = "
+ << opts->yycursor << "++;\n";
+}
+
+void output_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_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
diff --git a/src/code/input_api.h b/src/code/input_api.h
new file mode 100644
index 00000000..abb6289c
--- /dev/null
+++ b/src/code/input_api.h
@@ -0,0 +1,37 @@
+#ifndef _RE2C_CODE_INPUT_API_
+#define _RE2C_CODE_INPUT_API_
+
+#include <stddef.h>
+#include "src/util/c99_stdint.h"
+#include <iosfwd>
+#include <string>
+
+namespace re2c
+{
+
+struct opt_t;
+
+enum input_api_t
+{
+ INPUT_DEFAULT,
+ INPUT_CUSTOM
+};
+
+std::string output_expr_peek (const opt_t *opts);
+std::string output_restore (uint32_t ind, const opt_t *opts);
+std::string output_expr_lessthan (size_t n, const opt_t *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_CODE_INPUT_API_
diff --git a/src/codegen/label.cc b/src/code/label.cc
index c2e384fb..12e1ee24 100644
--- a/src/codegen/label.cc
+++ b/src/code/label.cc
@@ -1,6 +1,6 @@
#include <ostream>
-#include "src/codegen/label.h"
+#include "src/code/label.h"
namespace re2c {
diff --git a/src/codegen/label.h b/src/code/label.h
index cb2179d3..bf29628a 100644
--- a/src/codegen/label.h
+++ b/src/code/label.h
@@ -1,9 +1,8 @@
-#ifndef _RE2C_CODEGEN_LABEL_
-#define _RE2C_CODEGEN_LABEL_
-
-#include <iosfwd> // ostream
+#ifndef _RE2C_CODE_LABEL_
+#define _RE2C_CODE_LABEL_
#include "src/util/c99_stdint.h"
+#include <iosfwd> // ostream
namespace re2c {
@@ -36,4 +35,4 @@ public:
} // namespace re2c
-#endif // _RE2C_CODEGEN_LABEL_
+#endif // _RE2C_CODE_LABEL_
diff --git a/src/code/output.cc b/src/code/output.cc
new file mode 100644
index 00000000..0695c341
--- /dev/null
+++ b/src/code/output.cc
@@ -0,0 +1,776 @@
+#include <stdio.h>
+#include <time.h>
+#include <iomanip>
+
+#include "config.h"
+#include "src/code/emit.h"
+#include "src/code/input_api.h"
+#include "src/code/output.h"
+#include "src/code/print.h"
+#include "src/conf/msg.h"
+#include "src/conf/opt.h"
+#include "src/conf/warn.h"
+#include "src/re/encoding/enc.h"
+#include "src/util/string_utils.h"
+#include "src/util/uniq_vector.h"
+
+namespace re2c
+{
+
+OutputFragment::OutputFragment (type_t t, uint32_t i)
+ : type (t)
+ , stream ()
+ , indent (i)
+{}
+
+OutputFragment::~OutputFragment()
+{
+ if (type == STAGS || type == MTAGS) delete tags;
+}
+
+uint32_t OutputFragment::count_lines () const
+{
+ uint32_t lines = 0;
+ const std::string content = stream.str ();
+ const char * p = content.c_str ();
+ for (uint32_t i = 0; i < content.size (); ++i)
+ {
+ if (p[i] == '\n')
+ {
+ ++lines;
+ }
+ }
+ return lines;
+}
+
+OutputBlock::OutputBlock ()
+ : fragments ()
+ , used_yyaccept (false)
+ , line (0)
+ , types ()
+ , stags ()
+ , mtags ()
+ , opts(NULL)
+{
+ fragments.push_back (new OutputFragment (OutputFragment::CODE, 0));
+}
+
+OutputBlock::~OutputBlock ()
+{
+ for (unsigned int i = 0; i < fragments.size (); ++i)
+ {
+ delete fragments[i];
+ }
+ delete opts;
+}
+
+OutputFile::OutputFile(Warn &w)
+ : blocks ()
+ , label_counter ()
+ , fill_index(0)
+ , state_goto(false)
+ , cond_goto(false)
+ , warn_condition_order(true)
+ , warn(w)
+{}
+
+OutputFile::~OutputFile ()
+{
+ for (unsigned int i = 0; i < blocks.size(); ++i) {
+ delete blocks[i];
+ }
+}
+
+OutputBlock& OutputFile::block()
+{
+ return *blocks.back();
+}
+
+std::ostream & OutputFile::stream ()
+{
+ return block().fragments.back ()->stream;
+}
+
+OutputFile &OutputFile::wraw(const char *s, const char *e)
+{
+ if (block().opts->target == TARGET_CODE) {
+ insert_code();
+
+ // convert CR LF to LF
+ std::ostream &o = stream();
+ for (const char *p = s;; ++p) {
+ std::streamsize l = p - s;
+ if (p == e) {
+ o.write(s, l);
+ break;
+ } else if (*p == '\n') {
+ if (p > s && p[-1] == '\r') --l;
+ o.write(s, l);
+ s = p;
+ }
+ }
+ }
+ return *this;
+}
+
+OutputFile & OutputFile::wu32_hex (uint32_t n)
+{
+ insert_code();
+ prtHex(stream(), n, block().opts->encoding.szCodeUnit());
+ return *this;
+}
+
+OutputFile & OutputFile::wc_hex (uint32_t n)
+{
+ insert_code();
+ const opt_t *opts = block().opts;
+ const Enc &e = opts->encoding;
+ prtChOrHex(stream(), n, e.szCodeUnit(), e.type() == Enc::EBCDIC, opts->target == TARGET_DOT);
+ return *this;
+}
+
+OutputFile & OutputFile::wrange (uint32_t l, uint32_t u)
+{
+ insert_code();
+ const opt_t *opts = block().opts;
+ const Enc &e = opts->encoding;
+ printSpan(stream(), l, u, e.szCodeUnit(), e.type() == Enc::EBCDIC, opts->target == TARGET_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, block().opts->iFlag);
+ return *this;
+}
+
+OutputFile & OutputFile::wversion_time ()
+{
+ insert_code();
+ output_version_time(stream(), block().opts->version, !block().opts->bNoGenerationDate);
+ return *this;
+}
+
+OutputFile & OutputFile::wuser_start_label ()
+{
+ insert_code();
+ const std::string label = block().opts->startlabel;
+ if (!label.empty())
+ {
+ wstring(label).ws(":\n");
+ }
+ return *this;
+}
+
+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, block().opts->indString);
+ return *this;
+}
+
+void OutputFile::insert_code ()
+{
+ if (block().fragments.back()->type != OutputFragment::CODE) {
+ block().fragments.push_back(new OutputFragment(OutputFragment::CODE, 0));
+ }
+}
+
+OutputFile &OutputFile::wdelay_tags(const ConfTags *cf, bool mtags)
+{
+ if (block().opts->target == TARGET_CODE) {
+ OutputFragment *frag = new OutputFragment(
+ mtags ? OutputFragment::MTAGS : OutputFragment::STAGS, 0);
+ frag->tags = cf;
+ blocks.back()->fragments.push_back(frag);
+ }
+ return *this;
+}
+
+OutputFile & OutputFile::wdelay_line_info ()
+{
+ block().fragments.push_back (new OutputFragment (OutputFragment::LINE_INFO, 0));
+ return *this;
+}
+
+OutputFile & OutputFile::wdelay_cond_goto(uint32_t ind)
+{
+ if (block().opts->cFlag && !cond_goto) {
+ block().fragments.push_back(new OutputFragment(OutputFragment::COND_GOTO, ind));
+ cond_goto = true;
+ }
+ return *this;
+}
+
+OutputFile & OutputFile::wdelay_cond_table(uint32_t ind)
+{
+ if (block().opts->gFlag && block().opts->cFlag && !cond_goto) {
+ block().fragments.push_back(new OutputFragment(OutputFragment::COND_TABLE, ind));
+ }
+ return *this;
+}
+
+OutputFile & OutputFile::wdelay_state_goto (uint32_t ind)
+{
+ if (block().opts->target == TARGET_CODE
+ && block().opts->fFlag && !state_goto) {
+ block().fragments.push_back (new OutputFragment (OutputFragment::STATE_GOTO, ind));
+ state_goto = true;
+ }
+ return *this;
+}
+
+OutputFile & OutputFile::wdelay_types ()
+{
+ if (block().opts->target == TARGET_CODE) {
+ warn_condition_order = false; // see note [condition order]
+ block().fragments.push_back (new OutputFragment (OutputFragment::TYPES, 0));
+ }
+ return *this;
+}
+
+OutputFile & OutputFile::wdelay_yyaccept_init (uint32_t ind)
+{
+ block().fragments.push_back (new OutputFragment (OutputFragment::YYACCEPT_INIT, ind));
+ return *this;
+}
+
+OutputFile & OutputFile::wdelay_yymaxfill ()
+{
+ if (block().opts->target == TARGET_CODE) {
+ block().fragments.push_back (new OutputFragment (OutputFragment::YYMAXFILL, 0));
+ }
+ return *this;
+}
+
+OutputFile& OutputFile::wdelay_yymaxnmatch()
+{
+ if (block().opts->target == TARGET_CODE
+ && block().opts->posix_captures) {
+ block().fragments.push_back (new OutputFragment (OutputFragment::YYMAXNMATCH, 0));
+ }
+ 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(Opt &opts)
+{
+ OutputBlock *b = new OutputBlock;
+ b->opts = opts.snapshot();
+ blocks.push_back(b);
+
+ // start label hapens to be the only option
+ // that must be reset for each new block
+ opts.reset_startlabel();
+}
+
+void OutputFile::global_lists(uniq_vector_t<std::string> &types,
+ std::set<std::string> &stags, std::set<std::string> &mtags) const
+{
+ for (unsigned int i = 0; i < blocks.size(); ++i) {
+ const std::vector<std::string> &cs = blocks[i]->types;
+ for (size_t j = 0; j < cs.size(); ++j) {
+ types.find_or_add(cs[j]);
+ }
+
+ const std::set<std::string>
+ &st = blocks[i]->stags,
+ &mt = blocks[i]->mtags;
+ stags.insert(st.begin(), st.end());
+ mtags.insert(mt.begin(), mt.end());
+ }
+}
+
+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_stags,
+ const std::set<std::string> &global_mtags,
+ size_t max_fill, size_t max_nmatch)
+{
+ FILE *file = NULL;
+ std::string filename = block().opts->output_file;
+ if (filename.empty()) {
+ filename = "<stdout>";
+ file = stdout;
+ } else {
+ file = fopen(filename.c_str(), "w");
+ if (!file) {
+ error("cannot open output file: %s", filename.c_str());
+ return false;
+ }
+ }
+
+ unsigned int line_count = 1;
+ for (unsigned int j = 0; j < blocks.size(); ++j) {
+ OutputBlock & b = * blocks[j];
+ 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 ? f.indent : bopt->topIndent;
+
+ switch (f.type) {
+ 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::STAGS:
+ output_tags(o, ind, *f.tags, global_stags, bopt);
+ break;
+ case OutputFragment::MTAGS:
+ output_tags(o, ind, *f.tags, global_mtags, bopt);
+ break;
+ case OutputFragment::TYPES:
+ output_types(o, ind, block().opts, global_types);
+ break;
+ case OutputFragment::YYACCEPT_INIT:
+ output_yyaccept_init(o, ind, b.used_yyaccept, bopt);
+ break;
+ case OutputFragment::YYMAXFILL:
+ output_yymaxfill(o, ind, max_fill, bopt);
+ break;
+ case OutputFragment::YYMAXNMATCH:
+ output_yymaxnmatch(o, ind, max_nmatch, bopt);
+ 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 = o.str();
+ fwrite(content.c_str(), 1, content.size(), file);
+ line_count += f.count_lines();
+ }
+ }
+
+ fclose(file);
+ return true;
+}
+
+bool HeaderFile::emit(const opt_t *opts, const uniq_vector_t<std::string> &types)
+{
+ const std::string &filename = opts->header_file;
+ if (filename.empty()) return true;
+
+ FILE *file = fopen(filename.c_str(), "w");
+ if (!file) {
+ error("cannot open header file: %s", filename.c_str());
+ return false;
+ }
+
+ output_version_time(stream, opts->version, !opts->bNoGenerationDate);
+ output_line_info(stream, 3, filename, opts->iFlag);
+ stream << "\n";
+ output_types(stream, 0, opts, types);
+
+ std::string content = stream.str();
+ fwrite(content.c_str(), 1, content.size(), file);
+
+ fclose(file);
+ return true;
+}
+
+Output::Output(Warn &w)
+ : source(w)
+ , header()
+ , skeletons()
+ , max_fill(1)
+ , max_nmatch(1)
+{}
+
+bool Output::emit()
+{
+ if (source.warn.error()) {
+ return false;
+ }
+
+ uniq_vector_t<std::string> types;
+ std::set<std::string> stags, mtags;
+ source.global_lists(types, stags, mtags);
+
+ // global options are last block's options
+ const opt_t *opts = source.block().opts;
+
+ return source.emit(types, stags, mtags, max_fill, max_nmatch)
+ && header.emit(opts, types);
+}
+
+void output_tags(std::ostream &o, uint32_t ind, const ConfTags &conf,
+ const std::set<std::string> &tags, const opt_t *opts)
+{
+ std::set<std::string>::const_iterator
+ tag = tags.begin(),
+ end = tags.end();
+ o << indent(ind, opts->indString);
+ for (;tag != end;) {
+ std::string fmt = conf.format;
+ strrreplace(fmt, "@@", *tag);
+ o << fmt;
+ if (++tag == end) {
+ break;
+ }
+ o << conf.separator;
+ }
+}
+
+void output_state_goto(std::ostream & o, uint32_t ind,
+ uint32_t start_label, uint32_t fill_index, const opt_t *opts)
+{
+ const std::string
+ indstr = indent(ind, opts->indString),
+ getstate = opts->state_get_naked
+ ? opts->state_get
+ : opts->state_get + "()";
+
+ o << indstr << "switch (" << getstate << ") {\n";
+ if (opts->bUseStateAbort)
+ {
+ o << indstr << "default: abort();\n";
+ o << indstr << "case -1: goto " << opts->labelPrefix << start_label << ";\n";
+ }
+ else
+ {
+ o << indstr << "default: goto " << opts->labelPrefix << start_label << ";\n";
+ }
+ for (uint32_t i = 0; i < fill_index; ++i)
+ {
+ o << indstr << "case " << i << ": goto " << opts->yyfilllabel << i << ";\n";
+ }
+ o << indstr << "}\n";
+ if (opts->bUseStateNext)
+ {
+ o << opts->yynext << ":\n";
+ }
+}
+
+void output_yyaccept_init (std::ostream & o, uint32_t ind, bool used_yyaccept, const opt_t *opts)
+{
+ if (used_yyaccept)
+ {
+ o << indent(ind, opts->indString) << "unsigned int " << opts->yyaccept << " = 0;\n";
+ }
+}
+
+void output_yymaxfill(std::ostream &o, uint32_t ind,
+ size_t max_fill, const opt_t *opts)
+{
+ o << indent(ind, opts->indString) << "#define YYMAXFILL " << max_fill << "\n";
+}
+
+void output_yymaxnmatch(std::ostream &o, uint32_t ind,
+ size_t max_nmatch, const opt_t *opts)
+{
+ o << indent(ind, opts->indString) << "#define YYMAXNMATCH " << max_nmatch << "\n";
+}
+
+void output_line_info(std::ostream &o, uint32_t line,
+ const std::string &fname, bool iflag)
+{
+ if (!iflag) {
+ o << "#line " << line << " \"" << fname << "\"\n";
+ }
+}
+
+void output_types(std::ostream &o, uint32_t ind, const opt_t *opts,
+ const uniq_vector_t<std::string> &types)
+{
+ const std::string indstr = opts->indString;
+ o << indent(ind++, indstr) << "enum " << opts->yycondtype << " {\n";
+ for (size_t i = 0; i < types.size(); ++i) {
+ o << indent(ind, indstr) << opts->condEnumPrefix << types[i] << ",\n";
+ }
+ o << indent(--ind, indstr) << "};\n";
+}
+
+void output_version_time(std::ostream &o, bool version, bool date)
+{
+ o << "/* Generated by re2c";
+ if (version) {
+ o << " " << PACKAGE_VERSION;
+ }
+ if (date) {
+ o << " on ";
+ time_t now = time (NULL);
+ o.write (ctime (&now), 24);
+ }
+ o << " */" << "\n";
+}
+
+/*
+ * note [condition order]
+ *
+ * In theory re2c makes no guarantee about the order of conditions in
+ * the generated lexer. Users should define condition type 'YYCONDTYPE'
+ * and use values of this type with 'YYGETCONDITION' and 'YYSETCONDITION'.
+ * This way code is independent of internal re2c condition numbering.
+ *
+ * However, it is possible to manually hardcode condition numbers and make
+ * re2c generate condition dispatch without explicit use of condition names
+ * (nested 'if' statements with '-b' or computed 'goto' table with '-g').
+ * This code is syntactically valid (compiles), but unsafe:
+ * - change of re2c options may break compilation
+ * - change of internal re2c condition numbering may break runtime
+ *
+ * re2c has to preserve the existing numbering scheme.
+ *
+ * re2c warns about implicit assumptions about condition order, unless:
+ * - condition type is defined with 'types:re2c' or '-t, --type-header'
+ * - dispatch is independent of condition order: either it uses
+ * explicit condition names or there's only one condition and
+ * dispatch shrinks to unconditional jump
+ */
+
+static std::string output_cond_get(const opt_t *opts)
+{
+ return opts->cond_get + (opts->cond_get_naked ? "" : "()");
+}
+
+static void output_cond_goto_binary(std::ostream &o, uint32_t ind,
+ const std::vector<std::string> &conds, const opt_t *opts,
+ size_t lower, size_t upper)
+{
+ const std::string indstr = indent(ind, opts->indString);
+
+ if (lower == upper) {
+ o << indstr << "goto " << opts->condPrefix << conds[lower] << ";\n";
+ } else {
+ const size_t middle = lower + (upper - lower + 1) / 2;
+ o << indstr << "if (" << output_cond_get(opts) << " < " << middle << ") {\n";
+ output_cond_goto_binary(o, ind + 1, conds, opts, lower, middle - 1);
+ o << indstr << "} else {\n";
+ output_cond_goto_binary(o, ind + 1, conds, opts, middle, upper);
+ o << indstr << "}\n";
+ }
+}
+
+void output_cond_goto(std::ostream &o, uint32_t ind,
+ const std::vector<std::string> &conds, const opt_t *opts,
+ Warn &warn, bool warn_cond_order, uint32_t line)
+{
+ const size_t ncond = conds.size();
+ const std::string indstr = indent(ind, opts->indString);
+
+ if (opts->target == TARGET_DOT) {
+ for (size_t i = 0; i < ncond; ++i) {
+ const std::string &cond = conds[i];
+ o << "0 -> " << cond << " [label=\"state=" << cond << "\"]\n";
+ }
+ return;
+ }
+
+ if (opts->gFlag) {
+ o << indstr << "goto *" << opts->yyctable
+ << "[" << output_cond_get(opts) << "];\n";
+ } else if (opts->sFlag) {
+ if (ncond == 1) warn_cond_order = false;
+ output_cond_goto_binary(o, ind, conds, opts, 0, ncond - 1);
+ } else {
+ warn_cond_order = false;
+ o << indstr << "switch (" << output_cond_get(opts) << ") {\n";
+ for (size_t i = 0; i < ncond; ++i) {
+ const std::string &cond = conds[i];
+ o << indstr << "case " << opts->condEnumPrefix << cond
+ <<": goto " << opts->condPrefix << cond << ";\n";
+ }
+ o << indstr << "}\n";
+ }
+
+ warn_cond_order &= opts->header_file.empty();
+
+ // see note [condition order]
+ if (warn_cond_order) warn.condition_order(line);
+}
+
+void output_cond_table(std::ostream &o, uint32_t ind,
+ const std::vector<std::string> &conds, const opt_t *opts)
+{
+ const size_t ncond = conds.size();
+ const std::string indstr = opts->indString;
+
+ o << indent(ind++, indstr) << "static void *" << opts->yyctable << "[" << ncond << "] = {\n";
+ for (size_t i = 0; i < ncond; ++i) {
+ o << indent(ind, indstr) << "&&" << opts->condPrefix << conds[i] << ",\n";
+ }
+ o << indent(--ind, indstr) << "};\n";
+}
+
+} // namespace re2c
diff --git a/src/code/output.h b/src/code/output.h
new file mode 100644
index 00000000..6b769aa7
--- /dev/null
+++ b/src/code/output.h
@@ -0,0 +1,191 @@
+#ifndef _RE2C_CODE_OUTPUT_
+#define _RE2C_CODE_OUTPUT_
+
+#include <stddef.h>
+#include "src/util/c99_stdint.h"
+#include <stdio.h>
+#include <fstream>
+#include <set>
+#include <sstream>
+#include <string>
+#include <vector>
+
+#include "src/code/label.h"
+#include "src/conf/opt.h"
+#include "src/conf/warn.h"
+#include "src/util/counter.h"
+#include "src/util/forbid_copy.h"
+#include "src/util/uniq_vector.h"
+
+namespace re2c
+{
+
+class Warn;
+struct Opt;
+struct opt_t;
+template <typename value_t> class uniq_vector_t;
+
+struct ConfTags
+{
+ std::string format;
+ std::string separator;
+
+ ConfTags(const std::string &f, const std::string &s)
+ : format(f), separator(s) {}
+};
+
+struct OutputFragment
+{
+ enum type_t
+ { CODE
+// , CONFIG
+ , COND_GOTO
+ , COND_TABLE
+ , LINE_INFO
+ , STATE_GOTO
+ , STAGS
+ , MTAGS
+ , TYPES
+ , YYACCEPT_INIT
+ , YYMAXFILL
+ , YYMAXNMATCH
+ , SKIP
+ , PEEK
+ , BACKUP
+ , PEEK_SKIP
+ , SKIP_PEEK
+ , SKIP_BACKUP
+ , BACKUP_SKIP
+ , BACKUP_PEEK
+ , BACKUP_PEEK_SKIP
+ , SKIP_BACKUP_PEEK
+ , EMPTY
+ };
+
+ type_t type;
+ std::ostringstream stream;
+ uint32_t indent;
+ union
+ {
+ const ConfTags* tags;
+ };
+
+ OutputFragment (type_t t, uint32_t i);
+ ~OutputFragment ();
+ uint32_t count_lines () const;
+};
+
+struct OutputBlock
+{
+ std::vector<OutputFragment *> fragments;
+ bool used_yyaccept;
+ uint32_t line;
+ std::vector<std::string> types;
+ std::set<std::string> stags;
+ std::set<std::string> mtags;
+ const opt_t *opts;
+
+ OutputBlock ();
+ ~OutputBlock ();
+ FORBID_COPY(OutputBlock);
+};
+
+class OutputFile
+{
+ std::vector<OutputBlock *> blocks;
+
+public:
+ counter_t<label_t> label_counter;
+ uint32_t fill_index;
+ bool state_goto;
+ bool cond_goto;
+ bool warn_condition_order;
+ Warn &warn;
+
+ explicit OutputFile(Warn &w);
+ ~OutputFile();
+
+ std::ostream & stream ();
+ OutputBlock &block();
+ void insert_code ();
+ bool open ();
+ void new_block(Opt &opts);
+
+ // immediate output
+ OutputFile & wraw (const char *s, const char *e);
+ OutputFile & wc (char c);
+ OutputFile & wc_hex (uint32_t n);
+ OutputFile & wu32 (uint32_t n);
+ OutputFile & wu32_hex (uint32_t n);
+ OutputFile & wu32_width (uint32_t n, int w);
+ OutputFile & wu64 (uint64_t n);
+ OutputFile & wstring (const std::string & s);
+ OutputFile & ws (const char * s);
+ OutputFile & wlabel (label_t l);
+ OutputFile & wrange (uint32_t u, uint32_t l);
+ OutputFile & wline_info (uint32_t l, const char * fn);
+ OutputFile & wversion_time ();
+ OutputFile & wuser_start_label ();
+ OutputFile & wind (uint32_t ind);
+
+ // delayed output
+ OutputFile & wdelay_tags(const ConfTags *cf, bool mtags);
+ OutputFile & wdelay_line_info ();
+ OutputFile & wdelay_cond_goto(uint32_t ind);
+ OutputFile & wdelay_cond_table(uint32_t ind);
+ OutputFile & wdelay_state_goto (uint32_t ind);
+ OutputFile & wdelay_types ();
+ OutputFile & wdelay_yyaccept_init (uint32_t ind);
+ OutputFile & wdelay_yymaxfill ();
+ OutputFile& wdelay_yymaxnmatch();
+ 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> &stags, std::set<std::string> &mtags) const;
+
+ bool emit(const uniq_vector_t<std::string> &global_types,
+ const std::set<std::string> &global_stags,
+ const std::set<std::string> &global_mtags,
+ size_t max_fill, size_t max_nmatch);
+
+ FORBID_COPY (OutputFile);
+};
+
+class HeaderFile
+{
+ std::ostringstream stream;
+
+public:
+ HeaderFile(): stream() {}
+ bool emit(const opt_t *opts, const uniq_vector_t<std::string> &types);
+ FORBID_COPY (HeaderFile);
+};
+
+struct Output
+{
+ OutputFile source;
+ HeaderFile header;
+ std::set<std::string> skeletons;
+ size_t max_fill;
+ size_t max_nmatch;
+
+ explicit Output(Warn &w);
+ bool emit();
+};
+
+void output_tags (std::ostream &o, uint32_t ind, const ConfTags &conf, const std::set<std::string> &tags, const opt_t *opts);
+void output_line_info (std::ostream &o, uint32_t line, const std::string &fname, bool iflag);
+void output_cond_goto (std::ostream &o, uint32_t ind, const std::vector<std::string> &conds, const opt_t *opts, Warn &warn, bool warn_cond_order, uint32_t line);
+void output_cond_table (std::ostream &o, uint32_t ind, const std::vector<std::string> &conds, const opt_t *opts);
+void output_state_goto (std::ostream &o, uint32_t ind, uint32_t start_label, uint32_t fill_index, const opt_t *opts);
+void output_types (std::ostream &o, uint32_t ind, const opt_t *opts, const uniq_vector_t<std::string> &types);
+void output_version_time (std::ostream &o, bool version, bool date);
+void output_yyaccept_init (std::ostream &o, uint32_t ind, bool, const opt_t *opts);
+void output_yymaxfill (std::ostream &o, uint32_t ind, size_t max_fill, const opt_t *opts);
+void output_yymaxnmatch (std::ostream &o, uint32_t ind, size_t max_nmatch, const opt_t *opts);
+
+} // namespace re2c
+
+#endif // _RE2C_CODE_OUTPUT_
diff --git a/src/code/print.cc b/src/code/print.cc
new file mode 100644
index 00000000..d24f06d0
--- /dev/null
+++ b/src/code/print.cc
@@ -0,0 +1,96 @@
+#include <iostream>
+
+#include "src/code/print.h"
+
+namespace re2c
+{
+
+static bool is_space(uint32_t c)
+{
+ switch (c) {
+ case '\t':
+ case '\f':
+ case '\v':
+ case '\n':
+ case '\r':
+ case ' ': return true;
+ default: return false;
+ }
+}
+
+static inline char hex(uint32_t c)
+{
+ static const char * sHex = "0123456789ABCDEF";
+ return sHex[c & 0x0F];
+}
+
+static void prtCh(std::ostream& o, uint32_t c, bool dot)
+{
+ switch (c) {
+ case '\'': o << (dot ? "'" : "\\'"); break;
+ case '"': o << (dot ? "\\\"" : "\""); break;
+ case '\n': o << (dot ? "\\\\n" : "\\n"); break;
+ case '\t': o << (dot ? "\\\\t" : "\\t"); break;
+ case '\v': o << (dot ? "\\\\v" : "\\v"); break;
+ case '\b': o << (dot ? "\\\\b" : "\\b"); break;
+ case '\r': o << (dot ? "\\\\r" : "\\r"); break;
+ case '\f': o << (dot ? "\\\\f" : "\\f"); break;
+ case '\a': o << (dot ? "\\\\a" : "\\a"); break;
+ case '\\': o << "\\\\"; break; // both .dot and C/C++ code expect "\\"
+ default: o << static_cast<char> (c); break;
+ }
+}
+
+bool is_print(uint32_t c)
+{
+ return c >= 0x20 && c < 0x7F;
+}
+
+void prtHex(std::ostream& o, uint32_t c, uint32_t szcunit)
+{
+ o << "0x";
+
+ if (szcunit >= 4) {
+ o << hex(c >> 28u) << hex(c >> 24u) << hex(c >> 20u) << hex(c >> 16u);
+ }
+
+ if (szcunit >= 2) {
+ o << hex(c >> 12u) << hex(c >> 8u);
+ }
+
+ o << hex(c >> 4u) << hex(c);
+}
+
+void prtChOrHex(std::ostream& o, uint32_t c, uint32_t szcunit, bool ebcdic, bool dot)
+{
+ if (!ebcdic && (is_print(c) || is_space(c))) {
+ o << '\'';
+ prtCh(o, c, dot);
+ o << '\'';
+ } else {
+ prtHex(o, c, szcunit);
+ }
+}
+
+static void prtChOrHexForSpan(std::ostream& o, uint32_t c, uint32_t szcunit, bool ebcdic, bool dot)
+{
+ if (!ebcdic && c != ']' && is_print(c)) {
+ prtCh(o, c, dot);
+ } else {
+ prtHex(o, c, szcunit);
+ }
+}
+
+void printSpan(std::ostream& o, uint32_t l, uint32_t u, uint32_t szcunit, bool ebcdic, bool dot)
+{
+ o << "[";
+ prtChOrHexForSpan(o, l, szcunit, ebcdic, dot);
+ if (u - l > 1) {
+ o << "-";
+ prtChOrHexForSpan(o, u - 1, szcunit, ebcdic, dot);
+ }
+ o << "]";
+}
+
+} // end namespace re2c
+
diff --git a/src/code/print.h b/src/code/print.h
new file mode 100644
index 00000000..444441b0
--- /dev/null
+++ b/src/code/print.h
@@ -0,0 +1,17 @@
+#ifndef _RE2C_CODE_PRINT_
+#define _RE2C_CODE_PRINT_
+
+#include "src/util/c99_stdint.h"
+#include <iosfwd>
+
+namespace re2c
+{
+
+bool is_print (uint32_t c);
+void prtHex (std::ostream &o, uint32_t c, uint32_t szcunit);
+void prtChOrHex (std::ostream &o, uint32_t c, uint32_t szcunit, bool ebcdic, bool dot);
+void printSpan (std::ostream &o, uint32_t l, uint32_t u, uint32_t szcunit, bool ebcdic, bool dot);
+
+} // end namespace re2c
+
+#endif // _RE2C_CODE_PRINT_
diff --git a/src/codegen/bitmap.cc b/src/codegen/bitmap.cc
deleted file mode 100644
index ca23423c..00000000
--- a/src/codegen/bitmap.cc
+++ /dev/null
@@ -1,168 +0,0 @@
-#include <algorithm> // min
-#include <string.h> // memset
-
-#include "src/codegen/bitmap.h"
-#include "src/codegen/go.h"
-#include "src/codegen/output.h"
-#include "src/conf/opt.h"
-#include "src/globals.h"
-
-namespace re2c
-{
-
-BitMap *BitMap::first = NULL;
-
-BitMap::BitMap(const Go *g, const State *x)
- : go(g)
- , on(x)
- , next(first)
- , i(0)
- , m(0)
-{
- first = this;
-}
-
-BitMap::~BitMap()
-{
- delete next;
-}
-
-const BitMap *BitMap::find(const Go *g, const State *x)
-{
- for (const BitMap *b = first; b; b = b->next)
- {
- if (matches(b->go->span, b->go->nSpans, b->on, g->span, g->nSpans, x))
- {
- return b;
- }
- }
-
- return new BitMap(g, x);
-}
-
-const BitMap *BitMap::find(const State *x)
-{
- for (const BitMap *b = first; b; b = b->next)
- {
- if (b->on == x)
- {
- return b;
- }
- }
-
- return NULL;
-}
-
-static void doGen(const Go *g, const State *s, uint32_t *bm, uint32_t f, uint32_t m)
-{
- Span *b = g->span, *e = &b[g->nSpans];
- uint32_t lb = 0;
-
- for (; b < e; ++b)
- {
- if (b->to == s)
- {
- for (; lb < b->ub && lb < 256; ++lb)
- {
- bm[lb-f] |= m;
- }
- }
-
- lb = b->ub;
- }
-}
-
-void BitMap::gen(OutputFile & o, uint32_t ind, uint32_t lb, uint32_t ub)
-{
- if (first && bUsedYYBitmap)
- {
- o.wind(ind).ws("static const unsigned char ").wstring(opts->yybm).ws("[] = {");
-
- uint32_t c = 1, n = ub - lb;
- const BitMap *cb = first;
-
- while((cb = cb->next) != NULL) {
- ++c;
- }
- BitMap *b = first;
-
- uint32_t *bm = new uint32_t[n];
-
- for (uint32_t i = 0, t = 1; b; i += n, t += 8)
- {
- memset(bm, 0, n * sizeof(uint32_t));
-
- for (uint32_t m = 0x80; b && m; m >>= 1)
- {
- b->i = i;
- b->m = m;
- doGen(b->go, b->on, bm, lb, m);
- b = const_cast<BitMap*>(b->next);
- }
-
- if (c > 8)
- {
- o.ws("\n").wind(ind+1).ws("/* table ").wu32(t).ws(" .. ").wu32(std::min(c, t+7)).ws(": ").wu32(i).ws(" */");
- }
-
- for (uint32_t j = 0; j < n; ++j)
- {
- if (j % 8 == 0)
- {
- o.ws("\n").wind(ind+1);
- }
-
- if (opts->yybmHexTable)
- {
- o.wu32_hex(bm[j]);
- }
- else
- {
- o.wu32_width(bm[j], 3);
- }
- o.ws(", ");
- }
- }
-
- o.ws("\n").wind(ind).ws("};\n");
-
- delete[] bm;
- }
-}
-
-// All spans in b1 that lead to s1 are pairwise equal to that in b2 leading to s2
-bool matches(const Span * b1, uint32_t n1, const State * s1, const Span * b2, uint32_t n2, const State * s2)
-{
- const Span * e1 = &b1[n1];
- uint32_t lb1 = 0;
- const Span * e2 = &b2[n2];
- uint32_t lb2 = 0;
-
- for (;;)
- {
- for (; b1 < e1 && b1->to != s1; ++b1)
- {
- lb1 = b1->ub;
- }
- for (; b2 < e2 && b2->to != s2; ++b2)
- {
- lb2 = b2->ub;
- }
- if (b1 == e1)
- {
- return b2 == e2;
- }
- if (b2 == e2)
- {
- return false;
- }
- if (lb1 != lb2 || b1->ub != b2->ub)
- {
- return false;
- }
- ++b1;
- ++b2;
- }
-}
-
-} // end namespace re2c
diff --git a/src/codegen/bitmap.h b/src/codegen/bitmap.h
deleted file mode 100644
index 3c0cc1be..00000000
--- a/src/codegen/bitmap.h
+++ /dev/null
@@ -1,45 +0,0 @@
-#ifndef _RE2C_CODEGEN_BITMAP_
-#define _RE2C_CODEGEN_BITMAP_
-
-#include "src/util/c99_stdint.h"
-
-#include "src/util/forbid_copy.h"
-
-namespace re2c
-{
-
-struct Go;
-struct Span;
-class State;
-class OutputFile;
-
-class BitMap
-{
-public:
- static BitMap *first;
-
- const Go *go;
- const State *on;
- const BitMap *next;
- uint32_t i;
- uint32_t m;
-
-public:
- static const BitMap *find(const Go*, const State*);
- static const BitMap *find(const State*);
- static void gen(OutputFile &, uint32_t ind, uint32_t, uint32_t);
- BitMap(const Go*, const State*);
- ~BitMap();
-
- FORBID_COPY (BitMap);
-};
-
-bool matches(const Span * b1, uint32_t n1, const State * s1, const Span * b2, uint32_t n2, const State * s2);
-
-#ifdef _MSC_VER
-# pragma warning(disable: 4355) /* 'this' : used in base member initializer list */
-#endif
-
-} // end namespace re2c
-
-#endif // _RE2C_CODEGEN_BITMAP_
diff --git a/src/codegen/emit.h b/src/codegen/emit.h
deleted file mode 100644
index 5d91b14e..00000000
--- a/src/codegen/emit.h
+++ /dev/null
@@ -1,43 +0,0 @@
-#ifndef _RE2C_CODEGEN_EMIT_
-#define _RE2C_CODEGEN_EMIT_
-
-#include "src/codegen/output.h"
-#include "src/ir/adfa/adfa.h"
-
-namespace re2c {
-
-typedef std::vector<std::string> RegExpIndices;
-
-void emit_action
- ( const Action & action
- , OutputFile & o
- , uint32_t ind
- , bool & readCh
- , const State * const s
- , const std::string & condName
- , const Skeleton * skeleton
- , const std::set<label_t> & used_labels
- , bool save_yyaccept
- );
-
-// helpers
-void genGoTo (OutputFile & o, uint32_t ind, const State * from, const State * to, bool & readCh);
-
-template<typename _Ty> std::string replaceParam (std::string str, const std::string & param, const _Ty & value)
-{
- if (!param.empty ())
- {
- std::ostringstream strValue;
- strValue << value;
- std::string::size_type pos;
- while((pos = str.find(param)) != std::string::npos)
- {
- str.replace(pos, param.length(), strValue.str());
- }
- }
- return str;
-}
-
-} // namespace re2c
-
-#endif // _RE2C_CODEGEN_EMIT_
diff --git a/src/codegen/emit_action.cc b/src/codegen/emit_action.cc
deleted file mode 100644
index d3146dae..00000000
--- a/src/codegen/emit_action.cc
+++ /dev/null
@@ -1,388 +0,0 @@
-#include "src/util/c99_stdint.h"
-#include <stddef.h>
-#include <set>
-#include <string>
-
-#include "src/codegen/emit.h"
-#include "src/codegen/input_api.h"
-#include "src/codegen/output.h"
-#include "src/conf/opt.h"
-#include "src/globals.h"
-#include "src/ir/adfa/action.h"
-#include "src/ir/adfa/adfa.h"
-#include "src/ir/regexp/regexp.h"
-#include "src/ir/regexp/regexp_rule.h"
-#include "src/ir/skeleton/skeleton.h"
-#include "src/parse/code.h"
-#include "src/parse/loc.h"
-
-namespace re2c
-{
-
-class label_t;
-
-static void need (OutputFile & o, uint32_t ind, bool & readCh, size_t n, bool bSetMarker);
-static void emit_match (OutputFile & o, uint32_t ind, bool & readCh, const State * const s);
-static void emit_initial (OutputFile & o, uint32_t ind, bool & readCh, const State * const s, const Initial & init, const std::set<label_t> & used_labels);
-static void emit_save (OutputFile & o, uint32_t ind, bool & readCh, const State * const s, uint32_t save, bool save_yyaccept);
-static void emit_accept_binary (OutputFile & o, uint32_t ind, bool & readCh, const State * const s, const accept_t & accept, size_t l, size_t r);
-static void emit_accept (OutputFile & o, uint32_t ind, bool & readCh, const State * const s, const accept_t & accept);
-static void emit_rule (OutputFile & o, uint32_t ind, const State * const s, const RuleOp * const rule, const std::string & condName, const Skeleton * skeleton);
-static void genYYFill (OutputFile & o, size_t need);
-static void genSetCondition (OutputFile & o, uint32_t ind, const std::string & newcond);
-static void genSetState (OutputFile & o, uint32_t ind, uint32_t fillIndex);
-
-void emit_action
- ( const Action & action
- , OutputFile & o
- , uint32_t ind
- , bool & readCh
- , const State * const s
- , const std::string & condName
- , const Skeleton * skeleton
- , const std::set<label_t> & used_labels
- , bool save_yyaccept
- )
-{
- switch (action.type)
- {
- case Action::MATCH:
- emit_match (o, ind, readCh, s);
- break;
- case Action::INITIAL:
- emit_initial (o, ind, readCh, s, * action.info.initial, used_labels);
- break;
- case Action::SAVE:
- emit_save (o, ind, readCh, s, action.info.save, save_yyaccept);
- break;
- case Action::MOVE:
- break;
- case Action::ACCEPT:
- emit_accept (o, ind, readCh, s, * action.info.accepts);
- break;
- case Action::RULE:
- emit_rule (o, ind, s, action.info.rule, condName, skeleton);
- break;
- }
- if (s->isPreCtxt && opts->target != opt_t::DOT)
- {
- o.wstring(opts->input_api.stmt_backupctx (ind));
- }
-}
-
-void emit_match (OutputFile & o, uint32_t ind, bool & readCh, const State * const s)
-{
- if (opts->target == opt_t::DOT)
- {
- return;
- }
-
- const bool read_ahead = s
- && s->next
- && s->next->action.type != Action::RULE;
- if (s->fill != 0)
- {
- o.wstring(opts->input_api.stmt_skip (ind));
- }
- else if (!read_ahead)
- {
- /* do not read next char if match */
- o.wstring(opts->input_api.stmt_skip (ind));
- readCh = true;
- }
- else
- {
- o.wstring(opts->input_api.stmt_skip_peek (ind));
- readCh = false;
- }
-
- if (s->fill != 0)
- {
- need(o, ind, readCh, s->fill, false);
- }
-}
-
-void emit_initial (OutputFile & o, uint32_t ind, bool & readCh, const State * const s, const Initial & initial, const std::set<label_t> & used_labels)
-{
- if (opts->target == opt_t::DOT)
- {
- return;
- }
-
- if (used_labels.count(s->label))
- {
- if (s->fill != 0)
- {
- o.wstring(opts->input_api.stmt_skip (ind));
- }
- else
- {
- o.wstring(opts->input_api.stmt_skip_peek (ind));
- }
- }
-
- if (used_labels.count(initial.label))
- {
- o.wstring(opts->labelPrefix).wlabel(initial.label).ws(":\n");
- }
-
- if (opts->dFlag)
- {
- o.wind(ind).wstring(opts->yydebug).ws("(").wlabel(initial.label).ws(", *").wstring(opts->yycursor).ws(");\n");
- }
-
- if (s->fill != 0)
- {
- need(o, ind, readCh, s->fill, initial.setMarker);
- }
- else
- {
- if (initial.setMarker)
- {
- o.wstring(opts->input_api.stmt_backup (ind));
- }
- readCh = false;
- }
-}
-
-void emit_save (OutputFile & o, uint32_t ind, bool & readCh, const State * const s, uint32_t save, bool save_yyaccept)
-{
- if (opts->target == opt_t::DOT)
- {
- return;
- }
-
- if (save_yyaccept)
- {
- o.wind(ind).wstring(opts->yyaccept).ws(" = ").wu32(save).ws(";\n");
- }
-
- if (s->fill != 0)
- {
- o.wstring(opts->input_api.stmt_skip_backup (ind));
- need(o, ind, readCh, s->fill, false);
- }
- else
- {
- o.wstring(opts->input_api.stmt_skip_backup_peek (ind));
- readCh = false;
- }
-}
-
-void emit_accept_binary (OutputFile & o, uint32_t ind, bool & readCh, const State * const s, const accept_t & accepts, size_t l, size_t r)
-{
- 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, readCh, s, accepts, l, m);
- o.wind(--ind).ws("} else {\n");
- emit_accept_binary (o, ++ind, readCh, s, accepts, m + 1, r);
- o.wind(--ind).ws("}\n");
- }
- else
- {
- genGoTo(o, ind, s, accepts[l], readCh);
- }
-}
-
-void emit_accept (OutputFile & o, uint32_t ind, bool & readCh, const State * const s, const accept_t & accepts)
-{
- const size_t accepts_size = accepts.size ();
- if (accepts_size > 0)
- {
- if (opts->target != opt_t::DOT)
- {
- o.wstring(opts->input_api.stmt_restore (ind));
- }
-
- if (readCh) // shouldn't be necessary, but might become at some point
- {
- o.wstring(opts->input_api.stmt_peek (ind));
- readCh = false;
- }
-
- if (accepts_size > 1)
- {
- if (opts->gFlag && accepts_size >= opts->cGotoThreshold)
- {
- o.wind(ind++).ws("{\n");
- o.wind(ind++).ws("static void *").wstring(opts->yytarget).ws("[").wu64(accepts_size).ws("] = {\n");
- for (uint32_t i = 0; i < accepts_size; ++i)
- {
- o.wind(ind).ws("&&").wstring(opts->labelPrefix).wlabel(accepts[i]->label).ws(",\n");
- }
- o.wind(--ind).ws("};\n");
- o.wind(ind).ws("goto *").wstring(opts->yytarget).ws("[").wstring(opts->yyaccept).ws("];\n");
- o.wind(--ind).ws("}\n");
- }
- else if (opts->sFlag || (accepts_size == 2 && opts->target != opt_t::DOT))
- {
- emit_accept_binary (o, ind, readCh, s, accepts, 0, accepts_size - 1);
- }
- else if (opts->target == opt_t::DOT)
- {
- for (uint32_t i = 0; i < accepts_size; ++i)
- {
- o.wlabel(s->label).ws(" -> ").wlabel(accepts[i]->label);
- o.ws(" [label=\"yyaccept=").wu32(i).ws("\"]\n");
- }
- }
- else
- {
- o.wind(ind).ws("switch (").wstring(opts->yyaccept).ws(") {\n");
- for (uint32_t i = 0; i < accepts_size - 1; ++i)
- {
- o.wind(ind).ws("case ").wu32(i).ws(": \t");
- genGoTo(o, 0, s, accepts[i], readCh);
- }
- o.wind(ind).ws("default:\t");
- genGoTo(o, 0, s, accepts[accepts_size - 1], readCh);
- o.wind(ind).ws("}\n");
- }
- }
- else
- {
- // no need to write if statement here since there is only case 0.
- genGoTo(o, ind, s, accepts[0], readCh);
- }
- }
-}
-
-void emit_rule (OutputFile & o, uint32_t ind, const State * const s, const RuleOp * const rule, const std::string & condName, const Skeleton * skeleton)
-{
- if (opts->target == opt_t::DOT)
- {
- o.wlabel(s->label);
- if (rule->code)
- {
- o.ws(" [label=\"").wstring(rule->code->loc.filename).ws(":").wu32(rule->code->loc.line).ws("\"]");
- }
- o.ws("\n");
- return;
- }
-
- uint32_t back = rule->ctx->fixedLength();
- if (back != 0u && opts->target != opt_t::DOT)
- {
- o.wstring(opts->input_api.stmt_restorectx (ind));
- }
-
- if (opts->target == opt_t::SKELETON)
- {
- skeleton->emit_action (o, ind, rule->rank);
- }
- else
- {
- if (!rule->newcond.empty () && condName != rule->newcond)
- {
- genSetCondition(o, ind, rule->newcond);
- }
-
- if (rule->code)
- {
- if (!yySetupRule.empty ())
- {
- o.wind(ind).wstring(yySetupRule).ws("\n");
- }
- o.wline_info(rule->code->loc.line, rule->code->loc.filename.c_str ())
- .wind(ind).wstring(rule->code->text).ws("\n")
- .wdelay_line_info ();
- }
- else if (!rule->newcond.empty ())
- {
- o.wind(ind).wstring(replaceParam(opts->condGoto, opts->condGotoParam, opts->condPrefix + rule->newcond)).ws("\n");
- }
- }
-}
-
-void need (OutputFile & o, uint32_t ind, bool & readCh, size_t n, bool bSetMarker)
-{
- if (opts->target == opt_t::DOT)
- {
- return;
- }
-
- uint32_t fillIndex = last_fill_index;
-
- if (opts->fFlag)
- {
- last_fill_index++;
- genSetState (o, ind, fillIndex);
- }
-
- if (opts->fill_use && n > 0)
- {
- o.wind(ind);
- if (n == 1)
- {
- if (opts->fill_check)
- {
- o.ws("if (").wstring(opts->input_api.expr_lessthan_one ()).ws(") ");
- }
- genYYFill(o, n);
- }
- else
- {
- if (opts->fill_check)
- {
- o.ws("if (").wstring(opts->input_api.expr_lessthan (n)).ws(") ");
- }
- genYYFill(o, n);
- }
- }
-
- if (opts->fFlag)
- {
- o.wstring(opts->yyfilllabel).wu32(fillIndex).ws(":\n");
- }
-
- if (n > 0)
- {
- if (bSetMarker)
- {
- o.wstring(opts->input_api.stmt_backup_peek (ind));
- }
- else
- {
- o.wstring(opts->input_api.stmt_peek (ind));
- }
- readCh = false;
- }
-}
-
-void genYYFill (OutputFile & o, size_t need)
-{
- o.wstring(replaceParam (opts->fill, opts->fill_arg, need));
- if (!opts->fill_naked)
- {
- if (opts->fill_arg_use)
- {
- o.ws("(").wu64(need).ws(")");
- }
- o.ws(";");
- }
- o.ws("\n");
-}
-
-void genSetCondition(OutputFile & o, uint32_t ind, const std::string& newcond)
-{
- o.wind(ind).wstring(replaceParam (opts->cond_set, opts->cond_set_arg, opts->condEnumPrefix + newcond));
- if (!opts->cond_set_naked)
- {
- o.ws("(").wstring(opts->condEnumPrefix).wstring(newcond).ws(");");
- }
- o.ws("\n");
-}
-
-void genSetState(OutputFile & o, uint32_t ind, uint32_t fillIndex)
-{
- o.wind(ind).wstring(replaceParam (opts->state_set, opts->state_set_arg, fillIndex));
- if (!opts->state_set_naked)
- {
- o.ws("(").wu32(fillIndex).ws(");");
- }
- o.ws("\n");
-}
-
-} // namespace re2c
diff --git a/src/codegen/emit_dfa.cc b/src/codegen/emit_dfa.cc
deleted file mode 100644
index 2ec64264..00000000
--- a/src/codegen/emit_dfa.cc
+++ /dev/null
@@ -1,348 +0,0 @@
-#include "src/util/c99_stdint.h"
-#include <stddef.h>
-#include <set>
-#include <string>
-#include <utility>
-#include <vector>
-
-#include "src/codegen/bitmap.h"
-#include "src/codegen/emit.h"
-#include "src/codegen/go.h"
-#include "src/codegen/input_api.h"
-#include "src/codegen/label.h"
-#include "src/codegen/output.h"
-#include "src/conf/opt.h"
-#include "src/globals.h"
-#include "src/ir/adfa/action.h"
-#include "src/ir/adfa/adfa.h"
-#include "src/ir/skeleton/skeleton.h"
-#include "src/util/counter.h"
-
-namespace re2c
-{
-
-static std::string genGetCondition ();
-static void genCondGotoSub (OutputFile & o, uint32_t ind, const std::vector<std::string> & condnames, uint32_t cMin, uint32_t cMax);
-static void genCondTable (OutputFile & o, uint32_t ind, const std::vector<std::string> & condnames);
-static void genCondGoto (OutputFile & o, uint32_t ind, const std::vector<std::string> & condnames);
-static void emit_state (OutputFile & o, uint32_t ind, const State * s, bool used_label);
-
-std::string genGetCondition()
-{
- return opts->cond_get_naked
- ? opts->cond_get
- : opts->cond_get + "()";
-}
-
-void genGoTo(OutputFile & o, uint32_t ind, const State *from, const State *to, bool & readCh)
-{
- if (opts->target == opt_t::DOT)
- {
- o.wlabel(from->label).ws(" -> ").wlabel(to->label).ws("\n");
- return;
- }
-
- if (readCh && from->next != to)
- {
- o.wstring(opts->input_api.stmt_peek (ind));
- readCh = false;
- }
-
- o.wind(ind).ws("goto ").wstring(opts->labelPrefix).wlabel(to->label).ws(";\n");
-}
-
-void emit_state (OutputFile & o, uint32_t ind, const State * s, bool used_label)
-{
- if (opts->target != opt_t::DOT)
- {
- if (used_label)
- {
- o.wstring(opts->labelPrefix).wlabel(s->label).ws(":\n");
- }
- 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 ()).ws(");\n");
- }
- }
-}
-
-void DFA::count_used_labels (std::set<label_t> & used, label_t start, label_t initial, bool force_start) const
-{
- // In '-f' mode, default state is always state 0
- if (opts->fFlag)
- {
- used.insert (label_t::first ());
- }
- if (force_start)
- {
- used.insert (start);
- }
- for (State * s = head; s; s = s->next)
- {
- s->go.used_labels (used);
- }
- for (uint32_t i = 0; i < accepts.size (); ++i)
- {
- used.insert (accepts[i]->label);
- }
- // must go last: it needs the set of used labels
- if (used.count (head->label))
- {
- used.insert (initial);
- }
-}
-
-void DFA::emit_body (OutputFile & o, uint32_t& ind, const std::set<label_t> & used_labels, label_t initial) const
-{
- // If DFA has transitions to initial state, then initial state
- // has a piece of code that advances input position. Wee must
- // skip it when entering DFA.
- if (used_labels.count(head->label))
- {
- o.wind(ind).ws("goto ").wstring(opts->labelPrefix).wlabel(initial).ws(";\n");
- }
-
- const bool save_yyaccept = accepts.size () > 1;
- for (State * s = head; s; s = s->next)
- {
- bool readCh = false;
- emit_state (o, ind, s, used_labels.count (s->label));
- emit_action (s->action, o, ind, readCh, s, cond, skeleton, used_labels, save_yyaccept);
- s->go.emit(o, ind, readCh);
- }
-}
-
-void DFA::emit(Output & output, uint32_t& ind, bool isLastCond, bool& bPrologBrace)
-{
- OutputFile & o = output.source;
-
- bool bProlog = (!opts->cFlag || !bWroteCondCheck);
-
- // start_label points to the beginning of current re2c block
- // (prior to condition dispatch in '-c' mode)
- // it can forced by configuration 're2c:startlabel = <integer>;'
- label_t start_label = o.label_counter.next ();
- // initial_label points to the beginning of DFA
- // in '-c' mode this is NOT equal to start_label
- label_t initial_label = bProlog && opts->cFlag
- ? o.label_counter.next ()
- : start_label;
- for (State * s = head; s; s = s->next)
- {
- s->label = o.label_counter.next ();
- }
- std::set<label_t> used_labels;
- count_used_labels (used_labels, start_label, initial_label, o.get_force_start_label ());
-
- head->action.set_initial (initial_label, head->action.type == Action::SAVE);
-
- skeleton->warn_undefined_control_flow ();
- skeleton->warn_unreachable_rules ();
- skeleton->warn_match_empty ();
-
- if (opts->target == opt_t::SKELETON)
- {
- if (output.skeletons.insert (name).second)
- {
- skeleton->emit_data (o.file_name);
- skeleton->emit_start (o, max_fill, need_backup, need_backupctx, need_accept);
- uint32_t i = 2;
- emit_body (o, i, used_labels, initial_label);
- skeleton->emit_end (o, need_backup, need_backupctx);
- }
- }
- else
- {
- // Generate prolog
- if (bProlog)
- {
- o.ws("\n").wdelay_line_info ();
- if (opts->target == opt_t::DOT)
- {
- bPrologBrace = true;
- o.ws("digraph re2c {\n");
- }
- else if ((!opts->fFlag && o.get_used_yyaccept ())
- || (!opts->fFlag && opts->bEmitYYCh)
- || (opts->bFlag && !opts->cFlag && BitMap::first)
- || (opts->cFlag && !bWroteCondCheck && opts->gFlag)
- || (opts->fFlag && !bWroteGetState && opts->gFlag)
- )
- {
- bPrologBrace = true;
- o.wind(ind++).ws("{\n");
- }
- else if (ind == 0)
- {
- ind = 1;
- }
- if (!opts->fFlag && opts->target != opt_t::DOT)
- {
- if (opts->bEmitYYCh)
- {
- o.wind(ind).wstring(opts->yyctype).ws(" ").wstring(opts->yych).ws(";\n");
- }
- o.wdelay_yyaccept_init (ind);
- }
- else
- {
- o.ws("\n");
- }
- }
- if (opts->bFlag && !opts->cFlag && BitMap::first)
- {
- BitMap::gen(o, ind, lbChar, ubChar <= 256 ? ubChar : 256);
- }
- if (bProlog)
- {
- if (opts->cFlag && !bWroteCondCheck && opts->gFlag)
- {
- genCondTable(o, ind, output.types);
- }
- o.wdelay_state_goto (ind);
- if (opts->cFlag && opts->target != opt_t::DOT)
- {
- if (used_labels.count(start_label))
- {
- o.wstring(opts->labelPrefix).wlabel(start_label).ws(":\n");
- }
- }
- o.wuser_start_label ();
- if (opts->cFlag && !bWroteCondCheck)
- {
- genCondGoto(o, ind, output.types);
- }
- }
- if (opts->cFlag && !cond.empty())
- {
- if (opts->condDivider.length())
- {
- o.wstring(replaceParam(opts->condDivider, opts->condDividerParam, cond)).ws("\n");
- }
- if (opts->target == opt_t::DOT)
- {
- o.wstring(cond).ws(" -> ").wlabel(head->label).ws("\n");
- }
- else
- {
- o.wstring(opts->condPrefix).wstring(cond).ws(":\n");
- }
- }
- if (opts->cFlag && opts->bFlag && BitMap::first)
- {
- o.wind(ind++).ws("{\n");
- BitMap::gen(o, ind, lbChar, ubChar <= 256 ? ubChar : 256);
- }
- // Generate code
- emit_body (o, ind, used_labels, initial_label);
- if (opts->cFlag && opts->bFlag && BitMap::first)
- {
- o.wind(--ind).ws("}\n");
- }
- // Generate epilog
- if ((!opts->cFlag || isLastCond) && bPrologBrace)
- {
- o.wind(--ind).ws("}\n");
- }
- }
-
- // Cleanup
- if (BitMap::first)
- {
- delete BitMap::first;
- BitMap::first = NULL;
- }
-}
-
-void genCondTable(OutputFile & o, uint32_t ind, const std::vector<std::string> & condnames)
-{
- const size_t conds = condnames.size ();
- o.wind(ind++).ws("static void *").wstring(opts->yyctable).ws("[").wu64(conds).ws("] = {\n");
- for (size_t i = 0; i < conds; ++i)
- {
- o.wind(ind).ws("&&").wstring(opts->condPrefix).wstring(condnames[i]).ws(",\n");
- }
- o.wind(--ind).ws("};\n");
-}
-
-void genCondGotoSub(OutputFile & o, uint32_t ind, const std::vector<std::string> & condnames, uint32_t cMin, uint32_t cMax)
-{
- if (cMin == cMax)
- {
- o.wind(ind).ws("goto ").wstring(opts->condPrefix).wstring(condnames[cMin]).ws(";\n");
- }
- else
- {
- uint32_t cMid = cMin + ((cMax - cMin + 1) / 2);
-
- o.wind(ind).ws("if (").wstring(genGetCondition()).ws(" < ").wu32(cMid).ws(") {\n");
- genCondGotoSub(o, ind + 1, condnames, cMin, cMid - 1);
- o.wind(ind).ws("} else {\n");
- genCondGotoSub(o, ind + 1, condnames, cMid, cMax);
- o.wind(ind).ws("}\n");
- }
-}
-
-/*
- * note [condition order]
- *
- * In theory re2c makes no guarantee about the order of conditions in
- * the generated lexer. Users should define condition type 'YYCONDTYPE'
- * and use values of this type with 'YYGETCONDITION' and 'YYSETCONDITION'.
- * This way code is independent of internal re2c condition numbering.
- *
- * However, it is possible to manually hardcode condition numbers and make
- * re2c generate condition dispatch without explicit use of condition names
- * (nested 'if' statements with '-b' or computed 'goto' table with '-g').
- * This code is syntactically valid (compiles), but unsafe:
- * - change of re2c options may break compilation
- * - change of internal re2c condition numbering may break runtime
- *
- * re2c has to preserve the existing numbering scheme.
- *
- * re2c warns about implicit assumptions about condition order, unless:
- * - condition type is defined with 'types:re2c' or '-t, --type-header'
- * - dispatch is independent of condition order: either it uses
- * explicit condition names or there's only one condition and
- * dispatch shrinks to unconditional jump
- */
-void genCondGoto(OutputFile & o, uint32_t ind, const std::vector<std::string> & condnames)
-{
- const size_t conds = condnames.size ();
- if (opts->target == opt_t::DOT)
- {
- o.warn_condition_order = false; // see note [condition order]
- for (size_t i = 0; i < conds; ++i)
- {
- const std::string cond = condnames[i];
- o.ws("0 -> ").wstring(cond).ws(" [label=\"state=").wstring(cond).ws("\"]\n");
- }
- }
- else if (opts->gFlag)
- {
- o.wind(ind).ws("goto *").wstring(opts->yyctable).ws("[").wstring(genGetCondition()).ws("];\n");
- }
- else if (opts->sFlag)
- {
- if (conds == 1)
- {
- o.warn_condition_order = false; // see note [condition order]
- }
- genCondGotoSub(o, ind, condnames, 0, static_cast<uint32_t> (conds) - 1);
- }
- else
- {
- o.warn_condition_order = false; // see note [condition order]
- o.wind(ind).ws("switch (").wstring(genGetCondition()).ws(") {\n");
- for (size_t i = 0; i < conds; ++i)
- {
- const std::string & cond = condnames[i];
- o.wind(ind).ws("case ").wstring(opts->condEnumPrefix).wstring(cond).ws(": goto ").wstring(opts->condPrefix).wstring(cond).ws(";\n");
- }
- o.wind(ind).ws("}\n");
- }
- o.wdelay_warn_condition_order ();
- bWroteCondCheck = true;
-}
-
-} // end namespace re2c
diff --git a/src/codegen/go.h b/src/codegen/go.h
deleted file mode 100644
index 57c29e8b..00000000
--- a/src/codegen/go.h
+++ /dev/null
@@ -1,216 +0,0 @@
-#ifndef _RE2C_CODEGEN_GO_
-#define _RE2C_CODEGEN_GO_
-
-#include <iostream>
-#include <set>
-#include <vector>
-
-#include "src/codegen/output.h"
-#include "src/util/c99_stdint.h"
-#include "src/util/forbid_copy.h"
-
-namespace re2c
-{
-
-class BitMap;
-class State;
-struct If;
-
-struct Span
-{
- uint32_t ub;
- State * to;
-
- FORBID_COPY (Span);
-};
-
-struct Case
-{
- std::vector<std::pair<uint32_t, uint32_t> > ranges;
- const State * to;
- void emit (OutputFile & o, uint32_t ind);
-
- inline Case ()
- : ranges ()
- , to (NULL)
- {}
-
- FORBID_COPY (Case);
-};
-
-struct Cases
-{
- const State * def;
- Case * cases;
- uint32_t cases_size;
- void add (uint32_t lb, uint32_t ub, State * to);
- Cases (const Span * s, uint32_t n);
- ~Cases ();
- void emit (OutputFile & o, uint32_t ind, bool & readCh);
- void used_labels (std::set<label_t> & used);
-
- FORBID_COPY (Cases);
-};
-
-struct Cond
-{
- std::string compare;
- uint32_t value;
- Cond (const std::string & cmp, uint32_t val);
-};
-
-struct Binary
-{
- Cond * cond;
- If * thn;
- If * els;
- Binary (const Span * s, uint32_t n, const State * next);
- ~Binary ();
- void emit (OutputFile & o, uint32_t ind, bool & readCh);
- void used_labels (std::set<label_t> & used);
-
- FORBID_COPY (Binary);
-};
-
-struct Linear
-{
- std::vector<std::pair<const Cond *, const State *> > branches;
- Linear (const Span * s, uint32_t n, const State * next);
- ~Linear ();
- void emit (OutputFile & o, uint32_t ind, bool & readCh);
- void used_labels (std::set<label_t> & used);
-};
-
-struct If
-{
- enum type_t
- {
- BINARY,
- LINEAR
- } type;
- union
- {
- Binary * binary;
- Linear * linear;
- } info;
- If (type_t t, const Span * sp, uint32_t nsp, const State * next);
- ~If ();
- void emit (OutputFile & o, uint32_t ind, bool & readCh);
- void used_labels (std::set<label_t> & used);
-};
-
-struct SwitchIf
-{
- enum
- {
- SWITCH,
- IF
- } type;
- union
- {
- Cases * cases;
- If * ifs;
- } info;
- SwitchIf (const Span * sp, uint32_t nsp, const State * next);
- ~SwitchIf ();
- void emit (OutputFile & o, uint32_t ind, bool & readCh);
- void used_labels (std::set<label_t> & used);
-};
-
-struct GoBitmap
-{
- const BitMap * bitmap;
- const State * bitmap_state;
- SwitchIf * hgo;
- SwitchIf * lgo;
- GoBitmap (const Span * span, uint32_t nSpans, const Span * hspan, uint32_t hSpans, const BitMap * bm, const State * bm_state, const State * next);
- ~GoBitmap ();
- void emit (OutputFile & o, uint32_t ind, bool & readCh);
- void used_labels (std::set<label_t> & used);
-
- FORBID_COPY (GoBitmap);
-};
-
-struct CpgotoTable
-{
- static const uint32_t TABLE_SIZE;
- const State ** table;
- CpgotoTable (const Span * span, uint32_t nSpans);
- ~CpgotoTable ();
- void emit (OutputFile & o, uint32_t ind);
- void used_labels (std::set<label_t> & used);
-
-private:
- label_t max_label () const;
-
- FORBID_COPY (CpgotoTable);
-};
-
-struct Cpgoto
-{
- SwitchIf * hgo;
- CpgotoTable * table;
- Cpgoto (const Span * span, uint32_t nSpans, const Span * hspan, uint32_t hSpans, const State * next);
- ~Cpgoto ();
- void emit (OutputFile & o, uint32_t ind, bool & readCh);
- void used_labels (std::set<label_t> & used);
-
- FORBID_COPY (Cpgoto);
-};
-
-struct Dot
-{
- const State * from;
- Cases * cases;
- Dot (const Span * sp, uint32_t nsp, const State * from);
- ~Dot ();
- void emit (OutputFile & o);
-
- FORBID_COPY (Dot);
-};
-
-struct Go
-{
- uint32_t nSpans; // number of spans
- Span * span;
- enum
- {
- EMPTY,
- SWITCH_IF,
- BITMAP,
- CPGOTO,
- DOT
- } type;
- union
- {
- SwitchIf * switchif;
- GoBitmap * bitmap;
- Cpgoto * cpgoto;
- Dot * dot;
- } info;
-
- Go ();
- ~Go ();
- void init (const State * from);
- void emit (OutputFile & o, uint32_t ind, bool & readCh);
- void used_labels (std::set<label_t> & used);
-
- Go (const Go & g)
- : nSpans (g.nSpans)
- , span (g.span)
- , type (g.type)
- , info (g.info)
- {}
- Go & operator = (const Go & g)
- {
- nSpans = g.nSpans;
- span = g.span;
- type = g.type;
- info = g.info;
- return * this;
- }
-};
-
-} // namespace re2c
-
-#endif // _RE2C_CODEGEN_GO_
diff --git a/src/codegen/go_construct.cc b/src/codegen/go_construct.cc
deleted file mode 100644
index e680475f..00000000
--- a/src/codegen/go_construct.cc
+++ /dev/null
@@ -1,284 +0,0 @@
-#include <stddef.h>
-#include "src/util/c99_stdint.h"
-#include <string>
-#include <utility>
-#include <vector>
-
-#include "src/codegen/bitmap.h"
-#include "src/codegen/go.h"
-#include "src/conf/opt.h"
-#include "src/globals.h"
-#include "src/ir/adfa/adfa.h"
-#include "src/util/allocate.h"
-
-namespace re2c
-{
-
-static uint32_t unmap (Span * new_span, const Span * old_span, uint32_t old_nspans, const State * x);
-
-Cases::Cases (const Span * span, uint32_t span_size)
- : def (span_size == 0 ? NULL : span[span_size - 1].to)
- , cases (new Case[span_size])
- , cases_size (0)
-{
- for (uint32_t i = 0, lb = 0; i < span_size; ++ i)
- {
- add (lb, span[i].ub, span[i].to);
- lb = span[i].ub;
- }
-}
-
-void Cases::add (uint32_t lb, uint32_t ub, State * to)
-{
- for (uint32_t i = 0; i < cases_size; ++i)
- {
- if (cases[i].to == to)
- {
- cases[i].ranges.push_back (std::make_pair (lb, ub));
- return;
- }
- }
- cases[cases_size].ranges.push_back (std::make_pair (lb, ub));
- cases[cases_size].to = to;
- ++cases_size;
-}
-
-Cond::Cond (const std::string & cmp, uint32_t val)
- : compare (cmp)
- , value (val)
-{}
-
-Binary::Binary (const Span * s, uint32_t n, const State * next)
- : cond (NULL)
- , thn (NULL)
- , els (NULL)
-{
- const uint32_t l = n / 2;
- const uint32_t h = n - l;
- cond = new Cond ("<=", s[l - 1].ub - 1);
- thn = new If (l > 4 ? If::BINARY : If::LINEAR, &s[0], l, next);
- els = new If (h > 4 ? If::BINARY : If::LINEAR, &s[l], h, next);
-}
-
-Linear::Linear (const Span * s, uint32_t n, const State * next)
- : branches ()
-{
- for (;;)
- {
- const State *bg = s[0].to;
- while (n >= 3 && s[2].to == bg && (s[1].ub - s[0].ub) == 1)
- {
- if (s[1].to == next && n == 3)
- {
- branches.push_back (std::make_pair (new Cond ("!=", s[0].ub), bg));
- return ;
- }
- else
- {
- branches.push_back (std::make_pair (new Cond ("==", s[0].ub), s[1].to));
- }
- n -= 2;
- s += 2;
- }
- if (n == 1)
- {
- if (next == NULL || s[0].to != next)
- {
- branches.push_back (std::make_pair (static_cast<const Cond *> (NULL), s[0].to));
- }
- return;
- }
- else if (n == 2 && bg == next)
- {
- branches.push_back (std::make_pair (new Cond (">=", s[0].ub), s[1].to));
- return;
- }
- else
- {
- branches.push_back (std::make_pair (new Cond ("<=", s[0].ub - 1), bg));
- n -= 1;
- s += 1;
- }
- }
-}
-
-If::If (type_t t, const Span * sp, uint32_t nsp, const State * next)
- : type (t)
- , info ()
-{
- switch (type)
- {
- case BINARY:
- info.binary = new Binary (sp, nsp, next);
- break;
- case LINEAR:
- info.linear = new Linear (sp, nsp, next);
- break;
- }
-}
-
-SwitchIf::SwitchIf (const Span * sp, uint32_t nsp, const State * next)
- : type (IF)
- , info ()
-{
- if ((!opts->sFlag && nsp > 2) || (nsp > 8 && (sp[nsp - 2].ub - sp[0].ub <= 3 * (nsp - 2))))
- {
- type = SWITCH;
- info.cases = new Cases (sp, nsp);
- }
- else if (nsp > 5)
- {
- info.ifs = new If (If::BINARY, sp, nsp, next);
- }
- else
- {
- info.ifs = new If (If::LINEAR, sp, nsp, next);
- }
-}
-
-GoBitmap::GoBitmap (const Span * span, uint32_t nSpans, const Span * hspan, uint32_t hSpans, const BitMap * bm, const State * bm_state, const State * next)
- : bitmap (bm)
- , bitmap_state (bm_state)
- , hgo (NULL)
- , lgo (NULL)
-{
- Span * bspan = allocate<Span> (nSpans);
- uint32_t bSpans = unmap (bspan, span, nSpans, bm_state);
- lgo = bSpans == 0
- ? NULL
- : new SwitchIf (bspan, bSpans, next);
- // if there are any low spans, then next state for high spans
- // must be NULL to trigger explicit goto generation in linear 'if'
- hgo = hSpans == 0
- ? NULL
- : new SwitchIf (hspan, hSpans, lgo ? NULL : next);
- operator delete (bspan);
-}
-
-const uint32_t CpgotoTable::TABLE_SIZE = 0x100;
-
-CpgotoTable::CpgotoTable (const Span * span, uint32_t nSpans)
- : table (new const State * [TABLE_SIZE])
-{
- uint32_t c = 0;
- for (uint32_t i = 0; i < nSpans; ++i)
- {
- for(; c < span[i].ub && c < TABLE_SIZE; ++c)
- {
- table[c] = span[i].to;
- }
- }
-}
-
-Cpgoto::Cpgoto (const Span * span, uint32_t nSpans, const Span * hspan, uint32_t hSpans, const State * next)
- : hgo (hSpans == 0 ? NULL : new SwitchIf (hspan, hSpans, next))
- , table (new CpgotoTable (span, nSpans))
-{}
-
-Dot::Dot (const Span * sp, uint32_t nsp, const State * s)
- : from (s)
- , cases (new Cases (sp, nsp))
-{}
-
-Go::Go ()
- : nSpans (0)
- , span (NULL)
- , type (EMPTY)
- , info ()
-{}
-
-void Go::init (const State * from)
-{
- if (nSpans == 0)
- {
- return;
- }
-
- // initialize high (wide) spans
- uint32_t hSpans = 0;
- const Span * hspan = NULL;
- for (uint32_t i = 0; i < nSpans; ++i)
- {
- if (span[i].ub > 0x100)
- {
- hspan = &span[i];
- hSpans = nSpans - i;
- break;
- }
- }
-
- // initialize bitmaps
- uint32_t nBitmaps = 0;
- const BitMap * bitmap = NULL;
- const State * bitmap_state = NULL;
- for (uint32_t i = 0; i < nSpans; ++i)
- {
- if (span[i].to->isBase)
- {
- const BitMap *b = BitMap::find (span[i].to);
- if (b && matches(b->go->span, b->go->nSpans, b->on, span, nSpans, span[i].to))
- {
- if (bitmap == NULL)
- {
- bitmap = b;
- bitmap_state = span[i].to;
- }
- nBitmaps++;
- }
- }
- }
-
- const uint32_t dSpans = nSpans - hSpans - nBitmaps;
- if (opts->target == opt_t::DOT)
- {
- type = DOT;
- info.dot = new Dot (span, nSpans, from);
- }
- else if (opts->gFlag && (dSpans >= opts->cGotoThreshold))
- {
- type = CPGOTO;
- info.cpgoto = new Cpgoto (span, nSpans, hspan, hSpans, from->next);
- }
- else if (opts->bFlag && (nBitmaps > 0))
- {
- type = BITMAP;
- info.bitmap = new GoBitmap (span, nSpans, hspan, hSpans, bitmap, bitmap_state, from->next);
- bUsedYYBitmap = true;
- }
- else
- {
- type = SWITCH_IF;
- info.switchif = new SwitchIf (span, nSpans, from->next);
- }
-}
-
-/*
- * Find all spans, that map to the given state. For each of them,
- * find upper adjacent span, that maps to another state (if such
- * span exists, otherwize try lower one).
- * If input contains single span that maps to the given state,
- * then output contains 0 spans.
- */
-uint32_t unmap (Span * new_span, const Span * old_span, uint32_t old_nspans, const State * x)
-{
- uint32_t new_nspans = 0;
- for (uint32_t i = 0; i < old_nspans; ++i)
- {
- if (old_span[i].to != x)
- {
- if (new_nspans > 0 && new_span[new_nspans - 1].to == old_span[i].to)
- new_span[new_nspans - 1].ub = old_span[i].ub;
- else
- {
- new_span[new_nspans].to = old_span[i].to;
- new_span[new_nspans].ub = old_span[i].ub;
- ++new_nspans;
- }
- }
- }
- if (new_nspans > 0)
- new_span[new_nspans - 1].ub = old_span[old_nspans - 1].ub;
- return new_nspans;
-}
-
-} // namespace re2c
diff --git a/src/codegen/go_emit.cc b/src/codegen/go_emit.cc
deleted file mode 100644
index e970eee5..00000000
--- a/src/codegen/go_emit.cc
+++ /dev/null
@@ -1,271 +0,0 @@
-#include <stddef.h>
-#include "src/util/c99_stdint.h"
-#include <string>
-#include <utility>
-#include <vector>
-
-#include "src/codegen/bitmap.h"
-#include "src/codegen/go.h"
-#include "src/codegen/input_api.h"
-#include "src/codegen/label.h"
-#include "src/codegen/output.h"
-#include "src/codegen/print.h"
-#include "src/conf/opt.h"
-#include "src/globals.h"
-#include "src/ir/adfa/adfa.h"
-#include "src/ir/regexp/encoding/enc.h"
-
-namespace re2c
-{
-
-static void output_if (OutputFile & o, uint32_t ind, bool & readCh, const std::string & compare, uint32_t value);
-static void output_goto (OutputFile & o, uint32_t ind, bool & readCh, label_t to);
-static std::string output_yych (bool & readCh);
-static std::string output_hgo (OutputFile & o, uint32_t ind, bool & readCh, SwitchIf * hgo);
-
-std::string output_yych (bool & readCh)
-{
- if (readCh)
- {
- readCh = false;
- return "(" + opts->input_api.expr_peek_save () + ")";
- }
- else
- {
- return opts->yych;
- }
-}
-
-void output_if (OutputFile & o, uint32_t ind, bool & readCh, const std::string & compare, uint32_t value)
-{
- o.wind(ind).ws("if (").wstring(output_yych (readCh)).ws(" ").wstring(compare).ws(" ").wc_hex (value).ws(") ");
-}
-
-void output_goto (OutputFile & o, uint32_t ind, bool & readCh, label_t to)
-{
- if (readCh)
- {
- o.wstring(opts->input_api.stmt_peek (ind));
- readCh = false;
- }
- o.wind(ind).ws("goto ").wstring(opts->labelPrefix).wlabel(to).ws(";\n");
-}
-
-std::string output_hgo (OutputFile & o, uint32_t ind, bool & readCh, SwitchIf * hgo)
-{
- std::string yych = output_yych (readCh);
- if (hgo != NULL)
- {
- o.wind(ind).ws("if (").wstring(yych).ws(" & ~0xFF) {\n");
- hgo->emit (o, ind + 1, readCh);
- o.wind(ind).ws("} else ");
- yych = opts->yych;
- }
- else
- {
- o.wind(ind);
- }
- return yych;
-}
-
-void Case::emit (OutputFile & o, uint32_t ind)
-{
- for (uint32_t i = 0; i < ranges.size (); ++i)
- {
- for (uint32_t b = ranges[i].first; b < ranges[i].second; ++b)
- {
- o.wind(ind).ws("case ").wc_hex (b).ws(":");
- if (opts->dFlag && opts->encoding.type () == Enc::EBCDIC)
- {
- const uint32_t c = opts->encoding.decodeUnsafe (b);
- if (is_print (c))
- o.ws(" /* ").wc(static_cast<char> (c)).ws(" */");
- }
- bool last_case = i == ranges.size () - 1 && b == ranges[i].second - 1;
- if (!last_case)
- {
- o.ws("\n");
- }
- }
- }
-}
-
-void Cases::emit (OutputFile & o, uint32_t ind, bool & readCh)
-{
- o.wind(ind).ws("switch (").wstring(output_yych (readCh)).ws(") {\n");
- for (uint32_t i = 0; i < cases_size; ++i)
- {
- if (cases[i].to != def)
- {
- cases[i].emit (o, ind);
- output_goto (o, 1, readCh, cases[i].to->label);
- }
- }
- o.wind(ind).ws("default:");
- output_goto (o, 1, readCh, def->label);
- o.wind(ind).ws("}\n");
-}
-
-void Binary::emit (OutputFile & o, uint32_t ind, bool & readCh)
-{
- output_if (o, ind, readCh, cond->compare, cond->value);
- o.ws("{\n");
- thn->emit (o, ind + 1, readCh);
- o.wind(ind).ws("} else {\n");
- els->emit (o, ind + 1, readCh);
- o.wind(ind).ws("}\n");
-}
-
-void Linear::emit (OutputFile & o, uint32_t ind, bool & readCh)
-{
- for (uint32_t i = 0; i < branches.size (); ++i)
- {
- if (branches[i].first != NULL)
- {
- output_if (o, ind, readCh, branches[i].first->compare, branches[i].first->value);
- output_goto (o, 0, readCh, branches[i].second->label);
- }
- else
- {
- output_goto (o, ind, readCh, branches[i].second->label);
- }
- }
-}
-
-void If::emit (OutputFile & o, uint32_t ind, bool & readCh)
-{
- switch (type)
- {
- case BINARY:
- info.binary->emit (o, ind, readCh);
- break;
- case LINEAR:
- info.linear->emit (o, ind, readCh);
- break;
- }
-}
-
-void SwitchIf::emit (OutputFile & o, uint32_t ind, bool & readCh)
-{
- switch (type)
- {
- case SWITCH:
- info.cases->emit (o, ind, readCh);
- break;
- case IF:
- info.ifs->emit (o, ind, readCh);
- break;
- }
-}
-
-void GoBitmap::emit (OutputFile & o, uint32_t ind, bool & readCh)
-{
- std::string yych = output_hgo (o, ind, readCh, hgo);
- o.ws("if (").wstring(opts->yybm).ws("[").wu32(bitmap->i).ws("+").wstring(yych).ws("] & ");
- if (opts->yybmHexTable)
- {
- o.wu32_hex(bitmap->m);
- }
- else
- {
- o.wu32(bitmap->m);
- }
- o.ws(") {\n");
- output_goto (o, ind + 1, readCh, bitmap_state->label);
- o.wind(ind).ws("}\n");
- if (lgo != NULL)
- {
- lgo->emit (o, ind, readCh);
- }
-}
-
-label_t CpgotoTable::max_label () const
-{
- label_t max = label_t::first ();
- for (uint32_t i = 0; i < TABLE_SIZE; ++i)
- {
- if (max < table[i]->label)
- {
- max = table[i]->label;
- };
- }
- return max;
-}
-
-void CpgotoTable::emit (OutputFile & o, uint32_t ind)
-{
- o.wind(ind).ws("static void *").wstring(opts->yytarget).ws("[256] = {\n");
- o.wind(++ind);
- const uint32_t max_digits = max_label ().width ();
- for (uint32_t i = 0; i < TABLE_SIZE; ++i)
- {
- o.ws("&&").wstring(opts->labelPrefix).wlabel(table[i]->label);
- if (i == TABLE_SIZE - 1)
- {
- o.ws("\n");
- }
- else if (i % 8 == 7)
- {
- o.ws(",\n").wind(ind);
- }
- else
- {
- const uint32_t padding = max_digits - table[i]->label.width () + 1;
- o.ws(",").wstring(std::string (padding, ' '));
- }
- }
- o.wind(--ind).ws("};\n");
-}
-
-void Cpgoto::emit (OutputFile & o, uint32_t ind, bool & readCh)
-{
- std::string yych = output_hgo (o, ind, readCh, hgo);
- o.ws("{\n");
- table->emit (o, ++ind);
- o.wind(ind).ws("goto *").wstring(opts->yytarget).ws("[").wstring(yych).ws("];\n");
- o.wind(--ind).ws("}\n");
-}
-
-void Dot::emit (OutputFile & o)
-{
- const uint32_t n = cases->cases_size;
- if (n == 1)
- {
- o.wlabel(from->label).ws(" -> ").wlabel(cases->cases[0].to->label).ws("\n");
- }
- else
- {
- for (uint32_t i = 0; i < n; ++i)
- {
- o.wlabel(from->label).ws(" -> ").wlabel(cases->cases[i].to->label).ws(" [label=\"");
- for (uint32_t j = 0; j < cases->cases[i].ranges.size (); ++j)
- {
- o.wrange(cases->cases[i].ranges[j].first, cases->cases[i].ranges[j].second);
- }
- o.ws("\"]\n");
- }
- }
-}
-
-void Go::emit (OutputFile & o, uint32_t ind, bool & readCh)
-{
- switch (type)
- {
- case EMPTY:
- break;
- case SWITCH_IF:
- info.switchif->emit (o, ind, readCh);
- break;
- case BITMAP:
- info.bitmap->emit (o, ind, readCh);
- break;
- case CPGOTO:
- info.cpgoto->emit (o, ind, readCh);
- break;
- case DOT:
- info.dot->emit (o);
- break;
- }
-}
-
-} // namespace re2c
diff --git a/src/codegen/indent.h b/src/codegen/indent.h
deleted file mode 100644
index d2d8f369..00000000
--- a/src/codegen/indent.h
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef _RE2C_CODEGEN_INDENT_
-#define _RE2C_CODEGEN_INDENT_
-
-#include <string>
-
-#include "src/globals.h"
-
-namespace re2c
-{
-
-inline std::string indent (uint32_t ind)
-{
- std::string str;
-
- while (opts->target != opt_t::DOT && ind-- > 0)
- {
- str += opts->indString;
- }
- return str;
-}
-
-} // end namespace re2c
-
-#endif // _RE2C_CODEGEN_INDENT_
diff --git a/src/codegen/input_api.cc b/src/codegen/input_api.cc
deleted file mode 100644
index f2e32c38..00000000
--- a/src/codegen/input_api.cc
+++ /dev/null
@@ -1,175 +0,0 @@
-#include <sstream>
-
-#include "src/codegen/input_api.h"
-#include "src/codegen/indent.h"
-#include "src/conf/opt.h"
-#include "src/globals.h"
-
-namespace re2c
-{
-
-InputAPI::InputAPI ()
- : type_ (DEFAULT)
-{}
-
-InputAPI::type_t InputAPI::type () const
-{
- return type_;
-}
-
-void InputAPI::set (type_t t)
-{
- type_ = t;
-}
-
-std::string InputAPI::expr_peek () const
-{
- std::string s;
- switch (type_)
- {
- case DEFAULT:
- s = "*" + opts->yycursor;
- break;
- case CUSTOM:
- s = opts->yypeek + " ()";
- break;
- }
- return s;
-}
-
-std::string InputAPI::expr_peek_save () const
-{
- return opts->yych + " = " + opts.yychConversion () + expr_peek ();
-}
-
-std::string InputAPI::stmt_peek (uint32_t ind) const
-{
- return indent (ind) + expr_peek_save () + ";\n";
-}
-
-std::string InputAPI::stmt_skip (uint32_t ind) const
-{
- std::string s;
- switch (type_)
- {
- case DEFAULT:
- s = "++" + opts->yycursor;
- break;
- case CUSTOM:
- s = opts->yyskip + " ()";
- break;
- }
- return indent (ind) + s + ";\n";
-}
-
-std::string InputAPI::stmt_backup (uint32_t ind) const
-{
- std::string s;
- switch (type_)
- {
- case DEFAULT:
- s = opts->yymarker + " = " + opts->yycursor;
- break;
- case CUSTOM:
- s = opts->yybackup + " ()";
- break;
- }
- return indent (ind) + s + ";\n";
-}
-
-std::string InputAPI::stmt_backupctx (uint32_t ind) const
-{
- std::string s;
- switch (type_)
- {
- case DEFAULT:
- s = opts->yyctxmarker + " = " + opts->yycursor;
- break;
- case CUSTOM:
- s = opts->yybackupctx + " ()";
- break;
- }
- return indent (ind) + s + ";\n";
-}
-
-std::string InputAPI::stmt_restore (uint32_t ind) const
-{
- std::string s;
- switch (type_)
- {
- case DEFAULT:
- s = opts->yycursor + " = " + opts->yymarker;
- break;
- case CUSTOM:
- s = opts->yyrestore + " ()";
- break;
- }
- return indent (ind) + s + ";\n";
-}
-
-std::string InputAPI::stmt_restorectx (uint32_t ind) const
-{
- std::string s;
- switch (type_)
- {
- case DEFAULT:
- s = indent (ind) + opts->yycursor + " = " + opts->yyctxmarker + ";\n";
- break;
- case CUSTOM:
- s = indent (ind) + opts->yyrestorectx + " ();\n";
- break;
- }
- return s;
-}
-
-std::string InputAPI::stmt_skip_peek (uint32_t ind) const
-{
- return type_ == DEFAULT
- ? indent (ind) + opts->yych + " = " + opts.yychConversion () + "*++" + opts->yycursor + ";\n"
- : stmt_skip (ind) + stmt_peek (ind);
-}
-
-std::string InputAPI::stmt_skip_backup (uint32_t ind) const
-{
- return type_ == DEFAULT
- ? indent (ind) + opts->yymarker + " = ++" + opts->yycursor + ";\n"
- : stmt_skip (ind) + stmt_backup (ind);
-}
-
-std::string InputAPI::stmt_backup_peek (uint32_t ind) const
-{
- return type_ == DEFAULT
- ? indent (ind) + opts->yych + " = " + opts.yychConversion () + "*(" + opts->yymarker + " = " + opts->yycursor + ");\n"
- : stmt_backup (ind) + stmt_peek (ind);
-}
-
-std::string InputAPI::stmt_skip_backup_peek (uint32_t ind) const
-{
- return type_ == DEFAULT
- ? indent (ind) + opts->yych + " = " + opts.yychConversion () + "*(" + opts->yymarker + " = ++" + opts->yycursor + ");\n"
- : stmt_skip (ind) + stmt_backup (ind) + stmt_peek (ind);
-}
-
-std::string InputAPI::expr_lessthan_one () const
-{
- return type_ == DEFAULT
- ? opts->yylimit + " <= " + opts->yycursor
- : expr_lessthan (1);
-}
-
-std::string InputAPI::expr_lessthan (size_t n) const
-{
- std::ostringstream s;
- switch (type_)
- {
- case DEFAULT:
- s << "(" << opts->yylimit << " - " << opts->yycursor << ") < " << n;
- break;
- case CUSTOM:
- s << opts->yylessthan << " (" << n << ")";
- break;
- }
- return s.str ();
-}
-
-} // end namespace re2c
diff --git a/src/codegen/input_api.h b/src/codegen/input_api.h
deleted file mode 100644
index 423475e6..00000000
--- a/src/codegen/input_api.h
+++ /dev/null
@@ -1,43 +0,0 @@
-#ifndef _RE2C_CODEGEN_INPUT_API_
-#define _RE2C_CODEGEN_INPUT_API_
-
-#include "src/util/c99_stdint.h"
-#include <string>
-
-namespace re2c
-{
-
-class InputAPI
-{
-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 () const;
- std::string expr_peek_save () const;
- std::string stmt_peek (uint32_t ind) const;
- std::string stmt_skip (uint32_t ind) const;
- std::string stmt_backup (uint32_t ind) const;
- std::string stmt_backupctx (uint32_t ind) const;
- std::string stmt_restore (uint32_t ind) const;
- std::string stmt_restorectx (uint32_t ind) const;
- std::string stmt_skip_peek (uint32_t ind) const;
- std::string stmt_skip_backup (uint32_t ind) const;
- std::string stmt_backup_peek (uint32_t ind) const;
- std::string stmt_skip_backup_peek (uint32_t ind) const;
- std::string expr_lessthan_one () const;
- std::string expr_lessthan (size_t n) const;
-};
-
-} // end namespace re2c
-
-#endif // _RE2C_CODEGEN_INPUT_API_
diff --git a/src/codegen/output.cc b/src/codegen/output.cc
deleted file mode 100644
index 5276ef77..00000000
--- a/src/codegen/output.cc
+++ /dev/null
@@ -1,465 +0,0 @@
-#include <stdio.h>
-#include <time.h>
-#include <iomanip>
-
-#include "src/codegen/indent.h"
-#include "src/codegen/output.h"
-#include "src/codegen/print.h"
-#include "src/conf/opt.h"
-#include "src/conf/warn.h"
-#include "src/globals.h"
-#include "src/ir/rule_rank.h"
-
-namespace re2c
-{
-
-OutputFragment::OutputFragment (type_t t, uint32_t i)
- : type (t)
- , stream ()
- , indent (i)
-{}
-
-uint32_t OutputFragment::count_lines ()
-{
- uint32_t lines = 0;
- const std::string content = stream.str ();
- const char * p = content.c_str ();
- for (uint32_t i = 0; i < content.size (); ++i)
- {
- if (p[i] == '\n')
- {
- ++lines;
- }
- }
- return lines;
-}
-
-OutputBlock::OutputBlock ()
- : fragments ()
- , used_yyaccept (false)
- , force_start_label (false)
- , user_start_label ()
- , line (0)
-{
- fragments.push_back (new OutputFragment (OutputFragment::CODE, 0));
-}
-
-OutputBlock::~OutputBlock ()
-{
- for (unsigned int i = 0; i < fragments.size (); ++i)
- {
- delete fragments[i];
- }
-}
-
-OutputFile::OutputFile (const char * fn)
- : file_name (fn)
- , file (NULL)
- , blocks ()
- , label_counter ()
- , warn_condition_order (!opts->tFlag) // see note [condition order]
-{
- new_block ();
-}
-
-bool OutputFile::open ()
-{
- if (file_name == NULL)
- {
- file_name = "<stdout>";
- file = stdout;
- }
- else
- {
- file = fopen (file_name, "wb");
- }
- return file != NULL;
-}
-
-OutputFile::~OutputFile ()
-{
- if (file != NULL && file != stdout)
- {
- fclose (file);
- }
- for (unsigned int i = 0; i < blocks.size (); ++i)
- {
- delete blocks[i];
- }
-}
-
-std::ostream & OutputFile::stream ()
-{
- return blocks.back ()->fragments.back ()->stream;
-}
-
-OutputFile & OutputFile::wraw (const char * s, size_t n)
-{
- stream ().write (s, static_cast<std::streamsize> (n));
- return *this;
-}
-
-OutputFile & OutputFile::wu32_hex (uint32_t n)
-{
- prtHex (stream (), n);
- return *this;
-}
-
-OutputFile & OutputFile::wc_hex (uint32_t n)
-{
- prtChOrHex (stream (), n);
- return *this;
-}
-
-OutputFile & OutputFile::wrange (uint32_t l, uint32_t u)
-{
- printSpan (stream (), l, u);
- return *this;
-}
-
-OutputFile & OutputFile::wu32_width (uint32_t n, int w)
-{
- stream () << std::setw (w);
- stream () << n;
- return *this;
-}
-
-OutputFile & OutputFile::wline_info (uint32_t l, const char * fn)
-{
- output_line_info (stream (), l, fn);
- return *this;
-}
-
-OutputFile & OutputFile::wversion_time ()
-{
- output_version_time (stream ());
- return *this;
-}
-
-OutputFile & OutputFile::wuser_start_label ()
-{
- const std::string label = blocks.back ()->user_start_label;
- if (!label.empty ())
- {
- wstring(label).ws(":\n");
- }
- return *this;
-}
-
-OutputFile & OutputFile::wc (char c)
-{
- stream () << c;
- return *this;
-}
-
-OutputFile & OutputFile::wu32 (uint32_t n)
-{
- stream () << n;
- return *this;
-}
-
-OutputFile & OutputFile::wu64 (uint64_t n)
-{
- stream () << n;
- return *this;
-}
-
-OutputFile & OutputFile::wstring (const std::string & s)
-{
- stream () << s;
- return *this;
-}
-
-OutputFile & OutputFile::ws (const char * s)
-{
- stream () << s;
- return *this;
-}
-
-OutputFile & OutputFile::wlabel (label_t l)
-{
- stream () << l;
- return *this;
-}
-
-OutputFile & OutputFile::wrank (rule_rank_t r)
-{
- stream () << r;
- return *this;
-}
-
-OutputFile & OutputFile::wind (uint32_t ind)
-{
- stream () << indent(ind);
- return *this;
-}
-
-void OutputFile::insert_code ()
-{
- blocks.back ()->fragments.push_back (new OutputFragment (OutputFragment::CODE, 0));
-}
-
-OutputFile & OutputFile::wdelay_line_info ()
-{
- blocks.back ()->fragments.push_back (new OutputFragment (OutputFragment::LINE_INFO, 0));
- insert_code ();
- return *this;
-}
-
-OutputFile & OutputFile::wdelay_state_goto (uint32_t ind)
-{
- if (opts->fFlag && !bWroteGetState)
- {
- blocks.back ()->fragments.push_back (new OutputFragment (OutputFragment::STATE_GOTO, ind));
- insert_code ();
- bWroteGetState = true;
- }
- return *this;
-}
-
-OutputFile & OutputFile::wdelay_types ()
-{
- warn_condition_order = false; // see note [condition order]
- blocks.back ()->fragments.push_back (new OutputFragment (OutputFragment::TYPES, 0));
- insert_code ();
- return *this;
-}
-
-OutputFile & OutputFile::wdelay_warn_condition_order ()
-{
- blocks.back ()->fragments.push_back (new OutputFragment (OutputFragment::WARN_CONDITION_ORDER, 0));
- insert_code ();
- return *this;
-}
-
-OutputFile & OutputFile::wdelay_yyaccept_init (uint32_t ind)
-{
- blocks.back ()->fragments.push_back (new OutputFragment (OutputFragment::YYACCEPT_INIT, ind));
- insert_code ();
- return *this;
-}
-
-OutputFile & OutputFile::wdelay_yymaxfill ()
-{
- blocks.back ()->fragments.push_back (new OutputFragment (OutputFragment::YYMAXFILL, 0));
- insert_code ();
- return *this;
-}
-
-void OutputFile::set_used_yyaccept ()
-{
- blocks.back ()->used_yyaccept = true;
-}
-
-bool OutputFile::get_used_yyaccept () const
-{
- return blocks.back ()->used_yyaccept;
-}
-
-void OutputFile::set_force_start_label (bool force)
-{
- blocks.back ()->force_start_label = force;
-}
-
-void OutputFile::set_user_start_label (const std::string & label)
-{
- blocks.back ()->user_start_label = label;
-}
-
-bool OutputFile::get_force_start_label () const
-{
- return blocks.back ()->force_start_label;
-}
-
-void OutputFile::set_block_line (uint32_t l)
-{
- blocks.back ()->line = l;
-}
-
-uint32_t OutputFile::get_block_line () const
-{
- return blocks.back ()->line;
-}
-
-void OutputFile::new_block ()
-{
- blocks.push_back (new OutputBlock ());
- insert_code ();
-}
-
-void OutputFile::emit
- ( const std::vector<std::string> & types
- , size_t max_fill
- )
-{
- if (file != NULL)
- {
- 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)
- {
- OutputFragment & f = * b.fragments[i];
- switch (f.type)
- {
- case OutputFragment::CODE:
- break;
- case OutputFragment::LINE_INFO:
- output_line_info (f.stream, line_count + 1, file_name);
- break;
- case OutputFragment::STATE_GOTO:
- output_state_goto (f.stream, f.indent, 0);
- break;
- case OutputFragment::TYPES:
- output_types (f.stream, f.indent, types);
- break;
- case OutputFragment::WARN_CONDITION_ORDER:
- if (warn_condition_order) // see note [condition order]
- {
- warn.condition_order (b.line);
- }
- break;
- case OutputFragment::YYACCEPT_INIT:
- output_yyaccept_init (f.stream, f.indent, b.used_yyaccept);
- break;
- case OutputFragment::YYMAXFILL:
- output_yymaxfill (f.stream, max_fill);
- break;
- }
- std::string content = f.stream.str ();
- fwrite (content.c_str (), 1, content.size (), file);
- line_count += f.count_lines ();
- }
- }
- }
-}
-
-HeaderFile::HeaderFile (const char * fn)
- : stream ()
- // header is always generated, but not always dumped to file
- // NULL filename crashes 'operator <<' on some platforms
- // TODO: generate header only if necessary
- , file_name (fn ? fn : "<stdout>.h")
- , file (NULL)
-{}
-
-bool HeaderFile::open ()
-{
- file = fopen (file_name, "wb");
- return file != NULL;
-}
-
-void HeaderFile::emit (const std::vector<std::string> & types)
-{
- output_version_time (stream);
- output_line_info (stream, 3, file_name);
- stream << "\n";
- output_types (stream, 0, types);
-}
-
-HeaderFile::~HeaderFile ()
-{
- if (file != NULL)
- {
- std::string content = stream.str ();
- fwrite (content.c_str (), 1, content.size (), file);
- fclose (file);
- }
-}
-
-Output::Output (const char * source_name, const char * header_name)
- : source (source_name)
- , header (header_name)
- , types ()
- , skeletons ()
- , max_fill (1)
-{}
-
-Output::~Output ()
-{
- if (!warn.error ())
- {
- source.emit (types, max_fill);
- header.emit (types);
- }
-}
-
-void output_state_goto (std::ostream & o, uint32_t ind, uint32_t start_label)
-{
- o << indent(ind) << "switch (" << output_get_state() << ") {\n";
- if (opts->bUseStateAbort)
- {
- o << indent(ind) << "default: abort();\n";
- o << indent(ind) << "case -1: goto " << opts->labelPrefix << start_label << ";\n";
- }
- else
- {
- o << indent(ind) << "default: goto " << opts->labelPrefix << start_label << ";\n";
- }
- for (uint32_t i = 0; i < last_fill_index; ++i)
- {
- o << indent(ind) << "case " << i << ": goto " << opts->yyfilllabel << i << ";\n";
- }
- o << indent(ind) << "}\n";
- if (opts->bUseStateNext)
- {
- o << opts->yynext << ":\n";
- }
-}
-
-void output_yyaccept_init (std::ostream & o, uint32_t ind, bool used_yyaccept)
-{
- if (used_yyaccept)
- {
- o << indent (ind) << "unsigned int " << opts->yyaccept << " = 0;\n";
- }
-}
-
-void output_yymaxfill (std::ostream & o, size_t max_fill)
-{
- o << "#define YYMAXFILL " << max_fill << "\n";
-}
-
-void output_line_info (std::ostream & o, uint32_t line_number, const char * file_name)
-{
- if (!opts->iFlag)
- {
- o << "#line " << line_number << " \"" << file_name << "\"\n";
- }
-}
-
-void output_types (std::ostream & o, uint32_t ind, const std::vector<std::string> & types)
-{
- o << indent (ind++) << "enum " << opts->yycondtype << " {\n";
- for (unsigned int i = 0; i < types.size (); ++i)
- {
- o << indent (ind) << opts->condEnumPrefix << types[i] << ",\n";
- }
- o << indent (--ind) << "};\n";
-}
-
-void output_version_time (std::ostream & o)
-{
- o << "/* Generated by re2c";
- if (opts->version)
- {
- o << " " << PACKAGE_VERSION;
- }
- if (!opts->bNoGenerationDate)
- {
- o << " on ";
- time_t now = time (NULL);
- o.write (ctime (&now), 24);
- }
- o << " */" << "\n";
-}
-
-std::string output_get_state ()
-{
- return opts->state_get_naked
- ? opts->state_get
- : opts->state_get + "()";
-}
-
-} // namespace re2c
diff --git a/src/codegen/output.h b/src/codegen/output.h
deleted file mode 100644
index 774fea35..00000000
--- a/src/codegen/output.h
+++ /dev/null
@@ -1,158 +0,0 @@
-#ifndef _RE2C_CODEGEN_OUTPUT_
-#define _RE2C_CODEGEN_OUTPUT_
-
-#include "src/util/c99_stdint.h"
-#include <stddef.h>
-#include <stdio.h>
-#include <fstream>
-#include <set>
-#include <sstream>
-#include <string>
-#include <vector>
-
-#include "src/codegen/label.h"
-#include "src/util/counter.h"
-#include "src/util/forbid_copy.h"
-
-namespace re2c
-{
-
-class rule_rank_t;
-
-struct OutputFragment
-{
- enum type_t
- { CODE
-// , CONFIG
- , LINE_INFO
- , STATE_GOTO
- , TYPES
- , WARN_CONDITION_ORDER
- , YYACCEPT_INIT
- , YYMAXFILL
- };
-
- type_t type;
- std::ostringstream stream;
- uint32_t indent;
-
- OutputFragment (type_t t, uint32_t i);
- uint32_t count_lines ();
-};
-
-struct OutputBlock
-{
- std::vector<OutputFragment *> fragments;
- bool used_yyaccept;
- bool force_start_label;
- std::string user_start_label;
- uint32_t line;
-
- OutputBlock ();
- ~OutputBlock ();
-};
-
-struct OutputFile
-{
-public:
- const char * file_name;
-
-private:
- FILE * file;
- std::vector<OutputBlock *> blocks;
-
-public:
- counter_t<label_t> label_counter;
- bool warn_condition_order;
-
-private:
- std::ostream & stream ();
- void insert_code ();
-
-public:
- OutputFile (const char * fn);
- ~OutputFile ();
-
- bool open ();
-
- void new_block ();
-
- // immediate output
- OutputFile & wraw (const char * s, size_t n);
- OutputFile & wc (char c);
- OutputFile & wc_hex (uint32_t n);
- OutputFile & wu32 (uint32_t n);
- OutputFile & wu32_hex (uint32_t n);
- OutputFile & wu32_width (uint32_t n, int w);
- OutputFile & wu64 (uint64_t n);
- OutputFile & wstring (const std::string & s);
- OutputFile & ws (const char * s);
- OutputFile & wlabel (label_t l);
- OutputFile & wrank (rule_rank_t l);
- OutputFile & wrange (uint32_t u, uint32_t l);
- OutputFile & wline_info (uint32_t l, const char * fn);
- OutputFile & wversion_time ();
- OutputFile & wuser_start_label ();
- OutputFile & wind (uint32_t ind);
-
- // delayed output
- OutputFile & wdelay_line_info ();
- OutputFile & wdelay_state_goto (uint32_t ind);
- OutputFile & wdelay_types ();
- OutputFile & wdelay_warn_condition_order ();
- OutputFile & wdelay_yyaccept_init (uint32_t ind);
- OutputFile & wdelay_yymaxfill ();
-
- void set_used_yyaccept ();
- bool get_used_yyaccept () const;
- void set_force_start_label (bool force);
- void set_user_start_label (const std::string & label);
- bool get_force_start_label () const;
- void set_block_line (uint32_t l);
- uint32_t get_block_line () const;
-
- void emit (const std::vector<std::string> & types, size_t max_fill);
-
- FORBID_COPY (OutputFile);
-};
-
-struct HeaderFile
-{
- HeaderFile (const char * fn);
- ~HeaderFile ();
- bool open ();
- void emit (const std::vector<std::string> & types);
-
-private:
- std::ostringstream stream;
- const char * file_name;
- FILE * file;
-
- FORBID_COPY (HeaderFile);
-};
-
-struct Output
-{
- OutputFile source;
- HeaderFile header;
- std::vector<std::string> types;
- std::set<std::string> skeletons;
- size_t max_fill;
-
- Output (const char * source_name, const char * header_name);
- ~Output ();
-};
-
-void output_line_info (std::ostream &, uint32_t, const char *);
-void output_state_goto (std::ostream &, uint32_t, uint32_t);
-void output_types (std::ostream &, uint32_t, const std::vector<std::string> &);
-void output_version_time (std::ostream &);
-void output_yyaccept_init (std::ostream &, uint32_t, bool);
-void output_yymaxfill (std::ostream &, size_t);
-
-// helpers
-std::string output_get_state ();
-
-} // namespace re2c
-
-#endif // _RE2C_CODEGEN_OUTPUT_
diff --git a/src/codegen/print.cc b/src/codegen/print.cc
deleted file mode 100644
index 2303e847..00000000
--- a/src/codegen/print.cc
+++ /dev/null
@@ -1,156 +0,0 @@
-#include <iostream>
-
-#include "src/codegen/print.h"
-#include "src/conf/opt.h"
-#include "src/globals.h"
-#include "src/ir/regexp/encoding/enc.h"
-
-namespace re2c
-{
-
-bool is_print (uint32_t c)
-{
- return c >= 0x20 && c < 0x7F;
-}
-
-bool is_space (uint32_t c)
-{
- switch (c)
- {
- case '\t':
- case '\f':
- case '\v':
- case '\n':
- case '\r':
- case ' ':
- return true;
- default:
- return false;
- }
-}
-
-char hexCh(uint32_t c)
-{
- static const char * sHex = "0123456789ABCDEF";
- return sHex[c & 0x0F];
-}
-
-void prtChOrHex(std::ostream& o, uint32_t c)
-{
- if (opts->encoding.type () != Enc::EBCDIC
- && (is_print (c) || is_space (c)))
- {
- o << '\'';
- prtCh(o, c);
- o << '\'';
- }
- else
- {
- prtHex(o, c);
- }
-}
-
-void prtHex(std::ostream& o, uint32_t c)
-{
- o << "0x";
- const uint32_t cunit_size = opts->encoding.szCodeUnit ();
- if (cunit_size >= 4)
- {
- o << hexCh (c >> 28u)
- << hexCh (c >> 24u)
- << hexCh (c >> 20u)
- << hexCh (c >> 16u);
- }
- if (cunit_size >= 2)
- {
- o << hexCh (c >> 12u)
- << hexCh (c >> 8u);
- }
- o << hexCh (c >> 4u)
- << hexCh (c);
-}
-
-void prtCh(std::ostream& o, uint32_t c)
-{
- const bool dot = opts->target == opt_t::DOT;
-
- switch (c)
- {
- case '\'':
- o << (dot ? "'" : "\\'");
- break;
-
- case '"':
- o << (dot ? "\\\"" : "\"");
- break;
-
- case '\n':
- o << (dot ? "\\\\n" : "\\n");
- break;
-
- case '\t':
- o << (dot ? "\\\\t" : "\\t");
- break;
-
- case '\v':
- o << (dot ? "\\\\v" : "\\v");
- break;
-
- case '\b':
- o << (dot ? "\\\\b" : "\\b");
- break;
-
- case '\r':
- o << (dot ? "\\\\r" : "\\r");
- break;
-
- case '\f':
- o << (dot ? "\\\\f" : "\\f");
- break;
-
- case '\a':
- o << (dot ? "\\\\a" :"\\a");
- break;
-
- case '\\':
- o << "\\\\"; // both .dot and C/C++ code expect "\\"
- break;
-
- default:
- o << static_cast<char> (c);
- break;
- }
-}
-
-void prtChOrHexForSpan(std::ostream& o, uint32_t c)
-{
- if (opts->encoding.type () != Enc::EBCDIC
- && is_print (c)
- && (c != ']'))
- {
- prtCh(o, c);
- }
- else
- {
- prtHex(o, c);
- }
-}
-
-void printSpan(std::ostream& o, uint32_t lb, uint32_t ub)
-{
- o << "[";
- if ((ub - lb) == 1)
- {
- prtChOrHexForSpan(o, lb);
- }
- else
- {
- prtChOrHexForSpan(o, lb);
- o << "-";
- prtChOrHexForSpan(o, ub - 1);
- }
- o << "]";
-}
-
-} // end namespace re2c
-
diff --git a/src/codegen/print.h b/src/codegen/print.h
deleted file mode 100644
index 978d13e5..00000000
--- a/src/codegen/print.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef _RE2C_CODEGEN_PRINT_
-#define _RE2C_CODEGEN_PRINT_
-
-#include "src/util/c99_stdint.h"
-#include <iosfwd>
-
-namespace re2c
-{
-
-bool is_print (uint32_t c);
-bool is_space (uint32_t c);
-char hexCh(uint32_t c);
-void prtCh(std::ostream&, uint32_t);
-void prtHex(std::ostream&, uint32_t);
-void prtChOrHex(std::ostream&, uint32_t);
-void printSpan(std::ostream&, uint32_t, uint32_t);
-
-} // end namespace re2c
-
-#endif // _RE2C_CODEGEN_PRINT_
diff --git a/src/compile.cc b/src/compile.cc
new file mode 100644
index 00000000..51ac7e21
--- /dev/null
+++ b/src/compile.cc
@@ -0,0 +1,193 @@
+#include <stddef.h>
+#include "src/util/c99_stdint.h"
+#include <algorithm>
+#include <ostream>
+#include <string>
+#include <vector>
+
+#include "src/adfa/adfa.h"
+#include "src/adfa/dump.h"
+#include "src/ast/ast.h"
+#include "src/ast/parser.h"
+#include "src/ast/scanner.h"
+#include "src/code/label.h"
+#include "src/code/output.h"
+#include "src/compile.h"
+#include "src/conf/opt.h"
+#include "src/dfa/dfa.h"
+#include "src/dfa/dump.h"
+#include "src/nfa/nfa.h"
+#include "src/re/encoding/range_suffix.h"
+#include "src/re/re.h"
+#include "src/re/rule.h"
+#include "src/skeleton/skeleton.h"
+#include "src/util/counter.h"
+#include "src/util/free_list.h"
+#include "src/util/range.h"
+#include "src/util/smart_ptr.h"
+
+namespace re2c {
+
+class Warn;
+
+static std::string make_name(const std::string &cond, uint32_t line)
+{
+ std::ostringstream os;
+ os << "line" << line;
+ std::string name = os.str();
+ if (!cond.empty ())
+ {
+ name += "_";
+ name += cond;
+ }
+ return name;
+}
+
+static smart_ptr<DFA> ast_to_dfa(const spec_t &spec, Output &output)
+{
+ const opt_t *opts = output.source.block().opts;
+ Warn &warn = output.source.warn;
+ const std::vector<ASTRule> &rules = spec.rules;
+ const size_t defrule = spec.defs.empty()
+ ? Rule::NONE
+ : rules.size() - 1;
+ const uint32_t line = output.source.block().line;
+ const std::string
+ &cond = spec.name,
+ name = make_name(cond, line),
+ &setup = spec.setup.empty() ? "" : spec.setup[0]->text;
+
+ RESpec re(rules, opts, warn);
+ split_charset(re);
+ find_fixed_tags(re);
+ insert_default_tags(re);
+ warn_nullable(re, cond);
+
+ nfa_t nfa(re);
+ if (opts->dump_nfa) dump_nfa(nfa);
+
+ dfa_t dfa(nfa, opts, cond, warn);
+ if (opts->dump_dfa_det) dump_dfa(dfa);
+
+ // skeleton must be constructed after DFA construction
+ // but prior to any other DFA transformations
+ Skeleton skeleton(dfa, opts, defrule, name, cond, line);
+ warn_undefined_control_flow(skeleton, warn);
+ if (opts->target == TARGET_SKELETON) {
+ emit_data(skeleton);
+ }
+
+ cutoff_dead_rules(dfa, defrule, cond, warn);
+
+ insert_fallback_tags(dfa);
+
+ // try to minimize the number of tag variables
+ compact_and_optimize_tags(dfa, opts->optimize_tags);
+ if (opts->dump_dfa_tagopt) dump_dfa(dfa);
+
+ freeze_tags(dfa);
+
+ minimization(dfa, opts->dfa_minimization);
+ if (opts->dump_dfa_min) dump_dfa(dfa);
+
+ // find YYFILL states and calculate argument to YYFILL
+ std::vector<size_t> fill;
+ fillpoints(dfa, fill);
+
+ // ADFA stands for 'DFA with actions'
+ DFA *adfa = new DFA(dfa, fill, defrule, skeleton.sizeof_key,
+ name, cond, line, setup);
+
+ // see note [reordering DFA states]
+ adfa->reorder();
+
+ // skeleton is constructed, do further DFA transformations
+ adfa->prepare(opts);
+ if (opts->dump_adfa) dump_adfa(*adfa);
+
+ // finally gather overall DFA statistics
+ adfa->calc_stats(line, opts->tags);
+
+ // accumulate global statistics from this particular DFA
+ output.max_fill = std::max(output.max_fill, adfa->max_fill);
+ output.max_nmatch = std::max(output.max_nmatch, adfa->max_nmatch);
+ if (adfa->need_accept)
+ {
+ output.source.block().used_yyaccept = true;
+ }
+
+ return make_smart_ptr(adfa);
+}
+
+void compile(Scanner &input, Output &output, Opt &opts)
+{
+ specs_t rspecs;
+ symtab_t symtab;
+ const conopt_t *globopts = &opts.glob;
+ const opt_t *ropts = NULL;
+ OutputFile &o = output.source;
+ typedef std::vector<smart_ptr<DFA> > dfas_t;
+
+ o.new_block(opts);
+ o.wversion_time().wline_info(input.get_cline(), input.get_fname().c_str());
+ if (globopts->target == TARGET_SKELETON) {
+ emit_prolog(o);
+ }
+
+ for (Scanner::ParseMode mode; (mode = input.echo(o)) != Scanner::Stop;) {
+
+ validate_mode(mode, globopts->rFlag, ropts, input);
+
+ // parse next re2c block
+ specs_t specs;
+ if (mode == Scanner::Reuse) {
+ specs = rspecs;
+ opts.restore(ropts);
+ opts.reset_mapCodeName();
+ o.label_counter.reset();
+ o.fill_index = 0;
+ o.state_goto = false;
+ o.cond_goto = false;
+ }
+ parse(input, specs, symtab, opts);
+
+ // start new output block with accumulated options
+ o.new_block(opts);
+
+ if (mode == Scanner::Rules) {
+ // save AST and options for future use
+ rspecs = specs;
+ ropts = o.block().opts;
+ } else {
+ validate_ast(specs, globopts->cFlag);
+ normalize_ast(specs);
+
+ // compile AST to DFA
+ o.block().line = input.get_cline();
+ dfas_t dfas;
+ for (specs_t::const_iterator i = specs.begin(); i != specs.end(); ++i) {
+ dfas.push_back(ast_to_dfa(*i, output));
+ }
+
+ // compile DFA to code
+ bool prolog = false;
+ uint32_t ind = o.block().opts->topIndent;
+ for (dfas_t::const_iterator i = dfas.begin(); i != dfas.end(); ++i) {
+ (*i)->emit(output, ind, (i + 1) == dfas.end(), prolog);
+ }
+ }
+
+ o.wline_info (input.get_cline (), input.get_fname ().c_str ());
+ }
+
+ if (globopts->target == TARGET_SKELETON) {
+ emit_epilog (o, output.skeletons);
+ }
+
+ AST::flist.clear();
+ Code::flist.clear();
+ Range::vFreeList.clear();
+ RangeSuffix::freeList.clear();
+}
+
+} // namespace re2c
diff --git a/src/compile.h b/src/compile.h
new file mode 100644
index 00000000..ee1a8a09
--- /dev/null
+++ b/src/compile.h
@@ -0,0 +1,19 @@
+#ifndef _RE2C_COMPILE_
+#define _RE2C_COMPILE_
+
+#include "src/ast/scanner.h"
+#include "src/code/output.h"
+#include "src/conf/opt.h"
+
+namespace re2c
+{
+
+class Scanner;
+struct Opt;
+struct Output;
+
+void compile(Scanner &input, Output &output, Opt &opts);
+
+} // namespace re2c
+
+#endif // _RE2C_COMPILE_
diff --git a/src/conf/msg.cc b/src/conf/msg.cc
index ec13c0ac..68e9cd14 100644
--- a/src/conf/msg.cc
+++ b/src/conf/msg.cc
@@ -1,10 +1,13 @@
#include <stdarg.h>
#include <stdio.h>
+#include <stdlib.h>
#include <string>
#include "config.h"
#include "src/conf/msg.h"
+extern const char *help; // autogenerated
+
namespace re2c {
void error (const char * fmt, ...)
@@ -19,9 +22,43 @@ void error (const char * fmt, ...)
fprintf (stderr, "\n");
}
-void error_encoding ()
+void fatal(const char *fmt, ...)
{
- error ("only one of switches -e, -w, -x, -u and -8 must be set");
+ fprintf (stderr, "re2c: error: ");
+
+ va_list args;
+ va_start (args, fmt);
+ vfprintf (stderr, fmt, args);
+ va_end (args);
+
+ fprintf (stderr, "\n");
+ exit(1);
+}
+
+void fatal_l(uint32_t line, const char *fmt, ...)
+{
+ fprintf (stderr, "re2c: error: line %u: ", line);
+
+ va_list args;
+ va_start (args, fmt);
+ vfprintf (stderr, fmt, args);
+ va_end (args);
+
+ fprintf (stderr, "\n");
+ exit(1);
+}
+
+void fatal_lc(uint32_t line, uint32_t column, const char *fmt, ...)
+{
+ fprintf (stderr, "re2c: error: line %u, column %u: ", line, column);
+
+ va_list args;
+ va_start (args, fmt);
+ vfprintf (stderr, fmt, args);
+ va_end (args);
+
+ fprintf (stderr, "\n");
+ exit(1);
}
void error_arg (const char * option)
@@ -31,7 +68,7 @@ void error_arg (const char * option)
void warning_start (uint32_t line, bool error)
{
- static const char * msg = error ? "error" : "warning";
+ const char * msg = error ? "error" : "warning";
fprintf (stderr, "re2c: %s: line %u: ", msg, line);
}
@@ -57,159 +94,9 @@ void warning (const char * type, uint32_t line, bool error, const char * fmt, ..
warning_end (type, error);
}
-void usage ()
+void usage()
{
- fprintf (stderr,
- "usage: re2c [-bcdDefFghirsuvVwx18] [-o of] [-t th] file\n"
- "\n"
- "-? -h --help Display this info.\n"
- "\n"
- "-b --bit-vectors Implies -s. Use bit vectors as well in the attempt to\n"
- " coax better code out of the compiler. Most useful for\n"
- " specifications with more than a few keywords (e.g. for\n"
- " most programming languages).\n"
- "\n"
- "-c --conditions Require start conditions.\n"
- "\n"
- "-d --debug-output Creates a parser that dumps information during\n"
- " about the current position and in which state the\n"
- " parser is.\n"
- "\n"
- "-D --emit-dot Emit a Graphviz dot view of the DFA graph\n"
- "\n"
- "-e --ecb Generate a parser that supports EBCDIC. The generated code\n"
- " can deal with any character up to 0xFF. In this mode re2c\n"
- " assumes that input character size is 1 byte. This switch is\n"
- " incompatible with -w, -u, -x and -8\n"
- "\n"
- "-f --storable-state Generate a scanner that supports storable states.\n"
- "\n"
- "-F --flex-syntax Partial support for flex syntax.\n"
- "\n"
- "-g --computed-gotos Implies -b. Generate computed goto code (only useable\n"
- " with gcc).\n"
- "\n"
- "-i --no-debug-info Do not generate '#line' info (useful for versioning).\n"
- "\n"
- "-o of --output=of Specify the output file (of) instead of stdout\n"
- "\n"
- "-r --reusable Allow reuse of scanner definitions.\n"
- "\n"
- "-s --nested-ifs Generate nested ifs for some switches. Many compilers\n"
- " need this assist to generate better code.\n"
- "\n"
- "-t th --type-header=th Generate a type header file (th) with type definitions.\n"
- "\n"
- "-u --unicode Generate a parser that supports UTF-32. The generated code\n"
- " can deal with any valid Unicode character up to 0x10FFFF.\n"
- " In this mode re2c assumes that input character size is 4 bytes.\n"
- " This switch is incompatible with -e, -w, -x and -8. It implies -s.\n"
- "\n"
- "-v --version Show version information.\n"
- "\n"
- "-V --vernum Show version as one number.\n"
- "\n"
- "-w --wide-chars Generate a parser that supports UCS-2. The generated code can\n"
- " deal with any valid Unicode character up to 0xFFFF. In this mode\n"
- " re2c assumes that input character size is 2 bytes. This switch is\n"
- " incompatible with -e, -x, -u and -8. It implies -s."
- "\n"
- "-x --utf-16 Generate a parser that supports UTF-16. The generated code can\n"
- " deal with any valid Unicode character up to 0x10FFFF. In this mode\n"
- " re2c assumes that input character size is 2 bytes. This switch is\n"
- " incompatible with -e, -w, -u and -8. It implies -s."
- "\n"
- "-8 --utf-8 Generate a parser that supports UTF-8. The generated code can\n"
- " deal with any valid Unicode character up to 0x10FFFF. In this mode\n"
- " re2c assumes that input character size is 1 byte. This switch is\n"
- " incompatible with -e, -w, -x and -u."
- "\n"
- "--no-generation-date Suppress date output in the generated file.\n"
- "\n"
- "--no-version Suppress version output in the generated file.\n"
- "\n"
- "--case-insensitive All strings are case insensitive, so all \"-expressions\n"
- " are treated in the same way '-expressions are.\n"
- "\n"
- "--case-inverted Invert the meaning of single and double quoted strings.\n"
- " With this switch single quotes are case sensitive and\n"
- " double quotes are case insensitive.\n"
- "\n"
- "--encoding-policy ep Specify what re2c should do when given bad code unit.\n"
- " ep can be one of the following: fail, substitute, ignore.\n"
- "\n"
- "--input i Specify re2c input API.\n"
- " i can be one of the following: default, custom.\n"
- "\n"
- "--skeleton Instead of embedding re2c-generated code into C/C++ source,\n"
- " generate a self-contained program for the same DFA.\n"
- " Most useful for correctness and performance testing.\n"
- "\n"
- "--empty-class policy What to do if user inputs empty character class. policy can be\n"
- " one of the following: 'match-empty' (match empty input, default),\n"
- " 'match-none' (fail to match on any input), 'error' (compilation\n"
- " error). Note that there are various ways to construct empty class,\n"
- " e.g: [], [^\\x00-\\xFF], [\\x00-\\xFF]\\[\\x00-\\xFF].\n"
- "\n"
- "--dfa-minimization <table | moore>\n"
- " Internal algorithm used by re2c to minimize DFA (defaults to\n"
- " 'moore'). Both table filling and Moore's algorithms should\n"
- " produce identical DFA (up to states relabelling). Table filling\n"
- " algorithm is much simpler and slower; it serves as a reference\n"
- " implementation.\n"
- "\n"
- "-1 --single-pass Deprecated and does nothing (single pass is by default now).\n"
- "\n"
- "-W Turn on all warnings.\n"
- "\n"
- "-Werror Turn warnings into errors. Note that this option along doesn't\n"
- " turn on any warnings, it only affects those warnings that have\n"
- " been turned on so far or will be turned on later.\n"
- "\n"
- "-W<warning> Turn on individual warning.\n"
- "\n"
- "-Wno-<warning> Turn off individual warning.\n"
- "\n"
- "-Werror-<warning> Turn on individual warning and treat it as error (this implies\n"
- " '-W<warning>').\n"
- "\n"
- "-Wno-error-<warning> Don't treat this particular warning as error. This doesn't turn\n"
- " off the warning itself.\n"
- "\n"
- "Warnings:\n"
- "\n"
- "-Wcondition-order Warn if the generated program makes implicit assumptions about\n"
- " condition numbering. One should use either '-t, --type-header'\n"
- " option or '/*!types:re2c*/' directive to generate mapping of\n"
- " condition names to numbers and use autogenerated condition names.\n"
- "\n"
- "-Wempty-character-class Warn if regular expression contains empty character class. From\n"
- " the rational point of view trying to match empty character class\n"
- " makes no sense: it should always fail. However, for backwards\n"
- " compatibility reasons re2c allows empty character class and treats\n"
- " it as empty string. Use '--empty-class' option to change default\n"
- " behaviour.\n"
- "\n"
- "-Wmatch-empty-string Warn if regular expression in a rule is nullable (matches empty\n"
- " string). If DFA runs in a loop and empty match is unintentional\n"
- " (input position in not advanced manually), lexer may get stuck\n"
- " in eternal loop.\n"
- "\n"
- "-Wswapped-range Warn if range lower bound is greater that upper bound. Default\n"
- " re2c behaviour is to silently swap range bounds.\n"
- "\n"
- "-Wundefined-control-flow\n"
- " Warn if some input strings cause undefined control flow in lexer\n"
- " (the faulty patterns are reported). This is the most dangerous\n"
- " and common mistake. It can be easily fixed by adding default rule\n"
- " '*' (this rule has the lowest priority, matches any code unit\n"
- " and consumes exactly one code unit).\n"
- "\n"
- "-Wuseless-escape Warn if a symbol is escaped when it shouldn't be. By default re2c\n"
- " silently ignores escape, but this may as well indicate a typo\n"
- " or an error in escape sequence.\n"
- "\n"
- );
+ fprintf(stdout, "%s", help);
}
void vernum ()
diff --git a/src/conf/msg.h b/src/conf/msg.h
index b7055523..74781ce4 100644
--- a/src/conf/msg.h
+++ b/src/conf/msg.h
@@ -1,16 +1,18 @@
#ifndef _RE2C_CONF_MSG_
#define _RE2C_CONF_MSG_
+#include "src/util/c99_stdint.h"
#include <string>
#include "src/util/attribute.h"
-#include "src/util/c99_stdint.h"
namespace re2c {
-void error (const char * fmt, ...) RE2C_GXX_ATTRIBUTE ((format (printf, 1, 2)));
-void error_encoding ();
-void error_arg (const char * option);
+void error(const char *fmt, ...) RE2C_GXX_ATTRIBUTE ((format (printf, 1, 2)));
+void fatal(const char *fmt, ...) RE2C_GXX_ATTRIBUTE ((format (printf, 1, 2), noreturn));
+void fatal_l(uint32_t line, const char *fmt, ...) RE2C_GXX_ATTRIBUTE ((format (printf, 2, 3), noreturn));
+void fatal_lc(uint32_t line, uint32_t column, const char *fmt, ...) RE2C_GXX_ATTRIBUTE ((format (printf, 3, 4), noreturn));
+void error_arg(const char *option);
void warning_start (uint32_t line, bool error);
void warning_end (const char * type, bool error);
void warning (const char * type, uint32_t line, bool error, const char * fmt, ...) RE2C_GXX_ATTRIBUTE ((format (printf, 4, 5)));
diff --git a/src/conf/opt.cc b/src/conf/opt.cc
index fa65ceaa..33b30518 100644
--- a/src/conf/opt.cc
+++ b/src/conf/opt.cc
@@ -4,41 +4,23 @@
namespace re2c
{
-Opt opts;
-
-opt_t::opt_t ()
-#define OPT1(type, name, value) : name (value)
-#define OPT(type, name, value) , name (value)
- RE2C_OPTS
-#undef OPT1
-#undef OPT
-{}
-
-opt_t::opt_t (const opt_t & opt)
-#define OPT1(type, name, value) : name (opt.name)
-#define OPT(type, name, value) , name (opt.name)
- RE2C_OPTS
-#undef OPT1
-#undef OPT
-{}
-
-opt_t & opt_t::operator = (const opt_t & opt)
+void conopt_t::fix()
{
-#define OPT1 OPT
-#define OPT(type, name, value) name = opt.name;
- RE2C_OPTS
-#undef OPT1
-#undef OPT
- return *this;
+ if (target == TARGET_SKELETON) {
+ fFlag = false;
+ header_file = "";
+ }
+ if (!cFlag) {
+ header_file = "";
+ }
}
-void opt_t::fix ()
+void mutopt_t::fix(const conopt_t *globopts)
{
// some options either make no sense or must have fixed value
// with current target: reset them to default
- switch (target)
- {
- case DOT:
+ switch (globopts->target) {
+ case TARGET_DOT:
// default code generation options
sFlag = Opt::baseopt.sFlag;
bFlag = Opt::baseopt.bFlag;
@@ -47,7 +29,7 @@ void opt_t::fix ()
// default environment-insensitive formatting
yybmHexTable = Opt::baseopt.yybmHexTable;
// fallthrough
- case SKELETON:
+ case TARGET_SKELETON:
// default line information
iFlag = Opt::baseopt.iFlag;
// default environment-sensitive formatting
@@ -56,8 +38,6 @@ void opt_t::fix ()
condDivider = Opt::baseopt.condDivider;
condDividerParam = Opt::baseopt.condDividerParam;
// default environment bindings
- tFlag = Opt::baseopt.tFlag;
- header_file = Opt::baseopt.header_file;
yycondtype = Opt::baseopt.yycondtype;
cond_get = Opt::baseopt.cond_get;
cond_get_naked = Opt::baseopt.cond_get_naked;
@@ -69,12 +49,14 @@ void opt_t::fix ()
condEnumPrefix = Opt::baseopt.condEnumPrefix;
condGoto = Opt::baseopt.condGoto;
condGotoParam = Opt::baseopt.condGotoParam;
- fFlag = Opt::baseopt.fFlag;
state_get = Opt::baseopt.state_get;
state_get_naked = Opt::baseopt.state_get_naked;
state_set = Opt::baseopt.state_set;
state_set_arg = Opt::baseopt.state_set_arg;
state_set_naked = Opt::baseopt.state_set_naked;
+ tags_prefix = Opt::baseopt.tags_prefix;
+ tags_expression = Opt::baseopt.tags_expression;
+ optimize_tags = Opt::baseopt.optimize_tags;
yyfilllabel = Opt::baseopt.yyfilllabel;
yynext = Opt::baseopt.yynext;
yyaccept = Opt::baseopt.yyaccept;
@@ -93,6 +75,11 @@ void opt_t::fix ()
yybackupctx = Opt::baseopt.yybackupctx;
yyrestore = Opt::baseopt.yyrestore;
yyrestorectx = Opt::baseopt.yyrestorectx;
+ yyrestoretag = Opt::baseopt.yyrestoretag;
+ yystagn = Opt::baseopt.yystagn;
+ yystagp = Opt::baseopt.yystagp;
+ yymtagn = Opt::baseopt.yymtagn;
+ yymtagp = Opt::baseopt.yymtagp;
yylessthan = Opt::baseopt.yylessthan;
dFlag = Opt::baseopt.dFlag;
yydebug = Opt::baseopt.yydebug;
@@ -107,8 +94,10 @@ void opt_t::fix ()
fill_arg_use = Opt::baseopt.fill_arg_use;
fill_naked = Opt::baseopt.fill_naked;
labelPrefix = Opt::baseopt.labelPrefix;
+ startlabel = Opt::baseopt.startlabel;
+ startlabel_force = Opt::baseopt.startlabel_force;
break;
- default:
+ case TARGET_CODE:
break;
}
@@ -118,10 +107,7 @@ void opt_t::fix ()
}
// respect hierarchy
- if (!cFlag)
- {
- tFlag = Opt::baseopt.tFlag;
- header_file = Opt::baseopt.header_file;
+ if (!globopts->cFlag) {
yycondtype = Opt::baseopt.yycondtype;
cond_get = Opt::baseopt.cond_get;
cond_get_naked = Opt::baseopt.cond_get_naked;
@@ -136,8 +122,7 @@ void opt_t::fix ()
condGoto = Opt::baseopt.condGoto;
condGotoParam = Opt::baseopt.condGotoParam;
}
- if (!fFlag)
- {
+ if (!globopts->fFlag) {
state_get = Opt::baseopt.state_get;
state_get_naked = Opt::baseopt.state_get_naked;
state_set = Opt::baseopt.state_set;
@@ -149,6 +134,16 @@ void opt_t::fix ()
bUseStateAbort = Opt::baseopt.bUseStateAbort;
bUseStateNext = Opt::baseopt.bUseStateNext;
}
+ if (posix_captures) {
+ tags = true;
+ }
+ if (!tags)
+ {
+ tags_prefix = Opt::baseopt.tags_prefix;
+ tags_expression = Opt::baseopt.tags_expression;
+ lookahead = Opt::baseopt.lookahead;
+ optimize_tags = Opt::baseopt.optimize_tags;
+ }
if (!bFlag)
{
yybmHexTable = Opt::baseopt.yybmHexTable;
@@ -159,14 +154,14 @@ void opt_t::fix ()
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;
@@ -174,7 +169,11 @@ void opt_t::fix ()
yybackupctx = Opt::baseopt.yybackupctx;
yyrestore = Opt::baseopt.yyrestore;
yyrestorectx = Opt::baseopt.yyrestorectx;
- yylessthan = Opt::baseopt.yylessthan;
+ yyrestoretag = Opt::baseopt.yyrestoretag;
+ yystagn = Opt::baseopt.yystagn;
+ yystagp = Opt::baseopt.yystagp;
+ yymtagn = Opt::baseopt.yymtagn;
+ yymtagp = Opt::baseopt.yymtagp;
}
if (!dFlag)
{
@@ -190,28 +189,28 @@ void opt_t::fix ()
}
// force individual options
- switch (target)
- {
- case DOT:
+ switch (globopts->target) {
+ case TARGET_DOT:
iFlag = true;
break;
- case SKELETON:
+ case TARGET_SKELETON:
iFlag = true;
- input_api.set (InputAPI::CUSTOM);
+ input_api = INPUT_CUSTOM;
indString = " ";
topIndent = 2;
break;
- default:
+ case TARGET_CODE:
break;
}
- switch (encoding.type ())
- {
+ switch (encoding.type()) {
case Enc::UCS2:
case Enc::UTF16:
case Enc::UTF32:
sFlag = true;
break;
- default:
+ case Enc::ASCII:
+ case Enc::EBCDIC:
+ case Enc::UTF8:
break;
}
if (bFlag)
@@ -223,47 +222,14 @@ void opt_t::fix ()
bFlag = true;
sFlag = true;
}
- if (header_file != NULL)
- {
- tFlag = true;
+ if (!lookahead) {
+ eager_skip = true;
}
}
-realopt_t::realopt_t (useropt_t & opt)
- : real ()
- , user (opt)
-{}
+const mutopt_t Opt::baseopt;
-const opt_t * realopt_t::operator -> ()
-{
- sync ();
- return &real;
-}
-
-void realopt_t::sync ()
-{
- if (user.diverge)
- {
- real = user.opt;
- real.fix ();
- user.diverge = false;
- }
-}
-
-useropt_t::useropt_t ()
- : opt ()
- , diverge (true)
-{}
-
-opt_t * useropt_t::operator -> ()
-{
- diverge = true;
- return &opt;
-}
-
-const opt_t Opt::baseopt;
-
-bool Opt::source (const char * s)
+bool Opt::source (const char *s)
{
if (source_file)
{
@@ -277,55 +243,47 @@ bool Opt::source (const char * s)
}
}
-bool Opt::output (const char * s)
-{
- if (output_file)
- {
- error ("multiple output files: %s, %s", output_file, s);
- return false;
- }
- else
- {
- output_file = s;
- return true;
- }
-}
-
-void Opt::reset_encoding (const Enc & enc)
+void Opt::reset_startlabel()
{
- useropt->encoding = enc;
+ set_startlabel(Opt::baseopt.startlabel);
+ set_startlabel_force(Opt::baseopt.startlabel_force);
}
void Opt::reset_mapCodeName ()
{
// historically arranged set of names
// no actual reason why these particular options should be reset
- useropt->cond_get = Opt::baseopt.cond_get;
- useropt->cond_set = Opt::baseopt.cond_set;
- useropt->fill = Opt::baseopt.fill;
- useropt->state_get = Opt::baseopt.state_get;
- useropt->state_set = Opt::baseopt.state_set;
- useropt->yybackup = Opt::baseopt.yybackup;
- useropt->yybackupctx = Opt::baseopt.yybackupctx;
- useropt->yycondtype = Opt::baseopt.yycondtype;
- useropt->yyctxmarker = Opt::baseopt.yyctxmarker;
- useropt->yyctype = Opt::baseopt.yyctype;
- useropt->yycursor = Opt::baseopt.yycursor;
- useropt->yydebug = Opt::baseopt.yydebug;
- useropt->yylessthan = Opt::baseopt.yylessthan;
- useropt->yylimit = Opt::baseopt.yylimit;
- useropt->yymarker = Opt::baseopt.yymarker;
- useropt->yypeek = Opt::baseopt.yypeek;
- useropt->yyrestore = Opt::baseopt.yyrestore;
- useropt->yyrestorectx = Opt::baseopt.yyrestorectx;
- useropt->yyskip = Opt::baseopt.yyskip;
- useropt->yyfilllabel = Opt::baseopt.yyfilllabel;
- useropt->yynext = Opt::baseopt.yynext;
- useropt->yyaccept = Opt::baseopt.yyaccept;
- useropt->yybm = Opt::baseopt.yybm;
- useropt->yych = Opt::baseopt.yych;
- useropt->yyctable = Opt::baseopt.yyctable;
- useropt->yytarget = Opt::baseopt.yytarget;
+ set_cond_get(Opt::baseopt.cond_get);
+ set_cond_set(Opt::baseopt.cond_set);
+ set_fill(Opt::baseopt.fill);
+ set_state_get(Opt::baseopt.state_get);
+ set_state_set(Opt::baseopt.state_set);
+ set_yybackup(Opt::baseopt.yybackup);
+ set_yybackupctx(Opt::baseopt.yybackupctx);
+ set_yycondtype(Opt::baseopt.yycondtype);
+ set_yyctxmarker(Opt::baseopt.yyctxmarker);
+ set_yyctype(Opt::baseopt.yyctype);
+ set_yycursor(Opt::baseopt.yycursor);
+ set_yydebug(Opt::baseopt.yydebug);
+ set_yylessthan(Opt::baseopt.yylessthan);
+ set_yylimit(Opt::baseopt.yylimit);
+ set_yymarker(Opt::baseopt.yymarker);
+ set_yypeek(Opt::baseopt.yypeek);
+ set_yyrestore(Opt::baseopt.yyrestore);
+ set_yyrestorectx(Opt::baseopt.yyrestorectx);
+ set_yyrestoretag(Opt::baseopt.yyrestoretag);
+ set_yystagn(Opt::baseopt.yystagn);
+ set_yystagp(Opt::baseopt.yystagp);
+ set_yymtagn(Opt::baseopt.yymtagn);
+ set_yymtagp(Opt::baseopt.yymtagp);
+ set_yyskip(Opt::baseopt.yyskip);
+ set_yyfilllabel(Opt::baseopt.yyfilllabel);
+ set_yynext(Opt::baseopt.yynext);
+ set_yyaccept(Opt::baseopt.yyaccept);
+ set_yybm(Opt::baseopt.yybm);
+ set_yych(Opt::baseopt.yych);
+ set_yyctable(Opt::baseopt.yyctable);
+ set_yytarget(Opt::baseopt.yytarget);
}
} // namespace re2c
diff --git a/src/conf/opt.h b/src/conf/opt.h
index 30ab21e5..f6380835 100644
--- a/src/conf/opt.h
+++ b/src/conf/opt.h
@@ -1,204 +1,292 @@
#ifndef _RE2C_CONF_OPT_
#define _RE2C_CONF_OPT_
-#include "src/util/c99_stdint.h"
#include <stddef.h>
+#include "src/util/c99_stdint.h"
#include <string>
-#include "src/codegen/input_api.h"
-#include "src/ir/dfa/dfa.h"
-#include "src/ir/regexp/empty_class_policy.h"
-#include "src/ir/regexp/encoding/enc.h"
+#include "src/code/input_api.h"
+#include "src/conf/warn.h"
+#include "src/dfa/dfa.h"
+#include "src/re/empty_class_policy.h"
+#include "src/re/encoding/enc.h"
#include "src/util/forbid_copy.h"
namespace re2c
{
-#define RE2C_OPTS \
- /* target */ \
- OPT1 (opt_t::target_t, target, CODE) \
- /* fingerprint */ \
- OPT (bool, bNoGenerationDate, false) \
- OPT (bool, version, true) \
+class Warn;
+
+enum target_t
+{
+ TARGET_CODE,
+ TARGET_DOT,
+ TARGET_SKELETON
+};
+
+/* note [constant and mutable options]
+ *
+ * Some options are immutable (target, output files; global switches like
+ * conditions, reuse mode, storable states; support of flex syntax, etc.).
+ * These options are passed as command-line arguments and never change.
+ * It is safe to read them from any program point after parsing command-line
+ * arguments.
+ *
+ * Other options are configurable; they have block scope (may be specified
+ * anywhere inside of the block and still affect the whole block).
+ * Reading mutable options of yet unparsed block is not allowed because
+ * they may affect the way RE2C parses current block (RE2C would be tempted
+ * to base decisions on the latest option value, which may not be the final
+ * one).
+ */
+
+#define RE2C_CONSTOPTS \
+ CONSTOPT1 (target_t, target, TARGET_CODE) \
+ CONSTOPT (std::string, output_file, "") \
+ CONSTOPT (std::string, header_file, "") \
+ CONSTOPT (bool, bNoGenerationDate, false) \
+ CONSTOPT (bool, version, true) \
+ CONSTOPT (bool, cFlag, false) \
+ CONSTOPT (bool, fFlag, false) \
+ CONSTOPT (bool, rFlag, false) \
+ CONSTOPT (bool, FFlag, false) \
+ /* debug */ \
+ CONSTOPT (bool, dump_nfa, false) \
+ CONSTOPT (bool, dump_dfa_raw, false) \
+ CONSTOPT (bool, dump_dfa_det, false) \
+ CONSTOPT (bool, dump_dfa_tagopt, false) \
+ CONSTOPT (bool, dump_dfa_min, false) \
+ CONSTOPT (bool, dump_adfa, false)
+
+#define RE2C_MUTOPTS \
/* regular expressions */ \
- OPT (Enc, encoding, Enc ()) \
- OPT (bool, bCaseInsensitive, false) \
- OPT (bool, bCaseInverted, false) \
- OPT (empty_class_policy_t, empty_class_policy, EMPTY_CLASS_MATCH_EMPTY) \
+ MUTOPT1 (Enc, encoding, Enc ()) \
+ MUTOPT (bool, bCaseInsensitive, false) \
+ MUTOPT (bool, bCaseInverted, false) \
+ MUTOPT (empty_class_policy_t, empty_class_policy, EMPTY_CLASS_MATCH_EMPTY) \
/* conditions */ \
- OPT (bool, cFlag, false) \
- OPT (bool, tFlag, false) \
- OPT (const char *, header_file, NULL) \
- OPT (std::string, yycondtype, "YYCONDTYPE") \
- OPT (std::string, cond_get, "YYGETCONDITION") \
- OPT (bool, cond_get_naked, false) \
- OPT (std::string, cond_set, "YYSETCONDITION" ) \
- OPT (std::string, cond_set_arg, "@@" ) \
- OPT (bool, cond_set_naked, false ) \
- OPT (std::string, yyctable, "yyctable") \
- OPT (std::string, condPrefix, "yyc_") \
- OPT (std::string, condEnumPrefix, "yyc") \
- OPT (std::string, condDivider, "/* *********************************** */") \
- OPT (std::string, condDividerParam, "@@") \
- OPT (std::string, condGoto, "goto @@;") \
- OPT (std::string, condGotoParam, "@@") \
+ MUTOPT (std::string, yycondtype, "YYCONDTYPE") \
+ MUTOPT (std::string, cond_get, "YYGETCONDITION") \
+ MUTOPT (bool, cond_get_naked, false) \
+ MUTOPT (std::string, cond_set, "YYSETCONDITION" ) \
+ MUTOPT (std::string, cond_set_arg, "@@" ) \
+ MUTOPT (bool, cond_set_naked, false ) \
+ MUTOPT (std::string, yyctable, "yyctable") \
+ MUTOPT (std::string, condPrefix, "yyc_") \
+ MUTOPT (std::string, condEnumPrefix, "yyc") \
+ MUTOPT (std::string, condDivider, "/* *********************************** */") \
+ MUTOPT (std::string, condDividerParam, "@@") \
+ MUTOPT (std::string, condGoto, "goto @@;") \
+ MUTOPT (std::string, condGotoParam, "@@") \
/* states */ \
- OPT (bool, fFlag, false) \
- OPT (std::string, state_get, "YYGETSTATE") \
- OPT (bool, state_get_naked, false) \
- OPT (std::string, state_set, "YYSETSTATE") \
- OPT (std::string, state_set_arg, "@@") \
- OPT (bool, state_set_naked, false) \
- OPT (std::string, yyfilllabel, "yyFillLabel") \
- OPT (std::string, yynext, "yyNext") \
- OPT (std::string, yyaccept, "yyaccept") \
- OPT (bool, bUseStateAbort, false) \
- OPT (bool, bUseStateNext, false) \
- /* reuse */ \
- OPT (bool, rFlag, false) \
- /* partial flex syntax support */ \
- OPT (bool, FFlag, false) \
+ MUTOPT (std::string, state_get, "YYGETSTATE") \
+ MUTOPT (bool, state_get_naked, false) \
+ MUTOPT (std::string, state_set, "YYSETSTATE") \
+ MUTOPT (std::string, state_set_arg, "@@") \
+ MUTOPT (bool, state_set_naked, false) \
+ MUTOPT (std::string, yyfilllabel, "yyFillLabel") \
+ MUTOPT (std::string, yynext, "yyNext") \
+ MUTOPT (std::string, yyaccept, "yyaccept") \
+ MUTOPT (bool, bUseStateAbort, false) \
+ MUTOPT (bool, bUseStateNext, false) \
+ /* tags */ \
+ MUTOPT (bool, tags, false) \
+ MUTOPT (std::string, tags_prefix, "yyt") \
+ MUTOPT (std::string, tags_expression, "@@") \
+ MUTOPT (bool, posix_captures, false) \
+ MUTOPT (bool, optimize_tags, true) \
/* code generation */ \
- OPT (bool, sFlag, false) \
- OPT (bool, bFlag, false) \
- OPT (std::string, yybm, "yybm") \
- OPT (bool, yybmHexTable, false) \
- OPT (bool, gFlag, false) \
- OPT (std::string, yytarget, "yytarget") \
- OPT (uint32_t, cGotoThreshold, 9) \
+ MUTOPT (bool, sFlag, false) \
+ MUTOPT (bool, bFlag, false) \
+ MUTOPT (std::string, yybm, "yybm") \
+ MUTOPT (bool, yybmHexTable, false) \
+ MUTOPT (bool, gFlag, false) \
+ MUTOPT (std::string, yytarget, "yytarget") \
+ MUTOPT (uint32_t, cGotoThreshold, 9) \
/* formatting */ \
- OPT (uint32_t, topIndent, 0) \
- OPT (std::string, indString, "\t") \
+ MUTOPT (uint32_t, topIndent, 0) \
+ MUTOPT (std::string, indString, "\t") \
/* input API */ \
- OPT (InputAPI, input_api, InputAPI ()) \
- OPT (std::string, yycursor, "YYCURSOR") \
- OPT (std::string, yymarker, "YYMARKER") \
- OPT (std::string, yyctxmarker, "YYCTXMARKER") \
- OPT (std::string, yylimit, "YYLIMIT") \
- OPT (std::string, yypeek, "YYPEEK") \
- OPT (std::string, yyskip, "YYSKIP") \
- OPT (std::string, yybackup, "YYBACKUP") \
- OPT (std::string, yybackupctx, "YYBACKUPCTX") \
- OPT (std::string, yyrestore, "YYRESTORE") \
- OPT (std::string, yyrestorectx, "YYRESTORECTX") \
- OPT (std::string, yylessthan, "YYLESSTHAN") \
+ MUTOPT (input_api_t, input_api, INPUT_DEFAULT) \
+ MUTOPT (std::string, yycursor, "YYCURSOR") \
+ MUTOPT (std::string, yymarker, "YYMARKER") \
+ MUTOPT (std::string, yyctxmarker, "YYCTXMARKER") \
+ MUTOPT (std::string, yylimit, "YYLIMIT") \
+ MUTOPT (std::string, yypeek, "YYPEEK") \
+ MUTOPT (std::string, yyskip, "YYSKIP") \
+ MUTOPT (std::string, yybackup, "YYBACKUP") \
+ MUTOPT (std::string, yybackupctx, "YYBACKUPCTX") \
+ MUTOPT (std::string, yyrestore, "YYRESTORE") \
+ MUTOPT (std::string, yyrestorectx, "YYRESTORECTX") \
+ MUTOPT (std::string, yyrestoretag, "YYRESTORETAG") \
+ MUTOPT (std::string, yylessthan, "YYLESSTHAN") \
+ MUTOPT (std::string, yystagn, "YYSTAGN") \
+ MUTOPT (std::string, yystagp, "YYSTAGP") \
+ MUTOPT (std::string, yymtagn, "YYMTAGN") \
+ MUTOPT (std::string, yymtagp, "YYMTAGP") \
/* #line directives */ \
- OPT (bool, iFlag, false) \
+ MUTOPT (bool, iFlag, false) \
/* debug */ \
- OPT (bool, dFlag, false) \
- OPT (std::string, yydebug, "YYDEBUG") \
+ MUTOPT (bool, dFlag, false) \
+ MUTOPT (std::string, yydebug, "YYDEBUG") \
/* yych */ \
- OPT (std::string, yyctype, "YYCTYPE") \
- OPT (std::string, yych, "yych") \
- OPT (bool, bEmitYYCh, true) \
- OPT (bool, yychConversion, false) \
+ MUTOPT (std::string, yyctype, "YYCTYPE") \
+ MUTOPT (std::string, yych, "yych") \
+ MUTOPT (bool, bEmitYYCh, true) \
+ MUTOPT (bool, yychConversion, false) \
/* YYFILL */ \
- OPT (std::string, fill, "YYFILL") \
- OPT (bool, fill_use, true) \
- OPT (bool, fill_check, true) \
- OPT (std::string, fill_arg, "@@") \
- OPT (bool, fill_arg_use, true) \
- OPT (bool, fill_naked, false) \
+ MUTOPT (std::string, fill, "YYFILL") \
+ MUTOPT (bool, fill_use, true) \
+ MUTOPT (bool, fill_check, true) \
+ MUTOPT (std::string, fill_arg, "@@") \
+ MUTOPT (bool, fill_arg_use, true) \
+ MUTOPT (bool, fill_naked, false) \
/* labels */ \
- OPT (std::string, labelPrefix, "yy") \
+ MUTOPT (std::string, labelPrefix, "yy") \
+ MUTOPT (std::string, startlabel, "") \
+ MUTOPT (bool, startlabel_force, false) \
/* internals */ \
- OPT (dfa_minimization_t, dfa_minimization, DFA_MINIMIZATION_MOORE)
+ MUTOPT (dfa_minimization_t, dfa_minimization, DFA_MINIMIZATION_MOORE) \
+ MUTOPT (bool, lookahead, true) \
+ MUTOPT (bool, eager_skip, false)
-struct opt_t
+struct conopt_t
{
- enum target_t
- {
- CODE,
- DOT,
- SKELETON
- };
-
-#define OPT1 OPT
-#define OPT(type, name, value) type name;
- RE2C_OPTS
-#undef OPT1
-#undef OPT
-
- opt_t ();
- opt_t (const opt_t & opt);
- opt_t & operator = (const opt_t & opt);
- void fix ();
+# define CONSTOPT1 CONSTOPT
+# define CONSTOPT(type, name, value) type name;
+ RE2C_CONSTOPTS
+# undef CONSTOPT1
+# undef CONSTOPT
+
+ conopt_t()
+# define CONSTOPT1(type, name, value) : name(value)
+# define CONSTOPT(type, name, value) , name(value)
+ RE2C_CONSTOPTS
+# undef CONSTOPT1
+# undef CONSTOPT
+ {}
+ void fix();
+ FORBID_COPY(conopt_t);
};
-class useropt_t;
-class realopt_t
+struct mutopt_t
{
- opt_t real;
- useropt_t & user;
-public:
- realopt_t (useropt_t & opt);
- const opt_t * operator -> ();
- void sync ();
+# define MUTOPT1 MUTOPT
+# define MUTOPT(type, name, value) type name;
+ RE2C_MUTOPTS
+# undef MUTOPT1
+# undef MUTOPT
+
+ mutopt_t()
+# define MUTOPT1(type, name, value) : name(value)
+# define MUTOPT(type, name, value) , name(value)
+ RE2C_MUTOPTS
+# undef MUTOPT1
+# undef MUTOPT
+ {}
+ void fix(const conopt_t *globopts);
+ FORBID_COPY(mutopt_t);
};
-class useropt_t
+struct opt_t
{
- opt_t opt;
- bool diverge;
-public:
- useropt_t ();
- opt_t * operator -> ();
- friend void realopt_t::sync ();
+# define CONSTOPT1 CONSTOPT
+# define CONSTOPT(type, name, value) type name;
+ RE2C_CONSTOPTS
+# undef CONSTOPT1
+# undef CONSTOPT
+
+# define MUTOPT1 MUTOPT
+# define MUTOPT(type, name, value) type name;
+ RE2C_MUTOPTS
+# undef MUTOPT1
+# undef MUTOPT
+
+ opt_t(const conopt_t &con, const mutopt_t &mut)
+# define CONSTOPT1(type, name, value) : name(con.name)
+# define CONSTOPT(type, name, value) , name(con.name)
+ RE2C_CONSTOPTS
+# undef CONSTOPT1
+# undef CONSTOPT
+# define MUTOPT1 MUTOPT
+# define MUTOPT(type, name, value) , name(mut.name)
+ RE2C_MUTOPTS
+# undef MUTOPT1
+# undef MUTOPT
+ {}
+ FORBID_COPY(opt_t);
};
+// see note [constant and mutable options]
struct Opt
{
- static const opt_t baseopt;
+ static const mutopt_t baseopt;
- const char * source_file;
- const char * output_file;
+ const char *source_file;
+ const conopt_t &glob;
private:
- useropt_t useropt;
- realopt_t realopt;
+ mutopt_t user;
+ mutopt_t real;
+ bool diverge;
+
+ void sync()
+ {
+ if (!diverge) return;
+# define MUTOPT1 MUTOPT
+# define MUTOPT(type, name, value) real.name = user.name;
+ RE2C_MUTOPTS
+# undef MUTOPT1
+# undef MUTOPT
+ real.fix(&glob);
+ diverge = false;
+ }
public:
- Opt ()
- : source_file (NULL)
- , output_file (NULL)
- , useropt ()
- , realopt (useropt)
+ explicit Opt(const conopt_t &globopts)
+ : source_file(NULL)
+ , glob(globopts)
+ , user()
+ , real()
+ , diverge(true)
{}
- // read-only access, forces options syncronization
- const opt_t * operator -> ()
+ const opt_t *snapshot()
{
- return realopt.operator -> ();
+ sync();
+ return new opt_t(glob, real);
}
- bool source (const char * s);
- bool output (const char * s);
-
- // Inplace configurations are applied immediately when parsed.
- // This is very bad: first, re2c behaviour is changed in the middle
- // of the block; second, config is resynced too often (every
- // attempt to read config that has been updated results in
- // automatic resync). It is much better to set all options at once.
- 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 ()
+ void restore(const opt_t *opts)
{
- return realopt->yychConversion
- ? "(" + realopt->yyctype + ")"
- : "";
+# define MUTOPT1 MUTOPT
+# define MUTOPT(type, name, value) user.name = opts->name;
+ RE2C_MUTOPTS
+# undef MUTOPT1
+# undef MUTOPT
+ diverge = true;
+ sync();
}
+ bool source (const char *s);
+
+ // RE2C allows to set configurations anywhere inside of a block
+ // (in the beginning, intermixed with rules, in the end): they will
+ // affect the whole block anyway. Thus one is not allowed to read
+ // configurations until the whole block has been parsed. Immutable
+ // options, on the contrary, are accessible for reading all the time
+ // (the parser itself depends on them).
+ void set_encoding(Enc::type_t t) { user.encoding.set(t); }
+ void unset_encoding(Enc::type_t t) { user.encoding.unset(t); }
+ void set_encoding_policy(Enc::policy_t p) { user.encoding.setPolicy(p); }
+#define MUTOPT1 MUTOPT
+#define MUTOPT(type, name, value) void set_##name (const type &arg) { user.name = arg; diverge = true; }
+ RE2C_MUTOPTS
+#undef MUTOPT1
+#undef MUTOPT
+
// bad temporary hacks, should be fixed by proper scoping of config (parts).
- void reset_encoding (const Enc & enc);
+ void reset_startlabel();
void reset_mapCodeName ();
FORBID_COPY (Opt);
@@ -211,7 +299,7 @@ enum parse_opts_t
EXIT_FAIL
};
-parse_opts_t parse_opts (char ** argv, Opt & opts);
+parse_opts_t parse_opts(char **argv, conopt_t &globopts, Opt &opts, Warn &warn);
} // namespace re2c
diff --git a/src/conf/parse_opts.re b/src/conf/parse_opts.re
index 5ff3a217..793db75b 100644
--- a/src/conf/parse_opts.re
+++ b/src/conf/parse_opts.re
@@ -1,10 +1,8 @@
-#include "src/codegen/input_api.h"
+#include "src/code/input_api.h"
#include "src/conf/msg.h"
#include "src/conf/opt.h"
-#include "src/conf/warn.h"
-#include "src/globals.h"
-#include "src/ir/regexp/empty_class_policy.h"
-#include "src/ir/regexp/encoding/enc.h"
+#include "src/re/empty_class_policy.h"
+#include "src/re/encoding/enc.h"
namespace re2c
{
@@ -15,7 +13,7 @@ static inline bool next (char * & arg, char ** & argv)
return arg != NULL;
}
-parse_opts_t parse_opts (char ** argv, Opt & opts)
+parse_opts_t parse_opts(char **argv, conopt_t &globopts, Opt &opts, Warn &warn)
{
#define YYCTYPE unsigned char
char * YYCURSOR;
@@ -78,13 +76,14 @@ opt_warn:
error ("bad warning: %s", *argv);
return EXIT_FAIL;
}
- "condition-order" end { warn.set (Warn::CONDITION_ORDER, option); goto opt; }
- "empty-character-class" end { warn.set (Warn::EMPTY_CHARACTER_CLASS, option); goto opt; }
- "match-empty-string" end { warn.set (Warn::MATCH_EMPTY_STRING, option); goto opt; }
- "swapped-range" end { warn.set (Warn::SWAPPED_RANGE, option); goto opt; }
- "undefined-control-flow" end { warn.set (Warn::UNDEFINED_CONTROL_FLOW, option); goto opt; }
- "unreachable-rules" end { warn.set (Warn::UNREACHABLE_RULES, option); goto opt; }
- "useless-escape" end { warn.set (Warn::USELESS_ESCAPE, option); goto opt; }
+ "condition-order" end { warn.set (Warn::CONDITION_ORDER, option); goto opt; }
+ "empty-character-class" end { warn.set (Warn::EMPTY_CHARACTER_CLASS, option); goto opt; }
+ "match-empty-string" end { warn.set (Warn::MATCH_EMPTY_STRING, option); goto opt; }
+ "nondeterministic-tags" end { warn.set (Warn::NONDETERMINISTIC_TAGS, option); goto opt; }
+ "swapped-range" end { warn.set (Warn::SWAPPED_RANGE, option); goto opt; }
+ "undefined-control-flow" end { warn.set (Warn::UNDEFINED_CONTROL_FLOW, option); goto opt; }
+ "unreachable-rules" end { warn.set (Warn::UNREACHABLE_RULES, option); goto opt; }
+ "useless-escape" end { warn.set (Warn::USELESS_ESCAPE, option); goto opt; }
*/
opt_short:
@@ -98,22 +97,26 @@ opt_short:
[?h] { usage (); return EXIT_OK; }
"v" { version (); return EXIT_OK; }
"V" { vernum (); return EXIT_OK; }
- "b" { opts.set_bFlag (true); goto opt_short; }
- "c" { opts.set_cFlag (true); goto opt_short; }
- "d" { opts.set_dFlag (true); goto opt_short; }
- "D" { opts.set_target (opt_t::DOT); goto opt_short; }
- "f" { opts.set_fFlag (true); goto opt_short; }
- "F" { opts.set_FFlag (true); goto opt_short; }
- "g" { opts.set_gFlag (true); goto opt_short; }
- "i" { opts.set_iFlag (true); goto opt_short; }
- "r" { opts.set_rFlag (true); goto opt_short; }
- "s" { opts.set_sFlag (true); goto opt_short; }
- "S" { opts.set_target (opt_t::SKELETON); goto opt_short; }
- "e" { if (!opts.set_encoding (Enc::EBCDIC)) { error_encoding (); return EXIT_FAIL; } goto opt_short; }
- "u" { if (!opts.set_encoding (Enc::UTF32)) { error_encoding (); return EXIT_FAIL; } goto opt_short; }
- "w" { if (!opts.set_encoding (Enc::UCS2)) { error_encoding (); return EXIT_FAIL; } goto opt_short; }
- "x" { if (!opts.set_encoding (Enc::UTF16)) { error_encoding (); return EXIT_FAIL; } goto opt_short; }
- "8" { if (!opts.set_encoding (Enc::UTF8)) { error_encoding (); return EXIT_FAIL; } goto opt_short; }
+
+ "c" { globopts.cFlag = true; goto opt_short; }
+ "D" { globopts.target = TARGET_DOT; goto opt_short; }
+ "f" { globopts.fFlag = true; goto opt_short; }
+ "F" { globopts.FFlag = true; goto opt_short; }
+ "r" { globopts.rFlag = true; goto opt_short; }
+ "S" { globopts.target = TARGET_SKELETON; goto opt_short; }
+
+ "b" { opts.set_bFlag(true); goto opt_short; }
+ "d" { opts.set_dFlag(true); goto opt_short; }
+ "g" { opts.set_gFlag(true); goto opt_short; }
+ "i" { opts.set_iFlag(true); goto opt_short; }
+ "s" { opts.set_sFlag(true); goto opt_short; }
+ "T" { opts.set_tags(true); goto opt_short; }
+ "P" { opts.set_posix_captures(true); goto opt_short; }
+ "e" { opts.set_encoding(Enc::EBCDIC); goto opt_short; }
+ "u" { opts.set_encoding(Enc::UTF32); goto opt_short; }
+ "w" { opts.set_encoding(Enc::UCS2); goto opt_short; }
+ "x" { opts.set_encoding(Enc::UTF16); goto opt_short; }
+ "8" { opts.set_encoding(Enc::UTF8); goto opt_short; }
"o" end { if (!next (YYCURSOR, argv)) { error_arg ("-o, --output"); return EXIT_FAIL; } goto opt_output; }
"o" { *argv = YYCURSOR; goto opt_output; }
"t" end { if (!next (YYCURSOR, argv)) { error_arg ("-t, --type-header"); return EXIT_FAIL; } goto opt_header; }
@@ -128,36 +131,50 @@ opt_long:
error ("bad long option: %s", *argv);
return EXIT_FAIL;
}
- "help" end { usage (); return EXIT_OK; }
- "version" end { version (); return EXIT_OK; }
- "vernum" end { vernum (); return EXIT_OK; }
- "bit-vectors" end { opts.set_bFlag (true); goto opt; }
- "start-conditions" end { opts.set_cFlag (true); goto opt; }
- "debug-output" end { opts.set_dFlag (true); goto opt; }
- "emit-dot" end { opts.set_target (opt_t::DOT); goto opt; }
- "storable-state" end { opts.set_fFlag (true); goto opt; }
- "flex-syntax" end { opts.set_FFlag (true); goto opt; }
- "computed-gotos" end { opts.set_gFlag (true); goto opt; }
- "no-debug-info" end { opts.set_iFlag (true); goto opt; }
- "reusable" end { opts.set_rFlag (true); goto opt; }
- "nested-ifs" end { opts.set_sFlag (true); goto opt; }
- "no-generation-date" end { opts.set_bNoGenerationDate (true); goto opt; }
- "no-version" end { opts.set_version (false); goto opt; }
- "case-insensitive" end { opts.set_bCaseInsensitive (true); goto opt; }
- "case-inverted" end { opts.set_bCaseInverted (true); goto opt; }
- "skeleton" end { opts.set_target (opt_t::SKELETON); goto opt; }
- "ecb" end { if (!opts.set_encoding (Enc::EBCDIC)) { error_encoding (); return EXIT_FAIL; } goto opt; }
- "unicode" end { if (!opts.set_encoding (Enc::UTF32)) { error_encoding (); return EXIT_FAIL; } goto opt; }
- "wide-chars" end { if (!opts.set_encoding (Enc::UCS2)) { error_encoding (); return EXIT_FAIL; } goto opt; }
- "utf-16" end { if (!opts.set_encoding (Enc::UTF16)) { error_encoding (); return EXIT_FAIL; } goto opt; }
- "utf-8" end { if (!opts.set_encoding (Enc::UTF8)) { error_encoding (); return EXIT_FAIL; } goto opt; }
- "output" end { if (!next (YYCURSOR, argv)) { error_arg ("-o, --output"); return EXIT_FAIL; } goto opt_output; }
- "type-header" end { if (!next (YYCURSOR, argv)) { error_arg ("-t, --type-header"); return EXIT_FAIL; } goto opt_header; }
- "encoding-policy" end { goto opt_encoding_policy; }
- "input" end { goto opt_input; }
- "empty-class" end { goto opt_empty_class; }
- "dfa-minimization" end { goto opt_dfa_minimization; }
- "single-pass" end { goto opt; } // deprecated
+ "help" end { usage (); return EXIT_OK; }
+ "version" end { version (); return EXIT_OK; }
+ "vernum" end { vernum (); return EXIT_OK; }
+
+ "start-conditions" end { globopts.cFlag = true; goto opt; }
+ "emit-dot" end { globopts.target = TARGET_DOT; goto opt; }
+ "storable-state" end { globopts.fFlag = true; goto opt; }
+ "flex-syntax" end { globopts.FFlag = true; goto opt; }
+ "reusable" end { globopts.rFlag = true; goto opt; }
+ "no-generation-date" end { globopts.bNoGenerationDate = true; goto opt; }
+ "no-version" end { globopts.version = false; goto opt; }
+ "skeleton" end { globopts.target = TARGET_SKELETON; goto opt; }
+
+ "bit-vectors" end { opts.set_bFlag (true); goto opt; }
+ "debug-output" end { opts.set_dFlag (true); goto opt; }
+ "computed-gotos" end { opts.set_gFlag (true); goto opt; }
+ "no-debug-info" end { opts.set_iFlag (true); goto opt; }
+ "nested-ifs" end { opts.set_sFlag (true); goto opt; }
+ "case-insensitive" end { opts.set_bCaseInsensitive (true); goto opt; }
+ "case-inverted" end { opts.set_bCaseInverted (true); goto opt; }
+ "tags" end { opts.set_tags (true); goto opt; }
+ "posix-captures" end { opts.set_posix_captures(true); goto opt; }
+ "no-lookahead" end { opts.set_lookahead(false); goto opt; }
+ "no-optimize-tags" end { opts.set_optimize_tags(false); goto opt; }
+ "eager-skip" end { opts.set_eager_skip(true); goto opt; }
+ "ecb" end { opts.set_encoding(Enc::EBCDIC); goto opt; }
+ "unicode" end { opts.set_encoding(Enc::UTF32); goto opt; }
+ "wide-chars" end { opts.set_encoding(Enc::UCS2); goto opt; }
+ "utf-16" end { opts.set_encoding(Enc::UTF16); goto opt; }
+ "utf-8" end { opts.set_encoding(Enc::UTF8); goto opt; }
+ "output" end { if (!next (YYCURSOR, argv)) { error_arg ("-o, --output"); return EXIT_FAIL; } goto opt_output; }
+ "type-header" end { if (!next (YYCURSOR, argv)) { error_arg ("-t, --type-header"); return EXIT_FAIL; } goto opt_header; }
+ "encoding-policy" end { goto opt_encoding_policy; }
+ "input" end { goto opt_input; }
+ "empty-class" end { goto opt_empty_class; }
+ "dfa-minimization" end { goto opt_dfa_minimization; }
+ "single-pass" end { goto opt; } // deprecated
+
+ "dump-nfa" end { globopts.dump_nfa = true; goto opt; }
+ "dump-dfa-raw" end { globopts.dump_dfa_raw = true; goto opt; }
+ "dump-dfa-det" end { globopts.dump_dfa_det = true; goto opt; }
+ "dump-dfa-tagopt" end { globopts.dump_dfa_tagopt = true; goto opt; }
+ "dump-dfa-min" end { globopts.dump_dfa_min = true; goto opt; }
+ "dump-adfa" end { globopts.dump_adfa = true; goto opt; }
*/
opt_output:
@@ -167,7 +184,7 @@ opt_output:
error ("bad argument to option -o, --output: %s", *argv);
return EXIT_FAIL;
}
- filename end { if (!opts.output (*argv)) return EXIT_FAIL; goto opt; }
+ filename end { globopts.output_file = *argv; goto opt; }
*/
opt_header:
@@ -177,7 +194,7 @@ opt_header:
error ("bad argument to option -t, --type-header: %s", *argv);
return EXIT_FAIL;
}
- filename end { opts.set_header_file (*argv); goto opt; }
+ filename end { globopts.header_file = *argv; goto opt; }
*/
opt_encoding_policy:
@@ -209,8 +226,8 @@ opt_input:
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:
@@ -252,6 +269,7 @@ end:
error ("no source file");
return EXIT_FAIL;
}
+ globopts.fix();
return OK;
diff --git a/src/conf/warn.cc b/src/conf/warn.cc
index e309f26d..2bf406b1 100644
--- a/src/conf/warn.cc
+++ b/src/conf/warn.cc
@@ -1,15 +1,16 @@
#include <stddef.h>
#include <stdio.h>
#include <algorithm>
-#include <utility>
+#include <set>
#include "src/conf/msg.h"
#include "src/conf/warn.h"
+#include "src/skeleton/path.h"
+#include "src/re/rule.h"
+#include "src/skeleton/skeleton.h"
namespace re2c {
-Warn warn;
-
const uint32_t Warn::SILENT = 0;
const uint32_t Warn::WARNING = 1u << 0;
const uint32_t Warn::ERROR = 1u << 1;
@@ -74,7 +75,7 @@ void Warn::set_all_error ()
}
}
-void Warn::fail (type_t t, uint32_t line, const char * s)
+void Warn::fail (type_t t, uint32_t line, const char * s) const
{
if (mask[t] & WARNING)
{
@@ -106,13 +107,35 @@ void Warn::empty_class (uint32_t line)
}
}
-void Warn::match_empty_string (uint32_t line)
+void Warn::match_empty_string (uint32_t line, const std::string &cond)
{
if (mask[MATCH_EMPTY_STRING] & WARNING)
{
const bool e = mask[MATCH_EMPTY_STRING] & ERROR;
error_accuml |= e;
- warning (names[MATCH_EMPTY_STRING], line, e, "rule matches empty string");
+ warning (names[MATCH_EMPTY_STRING], line, e,
+ "rule %smatches empty string", incond(cond).c_str());
+ }
+}
+
+void Warn::nondeterministic_tags(uint32_t line, const std::string &cond,
+ const std::string *tagname, size_t nver)
+{
+ if (mask[NONDETERMINISTIC_TAGS] & WARNING) {
+ bool e = mask[NONDETERMINISTIC_TAGS] & ERROR;
+ error_accuml |= e;
+
+ warning_start(line, e);
+ if (tagname == NULL) {
+ fprintf(stderr, "trailing context");
+ } else {
+ fprintf(stderr, "tag '%s'", tagname->c_str());
+ }
+ fprintf(stderr,
+ " %shas %u%s degree of nondeterminism",
+ incond(cond).c_str(), static_cast<uint32_t>(nver),
+ nver == 2 ? "nd" : nver == 3 ? "rd" : "th");
+ warning_end(names[NONDETERMINISTIC_TAGS], e);
}
}
@@ -126,7 +149,7 @@ void Warn::swapped_range (uint32_t line, uint32_t l, uint32_t u)
}
}
-void Warn::undefined_control_flow (uint32_t line, const std::string & cond, std::vector<way_t> & ways, bool overflow)
+void Warn::undefined_control_flow (const Skeleton &skel, std::vector<path_t> & paths, bool overflow)
{
if (mask[UNDEFINED_CONTROL_FLOW] & WARNING)
{
@@ -134,21 +157,21 @@ void Warn::undefined_control_flow (uint32_t line, const std::string & cond, std:
error_accuml |= e;
// report shorter patterns first
- std::sort (ways.begin (), ways.end (), cmp_ways);
+ std::sort (paths.begin (), paths.end ());
- warning_start (line, e);
- fprintf (stderr, "control flow %sis undefined for strings that match ", incond (cond).c_str ());
- const size_t count = ways.size ();
+ warning_start (skel.line, e);
+ fprintf (stderr, "control flow %sis undefined for strings that match ", incond (skel.cond).c_str ());
+ const size_t count = paths.size ();
if (count == 1)
{
- fprint_way (stderr, ways[0]);
+ fprint_default_path (stderr, skel, paths[0]);
}
else
{
for (size_t i = 0; i < count; ++i)
{
fprintf (stderr, "\n\t");
- fprint_way (stderr, ways[i]);
+ fprint_default_path (stderr, skel, paths[i]);
}
fprintf (stderr, "\n");
}
@@ -161,29 +184,27 @@ void Warn::undefined_control_flow (uint32_t line, const std::string & cond, std:
}
}
-void Warn::unreachable_rule (const std::string & cond, const rule_info_t & rule, const rules_t & rules)
+void Warn::unreachable_rule(const std::string &cond, const Rule &rule)
{
- if (mask[UNREACHABLE_RULES] & WARNING)
- {
+ if (mask[UNREACHABLE_RULES] & WARNING) {
const bool e = mask[UNREACHABLE_RULES] & ERROR;
error_accuml |= e;
- warning_start (rule.line, e);
- fprintf (stderr, "unreachable rule %s", incond (cond).c_str ());
- const size_t shadows = rule.shadow.size ();
- if (shadows > 0)
- {
+
+ warning_start(rule.code->fline, e);
+ fprintf(stderr, "unreachable rule %s", incond(cond).c_str());
+ const size_t shadows = rule.shadow.size();
+ if (shadows > 0) {
const char * pl = shadows > 1
? "s"
: "";
- std::set<rule_rank_t>::const_iterator i = rule.shadow.begin ();
- fprintf (stderr, "(shadowed by rule%s at line%s %u", pl, pl, rules.find (*i)->second.line);
- for (++i; i != rule.shadow.end (); ++i)
- {
- fprintf (stderr, ", %u", rules.find (*i)->second.line);
+ std::set<uint32_t>::const_iterator i = rule.shadow.begin();
+ fprintf (stderr, "(shadowed by rule%s at line%s %u", pl, pl, *i);
+ for (++i; i != rule.shadow.end(); ++i) {
+ fprintf(stderr, ", %u", *i);
}
- fprintf (stderr, ")");
+ fprintf(stderr, ")");
}
- warning_end (names[UNREACHABLE_RULES], e);
+ warning_end(names[UNREACHABLE_RULES], e);
}
}
diff --git a/src/conf/warn.h b/src/conf/warn.h
index fb313b01..c89cfbb2 100644
--- a/src/conf/warn.h
+++ b/src/conf/warn.h
@@ -1,23 +1,28 @@
#ifndef _RE2C_CONF_WARN_
#define _RE2C_CONF_WARN_
+#include <stddef.h>
#include "src/util/c99_stdint.h"
#include <string>
#include <vector>
-#include "src/ir/skeleton/way.h"
-#include "src/parse/rules.h"
+#include "src/re/rule.h"
namespace re2c {
+class path_t;
+struct Rule;
+struct Skeleton;
+
#define RE2C_WARNING_TYPES \
- W (CONDITION_ORDER, "condition-order"), \
- W (EMPTY_CHARACTER_CLASS, "empty-character-class"), \
- W (MATCH_EMPTY_STRING, "match-empty-string"), \
- W (SWAPPED_RANGE, "swapped-range"), \
- W (UNDEFINED_CONTROL_FLOW, "undefined-control-flow"), \
- W (UNREACHABLE_RULES, "unreachable-rules"), \
- W (USELESS_ESCAPE, "useless-escape"),
+ W (CONDITION_ORDER, "condition-order"), \
+ W (EMPTY_CHARACTER_CLASS, "empty-character-class"), \
+ W (MATCH_EMPTY_STRING, "match-empty-string"), \
+ W (NONDETERMINISTIC_TAGS, "nondeterministic-tags"), \
+ W (SWAPPED_RANGE, "swapped-range"), \
+ W (UNDEFINED_CONTROL_FLOW, "undefined-control-flow"), \
+ W (UNREACHABLE_RULES, "unreachable-rules"), \
+ W (USELESS_ESCAPE, "useless-escape"),
class Warn
{
@@ -51,14 +56,15 @@ public:
void set (type_t t, option_t o);
void set_all ();
void set_all_error ();
- void fail (type_t t, uint32_t line, const char * s);
+ void fail (type_t t, uint32_t line, const char * s) const;
void condition_order (uint32_t line);
void empty_class (uint32_t line);
- void match_empty_string (uint32_t line);
+ void match_empty_string (uint32_t line, const std::string &cond);
+ void nondeterministic_tags(uint32_t line, const std::string &cond, const std::string *tagname, size_t nver);
void swapped_range (uint32_t line, uint32_t l, uint32_t u);
- void undefined_control_flow (uint32_t line, const std::string & cond, std::vector<way_t> & ways, bool overflow);
- void unreachable_rule (const std::string & cond, const rule_info_t & rule, const rules_t & rules);
+ void undefined_control_flow (const Skeleton &skel, std::vector<path_t> & paths, bool overflow);
+ void unreachable_rule (const std::string & cond, const Rule &rule);
void useless_escape (uint32_t line, uint32_t col, char c);
};
diff --git a/src/dfa/cfg/cfg.cc b/src/dfa/cfg/cfg.cc
new file mode 100644
index 00000000..00acf968
--- /dev/null
+++ b/src/dfa/cfg/cfg.cc
@@ -0,0 +1,205 @@
+#include <string.h>
+#include <algorithm>
+#include <new>
+#include <valarray>
+#include <vector>
+
+#include "src/dfa/cfg/cfg.h"
+#include "src/dfa/dfa.h"
+#include "src/util/allocate.h"
+
+namespace re2c
+{
+
+struct Rule;
+struct tcmd_t;
+
+static void map_arcs_to_bblocks(const dfa_t &dfa, cfg_ix_t *arc2bb, cfg_ix_t &nbbarc, cfg_ix_t &nbbfin, cfg_ix_t &nbbfall);
+static cfg_bb_t *create_bblocks(dfa_t &dfa, const cfg_ix_t *arc2bb, cfg_ix_t nbbfin, cfg_ix_t nbbfall);
+static void successors(const dfa_t &dfa, const cfg_ix_t *arc2bb, bool *been, cfg_ix_t *&succ, size_t x);
+static void fallback(const dfa_t &dfa, const cfg_ix_t *arc2bb, bool *been, cfg_ix_t *&succ, size_t x);
+
+cfg_t::cfg_t(dfa_t &a)
+ : dfa(a)
+ , bblocks(NULL)
+ , nbbarc(0)
+ , nbbfin(0)
+ , nbbfall(0)
+{
+ const size_t
+ nstate = dfa.states.size(),
+ nsym = dfa.nchars;
+ cfg_ix_t *arc2bb = new cfg_ix_t[nstate * (nsym + 2)];
+
+ map_arcs_to_bblocks(dfa, arc2bb, nbbarc, nbbfin, nbbfall);
+ bblocks = create_bblocks(dfa, arc2bb, nbbfin, nbbfall);
+
+ delete[] arc2bb;
+}
+
+void map_arcs_to_bblocks(const dfa_t &dfa, cfg_ix_t *arc2bb,
+ cfg_ix_t &nbbarc, cfg_ix_t &nbbfin, cfg_ix_t &nbbfall)
+{
+ const size_t
+ nstate = dfa.states.size(),
+ nsym = dfa.nchars;
+
+ // root bblock for initial tagged epsilon-transition
+ cfg_ix_t nbb = 1;
+
+ // bblocks for tagged transitions
+ for (size_t i = 0; i < nstate; ++i) {
+ tcmd_t **c = dfa.states[i]->tcmd, **f = c + nsym;
+ for (; c < f; ++c) {
+ *arc2bb++ = *c == NULL ? 0 : nbb++;
+ }
+ }
+ nbbarc = nbb;
+
+ // bblock for final tagged epsilon-transition
+ for (size_t i = 0; i < nstate; ++i) {
+ tcmd_t *f = dfa.states[i]->tcmd[nsym];
+ *arc2bb++ = f == NULL ? 0 : nbb++;
+ }
+ nbbfin = nbb;
+
+ // bblock for fallback tagged epsilon-transition
+ for (size_t i = 0; i < nstate; ++i) {
+ const dfa_state_t *s = dfa.states[i];
+ // (check final tags: fallback tags may be empty)
+ *arc2bb++ = s->fallback && s->tcmd[nsym] ? nbb++ : 0;
+ }
+ nbbfall = nbb;
+}
+
+cfg_bb_t *create_bblocks(dfa_t &dfa, const cfg_ix_t *arc2bb,
+ cfg_ix_t nbbfin, cfg_ix_t nbbfall)
+{
+ const size_t
+ nstate = dfa.states.size(),
+ nsym = dfa.nchars;
+ const cfg_ix_t *a2b = arc2bb;
+ cfg_ix_t *succb = new cfg_ix_t[nbbfin], *succe;
+ bool *been = new bool[nstate];
+
+ cfg_bb_t *bblocks = allocate<cfg_bb_t>(nbbfall), *b = bblocks;
+
+ // root bblock
+ std::fill(been, been + nstate, false);
+ successors(dfa, arc2bb, been, succe = succb, 0);
+ new(b++) cfg_bb_t(succb, succe, dfa.tcmd0, NULL);
+
+ // transition bblocks
+ for (size_t i = 0; i < nstate; ++i) {
+ const dfa_state_t *s = dfa.states[i];
+ for (size_t c = 0; c < nsym; ++c) {
+ if (*a2b++ != 0) {
+ std::fill(been, been + nstate, false);
+ successors(dfa, arc2bb, been, succe = succb, s->arcs[c]);
+ new(b++) cfg_bb_t(succb, succe, s->tcmd[c], NULL);
+ }
+ }
+ }
+
+ // final bblocks
+ for (size_t i = 0; i < nstate; ++i) {
+ if (*a2b++ != 0) {
+ const dfa_state_t *s = dfa.states[i];
+ new(b++) cfg_bb_t(NULL, NULL, s->tcmd[nsym], &dfa.rules[s->rule]);
+ }
+ }
+
+ // fallback bblocks
+ for (size_t i = 0; i < nstate; ++i) {
+ if (*a2b++ != 0) {
+ const dfa_state_t *s = dfa.states[i];
+ std::fill(been, been + nstate, false);
+ fallback(dfa, arc2bb, been, succe = succb, i);
+ new(b++) cfg_bb_t(succb, succe, s->tcmd[nsym + 1], &dfa.rules[s->rule]);
+ }
+ }
+
+ delete[] succb;
+ delete[] been;
+ return bblocks;
+}
+
+cfg_bb_t::cfg_bb_t(const cfg_ix_t *sb, const cfg_ix_t *se,
+ tcmd_t *&c, const Rule *r)
+ : succb(NULL)
+ , succe(NULL)
+ , cmd(c)
+ , rule(r)
+{
+ const size_t n = static_cast<size_t>(se - sb);
+ succb = new cfg_ix_t[n];
+ if (n > 0) memcpy(succb, sb, n * sizeof(cfg_ix_t));
+ succe = succb + n;
+}
+
+// find immediate successors of the given bblock
+void successors(const dfa_t &dfa, const cfg_ix_t *arc2bb, bool *been,
+ cfg_ix_t *&succ, size_t x)
+{
+ if (x == dfa_t::NIL || been[x]) return;
+ been[x] = true;
+
+ const size_t
+ nstate = dfa.states.size(),
+ nsym = dfa.nchars,
+ *a = dfa.states[x]->arcs;
+ const cfg_ix_t *a2b = &arc2bb[x * nsym];
+
+ for (size_t c = 0; c < nsym; ++c) {
+ const cfg_ix_t b = a2b[c];
+ if (b != 0) {
+ *succ++ = b;
+ } else {
+ successors(dfa, arc2bb, been, succ, a[c]);
+ }
+ }
+
+ const cfg_ix_t f = arc2bb[nstate * nsym + x];
+ if (f != 0) {
+ *succ++ = f;
+ }
+}
+
+// find all bblocks reachable from this one by following
+// non-accepting DFA paths: this is the set of bblocks affected
+// by liveness of fallback tags
+void fallback(const dfa_t &dfa, const cfg_ix_t *arc2bb, bool *been,
+ cfg_ix_t *&succ, size_t x)
+{
+ if (x == dfa_t::NIL || been[x]) return;
+ been[x] = true;
+
+ const size_t
+ nsym = dfa.nchars,
+ *a = dfa.states[x]->arcs;
+ const cfg_ix_t *a2b = &arc2bb[x * nsym];
+
+ for (size_t c = 0; c < nsym; ++c) {
+ const size_t y = a[c];
+ if (y != dfa_t::NIL && dfa.states[y]->fallthru) {
+ const cfg_ix_t b = a2b[c];
+ if (b != 0) {
+ *succ++ = b;
+ }
+ fallback(dfa, arc2bb, been, succ, y);
+ }
+ }
+}
+
+cfg_t::~cfg_t()
+{
+ cfg_bb_t *b = bblocks, *e = b + nbbfall;
+ for (; b < e; ++b) {
+ delete[] b->succb;
+ }
+
+ operator delete(bblocks);
+}
+
+} // namespace re2c
+
diff --git a/src/dfa/cfg/cfg.h b/src/dfa/cfg/cfg.h
new file mode 100644
index 00000000..ccb54fd9
--- /dev/null
+++ b/src/dfa/cfg/cfg.h
@@ -0,0 +1,57 @@
+#ifndef _RE2C_DFA_CFG_CFG_
+#define _RE2C_DFA_CFG_CFG_
+
+#include "src/util/c99_stdint.h"
+
+#include "src/dfa/dfa.h"
+#include "src/re/tag.h"
+#include "src/util/forbid_copy.h"
+
+namespace re2c {
+
+struct Rule;
+struct dfa_t;
+struct tcmd_t;
+
+typedef uint32_t cfg_ix_t;
+
+// basic block
+struct cfg_bb_t
+{
+ cfg_ix_t *succb;
+ cfg_ix_t *succe;
+ tcmd_t *&cmd;
+ const Rule *rule;
+
+ cfg_bb_t(const cfg_ix_t *sb, const cfg_ix_t *se, tcmd_t *&c, const Rule *r);
+ FORBID_COPY(cfg_bb_t);
+};
+
+// control flow graph
+struct cfg_t
+{
+ dfa_t &dfa;
+ cfg_bb_t *bblocks;
+ cfg_ix_t nbbarc;
+ cfg_ix_t nbbfin;
+ cfg_ix_t nbbfall;
+
+ explicit cfg_t(dfa_t &a);
+ ~cfg_t();
+ static tagver_t compact(const cfg_t &cfg, tagver_t *ver2new);
+ static void liveness_analysis(const cfg_t &cfg, bool *live);
+ static void live_through_bblock(const tcmd_t *cmd, bool *live);
+ static void dead_code_elimination(cfg_t &cfg, const bool *live);
+ static void interference(const cfg_t &cfg, const bool *live, bool *interf);
+ static tagver_t variable_allocation(const cfg_t &cfg, const bool *interf, tagver_t *ver2new);
+ static void renaming(cfg_t &cfg, const tagver_t *ver2new, tagver_t maxver);
+ static void normalization(cfg_t &cfg);
+ FORBID_COPY(cfg_t);
+};
+
+void dump_cfg(const cfg_t &cfg, const bool *live);
+void dump_interf(const cfg_t &cfg, const bool *interf);
+
+} // namespace re2c
+
+#endif // _RE2C_DFA_CFG_CFG_
diff --git a/src/dfa/cfg/compact.cc b/src/dfa/cfg/compact.cc
new file mode 100644
index 00000000..e67e8e5e
--- /dev/null
+++ b/src/dfa/cfg/compact.cc
@@ -0,0 +1,48 @@
+#include <stddef.h>
+#include <algorithm>
+#include <vector>
+
+#include "src/dfa/cfg/cfg.h"
+#include "src/dfa/dfa.h"
+#include "src/dfa/tcmd.h"
+#include "src/re/tag.h"
+
+namespace re2c
+{
+
+tagver_t cfg_t::compact(const cfg_t &cfg, tagver_t *ver2new)
+{
+ const std::vector<Tag> &tags = cfg.dfa.tags;
+ const size_t
+ nver = static_cast<size_t>(cfg.dfa.maxtagver) + 1,
+ ntag = tags.size();
+ const tagver_t *fins = cfg.dfa.finvers;
+ bool *used = new bool[nver];
+
+ std::fill(used, used + nver, false);
+ for (size_t t = 0; t < ntag; ++t) {
+ const tagver_t f = fins[t];
+ used[f] = f != TAGVER_ZERO; // fixed tag or unreachable rule
+ }
+ for (size_t i = 0; i < cfg.nbbfall; ++i) {
+ const cfg_bb_t &b = cfg.bblocks[i];
+ for (const tcmd_t *p = b.cmd; p; p = p->next) {
+ const tagver_t r = p->rhs;
+ if (r != TAGVER_ZERO) {
+ used[r] = true;
+ }
+ used[p->lhs] = true;
+ }
+ }
+
+ tagver_t maxver = 0;
+ for (size_t v = 0; v < nver; ++v) {
+ ver2new[v] = used[v] ? ++maxver : TAGVER_ZERO;
+ }
+
+ delete[] used;
+ return maxver;
+}
+
+} // namespace re2c
+
diff --git a/src/dfa/cfg/dce.cc b/src/dfa/cfg/dce.cc
new file mode 100644
index 00000000..88b97efd
--- /dev/null
+++ b/src/dfa/cfg/dce.cc
@@ -0,0 +1,29 @@
+#include "src/dfa/cfg/cfg.h"
+#include "src/dfa/dfa.h"
+#include "src/dfa/tcmd.h"
+#include "src/re/tag.h"
+
+namespace re2c
+{
+
+void cfg_t::dead_code_elimination(cfg_t &cfg, const bool *live)
+{
+ const tagver_t nver = cfg.dfa.maxtagver + 1;
+ // final and fallback tags can't be dead by construction
+ cfg_bb_t *b = cfg.bblocks, *e = b + cfg.nbbarc;
+
+ // ignore possible local liveness inside of bblock:
+ // by construction we have no versions local to bblock
+ for (; b < e; ++b, live += nver) {
+ for (tcmd_t *p, **pp = &b->cmd; (p = *pp);) {
+ if (!live[p->lhs]) {
+ *pp = p->next;
+ } else {
+ pp = &p->next;
+ }
+ }
+ }
+}
+
+} // namespace re2c
+
diff --git a/src/dfa/cfg/dump.cc b/src/dfa/cfg/dump.cc
new file mode 100644
index 00000000..d3757c1f
--- /dev/null
+++ b/src/dfa/cfg/dump.cc
@@ -0,0 +1,85 @@
+#include <stdio.h>
+
+#include "src/dfa/cfg/cfg.h"
+#include "src/dfa/dfa.h"
+#include "src/dfa/tcmd.h"
+#include "src/re/rule.h"
+#include "src/re/tag.h"
+
+namespace re2c
+{
+
+void dump_cfg(const cfg_t &cfg, const bool *live)
+{
+ const tagver_t nver = cfg.dfa.maxtagver + 1;
+
+ fprintf(stderr, "digraph CFG {\n"
+ " rankdir=LR\n"
+ " node[shape=Mrecord fontname=Terminus height=0.2 width=0.2]\n"
+ " edge[arrowhead=vee fontname=Terminus]\n\n");
+
+ for (cfg_ix_t i = 0; i < cfg.nbbfall; ++i, live += nver) {
+ const cfg_bb_t *b = cfg.bblocks + i;
+
+ fprintf(stderr, " n%u [label=\"%u\\n", i, i);
+ for (const tcmd_t *p = b->cmd; p; p = p->next) {
+ const tagver_t l = p->lhs, r = p->rhs, *h = p->history;
+ if (tcmd_t::iscopy(p)) {
+ fprintf(stderr, "%d=%d ", l, r);
+ } else {
+ fprintf(stderr, "%d", l);
+ if (r != TAGVER_ZERO) {
+ fprintf(stderr, "=%d", r);
+ }
+ for (; *h != TAGVER_ZERO; ++h) {
+ fprintf(stderr, "%s ", *h == TAGVER_BOTTOM ? "&darr;" : "&uarr;");
+ }
+ }
+ }
+ fprintf(stderr, "/");
+ if (b->rule) {
+ for (size_t t = b->rule->ltag; t < b->rule->htag; ++t) {
+ const tagver_t v = cfg.dfa.finvers[t];
+ if (v != TAGVER_ZERO) {
+ fprintf(stderr, "%i ", v);
+ }
+ }
+ }
+
+ if (i < cfg.nbbfin) {
+ fprintf(stderr, "\\nneed:");
+ for (tagver_t v = 0; v < nver; ++v) {
+ if (live[v]) {
+ fprintf(stderr, " %i", v);
+ }
+ }
+ }
+
+ fprintf(stderr, "\"]\n");
+
+ const char *style = b->rule ? "dotted" : "solid";
+ for (cfg_ix_t *j = b->succb; j < b->succe; ++j) {
+ fprintf(stderr, " n%u -> n%u [style=%s]\n", i, *j, style);
+ }
+ }
+
+ fprintf(stderr, "}\n");
+}
+
+void dump_interf(const cfg_t &cfg, const bool *interf)
+{
+ const tagver_t nver = cfg.dfa.maxtagver + 1;
+ for (tagver_t y = 1; y < nver; ++y) {
+ fprintf(stderr, "%2d ", y);
+ }
+ fprintf(stderr, "\n");
+ for (tagver_t x = 1; x < nver; ++x) {
+ for (tagver_t y = 1; y < nver; ++y) {
+ fprintf(stderr, "%2c ", interf[x * nver + y] ? '*' : '.');
+ }
+ fprintf(stderr, "\n");
+ }
+}
+
+} // namespace re2c
+
diff --git a/src/dfa/cfg/freeze.cc b/src/dfa/cfg/freeze.cc
new file mode 100644
index 00000000..926089d3
--- /dev/null
+++ b/src/dfa/cfg/freeze.cc
@@ -0,0 +1,56 @@
+#include <stddef.h>
+#include <vector>
+
+#include "src/dfa/dfa.h"
+#include "src/dfa/tcmd.h"
+
+namespace re2c
+{
+
+/* note [tag freezing]
+ *
+ * Comparison of tag commands should be very fast (constant time):
+ * many optimizations rely on this (like tunnelling, hoisting and
+ * especially Moore's minimization, which compares whole classes
+ * of tagged transition at once). So we bring each command to some
+ * 'normal form' and insert it into common index.
+ *
+ * After that commands can be addressed and compared by index.
+ * They also become immutable, because different commands may
+ * share representation in memory.
+ */
+void freeze_tags(dfa_t &dfa)
+{
+ tcpool_t &pool = dfa.tcpool;
+ const size_t
+ nstate = dfa.states.size(),
+ nsym = dfa.nchars;
+
+ dfa.tcid0 = pool.insert(dfa.tcmd0);
+ dfa.tcmd0 = NULL;
+
+ for (size_t i = 0; i < nstate; ++i) {
+ dfa_state_t *s = dfa.states[i];
+ tcmd_t **cmd = s->tcmd,
+ **const fin = cmd + nsym,
+ **const fall = fin + 1;
+ tcid_t *id = s->tcid = new tcid_t[nsym + 2];
+
+ // transition commands
+ for(; cmd < fin; ++cmd) {
+ *id++ = pool.insert(*cmd);
+ }
+
+ // final epsilon-transition command
+ *id++ = pool.insert(*fin);
+
+ // fallback epsilon-transition command
+ *id++ = pool.insert(*fall);
+
+ delete[] s->tcmd;
+ s->tcmd = NULL;
+ }
+}
+
+} // namespace re2c
+
diff --git a/src/dfa/cfg/interfere.cc b/src/dfa/cfg/interfere.cc
new file mode 100644
index 00000000..45da84bc
--- /dev/null
+++ b/src/dfa/cfg/interfere.cc
@@ -0,0 +1,101 @@
+#include <string.h>
+#include <set>
+#include <vector>
+
+#include "src/dfa/cfg/cfg.h"
+#include "src/dfa/dfa.h"
+#include "src/dfa/tcmd.h"
+#include "src/re/tag.h"
+
+namespace re2c
+{
+
+typedef std::vector<tagver_t> vals_t;
+static void interfere(const tcmd_t *cmd, const bool *live, bool *interf, bool *buf, vals_t *vals, size_t nver);
+
+void cfg_t::interference(const cfg_t &cfg, const bool *live, bool *interf)
+{
+ const tagver_t maxver = cfg.dfa.maxtagver + 1;
+ const size_t nver = static_cast<size_t>(maxver);
+ bool *buf = new bool[nver];
+ vals_t *vals = new vals_t[nver]();
+ const cfg_bb_t *b = cfg.bblocks, *e = b + cfg.nbbfin;
+
+ memset(interf, 0, nver * nver * sizeof(bool));
+ for (; b < e; ++b, live += nver) {
+ interfere(b->cmd, live, interf, buf, vals, nver);
+ }
+
+ // versions of tags with/without history interfere
+ std::set<tagver_t> &mt = cfg.dfa.mtagvers;
+ for (std::set<tagver_t>::iterator i = mt.begin(); i != mt.end(); ++i) {
+ for (tagver_t u = *i, v = 0; v < maxver; ++v) {
+ if (mt.find(v) == mt.end()) {
+ interf[v * maxver + u] = interf[u * maxver + v] = true;
+ }
+ }
+ }
+
+ delete[] buf;
+ delete[] vals;
+}
+
+void interfere(const tcmd_t *cmd, const bool *live, bool *interf,
+ bool *buf, vals_t *vals, size_t nver)
+{
+ // initialize value of RHS for all commands in this basic block
+ for (const tcmd_t *p = cmd; p; p = p->next) {
+ const tagver_t r = p->rhs;
+ if (r != TAGVER_ZERO) {
+ vals[r].clear();
+ vals[r].push_back(r);
+ }
+ }
+
+ // find interference list for LHS of each command
+ for (const tcmd_t *p = cmd; p; p = p->next) {
+ const tagver_t l = p->lhs, r = p->rhs, *h = p->history;
+ vals_t &vl = vals[l], &vr = vals[r];
+
+ // alive after this command
+ memcpy(buf, live, nver * sizeof(bool));
+ cfg_t::live_through_bblock(p->next, buf);
+
+ // if copy command, exclude RHS
+ if (tcmd_t::iscopy(p)) buf[r] = false;
+
+ // update value of current command's LHS
+ if (tcmd_t::iscopy(p)) {
+ vl = vr;
+ } else if (tcmd_t::isset(p)) {
+ vl.clear();
+ vl.push_back(*h);
+ } else {
+ if (l != r) vl = vr;
+ for (; *++h != TAGVER_ZERO;); // history is reversed
+ for (; h-- != p->history;) {
+ vl.push_back(*h);
+ }
+ }
+ // Exclude from interference list all LHS from preceding commands
+ // which value is equal to current LHS value. Subsequent commands
+ // are ignored: if subsequent command that sets LHS to the same value
+ // precedes any use of it, liveness propagation through basic block
+ // would mark this LHS as dead and not interfering anyway; otherwise
+ // (if use precedes setting to the same value), then it indeed
+ // interferes with current LHS.
+ for (const tcmd_t *q = cmd; q != p; q = q->next) {
+ if (vals[q->lhs] == vl) {
+ buf[q->lhs] = false;
+ }
+ }
+
+ const size_t u = static_cast<size_t>(l);
+ for (size_t v = 0; v < nver; ++v) {
+ if (!buf[v]) continue;
+ interf[u * nver + v] = interf[v * nver + u] = true;
+ }
+ }
+}
+
+} // namespace re2c
diff --git a/src/dfa/cfg/liveanal.cc b/src/dfa/cfg/liveanal.cc
new file mode 100644
index 00000000..4123f3fd
--- /dev/null
+++ b/src/dfa/cfg/liveanal.cc
@@ -0,0 +1,173 @@
+#include <assert.h>
+#include <string.h>
+#include <vector>
+
+#include "src/dfa/cfg/cfg.h"
+#include "src/dfa/dfa.h"
+#include "src/dfa/tcmd.h"
+#include "src/re/rule.h"
+#include "src/re/tag.h"
+
+namespace re2c
+{
+
+// calculates deep-first search postorder of transition nodes,
+// skips final and fallback nodes (they have no successors anyway)
+static cfg_ix_t *postorder(const cfg_t &cfg, bool *done,
+ cfg_ix_t *ord, cfg_ix_t i)
+{
+ if (i >= cfg.nbbarc || done[i]) return ord;
+ done[i] = true;
+
+ const cfg_bb_t *b = cfg.bblocks + i;
+ for (cfg_ix_t *j = b->succb; j < b->succe; ++j) {
+ ord = postorder(cfg, done, ord, *j);
+ }
+
+ *ord = i;
+ return ++ord;
+}
+
+void cfg_t::live_through_bblock(const tcmd_t *cmd, bool *live)
+{
+ if (!cmd) return;
+
+ live_through_bblock(cmd->next, live);
+
+ const tagver_t l = cmd->lhs, r = cmd->rhs;
+ if (live[l]) {
+ // first reset, than set: LHS might be equal to history
+ live[l] = false;
+ if (r != TAGVER_ZERO) {
+ live[r] = true;
+ }
+ }
+}
+
+void cfg_t::liveness_analysis(const cfg_t &cfg, bool *live)
+{
+ const std::vector<Tag> &tags = cfg.dfa.tags;
+ const size_t nver = static_cast<size_t>(cfg.dfa.maxtagver) + 1;
+ const cfg_ix_t
+ narc = cfg.nbbarc,
+ nfin = cfg.nbbfin;
+ const tagver_t *fins = cfg.dfa.finvers;
+ bool *buf1 = new bool[nver];
+ bool *buf2 = new bool[nver];
+ bool *done = new bool[narc];
+ cfg_ix_t *pord = new cfg_ix_t[narc];
+
+ /* note [control flow equations for tag liveness]
+ *
+ * Liveness in bblock B is given by control flow equations:
+ * live-out(B) = union of live-in(C), for all successors C
+ * live-in(B) = live-out(B) except defined(B)
+ * Equations are solved by iteration until fix point.
+ *
+ * Live set can only grow on each iteration, it never shrinks.
+ * Initially all final tag versions used in rules are alive;
+ * we pre-calculate them and then only update table by adding
+ * new versions.
+ */
+
+ memset(live, 0, nfin * nver * sizeof(bool));
+ for (cfg_ix_t i = narc; i < nfin; ++i) {
+ const cfg_bb_t *b = cfg.bblocks + i;
+ const Rule *r = b->rule;
+ bool *l = &live[i * nver];
+
+ // all final bblocks have USE tags, but no successors
+ assert(r && b->succb == b->succe);
+
+ for (size_t t = r->ltag; t < r->htag; ++t) {
+ l[fins[t]] = !fixed(tags[t]);
+ }
+ }
+
+ memset(done, 0, narc * sizeof(bool));
+ postorder(cfg, done, pord, 0);
+
+ for (bool loop = true; loop;) {
+ loop = false;
+
+ // iterate nodes in postorder
+ for (cfg_ix_t a = 0; a < narc; ++a) {
+ const cfg_ix_t i = pord[a];
+ const cfg_bb_t *b = cfg.bblocks + i;
+ bool *old = &live[i * nver];
+
+ // transition bblocks have no USE tags
+ assert(!b->rule);
+
+ memcpy(buf1, old, nver * sizeof(bool));
+ for (cfg_ix_t *j = b->succb; j < b->succe; ++j) {
+ const bool *l = &live[*j * nver];
+ const tcmd_t *cmd = cfg.bblocks[*j].cmd;
+ memcpy(buf2, l, nver * sizeof(bool));
+
+ cfg_t::live_through_bblock(cmd, buf2);
+
+ for (size_t v = 0; v < nver; ++v) {
+ buf1[v] |= buf2[v];
+ }
+ }
+
+ if (memcmp(old, buf1, nver * sizeof(bool)) != 0) {
+ memcpy(old, buf1, nver * sizeof(bool));
+ loop = true;
+ }
+ }
+ }
+
+ /* note [fallback tag liveness]
+ *
+ * Liveness of fallback tag is propagated forward from fallback
+ * state (see note [fallback states]) and until there remain
+ * any fallthrough paths from current state.
+ *
+ * Fallback version of tag is either backup copy of tag's final
+ * version, or (if there's no backup) the final version itself.
+ * Absence of backup means that final version is not overwritten,
+ * but still we should prevent it from merging with other tags
+ * (otherwise it may become overwritten).
+ */
+ for (cfg_ix_t i = nfin; i < cfg.nbbfall; ++i) {
+ const cfg_bb_t *b = cfg.bblocks + i;
+ const Rule *r = b->rule;
+
+ // all fallback bblocks have USE tags
+ assert(r);
+
+ memset(buf1, 0, nver * sizeof(bool));
+ for (size_t t = r->ltag; t < r->htag; ++t) {
+ buf1[fins[t]] = !fixed(tags[t]);
+ }
+
+ // need two passes: same version may occur as both LHS and RHS
+ // not the same as backward propagation of liveness through bblock
+ for (const tcmd_t *p = b->cmd; p; p = p->next) {
+ buf1[p->lhs] = false;
+ }
+ for (const tcmd_t *p = b->cmd; p; p = p->next) {
+ const tagver_t v = p->rhs;
+ if (v != TAGVER_ZERO) {
+ buf1[v] = true;
+ }
+ }
+
+ for (cfg_ix_t *j = b->succb; j < b->succe; ++j) {
+ bool *liv = &live[*j * nver];
+ for (size_t v = 0; v < nver; ++v) {
+ liv[v] |= buf1[v];
+ }
+ }
+ }
+
+ delete[] buf1;
+ delete[] buf2;
+ delete[] done;
+ delete[] pord;
+}
+
+} // namespace re2c
+
diff --git a/src/dfa/cfg/normalize.cc b/src/dfa/cfg/normalize.cc
new file mode 100644
index 00000000..ac6f09e0
--- /dev/null
+++ b/src/dfa/cfg/normalize.cc
@@ -0,0 +1,116 @@
+#include <assert.h>
+#include "src/util/c99_stdint.h"
+#include <string.h>
+#include <algorithm>
+
+#include "src/dfa/cfg/cfg.h"
+#include "src/dfa/dfa.h"
+#include "src/dfa/tcmd.h"
+#include "src/re/tag.h"
+
+namespace re2c
+{
+
+template<typename cmd_t> void normalize(cmd_t *cmd);
+
+/* note [tag normalization]
+ *
+ * After optimizations different commands may become equal
+ * up to reordering and removing duplicates. Such commands
+ * should be recognized as equal by further optimizations
+ * like minimization, hoisting, tunnelling, etc.
+ * For that reason all commands are normalized.
+ */
+
+static tcmd_t **normalize(tcmd_t **ps, tcmd_t *e);
+
+void cfg_t::normalization(cfg_t &cfg)
+{
+ const size_t nver = static_cast<size_t>(cfg.dfa.maxtagver) + 1;
+ uint32_t *indeg = new uint32_t[nver];
+ memset(indeg, 0, nver * sizeof(uint32_t));
+
+ cfg_bb_t *b = cfg.bblocks, *e = b + cfg.nbbfall;
+ for (; b < e; ++b) {
+
+ // We cannot normalize the list of commands as a whole: the
+ // relative order of some commands might be significant.
+ // Therefore we split the list in continuous sublists of
+ // 'copy', 'save without history' and 'save with history'
+ // commands and normalize each sublist in a proper way.
+ tcmd_t **px, *x;
+ for (px = &b->cmd; (x = *px);) {
+ if (tcmd_t::iscopy(x)) {
+ for (x = *px; x && tcmd_t::iscopy(x); x = x->next);
+ *normalize(px, x) = NULL; // topsort expects NULL terminator
+ tcmd_t::topsort(px, indeg);
+ for (; *px; px = &(*px)->next); // find tail
+ *px = x; // restore tail
+ } else if (tcmd_t::isset(x)) {
+ for (x = *px; x && tcmd_t::isset(x); x = x->next);
+ px = normalize(px, x);
+ } else {
+ for (; (x = *px) && tcmd_t::isadd(x); px = &x->next);
+ // don't normalize, histories may have complex dependencies
+ }
+ }
+ }
+
+ delete[] indeg;
+}
+
+static void swap(tcmd_t &x, tcmd_t &y)
+{
+ assert(!tcmd_t::isadd(&x) && !tcmd_t::isadd(&y));
+ std::swap(x.lhs, y.lhs);
+ std::swap(x.rhs, y.rhs);
+ std::swap(x.history[0], y.history[0]);
+}
+
+static bool less(const tcmd_t &x, const tcmd_t &y)
+{
+ assert(!tcmd_t::isadd(&x) && !tcmd_t::isadd(&y));
+ tagver_t u, v;
+
+ u = x.lhs; v = y.lhs;
+ if (u < v) return true;
+ if (u > v) return false;
+
+ u = x.rhs; v = y.rhs;
+ if (u < v) return true;
+ if (u > v) return false;
+
+ u = x.history[0]; v = y.history[0];
+ if (u < v) return true;
+ if (u > v) return false;
+
+ return false;
+}
+
+tcmd_t **normalize(tcmd_t **ps, tcmd_t *e)
+{
+ // sort lexicographically
+ for (tcmd_t *p = *ps; p != e; p = p->next) {
+ for (tcmd_t *q = p->next; q != e; q = q->next) {
+ if (less(*q, *p)) {
+ swap(*p, *q);
+ }
+ }
+ }
+
+ // delete duplicates
+ for (tcmd_t *p = *ps; p != e;) {
+ tcmd_t *q = p->next;
+ if (q != e && tcmd_t::equal(*p, *q)) {
+ p->next = q->next;
+ } else {
+ p = q;
+ }
+ }
+
+ for (; *ps != e; ps = &(*ps)->next);
+ return ps;
+}
+
+} // namespace re2c
+
diff --git a/src/dfa/cfg/optimize.cc b/src/dfa/cfg/optimize.cc
new file mode 100644
index 00000000..c2ea2ed6
--- /dev/null
+++ b/src/dfa/cfg/optimize.cc
@@ -0,0 +1,47 @@
+#include <stddef.h>
+#include "src/util/c99_stdint.h"
+
+#include "src/dfa/cfg/cfg.h"
+#include "src/dfa/dfa.h"
+#include "src/re/tag.h"
+
+namespace re2c
+{
+
+void compact_and_optimize_tags(dfa_t &dfa, bool optimize)
+{
+ tagver_t maxver = dfa.maxtagver;
+ if (maxver > 0) {
+ cfg_t cfg(dfa);
+
+ size_t nver = static_cast<size_t>(maxver) + 1;
+ tagver_t *ver2new = new tagver_t[nver];
+
+ maxver = cfg_t::compact(cfg, ver2new);
+ cfg_t::renaming(cfg, ver2new, maxver);
+
+ if (optimize && maxver > 0) {
+ nver = static_cast<size_t>(maxver) + 1;
+ bool *live = new bool[cfg.nbbfin * nver];
+ bool *interf = new bool[nver * nver];
+
+ static const uint32_t NPASS = 2;
+ for (uint32_t n = 0; n < NPASS; ++n) {
+ cfg_t::liveness_analysis(cfg, live);
+ cfg_t::dead_code_elimination(cfg, live);
+ cfg_t::interference(cfg, live, interf);
+ maxver = cfg_t::variable_allocation(cfg, interf, ver2new);
+ cfg_t::renaming(cfg, ver2new, maxver);
+ cfg_t::normalization(cfg);
+ }
+
+ delete[] live;
+ delete[] interf;
+ }
+
+ delete[] ver2new;
+ }
+}
+
+} // namespace re2c
+
diff --git a/src/dfa/cfg/rename.cc b/src/dfa/cfg/rename.cc
new file mode 100644
index 00000000..615bbf08
--- /dev/null
+++ b/src/dfa/cfg/rename.cc
@@ -0,0 +1,55 @@
+#include <stddef.h>
+#include <set>
+#include <vector>
+
+#include "src/dfa/cfg/cfg.h"
+#include "src/dfa/dfa.h"
+#include "src/dfa/tcmd.h"
+#include "src/re/tag.h"
+
+namespace re2c
+{
+
+void cfg_t::renaming(cfg_t &cfg, const tagver_t *ver2new, tagver_t maxver)
+{
+ tagver_t &oldmax = cfg.dfa.maxtagver;
+ if (oldmax == maxver) return;
+ oldmax = maxver;
+
+ cfg_bb_t *b = cfg.bblocks, *be = b + cfg.nbbfall;
+ for (; b < be; ++b) {
+ for (tcmd_t *p, **pp = &b->cmd; (p = *pp);) {
+ tagver_t &l = p->lhs, &r = p->rhs, h = p->history[0];
+
+ l = ver2new[l];
+ if (r != TAGVER_ZERO) {
+ r = ver2new[r];
+ }
+ if (l == r && h == TAGVER_ZERO) {
+ *pp = p->next;
+ } else {
+ pp = &p->next;
+ }
+ }
+ }
+
+ // final tag versions
+ tagver_t *fins = cfg.dfa.finvers;
+ const std::vector<Tag> &tags = cfg.dfa.tags;
+ for (size_t t = 0; t < tags.size(); ++t) {
+ tagver_t &f = fins[t];
+ if (f != TAGVER_ZERO) { // fixed tag or unreachable rule
+ f = ver2new[f];
+ }
+ }
+
+ // versions of tags with history
+ std::set<tagver_t> newmt, &oldmt = cfg.dfa.mtagvers;
+ for (std::set<tagver_t>::iterator i = oldmt.begin(); i != oldmt.end(); ++i) {
+ newmt.insert(ver2new[*i]);
+ }
+ oldmt.swap(newmt);
+}
+
+} // namespace re2c
+
diff --git a/src/dfa/cfg/varalloc.cc b/src/dfa/cfg/varalloc.cc
new file mode 100644
index 00000000..75d449c7
--- /dev/null
+++ b/src/dfa/cfg/varalloc.cc
@@ -0,0 +1,145 @@
+#include <algorithm>
+#include <limits>
+
+#include "src/dfa/cfg/cfg.h"
+#include "src/dfa/dfa.h"
+#include "src/dfa/tcmd.h"
+#include "src/re/tag.h"
+
+namespace re2c
+{
+
+/* We have a binary relation on the set of all tags
+ * and must construct set decomposition into subsets such that
+ * all tags in the same subset are equivalent.
+ *
+ * This problem is isomorphic to partitioning graph into cliques
+ * (aka finding the 'clique cover' of a graph).
+ *
+ * Finding minimal clique cover in arbitrary graph is NP-complete.
+ * We build just some cover (not necessarily minimal).
+ * The algorithm takes quadratic (in the number of tags) time.
+ */
+tagver_t cfg_t::variable_allocation(const cfg_t &cfg, const bool *interf,
+ tagver_t *ver2new)
+{
+ const tagver_t
+ END = std::numeric_limits<tagver_t>::max(),
+ nver = cfg.dfa.maxtagver + 1;
+ tagver_t *next = new tagver_t[nver]; // list of class members
+ tagver_t *repr = new tagver_t[nver]; // maps tag to class representative
+ tagver_t rx, ry, x, y, z;
+
+ std::fill(next, next + nver, END);
+ std::fill(repr, repr + nver, END);
+
+ // copy coalescing: for each command X = Y, try to merge X and Y
+ const cfg_bb_t *b = cfg.bblocks, *e = b + cfg.nbbfall;
+ for (; b < e; ++b) {
+ for (const tcmd_t *p = b->cmd; p; p = p->next) {
+ x = p->lhs;
+ y = p->rhs;
+ if (y == TAGVER_ZERO || y == x) continue;
+
+ rx = repr[x];
+ ry = repr[y];
+
+ if (rx != END) {
+ if (ry != END) continue;
+ for (z = rx; z != END; z = next[z]) {
+ if (interf[z * nver + y]) break;
+ }
+ if (z == END) {
+ repr[y] = rx;
+ next[y] = next[rx];
+ next[rx] = y;
+ }
+ } else if (ry != END) {
+ for (z = ry; z != END; z = next[z]) {
+ if (interf[z * nver + x]) break;
+ }
+ if (z == END) {
+ repr[x] = ry;
+ next[x] = next[ry];
+ next[ry] = x;
+ }
+ } else if (!interf[x * nver + y]) {
+ repr[x] = repr[y] = x;
+ next[x] = y;
+ }
+ }
+ }
+
+ // try to merge equivalence classes left after copy coalescing
+ for (rx = 0; rx < nver; ++rx) {
+ if (rx != repr[rx]) continue;
+
+ for (ry = rx + 1; ry < nver; ++ry) {
+ if (ry != repr[ry]) continue;
+
+ for (x = rx; x != END; x = next[x]) {
+ for (y = ry; y != END; y = next[y]) {
+ if (interf[x * nver + y]) break;
+ }
+ if (y != END) break;
+ }
+
+ if (x == END) {
+ for (y = ry;; y = next[y]) {
+ repr[y] = rx;
+ if (next[y] == END) {
+ next[y] = next[rx];
+ next[rx] = ry;
+ break;
+ }
+ }
+ }
+ }
+ }
+
+ // push each remaining tag to any non-interfering class
+ for (x = 0; x < nver; ++x) {
+ if (repr[x] != END) continue;
+
+ // try all existing classes
+ for (rx = 0; rx < nver; ++rx) {
+ if (rx != repr[rx]) continue;
+
+ // check interference with class members
+ for (y = rx; y != END; y = next[y]) {
+ if (interf[x * nver + y]) break;
+ }
+
+ // no interference; add to class
+ if (y == END) {
+ repr[x] = rx;
+ next[x] = next[rx];
+ next[rx] = x;
+ break;
+ }
+ }
+
+ // make new equivalence class
+ if (rx == nver) {
+ repr[x] = x;
+ }
+ }
+
+ tagver_t maxver = 0;
+ for (rx = 0; rx < nver; ++rx) {
+ if (repr[rx] != rx) continue;
+
+ ++maxver;
+ for (x = rx; x != END; x = next[x]) {
+ ver2new[x] = maxver;
+ }
+ }
+
+ delete[] next;
+ delete[] repr;
+
+ return maxver;
+}
+
+} // namespace re2c
+
diff --git a/src/dfa/closure.cc b/src/dfa/closure.cc
new file mode 100644
index 00000000..a097aafe
--- /dev/null
+++ b/src/dfa/closure.cc
@@ -0,0 +1,522 @@
+#include <assert.h>
+#include "src/util/c99_stdint.h"
+#include <stdlib.h>
+#include <string.h>
+#include <algorithm>
+#include <set>
+#include <stack>
+#include <utility>
+#include <valarray>
+
+#include "src/conf/opt.h"
+#include "src/dfa/closure.h"
+#include "src/dfa/dfa.h"
+#include "src/dfa/tagpool.h"
+#include "src/dfa/tcmd.h"
+#include "src/nfa/nfa.h"
+#include "src/re/rule.h"
+
+namespace re2c
+{
+
+static void closure_posix(const closure_t &init, closure_t &done, closure_t *shadow, Tagpool &tagpool, const std::vector<Tag> &tags);
+static void closure_leftmost(const closure_t &init, closure_t &done, closure_t *shadow, Tagpool &tagpool);
+static int32_t compare_posix(const clos_t &c1, const clos_t &c2, Tagpool &tagpool, const std::vector<Tag> &tags);
+static void prune(closure_t &clos, std::valarray<Rule> &rules);
+static void lower_lookahead_to_transition(closure_t &clos);
+static tcmd_t *generate_versions(dfa_t &dfa, closure_t &clos, Tagpool &tagpool, newvers_t &newvers);
+static void orders(closure_t &clos, Tagpool &tagpool, const std::vector<Tag> &tags);
+static bool cmpby_rule_state(const clos_t &x, const clos_t &y);
+
+tcmd_t *closure(dfa_t &dfa, closure_t &clos1, closure_t &clos2,
+ Tagpool &tagpool, newvers_t &newvers, closure_t *shadow)
+{
+ // build tagged epsilon-closure of the given set of NFA states
+ if (tagpool.opts->posix_captures) {
+ closure_posix(clos1, clos2, shadow, tagpool, dfa.tags);
+ prune(clos2, dfa.rules);
+ orders(clos2, tagpool, dfa.tags);
+ std::sort(clos2.begin(), clos2.end(), cmpby_rule_state);
+ } else {
+ closure_leftmost(clos1, clos2, shadow, tagpool);
+ prune(clos2, dfa.rules);
+ }
+
+ // see note [the difference between TDFA(0) and TDFA(1)]
+ if (!tagpool.opts->lookahead) {
+ lower_lookahead_to_transition(clos2);
+ if (shadow) lower_lookahead_to_transition(*shadow);
+ }
+
+ // merge tags from different rules, find nondeterministic tags
+ tcmd_t *cmd = generate_versions(dfa, clos2, tagpool, newvers);
+ if (shadow) generate_versions(dfa, *shadow, tagpool, newvers);
+
+ return cmd;
+}
+
+bool cmpby_rule_state(const clos_t &x, const clos_t &y)
+{
+ const nfa_state_t *sx = x.state, *sy = y.state;
+ const size_t rx = sx->rule, ry = sy->rule;
+ if (rx < ry) return true;
+ if (rx > ry) return false;
+ if (sx < sy) return true;
+ if (sx > sy) return false;
+ // all items in closute have different states
+ return false;
+}
+
+// Skip non-orbit start tags: their position is fixed on some higher-priority
+// tag (except the very first tag, but in RE2C match is always anchored).
+// We cannot skip orbit start tag because the corresponding orbit end tag is
+// hoisted out of loop (by construction) and is, in fact, non-orbit; but we can
+// skip orbit end tag instead.
+// Skipping non-orbit start tags allows us to compare all subhistories in the
+// same way (incrementally). Subhistories of non-orbit start tags cannot be
+// compared incrementally, because default value may be added on a later step
+// than non-default value.
+static bool redundant(size_t t, const std::vector<Tag> &tags) {
+ return (t % 2 == 0) != orbit(tags[t]);
+}
+
+/* note [epsilon-closures in tagged NFA]
+ *
+ * The closure includes all NFA states that are reachable by epsilon-paths
+ * from the given set of states and either are final or have non-epsilon
+ * transitions. Note that by construction NFA states cannot have both
+ * epsilon and non-epsilon transitions.
+ *
+ * Each closure state might be reachable by multiple epsilon-paths with
+ * different tags: this means that the regular expression is ambiguous
+ * and can be parsed in different ways. Which parse to choose depends on the
+ * disambiguation policy. RE2C supports two policies: leftmost greedy and
+ * POSIX.
+ *
+ * We use Goldber-Radzik algorithm to find the "shortest path".
+ * Both disambiguation policies forbid epsilon-cycles with negative weight.
+ */
+
+static void enqueue(clos_t x, std::stack<nfa_state_t*> &bstack, closure_t &done,
+ closure_t *shadow, Tagpool &tagpool, const std::vector<Tag> &tags)
+{
+ nfa_state_t *n = x.state;
+ uint32_t &i = n->clos;
+
+ if (i == NOCLOS) {
+ i = static_cast<uint32_t>(done.size());
+ done.push_back(x);
+ } else {
+ const int32_t cmp = compare_posix(x, done[i], tagpool, tags);
+ if (cmp < 0) std::swap(x, done[i]);
+ if (shadow && cmp != 0) shadow->push_back(x);
+ if (cmp >= 0) return;
+ }
+
+ if (n->status != GOR_TOPSORT) {
+ bstack.push(n);
+ n->status = GOR_NEWPASS;
+ }
+}
+
+static void scan(nfa_state_t *n, std::stack<nfa_state_t*> &bstack, closure_t &done,
+ closure_t *shadow, Tagpool &tagpool, const std::vector<Tag> &tags)
+{
+ tagtree_t &history = tagpool.history;
+ clos_t x = done[n->clos];
+ switch (n->type) {
+ case nfa_state_t::NIL:
+ x.state = n->nil.out;
+ enqueue(x, bstack, done, shadow, tagpool, tags);
+ break;
+ case nfa_state_t::ALT:
+ x.state = n->alt.out2;
+ enqueue(x, bstack, done, shadow, tagpool, tags);
+ x.state = n->alt.out1;
+ enqueue(x, bstack, done, shadow, tagpool, tags);
+ break;
+ case nfa_state_t::TAG:
+ x.state = n->tag.out;
+ x.tlook = history.push(x.tlook, n->tag.info,
+ n->tag.bottom ? TAGVER_BOTTOM : TAGVER_CURSOR);
+ enqueue(x, bstack, done, shadow, tagpool, tags);
+ break;
+ case nfa_state_t::RAN:
+ case nfa_state_t::FIN:
+ break;
+ }
+}
+
+void closure_posix(const closure_t &init, closure_t &done,
+ closure_t *shadow, Tagpool &tagpool, const std::vector<Tag> &tags)
+{
+ std::stack<nfa_state_t*>
+ &astack = tagpool.astack,
+ &bstack = tagpool.bstack;
+
+ // enqueue all initial states
+ done.clear();
+ if (shadow) shadow->clear();
+ for (cclositer_t c = init.begin(); c != init.end(); ++c) {
+ enqueue(*c, bstack, done, shadow, tagpool, tags);
+ }
+
+ // Gordberg-Radzik 'shortest path' algorithm.
+ // Papers: 1993, "A heuristic improvement of the Bellman-Ford
+ // algorithm" by Goldberg, Radzik and 1996, Shortest paths algorithms:
+ // Theory andexperimental evaluation" by Cherkassky, Goldberg, Radzik.
+ // Complexity for digraph G=(V,E) is O(|V|*|E|).
+ for (; !bstack.empty(); ) {
+
+ // 1st step: find admissible subgraph reachable from B-stack
+ // and topologically sort it (this can be done by a single
+ // depth-first search that scans each state and pushes traversed
+ // states to A-stack in postorder)
+ for (; !bstack.empty(); ) {
+ nfa_state_t *n = bstack.top();
+ if (n->status == GOR_NEWPASS) {
+ n->status = GOR_TOPSORT;
+ scan(n, bstack, done, shadow, tagpool, tags);
+ } else if (n->status == GOR_TOPSORT) {
+ bstack.pop();
+ astack.push(n);
+ } else { // GOR_OFFSTACK
+ bstack.pop();
+ }
+ }
+
+ // 2nd step: scan topologically ordered states from A-stack
+ // and push head states of relaxed transitions to B-stack
+ for (; !astack.empty(); ) {
+ nfa_state_t *n = astack.top();
+ astack.pop();
+ scan(n, bstack, done, shadow, tagpool, tags);
+ n->status = GOR_OFFSTACK;
+ }
+ }
+
+ // reset associated closure items and check status
+ // (do this before removing any states from closure)
+ for (clositer_t i = done.begin(); i != done.end(); ++i) {
+ i->state->clos = NOCLOS;
+ assert(i->state->status == GOR_OFFSTACK);
+ }
+}
+
+/* note [at most one final item per closure]
+ *
+ * By construction NFA has exactly one final state per rule. Thus closure
+ * has at most one final item per rule (in other words, all final items
+ * in closure belong to different rules). The rule with the highest priority
+ * shadowes all other rules. Final items that correspond to shadowed rules
+ * are useless and should be removed as early as possible.
+ *
+ * If we let such items remain in closure, they may prevent the new DFA
+ * state from being merged with other states. This won't affect the final
+ * program: meaningless finalizing tags will be removed by dead code
+ * elimination and subsequent minimization will merge equivalent final
+ * states. However, it's better not to add useless final items at all.
+ *
+ * Note that the first final item reached by the epsilon-closure it the one
+ * with the highest priority (see note [closure items are sorted by rule]).
+ */
+
+int32_t compare_posix(const clos_t &c1, const clos_t &c2,
+ Tagpool &tagpool, const std::vector<Tag> &tags)
+{
+ if (tagpool.ntags == 0
+ || (c1.order == c2.order && c1.tlook == c2.tlook)) return 0;
+
+ tagtree_t &h = tagpool.history;
+ for (size_t t = 0; t < tagpool.ntags; ++t) {
+ if (redundant(t, tags)) continue;
+ const hidx_t i1 = c1.tlook, i2 = c2.tlook;
+ const tagver_t
+ o1 = tagpool[c1.order][t],
+ o2 = tagpool[c2.order][t];
+ const int32_t cmp = h.compare_histories(i1, i2, o1, o2, t);
+ if (cmp != 0) return cmp;
+ }
+ return 0;
+}
+
+void closure_leftmost(const closure_t &init, closure_t &done,
+ closure_t *shadow, Tagpool &tagpool)
+{
+ std::stack<clos_t> &todo = tagpool.cstack;
+
+ // enqueue all initial states
+ done.clear();
+ if (shadow) shadow->clear();
+ for (rcclositer_t c = init.rbegin(); c != init.rend(); ++c) {
+ todo.push(*c);
+ }
+
+ // DFS; linear complexity
+ for (; !todo.empty(); ) {
+ clos_t x = todo.top();
+ todo.pop();
+ nfa_state_t *n = x.state;
+
+ if (n->clos == NOCLOS) {
+ n->clos = static_cast<uint32_t>(done.size());
+ done.push_back(x);
+ } else {
+ if (shadow) shadow->push_back(x);
+ continue;
+ }
+
+ switch (n->type) {
+ case nfa_state_t::NIL:
+ x.state = n->nil.out;
+ todo.push(x);
+ break;
+ case nfa_state_t::ALT:
+ x.state = n->alt.out2;
+ todo.push(x);
+ x.state = n->alt.out1;
+ todo.push(x);
+ break;
+ case nfa_state_t::TAG:
+ x.state = n->tag.out;
+ x.tlook = tagpool.history.push(x.tlook, n->tag.info,
+ n->tag.bottom ? TAGVER_BOTTOM : TAGVER_CURSOR);
+ todo.push(x);
+ break;
+ case nfa_state_t::RAN:
+ case nfa_state_t::FIN:
+ break;
+ }
+ }
+
+ // reset associated closure items
+ // (do this before removing any states from closure)
+ for (clositer_t i = done.begin(); i != done.end(); ++i) {
+ i->state->clos = NOCLOS;
+ }
+}
+
+void prune(closure_t &clos, std::valarray<Rule> &rules)
+{
+ clositer_t b = clos.begin(), e = clos.end(), i, j;
+
+ // drop "inner" states (non-final without outgoing non-epsilon transitions)
+ j = std::stable_partition(b, e, clos_t::ran);
+ e = std::stable_partition(j, e, clos_t::fin);
+ size_t n = static_cast<size_t>(e - b);
+
+ // drop all final states except one; mark dropped rules as shadowed
+ // see note [at most one final item per closure]
+ if (j != e) {
+ std::sort(j, e, cmpby_rule_state);
+ const uint32_t l = rules[j->state->rule].code->fline;
+ for (i = j; ++i < e;) {
+ rules[i->state->rule].shadow.insert(l);
+ }
+ n = static_cast<size_t>(j - b) + 1;
+ }
+
+ clos.resize(n);
+}
+
+/* note [the difference between TDFA(0) and TDFA(1)]
+ *
+ * TDFA(0) performs epsilon-closure after transition on symbol,
+ * while TDFA(1) performs it before the transition and uses the lookahead
+ * symbol to filter the closure.
+ *
+ * TDFA(0) is one step ahead of TDFA(1): it consumes a symol, then builds
+ * epsilon-closure, eagerly applies all tags reachable by it and goes to
+ * the next state.
+ *
+ * TDFA(1) is more lazy: it builds epsilon-closure, then filters it with
+ * respect to the current symbol (uses only those states which have outgoing
+ * transitions on this symbol), then applies corresponding tags (probably
+ * not all tags applied by TDFA(0)) and then consumes the symbol and goes
+ * to the next state.
+ *
+ * Thus in general TDFA(1) raises less conflicts than TDFA(0).
+ */
+
+void lower_lookahead_to_transition(closure_t &clos)
+{
+ for (clositer_t c = clos.begin(); c != clos.end(); ++c) {
+ c->ttran = c->tlook;
+ c->tlook = HROOT;
+ }
+}
+
+tcmd_t *generate_versions(dfa_t &dfa, closure_t &clos, Tagpool &tagpool, newvers_t &newvers)
+{
+ tcmd_t *cmd = NULL;
+ const size_t ntag = tagpool.ntags;
+ tagver_t *vers = tagpool.buffer, &maxver = dfa.maxtagver;
+ tagtree_t &tagtree = tagpool.history;
+ const std::vector<Tag> &tags = dfa.tags;
+ clositer_t b = clos.begin(), e = clos.end(), c;
+ newver_cmp_t cmp = {tagtree};
+ newvers_t newacts(cmp);
+
+ // for each tag, if there is at least one tagged transition,
+ // allocate new version (negative for bottom and positive for
+ // normal transition, however absolute value should be unique
+ // among all versions of all tags)
+ for (c = b; c != e; ++c) {
+ const hidx_t l = c->tlook, h = c->ttran;
+ if (h == HROOT) continue;
+
+ const tagver_t *vs = tagpool[c->tvers];
+ for (size_t t = 0; t < ntag; ++t) {
+ const Tag &tag = tags[t];
+ const tagver_t
+ h0 = tagtree.last(h, t),
+ l0 = tagtree.last(l, t);
+
+ if (h0 == TAGVER_ZERO) continue;
+
+ const tagver_t v = history(tag) ? vs[t] : TAGVER_ZERO;
+ newver_t x = {t, v, h};
+ const tagver_t
+ n = (maxver + 1) * (h0 == TAGVER_BOTTOM ? -1 : 1),
+ m = newvers.insert(std::make_pair(x, n)).first->second;
+ if (n == m) ++maxver;
+
+ if (!fixed(tag) && (l0 == TAGVER_ZERO || history(tag))) {
+ newacts.insert(std::make_pair(x, m));
+ }
+ }
+ }
+
+ // actions
+ for (newvers_t::iterator i = newacts.begin(); i != newacts.end(); ++i) {
+ const tagver_t m = i->second, v = i->first.base;
+ const hidx_t h = i->first.history;
+ const size_t t = i->first.tag;
+ if (history(tags[t])) {
+ cmd = dfa.tcpool.make_add(cmd, abs(m), abs(v), tagtree, h, t);
+ } else {
+ cmd = dfa.tcpool.make_set(cmd, abs(m), tagtree.last(h, t));
+ }
+ }
+
+ // mark tags with history
+ for (newvers_t::iterator j = newvers.begin(); j != newvers.end(); ++j) {
+ if (history(tags[j->first.tag])) dfa.mtagvers.insert(abs(j->second));
+ }
+
+ // update tag versions in closure
+ for (c = b; c != e; ++c) {
+ const hidx_t h = c->ttran;
+ if (h == HROOT) continue;
+
+ const tagver_t *vs = tagpool[c->tvers];
+ for (size_t t = 0; t < ntag; ++t) {
+ const tagver_t
+ v0 = vs[t],
+ h0 = tagtree.last(h, t),
+ v = history(tags[t]) ? v0 : TAGVER_ZERO;
+ if (h0 == TAGVER_ZERO) {
+ vers[t] = v0;
+ } else {
+ newver_t x = {t, v, h};
+ vers[t] = newvers[x];
+ }
+ }
+ c->tvers = tagpool.insert(vers);
+ }
+
+ return cmd;
+}
+
+/* note [POSIX orbit tags]
+ *
+ * POSIX disambiguation rules demand that earlier subexpressions match
+ * the longest possible prefix of the input string (without violating the
+ * whole match). To accommodate these rules, we resolve conflicts on orbit
+ * tags by comparison of tag subhistories on conflicting NFA paths.
+ *
+ * If one subhistory is a proper prefix of another subhistory, it is less;
+ * otherwise for the first pair of different offsets, if one offset is greater
+ * than the other, then the corresponding subhistory is less.
+ *
+ * It is possible to pre-compare two NFA paths corresponding to the same
+ * input string prefix and ending in the same NFA state; if paths are not
+ * equal, the result of this comparison will hold for any common suffix.
+ *
+ * It is also possible to pre-compare NFA paths that correspond to the same
+ * input prefix, but end in different NFA states. Such comparison is incorrect
+ * unless subhistories start at the same offset; but if it is incorrect, we
+ * will never use its result (tags with higher priority will also disagree).
+ *
+ * Therefore instead of keeping the whole history of offsets we calculate
+ * the relative order of any pair of subhistories on each step.
+ *
+ * This part of the algorithm was invented by Christopher Kuklewicz.
+ */
+
+struct cmp_posix_t
+{
+ Tagpool &tagpool;
+ size_t tag;
+ bool operator()(cclositer_t x, cclositer_t y)
+ {
+ const hidx_t i1 = x->tlook, i2 = y->tlook;
+ const tagver_t
+ o1 = tagpool[x->order][tag],
+ o2 = tagpool[y->order][tag];
+ // comparison result is inverted, because orders are used as offsets
+ return tagpool.history.compare_last_subhistories(i1, i2, o1, o2, tag) > 0;
+ }
+};
+
+void orders(closure_t &clos, Tagpool &tagpool, const std::vector<Tag> &tags)
+{
+ clositer_t b = clos.begin(), e = clos.end(), c;
+ const size_t
+ ntag = tagpool.ntags,
+ nclos = clos.size();
+ size_t &maxclos = tagpool.maxclos;
+ tagver_t *&os = tagpool.orders, *o, *os0;
+ cclositer_t *&ps = tagpool.closes, *pe, *p;
+
+ if (ntag == 0) return;
+
+ // reallocate buffers if necessary
+ if (maxclos < nclos) {
+ maxclos = nclos * 2; // in advance
+ delete[] os;
+ delete[] ps;
+ os = new tagver_t[(ntag + 1) * maxclos];
+ ps = new cclositer_t[maxclos];
+ }
+
+ os0 = os + ntag * maxclos;
+ pe = ps;
+ for (c = b; c != e; ++c) *pe++ = c;
+
+ memset(os, 0, ntag * nclos * sizeof(tagver_t)); //some tags are skipped
+ for (size_t t = 0; t < ntag; ++t) {
+ if (redundant(t, tags)) continue;
+
+ cmp_posix_t cmp = {tagpool, t};
+ std::sort(ps, pe, cmp);
+ tagver_t m = 0;
+ o = os0;
+ for (p = ps; p < pe; ++m) {
+ *o++ = m;
+ for (; ++p < pe && !cmp(p[-1], p[0]);) *o++ = m;
+ }
+
+ o = os;
+ for (c = b; c != e; ++c, o += ntag) {
+ o[t] = os0[std::find(ps, pe, c) - ps];
+ }
+ }
+
+ o = os;
+ for (c = b; c != e; ++c, o += ntag) {
+ c->order = tagpool.insert(o);
+ }
+}
+
+} // namespace re2c
diff --git a/src/dfa/closure.h b/src/dfa/closure.h
new file mode 100644
index 00000000..ed30ca35
--- /dev/null
+++ b/src/dfa/closure.h
@@ -0,0 +1,68 @@
+#ifndef _RE2C_DFA_CLOSURE_
+#define _RE2C_DFA_CLOSURE_
+
+#include <stddef.h>
+#include <map>
+#include <vector>
+
+#include "src/dfa/dfa.h"
+#include "src/dfa/tagtree.h"
+#include "src/nfa/nfa.h"
+#include "src/re/tag.h"
+
+namespace re2c
+{
+
+struct Tagpool;
+struct dfa_t;
+struct tcmd_t;
+
+struct clos_t
+{
+ nfa_state_t *origin; // for debug only
+ nfa_state_t *state;
+ size_t order; // vector of orders
+ size_t tvers; // vector of tag versions (including lookahead tags)
+ hidx_t ttran; // history of transition tags
+ hidx_t tlook; // history of lookahead tags
+
+ static inline bool fin(const clos_t &c) { return c.state->type == nfa_state_t::FIN; }
+ static inline bool ran(const clos_t &c) { return c.state->type == nfa_state_t::RAN; }
+};
+
+typedef std::vector<clos_t> closure_t;
+typedef closure_t::iterator clositer_t;
+typedef closure_t::const_iterator cclositer_t;
+typedef closure_t::reverse_iterator rclositer_t;
+typedef closure_t::const_reverse_iterator rcclositer_t;
+
+struct newver_t
+{
+ size_t tag;
+ tagver_t base;
+ hidx_t history;
+};
+
+struct newver_cmp_t
+{
+ tagtree_t &history;
+ bool operator()(const newver_t &x, const newver_t &y) const
+ {
+ if (x.tag < y.tag) return true;
+ if (x.tag > y.tag) return false;
+
+ if (x.base < y.base) return true;
+ if (x.base > y.base) return false;
+
+ return history.compare_plain(x.history, y.history, x.tag) < 0;
+ }
+};
+
+typedef std::map<newver_t, tagver_t, newver_cmp_t> newvers_t;
+
+tcmd_t *closure(dfa_t &dfa, closure_t &clos1, closure_t &clos2,
+ Tagpool &tagpool, newvers_t &newvers, closure_t *shadow);
+
+} // namespace re2c
+
+#endif // _RE2C_DFA_CLOSURE_
diff --git a/src/dfa/dead_rules.cc b/src/dfa/dead_rules.cc
new file mode 100644
index 00000000..296b1f6b
--- /dev/null
+++ b/src/dfa/dead_rules.cc
@@ -0,0 +1,252 @@
+#include <string.h>
+#include <set>
+#include <string>
+#include <valarray>
+#include <vector>
+
+#include "src/conf/warn.h"
+#include "src/dfa/dfa.h"
+#include "src/re/rule.h"
+#include "src/util/forbid_copy.h"
+
+namespace re2c
+{
+
+struct tcmd_t;
+
+/* note [unreachable rules]
+ *
+ * DFA may contain useless final states. Such states may
+ * appear as a result of:
+ * - (part of) one rule being shadowed by another rule,
+ * e.g. rule [ab] partially shadows [ac] and completely
+ * shadows [a]
+ *
+ * - infinite rules that greedily eat all input characters
+ * and never stop (they either fail on YYFILL or crash),
+ * e.g. [^]*
+ *
+ * - rules that contain never-matching link, e.g. '[]'
+ * with option '--empty-class match-none'
+ *
+ * Useless final states should be eliminated so that they
+ * don't interfere with further analyses and optimizations.
+ * If all final states of a rule are useless, then the whole
+ * rule is unreachable and should be reported.
+ *
+ * In order to find out if a given final state is useless,
+ * we have to find out if all outgoing paths from this state
+ * match longer rules (otherwise, some paths go to default
+ * state and fallback to this state). We do this by finding
+ * all states that have transitions to default state and back
+ * propagation of "none-rule" from these states. As the back
+ * propagation meets the first final state on its way, it
+ * substitutes "none-rule" with the corresponding rule,
+ * which is further propagated back to the start state of DFA.
+ */
+
+// reversed DFA
+struct rdfa_t
+{
+ struct arc_t
+ {
+ size_t dest;
+ arc_t *next;
+ };
+
+ struct state_t
+ {
+ arc_t *arcs;
+ size_t rule;
+ bool fallthru;
+ };
+
+ size_t nstates;
+ size_t nrules;
+ state_t *states;
+ arc_t *arcs;
+
+ explicit rdfa_t(const dfa_t &dfa)
+ : nstates(dfa.states.size())
+ , nrules(dfa.rules.size())
+ , states(new state_t[nstates]())
+ , arcs(new arc_t[nstates * dfa.nchars])
+ {
+ // init states
+ for (size_t i = 0; i < nstates; ++i) {
+ state_t &s = states[i];
+ s.arcs = NULL;
+ const size_t r = dfa.states[i]->rule;
+ s.rule = r == Rule::NONE ? nrules : r;
+ s.fallthru = false;
+ }
+ // init arcs
+ arc_t *a = arcs;
+ for (size_t i = 0; i < nstates; ++i) {
+ dfa_state_t *s = dfa.states[i];
+ for (size_t c = 0; c < dfa.nchars; ++c) {
+ const size_t j = s->arcs[c];
+ if (j != dfa_t::NIL) {
+ a->dest = i;
+ a->next = states[j].arcs;
+ states[j].arcs = a++;
+ } else {
+ states[i].fallthru = true;
+ }
+ }
+ }
+ }
+
+ ~rdfa_t()
+ {
+ delete[] states;
+ delete[] arcs;
+ }
+
+ FORBID_COPY(rdfa_t);
+};
+
+static void backprop(const rdfa_t &rdfa, bool *live,
+ size_t rule, size_t state)
+{
+ // "none-rule" is unreachable from final states:
+ // be careful to mask it before propagating
+ const rdfa_t::state_t &s = rdfa.states[state];
+ if (rule == rdfa.nrules) {
+ rule = s.rule;
+ }
+
+ // if the rule has already been set, than either it's a loop
+ // or another branch of back propagation has already been here,
+ // in both cases we should stop: there's nothing new to propagate
+ bool &l = live[rule * rdfa.nstates + state];
+ if (l) return;
+ l = true;
+
+ for (const rdfa_t::arc_t *a = s.arcs; a; a = a->next) {
+ backprop(rdfa, live, rule, a->dest);
+ }
+}
+
+static void liveness_analyses(const rdfa_t &rdfa, bool *live)
+{
+ for (size_t i = 0; i < rdfa.nstates; ++i) {
+ const rdfa_t::state_t &s = rdfa.states[i];
+ if (s.fallthru) {
+ backprop(rdfa, live, s.rule, i);
+ }
+ }
+}
+
+static void warn_dead_rules(const dfa_t &dfa, size_t defrule,
+ const std::string &cond, const bool *live, Warn &warn)
+{
+ const size_t nstates = dfa.states.size();
+ const size_t nrules = dfa.rules.size();
+
+ for (size_t i = 0; i < nstates; ++i) {
+ const size_t r = dfa.states[i]->rule;
+ if (r != Rule::NONE && !live[r * nstates + i]) {
+ // skip last rule (it's the NONE-rule)
+ for (size_t j = 0; j < nrules; ++j) {
+ if (live[j * nstates + i]) {
+ dfa.rules[r].shadow.insert(dfa.rules[j].code->fline);
+ }
+ }
+ }
+ }
+
+ for (size_t i = 0; i < nrules; ++i) {
+ // default rule '*' should not be reported
+ if (i != defrule && !live[i * nstates]) {
+ warn.unreachable_rule(cond, dfa.rules[i]);
+ }
+ }
+}
+
+static void remove_dead_final_states(dfa_t &dfa, const bool *fallthru)
+{
+ const size_t
+ nstates = dfa.states.size(),
+ nsym = dfa.nchars;
+
+ for (size_t i = 0; i < nstates; ++i) {
+ dfa_state_t *s = dfa.states[i];
+ if (s->rule == Rule::NONE) continue;
+
+ // final state is useful iff there is at least one
+ // non-accepting path from this state
+ bool shadowed = true;
+ for (size_t c = 0; c < nsym; ++c) {
+ const size_t j = s->arcs[c];
+ if (j == dfa_t::NIL || fallthru[j]) {
+ shadowed = false;
+ break;
+ }
+ }
+
+ if (shadowed) {
+ s->rule = Rule::NONE;
+ s->tcmd[nsym] = NULL;
+ }
+ }
+}
+
+/* note [fallback states]
+ *
+ * Find states that are accepting, but may be shadowed
+ * by other accepting states: when the short rule matches,
+ * lexer must try to match longer rules; if this attempt is
+ * unsuccessful it must fallback to the short match.
+ *
+ * In order to find fallback states we need to know if
+ * "none-rule" is reachable from the given state, the information
+ * we have after rule liveness analyses. Fallback states are
+ * needed at different points in time (both before and after
+ * certain transformations on DFA). Fortunately, fallback states
+ * are not affected by these transformations, so we can calculate
+ * them here and save for future use.
+ */
+static void find_fallback_states(dfa_t &dfa, const bool *fallthru)
+{
+ const size_t
+ nstate = dfa.states.size(),
+ nsym = dfa.nchars;
+
+ for (size_t i = 0; i < nstate; ++i) {
+ dfa_state_t *s = dfa.states[i];
+
+ s->fallthru = fallthru[i];
+
+ if (s->rule != Rule::NONE) {
+ for (size_t c = 0; c < nsym; ++c) {
+ const size_t j = s->arcs[c];
+ if (j != dfa_t::NIL && fallthru[j]) {
+ s->fallback = true;
+ break;
+ }
+ }
+ }
+ }
+}
+
+void cutoff_dead_rules(dfa_t &dfa, size_t defrule, const std::string &cond, Warn &warn)
+{
+ const rdfa_t rdfa(dfa);
+ const size_t
+ ns = rdfa.nstates,
+ nl = (rdfa.nrules + 1) * ns;
+ bool *live = new bool[nl],
+ *fallthru = live + nl - ns;
+ memset(live, 0, nl * sizeof(bool));
+
+ liveness_analyses(rdfa, live);
+ warn_dead_rules(dfa, defrule, cond, live, warn);
+ remove_dead_final_states(dfa, fallthru);
+ find_fallback_states(dfa, fallthru);
+
+ delete[] live;
+}
+
+} // namespace re2c
+
diff --git a/src/dfa/determinization.cc b/src/dfa/determinization.cc
new file mode 100644
index 00000000..f2f8347a
--- /dev/null
+++ b/src/dfa/determinization.cc
@@ -0,0 +1,194 @@
+#include <assert.h>
+#include "src/util/c99_stdint.h"
+#include <string.h>
+#include <algorithm>
+#include <limits>
+#include <set>
+#include <string>
+#include <valarray>
+#include <vector>
+
+#include "src/conf/opt.h"
+#include "src/conf/warn.h"
+#include "src/dfa/closure.h"
+#include "src/dfa/dfa.h"
+#include "src/dfa/dump.h"
+#include "src/dfa/find_state.h"
+#include "src/dfa/tagpool.h"
+#include "src/dfa/tagtree.h"
+#include "src/dfa/tcmd.h"
+#include "src/nfa/nfa.h"
+#include "src/re/rule.h"
+#include "src/re/tag.h"
+#include "src/util/range.h"
+
+namespace re2c
+{
+
+static nfa_state_t *transition(nfa_state_t *state, uint32_t symbol);
+static void reach(const kernel_t *kernel, closure_t &clos, uint32_t symbol);
+static void warn_nondeterministic_tags(const kernels_t &kernels,
+ const Tagpool &tagpool, const std::vector<Tag> &tags,
+ const std::valarray<Rule> &rules, const std::string &cond, Warn &warn);
+
+const size_t dfa_t::NIL = std::numeric_limits<size_t>::max();
+
+nfa_state_t *transition(nfa_state_t *state, uint32_t symbol)
+{
+ if (state->type != nfa_state_t::RAN) {
+ return NULL;
+ }
+ for (const Range *r = state->ran.ran; r; r = r->next()) {
+ if ((r->lower() <= symbol) && (symbol < r->upper())) {
+ return state->ran.out;
+ }
+ }
+ return NULL;
+}
+
+void reach(const kernel_t *kernel, closure_t &clos, uint32_t symbol)
+{
+ clos.clear();
+ for (size_t i = 0; i < kernel->size; ++i) {
+ nfa_state_t *s1 = kernel->state[i],
+ *s2 = transition(s1, symbol);
+ if (s2) {
+ clos_t c = {s1, s2, kernel->order[i], kernel->tvers[i],
+ kernel->tlook[i], HROOT};
+ clos.push_back(c);
+ }
+ }
+}
+
+dfa_t::dfa_t(const nfa_t &nfa, const opt_t *opts,
+ const std::string &cond, Warn &warn)
+ : states()
+ , nchars(nfa.charset.size() - 1) // (n + 1) bounds for n ranges
+ , charset(nfa.charset)
+ , rules(nfa.rules)
+ , tags(nfa.tags)
+ , mtagvers(*new std::set<tagver_t>)
+ , finvers(NULL)
+ , tcpool(*new tcpool_t)
+ , maxtagver(0)
+ , tcmd0(NULL)
+ , tcid0(TCID0)
+{
+ const size_t ntag = tags.size();
+ Tagpool tagpool(opts, ntag);
+ kernels_t kernels(tagpool, tcpool, tags);
+ closure_t clos1, clos2;
+ newver_cmp_t newvers_cmp = {tagpool.history};
+ newvers_t newvers(newvers_cmp);
+ tcmd_t *acts;
+ dump_dfa_t dump(*this, tagpool, nfa);
+
+ // all-zero tag configuration must have static number zero
+ assert(ZERO_TAGS == tagpool.insert_const(TAGVER_ZERO));
+ // initial tag versions: [1 .. N]
+ const size_t INITIAL_TAGS = tagpool.insert_succ(1);
+ // other versions: [ .. -(N + 1)] and [N + 1 .. ]
+ maxtagver = static_cast<tagver_t>(ntag);
+
+ // final/fallback versions will be assigned on the go
+ finvers = new tagver_t[ntag];
+ for (size_t i = 0; i < ntag; ++i) {
+ finvers[i] = fixed(tags[i]) ? TAGVER_ZERO : ++maxtagver;
+ }
+
+ // mark tags with history (initial and final)
+ for (size_t i = 0; i < ntag; ++i) {
+ if (history(tags[i])) {
+ tagver_t v = static_cast<tagver_t>(i) + 1, f = finvers[i];
+ if (f != TAGVER_ZERO) mtagvers.insert(f);
+ mtagvers.insert(v);
+ }
+ }
+
+ // iterate while new kernels are added: for each alphabet symbol,
+ // build tagged epsilon-closure of all reachable NFA states,
+ // then find identical or mappable DFA state or add a new one
+
+ clos_t c0 = {NULL, nfa.root, ZERO_TAGS, INITIAL_TAGS, HROOT, HROOT};
+ clos1.push_back(c0);
+ acts = closure(*this, clos1, clos2, tagpool, newvers, dump.shadow);
+ find_state(*this, dfa_t::NIL, 0/* any */, kernels, clos2, acts, dump);
+
+ for (size_t i = 0; i < kernels.size(); ++i) {
+ newvers.clear();
+ for (size_t c = 0; c < nchars; ++c) {
+ reach(kernels[i], clos1, charset[c]);
+ acts = closure(*this, clos1, clos2, tagpool, newvers, dump.shadow);
+ find_state(*this, i, c, kernels, clos2, acts, dump);
+ }
+ }
+
+ if (!opts->posix_captures) {
+ warn_nondeterministic_tags(kernels, tagpool, tags, rules, cond, warn);
+ }
+}
+
+/*
+ * For each tag, find maximal number of parallel versions of this tag
+ * used in each kernel (degree of non-determinism) and warn about tags with
+ * maximum degree two or more.
+ *
+ * WARNING: this function assumes that kernel items are grouped by rule
+ */
+void warn_nondeterministic_tags(const kernels_t &kernels,
+ const Tagpool &tagpool, const std::vector<Tag> &tags,
+ const std::valarray<Rule> &rules, const std::string &cond, Warn &warn)
+{
+ const size_t
+ ntag = tagpool.ntags,
+ nkrn = kernels.size();
+ std::vector<size_t> maxv(ntag, 0);
+ std::set<tagver_t> uniq;
+
+ for (size_t i = 0; i < nkrn; ++i) {
+ const kernel_t *k = kernels[i];
+ nfa_state_t **s = k->state;
+ const size_t n = k->size, *v = k->tvers;
+
+ for (size_t u = 0; u < n;) {
+ const size_t r = s[u]->rule;
+ const Rule &rule = rules[r];
+
+ const size_t l = u;
+ for (; ++u < n && s[u]->rule == r;);
+ for (size_t t = rule.ltag; t < rule.htag; ++t) {
+ uniq.clear();
+ for (size_t m = l; m < u; ++m) {
+ uniq.insert(tagpool[v[m]][t]);
+ }
+ maxv[t] = std::max(maxv[t], uniq.size());
+ }
+ }
+ }
+
+ const size_t nrule = rules.size();
+ for (size_t r = 0; r < nrule; ++r) {
+ const Rule &rule = rules[r];
+ for (size_t t = rule.ltag; t < rule.htag; ++t) {
+ const size_t m = maxv[t];
+ if (m > 1) {
+ const uint32_t line = rule.code->fline;
+ warn.nondeterministic_tags(line, cond, tags[t].name, m);
+ }
+ }
+ }
+}
+
+dfa_t::~dfa_t()
+{
+ std::vector<dfa_state_t*>::iterator
+ i = states.begin(),
+ e = states.end();
+ for (; i != e; ++i)
+ {
+ delete *i;
+ }
+}
+
+} // namespace re2c
+
diff --git a/src/dfa/dfa.h b/src/dfa/dfa.h
new file mode 100644
index 00000000..2135623f
--- /dev/null
+++ b/src/dfa/dfa.h
@@ -0,0 +1,86 @@
+#ifndef _RE2C_DFA_DFA_
+#define _RE2C_DFA_DFA_
+
+#include "src/util/c99_stdint.h"
+#include <valarray>
+#include <vector>
+#include <set>
+
+#include "src/conf/warn.h"
+#include "src/dfa/tcmd.h"
+#include "src/re/rule.h"
+#include "src/re/tag.h"
+#include "src/util/forbid_copy.h"
+
+namespace re2c
+{
+
+struct nfa_t;
+struct opt_t;
+struct Tagpool;
+
+struct dfa_state_t
+{
+ size_t *arcs;
+ tcmd_t **tcmd;
+ tcid_t *tcid;
+ size_t rule;
+ bool fallthru;
+ bool fallback;
+
+ explicit dfa_state_t(size_t nchars)
+ : arcs(new size_t[nchars])
+ , tcmd(new tcmd_t*[nchars + 2]()) // +2 for final and fallback epsilon-transitions
+ , tcid(NULL)
+ , rule(Rule::NONE)
+ , fallthru(false)
+ , fallback(false)
+ {}
+ ~dfa_state_t()
+ {
+ delete[] arcs;
+ delete[] tcmd;
+ delete[] tcid;
+ }
+ FORBID_COPY(dfa_state_t);
+};
+
+struct dfa_t
+{
+ static const size_t NIL;
+
+ std::vector<dfa_state_t*> states;
+ const size_t nchars;
+ std::vector<uint32_t> &charset;
+ std::valarray<Rule> &rules;
+ std::vector<Tag> &tags;
+ std::set<tagver_t> &mtagvers;
+ tagver_t *finvers;
+ tcpool_t &tcpool;
+ tagver_t maxtagver;
+ tcmd_t *tcmd0;
+ tcid_t tcid0;
+
+ dfa_t(const nfa_t &nfa, const opt_t *opts,
+ const std::string &cond, Warn &warn);
+ ~dfa_t();
+
+ FORBID_COPY(dfa_t);
+};
+
+enum dfa_minimization_t
+{
+ DFA_MINIMIZATION_TABLE,
+ DFA_MINIMIZATION_MOORE
+};
+
+void minimization(dfa_t &dfa, dfa_minimization_t type);
+void fillpoints(const dfa_t &dfa, std::vector<size_t> &fill);
+void cutoff_dead_rules(dfa_t &dfa, size_t defrule, const std::string &cond, Warn &warn);
+void insert_fallback_tags(dfa_t &dfa);
+void compact_and_optimize_tags(dfa_t &dfa, bool optimize);
+void freeze_tags(dfa_t &dfa);
+
+} // namespace re2c
+
+#endif // _RE2C_DFA_DFA_
diff --git a/src/dfa/dump.cc b/src/dfa/dump.cc
new file mode 100644
index 00000000..7f8d505e
--- /dev/null
+++ b/src/dfa/dump.cc
@@ -0,0 +1,328 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string>
+#include <valarray>
+#include <vector>
+
+#include "src/conf/opt.h"
+#include "src/dfa/dfa.h"
+#include "src/dfa/dump.h"
+#include "src/dfa/tagpool.h"
+#include "src/dfa/tagtree.h"
+#include "src/dfa/tcmd.h"
+#include "src/nfa/nfa.h"
+#include "src/re/rule.h"
+#include "src/re/tag.h"
+
+namespace re2c
+{
+
+static void dump_tcmd_or_tcid(tcmd_t *const *tcmd, const tcid_t *tcid, size_t sym, const tcpool_t &tcpool);
+static const char *tagname(const Tag &t);
+static void dump_tags(const Tagpool &tagpool, hidx_t ttran, size_t tvers);
+
+dump_dfa_t::dump_dfa_t(const dfa_t &d, const Tagpool &pool, const nfa_t &n)
+ : debug(pool.opts->dump_dfa_raw)
+ , dfa(d)
+ , tagpool(pool)
+ , uniqidx(0)
+ , base(n.states)
+ , shadow(NULL)
+{
+ if (!debug) return;
+
+ shadow = new closure_t;
+ fprintf(stderr, "digraph DFA {\n"
+ " rankdir=LR\n"
+ " node[shape=plaintext fontname=fixed]\n"
+ " edge[arrowhead=vee fontname=fixed]\n\n");
+}
+
+dump_dfa_t::~dump_dfa_t()
+{
+ if (!debug) return;
+
+ delete shadow;
+ fprintf(stderr, "}\n");
+}
+
+uint32_t dump_dfa_t::index(const nfa_state_t *s) const
+{
+ return static_cast<uint32_t>(s - base);
+}
+
+static void dump_history(const dfa_t &dfa, const tagtree_t &h, hidx_t i)
+{
+ if (i == HROOT) {
+ fprintf(stderr, " /");
+ return;
+ }
+
+ dump_history(dfa, h, h.pred(i));
+
+ const Tag &t = dfa.tags[h.tag(i)];
+ const tagver_t v = h.elem(i);
+ if (capture(t)) {
+ fprintf(stderr, "%u", (uint32_t)t.ncap);
+ } else if (!trailing(t)) {
+ fprintf(stderr, "%s", t.name->c_str());
+ }
+ fprintf(stderr, v == TAGVER_BOTTOM ? "&darr;" : "&uarr;");
+ fprintf(stderr, " ");
+}
+
+void dump_dfa_t::closure_tags(cclositer_t c)
+{
+ if (!debug) return;
+ if (c->tvers == ZERO_TAGS) return;
+
+ const hidx_t l = c->tlook;
+ const tagver_t *vers = tagpool[c->tvers];
+// const tagver_t *ords = tagpool[c->order];
+ const size_t ntag = tagpool.ntags;
+
+ for (size_t t = 0; t < ntag; ++t) {
+ fprintf(stderr, " %s%d", tagname(dfa.tags[t]), abs(vers[t]));
+// if (tagpool.opts->posix_captures) {
+// fprintf(stderr, "[%d]", ords[t]);
+// }
+ }
+
+ if (l != HROOT) {
+ dump_history(dfa, tagpool.history, l);
+ }
+}
+
+void dump_dfa_t::closure(const closure_t &clos, uint32_t state, bool isnew)
+{
+ if (!debug) return;
+
+ cclositer_t c1 = clos.begin(), c2 = clos.end(), c,
+ s1 = shadow->begin(), s2 = shadow->end(), s;
+ const char
+ *style = isnew ? "" : " STYLE=\"dotted\"",
+ *color = " COLOR=\"lightgray\"";
+
+ fprintf(stderr, " %s%u [label=<<TABLE"
+ " BORDER=\"0\""
+ " CELLBORDER=\"1\""
+ ">", isnew ? "" : "i", state);
+
+ for (s = s1; s != s2; ++s) {
+ fprintf(stderr, "<TR><TD ALIGN=\"left\" PORT=\"_%u_%d\"%s%s><FONT%s>%u",
+ index(s->state), (int)(s - s1), color, style, color, index(s->state));
+ closure_tags(s);
+ fprintf(stderr, "</FONT></TD></TR>");
+ }
+ if (!shadow->empty()) {
+ fprintf(stderr, "<TR><TD BORDER=\"0\"></TD></TR>");
+ }
+ for (c = c1; c != c2; ++c) {
+ fprintf(stderr, "<TR><TD ALIGN=\"left\" PORT=\"%u\"%s>%u",
+ index(c->state), style, index(c->state));
+ closure_tags(c);
+ fprintf(stderr, "</TD></TR>");
+ }
+ fprintf(stderr, "</TABLE>>]\n");
+}
+
+void dump_dfa_t::state0(const closure_t &clos)
+{
+ if (!debug) return;
+
+ closure(clos, 0, true);
+ fprintf(stderr, " void [shape=point]\n");
+ for (cclositer_t c = shadow->begin(); c != shadow->end(); ++c) {
+ fprintf(stderr, " void -> 0:_%u_%d:w [style=dotted color=lightgray fontcolor=lightgray label=\"",
+ index(c->state), (int)(c - shadow->begin()));
+ dump_tags(tagpool, c->ttran, c->tvers);
+ fprintf(stderr, "\"]\n");
+ }
+ for (cclositer_t c = clos.begin(); c != clos.end(); ++c) {
+ fprintf(stderr, " void -> 0:%u:w [style=dotted label=\"", index(c->state));
+ dump_tags(tagpool, c->ttran, c->tvers);
+ fprintf(stderr, "\"]\n");
+ }
+}
+
+void dump_dfa_t::state(const closure_t &clos, size_t state, size_t symbol, bool isnew)
+{
+ if (!debug) return;
+
+ const dfa_state_t *s = dfa.states[state];
+ const size_t state2 = s->arcs[symbol];
+
+ if (state2 == dfa_t::NIL) return;
+
+ const tcmd_t *cmd = s->tcmd[symbol];
+ const uint32_t
+ a = static_cast<uint32_t>(symbol),
+ x = static_cast<uint32_t>(state),
+ y = static_cast<uint32_t>(state2),
+ z = isnew ? y : ++uniqidx;
+ const char *prefix = isnew ? "" : "i";
+
+ closure(clos, z, isnew);
+ if (!isnew) {
+ fprintf(stderr, " i%u [style=dotted]\n"
+ " i%u:s -> %u:s [style=dotted label=\"", z, z, y);
+ dump_tcmd(cmd);
+ fprintf(stderr, "\"]\n");
+ }
+ for (cclositer_t b = shadow->begin(), c = b; c != shadow->end(); ++c) {
+ fprintf(stderr, " %u:%u:e -> %s%u:_%u_%d:w [color=lightgray fontcolor=lightgray label=\"%u",
+ x, index(c->origin), prefix, z, index(c->state), (int)(c - b), a);
+ dump_tags(tagpool, c->ttran, c->tvers);
+ fprintf(stderr, "\"]\n");
+ }
+ for (cclositer_t c = clos.begin(); c != clos.end(); ++c) {
+ fprintf(stderr, " %u:%u:e -> %s%u:%u:w [label=\"%u",
+ x, index(c->origin), prefix, z, index(c->state), a);
+ dump_tags(tagpool, c->ttran, c->tvers);
+ fprintf(stderr, "\"]\n");
+ }
+}
+
+void dump_dfa_t::final(size_t state, const nfa_state_t *port)
+{
+ if (!debug) return;
+
+ const dfa_state_t *s = dfa.states[state];
+ const Rule &r = dfa.rules[s->rule];
+ const tcmd_t *cmd = s->tcmd[dfa.nchars];
+ const uint32_t x = static_cast<uint32_t>(state);
+
+ fprintf(stderr, " r%u [shape=none label=\"(", x);
+ for (size_t t = r.ltag; t < r.htag; ++t) {
+ if (t > r.ltag) fprintf(stderr, " ");
+ fprintf(stderr, "%s%d", tagname(dfa.tags[t]), abs(dfa.finvers[t]));
+ }
+ fprintf(stderr, ")\"]\n");
+
+ fprintf(stderr, " %u:%u:e -> r%u [style=dotted label=\"", x, index(port), x);
+ dump_tcmd(cmd);
+ fprintf(stderr, "\"]\n");
+}
+
+void dump_dfa(const dfa_t &dfa)
+{
+ const size_t
+ nstate = dfa.states.size(),
+ nsym = dfa.nchars;
+
+ fprintf(stderr,
+ "digraph DFA {\n"
+ " rankdir=LR\n"
+ " node[shape=Mrecord fontname=fixed]\n"
+ " edge[arrowhead=vee fontname=fixed]\n\n");
+
+ // initializer
+ fprintf(stderr,
+ " n [shape=point]"
+ " n -> n0 [style=dotted label=\"");
+ dump_tcmd_or_tcid(dfa.tcmd0 ? &dfa.tcmd0 : NULL, &dfa.tcid0, 0, dfa.tcpool);
+ fprintf(stderr, "\"]\n");
+
+ for (uint32_t i = 0; i < nstate; ++i) {
+ const dfa_state_t *s = dfa.states[i];
+
+ // state
+ fprintf(stderr, " n%u [height=0.2 width=0.2 label=\"%u\"]\n", i, i);
+
+ // finalizer
+ if (s->rule != Rule::NONE) {
+ const Rule &r = dfa.rules[s->rule];
+
+ fprintf(stderr,
+ "subgraph { rank=same"
+ " n%u [style=filled fillcolor=lightgray]"
+ " dr%u [shape=none label=\"",
+ i, i);
+ dump_tcmd_or_tcid(s->tcmd, s->tcid, nsym, dfa.tcpool);
+
+ fprintf(stderr, "(");
+ for (size_t t = r.ltag; t < r.htag; ++t) {
+ if (t > r.ltag) fprintf(stderr, " ");
+ fprintf(stderr, "%d", dfa.finvers[t]);
+ }
+ fprintf(stderr, ")");
+
+ fprintf(stderr, "\"]"
+ " n%u:s -> dr%u:n [style=dotted minlen=0]}\n",
+ i, i);
+ }
+
+ // transitions
+ for (uint32_t c = 0; c < nsym; ++c) {
+ const size_t j = s->arcs[c];
+ if (j != dfa_t::NIL) {
+ fprintf(stderr, " n%u -> n%u [label=\"%u",
+ i, static_cast<uint32_t>(j), c);
+ dump_tcmd_or_tcid(s->tcmd, s->tcid, c, dfa.tcpool);
+ fprintf(stderr, "\"]\n");
+ }
+ }
+ }
+
+ fprintf(stderr, "}\n");
+}
+
+void dump_tcmd_or_tcid(tcmd_t *const *tcmd, const tcid_t *tcid,
+ size_t sym, const tcpool_t &tcpool)
+{
+ const tcmd_t *cmd = tcmd ? tcmd[sym] : tcpool[tcid[sym]];
+ dump_tcmd(cmd);
+}
+
+void dump_tcmd(const tcmd_t *p)
+{
+ if (!p) return;
+
+ fprintf(stderr, "/");
+ for (; p; p = p->next) {
+ const tagver_t l = p->lhs, r = p->rhs, *h = p->history;
+ if (tcmd_t::iscopy(p)) {
+ fprintf(stderr, "%d=%d ", l, r);
+ } else {
+ fprintf(stderr, "%d", l);
+ if (r != TAGVER_ZERO) {
+ fprintf(stderr, "=%d", r);
+ }
+ for (; *h != TAGVER_ZERO; ++h) {
+ fprintf(stderr, "%s", *h == TAGVER_BOTTOM ? "&darr;" : "&uarr;");
+ }
+ fprintf(stderr, " ");
+ }
+ }
+}
+
+const char *tagname(const Tag &t)
+{
+ return t.name ? t.name->c_str() : "";
+}
+
+void dump_tags(const Tagpool &tagpool, hidx_t ttran, size_t tvers)
+{
+ if (ttran == HROOT) return;
+
+ const tagver_t *vers = tagpool[tvers];
+ const tagtree_t &h = tagpool.history;
+
+ fprintf(stderr, "/");
+ for (size_t i = 0; i < tagpool.ntags; ++i) {
+ if (h.last(ttran, i) == TAGVER_ZERO) continue;
+
+ fprintf(stderr, "%d", abs(vers[i]));
+ for (hidx_t t = ttran; t != HROOT; t = h.pred(t)) {
+ if (h.tag(t) != i) continue;
+ if (h.elem(t) < TAGVER_ZERO) {
+ fprintf(stderr, "&darr;");
+ } else if (t > TAGVER_ZERO) {
+ fprintf(stderr, "&uarr;");
+ }
+ }
+ fprintf(stderr, " ");
+ }
+}
+
+} // namespace re2c
diff --git a/src/dfa/dump.h b/src/dfa/dump.h
new file mode 100644
index 00000000..c58e2810
--- /dev/null
+++ b/src/dfa/dump.h
@@ -0,0 +1,45 @@
+#ifndef _RE2C_DFA_DUMP_
+#define _RE2C_DFA_DUMP_
+
+#include <stddef.h>
+#include "src/util/c99_stdint.h"
+
+#include "src/dfa/closure.h"
+#include "src/dfa/dfa.h"
+#include "src/util/forbid_copy.h"
+
+namespace re2c
+{
+
+struct Tagpool;
+struct dfa_t;
+struct nfa_state_t;
+struct nfa_t;
+struct tcmd_t;
+
+struct dump_dfa_t
+{
+ const bool debug;
+ const dfa_t &dfa;
+ const Tagpool &tagpool;
+ uint32_t uniqidx;
+ const nfa_state_t *base;
+ closure_t *shadow;
+
+ dump_dfa_t(const dfa_t &d, const Tagpool &pool, const nfa_t &n);
+ ~dump_dfa_t();
+ void closure_tags(cclositer_t c);
+ void closure(const closure_t &clos, uint32_t state, bool isnew);
+ void state0(const closure_t &clos);
+ void state(const closure_t &clos, size_t state, size_t symbol, bool isnew);
+ void final(size_t state, const nfa_state_t *port);
+ uint32_t index(const nfa_state_t *s) const;
+ FORBID_COPY(dump_dfa_t);
+};
+
+void dump_dfa(const dfa_t &dfa);
+void dump_tcmd(const tcmd_t *p);
+
+} // namespace re2c
+
+#endif // _RE2C_DFA_DUMP_
diff --git a/src/dfa/fallback_tags.cc b/src/dfa/fallback_tags.cc
new file mode 100644
index 00000000..5eee2563
--- /dev/null
+++ b/src/dfa/fallback_tags.cc
@@ -0,0 +1,132 @@
+#include <stddef.h>
+#include <algorithm>
+#include <vector>
+
+#include "src/dfa/dfa.h"
+#include "src/dfa/tcmd.h"
+#include "src/re/tag.h"
+
+namespace re2c
+{
+
+static void find_overwritten_tags(const dfa_t &dfa, size_t state, bool *been, bool *owrt);
+
+/* note [fallback tags]
+ *
+ * We need to backup tags in fallback states, because they may be
+ * overwritten on some non-accepting path from fallback state.
+ * Two different things may cause overwrites:
+ *
+ * (1) self-overlapping rules: if DFA has tagged cycles, new iteration
+ * may overwrite tags from previous iteration and then fail
+ *
+ * (2) overlapping rules: intially all rules have different tags, but
+ * optiizations may merge them; then shorter rule's tags may be
+ * overwritten by an unsuccessful attempt to match longer rule
+ *
+ * In case (2) we can prevent merging by propagating tag liveness on
+ * all non-accepting paths from fallback state.
+ *
+ * Case (1) is not so easy: overwrites are already embedded in DFA.
+ * We have to create backup copies for all potentially overwritten
+ * tags. If tag is overwritten on just one path, it should be backed
+ * up on all non-accepting paths from fallback state (because paths
+ * may join later along the way and they need common tag version).
+ * However, redundant backups cause artificial interference, so we
+ * only create backup if the origin is overwritten on some path.
+ */
+
+void find_overwritten_tags(const dfa_t &dfa, size_t state,
+ bool *been, bool *owrt)
+{
+ if (been[state]) return;
+ been[state] = true;
+
+ const dfa_state_t *s = dfa.states[state];
+ for (size_t c = 0; c < dfa.nchars; ++c) {
+ for (const tcmd_t *p = s->tcmd[c]; p; p = p->next) {
+ owrt[p->lhs] = true;
+ }
+
+ size_t dest = s->arcs[c];
+ if (dest != dfa_t::NIL && dfa.states[dest]->fallthru) {
+ find_overwritten_tags(dfa, dest, been, owrt);
+ }
+ }
+}
+
+// overwritten tags need 'copy' on all outgoing non-accepting paths
+// ('copy' commands must go first, before potential overwrites)
+static void backup(dfa_t &dfa, dfa_state_t *s, tagver_t l, tagver_t r)
+{
+ for (size_t c = 0; c < dfa.nchars; ++c) {
+ size_t i = s->arcs[c];
+ if (i != dfa_t::NIL && dfa.states[i]->fallthru) {
+ tcmd_t *&p = s->tcmd[c];
+ p = dfa.tcpool.make_copy(p, l, r);
+ }
+ }
+}
+
+// WARNING: this function assumes that falthrough and fallback
+// attributes of DFA states have already been calculated, see
+// note [fallback states]
+void insert_fallback_tags(dfa_t &dfa)
+{
+ tcpool_t &pool = dfa.tcpool;
+ const size_t
+ nstates = dfa.states.size(),
+ nsym = dfa.nchars,
+ nver = static_cast<size_t>(dfa.maxtagver) + 1;
+ bool *been = new bool[nstates];
+ bool *owrt = new bool[nver];
+
+ for (size_t i = 0; i < nstates; ++i) {
+ dfa_state_t *s = dfa.states[i];
+ if (!s->fallback) continue;
+
+ std::fill(been, been + nstates, false);
+ std::fill(owrt, owrt + nver, false);
+ find_overwritten_tags(dfa, i, been, owrt);
+
+ tcmd_t *p = s->tcmd[nsym],
+ *save = NULL, **ps = &save,
+ **pc = &s->tcmd[nsym + 1];
+ for (; p; p = p->next) {
+ const tagver_t l = p->lhs, r = p->rhs, *h = p->history;
+
+ // 'copy' commands
+ if (tcmd_t::iscopy(p)) {
+ if (!owrt[r]) {
+ *pc = pool.make_copy(NULL, l, r);
+ pc = &(*pc)->next;
+ } else {
+ backup(dfa, s, l, r);
+ }
+
+ // 'save without history' commands
+ } else if (tcmd_t::isset(p)) {
+ *ps = pool.make_set(*ps, l, h[0]);
+ ps = &(*ps)->next;
+
+ // 'save with history' commands
+ } else {
+ if (!owrt[r]) {
+ *ps = pool.copy_add(NULL, l, r, h);
+ } else {
+ *ps = pool.copy_add(NULL, l, l, h);
+ backup(dfa, s, l, r);
+ }
+ ps = &(*ps)->next;
+ }
+ }
+
+ // join 'copy' (fallback) and 'save' commands
+ *pc = save;
+ }
+
+ delete[] been;
+ delete[] owrt;
+}
+
+} // namespace re2c
diff --git a/src/ir/dfa/fillpoints.cc b/src/dfa/fillpoints.cc
index f4488ea7..1e2c844b 100644
--- a/src/ir/dfa/fillpoints.cc
+++ b/src/dfa/fillpoints.cc
@@ -1,14 +1,15 @@
+#include <stddef.h>
#include <limits>
#include <stack>
#include <vector>
-#include "src/ir/dfa/dfa.h"
+#include "src/dfa/dfa.h"
namespace re2c
{
-static const size_t INFINITY = std::numeric_limits<size_t>::max();
-static const size_t UNDEFINED = INFINITY - 1;
+static const size_t SCC_INF = std::numeric_limits<size_t>::max();
+static const size_t SCC_UND = SCC_INF - 1;
static bool loopback(size_t node, size_t narcs, const size_t *arcs)
{
@@ -37,13 +38,13 @@ static bool loopback(size_t node, size_t narcs, const size_t *arcs)
* We use lowlink to hold different kinds of information:
* - values in range [0 .. stack size] mean that this node is on stack
* (link to a node with the smallest index reachable from this one)
- * - UNDEFINED means that this node has not been visited yet
- * - INFINITY means that this node has already been popped off stack
+ * - SCC_UND means that this node has not been visited yet
+ * - SCC_INF means that this node has already been popped off stack
*
* We use stack size (rather than topological sort index) as unique index
* of a node on stack. This is safe because indices of nodes on stack are
* still unique and less than indices of nodes that have been popped off
- * stack (INFINITY).
+ * stack (SCC_INF).
*
*/
static void scc(
@@ -63,7 +64,7 @@ static void scc(
const size_t j = arcs[c];
if (j != dfa_t::NIL)
{
- if (lowlink[j] == UNDEFINED)
+ if (lowlink[j] == SCC_UND)
{
scc(dfa, stack, lowlink, trivial, j);
}
@@ -87,7 +88,7 @@ static void scc(
{
j = stack.top();
stack.pop();
- lowlink[j] = INFINITY;
+ lowlink[j] = SCC_INF;
}
while (j != i);
}
@@ -99,7 +100,7 @@ static void calc_fill(
std::vector<size_t> &fill,
size_t i)
{
- if (fill[i] == UNDEFINED)
+ if (fill[i] == SCC_UND)
{
fill[i] = 0;
const size_t *arcs = dfa.states[i]->arcs;
@@ -129,13 +130,13 @@ void fillpoints(const dfa_t &dfa, std::vector<size_t> &fill)
// find DFA states that belong to non-trivial SCC
std::stack<size_t> stack;
- std::vector<size_t> lowlink(size, UNDEFINED);
+ std::vector<size_t> lowlink(size, SCC_UND);
std::vector<bool> trivial(size, false);
scc(dfa, stack, lowlink, trivial, 0);
// for each DFA state, calculate YYFILL argument:
// maximal path length to the next YYFILL state
- fill.resize(size, UNDEFINED);
+ fill.resize(size, SCC_UND);
calc_fill(dfa, trivial, fill, 0);
// The following states must trigger YYFILL:
diff --git a/src/dfa/find_state.cc b/src/dfa/find_state.cc
new file mode 100644
index 00000000..fe044bca
--- /dev/null
+++ b/src/dfa/find_state.cc
@@ -0,0 +1,418 @@
+#include <assert.h>
+#include <stdlib.h>
+#include <string.h>
+#include <algorithm>
+#include <valarray>
+
+#include "src/dfa/dfa.h"
+#include "src/dfa/dump.h"
+#include "src/dfa/find_state.h"
+#include "src/dfa/tagpool.h"
+#include "src/dfa/tcmd.h"
+#include "src/nfa/nfa.h"
+#include "src/re/rule.h"
+#include "src/util/hash32.h"
+
+namespace re2c
+{
+
+kernel_t::kernel_t(size_t n)
+ : size(n)
+ , state(new nfa_state_t*[size])
+ , tvers(new size_t[size])
+ , tlook(new hidx_t[size])
+ , order(new size_t[size])
+{}
+
+kernel_t *kernel_t::copy(const kernel_t &k)
+{
+ const size_t n = k.size;
+ kernel_t *kcopy = new kernel_t(n);
+ memcpy(kcopy->state, k.state, n * sizeof(void*));
+ memcpy(kcopy->tvers, k.tvers, n * sizeof(size_t));
+ memcpy(kcopy->tlook, k.tlook, n * sizeof(hidx_t));
+ memcpy(kcopy->order, k.order, n * sizeof(size_t));
+ return kcopy;
+}
+
+kernel_t::~kernel_t()
+{
+ delete[] state;
+ delete[] tvers;
+ delete[] tlook;
+ delete[] order;
+}
+
+static bool equal_lookahead_tags(const kernel_t *x, const kernel_t *y,
+ Tagpool &tagpool, const std::vector<Tag> &tags)
+{
+ if (memcmp(x->tlook, y->tlook, x->size * sizeof(hidx_t)) == 0) {
+ return true;
+ }
+ tagtree_t &h = tagpool.history;
+ for (size_t i = 0; i < x->size; ++i) {
+ const hidx_t xl = x->tlook[i], yl = y->tlook[i];
+ for (size_t t = 0; t < tagpool.ntags; ++t) {
+ if (history(tags[t])) {
+ // compare subhistories
+ if (h.compare_plain(xl, yl, t) != 0) return false;
+ } else {
+ // compare only the last tags
+ if (h.last(xl, t) != h.last(yl, t)) return false;
+ }
+ }
+ }
+ return true;
+}
+
+struct kernel_eq_t
+{
+ Tagpool &tagpool;
+ const std::vector<Tag> &tags;
+ bool operator()(const kernel_t *x, const kernel_t *y) const
+ {
+ return x->size == y->size
+ && memcmp(x->state, y->state, x->size * sizeof(void*)) == 0
+ && memcmp(x->tvers, y->tvers, x->size * sizeof(size_t)) == 0
+ && memcmp(x->order, y->order, x->size * sizeof(size_t)) == 0
+ && equal_lookahead_tags(x, y, tagpool, tags);
+ }
+};
+
+/* note [mapping ignores items with lookahead tags]
+ *
+ * Consider two items X and Y being mapped.
+ *
+ * If tag T belongs to lookahead tags of item X, then all
+ * outgoing transitions from item X update T. Which means
+ * that it doesn't matter what particular version T has in X:
+ * whatever version it has, it will be overwritten by any
+ * outgoing transition.
+ *
+ * Note that lookahead tags are identical for both items
+ * X and Y, because we only try to map DFA states with
+ * identical lookahead tags.
+ */
+
+/* note [save(X), copy(Y,X) optimization]
+ *
+ * save(X) command followed by a copy(Y,X) command can be optimized to
+ * save(Y). This helps reduce the number commands and versions (new version
+ * X is gone), but what is more important, it allows to put copy commands
+ * in front of save commands. This order is necessary when it comes to
+ * fallback commands.
+ *
+ * Note that in case of injective mapping there may be more than one copy
+ * command matching the same save command: save(X), copy(Y,X), copy(Z,X).
+ * In this case save command must be replicated for each copy command:
+ * save(Y), save(Z).
+ *
+ * For each save(X) command there must be at least one copy(Y,X) command
+ * (exactly one case of bijective mapping). This is because X version in
+ * save(X) command must be a new version which cannot occur in the older
+ * DFA state. Thus all save commands are transformed (maybe replicated) by
+ * copy commands, and some copy commands are erased by save commands.
+ *
+ * This optimization is applied after checking priority violation, so it
+ * cannot affect the check.
+*/
+
+bool kernels_t::operator()(const kernel_t *k1, const kernel_t *k2)
+{
+ // check that kernel sizes, NFA states and orders coincide
+ const bool compatible = k1->size == k2->size
+ && memcmp(k1->state, k2->state, k1->size * sizeof(void*)) == 0
+ && memcmp(k1->order, k2->order, k1->size * sizeof(size_t)) == 0
+ && equal_lookahead_tags(k1, k2, tagpool, tags);
+ if (!compatible) return false;
+
+ // map tag versions of one kernel to that of another
+ // and check that lookahead versions (if any) coincide
+ const size_t ntag = tagpool.ntags;
+ std::fill(x2y - max, x2y + max, TAGVER_ZERO);
+ std::fill(y2x - max, y2x + max, TAGVER_ZERO);
+ for (size_t i = 0; i < k1->size; ++i) {
+ const tagver_t
+ *xv = tagpool[k1->tvers[i]],
+ *yv = tagpool[k2->tvers[i]];
+ const hidx_t xl = k1->tlook[i];
+
+ for (size_t t = 0; t < ntag; ++t) {
+ // see note [mapping ignores items with lookahead tags]
+ if (tagpool.history.last(xl, t) != TAGVER_ZERO
+ && !history(tags[t])) continue;
+
+ const tagver_t x = xv[t], y = yv[t];
+ tagver_t &x0 = y2x[y], &y0 = x2y[x];
+
+ if (y0 == TAGVER_ZERO && x0 == TAGVER_ZERO) {
+ x0 = x;
+ y0 = y;
+ x2t[x] = t;
+ } else if (y != y0 || x != x0) {
+ return false;
+ }
+ }
+ }
+
+ // we have bijective mapping; now try to create list of commands
+ tcmd_t *a, **pa, *copy = NULL;
+
+ // backup 'save' commands: if topsort finds cycles, this mapping
+ // will be rejected and we'll have to revert all changes
+ size_t nact = 0;
+ for (a = *pacts; a; a = a->next) {
+ actnext[nact] = a;
+ actlhs[nact] = a->lhs;
+ ++nact;
+ }
+
+ // fix LHS of 'save' commands to reuse old version
+ // see note [save(X), copy(Y,X) optimization]
+ for (a = *pacts; a; a = a->next) {
+ const tagver_t
+ y = a->lhs * (a->history[0] == TAGVER_BOTTOM ? -1 : 1),
+ x = y2x[y];
+ a->lhs = abs(x);
+ y2x[y] = x2y[x] = TAGVER_ZERO;
+ }
+
+ // create 'copy' commands
+ for (tagver_t x = -max; x < max; ++x) {
+ const tagver_t y = x2y[x], ax = abs(x), ay = abs(y);
+ if (y != TAGVER_ZERO && x != y && !fixed(tags[x2t[x]])) {
+ assert(ax != ay);
+ copy = tcpool.make_copy(copy, ax, ay);
+ }
+ }
+
+ // join 'copy' and 'save' commands
+ for (pa = &copy; (a = *pa); pa = &a->next);
+ *pa = *pacts;
+ *pacts = copy;
+
+ // see note [topological ordering of copy commands]
+ const bool nontrivial_cycles = tcmd_t::topsort(pacts, indeg);
+
+ // in case of cycles restore 'save' commands and fail
+ if (nontrivial_cycles) {
+ pa = pacts;
+ for (size_t i = 0; i < nact; ++i) {
+ *pa = a = actnext[i];
+ a->lhs = actlhs[i];
+ pa = &a->next;
+ }
+ *pa = NULL;
+ }
+
+ return !nontrivial_cycles;
+}
+
+kernels_t::kernels_t(Tagpool &tagp, tcpool_t &tcp, const std::vector<Tag> &ts)
+ : lookup()
+ , tagpool(tagp)
+ , tcpool(tcp)
+ , tags(ts)
+
+ , maxsize(0) // usually ranges from one to some twenty
+ , buffer(new kernel_t(maxsize))
+
+ , cap(0)
+ , max(0)
+ , mem(NULL)
+ , x2y(NULL)
+ , y2x(NULL)
+ , x2t(NULL)
+ , indeg(NULL)
+
+ , pacts(NULL)
+ , actnext(NULL)
+ , actlhs(NULL)
+{}
+
+kernels_t::~kernels_t()
+{
+ delete buffer;
+ delete[] mem;
+
+ const size_t n = lookup.size();
+ for (size_t i = 0; i < n; ++i) {
+ delete lookup[i];
+ }
+}
+
+void kernels_t::init(tagver_t v, size_t nkern)
+{
+ if (maxsize < nkern) {
+ maxsize = nkern * 2; // in advance
+ delete buffer;
+ buffer = new kernel_t(maxsize);
+ }
+
+ // +1 to ensure max tag version is not forgotten in loops
+ max = v + 1;
+ if (cap < max) {
+ cap = max * 2; // in advance
+
+ const size_t
+ n = static_cast<size_t>(cap),
+ m = 2 * n + 1,
+ sz_x2y = 2 * m * sizeof(tagver_t),
+ sz_x2t = m * sizeof(size_t),
+ sz_actnext = n * sizeof(tcmd_t*),
+ sz_actlhs = n * sizeof(tagver_t),
+ sz_indeg = n * sizeof(uint32_t);
+ delete[] mem;
+ mem = new char[sz_x2y + sz_x2t + sz_actnext + sz_actlhs + sz_indeg];
+
+ // point to the center (zero index) of each buffer
+ // indexes in range [-N .. N] must be valid, where N is capacity
+ x2y = reinterpret_cast<tagver_t*>(mem) + cap;
+ y2x = x2y + m;
+ x2t = reinterpret_cast<size_t*>(mem + sz_x2y) + cap;
+ actnext = reinterpret_cast<tcmd_t**>(mem + sz_x2y + sz_x2t);
+ actlhs = reinterpret_cast<tagver_t*>(mem + sz_x2y + sz_x2t + sz_actnext);
+ indeg = reinterpret_cast<uint32_t*>(mem + sz_x2y + sz_x2t + sz_actnext + sz_actlhs);
+ }
+}
+
+size_t kernels_t::size() const
+{
+ return lookup.size();
+}
+
+const kernel_t *kernels_t::operator[](size_t idx) const
+{
+ return lookup[idx];
+}
+
+/* note [bijective mappings]
+ *
+ * Suppose we have just constructed a new DFA state Y and want to map it
+ * to an existing DFA state X. States must have identical sets of NFA
+ * substates and identical sets of lookahead tags for each substate.
+ * Furtermore, there must be bijective mapping between versions of X and Y
+ * and this mapping must preserve version order (respect priorities).
+ *
+ * Bijective mappings have a nice property: there is only one possible state
+ * X to which Y can be mapped. Indeed, if there was another state Z that
+ * can be bijectively mapped to Y preserving priorities, then Z itself can
+ * be mapped to X: both (1) and (2) are symmetrical in case of bijection
+ * and the relation is transitive. So the existence of Z is a contradiction.
+ *
+ * In principle, non-bijective mappings are also possible if the new state
+ * is less versatile than the old one (surjection from X to Y). However,
+ * non-bijective mappings lack the 'unique counterpart' property and need
+ * more complex analysis (and are not so useful after all), so we drop them.
+ */
+
+kernels_t::result_t kernels_t::insert(const closure_t &clos,
+ tcmd_t *acts, tagver_t maxver)
+{
+ const size_t nkern = clos.size();
+ size_t x = dfa_t::NIL;
+
+ // empty closure corresponds to default state
+ if (nkern == 0) return result_t(x, NULL, false);
+
+ // resize buffer if closure is too large
+ init(maxver, nkern);
+
+ // copy closure to buffer kernel and find its normal form
+ buffer->size = nkern;
+ for (size_t i = 0; i < nkern; ++i) {
+ const clos_t &c = clos[i];
+ buffer->state[i] = c.state;
+ buffer->tvers[i] = c.tvers;
+ buffer->tlook[i] = c.tlook;
+ buffer->order[i] = c.order;
+ }
+
+ // get kernel hash
+ uint32_t hash = static_cast<uint32_t>(nkern); // seed
+ hash = hash32(hash, buffer->state, nkern * sizeof(void*));
+ hash = hash32(hash, buffer->order, nkern * sizeof(size_t));
+
+ // try to find identical kernel
+ kernel_eq_t eq = {tagpool, tags};
+ x = lookup.find_with(hash, buffer, eq);
+ if (x != index_t::NIL) return result_t(x, acts, false);
+
+ // else try to find mappable kernel
+ // see note [bijective mappings]
+ this->pacts = &acts;
+ x = lookup.find_with(hash, buffer, *this);
+ if (x != index_t::NIL) return result_t(x, acts, false);
+
+ // otherwise add new kernel
+ x = lookup.push(hash, kernel_t::copy(*buffer));
+ return result_t(x, acts, true);
+}
+
+static tcmd_t *finalizer(const clos_t &clos, size_t ridx,
+ dfa_t &dfa, const Tagpool &tagpool, const std::vector<Tag> &tags)
+{
+ tcpool_t &tcpool = dfa.tcpool;
+ const Rule &rule = dfa.rules[ridx];
+ const tagver_t *vers = tagpool[clos.tvers];
+ const tagtree_t &hist = tagpool.history;
+ const hidx_t look = clos.tlook;
+ tcmd_t *copy = NULL, *save = NULL, **p;
+
+ for (size_t t = rule.ltag; t < rule.htag; ++t) {
+ const Tag &tag = tags[t];
+ if (fixed(tag)) continue;
+
+ const tagver_t v = abs(vers[t]), l = hist.last(look, t);
+ tagver_t &f = dfa.finvers[t];
+ if (l == TAGVER_ZERO) {
+ copy = tcpool.make_copy(copy, f, v);
+ } else if (history(tag)) {
+ save = tcpool.make_add(save, f, v, hist, look, t);
+ } else {
+ save = tcpool.make_set(save, f, l);
+ }
+ }
+
+ // join 'copy' and 'save' commands
+ for (p = &copy; *p; p = &(*p)->next);
+ *p = save;
+
+ return copy;
+}
+
+void find_state(dfa_t &dfa, size_t state, size_t symbol, kernels_t &kernels,
+ const closure_t &closure, tcmd_t *acts, dump_dfa_t &dump)
+{
+ const kernels_t::result_t
+ result = kernels.insert(closure, acts, dfa.maxtagver);
+
+ if (result.isnew) {
+ // create new DFA state
+ dfa_state_t *t = new dfa_state_t(dfa.nchars);
+ dfa.states.push_back(t);
+
+ // check if the new state is final
+ // see note [at most one final item per closure]
+ cclositer_t c1 = closure.begin(), c2 = closure.end(),
+ c = std::find_if(c1, c2, clos_t::fin);
+ if (c != c2) {
+ t->rule = c->state->rule;
+ t->tcmd[dfa.nchars] = finalizer(*c, t->rule, dfa,
+ kernels.tagpool, kernels.tags);
+ dump.final(result.state, c->state);
+ }
+ }
+
+ if (state == dfa_t::NIL) { // initial state
+ dfa.tcmd0 = result.cmd;
+ dump.state0(closure);
+ } else {
+ dfa_state_t *s = dfa.states[state];
+ s->arcs[symbol] = result.state;
+ s->tcmd[symbol] = result.cmd;
+ dump.state(closure, state, symbol, result.isnew);
+ }
+}
+
+} // namespace re2c
diff --git a/src/dfa/find_state.h b/src/dfa/find_state.h
new file mode 100644
index 00000000..0f084125
--- /dev/null
+++ b/src/dfa/find_state.h
@@ -0,0 +1,95 @@
+#ifndef _RE2C_DFA_FIND_STATE_
+#define _RE2C_DFA_FIND_STATE_
+
+#include <stddef.h>
+#include "src/util/c99_stdint.h"
+#include <vector>
+
+#include "src/dfa/closure.h"
+#include "src/dfa/dump.h"
+#include "src/dfa/tagtree.h"
+#include "src/re/tag.h"
+#include "src/util/forbid_copy.h"
+#include "src/util/lookup.h"
+
+namespace re2c
+{
+
+class tcpool_t;
+struct Tagpool;
+struct dfa_t;
+struct dump_dfa_t;
+struct nfa_state_t;
+struct tcmd_t;
+
+struct kernel_t
+{
+ size_t size;
+ nfa_state_t **state;
+ size_t *tvers; // tag versions
+ hidx_t *tlook; // lookahead tags
+ size_t *order; // see note [orbit order of closure items]
+
+ explicit kernel_t(size_t n);
+ ~kernel_t();
+ static kernel_t *copy(const kernel_t &k);
+ FORBID_COPY(kernel_t);
+};
+
+struct kernels_t
+{
+ struct result_t
+ {
+ size_t state;
+ tcmd_t *cmd;
+ bool isnew;
+
+ result_t(size_t s, tcmd_t *p, bool n)
+ : state(s)
+ , cmd(p)
+ , isnew(n)
+ {}
+ };
+
+private:
+ typedef lookup_t<const kernel_t*> index_t;
+ index_t lookup;
+
+public:
+ Tagpool &tagpool;
+ tcpool_t &tcpool;
+ const std::vector<Tag> &tags;
+
+private:
+ size_t maxsize;
+ kernel_t *buffer;
+
+ tagver_t cap; // capacity (greater or equal to max)
+ tagver_t max; // maximal tag version
+ char *mem;
+ tagver_t *x2y;
+ tagver_t *y2x;
+ size_t *x2t;
+ uint32_t *indeg;
+
+ tcmd_t **pacts;
+ tcmd_t **actnext;
+ tagver_t *actlhs;
+
+public:
+ kernels_t(Tagpool &tagp, tcpool_t &tcp, const std::vector<Tag> &ts);
+ ~kernels_t();
+ void init(tagver_t v, size_t nkern);
+ size_t size() const;
+ const kernel_t* operator[](size_t idx) const;
+ result_t insert(const closure_t &clos, tcmd_t *acts, tagver_t maxver);
+ bool operator()(const kernel_t *k1, const kernel_t *k2);
+ FORBID_COPY(kernels_t);
+};
+
+void find_state(dfa_t &dfa, size_t state, size_t symbol, kernels_t &kernels,
+ const closure_t &closure, tcmd_t *acts, dump_dfa_t &dump);
+
+} // namespace re2c
+
+#endif // _RE2C_DFA_FIND_STATE_
diff --git a/src/ir/dfa/minimization.cc b/src/dfa/minimization.cc
index 79c93e49..6404b45d 100644
--- a/src/ir/dfa/minimization.cc
+++ b/src/dfa/minimization.cc
@@ -1,16 +1,14 @@
#include <string.h>
+#include <map>
#include <utility>
#include <vector>
-#include "src/conf/opt.h"
-#include "src/ir/dfa/dfa.h"
-#include "src/globals.h"
+#include "src/dfa/dfa.h"
+#include "src/dfa/tcmd.h"
namespace re2c
{
-class RuleOp;
-
/*
* note [DFA minimization: table filling algorithm]
*
@@ -19,7 +17,7 @@ class RuleOp;
* The algorithm constructs (strictly lower triangular) boolean matrix
* indexed by DFA states. Each matrix cell (S1,S2) indicates if states
* S1 and S2 are distinguishable. Initialy states are distinguished
- * according to their rule and context. One step of the algorithm
+ * according to their rule and tag set. One step of the algorithm
* updates the matrix as follows: each pair of states S1 and S2 is
* marked as distinguishable iff exist transitions from S1 and S2 on
* the same symbol that go to distinguishable states. The algorithm
@@ -39,14 +37,15 @@ static void minimization_table(
tbl[i + 1] = tbl[i] + i;
}
+ // see note [distinguish states by tags]
for (size_t i = 0; i < count; ++i)
{
dfa_state_t *s1 = states[i];
for (size_t j = 0; j < i; ++j)
{
dfa_state_t *s2 = states[j];
- tbl[i][j] = s1->ctx != s2->ctx
- || s1->rule != s2->rule;
+ tbl[i][j] = s1->rule != s2->rule
+ || s1->tcid[nchars] != s2->tcid[nchars];
}
}
@@ -67,10 +66,11 @@ static void minimization_table(
{
std::swap(oi, oj);
}
- if (oi != oj &&
- (oi == dfa_t::NIL ||
- oj == dfa_t::NIL ||
- tbl[oi][oj]))
+ if (states[i]->tcid[k] != states[j]->tcid[k]
+ || (oi != oj
+ && (oi == dfa_t::NIL
+ || oj == dfa_t::NIL
+ || tbl[oi][oj])))
{
tbl[i][j] = true;
loop = true;
@@ -82,6 +82,19 @@ static void minimization_table(
}
}
+ // Equivalence relation defined by the matrix is transitive
+ // by construction. Thus we can simply find the first state
+ // which is not distinguishable from current and choose it as a
+ // representative: all other states with the same representative
+ // have to be equivalent to current state due to transitivity.
+ //
+ // The only requirement is to deterministically choose the
+ // representative: e.g. always choose the one with the lowest
+ // index.
+ //
+ // Note that transitivity is crucial: without it the problem
+ // would be equivalent to the clique cover problem.
+
for (size_t i = 0; i < count; ++i)
{
part[i] = i;
@@ -104,7 +117,7 @@ static void minimization_table(
*
* The algorithm maintains partition of DFA states.
* Initial partition is coarse: states are distinguished according
- * to their rule and context. Partition is gradually refined: each
+ * to their rule and tag set. Partition is gradually refined: each
* set of states is split into minimal number of subsets such that
* for all states in a subset transitions on the same symbol go to
* the same set of states.
@@ -119,11 +132,12 @@ static void minimization_moore(
size_t *next = new size_t[count];
- std::map<std::pair<RuleOp*, bool>, size_t> init;
+ // see note [distinguish states by tags]
+ std::map<std::pair<size_t, tcid_t>, size_t> init;
for (size_t i = 0; i < count; ++i)
{
dfa_state_t *s = states[i];
- std::pair<RuleOp*, bool> key(s->rule, s->ctx);
+ std::pair<size_t, tcid_t> key(s->rule, s->tcid[nchars]);
if (init.insert(std::make_pair(key, i)).second)
{
part[i] = i;
@@ -172,8 +186,11 @@ static void minimization_moore(
size_t k = diff[n];
if (memcmp(&out[j * nchars],
&out[k * nchars],
- nchars * sizeof(size_t)) == 0)
- {
+ nchars * sizeof(size_t)) == 0
+ && memcmp(states[j]->tcid,
+ states[k]->tcid,
+ nchars * sizeof(tcid_t)) == 0
+ ) {
part[j] = k;
next[j] = next[k];
next[k] = j;
@@ -196,20 +213,29 @@ static void minimization_moore(
delete[] next;
}
-void minimization(dfa_t &dfa)
+/* note [distinguish states by tags]
+ *
+ * Final states may have 'rule' tags: tags that must be set when lexer
+ * takes epsilon-transition to the binded action. Final states with
+ * the same rule but different sets on 'rule' tags cannot be merged.
+ *
+ * Compare the following two cases:
+ * "ac" | "bc"
+ * "ac" @p | "bc"
+ * Tail "c" can be deduplicated in the 1st case, but not in the 2nd.
+ */
+
+void minimization(dfa_t &dfa, dfa_minimization_t type)
{
const size_t count = dfa.states.size();
size_t *part = new size_t[count];
- switch (opts->dfa_minimization)
- {
- case DFA_MINIMIZATION_TABLE:
- minimization_table(part, dfa.states, dfa.nchars);
- break;
- case DFA_MINIMIZATION_MOORE:
- minimization_moore(part, dfa.states, dfa.nchars);
- break;
+ switch (type) {
+ case DFA_MINIMIZATION_TABLE:
+ minimization_table(part, dfa.states, dfa.nchars); break;
+ case DFA_MINIMIZATION_MOORE:
+ minimization_moore(part, dfa.states, dfa.nchars); break;
}
size_t *compact = new size_t[count];
diff --git a/src/dfa/tagpool.cc b/src/dfa/tagpool.cc
new file mode 100644
index 00000000..b4fd90af
--- /dev/null
+++ b/src/dfa/tagpool.cc
@@ -0,0 +1,83 @@
+#include "src/util/c99_stdint.h"
+#include <stdlib.h> // malloc
+#include <string.h> // memcpy, memcmp
+#include <algorithm>
+
+#include "src/dfa/tagpool.h"
+#include "src/util/hash32.h"
+
+namespace re2c
+{
+
+struct eqtag_t
+{
+ size_t ntags;
+
+ explicit eqtag_t(size_t n): ntags(n) {}
+ inline tagver_t operator()(const tagver_t *x, const tagver_t *y) const
+ {
+ return memcmp(x, y, ntags * sizeof(tagver_t)) == 0;
+ }
+};
+
+Tagpool::Tagpool(const opt_t *o, size_t n)
+ : lookup()
+ , opts(o)
+ , ntags(n)
+ , buffer(new tagver_t[n])
+ , maxclos(0)
+ , orders(NULL)
+ , closes(NULL)
+ , history()
+ , astack()
+ , bstack()
+ , cstack()
+{}
+
+Tagpool::~Tagpool()
+{
+ delete[] buffer;
+ const size_t n = lookup.size();
+ for (size_t i = 0; i < n; ++i) {
+ free(const_cast<tagver_t*>(lookup[i]));
+ }
+ delete[] orders;
+ delete[] closes;
+}
+
+size_t Tagpool::insert_const(tagver_t ver)
+{
+ std::fill(buffer, buffer + ntags, ver);
+ return insert(buffer);
+}
+
+size_t Tagpool::insert_succ(tagver_t fst)
+{
+ for (size_t i = 0; i < ntags; ++i) {
+ buffer[i] = fst++;
+ }
+ return insert(buffer);
+}
+
+size_t Tagpool::insert(const tagver_t *tags)
+{
+ const size_t size = ntags * sizeof(tagver_t);
+ const uint32_t hash = hash32(0, tags, size);
+
+ eqtag_t eq(ntags);
+ const size_t idx = lookup.find_with(hash, tags, eq);
+ if (idx != taglookup_t::NIL) {
+ return idx;
+ }
+
+ tagver_t *copy = static_cast<tagver_t*>(malloc(size));
+ memcpy(copy, tags, size);
+ return lookup.push(hash, copy);
+}
+
+const tagver_t *Tagpool::operator[](size_t idx) const
+{
+ return lookup[idx];
+}
+
+} // namespace re2c
diff --git a/src/dfa/tagpool.h b/src/dfa/tagpool.h
new file mode 100644
index 00000000..f06de0af
--- /dev/null
+++ b/src/dfa/tagpool.h
@@ -0,0 +1,52 @@
+#ifndef _RE2C_DFA_TAGPOOL_
+#define _RE2C_DFA_TAGPOOL_
+
+#include <stddef.h>
+#include <stack>
+
+#include "src/dfa/closure.h"
+#include "src/dfa/tagtree.h"
+#include "src/re/tag.h"
+#include "src/util/forbid_copy.h"
+#include "src/util/lookup.h"
+
+namespace re2c
+{
+
+struct nfa_state_t;
+struct opt_t;
+
+static const size_t ZERO_TAGS = 0;
+
+struct Tagpool
+{
+private:
+ typedef lookup_t<const tagver_t*> taglookup_t;
+ taglookup_t lookup;
+
+public:
+ const opt_t *opts;
+ const size_t ntags;
+ tagver_t *buffer;
+
+ size_t maxclos;
+ tagver_t *orders;
+ cclositer_t *closes;
+
+ tagtree_t history;
+ std::stack<nfa_state_t*> astack;
+ std::stack<nfa_state_t*> bstack;
+ std::stack<clos_t> cstack;
+
+ Tagpool(const opt_t *o, size_t n);
+ ~Tagpool();
+ size_t insert_const(tagver_t ver);
+ size_t insert_succ(tagver_t fst);
+ size_t insert(const tagver_t *tags);
+ const tagver_t *operator[](size_t idx) const;
+ FORBID_COPY(Tagpool);
+};
+
+} // namespace re2c
+
+#endif // _RE2C_DFA_TAGPOOL_
diff --git a/src/dfa/tagtree.cc b/src/dfa/tagtree.cc
new file mode 100644
index 00000000..a5966a18
--- /dev/null
+++ b/src/dfa/tagtree.cc
@@ -0,0 +1,159 @@
+#include <assert.h>
+#include <stdlib.h>
+
+#include "src/dfa/tagtree.h"
+
+namespace re2c
+{
+
+static const tagver_t DELIM = TAGVER_CURSOR - 1;
+
+tagtree_t::tagtree_t(): nodes(), path1(), path2() {}
+
+tagver_t tagtree_t::elem(hidx_t i) const { return nodes[i].elem; }
+
+hidx_t tagtree_t::pred(hidx_t i) const { return nodes[i].pred; }
+
+size_t tagtree_t::tag(hidx_t i) const { return nodes[i].tag; }
+
+hidx_t tagtree_t::push(hidx_t i, size_t t, tagver_t v)
+{
+ node_t x = {i, v, t};
+ nodes.push_back(x);
+ return static_cast<hidx_t>(nodes.size() - 1);
+}
+
+// cut out subhistory of this tag (just skip all other tags)
+static void subhistory(const tagtree_t &history,
+ std::vector<tagver_t> &path, hidx_t idx, size_t tag)
+{
+ path.clear();
+ for (hidx_t i = idx; i != HROOT; i = history.pred(i)) {
+ if (history.tag(i) == tag) {
+ path.push_back(history.elem(i));
+ }
+ }
+}
+
+static int32_t compare_reversed(
+ const std::vector<tagver_t> &h1,
+ const std::vector<tagver_t> &h2)
+{
+ std::vector<tagver_t>::const_reverse_iterator
+ i1 = h1.rbegin(), e1 = h1.rend(),
+ i2 = h2.rbegin(), e2 = h2.rend();
+
+ for (;;) {
+ if (i1 == e1 && i2 == e2) break;
+ if (i1 == e1) return -1;
+ if (i2 == e2) return 1;
+ if (*i1 > *i2) return -1;
+ if (*i1 < *i2) return 1;
+ ++i1; ++i2;
+ }
+
+ return 0;
+}
+
+int32_t tagtree_t::compare_plain(hidx_t x, hidx_t y, size_t t)
+{
+ subhistory(*this, path1, x, t);
+ subhistory(*this, path2, y, t);
+ return compare_reversed(path1, path2);
+}
+
+static size_t boundary_tag(size_t tag)
+{
+ // for start tags, return itself; for end tags, return start tag
+ // (start tags have even numbers, end tags have odd numbers)
+ return tag & ~1u;
+}
+
+// returns all subhistories of the given tag as one list (individual
+// subhistories are separated by delimiter)
+static int32_t subhistory_list(const tagtree_t &history,
+ std::vector<tagver_t> &path, hidx_t idx, size_t tag)
+{
+ path.clear();
+ int32_t nsub = 0;
+ hidx_t i = idx;
+
+ const size_t bound = boundary_tag(tag);
+ path.push_back(DELIM);
+ for (;;) {
+ for (; i != HROOT && history.tag(i) >= bound; i = history.pred(i)) {
+ if (history.tag(i) == tag) {
+ path.push_back(history.elem(i));
+ }
+ }
+ if (i == HROOT) break;
+ ++nsub;
+ path.push_back(DELIM);
+ for (; i != HROOT && history.tag(i) != tag; i = history.pred(i));
+ }
+
+ return nsub;
+}
+
+// Lookahead may consist of multiple subhistories (each containing either
+// a single bottom value, or one or more cursor values (exactly one for
+// non-orbit subhistories). Because of the shortest-path algorithm earlier
+// subhistories do not necessarily coincide, so comparing only the last
+// pair of subhistories is not enough. See note [POSIX orbit tags].
+int32_t tagtree_t::compare_histories(hidx_t x, hidx_t y,
+ tagver_t ox, tagver_t oy, size_t t)
+{
+ const int32_t
+ n1 = subhistory_list(*this, path1, x, t),
+ n2 = subhistory_list(*this, path2, y, t);
+
+ assert(n1 == n2);
+ path1.push_back(ox);
+ path2.push_back(oy);
+
+ std::vector<tagver_t>::const_reverse_iterator
+ i1 = path1.rbegin(), e1 = path1.rend(),
+ i2 = path2.rbegin(), e2 = path2.rend();
+ for (;;) {
+ if (i1 == e1 && i2 == e2) return 0;
+ assert(i1 != e1 && i2 != e2);
+ const tagver_t v1 = *i1++, v2 = *i2++;
+ if (v1 == DELIM && v2 == DELIM) continue;
+ if (v1 == DELIM) return -1;
+ if (v2 == DELIM) return 1;
+ if (v1 > v2) return -1;
+ if (v1 < v2) return 1;
+ }
+}
+
+static void last_subhistory(const tagtree_t &history, std::vector<tagver_t> &path,
+ hidx_t idx, tagver_t order, size_t tag)
+{
+ path.clear();
+ hidx_t i = idx;
+ const size_t bound = boundary_tag(tag);
+ for (; i != HROOT && history.tag(i) >= bound; i = history.pred(i)) {
+ if (history.tag(i) == tag) {
+ path.push_back(history.elem(i));
+ }
+ }
+ if (i == HROOT) path.push_back(order);
+}
+
+int32_t tagtree_t::compare_last_subhistories(hidx_t x, hidx_t y,
+ tagver_t ox, tagver_t oy, size_t t)
+{
+ last_subhistory(*this, path1, x, ox, t);
+ last_subhistory(*this, path2, y, oy, t);
+ return compare_reversed(path1, path2);
+}
+
+tagver_t tagtree_t::last(hidx_t i, size_t t) const
+{
+ for (; i != HROOT; i = pred(i)) {
+ if (tag(i) == t) return elem(i);
+ }
+ return TAGVER_ZERO;
+}
+
+} // namespace re2c
diff --git a/src/dfa/tagtree.h b/src/dfa/tagtree.h
new file mode 100644
index 00000000..7f3bf4bb
--- /dev/null
+++ b/src/dfa/tagtree.h
@@ -0,0 +1,48 @@
+#ifndef _RE2C_DFA_TAGTREE_
+#define _RE2C_DFA_TAGTREE_
+
+#include <stddef.h>
+#include "src/util/c99_stdint.h"
+#include <sys/types.h>
+#include <vector>
+
+#include "src/re/tag.h"
+#include "src/util/forbid_copy.h"
+
+namespace re2c
+{
+
+typedef uint32_t hidx_t;
+
+static const hidx_t HROOT = ~0u;
+
+struct tagtree_t
+{
+ // the whole tree of tags found by the epsilon-closure
+ // (a bunch of separate subtrees for each tag with common root)
+ struct node_t {
+ hidx_t pred;
+ tagver_t elem;
+ size_t tag;
+ };
+ std::vector<node_t> nodes;
+
+ // reconstruct paths for comparison
+ std::vector<tagver_t> path1;
+ std::vector<tagver_t> path2;
+
+ tagtree_t();
+ hidx_t pred(hidx_t i) const;
+ tagver_t elem(hidx_t i) const;
+ size_t tag(hidx_t i) const;
+ hidx_t push(hidx_t i, size_t t, tagver_t v);
+ int32_t compare_plain(hidx_t x, hidx_t y, size_t t);
+ int32_t compare_histories(hidx_t x, hidx_t y, tagver_t ox, tagver_t oy, size_t t);
+ int32_t compare_last_subhistories(hidx_t x, hidx_t y, tagver_t ox, tagver_t oy, size_t t);
+ tagver_t last(hidx_t i, size_t t) const;
+ FORBID_COPY(tagtree_t);
+};
+
+} // namespace re2c
+
+#endif // _RE2C_DFA_TAGTREE_
diff --git a/src/dfa/tcmd.cc b/src/dfa/tcmd.cc
new file mode 100644
index 00000000..a7ad22e9
--- /dev/null
+++ b/src/dfa/tcmd.cc
@@ -0,0 +1,229 @@
+#include <assert.h>
+#include <string.h>
+
+#include "src/dfa/tcmd.h"
+#include "src/util/hash32.h"
+
+namespace re2c
+{
+
+static uint32_t hash_tcmd(const tcmd_t *tcmd);
+
+bool tcmd_t::equal(const tcmd_t &x, const tcmd_t &y)
+{
+ return x.lhs == y.lhs
+ && x.rhs == y.rhs
+ && equal_history(x.history, y.history);
+}
+
+bool tcmd_t::equal_history(const tagver_t *h, const tagver_t *g)
+{
+ for (;;) {
+ if (*h != *g) return false;
+ if (*h == TAGVER_ZERO) return true;
+ ++h; ++g;
+ }
+}
+
+/* note [topological ordering of copy commands]
+ *
+ * The order in which copy commands are executed is important:
+ * 'x = y; y = z;' is not the same as 'y = z; x = y;' (the latter
+ * overwrites 'y' before its precious value is copied to 'x').
+ *
+ * To avoid overwrites, commands should be topologically sorted.
+ * The algorithm detects cycles and terminates; non-trivial cycles
+ * (induced by 2 or more nodes) are reported. We don't care about
+ * trivial cycles (loopbacks), because they can be implemented without
+ * temporary variable. Non-trivial cycles need a new temporary variable
+ * local to the given basic block, which makes liveness analysis more
+ * complex (so we simply forbid such mappings).
+ *
+ * For the purpose of topsort, we treat commands as arcs of directed
+ * acyclic graph: command 'x = y' yields arc X -> Y. Topsort works
+ * by iteratively removing arcs X -> Y such that X has zero in-degree
+ * (they correspond to commands with no dependencies).
+ * Commands in the order of removal are topologically sorted.
+ *
+ * The algorithm iterates graph and removes arcs with zero in-degree
+ * until either the graph is empty or all remaining arcs belong to
+ * cycles.
+ *
+ * The algorithm starts and ends with all-zero in-degree buffer.
+ */
+
+bool tcmd_t::iscopy(const tcmd_t *x)
+{
+ return x->rhs != TAGVER_ZERO && x->history[0] == TAGVER_ZERO;
+}
+
+bool tcmd_t::isset(const tcmd_t *x)
+{
+ if (x->rhs == TAGVER_ZERO) {
+ assert(x->history[0] != TAGVER_ZERO);
+ return true;
+ }
+ return false;
+}
+
+bool tcmd_t::isadd(const tcmd_t *x)
+{
+ return x->rhs != TAGVER_ZERO && x->history[0] != TAGVER_ZERO;
+}
+
+bool tcmd_t::topsort(tcmd_t **phead, uint32_t *indeg)
+{
+ tcmd_t *x0 = *phead, *x, *y0 = NULL, **py;
+ bool nontrivial_cycles = false;
+
+ // initialize in-degree
+ for (x = x0; x; x = x->next) {
+ indeg[x->lhs] = indeg[x->rhs] = 0;
+ }
+ for (x = x0; x; x = x->next) {
+ ++indeg[x->rhs];
+ }
+
+ for (py = &y0;;) {
+ // reached end of list
+ if (!x0) break;
+
+ tcmd_t **px = &x0, **py1 = py;
+ for (x = x0; x; x = x->next) {
+ if (indeg[x->lhs] == 0) {
+ --indeg[x->rhs];
+ *py = x;
+ py = &x->next;
+ } else {
+ *px = x;
+ px = &x->next;
+ }
+ }
+ *px = NULL;
+
+ // only cycles left
+ if (py == py1) {
+ // look for cycles of length 2 or more
+ for (x = x0; x && x->lhs == x->rhs; x = x->next);
+ nontrivial_cycles = x != NULL;
+ break;
+ }
+ }
+ *py = x0;
+
+ *phead = y0;
+ return nontrivial_cycles;
+}
+
+tcpool_t::tcpool_t()
+ : alc()
+ , index()
+{
+ // empty command must have static number zero
+ assert(TCID0 == insert(NULL));
+}
+
+tcmd_t *tcpool_t::make_copy(tcmd_t *next, tagver_t lhs, tagver_t rhs)
+{
+ tcmd_t *p = alc.alloct<tcmd_t>(1);
+ p->next = next;
+ p->lhs = lhs;
+ p->rhs = rhs;
+ p->history[0] = TAGVER_ZERO;
+ return p;
+}
+
+tcmd_t *tcpool_t::make_set(tcmd_t *next, tagver_t lhs, tagver_t set)
+{
+ const size_t size = sizeof(tcmd_t) + sizeof(tagver_t);
+ tcmd_t *p = static_cast<tcmd_t*>(alc.alloc(size));
+ p->next = next;
+ p->lhs = lhs;
+ p->rhs = TAGVER_ZERO;
+ p->history[0] = set;
+ p->history[1] = TAGVER_ZERO;
+ return p;
+}
+
+tcmd_t *tcpool_t::make_add(tcmd_t *next, tagver_t lhs, tagver_t rhs,
+ const tagtree_t &history, hidx_t hidx, size_t tag)
+{
+ size_t hlen = 0;
+ for (hidx_t i = hidx; i != HROOT; i = history.pred(i)) {
+ if (history.tag(i) == tag) ++hlen;
+ }
+
+ const size_t size = sizeof(tcmd_t) + hlen * sizeof(tagver_t);
+ tcmd_t *p = static_cast<tcmd_t*>(alc.alloc(size));
+ p->next = next;
+ p->lhs = lhs;
+ p->rhs = rhs;
+ tagver_t *h = p->history;
+ for (hidx_t i = hidx; i != HROOT; i = history.pred(i)) {
+ if (history.tag(i) == tag) {
+ *h++ = history.elem(i);
+ }
+ }
+ *h++ = TAGVER_ZERO;
+ return p;
+}
+
+tcmd_t *tcpool_t::copy_add(tcmd_t *next, tagver_t lhs, tagver_t rhs,
+ const tagver_t *history)
+{
+ size_t hlen = 0;
+ for (const tagver_t *h = history; *h != TAGVER_ZERO; ++h) ++hlen;
+
+ const size_t size = sizeof(tcmd_t) + hlen * sizeof(tagver_t);
+ tcmd_t *p = static_cast<tcmd_t*>(alc.alloc(size));
+ p->next = next;
+ p->lhs = lhs;
+ p->rhs = rhs;
+ memcpy(p->history, history, (hlen + 1) * sizeof(tagver_t));
+ return p;
+}
+
+uint32_t hash_tcmd(const tcmd_t *tcmd)
+{
+ uint32_t h = 0;
+ for (const tcmd_t *p = tcmd; p; p = p->next) {
+ h = hash32(h, &p->lhs, sizeof(p->lhs));
+ h = hash32(h, &p->rhs, sizeof(p->rhs));
+ h = hash32(h, &p->history[0], sizeof(p->history[0]));
+ }
+ return h;
+}
+
+struct tcmd_eq_t
+{
+ bool operator()(const tcmd_t *x, const tcmd_t *y) const
+ {
+ for (;;) {
+ if (!x && !y) return true;
+ if (!x || !y) return false;
+ if (!tcmd_t::equal(*x, *y)) return false;
+ x = x->next;
+ y = y->next;
+ }
+ }
+};
+
+tcid_t tcpool_t::insert(const tcmd_t *tcmd)
+{
+ const uint32_t h = hash_tcmd(tcmd);
+
+ tcmd_eq_t eq;
+ size_t id = index.find_with(h, tcmd, eq);
+ if (id == index_t::NIL) {
+ id = index.push(h, tcmd);
+ }
+
+ return static_cast<tcid_t>(id);
+}
+
+const tcmd_t *tcpool_t::operator[](tcid_t id) const
+{
+ return index[id];
+}
+
+} // namespace re2c
diff --git a/src/dfa/tcmd.h b/src/dfa/tcmd.h
new file mode 100644
index 00000000..88d12fa4
--- /dev/null
+++ b/src/dfa/tcmd.h
@@ -0,0 +1,56 @@
+#ifndef _RE2C_DFA_TCMD_
+#define _RE2C_DFA_TCMD_
+
+#include <stddef.h>
+#include "src/util/c99_stdint.h"
+
+#include "src/dfa/tagtree.h"
+#include "src/re/tag.h"
+#include "src/util/forbid_copy.h"
+#include "src/util/lookup.h"
+#include "src/util/slab_allocator.h"
+
+namespace re2c
+{
+
+struct tcmd_t
+{
+ tcmd_t *next;
+ tagver_t lhs; // left hand side
+ tagver_t rhs; // right hand side
+ tagver_t history[1];
+
+ static bool equal(const tcmd_t &x, const tcmd_t &y);
+ static bool equal_history(const tagver_t *h, const tagver_t *g);
+ static bool topsort(tcmd_t **phead, uint32_t *indeg);
+ static bool iscopy(const tcmd_t *x);
+ static bool isset(const tcmd_t *x);
+ static bool isadd(const tcmd_t *x);
+ FORBID_COPY(tcmd_t);
+};
+
+typedef uint32_t tcid_t;
+
+static const tcid_t TCID0 = 0;
+
+class tcpool_t
+{
+ typedef slab_allocator_t<~0u, 4096, sizeof(void*)> alc_t;
+ typedef lookup_t<const tcmd_t*> index_t;
+
+ alc_t alc;
+ index_t index;
+
+public:
+ tcpool_t();
+ tcmd_t *make_copy(tcmd_t *next, tagver_t lhs, tagver_t rhs);
+ tcmd_t *make_set(tcmd_t *next, tagver_t lhs, tagver_t set);
+ tcmd_t *make_add(tcmd_t *next, tagver_t lhs, tagver_t rhs, const tagtree_t &history, hidx_t hidx, size_t tag);
+ tcmd_t *copy_add(tcmd_t *next, tagver_t lhs, tagver_t rhs, const tagver_t *history);
+ tcid_t insert(const tcmd_t *tcmd);
+ const tcmd_t *operator[](tcid_t id) const;
+};
+
+} // namespace re2c
+
+#endif // _RE2C_DFA_TCMD_
diff --git a/src/globals.h b/src/globals.h
deleted file mode 100644
index b2ea67ae..00000000
--- a/src/globals.h
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef _RE2C_GLOBALS_
-#define _RE2C_GLOBALS_
-
-#include <string>
-
-#include "src/conf/opt.h"
-#include "src/conf/warn.h"
-#include "src/util/c99_stdint.h"
-
-namespace re2c
-{
-
-extern bool bUsedYYBitmap;
-extern bool bWroteGetState;
-extern bool bWroteCondCheck;
-extern uint32_t last_fill_index;
-extern std::string yySetupRule;
-
-extern Opt opts;
-extern Warn warn;
-
-} // end namespace re2c
-
-#endif // _RE2C_GLOBALS_
diff --git a/src/ir/adfa/action.h b/src/ir/adfa/action.h
deleted file mode 100644
index abc2d990..00000000
--- a/src/ir/adfa/action.h
+++ /dev/null
@@ -1,109 +0,0 @@
-#ifndef _RE2C_IR_ADFA_ACTION_
-#define _RE2C_IR_ADFA_ACTION_
-
-#include <vector>
-
-#include "src/codegen/label.h"
-#include "src/util/c99_stdint.h"
-#include "src/util/uniq_vector.h"
-
-namespace re2c
-{
-
-struct OutputFile;
-class RuleOp;
-class State;
-
-struct Initial
-{
- label_t label;
- bool setMarker;
-
- inline Initial (label_t l, bool b)
- : label (l)
- , setMarker (b)
- {}
-};
-
-typedef uniq_vector_t<const State *> accept_t;
-
-class Action
-{
-public:
- enum type_t
- {
- MATCH,
- INITIAL,
- SAVE,
- MOVE,
- ACCEPT,
- RULE
- } type;
- union
- {
- Initial * initial;
- uint32_t save;
- const accept_t * accepts;
- const RuleOp * rule;
- } info;
-
-public:
- inline Action ()
- : type (MATCH)
- , info ()
- {}
- ~Action ()
- {
- clear ();
- }
- void set_initial (label_t label, bool used_marker)
- {
- clear ();
- type = INITIAL;
- info.initial = new Initial (label, used_marker);
- }
- void set_save (uint32_t save)
- {
- clear ();
- type = SAVE;
- info.save = save;
- }
- void set_move ()
- {
- clear ();
- type = MOVE;
- }
- void set_accept (const accept_t * accepts)
- {
- clear ();
- type = ACCEPT;
- info.accepts = accepts;
- }
- void set_rule (const RuleOp * const rule)
- {
- clear ();
- type = RULE;
- info.rule = rule;
- }
-
-private:
- void clear ()
- {
- switch (type)
- {
- case INITIAL:
- delete info.initial;
- break;
- case MATCH:
- case SAVE:
- case MOVE:
- case ACCEPT:
- case RULE:
- break;
- }
- }
-};
-
-} // namespace re2c
-
-#endif // _RE2C_IR_ADFA_ACTION_
diff --git a/src/ir/adfa/adfa.cc b/src/ir/adfa/adfa.cc
deleted file mode 100644
index cb41d035..00000000
--- a/src/ir/adfa/adfa.cc
+++ /dev/null
@@ -1,135 +0,0 @@
-#include <assert.h>
-#include <queue>
-#include <set>
-#include <vector>
-#include <utility>
-
-#include "src/codegen/go.h"
-#include "src/ir/adfa/adfa.h"
-#include "src/ir/dfa/dfa.h"
-#include "src/ir/skeleton/skeleton.h"
-#include "src/util/allocate.h"
-
-namespace re2c
-{
-
-DFA::DFA
- ( const dfa_t &dfa
- , const std::vector<size_t> &fill
- , Skeleton *skel
- , const charset_t &charset
- , const std::string &n
- , const std::string &c
- , uint32_t l
- )
- : accepts ()
- , skeleton (skel)
- , name (n)
- , cond (c)
- , line (l)
- , lbChar(0)
- , ubChar(charset.back())
- , nStates(0)
- , head(NULL)
-
- // statistics
- , max_fill (0)
- , need_backup (false)
- , need_backupctx (false)
- , need_accept (false)
-{
- const size_t nstates = dfa.states.size();
- const size_t nchars = dfa.nchars;
-
- State **i2s = new State*[nstates];
- for (size_t i = 0; i < nstates; ++i)
- {
- i2s[i] = new State;
- }
-
- State **p = &head;
- for (size_t i = 0; i < nstates; ++i)
- {
- dfa_state_t *t = dfa.states[i];
- State *s = i2s[i];
-
- ++nStates;
- *p = s;
- p = &s->next;
-
- s->isPreCtxt = t->ctx;
- s->rule = t->rule;
- s->fill = fill[i];
- s->go.span = allocate<Span>(nchars);
- uint32_t j = 0;
- for (uint32_t c = 0; c < nchars; ++j)
- {
- const size_t to = t->arcs[c];
- for (;++c < nchars && t->arcs[c] == to;);
- s->go.span[j].to = to == dfa_t::NIL ? NULL : i2s[to];
- s->go.span[j].ub = charset[c];
- }
- s->go.nSpans = j;
- }
- *p = NULL;
-
- delete[] i2s;
-}
-
-DFA::~DFA()
-{
- State *s;
-
- while ((s = head))
- {
- head = s->next;
- delete s;
- }
-
- delete skeleton;
-}
-
-void DFA::reorder()
-{
- std::vector<State*> ord;
- ord.reserve(nStates);
-
- std::queue<State*> todo;
- todo.push(head);
-
- std::set<State*> done;
- done.insert(head);
-
- for(;!todo.empty();)
- {
- State *s = todo.front();
- todo.pop();
- ord.push_back(s);
- for(uint32_t i = 0; i < s->go.nSpans; ++i)
- {
- State *q = s->go.span[i].to;
- if(q && done.insert(q).second)
- {
- todo.push(q);
- }
- }
- }
-
- assert(nStates == ord.size());
-
- ord.push_back(NULL);
- for(uint32_t i = 0; i < nStates; ++i)
- {
- ord[i]->next = ord[i + 1];
- }
-}
-
-void DFA::addState(State *s, State *next)
-{
- ++nStates;
- s->next = next->next;
- next->next = s;
-}
-
-} // namespace re2c
-
diff --git a/src/ir/adfa/adfa.h b/src/ir/adfa/adfa.h
deleted file mode 100644
index 95f512d6..00000000
--- a/src/ir/adfa/adfa.h
+++ /dev/null
@@ -1,101 +0,0 @@
-#ifndef _RE2C_IR_ADFA_ADFA_
-#define _RE2C_IR_ADFA_ADFA_
-
-#include <stddef.h>
-#include "src/util/c99_stdint.h"
-#include <set>
-#include <string>
-
-#include "src/codegen/go.h"
-#include "src/codegen/label.h"
-#include "src/ir/adfa/action.h"
-#include "src/ir/regexp/regexp.h"
-#include "src/util/forbid_copy.h"
-
-namespace re2c
-{
-
-struct Skeleton;
-struct Output;
-struct OutputFile;
-struct dfa_t;
-
-struct State
-{
- label_t label;
- RuleOp * rule;
- State * next;
- size_t fill;
-
- bool isPreCtxt;
- bool isBase;
- Go go;
- Action action;
-
- State ()
- : label (label_t::first ())
- , rule (NULL)
- , next (0)
- , fill (0)
- , isPreCtxt (false)
- , isBase (false)
- , go ()
- , action ()
- {}
- ~State ()
- {
- operator delete (go.span);
- }
-
- FORBID_COPY (State);
-};
-
-class DFA
-{
- accept_t accepts;
- Skeleton * skeleton;
-
-public:
- const std::string name;
- const std::string cond;
- const uint32_t line;
-
- uint32_t lbChar;
- uint32_t ubChar;
- uint32_t nStates;
- State * head;
-
- // statistics
- size_t max_fill;
- bool need_backup;
- bool need_backupctx;
- bool need_accept;
-
-public:
- DFA ( const dfa_t &dfa
- , const std::vector<size_t> &fill
- , Skeleton *skel
- , const charset_t &charset
- , const std::string &n
- , const std::string &c
- , uint32_t l
- );
- ~DFA ();
- void reorder();
- void prepare();
- void calc_stats();
- void emit (Output &, uint32_t &, bool, bool &);
-
-private:
- void addState(State*, State *);
- void split (State *);
- void findBaseState ();
- void count_used_labels (std::set<label_t> & used, label_t prolog, label_t start, bool force_start) const;
- void emit_body (OutputFile &, uint32_t &, const std::set<label_t> & used_labels, label_t initial) const;
-
- FORBID_COPY (DFA);
-};
-
-} // namespace re2c
-
-#endif // _RE2C_IR_ADFA_ADFA_
diff --git a/src/ir/adfa/prepare.cc b/src/ir/adfa/prepare.cc
deleted file mode 100644
index 39cf65c1..00000000
--- a/src/ir/adfa/prepare.cc
+++ /dev/null
@@ -1,268 +0,0 @@
-#include "src/util/c99_stdint.h"
-#include <string.h>
-#include <map>
-
-#include "src/codegen/bitmap.h"
-#include "src/codegen/go.h"
-#include "src/globals.h"
-#include "src/ir/adfa/action.h"
-#include "src/ir/adfa/adfa.h"
-#include "src/ir/regexp/regexp_rule.h"
-#include "src/ir/rule_rank.h"
-#include "src/util/allocate.h"
-
-namespace re2c {
-
-void DFA::split(State *s)
-{
- State *move = new State;
- addState(move, s);
- move->action.set_move ();
- move->rule = s->rule;
- move->fill = s->fill;
- move->go = s->go;
- s->rule = NULL;
- s->go.nSpans = 1;
- s->go.span = allocate<Span> (1);
- s->go.span[0].ub = ubChar;
- s->go.span[0].to = move;
-}
-
-static uint32_t merge(Span *x0, State *fg, State *bg)
-{
- Span *x = x0, *f = fg->go.span, *b = bg->go.span;
- uint32_t nf = fg->go.nSpans, nb = bg->go.nSpans;
- State *prev = NULL, *to;
- // NB: we assume both spans are for same range
-
- for (;;)
- {
- if (f->ub == b->ub)
- {
- to = f->to == b->to ? bg : f->to;
-
- if (to == prev)
- {
- --x;
- }
- else
- {
- x->to = prev = to;
- }
-
- x->ub = f->ub;
- ++x;
- ++f;
- --nf;
- ++b;
- --nb;
-
- if (nf == 0 && nb == 0)
- {
- return static_cast<uint32_t> (x - x0);
- }
- }
-
- while (f->ub < b->ub)
- {
- to = f->to == b->to ? bg : f->to;
-
- if (to == prev)
- {
- --x;
- }
- else
- {
- x->to = prev = to;
- }
-
- x->ub = f->ub;
- ++x;
- ++f;
- --nf;
- }
-
- while (b->ub < f->ub)
- {
- to = b->to == f->to ? bg : f->to;
-
- if (to == prev)
- {
- --x;
- }
- else
- {
- x->to = prev = to;
- }
-
- x->ub = b->ub;
- ++x;
- ++b;
- --nb;
- }
- }
-}
-
-void DFA::findBaseState()
-{
- Span *span = allocate<Span> (ubChar - lbChar);
-
- for (State *s = head; s; s = s->next)
- {
- if (s->fill == 0)
- {
- for (uint32_t i = 0; i < s->go.nSpans; ++i)
- {
- State *to = s->go.span[i].to;
-
- if (to->isBase)
- {
- to = to->go.span[0].to;
- uint32_t nSpans = merge(span, s, to);
-
- if (nSpans < s->go.nSpans)
- {
- operator delete (s->go.span);
- s->go.nSpans = nSpans;
- s->go.span = allocate<Span> (nSpans);
- memcpy(s->go.span, span, nSpans*sizeof(Span));
- }
-
- break;
- }
- }
- }
- }
-
- operator delete (span);
-}
-
-void DFA::prepare ()
-{
- bUsedYYBitmap = false;
-
- // create rule states
- std::map<rule_rank_t, State *> rules;
- for (State * s = head; s; s = s->next)
- {
- if (s->rule)
- {
- if (rules.find (s->rule->rank) == rules.end ())
- {
- State *n = new State;
- n->action.set_rule (s->rule);
- rules[s->rule->rank] = n;
- addState(n, s);
- }
- for (uint32_t i = 0; i < s->go.nSpans; ++i)
- {
- if (!s->go.span[i].to)
- {
- s->go.span[i].to = rules[s->rule->rank];
- }
- }
- }
- }
-
- // create default state (if needed)
- State * default_state = NULL;
- for (State * s = head; s; s = s->next)
- {
- for (uint32_t i = 0; i < s->go.nSpans; ++i)
- {
- if (!s->go.span[i].to)
- {
- if (!default_state)
- {
- default_state = new State;
- addState(default_state, s);
- }
- s->go.span[i].to = default_state;
- }
- }
- }
-
- // find backup states and create accept state (if needed)
- if (default_state)
- {
- for (State * s = head; s; s = s->next)
- {
- if (s->rule)
- {
- for (uint32_t i = 0; i < s->go.nSpans; ++i)
- {
- if (!s->go.span[i].to->rule && s->go.span[i].to->action.type != Action::RULE)
- {
- const uint32_t accept = static_cast<uint32_t> (accepts.find_or_add (rules[s->rule->rank]));
- s->action.set_save (accept);
- }
- }
- }
- }
- default_state->action.set_accept (&accepts);
- }
-
- // split ``base'' states into two parts
- for (State * s = head; s; s = s->next)
- {
- s->isBase = false;
-
- if (s->fill != 0)
- {
- for (uint32_t i = 0; i < s->go.nSpans; ++i)
- {
- if (s->go.span[i].to == s)
- {
- s->isBase = true;
- split(s);
-
- if (opts->bFlag)
- {
- BitMap::find(&s->next->go, s);
- }
-
- s = s->next;
- break;
- }
- }
- }
- }
-
- // find ``base'' state, if possible
- findBaseState();
-
- for (State * s = head; s; s = s->next)
- {
- s->go.init (s);
- }
-}
-
-void DFA::calc_stats ()
-{
- // calculate 'YYMAXFILL'
- max_fill = 0;
- for (State * s = head; s; s = s->next)
- {
- if (max_fill < s->fill)
- {
- max_fill = s->fill;
- }
- }
-
- // determine if 'YYMARKER' or 'YYBACKUP'/'YYRESTORE' pair is used
- need_backup = accepts.size () > 0;
-
- // determine if 'YYCTXMARKER' or 'YYBACKUPCTX'/'YYRESTORECTX' pair is used
- for (State * s = head; s; s = s->next)
- {
- if (s->isPreCtxt)
- {
- need_backupctx = true;
- }
- }
-
- // determine if 'yyaccept' variable is used
- need_accept = accepts.size () > 1;
-}
-
-} // namespace re2c
diff --git a/src/ir/compile.cc b/src/ir/compile.cc
deleted file mode 100644
index b38b398a..00000000
--- a/src/ir/compile.cc
+++ /dev/null
@@ -1,104 +0,0 @@
-#include <algorithm>
-#include <ostream>
-#include <set>
-
-#include "src/codegen/output.h"
-#include "src/ir/compile.h"
-#include "src/ir/adfa/adfa.h"
-#include "src/ir/dfa/dfa.h"
-#include "src/ir/nfa/nfa.h"
-#include "src/ir/regexp/regexp.h"
-#include "src/ir/skeleton/skeleton.h"
-#include "src/parse/spec.h"
-
-namespace re2c {
-
-static std::string make_name(const std::string &cond, uint32_t line)
-{
- std::ostringstream os;
- os << "line" << line;
- std::string name = os.str();
- if (!cond.empty ())
- {
- name += "_";
- name += cond;
- }
- return name;
-}
-
-smart_ptr<DFA> compile (Spec & spec, Output & output, const std::string & cond, uint32_t cunits)
-{
- const uint32_t line = output.source.get_block_line();
- const std::string name = make_name(cond, line);
-
- // The original set of code units (charset) might be very large.
- // A common trick it is to split charset into disjoint character ranges
- // and choose a representative of each range (we choose lower bound).
- // The set of all representatives is the new (compacted) charset.
- // Don't forget to include zero and upper bound, even if they
- // do not explicitely apper in ranges.
- std::set<uint32_t> bounds;
- spec.re->split(bounds);
- bounds.insert(0);
- bounds.insert(cunits);
- charset_t cs;
- for (std::set<uint32_t>::const_iterator i = bounds.begin(); i != bounds.end(); ++i)
- {
- cs.push_back(*i);
- }
-
- nfa_t nfa(spec.re);
-
- dfa_t dfa(nfa, cs, spec.rules);
-
- // skeleton must be constructed after DFA construction
- // but prior to any other DFA transformations
- Skeleton *skeleton = new Skeleton(dfa, cs, spec.rules, name, cond, line);
-
- minimization(dfa);
-
- // find YYFILL states and calculate argument to YYFILL
- std::vector<size_t> fill;
- fillpoints(dfa, fill);
-
- // ADFA stands for 'DFA with actions'
- DFA *adfa = new DFA(dfa, fill, skeleton, cs, name, cond, line);
-
- /*
- * note [reordering DFA states]
- *
- * re2c-generated code depends on the order of states in DFA: simply
- * flipping two states may change the output significantly.
- * The order of states is affected by many factors, e.g.:
- * - flipping left and right subtrees of alternative when constructing
- * AST (also applies to iteration and counted repetition)
- * - changing the order in which graph nodes are visited (applies to
- * any intermediate representation: bytecode, NFA, DFA, etc.)
- *
- * To make the resulting code independent of such changes, we hereby
- * reorder DFA states. The ordering scheme is very simple:
- *
- * Starting with DFA root, walk DFA nodes in breadth-first order.
- * Child nodes are ordered accoding to the (alphabetically) first symbol
- * leading to each node. Each node must be visited exactly once.
- * Default state (NULL) is always the last state.
- */
- adfa->reorder();
-
- // skeleton is constructed, do further DFA transformations
- adfa->prepare();
-
- // finally gather overall DFA statistics
- adfa->calc_stats();
-
- // accumulate global statistics from this particular DFA
- output.max_fill = std::max (output.max_fill, adfa->max_fill);
- if (adfa->need_accept)
- {
- output.source.set_used_yyaccept ();
- }
-
- return make_smart_ptr(adfa);
-}
-
-} // namespace re2c
diff --git a/src/ir/compile.h b/src/ir/compile.h
deleted file mode 100644
index 6883c1c3..00000000
--- a/src/ir/compile.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef _RE2C_IR_COMPILE_
-#define _RE2C_IR_COMPILE_
-
-#include "src/util/c99_stdint.h"
-#include <string>
-
-#include "src/util/smart_ptr.h"
-
-namespace re2c
-{
-
-class DFA;
-struct Output;
-struct Spec;
-
-smart_ptr<DFA> compile (Spec & spec, Output & output, const std::string & cond, uint32_t cunits);
-
-} // namespace re2c
-
-#endif // _RE2C_IR_COMPILE_
diff --git a/src/ir/dfa/determinization.cc b/src/ir/dfa/determinization.cc
deleted file mode 100644
index 01a04cc7..00000000
--- a/src/ir/dfa/determinization.cc
+++ /dev/null
@@ -1,197 +0,0 @@
-#include <algorithm>
-#include <limits>
-#include <map>
-#include <set>
-#include <vector>
-
-#include "src/ir/dfa/dfa.h"
-#include "src/ir/nfa/nfa.h"
-#include "src/ir/regexp/regexp.h"
-#include "src/ir/regexp/regexp_rule.h"
-#include "src/ir/rule_rank.h"
-#include "src/parse/rules.h"
-#include "src/util/ord_hash_set.h"
-#include "src/util/range.h"
-
-namespace re2c
-{
-
-const size_t dfa_t::NIL = std::numeric_limits<size_t>::max();
-
-/*
- * note [marking DFA states]
- *
- * DFA state is a set of NFA states.
- * However, DFA state includes not all NFA states that are in
- * epsilon-closure (NFA states that have only epsilon-transitions
- * and are not context of final states are omitted).
- * The included states are called 'kernel' states.
- *
- * We mark visited NFA states during closure construction.
- * These marks serve two purposes:
- * - avoid loops in NFA
- * - avoid duplication of NFA states in kernel
- *
- * Note that after closure construction:
- * - all non-kernel states must be unmarked (these states are
- * not stored in kernel and it is impossible to unmark them
- * afterwards)
- * - all kernel states must be marked (because we may later
- * extend this kernel with epsilon-closure of another NFA
- * state). Kernel states are unmarked later (before finding
- * or adding DFA state).
- */
-static nfa_state_t **closure(nfa_state_t **cP, nfa_state_t *n)
-{
- if (!n->mark)
- {
- n->mark = true;
- switch (n->type)
- {
- case nfa_state_t::ALT:
- cP = closure(cP, n->value.alt.out2);
- cP = closure(cP, n->value.alt.out1);
- n->mark = false;
- break;
- case nfa_state_t::CTX:
- *(cP++) = n;
- cP = closure(cP, n->value.ctx.out);
- break;
- default:
- *(cP++) = n;
- break;
- }
- }
-
- return cP;
-}
-
-static size_t find_state
- ( nfa_state_t **kernel
- , nfa_state_t **end
- , ord_hash_set_t &kernels
- )
-{
- // zero-sized kernel corresponds to default state
- if (kernel == end)
- {
- return dfa_t::NIL;
- }
-
- // see note [marking DFA states]
- for (nfa_state_t **p = kernel; p != end; ++p)
- {
- (*p)->mark = false;
- }
-
- // sort kernel states: we need this to get stable hash
- // and to compare states with simple 'memcmp'
- std::sort(kernel, end);
- const size_t size = static_cast<size_t>(end - kernel) * sizeof(nfa_state_t*);
- return kernels.insert(kernel, size);
-}
-
-dfa_t::dfa_t(const nfa_t &nfa, const charset_t &charset, rules_t &rules)
- : states()
- , nchars(charset.size() - 1) // (n + 1) bounds for n ranges
-{
- std::map<size_t, std::set<RuleOp*> > s2rules;
- ord_hash_set_t kernels;
- nfa_state_t **const buffer = new nfa_state_t*[nfa.size];
- std::vector<std::vector<nfa_state_t*> > arcs(nchars);
-
- find_state(buffer, closure(buffer, nfa.root), kernels);
- for (size_t i = 0; i < kernels.size(); ++i)
- {
- dfa_state_t *s = new dfa_state_t;
- states.push_back(s);
-
- nfa_state_t **kernel;
- const size_t kernel_size = kernels.deref<nfa_state_t*>(i, kernel);
- for (size_t j = 0; j < kernel_size; ++j)
- {
- nfa_state_t *n = kernel[j];
- switch (n->type)
- {
- case nfa_state_t::RAN:
- {
- nfa_state_t *m = n->value.ran.out;
- size_t c = 0;
- for (Range *r = n->value.ran.ran; r; r = r->next ())
- {
- for (; charset[c] != r->lower(); ++c);
- for (; charset[c] != r->upper(); ++c)
- {
- arcs[c].push_back(m);
- }
- }
- break;
- }
- case nfa_state_t::CTX:
- s->ctx = true;
- break;
- case nfa_state_t::FIN:
- s2rules[i].insert(n->value.fin.rule);
- break;
- default:
- break;
- }
- }
-
- s->arcs = new size_t[nchars];
- for(size_t c = 0; c < nchars; ++c)
- {
- nfa_state_t **end = buffer;
- for (std::vector<nfa_state_t*>::const_iterator j = arcs[c].begin(); j != arcs[c].end(); ++j)
- {
- end = closure(end, *j);
- }
- s->arcs[c] = find_state(buffer, end, kernels);
- }
-
- for(size_t c = 0; c < nchars; ++c)
- {
- arcs[c].clear();
- }
- }
- delete[] buffer;
-
- const size_t count = states.size();
- for (size_t i = 0; i < count; ++i)
- {
- dfa_state_t *s = states[i];
- std::set<RuleOp*> &rs = s2rules[i];
- // for each final state: choose the rule with the smallest rank
- for (std::set<RuleOp*>::const_iterator j = rs.begin(); j != rs.end(); ++j)
- {
- RuleOp *rule = *j;
- if (!s->rule || rule->rank < s->rule->rank)
- {
- s->rule = rule;
- }
- }
- // other rules are shadowed by the chosen rule
- for (std::set<RuleOp*>::const_iterator j = rs.begin(); j != rs.end(); ++j)
- {
- RuleOp *rule = *j;
- if (s->rule != rule)
- {
- rules[rule->rank].shadow.insert(s->rule->rank);
- }
- }
- }
-}
-
-dfa_t::~dfa_t()
-{
- std::vector<dfa_state_t*>::iterator
- i = states.begin(),
- e = states.end();
- for (; i != e; ++i)
- {
- delete *i;
- }
-}
-
-} // namespace re2c
-
diff --git a/src/ir/dfa/dfa.h b/src/ir/dfa/dfa.h
deleted file mode 100644
index 459ed4ab..00000000
--- a/src/ir/dfa/dfa.h
+++ /dev/null
@@ -1,58 +0,0 @@
-#ifndef _RE2C_IR_DFA_DFA_
-#define _RE2C_IR_DFA_DFA_
-
-#include "src/util/c99_stdint.h"
-#include <vector>
-
-#include "src/ir/regexp/regexp.h"
-#include "src/parse/rules.h"
-#include "src/util/forbid_copy.h"
-
-namespace re2c
-{
-
-struct nfa_t;
-class RuleOp;
-
-struct dfa_state_t
-{
- size_t *arcs;
- RuleOp *rule;
- bool ctx;
-
- dfa_state_t()
- : arcs(NULL)
- , rule(NULL)
- , ctx(false)
- {}
- ~dfa_state_t()
- {
- delete[] arcs;
- }
-
- FORBID_COPY(dfa_state_t);
-};
-
-struct dfa_t
-{
- static const size_t NIL;
-
- std::vector<dfa_state_t*> states;
- const size_t nchars;
-
- dfa_t(const nfa_t &nfa, const charset_t &charset, rules_t &rules);
- ~dfa_t();
-};
-
-enum dfa_minimization_t
-{
- DFA_MINIMIZATION_TABLE,
- DFA_MINIMIZATION_MOORE
-};
-
-void minimization(dfa_t &dfa);
-void fillpoints(const dfa_t &dfa, std::vector<size_t> &fill);
-
-} // namespace re2c
-
-#endif // _RE2C_IR_DFA_DFA_
diff --git a/src/ir/nfa/calc_size.cc b/src/ir/nfa/calc_size.cc
deleted file mode 100644
index 39f0b4e1..00000000
--- a/src/ir/nfa/calc_size.cc
+++ /dev/null
@@ -1,50 +0,0 @@
-#include "src/util/c99_stdint.h"
-
-#include "src/ir/regexp/regexp.h"
-#include "src/ir/regexp/regexp_alt.h"
-#include "src/ir/regexp/regexp_cat.h"
-#include "src/ir/regexp/regexp_close.h"
-#include "src/ir/regexp/regexp_match.h"
-#include "src/ir/regexp/regexp_null.h"
-#include "src/ir/regexp/regexp_rule.h"
-
-namespace re2c
-{
-
-uint32_t AltOp::calc_size() const
-{
- return exp1->calc_size()
- + exp2->calc_size()
- + 1;
-}
-
-uint32_t CatOp::calc_size() const
-{
- return exp1->calc_size()
- + exp2->calc_size();
-}
-
-uint32_t CloseOp::calc_size() const
-{
- return exp->calc_size() + 1;
-}
-
-uint32_t MatchOp::calc_size() const
-{
- return 1;
-}
-
-uint32_t NullOp::calc_size() const
-{
- return 0;
-}
-
-uint32_t RuleOp::calc_size() const
-{
- const uint32_t n = ctx->calc_size();
- return exp->calc_size()
- + (n > 0 ? n + 1 : 0)
- + 1;
-}
-
-} // end namespace re2c
diff --git a/src/ir/nfa/nfa.cc b/src/ir/nfa/nfa.cc
deleted file mode 100644
index 64f4641c..00000000
--- a/src/ir/nfa/nfa.cc
+++ /dev/null
@@ -1,72 +0,0 @@
-#include "src/ir/nfa/nfa.h"
-#include "src/ir/regexp/regexp.h"
-#include "src/ir/regexp/regexp_alt.h"
-#include "src/ir/regexp/regexp_cat.h"
-#include "src/ir/regexp/regexp_close.h"
-#include "src/ir/regexp/regexp_match.h"
-#include "src/ir/regexp/regexp_null.h"
-#include "src/ir/regexp/regexp_rule.h"
-
-namespace re2c {
-
-nfa_t::nfa_t(RegExp *re)
- : max_size(re->calc_size())
- , size(0)
- , states(new nfa_state_t[max_size])
- , root(re->compile(*this, NULL))
-{}
-
-nfa_t::~nfa_t()
-{
- delete[] states;
-}
-
-nfa_state_t *AltOp::compile(nfa_t &nfa, nfa_state_t *t)
-{
- nfa_state_t *s = &nfa.states[nfa.size++];
- s->alt(exp1->compile(nfa, t),
- exp2->compile(nfa, t));
- return s;
-}
-
-nfa_state_t *CatOp::compile(nfa_t &nfa, nfa_state_t *t)
-{
- nfa_state_t *s2 = exp2->compile(nfa, t);
- nfa_state_t *s1 = exp1->compile(nfa, s2);
- return s1;
-}
-
-nfa_state_t *CloseOp::compile(nfa_t &nfa, nfa_state_t *t)
-{
- nfa_state_t *s = &nfa.states[nfa.size++];
- s->alt(t, exp->compile(nfa, s));
- return s;
-}
-
-nfa_state_t *MatchOp::compile(nfa_t &nfa, nfa_state_t *t)
-{
- nfa_state_t *s = &nfa.states[nfa.size++];
- s->ran(t, match);
- return s;
-}
-
-nfa_state_t *NullOp::compile(nfa_t &, nfa_state_t *t)
-{
- return t;
-}
-
-nfa_state_t *RuleOp::compile(nfa_t &nfa, nfa_state_t *)
-{
- nfa_state_t *s3 = &nfa.states[nfa.size++];
- s3->fin(this);
- if (ctx->calc_size() > 0)
- {
- nfa_state_t *s2 = &nfa.states[nfa.size++];
- s2->ctx(ctx->compile(nfa, s3));
- s3 = s2;
- }
- nfa_state_t *s1 = exp->compile(nfa, s3);
- return s1;
-}
-
-} // namespace re2c
diff --git a/src/ir/nfa/nfa.h b/src/ir/nfa/nfa.h
deleted file mode 100644
index 28587f41..00000000
--- a/src/ir/nfa/nfa.h
+++ /dev/null
@@ -1,90 +0,0 @@
-#ifndef _RE2C_IR_NFA_NFA_
-#define _RE2C_IR_NFA_NFA_
-
-#include "src/util/c99_stdint.h"
-
-#include "src/util/forbid_copy.h"
-
-namespace re2c
-{
-
-struct Range;
-struct RegExp;
-struct RuleOp;
-
-struct nfa_state_t
-{
- enum type_t
- {
- ALT,
- RAN,
- CTX,
- FIN
- } type;
- union
- {
- struct
- {
- nfa_state_t *out1;
- nfa_state_t *out2;
- } alt;
- struct
- {
- nfa_state_t *out;
- Range *ran;
- } ran;
- struct
- {
- nfa_state_t *out;
- } ctx;
- struct
- {
- RuleOp *rule;
- } fin;
- } value;
- bool mark;
-
- void alt(nfa_state_t *s1, nfa_state_t *s2)
- {
- type = ALT;
- value.alt.out1 = s1;
- value.alt.out2 = s2;
- mark = false;
- }
- void ran(nfa_state_t *s, Range *r)
- {
- type = RAN;
- value.ran.out = s;
- value.ran.ran = r;
- mark = false;
- }
- void ctx(nfa_state_t *s)
- {
- type = CTX;
- value.ctx.out = s;
- mark = false;
- }
- void fin(RuleOp *r)
- {
- type = FIN;
- value.fin.rule = r;
- mark = false;
- }
-};
-
-struct nfa_t
-{
- const uint32_t max_size;
- uint32_t size;
- nfa_state_t *states;
- nfa_state_t *root;
-
- nfa_t(RegExp *re);
- ~nfa_t();
-
- FORBID_COPY(nfa_t);
-};
-
-} // namespace re2c
-
-#endif // _RE2C_IR_NFA_NFA_
diff --git a/src/ir/nfa/split.cc b/src/ir/nfa/split.cc
deleted file mode 100644
index 73e63040..00000000
--- a/src/ir/nfa/split.cc
+++ /dev/null
@@ -1,49 +0,0 @@
-#include "src/util/c99_stdint.h"
-#include <set>
-
-#include "src/ir/regexp/regexp.h"
-#include "src/ir/regexp/regexp_alt.h"
-#include "src/ir/regexp/regexp_cat.h"
-#include "src/ir/regexp/regexp_close.h"
-#include "src/ir/regexp/regexp_match.h"
-#include "src/ir/regexp/regexp_null.h"
-#include "src/ir/regexp/regexp_rule.h"
-#include "src/util/range.h"
-
-namespace re2c {
-
-void AltOp::split (std::set<uint32_t> & cs)
-{
- exp1->split (cs);
- exp2->split (cs);
-}
-
-void CatOp::split (std::set<uint32_t> & cs)
-{
- exp1->split (cs);
- exp2->split (cs);
-}
-
-void CloseOp::split (std::set<uint32_t> & cs)
-{
- exp->split (cs);
-}
-
-void MatchOp::split (std::set<uint32_t> & cs)
-{
- for (Range *r = match; r; r = r->next ())
- {
- cs.insert (r->lower ());
- cs.insert (r->upper ());
- }
-}
-
-void NullOp::split (std::set<uint32_t> &) {}
-
-void RuleOp::split (std::set<uint32_t> & cs)
-{
- exp->split (cs);
- ctx->split (cs);
-}
-
-} // namespace re2c
diff --git a/src/ir/regexp/display.cc b/src/ir/regexp/display.cc
deleted file mode 100644
index d139dc53..00000000
--- a/src/ir/regexp/display.cc
+++ /dev/null
@@ -1,51 +0,0 @@
-#include <iostream>
-
-#include "src/ir/regexp/regexp.h"
-#include "src/ir/regexp/regexp_alt.h"
-#include "src/ir/regexp/regexp_cat.h"
-#include "src/ir/regexp/regexp_close.h"
-#include "src/ir/regexp/regexp_match.h"
-#include "src/ir/regexp/regexp_null.h"
-#include "src/ir/regexp/regexp_rule.h"
-
-namespace re2c
-{
-
-std::ostream & operator << (std::ostream & o, const RegExp & re)
-{
- re.display (o);
- return o;
-}
-
-void AltOp::display (std::ostream & o) const
-{
- o << exp1 << "|" << exp2;
-}
-
-void CatOp::display (std::ostream & o) const
-{
- o << exp1 << exp2;
-}
-
-void CloseOp::display (std::ostream & o) const
-{
- o << exp << "+";
-}
-
-void MatchOp::display (std::ostream & o) const
-{
- o << match;
-}
-
-void NullOp::display (std::ostream & o) const
-{
- o << "_";
-}
-
-void RuleOp::display (std::ostream & o) const
-{
- o << exp << "/" << ctx << ";";
-}
-
-} // end namespace re2c
-
diff --git a/src/ir/regexp/encoding/range_suffix.cc b/src/ir/regexp/encoding/range_suffix.cc
deleted file mode 100644
index 486bd558..00000000
--- a/src/ir/regexp/encoding/range_suffix.cc
+++ /dev/null
@@ -1,38 +0,0 @@
-#include "src/ir/regexp/encoding/range_suffix.h"
-#include "src/ir/regexp/regexp.h"
-#include "src/ir/regexp/regexp_match.h"
-#include "src/util/range.h"
-
-namespace re2c {
-
-static RegExp * emit (RangeSuffix * p, RegExp * re);
-
-free_list<RangeSuffix *> RangeSuffix::freeList;
-
-RegExp * to_regexp (RangeSuffix * p)
-{
- return p
- ? emit (p, NULL)
- : new MatchOp (NULL);
-}
-
-/*
- * Build regexp from suffix tree.
- */
-RegExp * emit(RangeSuffix * p, RegExp * re)
-{
- if (p == NULL)
- return re;
- else
- {
- RegExp * regexp = NULL;
- for (; p != NULL; p = p->next)
- {
- RegExp * re1 = doCat(new MatchOp(Range::ran (p->l, p->h + 1)), re);
- regexp = doAlt(regexp, emit(p->child, re1));
- }
- return regexp;
- }
-}
-
-} // namespace re2c
diff --git a/src/ir/regexp/encoding/utf16/utf16_regexp.h b/src/ir/regexp/encoding/utf16/utf16_regexp.h
deleted file mode 100644
index d381de94..00000000
--- a/src/ir/regexp/encoding/utf16/utf16_regexp.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef _RE2C_IR_REGEXP_ENCODING_UTF16_REGEXP_
-#define _RE2C_IR_REGEXP_ENCODING_UTF16_REGEXP_
-
-#include "src/ir/regexp/encoding/utf16/utf16.h"
-
-namespace re2c {
-
-class Range;
-class RegExp;
-
-RegExp * UTF16Symbol(utf16::rune r);
-RegExp * UTF16Range(const Range * r);
-
-} // namespace re2c
-
-#endif // _RE2C_IR_REGEXP_ENCODING_UTF16_REGEXP_
diff --git a/src/ir/regexp/encoding/utf8/utf8_range.h b/src/ir/regexp/encoding/utf8/utf8_range.h
deleted file mode 100644
index 1ce46132..00000000
--- a/src/ir/regexp/encoding/utf8/utf8_range.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef _RE2C_IR_REGEXP_ENCODING_UTF8_RANGE_
-#define _RE2C_IR_REGEXP_ENCODING_UTF8_RANGE_
-
-#include "src/util/c99_stdint.h"
-
-#include "src/ir/regexp/encoding/utf8/utf8.h"
-
-namespace re2c {
-
-struct RangeSuffix;
-
-void UTF8addContinuous(RangeSuffix * & p, utf8::rune l, utf8::rune h, uint32_t n);
-void UTF8splitByContinuity(RangeSuffix * & p, utf8::rune l, utf8::rune h, uint32_t n);
-void UTF8splitByRuneLength(RangeSuffix * & p, utf8::rune l, utf8::rune h);
-
-} // namespace re2c
-
-#endif // _RE2C_IR_REGEXP_ENCODING_UTF8_RANGE_
diff --git a/src/ir/regexp/encoding/utf8/utf8_regexp.h b/src/ir/regexp/encoding/utf8/utf8_regexp.h
deleted file mode 100644
index 676759a3..00000000
--- a/src/ir/regexp/encoding/utf8/utf8_regexp.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef _RE2C_IR_REGEXP_ENCODING_UTF8_REGEXP_
-#define _RE2C_IR_REGEXP_ENCODING_UTF8_REGEXP_
-
-#include "src/ir/regexp/encoding/utf8/utf8.h"
-
-namespace re2c {
-
-class Range;
-class RegExp;
-
-RegExp * UTF8Symbol(utf8::rune r);
-RegExp * UTF8Range(const Range * r);
-
-} // namespace re2c
-
-#endif // _RE2C_IR_REGEXP_ENCODING_UTF8_REGEXP_
diff --git a/src/ir/regexp/fixed_length.cc b/src/ir/regexp/fixed_length.cc
deleted file mode 100644
index e0fd7e00..00000000
--- a/src/ir/regexp/fixed_length.cc
+++ /dev/null
@@ -1,55 +0,0 @@
-#include "src/util/c99_stdint.h"
-
-#include "src/ir/regexp/regexp.h"
-#include "src/ir/regexp/regexp_alt.h"
-#include "src/ir/regexp/regexp_cat.h"
-#include "src/ir/regexp/regexp_match.h"
-#include "src/ir/regexp/regexp_null.h"
-
-namespace re2c
-{
-
-uint32_t RegExp::fixedLength ()
-{
- return ~0u;
-}
-
-uint32_t AltOp::fixedLength ()
-{
- uint32_t l1 = exp1->fixedLength ();
- uint32_t l2 = exp1->fixedLength ();
-
- if (l1 != l2 || l1 == ~0u)
- {
- return ~0u;
- }
-
- return l1;
-}
-
-uint32_t CatOp::fixedLength ()
-{
- const uint32_t l1 = exp1->fixedLength ();
- if (l1 != ~0u)
- {
- const uint32_t l2 = exp2->fixedLength ();
- if (l2 != ~0u)
- {
- return l1 + l2;
- }
- }
- return ~0u;
-}
-
-uint32_t MatchOp::fixedLength ()
-{
- return 1;
-}
-
-uint32_t NullOp::fixedLength ()
-{
- return 0;
-}
-
-} // end namespace re2c
-
diff --git a/src/ir/regexp/regexp.cc b/src/ir/regexp/regexp.cc
deleted file mode 100644
index e5a7d9bd..00000000
--- a/src/ir/regexp/regexp.cc
+++ /dev/null
@@ -1,241 +0,0 @@
-#include <stddef.h>
-
-#include "src/conf/opt.h"
-#include "src/conf/warn.h"
-#include "src/globals.h"
-#include "src/ir/regexp/empty_class_policy.h"
-#include "src/ir/regexp/encoding/case.h"
-#include "src/ir/regexp/encoding/enc.h"
-#include "src/ir/regexp/encoding/utf16/utf16_regexp.h"
-#include "src/ir/regexp/encoding/utf8/utf8_regexp.h"
-#include "src/ir/regexp/regexp.h"
-#include "src/ir/regexp/regexp_alt.h"
-#include "src/ir/regexp/regexp_cat.h"
-#include "src/ir/regexp/regexp_close.h"
-#include "src/ir/regexp/regexp_match.h"
-#include "src/ir/regexp/regexp_null.h"
-#include "src/parse/scanner.h"
-#include "src/util/range.h"
-
-namespace re2c
-{
-
-static MatchOp * merge (MatchOp * m1, MatchOp * m2);
-
-free_list<RegExp*> RegExp::vFreeList;
-
-RegExp * doAlt (RegExp * e1, RegExp * e2)
-{
- if (!e1)
- {
- return e2;
- }
- if (!e2)
- {
- return e1;
- }
- return new AltOp (e1, e2);
-}
-
-RegExp * mkAlt (RegExp * e1, RegExp * e2)
-{
- AltOp * a;
- MatchOp * m1;
- MatchOp * m2;
-
- a = dynamic_cast<AltOp*> (e1);
- if (a != NULL)
- {
- m1 = dynamic_cast<MatchOp*> (a->exp1);
- if (m1 != NULL)
- {
- e1 = a->exp2;
- }
- }
- else
- {
- m1 = dynamic_cast<MatchOp*> (e1);
- if (m1 != NULL)
- {
- e1 = NULL;
- }
- }
- a = dynamic_cast<AltOp*> (e2);
- if (a != NULL)
- {
- m2 = dynamic_cast<MatchOp*> (a->exp1);
- if (m2 != NULL)
- {
- e2 = a->exp2;
- }
- }
- else
- {
- m2 = dynamic_cast<MatchOp*> (e2);
- if (m2 != NULL)
- {
- e2 = NULL;
- }
- }
-
- return doAlt (merge (m1, m2), doAlt (e1, e2));
-}
-
-MatchOp * merge (MatchOp * m1, MatchOp * m2)
-{
- if (!m1)
- {
- return m2;
- }
- if (!m2)
- {
- return m1;
- }
- MatchOp * m = new MatchOp (Range::add (m1->match, m2->match));
- return m;
-}
-
-RegExp * doCat (RegExp * e1, RegExp * e2)
-{
- if (!e1)
- {
- return e2;
- }
- if (!e2)
- {
- return e1;
- }
- return new CatOp (e1, e2);
-}
-
-RegExp *Scanner::schr(uint32_t c) const
-{
- if (!opts->encoding.encode(c)) {
- fatalf("Bad code point: '0x%X'", c);
- }
- switch (opts->encoding.type ()) {
- case Enc::UTF16: return UTF16Symbol(c);
- case Enc::UTF8: return UTF8Symbol(c);
- default: return new MatchOp(Range::sym(c));
- }
-}
-
-RegExp *Scanner::ichr(uint32_t c) const
-{
- if (is_alpha(c)) {
- RegExp *l = schr(to_lower_unsafe(c));
- RegExp *u = schr(to_upper_unsafe(c));
- return mkAlt(l, u);
- } else {
- return schr(c);
- }
-}
-
-RegExp *Scanner::cls(Range *r) const
-{
- if (!r)
- {
- switch (opts->empty_class_policy)
- {
- case EMPTY_CLASS_MATCH_EMPTY:
- warn.empty_class (get_line ());
- return new NullOp;
- case EMPTY_CLASS_MATCH_NONE:
- warn.empty_class (get_line ());
- break;
- case EMPTY_CLASS_ERROR:
- fatal ("empty character class");
- break;
- }
- }
-
- switch (opts->encoding.type ())
- {
- case Enc::UTF16: return UTF16Range(r);
- case Enc::UTF8: return UTF8Range(r);
- default: return new MatchOp(r);
- }
-}
-
-RegExp * Scanner::mkDiff (RegExp * e1, RegExp * e2) const
-{
- MatchOp * m1 = dynamic_cast<MatchOp *> (e1);
- MatchOp * m2 = dynamic_cast<MatchOp *> (e2);
- if (m1 == NULL || m2 == NULL)
- {
- fatal("can only difference char sets");
- }
- Range * r = Range::sub (m1->match, m2->match);
-
- return cls(r);
-}
-
-RegExp * Scanner::mkDot() const
-{
- Range * full = opts->encoding.fullRange();
- uint32_t c = '\n';
- if (!opts->encoding.encode(c))
- fatalf("Bad code point: '0x%X'", c);
- Range * ran = Range::sym (c);
- Range * inv = Range::sub (full, ran);
-
- return cls(inv);
-}
-
-/*
- * Create a byte range that includes all possible input characters.
- * This may include characters, which do not map to any valid symbol
- * in current encoding. For encodings, which directly map symbols to
- * input characters (ASCII, EBCDIC, UTF-32), it equals [^]. For other
- * encodings (UTF-16, UTF-8), [^] and this range are different.
- *
- * Also note that default range doesn't respect encoding policy
- * (the way invalid code points are treated).
- */
-RegExp * Scanner::mkDefault() const
-{
- Range * def = Range::ran (0, opts->encoding.nCodeUnits());
- return new MatchOp(def);
-}
-
-/*
- * note [counted repetition expansion]
- *
- * r{0} ;;= <empty regexp>
- * r{n} ::= r{n-1} r
- * r{n,m} ::= r{n} (r{0} | ... | r{m-n})
- * r{n,} ::= r{n} r*
- */
-
-// see note [counted repetition expansion]
-RegExp * repeat (RegExp * e, uint32_t n)
-{
- RegExp * r = NULL;
- for (uint32_t i = 0; i < n; ++i)
- {
- r = doCat (r, e);
- }
- return r;
-}
-
-// see note [counted repetition expansion]
-RegExp * repeat_from_to (RegExp * e, uint32_t n, uint32_t m)
-{
- RegExp * r1 = repeat (e, n);
- RegExp * r2 = NULL;
- for (uint32_t i = n; i < m; ++i)
- {
- r2 = mkAlt (new NullOp, doCat (e, r2));
- }
- return doCat (r1, r2);
-}
-
-// see note [counted repetition expansion]
-RegExp * repeat_from (RegExp * e, uint32_t n)
-{
- RegExp * r1 = repeat (e, n);
- RegExp * r2 = new CloseOp (e);
- return doCat (r1, r2);
-}
-
-} // namespace re2c
diff --git a/src/ir/regexp/regexp.h b/src/ir/regexp/regexp.h
deleted file mode 100644
index 5d344dd3..00000000
--- a/src/ir/regexp/regexp.h
+++ /dev/null
@@ -1,52 +0,0 @@
-#ifndef _RE2C_IR_REGEXP_REGEXP_
-#define _RE2C_IR_REGEXP_REGEXP_
-
-#include "src/util/c99_stdint.h"
-#include <iosfwd>
-#include <set>
-#include <vector>
-
-#include "src/util/free_list.h"
-#include "src/util/forbid_copy.h"
-
-namespace re2c
-{
-
-struct nfa_state_t;
-struct nfa_t;
-
-typedef std::vector<uint32_t> charset_t;
-
-class RegExp
-{
-public:
- static free_list <RegExp *> vFreeList;
-
- inline RegExp ()
- {
- vFreeList.insert (this);
- }
- inline virtual ~RegExp ()
- {
- vFreeList.erase (this);
- }
- virtual void split (std::set<uint32_t> &) = 0;
- virtual uint32_t calc_size() const = 0;
- virtual uint32_t fixedLength ();
- virtual nfa_state_t *compile(nfa_t &nfa, nfa_state_t *n) = 0;
- virtual void display (std::ostream &) const = 0;
- friend std::ostream & operator << (std::ostream & o, const RegExp & re);
-
- FORBID_COPY (RegExp);
-};
-
-RegExp * doAlt (RegExp * e1, RegExp * e2);
-RegExp * mkAlt (RegExp * e1, RegExp * e2);
-RegExp * doCat (RegExp * e1, RegExp * e2);
-RegExp * repeat (RegExp * e, uint32_t n);
-RegExp * repeat_from_to (RegExp * e, uint32_t n, uint32_t m);
-RegExp * repeat_from (RegExp * e, uint32_t n);
-
-} // end namespace re2c
-
-#endif // _RE2C_IR_REGEXP_REGEXP_
diff --git a/src/ir/regexp/regexp_alt.h b/src/ir/regexp/regexp_alt.h
deleted file mode 100644
index 6f1c8ea4..00000000
--- a/src/ir/regexp/regexp_alt.h
+++ /dev/null
@@ -1,31 +0,0 @@
-#ifndef _RE2C_IR_REGEXP_REGEXP_ALT_
-#define _RE2C_IR_REGEXP_REGEXP_ALT_
-
-#include "src/ir/regexp/regexp.h"
-
-namespace re2c
-{
-
-class AltOp: public RegExp
-{
- RegExp * exp1;
- RegExp * exp2;
-
-public:
- inline AltOp (RegExp * e1, RegExp * e2)
- : exp1 (e1)
- , exp2 (e2)
- {}
- void split (std::set<uint32_t> &);
- uint32_t calc_size() const;
- uint32_t fixedLength ();
- nfa_state_t *compile(nfa_t &nfa, nfa_state_t *n);
- void display (std::ostream & o) const;
- friend RegExp * mkAlt (RegExp *, RegExp *);
-
- FORBID_COPY (AltOp);
-};
-
-} // end namespace re2c
-
-#endif // _RE2C_IR_REGEXP_REGEXP_ALT_
diff --git a/src/ir/regexp/regexp_cat.h b/src/ir/regexp/regexp_cat.h
deleted file mode 100644
index d8176212..00000000
--- a/src/ir/regexp/regexp_cat.h
+++ /dev/null
@@ -1,30 +0,0 @@
-#ifndef _RE2C_IR_REGEXP_REGEXP_CAT_
-#define _RE2C_IR_REGEXP_REGEXP_CAT_
-
-#include "src/ir/regexp/regexp.h"
-
-namespace re2c
-{
-
-class CatOp: public RegExp
-{
- RegExp * exp1;
- RegExp * exp2;
-
-public:
- inline CatOp (RegExp * e1, RegExp * e2)
- : exp1 (e1)
- , exp2 (e2)
- {}
- void split (std::set<uint32_t> &);
- uint32_t calc_size() const;
- uint32_t fixedLength ();
- nfa_state_t *compile(nfa_t &nfa, nfa_state_t *n);
- void display (std::ostream & o) const;
-
- FORBID_COPY (CatOp);
-};
-
-} // end namespace re2c
-
-#endif // _RE2C_IR_REGEXP_REGEXP_CAT_
diff --git a/src/ir/regexp/regexp_close.h b/src/ir/regexp/regexp_close.h
deleted file mode 100644
index 02bea20f..00000000
--- a/src/ir/regexp/regexp_close.h
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef _RE2C_IR_REGEXP_REGEXP_CLOSE_
-#define _RE2C_IR_REGEXP_REGEXP_CLOSE_
-
-#include "src/ir/regexp/regexp.h"
-
-namespace re2c
-{
-
-class CloseOp: public RegExp
-{
- RegExp * exp;
-
-public:
- inline CloseOp (RegExp * e)
- : exp (e)
- {}
- void split (std::set<uint32_t> &);
- uint32_t calc_size() const;
- nfa_state_t *compile(nfa_t &nfa, nfa_state_t *n);
- void display (std::ostream & o) const;
-
- FORBID_COPY (CloseOp);
-};
-
-} // end namespace re2c
-
-#endif // _RE2C_IR_REGEXP_REGEXP_CLOSE_
diff --git a/src/ir/regexp/regexp_match.h b/src/ir/regexp/regexp_match.h
deleted file mode 100644
index 903697b6..00000000
--- a/src/ir/regexp/regexp_match.h
+++ /dev/null
@@ -1,29 +0,0 @@
-#ifndef _RE2C_IR_REGEXP_REGEXP_MATCH_
-#define _RE2C_IR_REGEXP_REGEXP_MATCH_
-
-#include "src/ir/regexp/regexp.h"
-#include "src/util/range.h"
-
-namespace re2c
-{
-
-class MatchOp: public RegExp
-{
-public:
- Range * match;
-
- inline MatchOp (Range * m)
- : match (m)
- {}
- void split (std::set<uint32_t> &);
- uint32_t calc_size() const;
- uint32_t fixedLength ();
- nfa_state_t *compile(nfa_t &nfa, nfa_state_t *n);
- void display (std::ostream & o) const;
-
- FORBID_COPY (MatchOp);
-};
-
-} // end namespace re2c
-
-#endif // _RE2C_IR_REGEXP_REGEXP_MATCH_
diff --git a/src/ir/regexp/regexp_null.h b/src/ir/regexp/regexp_null.h
deleted file mode 100644
index 8168dbe5..00000000
--- a/src/ir/regexp/regexp_null.h
+++ /dev/null
@@ -1,21 +0,0 @@
-#ifndef _RE2C_IR_REGEXP_REGEXP_NULL_
-#define _RE2C_IR_REGEXP_REGEXP_NULL_
-
-#include "src/ir/regexp/regexp.h"
-
-namespace re2c
-{
-
-class NullOp: public RegExp
-{
-public:
- void split (std::set<uint32_t> &);
- uint32_t calc_size() const;
- uint32_t fixedLength ();
- nfa_state_t *compile(nfa_t &nfa, nfa_state_t *n);
- void display (std::ostream & o) const;
-};
-
-} // end namespace re2c
-
-#endif // _RE2C_IR_REGEXP_REGEXP_NULL_
diff --git a/src/ir/regexp/regexp_rule.h b/src/ir/regexp/regexp_rule.h
deleted file mode 100644
index 1519fa23..00000000
--- a/src/ir/regexp/regexp_rule.h
+++ /dev/null
@@ -1,52 +0,0 @@
-#ifndef _RE2C_IR_REGEXP_REGEXP_RULE_
-#define _RE2C_IR_REGEXP_REGEXP_RULE_
-
-#include <string>
-
-#include "src/ir/regexp/regexp.h"
-#include "src/ir/rule_rank.h"
-#include "src/parse/code.h"
-
-namespace re2c
-{
-
-class RuleOp: public RegExp
-{
-public:
- const Loc loc;
-
-private:
- RegExp * exp;
-
-public:
- RegExp * ctx;
- rule_rank_t rank;
- const Code * code;
- const std::string newcond;
-
- inline RuleOp
- ( const Loc & l
- , RegExp * r1
- , RegExp * r2
- , rule_rank_t r
- , const Code * c
- , const std::string * cond
- )
- : loc (l)
- , exp (r1)
- , ctx (r2)
- , rank (r)
- , code (c)
- , newcond (cond ? *cond : "")
- {}
- void display (std::ostream & o) const;
- void split (std::set<uint32_t> &);
- uint32_t calc_size() const;
- nfa_state_t *compile(nfa_t &nfa, nfa_state_t *n);
-
- FORBID_COPY (RuleOp);
-};
-
-} // end namespace re2c
-
-#endif // _RE2C_IR_REGEXP_REGEXP_RULE_
diff --git a/src/ir/rule_rank.cc b/src/ir/rule_rank.cc
deleted file mode 100644
index 12d2de88..00000000
--- a/src/ir/rule_rank.cc
+++ /dev/null
@@ -1,68 +0,0 @@
-#include <assert.h>
-#include <limits>
-#include <ostream>
-
-#include "src/ir/rule_rank.h"
-
-namespace re2c
-{
-
-const uint32_t rule_rank_t::NONE = std::numeric_limits<uint32_t>::max();
-const uint32_t rule_rank_t::DEF = rule_rank_t::NONE - 1;
-
-rule_rank_t::rule_rank_t ()
- : value (0)
-{}
-
-void rule_rank_t::inc ()
-{
- assert (value < DEF - 1);
- ++value;
-}
-
-rule_rank_t rule_rank_t::none ()
-{
- rule_rank_t r;
- r.value = NONE;
- return r;
-}
-
-rule_rank_t rule_rank_t::def ()
-{
- rule_rank_t r;
- r.value = DEF;
- return r;
-}
-
-bool rule_rank_t::is_none () const
-{
- return value == NONE;
-}
-
-bool rule_rank_t::is_def () const
-{
- return value == DEF;
-}
-
-bool rule_rank_t::operator < (const rule_rank_t & r) const
-{
- return value < r.value;
-}
-
-bool rule_rank_t::operator == (const rule_rank_t & r) const
-{
- return value == r.value;
-}
-
-std::ostream & operator << (std::ostream & o, rule_rank_t r)
-{
- o << r.value;
- return o;
-}
-
-uint32_t rule_rank_t::uint32 () const
-{
- return value;
-}
-
-} // namespace re2c
diff --git a/src/ir/rule_rank.h b/src/ir/rule_rank.h
deleted file mode 100644
index ca19cb94..00000000
--- a/src/ir/rule_rank.h
+++ /dev/null
@@ -1,44 +0,0 @@
-#ifndef _RE2C_IR_RULE_RANK_
-#define _RE2C_IR_RULE_RANK_
-
-#include "src/util/c99_stdint.h"
-#include <iosfwd>
-
-namespace re2c
-{
-
-template <typename num_t> class counter_t;
-
-// rule rank public API:
-// - get rule rank corresponding to nonexistent/default rule
-// - check if rank corresponds to nonexistent/default rule
-// - compare ranks
-// - output rank to std::ostream
-//
-// rule rank private API (for rule rank counter):
-// - get first rank
-// - get next rank
-class rule_rank_t
-{
- static const uint32_t NONE;
- static const uint32_t DEF;
- uint32_t value;
- rule_rank_t ();
- void inc ();
-
-public:
- static rule_rank_t none ();
- static rule_rank_t def ();
- bool is_none () const;
- bool is_def () const;
- bool operator < (const rule_rank_t & r) const;
- bool operator == (const rule_rank_t & r) const;
- friend std::ostream & operator << (std::ostream & o, rule_rank_t r);
- uint32_t uint32 () const;
-
- friend class counter_t<rule_rank_t>;
-};
-
-} // namespace re2c
-
-#endif // _RE2C_IR_RULE_RANK_
diff --git a/src/ir/skeleton/control_flow.cc b/src/ir/skeleton/control_flow.cc
deleted file mode 100644
index 74166865..00000000
--- a/src/ir/skeleton/control_flow.cc
+++ /dev/null
@@ -1,61 +0,0 @@
-#include <map>
-#include <utility>
-#include <vector>
-
-#include "src/conf/warn.h"
-#include "src/globals.h"
-#include "src/ir/rule_rank.h"
-#include "src/ir/skeleton/path.h"
-#include "src/ir/skeleton/skeleton.h"
-#include "src/ir/skeleton/way.h"
-#include "src/util/u32lim.h"
-
-namespace re2c
-{
-
-// We don't need all patterns that cause undefined behaviour.
-// We only need some examples, the shorter the better.
-// See also note [counting skeleton edges].
-void Node::naked_ways (way_t & prefix, std::vector<way_t> & ways, nakeds_t &size)
-{
- if (!rule.rank.is_none ())
- {
- return;
- }
- else if (end ())
- {
- ways.push_back (prefix);
- size = size + nakeds_t::from64(prefix.size ());
- }
- else if (loop < 2)
- {
- local_inc _ (loop);
- for (arcsets_t::iterator i = arcsets.begin ();
- i != arcsets.end () && !size.overflow (); ++i)
- {
- prefix.push_back (&i->second);
- i->first->naked_ways (prefix, ways, size);
- prefix.pop_back ();
- }
- }
-}
-
-void Skeleton::warn_undefined_control_flow ()
-{
- way_t prefix;
- std::vector<way_t> ways;
- Node::nakeds_t size = Node::nakeds_t::from32(0u);
-
- nodes->naked_ways (prefix, ways, size);
-
- if (!ways.empty ())
- {
- warn.undefined_control_flow (line, cond, ways, size.overflow ());
- }
- else if (size.overflow ())
- {
- warn.fail (Warn::UNDEFINED_CONTROL_FLOW, line, "DFA is too large to check undefined control flow");
- }
-}
-
-} // namespace re2c
diff --git a/src/ir/skeleton/generate_code.cc b/src/ir/skeleton/generate_code.cc
deleted file mode 100644
index 38940ae7..00000000
--- a/src/ir/skeleton/generate_code.cc
+++ /dev/null
@@ -1,323 +0,0 @@
-#include "src/util/c99_stdint.h"
-#include <stddef.h>
-#include <algorithm>
-#include <set>
-#include <string>
-
-#include "src/codegen/bitmap.h"
-#include "src/codegen/output.h"
-#include "src/conf/opt.h"
-#include "src/globals.h"
-#include "src/ir/regexp/encoding/enc.h"
-#include "src/ir/rule_rank.h"
-#include "src/ir/skeleton/skeleton.h"
-
-namespace re2c
-{
-
-static void exact_uint (OutputFile & o, size_t width)
-{
- if (width == sizeof (char))
- {
- o.ws("unsigned char");
- }
- else if (width == sizeof (short))
- {
- o.ws("unsigned short");
- }
- else if (width == sizeof (int))
- {
- o.ws("unsigned int");
- }
- else if (width == sizeof (long))
- {
- o.ws("unsigned long");
- }
- else
- {
- o.ws("uint").wu64 (width * 8).ws("_t");
- }
-}
-
-static void from_le(OutputFile &o, uint32_t ind, size_t size, const char *expr)
-{
- o.ws("\n").wind(ind).ws("/* from little-endian to host-endian */");
- o.ws("\n").wind(ind).ws("unsigned char *p = (unsigned char*)&").ws(expr).ws(";");
- o.ws("\n").wind(ind).ws(expr).ws(" = p[0]");
- for (uint32_t i = 1; i < size; ++i)
- {
- o.ws(" + (p[").wu32(i).ws("] << ").wu32(i * 8).ws("u)");
- }
- o.ws(";");
-}
-
-void Skeleton::emit_prolog (OutputFile & o)
-{
- o.ws("\n#include <stdio.h>");
- o.ws("\n#include <stdlib.h> /* malloc, free */");
- o.ws("\n");
- o.ws("\nstatic void *read_file");
- o.ws("\n").wind(1).ws("( const char *fname");
- o.ws("\n").wind(1).ws(", size_t unit");
- o.ws("\n").wind(1).ws(", size_t padding");
- o.ws("\n").wind(1).ws(", size_t *pfsize");
- o.ws("\n").wind(1).ws(")");
- o.ws("\n{");
- o.ws("\n").wind(1).ws("void *buffer = NULL;");
- o.ws("\n").wind(1).ws("size_t fsize = 0;");
- o.ws("\n");
- o.ws("\n").wind(1).ws("/* open file */");
- o.ws("\n").wind(1).ws("FILE *f = fopen(fname, \"rb\");");
- o.ws("\n").wind(1).ws("if(f == NULL) {");
- o.ws("\n").wind(2).ws("goto error;");
- o.ws("\n").wind(1).ws("}");
- o.ws("\n");
- o.ws("\n").wind(1).ws("/* get file size */");
- o.ws("\n").wind(1).ws("fseek(f, 0, SEEK_END);");
- o.ws("\n").wind(1).ws("fsize = (size_t) ftell(f) / unit;");
- o.ws("\n").wind(1).ws("fseek(f, 0, SEEK_SET);");
- o.ws("\n");
- o.ws("\n").wind(1).ws("/* allocate memory for file and padding */");
- o.ws("\n").wind(1).ws("buffer = malloc(unit * (fsize + padding));");
- o.ws("\n").wind(1).ws("if (buffer == NULL) {");
- o.ws("\n").wind(2).ws("goto error;");
- o.ws("\n").wind(1).ws("}");
- o.ws("\n");
- o.ws("\n").wind(1).ws("/* read the whole file in memory */");
- o.ws("\n").wind(1).ws("if (fread(buffer, unit, fsize, f) != fsize) {");
- o.ws("\n").wind(2).ws("goto error;");
- o.ws("\n").wind(1).ws("}");
- o.ws("\n");
- o.ws("\n").wind(1).ws("fclose(f);");
- o.ws("\n").wind(1).ws("*pfsize = fsize;");
- o.ws("\n").wind(1).ws("return buffer;");
- o.ws("\n");
- o.ws("\nerror:");
- o.ws("\n").wind(1).ws("fprintf(stderr, \"error: cannot read file '%s'\\n\", fname);");
- o.ws("\n").wind(1).ws("free(buffer);");
- o.ws("\n").wind(1).ws("if (f != NULL) {");
- o.ws("\n").wind(2).ws("fclose(f);");
- o.ws("\n").wind(1).ws("}");
- o.ws("\n").wind(1).ws("return NULL;");
- o.ws("\n}");
- o.ws("\n");
-}
-
-void Skeleton::emit_start
- ( OutputFile & o
- , size_t maxfill
- , bool backup
- , bool backupctx
- , bool accept
- ) const
-{
- const size_t sizeof_cunit = opts->encoding.szCodeUnit();
- const uint32_t default_rule = rule2key (rule_rank_t::none ());
-
- o.ws("\n#define YYCTYPE ");
- exact_uint (o, sizeof_cunit);
- o.ws("\n#define YYKEYTYPE ");
- exact_uint (o, sizeof_key);
- o.ws("\n#define YYPEEK() *cursor");
- o.ws("\n#define YYSKIP() ++cursor");
- if (backup)
- {
- o.ws("\n#define YYBACKUP() marker = cursor");
- o.ws("\n#define YYRESTORE() cursor = marker");
- }
- if (backupctx)
- {
- o.ws("\n#define YYBACKUPCTX() ctxmarker = cursor");
- o.ws("\n#define YYRESTORECTX() cursor = ctxmarker");
- }
- o.ws("\n#define YYLESSTHAN(n) (limit - cursor) < n");
- o.ws("\n#define YYFILL(n) { break; }");
- o.ws("\n");
- o.ws("\nstatic int action_").wstring(name);
- o.ws("\n").wind(1).ws("( unsigned int i");
- o.ws("\n").wind(1).ws(", const YYKEYTYPE *keys");
- o.ws("\n").wind(1).ws(", const YYCTYPE *start");
- o.ws("\n").wind(1).ws(", const YYCTYPE *token");
- o.ws("\n").wind(1).ws(", const YYCTYPE **cursor");
- o.ws("\n").wind(1).ws(", YYKEYTYPE rule_act");
- o.ws("\n").wind(1).ws(")");
- o.ws("\n{");
- o.ws("\n").wind(1).ws("const long pos = token - start;");
- o.ws("\n").wind(1).ws("const long len_act = *cursor - token;");
- o.ws("\n").wind(1).ws("const long len_exp = (long) keys [3 * i + 1];");
- o.ws("\n").wind(1).ws("const YYKEYTYPE rule_exp = keys [3 * i + 2];");
- o.ws("\n").wind(1).ws("if (rule_exp == ").wu32(default_rule).ws(") {");
- o.ws("\n").wind(2).ws("fprintf");
- o.ws("\n").wind(3).ws("( stderr");
- o.ws("\n").wind(3).ws(", \"warning: lex_").wstring(name).ws(": control flow is undefined for input\"");
- o.ws("\n").wind(4).ws("\" at position %ld, rerun re2c with '-W'\\n\"");
- o.ws("\n").wind(3).ws(", pos");
- o.ws("\n").wind(3).ws(");");
- o.ws("\n").wind(1).ws("}");
- o.ws("\n").wind(1).ws("if (len_act == len_exp && rule_act == rule_exp) {");
- o.ws("\n").wind(2).ws("const YYKEYTYPE offset = keys[3 * i];");
- o.ws("\n").wind(2).ws("*cursor = token + offset;");
- o.ws("\n").wind(2).ws("return 0;");
- o.ws("\n").wind(1).ws("} else {");
- o.ws("\n").wind(2).ws("fprintf");
- o.ws("\n").wind(3).ws("( stderr");
- o.ws("\n").wind(3).ws(", \"error: lex_").wstring(name).ws(": at position %ld (iteration %u):\\n\"");
- o.ws("\n").wind(4).ws("\"\\texpected: match length %ld, rule %u\\n\"");
- o.ws("\n").wind(4).ws("\"\\tactual: match length %ld, rule %u\\n\"");
- o.ws("\n").wind(3).ws(", pos");
- o.ws("\n").wind(3).ws(", i");
- o.ws("\n").wind(3).ws(", len_exp");
- o.ws("\n").wind(3).ws(", rule_exp");
- o.ws("\n").wind(3).ws(", len_act");
- o.ws("\n").wind(3).ws(", rule_act");
- o.ws("\n").wind(3).ws(");");
- o.ws("\n").wind(2).ws("return 1;");
- o.ws("\n").wind(1).ws("}");
- o.ws("\n}");
- o.ws("\n");
- o.ws("\nint lex_").wstring(name).ws("()");
- o.ws("\n{");
- o.ws("\n").wind(1).ws("const size_t padding = ").wu64(maxfill).ws("; /* YYMAXFILL */");
- o.ws("\n").wind(1).ws("int status = 0;");
- o.ws("\n").wind(1).ws("size_t input_len = 0;");
- o.ws("\n").wind(1).ws("size_t keys_count = 0;");
- o.ws("\n").wind(1).ws("YYCTYPE *input = NULL;");
- o.ws("\n").wind(1).ws("YYKEYTYPE *keys = NULL;");
- o.ws("\n").wind(1).ws("const YYCTYPE *cursor = NULL;");
- o.ws("\n").wind(1).ws("const YYCTYPE *limit = NULL;");
- o.ws("\n").wind(1).ws("const YYCTYPE *token = NULL;");
- o.ws("\n").wind(1).ws("const YYCTYPE *eof = NULL;");
- o.ws("\n").wind(1).ws("unsigned int i = 0;");
- o.ws("\n");
- o.ws("\n").wind(1).ws("input = (YYCTYPE *) read_file");
- o.ws("\n").wind(2).ws("(\"").wstring(o.file_name).ws(".").wstring(name).ws(".input\"");
- o.ws("\n").wind(2).ws(", sizeof (YYCTYPE)");
- o.ws("\n").wind(2).ws(", padding");
- o.ws("\n").wind(2).ws(", &input_len");
- o.ws("\n").wind(2).ws(");");
- o.ws("\n").wind(1).ws("if (input == NULL) {");
- o.ws("\n").wind(2).ws("status = 1;");
- o.ws("\n").wind(2).ws("goto end;");
- o.ws("\n").wind(1).ws("}");
- o.ws("\n");
- if (sizeof_cunit > 1)
- {
- o.ws("\n").wind(1).ws("for (i = 0; i < input_len; ++i) {");
- from_le(o, 2, sizeof_cunit, "input[i]");
- o.ws("\n").wind(1).ws("}");
- o.ws("\n");
- }
- o.ws("\n").wind(1).ws("keys = (YYKEYTYPE *) read_file");
- o.ws("\n").wind(2).ws("(\"").wstring(o.file_name).ws(".").wstring(name).ws(".keys\"");
- o.ws("\n").wind(2).ws(", 3 * sizeof (YYKEYTYPE)");
- o.ws("\n").wind(2).ws(", 0");
- o.ws("\n").wind(2).ws(", &keys_count");
- o.ws("\n").wind(2).ws(");");
- o.ws("\n").wind(1).ws("if (keys == NULL) {");
- o.ws("\n").wind(2).ws("status = 1;");
- o.ws("\n").wind(2).ws("goto end;");
- o.ws("\n").wind(1).ws("}");
- o.ws("\n");
- if (sizeof_key > 1)
- {
- o.ws("\n").wind(1).ws("for (i = 0; i < 3 * keys_count; ++i) {");
- from_le(o, 2, sizeof_key, "keys[i]");
- o.ws("\n").wind(1).ws("}");
- o.ws("\n");
- }
- o.ws("\n").wind(1).ws("cursor = input;");
- o.ws("\n").wind(1).ws("limit = input + input_len + padding;");
- o.ws("\n").wind(1).ws("eof = input + input_len;");
- o.ws("\n");
- o.ws("\n").wind(1).ws("for (i = 0; status == 0 && i < keys_count; ++i) {");
- o.ws("\n").wind(2).ws("token = cursor;");
- if (backup)
- {
- o.ws("\n").wind(2).ws("const YYCTYPE *marker = NULL;");
- }
- if (backupctx)
- {
- o.ws("\n").wind(2).ws("const YYCTYPE *ctxmarker = NULL;");
- }
- o.ws("\n").wind(2).ws("YYCTYPE yych;");
- if (accept)
- {
- o.ws("\n").wind(2).ws("unsigned int yyaccept = 0;");
- }
- o.ws("\n");
- if (opts->bFlag && BitMap::first)
- {
- BitMap::gen (o, 2, 0, std::min (0x100u, opts->encoding.nCodeUnits ()));
- }
- o.ws("\n");
-}
-
-void Skeleton::emit_end
- ( OutputFile & o
- , bool backup
- , bool backupctx
- ) const
-{
- o.ws("\n").wind(1).ws("}");
- o.ws("\n").wind(1).ws("if (status == 0) {");
- o.ws("\n").wind(2).ws("if (cursor != eof) {");
- o.ws("\n").wind(3).ws("status = 1;");
- o.ws("\n").wind(3).ws("const long pos = token - input;");
- o.ws("\n").wind(3).ws("fprintf(stderr, \"error: lex_").wstring(name).ws(": unused input strings left at position %ld\\n\", pos);");
- o.ws("\n").wind(2).ws("}");
- o.ws("\n").wind(2).ws("if (i != keys_count) {");
- o.ws("\n").wind(3).ws("status = 1;");
- o.ws("\n").wind(3).ws("fprintf(stderr, \"error: lex_").wstring(name).ws(": unused keys left after %u iterations\\n\", i);");
- o.ws("\n").wind(2).ws("}");
- o.ws("\n").wind(1).ws("}");
- o.ws("\n");
- o.ws("\nend:");
- o.ws("\n").wind(1).ws("free(input);");
- o.ws("\n").wind(1).ws("free(keys);");
- o.ws("\n");
- o.ws("\n").wind(1).ws("return status;");
- o.ws("\n}");
- o.ws("\n");
- o.ws("\n#undef YYCTYPE");
- o.ws("\n#undef YYKEYTYPE");
- o.ws("\n#undef YYPEEK");
- o.ws("\n#undef YYSKIP");
- if (backup)
- {
- o.ws("\n#undef YYBACKUP");
- o.ws("\n#undef YYRESTORE");
- }
- if (backupctx)
- {
- o.ws("\n#undef YYBACKUPCTX");
- o.ws("\n#undef YYRESTORECTX");
- }
- o.ws("\n#undef YYLESSTHAN");
- o.ws("\n#undef YYFILL");
- o.ws("\n");
-}
-
-void Skeleton::emit_epilog (OutputFile & o, const std::set<std::string> & names)
-{
- o.ws("\n").ws("int main()");
- o.ws("\n").ws("{");
-
- for (std::set<std::string>::const_iterator i = names.begin (); i != names.end (); ++i)
- {
- o.ws("\n").wind(1).ws("if(lex_").wstring(*i).ws("() != 0) {");
- o.ws("\n").wind(2).ws("return 1;");
- o.ws("\n").wind(1).ws("}");
- }
-
- o.ws("\n").wind(1).ws("return 0;");
- o.ws("\n}");
- o.ws("\n");
-}
-
-void Skeleton::emit_action (OutputFile & o, uint32_t ind, rule_rank_t rank) const
-{
- o.wind(ind).ws("status = action_").wstring(name).ws("(i, keys, input, token, &cursor, ").wu32(rule2key (rank)).ws(");\n");
- o.wind(ind).ws("continue;\n");
-}
-
-} // namespace re2c
diff --git a/src/ir/skeleton/generate_data.cc b/src/ir/skeleton/generate_data.cc
deleted file mode 100644
index 60af8376..00000000
--- a/src/ir/skeleton/generate_data.cc
+++ /dev/null
@@ -1,215 +0,0 @@
-#include "src/util/c99_stdint.h"
-#include <stddef.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <algorithm>
-#include <map>
-#include <string>
-#include <utility>
-#include <vector>
-
-#include "src/conf/msg.h"
-#include "src/conf/opt.h"
-#include "src/globals.h"
-#include "src/ir/regexp/encoding/enc.h"
-#include "src/ir/rule_rank.h"
-#include "src/ir/skeleton/path.h"
-#include "src/ir/skeleton/skeleton.h"
-#include "src/util/u32lim.h"
-
-namespace re2c
-{
-
-template <typename cunit_t, typename key_t>
- static Node::covers_t cover_one (FILE * input, FILE * keys, const path_t & path);
-
-/*
- * note [generating skeleton path cover]
- *
- * With --skeleton switch we need to generate lots of data: strings that
- * correspond to various paths in DFA and match given regular expression.
- * We try to generate path cover (a set of paths that cover all skeleton
- * arcs at least once). Generation must stop as soon as the size of path
- * cover exceeds limit (in which case we'll only get a partial path cover).
- *
- * The algorithm walks graph nodes in deep-first order and assigns suffix
- * to each node (a path from this node to end node). In order to calculate
- * suffix for a given node the algorithm must know suffix for any child
- * node (end nodes are assigned empty suffix at start). Suffix is only
- * calculated once for each node and then reused as much times as the node
- * is visited. This is what reduces search space.
- *
- * The algorithm calculates prefix (multipath to current node). If current
- * node has already been assigned suffix, the algorithm immediately
- * calculates path cover from prefix and suffix. Otherwise it recurses to
- * child nodes (updating prefix on the go).
- *
- * The algorithm avoids eternal loops by maintaining loop counter for each
- * node. Loop counter is incremented on recursive enter and decremented on
- * recursive return. If loop counter is greater than 1, current branch is
- * abandoned and recursion returns immediately.
- *
- * See also note [counting skeleton edges].
- *
- */
-template <typename cunit_t, typename key_t>
- void Node::cover (path_t & prefix, FILE * input, FILE * keys, covers_t &size)
-{
- if (end () && suffix == NULL)
- {
- suffix = new path_t (rule, ctx);
- }
- if (suffix != NULL)
- {
- prefix.append (suffix);
- size = size + cover_one<cunit_t, key_t> (input, keys, prefix);
- }
- else if (loop < 2)
- {
- local_inc _ (loop);
- for (arcs_t::iterator i = arcs.begin ();
- i != arcs.end () && !size.overflow(); ++i)
- {
- path_t new_prefix = prefix;
- new_prefix.extend (i->first->rule, i->first->ctx, &i->second);
- i->first->cover<cunit_t, key_t> (new_prefix, input, keys, size);
- if (i->first->suffix != NULL && suffix == NULL)
- {
- suffix = new path_t (rule, ctx);
- suffix->extend (i->first->rule, i->first->ctx, &i->second);
- suffix->append (i->first->suffix);
- }
- }
- }
-}
-
-template <typename cunit_t, typename key_t>
- void Skeleton::generate_paths_cunit_key (FILE * input, FILE * keys)
-{
- path_t prefix (nodes->rule, nodes->ctx);
- Node::covers_t size = Node::covers_t::from32(0u);
-
- nodes->cover<cunit_t, key_t> (prefix, input, keys, size);
-
- if (size.overflow ())
- {
- warning
- ( NULL
- , line
- , false
- , "DFA %sis too large: can only generate partial path cover"
- , incond (cond).c_str ()
- );
- }
-}
-
-template <typename cunit_t>
- void Skeleton::generate_paths_cunit (FILE * input, FILE * keys)
-{
- switch (sizeof_key)
- {
- case 4: generate_paths_cunit_key<cunit_t, uint32_t> (input, keys); break;
- case 2: generate_paths_cunit_key<cunit_t, uint16_t> (input, keys); break;
- case 1: generate_paths_cunit_key<cunit_t, uint8_t> (input, keys); break;
- }
-}
-
-void Skeleton::generate_paths (FILE * input, FILE * keys)
-{
- switch (opts->encoding.szCodeUnit ())
- {
- case 4: generate_paths_cunit<uint32_t> (input, keys); break;
- case 2: generate_paths_cunit<uint16_t> (input, keys); break;
- case 1: generate_paths_cunit<uint8_t> (input, keys); break;
- }
-}
-
-void Skeleton::emit_data (const char * fname)
-{
- const std::string input_name = std::string (fname) + "." + name + ".input";
- FILE * input = fopen (input_name.c_str (), "wb");
- if (!input)
- {
- error ("cannot open file: %s", input_name.c_str ());
- exit (1);
- }
- const std::string keys_name = std::string (fname) + "." + name + ".keys";
- FILE * keys = fopen (keys_name.c_str (), "wb");
- if (!keys)
- {
- error ("cannot open file: %s", keys_name.c_str ());
- exit (1);
- }
-
- generate_paths (input, keys);
-
- fclose (input);
- fclose (keys);
-}
-
-template <typename uintn_t> static uintn_t to_le(uintn_t n)
-{
- uintn_t m;
- uint8_t *p = reinterpret_cast<uint8_t*>(&m);
- for (size_t i = 0; i < sizeof(uintn_t); ++i)
- {
- p[i] = static_cast<uint8_t>(n >> (i * 8));
- }
- return m;
-}
-
-template <typename key_t>
- static void keygen (FILE * f, size_t count, size_t len, size_t len_match, rule_rank_t match)
-{
- const key_t m = Skeleton::rule2key<key_t> (match);
-
- const size_t keys_size = 3 * count;
- key_t * keys = new key_t [keys_size];
- for (uint32_t i = 0; i < keys_size;)
- {
- keys[i++] = to_le<key_t>(static_cast<key_t> (len));
- keys[i++] = to_le<key_t>(static_cast<key_t> (len_match));
- keys[i++] = to_le<key_t>(m);
- }
- fwrite (keys, sizeof (key_t), keys_size, f);
- delete [] keys;
-}
-
-template <typename cunit_t, typename key_t>
- static Node::covers_t cover_one (FILE * input, FILE * keys, const path_t & path)
-{
- const size_t len = path.len ();
-
- size_t count = 0;
- for (size_t i = 0; i < len; ++i)
- {
- count = std::max (count, path[i]->size ());
- }
-
- const Node::covers_t size = Node::covers_t::from64(len) * Node::covers_t::from64(count);
- if (!size.overflow ())
- {
- // input
- const size_t buffer_size = size.uint32 ();
- cunit_t * buffer = new cunit_t [buffer_size];
- for (size_t i = 0; i < len; ++i)
- {
- const std::vector<uint32_t> & arc = *path[i];
- const size_t width = arc.size ();
- for (size_t j = 0; j < count; ++j)
- {
- const size_t k = j % width;
- buffer[j * len + i] = to_le<cunit_t>(static_cast<cunit_t> (arc[k]));
- }
- }
- fwrite (buffer, sizeof (cunit_t), buffer_size, input);
- delete [] buffer;
-
- // keys
- keygen<key_t> (keys, count, len, path.len_matching (), path.match ());
- }
-
- return size;
-}
-
-} // namespace re2c
diff --git a/src/ir/skeleton/match_empty.cc b/src/ir/skeleton/match_empty.cc
deleted file mode 100644
index 16fba615..00000000
--- a/src/ir/skeleton/match_empty.cc
+++ /dev/null
@@ -1,49 +0,0 @@
-#include <map>
-#include <set>
-
-#include "src/conf/warn.h"
-#include "src/globals.h"
-#include "src/ir/rule_rank.h"
-#include "src/ir/skeleton/path.h"
-#include "src/ir/skeleton/skeleton.h"
-#include "src/parse/rules.h"
-
-namespace re2c
-{
-
-void Skeleton::warn_match_empty ()
-{
- Node & head = nodes[0];
-
- head.calc_reachable ();
- const std::set<rule_t> & reach = head.reachable;
-
- // warn about rules that match empty string
- if (!head.rule.rank.is_none ())
- {
- bool reachable = head.end ();
- for (std::set<rule_t>::const_iterator i = reach.begin ();
- !reachable && i != reach.end (); ++i)
- {
- reachable |= i->rank.is_none ();
- }
- if (reachable)
- {
- warn.match_empty_string (rules[head.rule.rank].line);
- }
- }
-
- // warn about rules that match empty string with nonempty trailing context
- if (head.ctx)
- {
- for (std::set<rule_t>::const_iterator i = reach.begin (); i != reach.end (); ++i)
- {
- if (i->restorectx)
- {
- warn.match_empty_string (rules[i->rank].line);
- }
- }
- }
-}
-
-} // namespace re2c
diff --git a/src/ir/skeleton/maxlen.cc b/src/ir/skeleton/maxlen.cc
deleted file mode 100644
index 3f1d9331..00000000
--- a/src/ir/skeleton/maxlen.cc
+++ /dev/null
@@ -1,50 +0,0 @@
-#include "src/util/c99_stdint.h"
-#include <algorithm>
-#include <limits>
-#include <map>
-#include <utility>
-
-#include "src/ir/skeleton/skeleton.h"
-
-namespace re2c
-{
-
-// 0 < DIST_MAX < DIST_ERROR <= std::numeric_limits<uint32_t>::max()
-const uint32_t Node::DIST_ERROR = std::numeric_limits<uint32_t>::max();
-const uint32_t Node::DIST_MAX = DIST_ERROR - 1;
-
-// different from YYMAXFILL calculation
-// in the way it handles loops and empty regexp
-void Node::calc_dist ()
-{
- if (dist != DIST_ERROR)
- {
- return;
- }
- else if (end ())
- {
- dist = 0;
- }
- else if (loop < 2)
- {
- local_inc _ (loop);
- for (arcs_t::iterator i = arcs.begin (); i != arcs.end (); ++i)
- {
- i->first->calc_dist ();
- if (i->first->dist != DIST_ERROR)
- {
- if (dist == DIST_ERROR)
- {
- dist = i->first->dist;
- }
- else
- {
- dist = std::max (dist, i->first->dist);
- }
- }
- }
- dist = std::min (dist + 1, DIST_MAX);
- }
-}
-
-} // namespace re2c
diff --git a/src/ir/skeleton/path.h b/src/ir/skeleton/path.h
deleted file mode 100644
index d09861e5..00000000
--- a/src/ir/skeleton/path.h
+++ /dev/null
@@ -1,103 +0,0 @@
-#ifndef _RE2C_IR_SKELETON_PATH_
-#define _RE2C_IR_SKELETON_PATH_
-
-#include <vector>
-
-#include "src/ir/rule_rank.h"
-#include "src/util/c99_stdint.h"
-
-namespace re2c
-{
-
-struct rule_t
-{
- rule_rank_t rank;
- bool restorectx;
-
- rule_t (rule_rank_t r, bool c)
- : rank (r)
- , restorectx (c)
- {}
-
- // needed by STL containers
- // same as 'std::pair' comparator
- bool operator < (const rule_t & r) const
- {
- return rank < r.rank
- || (!(r.rank < rank) && restorectx < r.restorectx);
- }
-};
-
-class path_t
-{
-public:
- typedef std::vector<uint32_t> arc_t;
-
-private:
- std::vector<const arc_t *> arcs;
-
- rule_t rule;
- size_t rule_pos;
-
- bool ctx;
- size_t ctx_pos;
-
-public:
- explicit path_t (rule_t r, bool c)
- : arcs ()
- , rule (r)
- , rule_pos (0)
- , ctx (c)
- , ctx_pos (0)
- {}
- size_t len () const
- {
- return arcs.size ();
- }
- size_t len_matching () const
- {
- return rule.restorectx
- ? ctx_pos
- : rule_pos;
- }
- rule_rank_t match () const
- {
- return rule.rank;
- }
- const arc_t * operator [] (size_t i) const
- {
- return arcs[i];
- }
- void extend (rule_t r, bool c, const arc_t * a)
- {
- arcs.push_back (a);
- if (!r.rank.is_none ())
- {
- rule = r;
- rule_pos = arcs.size ();
- }
- if (c)
- {
- ctx = true;
- ctx_pos = arcs.size ();
- }
- }
- void append (const path_t * p)
- {
- if (!p->rule.rank.is_none ())
- {
- rule = p->rule;
- rule_pos = arcs.size () + p->rule_pos;
- }
- if (p->ctx)
- {
- ctx = true;
- ctx_pos = arcs.size () + p->ctx_pos;
- }
- arcs.insert (arcs.end (), p->arcs.begin (), p->arcs.end ());
- }
-};
-
-} // namespace re2c
-
-#endif // _RE2C_IR_SKELETON_PATH_
diff --git a/src/ir/skeleton/skeleton.cc b/src/ir/skeleton/skeleton.cc
deleted file mode 100644
index deee1133..00000000
--- a/src/ir/skeleton/skeleton.cc
+++ /dev/null
@@ -1,163 +0,0 @@
-#include <stdlib.h>
-#include <algorithm>
-#include <utility>
-
-#include "src/codegen/go.h"
-#include "src/conf/msg.h"
-#include "src/ir/dfa/dfa.h"
-#include "src/ir/regexp/regexp.h"
-#include "src/ir/regexp/regexp_rule.h"
-#include "src/ir/skeleton/skeleton.h"
-
-namespace re2c
-{
-
-Node::Node ()
- : arcs ()
- , arcsets ()
- , loop (0)
- , rule (rule_rank_t::none (), false)
- , ctx (false)
- , dist (DIST_ERROR)
- , reachable ()
- , suffix (NULL)
-{}
-
-void Node::init(bool c, RuleOp *r, const std::vector<std::pair<Node*, uint32_t> > &a)
-{
- if (r)
- {
- rule.rank = r->rank;
- rule.restorectx = r->ctx->fixedLength () != 0;
- }
-
- ctx = c;
-
- uint32_t lb = 0;
- std::vector<std::pair<Node*, uint32_t> >::const_iterator
- i = a.begin(),
- e = a.end();
- for (; i != e; ++i)
- {
- Node *n = i->first;
- const uint32_t ub = i->second - 1;
-
- // pick at most 0x100 unique edges from this range
- // (for 1-byte code units this covers the whole range: [0 - 0xFF])
- // - range bounds must be included
- // - values should be evenly distributed
- // - values should be deterministic
- const uint32_t step = 1 + (ub - lb) / 0x100;
- for (uint32_t c = lb; c < ub; c += step)
- {
- arcs[n].push_back (c);
- }
- arcs[n].push_back (ub);
-
- arcsets[n].push_back (std::make_pair (lb, ub));
- lb = ub + 1;
- }
-}
-
-Node::~Node ()
-{
- delete suffix;
-}
-
-bool Node::end () const
-{
- return arcs.size () == 0;
-}
-
-Skeleton::Skeleton
- ( const dfa_t &dfa
- , const charset_t &cs
- , const rules_t &rs
- , const std::string &dfa_name
- , const std::string &dfa_cond
- , uint32_t dfa_line
- )
- : name (dfa_name)
- , cond (dfa_cond)
- , line (dfa_line)
- , nodes_count (dfa.states.size())
- , nodes (new Node [nodes_count + 1]) // +1 for default state
- , sizeof_key (4)
- , rules (rs)
-{
- const size_t nc = cs.size() - 1;
-
- // initialize skeleton nodes
- Node *nil = &nodes[nodes_count];
- for (size_t i = 0; i < nodes_count; ++i)
- {
- dfa_state_t *s = dfa.states[i];
- std::vector<std::pair<Node*, uint32_t> > arcs;
- for (size_t c = 0; c < nc;)
- {
- const size_t j = s->arcs[c];
- for (;++c < nc && s->arcs[c] == j;);
- Node *to = j == dfa_t::NIL
- ? nil
- : &nodes[j];
- arcs.push_back(std::make_pair(to, cs[c]));
- }
- // all arcs go to default node => this node is final, drop arcs
- if (arcs.size() == 1 && arcs[0].first == nil)
- {
- arcs.clear();
- }
- nodes[i].init(s->ctx, s->rule, arcs);
- }
-
- // calculate maximal path length, check overflow
- nodes->calc_dist ();
- const uint32_t maxlen = nodes->dist;
- if (maxlen == Node::DIST_MAX)
- {
- error ("DFA path %sis too long", incond (cond).c_str ());
- exit (1);
- }
-
- // calculate maximal rule rank (disregarding default and none rules)
- uint32_t maxrule = 0;
- for (uint32_t i = 0; i < nodes_count; ++i)
- {
- const rule_rank_t r = nodes[i].rule.rank;
- if (!r.is_none () && !r.is_def ())
- {
- maxrule = std::max (maxrule, r.uint32 ());
- }
- }
- // two upper values reserved for default and none rules)
- maxrule += 2;
-
- // initialize size of key
- const uint32_t max = std::max (maxlen, maxrule);
- if (max <= std::numeric_limits<uint8_t>::max())
- {
- sizeof_key = 1;
- }
- else if (max <= std::numeric_limits<uint16_t>::max())
- {
- sizeof_key = 2;
- }
-}
-
-Skeleton::~Skeleton ()
-{
- delete [] nodes;
-}
-
-uint32_t Skeleton::rule2key (rule_rank_t r) const
-{
- switch (sizeof_key)
- {
- default: // shouldn't happen
- case 4: return rule2key<uint32_t> (r);
- case 2: return rule2key<uint16_t> (r);
- case 1: return rule2key<uint8_t> (r);
- }
-}
-
-} // namespace re2c
diff --git a/src/ir/skeleton/skeleton.h b/src/ir/skeleton/skeleton.h
deleted file mode 100644
index 78c08271..00000000
--- a/src/ir/skeleton/skeleton.h
+++ /dev/null
@@ -1,174 +0,0 @@
-#ifndef _RE2C_IR_SKELETON_SKELETON_
-#define _RE2C_IR_SKELETON_SKELETON_
-
-#include "src/util/c99_stdint.h"
-#include <stddef.h>
-#include <stdio.h>
-#include <limits>
-#include <map>
-#include <set>
-#include <string>
-#include <vector>
-#include <utility>
-
-#include "src/ir/regexp/regexp.h"
-#include "src/ir/rule_rank.h"
-#include "src/ir/skeleton/path.h"
-#include "src/ir/skeleton/way.h"
-#include "src/parse/rules.h"
-#include "src/util/local_increment.h"
-#include "src/util/forbid_copy.h"
-#include "src/util/u32lim.h"
-
-namespace re2c
-{
-
-struct dfa_t;
-struct OutputFile;
-class RuleOp;
-
-struct Node
-{
- /*
- * note [counting skeleton edges]
- *
- * To avoid any possible overflows all size calculations are wrapped in
- * a special truncated unsigned 32-bit integer type that checks overflow
- * on each binary operation or conversion from another type.
- *
- * Two things contribute to size calculation: path length and the number
- * of outgoing arcs in each node. Some considerations on why these values
- * will not overflow before they are converted to truncated type:
- *
- * - Maximal number of outgoing arcs in each node cannot exceed 32 bits:
- * it is bounded by the number of code units in current encoding, and
- * re2c doesn't support any encoding with more than 2^32 code units.
- * Conversion is safe.
- *
- * - Maximal path length cannot exceed 32 bits: we estimate it right
- * after skeleton construction and check for overflow. If path length
- * does overflow, an error is reported and re2c aborts.
- */
-
- // Type for calculating the size of path cover.
- // Paths are dumped to file as soon as generated and don't eat
- // heap space. The total size of path cover (measured in edges)
- // is O(N^2) where N is the number of edges in skeleton.
- typedef u32lim_t<1024 * 1024 * 1024> covers_t; // ~1Gb
-
- // Type for counting arcs in paths that cause undefined behaviour.
- // These paths are stored on heap, so the limit should be low.
- // Most real-world cases have only a few short paths.
- // We don't need all paths anyway, just some examples.
- typedef u32lim_t<1024> nakeds_t; // ~1Kb
-
- typedef std::map<Node *, path_t::arc_t> arcs_t;
- typedef std::map<Node *, way_arc_t> arcsets_t;
- typedef local_increment_t<uint8_t> local_inc;
-
- // outgoing arcs
- arcs_t arcs;
- arcsets_t arcsets;
-
- // how many times this node has been visited
- // (controls looping in graph traversals)
- uint8_t loop;
-
- // rule for corresponding DFA state (if any)
- rule_t rule;
-
- // start of trailing context
- bool ctx;
-
- // maximal distance to end node (assuming one iteration per loop)
- static const uint32_t DIST_ERROR;
- static const uint32_t DIST_MAX;
- uint32_t dist;
-
- // rules reachable from this node (including absent rule)
- std::set<rule_t> reachable;
-
- // path to end node (for constructing path cover)
- path_t * suffix;
-
- Node ();
- void init(bool b, RuleOp *r, const std::vector<std::pair<Node*, uint32_t> > &arcs);
- ~Node ();
- bool end () const;
- void calc_dist ();
- void calc_reachable ();
- template <typename cunit_t, typename key_t>
- void cover (path_t & prefix, FILE * input, FILE * keys, covers_t &size);
- void naked_ways (way_t & prefix, std::vector<way_t> & ways, nakeds_t &size);
-
- FORBID_COPY (Node);
-};
-
-struct Skeleton
-{
- const std::string name;
- const std::string cond;
- const uint32_t line;
-
- const size_t nodes_count;
- Node * nodes;
- size_t sizeof_key;
- rules_t rules;
-
- Skeleton
- ( const dfa_t &dfa
- , const charset_t &cs
- , const rules_t & rs
- , const std::string &dfa_name
- , const std::string &dfa_cond
- , uint32_t dfa_line
- );
- ~Skeleton ();
- void warn_undefined_control_flow ();
- void warn_unreachable_rules ();
- void warn_match_empty ();
- void emit_data (const char * fname);
- static void emit_prolog (OutputFile & o);
- void emit_start
- ( OutputFile & o
- , size_t maxfill
- , bool backup
- , bool backupctx
- , bool accept
- ) const;
- void emit_end
- ( OutputFile & o
- , bool backup
- , bool backupctx
- ) const;
- static void emit_epilog (OutputFile & o, const std::set<std::string> & names);
- void emit_action (OutputFile & o, uint32_t ind, rule_rank_t rank) const;
-
- template <typename key_t> static key_t rule2key (rule_rank_t r);
- uint32_t rule2key (rule_rank_t r) const;
-
-private:
- template <typename cunit_t, typename key_t>
- void generate_paths_cunit_key (FILE * input, FILE * keys);
- template <typename cunit_t>
- void generate_paths_cunit (FILE * input, FILE * keys);
- void generate_paths (FILE * input, FILE * keys);
-
- FORBID_COPY (Skeleton);
-};
-
-template<typename key_t> key_t Skeleton::rule2key (rule_rank_t r)
-{
- if (r.is_none()) {
- return std::numeric_limits<key_t>::max();
- } else if (r.is_def()) {
- key_t k = std::numeric_limits<key_t>::max();
- return --k;
- } else {
- return static_cast<key_t>(r.uint32());
- }
-}
-
-} // namespace re2c
-
-#endif // _RE2C_IR_SKELETON_SKELETON_
diff --git a/src/ir/skeleton/unreachable.cc b/src/ir/skeleton/unreachable.cc
deleted file mode 100644
index fac41dfc..00000000
--- a/src/ir/skeleton/unreachable.cc
+++ /dev/null
@@ -1,73 +0,0 @@
-#include "src/util/c99_stdint.h"
-#include <map>
-#include <set>
-#include <utility>
-
-#include "src/conf/warn.h"
-#include "src/globals.h"
-#include "src/ir/rule_rank.h"
-#include "src/ir/skeleton/path.h"
-#include "src/ir/skeleton/skeleton.h"
-#include "src/parse/rules.h"
-
-namespace re2c
-{
-
-void Node::calc_reachable ()
-{
- if (!reachable.empty ())
- {
- return;
- }
- else if (end ())
- {
- reachable.insert (rule);
- }
- else if (loop < 2)
- {
- local_inc _ (loop);
- for (arcs_t::iterator i = arcs.begin (); i != arcs.end (); ++i)
- {
- i->first->calc_reachable ();
- reachable.insert (i->first->reachable.begin (), i->first->reachable.end ());
- }
- }
-}
-
-void Skeleton::warn_unreachable_rules ()
-{
- nodes->calc_reachable ();
- for (uint32_t i = 0; i < nodes_count; ++i)
- {
- const rule_rank_t r1 = nodes[i].rule.rank;
- const std::set<rule_t> & rs = nodes[i].reachable;
- for (std::set<rule_t>::const_iterator j = rs.begin (); j != rs.end (); ++j)
- {
- const rule_rank_t r2 = j->rank;
- if (r1 == r2 || r2.is_none ())
- {
- rules[r1].reachable = true;
- }
- else
- {
- rules[r1].shadow.insert (r2);
- }
- }
- }
-
- // warn about unreachable rules:
- // - rules that are shadowed by other rules, e.g. rule '[a]' is shadowed by '[a] [^]'
- // - infinite rules that consume infinitely many characters and fail on YYFILL, e.g. '[^]*'
- // - rules that contain never-matching link, e.g. '[]' with option '--empty-class match-none'
- // default rule '*' should not be reported
- for (rules_t::const_iterator i = rules.begin (); i != rules.end (); ++i)
- {
- const rule_rank_t r = i->first;
- if (!r.is_none () && !r.is_def () && !rules[r].reachable)
- {
- warn.unreachable_rule (cond, i->second, rules);
- }
- }
-}
-
-} // namespace re2c
diff --git a/src/ir/skeleton/way.cc b/src/ir/skeleton/way.cc
deleted file mode 100644
index 0f58efe4..00000000
--- a/src/ir/skeleton/way.cc
+++ /dev/null
@@ -1,74 +0,0 @@
-#include <stddef.h>
-#include <algorithm>
-
-#include "src/ir/skeleton/way.h"
-
-namespace re2c
-{
-
-static bool cmp_way_arcs (const way_arc_t * a1, const way_arc_t * a2);
-static void fprint_way_arc (FILE * f, const way_arc_t & arc);
-
-bool cmp_way_arcs (const way_arc_t * a1, const way_arc_t * a2)
-{
- return std::lexicographical_compare(a1->begin(), a1->end(), a2->begin(), a2->end());
-}
-
-// define strict weak ordering on patterns:
-// 1st criterion is length (short patterns go first)
-// 2nd criterion is lexicographical order (applies to patterns of equal length)
-bool cmp_ways (const way_t & w1, const way_t & w2)
-{
- const size_t s1 = w1.size ();
- const size_t s2 = w2.size ();
- return (s1 == s2 && std::lexicographical_compare(w1.begin(), w1.end(), w2.begin(), w2.end(), cmp_way_arcs))
- || s1 < s2;
-}
-
-void fprint_way (FILE * f, const way_t & w)
-{
- fprintf (f, "'");
- const size_t len = w.size ();
- for (size_t i = 0 ; i < len; ++i)
- {
- if (i > 0)
- {
- fprintf (f, " ");
- }
- if (w[i] == NULL)
- {
- fprintf (stderr, "(nil)");
- }
- else
- {
- fprint_way_arc (stderr, *w[i]);
- }
- }
- fprintf (f, "'");
-}
-
-void fprint_way_arc (FILE * f, const way_arc_t & arc)
-{
- const size_t ranges = arc.size ();
- if (ranges == 1 && arc[0].first == arc[0].second)
- {
- fprintf (f, "\\x%X", arc[0].first);
- }
- else
- {
- fprintf (f, "[");
- for (size_t i = 0; i < ranges; ++i)
- {
- const uint32_t l = arc[i].first;
- const uint32_t u = arc[i].second;
- fprintf (f, "\\x%X", l);
- if (l != u)
- {
- fprintf (f, "-\\x%X", u);
- }
- }
- fprintf (f, "]");
- }
-}
-
-} // namespace re2c
diff --git a/src/ir/skeleton/way.h b/src/ir/skeleton/way.h
deleted file mode 100644
index e10010a9..00000000
--- a/src/ir/skeleton/way.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef _RE2C_IR_SKELETON_WAY_
-#define _RE2C_IR_SKELETON_WAY_
-
-#include "src/util/c99_stdint.h"
-#include <stdio.h>
-#include <utility>
-#include <vector>
-
-namespace re2c
-{
-
-typedef std::vector<std::pair<uint32_t, uint32_t> > way_arc_t;
-typedef std::vector<const way_arc_t *> way_t;
-
-bool cmp_ways (const way_t & w1, const way_t & w2);
-void fprint_way (FILE * f, const way_t & p);
-
-} // namespace re2c
-
-#endif // _RE2C_IR_SKELETON_WAY_
diff --git a/src/main.cc b/src/main.cc
index 03b6ee29..55d0499e 100644
--- a/src/main.cc
+++ b/src/main.cc
@@ -1,60 +1,35 @@
-#include "src/util/c99_stdint.h"
-#include <string>
-
-#include "src/codegen/output.h"
+#include "src/ast/input.h"
+#include "src/ast/scanner.h"
+#include "src/code/output.h"
+#include "src/compile.h"
#include "src/conf/msg.h"
#include "src/conf/opt.h"
#include "src/conf/warn.h"
-#include "src/globals.h"
-#include "src/parse/input.h"
-#include "src/parse/parser.h"
-#include "src/parse/scanner.h"
-
-namespace re2c
-{
-
-bool bUsedYYBitmap = false;
-bool bWroteGetState = false;
-bool bWroteCondCheck = false;
-uint32_t last_fill_index = 0;
-std::string yySetupRule = "";
-
-} // end namespace re2c
using namespace re2c;
int main(int, char *argv[])
{
- switch (parse_opts (argv, opts))
- {
+ conopt_t globopts;
+ Opt opts(globopts);
+ Warn warn;
+
+ switch (parse_opts(argv, globopts, opts, warn)) {
case OK: break;
case EXIT_OK: return 0;
case EXIT_FAIL: return 1;
}
- // set up the source stream
- re2c::Input input (opts.source_file);
- if (!input.open ())
- {
- error ("cannot open source file: %s", opts.source_file);
- return 1;
- }
-
- // set up the output streams
- re2c::Output output (opts.output_file, opts->header_file);
- if (!output.source.open ())
- {
- error ("cannot open output file: %s", opts.output_file);
- return 1;
- }
- if (opts->tFlag && !output.header.open ())
- {
- error ("cannot open header file: %s", opts->header_file);
+ re2c::Input input(opts.source_file);
+ if (!input.open()) {
+ error("cannot open source file: %s", opts.source_file);
return 1;
}
+ Scanner scanner(input, warn);
+ Output output(warn);
- Scanner scanner (input, output.source);
- parse (scanner, output);
+ compile(scanner, output, opts);
+ if (!output.emit()) return 1;
- return warn.error () ? 1 : 0;
+ return warn.error() ? 1 : 0;
}
diff --git a/src/nfa/dump.cc b/src/nfa/dump.cc
new file mode 100644
index 00000000..4d418b8b
--- /dev/null
+++ b/src/nfa/dump.cc
@@ -0,0 +1,80 @@
+#include "src/util/c99_stdint.h"
+#include <stdio.h>
+#include <string>
+#include <vector>
+
+#include "src/nfa/nfa.h"
+#include "src/re/tag.h"
+#include "src/util/range.h"
+
+namespace re2c
+{
+
+static uint32_t index(const nfa_t &nfa, const nfa_state_t *s)
+{
+ return static_cast<uint32_t>(s - nfa.states);
+}
+
+void dump_nfa(const nfa_t &nfa)
+{
+ fprintf(stderr,
+ "digraph NFA {\n"
+ " rankdir=LR\n"
+ " node[shape=Mrecord fontname=fixed height=0.2 width=0.2]\n"
+ " edge[arrowhead=vee fontname=fixed label=\" \"]\n\n");
+
+ for (uint32_t i = static_cast<uint32_t>(nfa.size); i --> 0;) {
+ const nfa_state_t *n = &nfa.states[i];
+
+ fprintf(stderr, " n%u [label=\"%u\"]", i, i);
+ if (n->type == nfa_state_t::FIN) {
+ fprintf(stderr, " [fillcolor=gray]");
+ }
+ fprintf(stderr, "\n");
+
+ switch (n->type) {
+ case nfa_state_t::ALT:
+ fprintf(stderr, " n%u -> n%u\n", i, index(nfa, n->alt.out1));
+ fprintf(stderr, " n%u -> n%u [color=lightgray]\n", i, index(nfa, n->alt.out2));
+ break;
+ case nfa_state_t::RAN: {
+ fprintf(stderr, " n%u -> n%u [label=\"", i, index(nfa, n->ran.out));
+ for (const Range *r = n->ran.ran; r; r = r->next()) {
+ const uint32_t
+ l = r->lower(),
+ u = r->upper() - 1;
+ fprintf(stderr, "%u", l);
+ if (u > l) fprintf(stderr, "-%u", u);
+ if (r->next()) fprintf(stderr, ",");
+ }
+ fprintf(stderr, "\"]\n");
+ break;
+ }
+ case nfa_state_t::TAG: {
+ const Tag &tag = nfa.tags[n->tag.info];
+ fprintf(stderr, " n%u -> n%u [label=\"/", i, index(nfa, n->tag.out));
+ if (capture(tag)) {
+ fprintf(stderr, "%u", (uint32_t)tag.ncap);
+ } else if (!trailing(tag)) {
+ fprintf(stderr, "%s", tag.name->c_str());
+ }
+ if (n->tag.bottom) {
+ fprintf(stderr, "&darr;");
+ } else {
+ fprintf(stderr, "&uarr;");
+ }
+ fprintf(stderr, "\"]\n");
+ break;
+ }
+ case nfa_state_t::FIN:
+ break;
+ case nfa_state_t::NIL:
+ fprintf(stderr, " n%u -> n%u\n", i, index(nfa, n->nil.out));
+ break;
+ }
+ }
+
+ fprintf(stderr, "}\n");
+}
+
+} // namespace re2c
diff --git a/src/nfa/estimate_size.cc b/src/nfa/estimate_size.cc
new file mode 100644
index 00000000..98c2143f
--- /dev/null
+++ b/src/nfa/estimate_size.cc
@@ -0,0 +1,46 @@
+
+#include <stddef.h>
+#include <vector>
+
+#include "src/ast/ast.h"
+#include "src/re/re.h"
+
+namespace re2c {
+
+static size_t estimate(const RE *re)
+{
+ switch (re->type) {
+ case RE::NIL: return 0;
+ case RE::SYM: return 1;
+ case RE::TAG: return 1;
+ case RE::ALT:
+ return estimate(re->alt.re1)
+ + estimate(re->alt.re2)
+ + 1;
+ case RE::CAT:
+ return estimate(re->cat.re1)
+ + estimate(re->cat.re2);
+ case RE::ITER: {
+ const size_t
+ iter = estimate(re->iter.re),
+ min = re->iter.min,
+ max = re->iter.max;
+ return max == AST::MANY
+ ? iter * min + 1
+ : iter * max + (max - min);
+ }
+ }
+ return 0; /* unreachable */
+}
+
+size_t estimate_size(const std::vector<RE*> &res)
+{
+ const size_t nre = res.size();
+ size_t size = nre - 1;
+ for (size_t i = 0; i < nre; ++i) {
+ size += estimate(res[i]) + 1;
+ }
+ return size;
+}
+
+} // namespace re2c
diff --git a/src/nfa/nfa.h b/src/nfa/nfa.h
new file mode 100644
index 00000000..9dcd7561
--- /dev/null
+++ b/src/nfa/nfa.h
@@ -0,0 +1,121 @@
+#ifndef _RE2C_NFA_NFA_
+#define _RE2C_NFA_NFA_
+
+#include <stddef.h>
+#include "src/util/c99_stdint.h"
+#include <valarray>
+#include <vector>
+
+#include "src/code/input_api.h"
+#include "src/re/re.h"
+#include "src/re/rule.h"
+#include "src/re/tag.h"
+#include "src/util/forbid_copy.h"
+
+namespace re2c
+{
+
+struct clos_t;
+
+// Goldberg-Radzik 'shortest path' algorithm
+enum gor_status_t {GOR_OFFSTACK, GOR_NEWPASS, GOR_TOPSORT};
+
+static const uint32_t NOCLOS = ~0u;
+
+struct nfa_state_t
+{
+ enum type_t {ALT, RAN, TAG, FIN, NIL} type;
+ union
+ {
+ struct
+ {
+ nfa_state_t *out1;
+ nfa_state_t *out2;
+ } alt;
+ struct
+ {
+ nfa_state_t *out;
+ const Range *ran;
+ } ran;
+ struct
+ {
+ nfa_state_t *out;
+ size_t info;
+ bool bottom;
+ } tag;
+ struct
+ {
+ nfa_state_t *out;
+ } nil;
+ };
+ size_t rule;
+ uint32_t clos;
+ gor_status_t status;
+
+ void make_alt(size_t r, nfa_state_t *s1, nfa_state_t *s2)
+ {
+ type = ALT;
+ alt.out1 = s1;
+ alt.out2 = s2;
+ rule = r;
+ clos = NOCLOS;
+ status = GOR_OFFSTACK;
+ }
+ void make_ran(size_t r, nfa_state_t *s, const Range *p)
+ {
+ type = RAN;
+ ran.out = s;
+ ran.ran = p;
+ rule = r;
+ clos = NOCLOS;
+ status = GOR_OFFSTACK;
+ }
+ void make_tag(size_t r, nfa_state_t *s, size_t i, bool bottom)
+ {
+ type = TAG;
+ tag.out = s;
+ tag.info = i;
+ tag.bottom = bottom;
+ rule = r;
+ clos = NOCLOS;
+ status = GOR_OFFSTACK;
+ }
+ void make_fin(size_t r)
+ {
+ type = FIN;
+ rule = r;
+ clos = NOCLOS;
+ status = GOR_OFFSTACK;
+ }
+ void make_nil(size_t r, nfa_state_t *s)
+ {
+ type = NIL;
+ nil.out = s;
+ rule = r;
+ clos = NOCLOS;
+ status = GOR_OFFSTACK;
+ }
+};
+
+struct nfa_t
+{
+ size_t max_size;
+ size_t size;
+ nfa_state_t *states;
+ std::vector<uint32_t> &charset;
+ std::valarray<Rule> &rules;
+ std::vector<Tag> &tags;
+ nfa_state_t *root;
+
+ explicit nfa_t(const RESpec &spec);
+ ~nfa_t();
+
+ FORBID_COPY(nfa_t);
+};
+
+size_t estimate_size(const std::vector<RE*> &res);
+void dump_nfa(const nfa_t &nfa);
+
+} // namespace re2c
+
+#endif // _RE2C_NFA_NFA_
diff --git a/src/nfa/re_to_nfa.cc b/src/nfa/re_to_nfa.cc
new file mode 100644
index 00000000..e2d1f19a
--- /dev/null
+++ b/src/nfa/re_to_nfa.cc
@@ -0,0 +1,125 @@
+#include <stddef.h>
+#include "src/util/c99_stdint.h"
+#include <vector>
+
+#include "src/ast/ast.h"
+#include "src/nfa/nfa.h"
+#include "src/re/re.h"
+#include "src/re/tag.h"
+
+namespace re2c {
+
+/*
+ * note [counted repetition and iteration expansion]
+ *
+ * It is more convenient to express zero-or-more iterations in terms of
+ * one-or-more iterations than vice versa, because the expansion 'r+ ::= r r*'
+ * duplicates 'r', while 'r* = r+ | <empty>' allows to avoid duplication.
+ *
+ * Sometimes duplcation is unavoidable, like 'r{n}' for 'n' > 1 and 'r{n,m}'
+ * for 'n' < 'm'. In such cases we duplicate 'r' together with all tags;
+ * this may cause multiple (non-bottom) occurences of the same tag in the NFA.
+ * Determinization must be careful to track multiple occurences of the same
+ * tag while building epsilon-closure (this matters for POSIX disambiguation
+ * strategy).
+ *
+ * We allow tags to apper only once in the original regular expression.
+ * This is not strictly necessary (putting the same tag in non-overlapping
+ * alternative branches may be handy), but it would allow to create very
+ * confusing regexps and the disambiguation strategy would behave strangely.
+ */
+
+static nfa_state_t *re_to_nfa(nfa_t &nfa, size_t nrule, const RE *re, nfa_state_t *t)
+{
+ nfa_state_t *s = NULL;
+ switch (re->type) {
+ case RE::NIL:
+ s = t;
+ break;
+ case RE::SYM:
+ s = &nfa.states[nfa.size++];
+ s->make_ran(nrule, t, re->sym);
+ break;
+ case RE::ALT: {
+ nfa_state_t
+ *s1 = re_to_nfa(nfa, nrule, re->alt.re1, t),
+ *s2 = re_to_nfa(nfa, nrule, re->alt.re2, t);
+ s = &nfa.states[nfa.size++];
+ s->make_alt(nrule, s1, s2);
+ break;
+ }
+ case RE::CAT:
+ s = re_to_nfa(nfa, nrule, re->cat.re2, t);
+ s = re_to_nfa(nfa, nrule, re->cat.re1, s);
+ break;
+ case RE::ITER: {
+ const uint32_t
+ min = re->iter.min,
+ max = re->iter.max;
+ const RE *iter = re->iter.re;
+ // see note [counted repetition and iteration expansion]
+ if (max == AST::MANY) {
+ nfa_state_t *q = &nfa.states[nfa.size++];
+ s = re_to_nfa(nfa, nrule, iter, q);
+ q->make_alt(nrule, s, t);
+ } else {
+ s = re_to_nfa(nfa, nrule, iter, t);
+ for (uint32_t i = min; i < max; ++i) {
+ nfa_state_t *q = &nfa.states[nfa.size++];
+ q->make_alt(nrule, s, t);
+ s = re_to_nfa(nfa, nrule, iter, q);
+ }
+ }
+ for (uint32_t i = 1; i < min; ++i) {
+ s = re_to_nfa(nfa, nrule, iter, s);
+ }
+ break;
+ }
+ case RE::TAG: {
+ const Tag &tag = nfa.tags[re->tag.idx];
+ if (fixed(tag) && !capture(tag)) {
+ s = t;
+ } else {
+ s = &nfa.states[nfa.size++];
+ s->make_tag(nrule, t, re->tag.idx, re->tag.bottom);
+ }
+ break;
+ }
+ }
+ return s;
+}
+
+nfa_t::nfa_t(const RESpec &spec)
+ : max_size(estimate_size(spec.res))
+ , size(0)
+ , states(new nfa_state_t[max_size])
+ , charset(spec.charset)
+ , rules(spec.rules)
+ , tags(spec.tags)
+ , root(NULL)
+{
+ const size_t nre = spec.res.size();
+
+ if (nre == 0) return;
+
+ for (size_t i = 0; i < nre; ++i) {
+ nfa_state_t *s = &states[size++];
+ s->make_fin(i);
+ s = re_to_nfa(*this, i, spec.res[i], s);
+
+ if (root) {
+ nfa_state_t *t = &states[size++];
+ t->make_alt(i, root, s);
+ root = t;
+ } else {
+ root = s;
+ }
+ }
+}
+
+nfa_t::~nfa_t()
+{
+ delete[] states;
+}
+
+} // namespace re2c
diff --git a/src/parse/code.cc b/src/parse/code.cc
deleted file mode 100644
index 97a865ce..00000000
--- a/src/parse/code.cc
+++ /dev/null
@@ -1,8 +0,0 @@
-#include "src/parse/code.h"
-
-namespace re2c
-{
-
-free_list<const Code *> Code::freelist;
-
-} // namespace re2c
diff --git a/src/parse/code.h b/src/parse/code.h
deleted file mode 100644
index d658e628..00000000
--- a/src/parse/code.h
+++ /dev/null
@@ -1,31 +0,0 @@
-#ifndef _RE2C_PARSE_CODE_
-#define _RE2C_PARSE_CODE_
-
-#include "src/util/c99_stdint.h"
-#include <stddef.h>
-#include <string>
-
-#include "src/parse/loc.h"
-#include "src/util/free_list.h"
-
-namespace re2c
-{
-
-struct Code
-{
- static free_list<const Code *> freelist;
-
- const Loc loc;
- const std::string text;
-
- inline Code (const char * t, size_t t_len, const std::string & f, uint32_t l)
- : loc (f, l)
- , text (t, t_len)
- {
- freelist.insert (this);
- }
-};
-
-} // namespace re2c
-
-#endif // _RE2C_PARSE_CODE_
diff --git a/src/parse/extop.h b/src/parse/extop.h
deleted file mode 100644
index d093be92..00000000
--- a/src/parse/extop.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef _RE2C_PARSE_EXTOP_
-#define _RE2C_PARSE_EXTOP_
-
-#include "src/util/c99_stdint.h"
-
-namespace re2c
-{
-
-struct ExtOp
-{
- uint32_t min;
- uint32_t max;
-};
-
-} // end namespace re2c
-
-#endif // _RE2C_PARSE_EXTOP_
diff --git a/src/parse/lex_conf.re b/src/parse/lex_conf.re
deleted file mode 100644
index 550fe1ab..00000000
--- a/src/parse/lex_conf.re
+++ /dev/null
@@ -1,222 +0,0 @@
-#include "src/util/c99_stdint.h"
-#include <string>
-
-#include "src/codegen/output.h"
-#include "src/conf/opt.h"
-#include "src/globals.h"
-#include "src/ir/regexp/encoding/enc.h"
-#include "src/parse/scanner.h"
-#include "src/util/s_to_n32_unsafe.h"
-
-namespace re2c
-{
-
-// global re2c config (affects the whole file)
-/*!re2c
- re2c:define:YYCTYPE = "unsigned char";
- re2c:define:YYCURSOR = cur;
- re2c:define:YYLIMIT = lim;
- re2c:define:YYMARKER = ptr;
- re2c:define:YYCTXMARKER = ctx;
- re2c:define:YYFILL = fill;
-
- // source code is in ASCII: pointers have type 'char *'
- // but re2c makes an implicit assumption that YYCTYPE is unsigned
- // when it generates comparisons
- re2c:yych:conversion = 1;
-
- space = [ \t];
-
- conf_assign = space* "=" space*;
-
- naked_char = . \ (space | [;]);
- naked = "" | (naked_char \ ['"]) naked_char*;
-
- number = "0" | ("-"? [1-9] [0-9]*);
-*/
-
-void Scanner::lex_conf ()
-{
- tok = cur;
-/*!re2c
- * { fatal ((tok - pos) - tchar, "unrecognized configuration"); }
-
- "flags:" [ewxu8]
- {
- Enc::type_t enc = Enc::ASCII;
- switch (cur[-1])
- {
- case 'e': enc = Enc::EBCDIC; break;
- case 'w': enc = Enc::UCS2; break;
- case 'x': enc = Enc::UTF16; break;
- case 'u': enc = Enc::UTF32; break;
- case '8': enc = Enc::UTF8; break;
- }
- const int32_t n = lex_conf_number ();
- if (n == 0)
- {
- opts.unset_encoding (enc);
- }
- else if (!opts.set_encoding (enc))
- {
- fatalf ("Cannot set %s encoding: please reset %s encoding first"
- , Enc::name (enc)
- , Enc::name (opts->encoding.type ()));
- }
- return;
- }
-
- "define:YYCONDTYPE" { opts.set_yycondtype (lex_conf_string ()); return; }
- "define:YYGETCONDITION" { opts.set_cond_get (lex_conf_string ()); return; }
- "define:YYGETCONDITION:naked" { opts.set_cond_get_naked (lex_conf_number () != 0); return; }
- "define:YYSETCONDITION" { opts.set_cond_set (lex_conf_string ()); return; }
- "define:YYSETCONDITION@cond" { opts.set_cond_set_arg (lex_conf_string ()); return; }
- "define:YYSETCONDITION:naked" { opts.set_cond_set_naked (lex_conf_number () != 0); return; }
- "condprefix" { opts.set_condPrefix (lex_conf_string ()); return; }
- "condenumprefix" { opts.set_condEnumPrefix (lex_conf_string ()); return; }
- "cond:divider" { opts.set_condDivider (lex_conf_string ()); return; }
- "cond:divider@cond" { opts.set_condDividerParam (lex_conf_string ()); return; }
- "cond:goto" { opts.set_condGoto (lex_conf_string ()); return; }
- "cond:goto@cond" { opts.set_condGotoParam (lex_conf_string ()); return; }
- "variable:yyctable" { opts.set_yyctable (lex_conf_string ()); return; }
-
- "define:YYGETSTATE" { opts.set_state_get (lex_conf_string ()); return; }
- "define:YYGETSTATE:naked" { opts.set_state_get_naked (lex_conf_number () != 0); return; }
- "define:YYSETSTATE" { opts.set_state_set (lex_conf_string ()); return; }
- "define:YYSETSTATE:naked" { opts.set_state_set_naked (lex_conf_number () != 0); return; }
- "define:YYSETSTATE@state" { opts.set_state_set_arg (lex_conf_string ()); return; }
- "label:yyFillLabel" { opts.set_yyfilllabel (lex_conf_string ()); return; }
- "label:yyNext" { opts.set_yynext (lex_conf_string ()); return; }
- "state:abort" { opts.set_bUseStateAbort (lex_conf_number () != 0); return; }
- "state:nextlabel" { opts.set_bUseStateNext (lex_conf_number () != 0); return; }
- "variable:yyaccept" { opts.set_yyaccept (lex_conf_string ()); return; }
-
- "variable:yybm" { opts.set_yybm (lex_conf_string ()); return; }
- "yybm:hex" { opts.set_yybmHexTable (lex_conf_number () != 0); return; }
- "cgoto:threshold"
- {
- const int32_t n = lex_conf_number ();
- if (n < 0)
- {
- fatal ("configuration 'cgoto:threshold' must be nonnegative");
- }
- opts.set_cGotoThreshold (static_cast<uint32_t> (n));
- return;
- }
- "variable:yytarget" { opts.set_yytarget (lex_conf_string ()); return; }
-
- "define:YYCURSOR" { opts.set_yycursor (lex_conf_string ()); return; }
- "define:YYMARKER" { opts.set_yymarker (lex_conf_string ()); return; }
- "define:YYCTXMARKER" { opts.set_yyctxmarker (lex_conf_string ()); return; }
- "define:YYLIMIT" { opts.set_yylimit (lex_conf_string ()); return; }
-
- "define:YYPEEK" { opts.set_yypeek (lex_conf_string ()); return; }
- "define:YYSKIP" { opts.set_yyskip (lex_conf_string ()); return; }
- "define:YYBACKUP" { opts.set_yybackup (lex_conf_string ()); return; }
- "define:YYBACKUPCTX" { opts.set_yybackupctx (lex_conf_string ()); return; }
- "define:YYRESTORE" { opts.set_yyrestore (lex_conf_string ()); return; }
- "define:YYRESTORECTX" { opts.set_yyrestorectx (lex_conf_string ()); return; }
- "define:YYLESSTHAN" { opts.set_yylessthan (lex_conf_string ()); return; }
-
- "indent:string" { opts.set_indString (lex_conf_string ()); return; }
- "indent:top"
- {
- const int32_t n = lex_conf_number ();
- if (n < 0)
- {
- fatal ("configuration 'indent:top' must be nonnegative");
- }
- opts.set_topIndent (static_cast<uint32_t> (n));
- return;
- }
-
- "define:YYDEBUG" { opts.set_yydebug (lex_conf_string ()); return; }
-
- "define:YYCTYPE" { opts.set_yyctype (lex_conf_string ()); return; }
- "variable:yych" { opts.set_yych (lex_conf_string ()); return; }
- "yych:conversion" { opts.set_yychConversion (lex_conf_number () != 0); return; }
- "yych:emit" { opts.set_bEmitYYCh (lex_conf_number () != 0); return; }
-
- "define:YYFILL" { opts.set_fill (lex_conf_string ()); return; }
- "yyfill:enable" { opts.set_fill_use (lex_conf_number () != 0); return; }
- "define:YYFILL@len" { opts.set_fill_arg (lex_conf_string ()); return; }
- "yyfill:parameter" { opts.set_fill_arg_use (lex_conf_number () != 0); return; }
- "define:YYFILL:naked" { opts.set_fill_naked (lex_conf_number () != 0); return; }
- "yyfill:check" { opts.set_fill_check (lex_conf_number () != 0); return; }
-
- "labelprefix" { opts.set_labelPrefix (lex_conf_string ()); return; }
-
- // try to lex number first, otherwize it would be lexed as a naked string
- "startlabel" / conf_assign number { out.set_force_start_label (lex_conf_number () != 0); return; }
- "startlabel" { out.set_user_start_label (lex_conf_string ()); return; }
-
- // deprecated
- "variable:yystable" { lex_conf_string (); return; }
-*/
-}
-
-void Scanner::lex_conf_assign ()
-{
-/*!re2c
- * { fatal ("missing '=' in configuration"); }
- conf_assign { return; }
-*/
-}
-
-void Scanner::lex_conf_semicolon ()
-{
-/*!re2c
- * { fatal ("missing ending ';' in configuration"); }
- space* ";" { return; }
-*/
-}
-
-int32_t Scanner::lex_conf_number ()
-{
- lex_conf_assign ();
- tok = cur;
-/*!re2c
- number
- {
- int32_t n = 0;
- if (!s_to_i32_unsafe (tok, cur, n))
- {
- fatal ("configuration value overflow");
- }
- lex_conf_semicolon ();
- return n;
- }
-*/
-}
-
-std::string Scanner::lex_conf_string ()
-{
- lex_conf_assign ();
- std::string s;
- tok = cur;
-/*!re2c
- ['"] {
- const char quote = tok[0];
- for (bool end;;) {
- const uint32_t c = lex_str_chr(quote, end);
- if (end) {
- goto end;
- }
- if (c > 0xFF) {
- fatalf ("multibyte character in configuration string: 0x%X", c);
- } else {
- s += static_cast<char>(c);
- }
- }
- }
- naked {
- s = std::string(tok, tok_len());
- goto end;
- }
-*/
-end:
- lex_conf_semicolon ();
- return s;
-}
-
-} // end namespace re2c
diff --git a/src/parse/loc.h b/src/parse/loc.h
deleted file mode 100644
index b3d4277a..00000000
--- a/src/parse/loc.h
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef _RE2C_PARSE_LOC_
-#define _RE2C_PARSE_LOC_
-
-#include <string>
-
-#include "src/util/c99_stdint.h"
-
-namespace re2c
-{
-
-struct Loc
-{
- std::string filename;
- uint32_t line;
-
- inline Loc (const std::string & f, uint32_t l)
- : filename (f)
- , line (l)
- {}
-};
-
-} // namespace re2c
-
-#endif // _RE2C_PARSE_LOC_
diff --git a/src/parse/parser.h b/src/parse/parser.h
deleted file mode 100644
index 8901d792..00000000
--- a/src/parse/parser.h
+++ /dev/null
@@ -1,28 +0,0 @@
-#ifndef _RE2C_PARSE_PARSER_
-#define _RE2C_PARSE_PARSER_
-
-#include <list>
-#include <string>
-
-#include "src/codegen/output.h"
-#include "src/ir/regexp/regexp.h"
-#include "src/ir/regexp/regexp_rule.h"
-#include "src/parse/scanner.h"
-#include "src/parse/spec.h"
-
-namespace re2c
-{
-
-extern void parse(Scanner &, Output &);
-extern void parse_cleanup();
-
-typedef std::set<std::string> CondList;
-typedef std::list<RuleOp*> RuleOpList;
-typedef std::map<std::string, Spec> SpecMap;
-typedef std::map<std::string, std::pair<uint32_t, std::string> > SetupMap;
-typedef std::map<std::string, const Code *> DefaultMap;
-typedef std::map<std::string, RegExp *> symbol_table_t;
-
-} // namespace re2c
-
-#endif // _RE2C_PARSE_PARSER_
diff --git a/src/parse/parser.ypp b/src/parse/parser.ypp
deleted file mode 100644
index 76540ecc..00000000
--- a/src/parse/parser.ypp
+++ /dev/null
@@ -1,775 +0,0 @@
-%{
-
-#include "src/util/c99_stdint.h"
-#include <assert.h>
-#include <stddef.h>
-#include <stdlib.h>
-#include <limits>
-#include <list>
-#include <map>
-#include <set>
-#include <string>
-#include <utility>
-#include <vector>
-
-#include "src/codegen/output.h"
-#include "src/conf/opt.h"
-#include "src/globals.h"
-#include "src/ir/compile.h"
-#include "src/ir/adfa/adfa.h"
-#include "src/ir/regexp/encoding/enc.h"
-#include "src/ir/regexp/encoding/range_suffix.h"
-#include "src/ir/regexp/regexp.h"
-#include "src/ir/regexp/regexp_cat.h"
-#include "src/ir/regexp/regexp_close.h"
-#include "src/ir/regexp/regexp_null.h"
-#include "src/ir/regexp/regexp_rule.h"
-#include "src/ir/rule_rank.h"
-#include "src/ir/skeleton/skeleton.h"
-#include "src/parse/code.h"
-#include "src/parse/extop.h"
-#include "src/parse/loc.h"
-#include "src/parse/parser.h"
-#include "src/parse/scanner.h"
-#include "src/parse/spec.h"
-#include "src/util/counter.h"
-#include "src/util/free_list.h"
-#include "src/util/range.h"
-#include "src/util/smart_ptr.h"
-
-#define YYMALLOC malloc
-#define YYFREE free
-
-using namespace re2c;
-
-extern "C"
-{
-int yylex();
-void yyerror(const char*);
-}
-
-static counter_t<rule_rank_t> rank_counter;
-static std::vector<std::string> condnames;
-static re2c::SpecMap specMap;
-static Spec spec;
-static RuleOp *specNone = NULL;
-static RuleOpList specStar;
-static RuleOp * star_default = NULL;
-static Scanner *in = NULL;
-static Scanner::ParseMode parseMode;
-static SetupMap ruleSetupMap;
-static bool foundRules;
-static symbol_table_t symbol_table;
-
-/* Bison version 1.875 emits a definition that is not working
- * with several g++ version. Hence we disable it here.
- */
-#if defined(__GNUC__)
-#define __attribute__(x)
-#endif
-
-void context_check(CondList *clist)
-{
- if (!opts->cFlag)
- {
- delete clist;
- in->fatal("conditions are only allowed when using -c switch");
- }
-}
-
-void context_none(CondList *clist)
-{
- delete clist;
- context_check(NULL);
- in->fatal("no expression specified");
-}
-
-void context_rule
- ( CondList * clist
- , const Loc & loc
- , RegExp * expr
- , RegExp * look
- , const Code * code
- , const std::string * newcond
- )
-{
- context_check(clist);
- for(CondList::const_iterator it = clist->begin(); it != clist->end(); ++it)
- {
- if (specMap.find(*it) == specMap.end())
- {
- condnames.push_back (*it);
- }
-
- RuleOp * rule = new RuleOp
- ( loc
- , expr
- , look
- , rank_counter.next ()
- , code
- , newcond
- );
- specMap[*it].add (rule);
- }
- delete clist;
- delete newcond;
-}
-
-void setup_rule(CondList *clist, const Code * code)
-{
- assert(clist);
- assert(code);
- context_check(clist);
- for(CondList::const_iterator it = clist->begin(); it != clist->end(); ++it)
- {
- if (ruleSetupMap.find(*it) != ruleSetupMap.end())
- {
- in->fatalf_at(code->loc.line, "code to setup rule '%s' is already defined", it->c_str());
- }
- ruleSetupMap[*it] = std::make_pair(code->loc.line, code->text);
- }
- delete clist;
-}
-
-void default_rule(CondList *clist, const Code * code)
-{
- assert(clist);
- assert(code);
- context_check(clist);
- for(CondList::const_iterator it = clist->begin(); it != clist->end(); ++it)
- {
- RuleOp * def = new RuleOp
- ( code->loc
- , in->mkDefault ()
- , new NullOp
- , rule_rank_t::def ()
- , code
- , NULL
- );
- if (!specMap[*it].add_def (def))
- {
- in->fatalf_at(code->loc.line, "code to default rule '%s' is already defined", it->c_str());
- }
- }
- delete clist;
-}
-
-%}
-
-%start spec
-
-%union {
- re2c::RegExp * regexp;
- const re2c::Code * code;
- char op;
- re2c::ExtOp extop;
- std::string * str;
- re2c::CondList * clist;
-};
-
-%token TOKEN_CLOSE
-%token TOKEN_CLOSESIZE
-%token TOKEN_CODE
-%token TOKEN_CONF
-%token TOKEN_ID
-%token TOKEN_FID
-%token TOKEN_FID_END
-%token TOKEN_NOCOND
-%token TOKEN_REGEXP
-%token TOKEN_SETUP
-%token TOKEN_STAR
-
-%type <op> TOKEN_CLOSE TOKEN_STAR TOKEN_SETUP close
-%type <extop> TOKEN_CLOSESIZE
-%type <code> TOKEN_CODE
-%type <regexp> TOKEN_REGEXP rule look expr diff term factor primary
-%type <str> TOKEN_ID TOKEN_FID newcond
-%type <clist> cond clist
-
-%%
-
-spec:
- /* empty */
- {
- }
- | spec rule
- {
- foundRules = true;
- }
- | spec decl
-;
-
-decl:
- TOKEN_ID '=' expr ';'
- {
- if (!symbol_table.insert (std::make_pair (* $1, $3)).second)
- {
- in->fatal("sym already defined");
- }
- delete $1;
- }
- | TOKEN_FID expr TOKEN_FID_END
- {
- if (!symbol_table.insert (std::make_pair (* $1, $2)).second)
- {
- in->fatal("sym already defined");
- }
- delete $1;
- }
- | TOKEN_ID '=' expr '/'
- {
- in->fatal("trailing contexts are not allowed in named definitions");
- }
- | TOKEN_FID expr '/'
- {
- in->fatal("trailing contexts are not allowed in named definitions");
- }
- | TOKEN_CONF {}
-;
-
-rule:
- expr look TOKEN_CODE
- {
- if (opts->cFlag)
- {
- in->fatal("condition or '<*>' required when using -c switch");
- }
- RuleOp * rule = new RuleOp
- ( $3->loc
- , $1
- , $2
- , rank_counter.next ()
- , $3
- , NULL
- );
- spec.add (rule);
- }
- | TOKEN_STAR TOKEN_CODE /* default rule */
- {
- if (opts->cFlag)
- in->fatal("condition or '<*>' required when using -c switch");
- RuleOp * def = new RuleOp
- ( $2->loc
- , in->mkDefault ()
- , new NullOp
- , rule_rank_t::def ()
- , $2
- , NULL
- );
- if (!spec.add_def (def))
- {
- in->fatal("code to default rule is already defined");
- }
- }
- | '<' cond '>' expr look newcond TOKEN_CODE
- {
- context_rule ($2, $7->loc, $4, $5, $7, $6);
- }
- | '<' cond '>' expr look ':' newcond
- {
- assert($7);
- Loc loc (in->get_fname (), in->get_cline ());
- context_rule ($2, loc, $4, $5, NULL, $7);
- }
- | '<' cond '>' look newcond TOKEN_CODE
- {
- context_none($2);
- delete $5;
- }
- | '<' cond '>' look ':' newcond
- {
- assert($6);
- context_none($2);
- delete $6;
- }
- | '<' cond '>' TOKEN_STAR TOKEN_CODE /* default rule for conditions */
- {
- default_rule($2, $5);
- }
- | '<' TOKEN_STAR '>' expr look newcond TOKEN_CODE
- {
- context_check(NULL);
- RuleOp * rule = new RuleOp
- ( $7->loc
- , $4
- , $5
- , rank_counter.next ()
- , $7
- , $6
- );
- specStar.push_back (rule);
- delete $6;
- }
- | '<' TOKEN_STAR '>' expr look ':' newcond
- {
- assert($7);
- context_check(NULL);
- Loc loc (in->get_fname (), in->get_cline ());
- RuleOp * rule = new RuleOp
- ( loc
- , $4
- , $5
- , rank_counter.next ()
- , NULL
- , $7
- );
- specStar.push_back (rule);
- delete $7;
- }
- | '<' TOKEN_STAR '>' look newcond TOKEN_CODE
- {
- context_none(NULL);
- delete $5;
- }
- | '<' TOKEN_STAR '>' look ':' newcond
- {
- assert($6);
- context_none(NULL);
- delete $6;
- }
- | '<' TOKEN_STAR '>' TOKEN_STAR TOKEN_CODE /* default rule for all conditions */
- {
- if (star_default)
- {
- in->fatal ("code to default rule '*' is already defined");
- }
- star_default = new RuleOp
- ( $5->loc
- , in->mkDefault ()
- , new NullOp
- , rule_rank_t::def ()
- , $5
- , NULL
- );
- }
- | TOKEN_NOCOND newcond TOKEN_CODE
- {
- context_check(NULL);
- if (specNone)
- {
- in->fatal("code to handle illegal condition already defined");
- }
- $$ = specNone = new RuleOp
- ( $3->loc
- , new NullOp
- , new NullOp
- , rank_counter.next ()
- , $3
- , $2
- );
- delete $2;
- }
- | TOKEN_NOCOND ':' newcond
- {
- assert($3);
- context_check(NULL);
- if (specNone)
- {
- in->fatal("code to handle illegal condition already defined");
- }
- Loc loc (in->get_fname (), in->get_cline ());
- $$ = specNone = new RuleOp
- ( loc
- , new NullOp
- , new NullOp
- , rank_counter.next ()
- , NULL
- , $3
- );
- delete $3;
- }
- | TOKEN_SETUP TOKEN_STAR '>' TOKEN_CODE
- {
- CondList *clist = new CondList();
- clist->insert("*");
- setup_rule(clist, $4);
- }
- | TOKEN_SETUP cond '>' TOKEN_CODE
- {
- setup_rule($2, $4);
- }
-;
-
-cond:
- /* empty */
- {
- in->fatal("unnamed condition not supported");
- }
- | clist
- {
- $$ = $1;
- }
- ;
-
-clist:
- TOKEN_ID
- {
- $$ = new CondList();
- $$->insert(* $1);
- delete $1;
- }
- | clist ',' TOKEN_ID
- {
- $1->insert(* $3);
- delete $3;
- $$ = $1;
- }
-;
-
-newcond:
- /* empty */
- {
- $$ = NULL;
- }
- | '=' '>' TOKEN_ID
- {
- $$ = $3;
- }
-;
-
-look:
- /* empty */
- {
- $$ = new NullOp;
- }
- | '/' expr
- {
- $$ = $2;
- }
-;
-
-expr:
- diff
- {
- $$ = $1;
- }
- | expr '|' diff
- {
- $$ = mkAlt($1, $3);
- }
-;
-
-diff:
- term
- {
- $$ = $1;
- }
- | diff '\\' term
- {
- $$ = in->mkDiff($1, $3);
- }
-;
-
-term:
- factor
- {
- $$ = $1;
- }
- | term factor
- {
- $$ = new CatOp($1, $2);
- }
-;
-
-factor:
- primary
- {
- $$ = $1;
- }
- | primary close
- {
- switch($2)
- {
- case '*':
- $$ = new CloseOp($1);
- break;
- case '+':
- $$ = new CatOp (new CloseOp($1), $1);
- break;
- case '?':
- $$ = mkAlt($1, new NullOp());
- break;
- }
- }
- | primary TOKEN_CLOSESIZE
- {
- if ($2.max == std::numeric_limits<uint32_t>::max())
- {
- $$ = repeat_from ($1, $2.min);
- }
- else if ($2.min == $2.max)
- {
- $$ = repeat ($1, $2.min);
- }
- else
- {
- $$ = repeat_from_to ($1, $2.min, $2.max);
- }
- $$ = $$ ? $$ : new NullOp;
- }
-;
-
-close:
- TOKEN_CLOSE
- {
- $$ = $1;
- }
- | TOKEN_STAR
- {
- $$ = $1;
- }
- | close TOKEN_CLOSE
- {
- $$ = ($1 == $2) ? $1 : '*';
- }
- | close TOKEN_STAR
- {
- $$ = ($1 == $2) ? $1 : '*';
- }
-;
-
-primary:
- TOKEN_ID
- {
- symbol_table_t::iterator i = symbol_table.find (* $1);
- delete $1;
- if (i == symbol_table.end ())
- {
- in->fatal("can't find symbol");
- }
- $$ = i->second;
- }
- | TOKEN_REGEXP
- {
- $$ = $1;
- }
- | '(' expr ')'
- {
- $$ = $2;
- }
-;
-
-%%
-
-extern "C" {
-void yyerror(const char* s)
-{
- in->fatal(s);
-}
-
-int yylex(){
- return in ? in->scan() : 0;
-}
-} // end extern "C"
-
-namespace re2c
-{
-
-void parse(Scanner& i, Output & o)
-{
- std::map<std::string, smart_ptr<DFA> > dfa_map;
- ScannerState rules_state;
-
- in = &i;
-
- o.source.wversion_time ()
- .wline_info (in->get_cline (), in->get_fname ().c_str ());
- if (opts->target == opt_t::SKELETON)
- {
- Skeleton::emit_prolog (o.source);
- }
-
- Enc encodingOld = opts->encoding;
-
- while ((parseMode = i.echo()) != Scanner::Stop)
- {
- o.source.new_block ();
- bool bPrologBrace = false;
- ScannerState curr_state;
-
- i.save_state(curr_state);
- foundRules = false;
-
- if (opts->rFlag && parseMode == Scanner::Rules && dfa_map.size())
- {
- in->fatal("cannot have a second 'rules:re2c' block");
- }
- if (parseMode == Scanner::Reuse)
- {
- if (dfa_map.empty())
- {
- in->fatal("got 'use:re2c' without 'rules:re2c'");
- }
- }
- else if (parseMode == Scanner::Rules)
- {
- i.save_state(rules_state);
- }
- else
- {
- dfa_map.clear();
- }
- rank_counter.reset ();
- spec.clear ();
- in->set_in_parse(true);
- yyparse();
- in->set_in_parse(false);
- if (opts->rFlag && parseMode == Scanner::Reuse)
- {
- if (foundRules || opts->encoding != encodingOld)
- {
- // Re-parse rules
- parseMode = Scanner::Parse;
- i.restore_state(rules_state);
- i.reuse();
- dfa_map.clear();
- parse_cleanup();
- spec.clear ();
- rank_counter.reset ();
- in->set_in_parse(true);
- yyparse();
- in->set_in_parse(false);
-
- // Now append potential new rules
- i.restore_state(curr_state);
- parseMode = Scanner::Parse;
- in->set_in_parse(true);
- yyparse();
- in->set_in_parse(false);
- }
- encodingOld = opts->encoding;
- }
- o.source.set_block_line (in->get_cline ());
- uint32_t ind = opts->topIndent;
- if (opts->cFlag)
- {
- SpecMap::iterator it;
- SetupMap::const_iterator itRuleSetup;
-
- if (parseMode != Scanner::Reuse)
- {
- // <*> rules must have the lowest priority
- // now that all rules have been parsed, we can fix it
- for (RuleOpList::const_iterator itOp = specStar.begin(); itOp != specStar.end(); ++itOp)
- {
- (*itOp)->rank = rank_counter.next ();
- }
- // merge <*> rules to all conditions
- for (it = specMap.begin(); it != specMap.end(); ++it)
- {
- for (RuleOpList::const_iterator itOp = specStar.begin(); itOp != specStar.end(); ++itOp)
- {
- it->second.add (*itOp);
- }
- if (star_default)
- {
- it->second.add_def (star_default);
- }
- }
-
- if (specNone)
- {
- specMap["0"].add (specNone);
- // Note that "0" inserts first, which is important.
- condnames.insert (condnames.begin (), "0");
- }
- o.types = condnames;
- }
-
- size_t nCount = specMap.size();
-
- for (it = specMap.begin(); it != specMap.end(); ++it)
- {
- if (parseMode != Scanner::Reuse)
- {
- itRuleSetup = ruleSetupMap.find(it->first);
- if (itRuleSetup != ruleSetupMap.end())
- {
- yySetupRule = itRuleSetup->second.second;
- }
- else
- {
- itRuleSetup = ruleSetupMap.find("*");
- if (itRuleSetup != ruleSetupMap.end())
- {
- yySetupRule = itRuleSetup->second.second;
- }
- else
- {
- yySetupRule = "";
- }
- }
-
- dfa_map[it->first] = compile(it->second, o, it->first, opts->encoding.nCodeUnits ());
- }
- if (parseMode != Scanner::Rules && dfa_map.find(it->first) != dfa_map.end())
- {
- dfa_map[it->first]->emit(o, ind, !--nCount, bPrologBrace);
- }
- }
- }
- else
- {
- if (spec.re || !dfa_map.empty())
- {
- if (parseMode != Scanner::Reuse)
- {
- dfa_map[""] = compile(spec, o, "", opts->encoding.nCodeUnits ());
- }
- if (parseMode != Scanner::Rules && dfa_map.find("") != dfa_map.end())
- {
- dfa_map[""]->emit(o, ind, 0, bPrologBrace);
- }
- }
- }
- o.source.wline_info (in->get_cline (), in->get_fname ().c_str ());
- /* restore original char handling mode*/
- opts.reset_encoding (encodingOld);
- }
-
- if (opts->cFlag)
- {
- SetupMap::const_iterator itRuleSetup;
- for (itRuleSetup = ruleSetupMap.begin(); itRuleSetup != ruleSetupMap.end(); ++itRuleSetup)
- {
- if (itRuleSetup->first != "*" && specMap.find(itRuleSetup->first) == specMap.end())
- {
- in->fatalf_at(itRuleSetup->second.first, "setup for non existing rule '%s' found", itRuleSetup->first.c_str());
- }
- }
- if (specMap.size() < ruleSetupMap.size())
- {
- uint32_t line = in->get_cline();
- itRuleSetup = ruleSetupMap.find("*");
- if (itRuleSetup != ruleSetupMap.end())
- {
- line = itRuleSetup->second.first;
- }
- in->fatalf_at(line, "setup for all rules with '*' not possible when all rules are setup explicitly");
- }
- }
-
- if (opts->target == opt_t::SKELETON)
- {
- Skeleton::emit_epilog (o.source, o.skeletons);
- }
-
- parse_cleanup();
- in = NULL;
-}
-
-void parse_cleanup()
-{
- RegExp::vFreeList.clear();
- Range::vFreeList.clear();
- RangeSuffix::freeList.clear();
- Code::freelist.clear();
- symbol_table.clear ();
- condnames.clear ();
- specMap.clear();
- specStar.clear();
- star_default = NULL;
- specNone = NULL;
-}
-
-} // end namespace re2c
diff --git a/src/parse/rules.h b/src/parse/rules.h
deleted file mode 100644
index 7815372e..00000000
--- a/src/parse/rules.h
+++ /dev/null
@@ -1,29 +0,0 @@
-#ifndef _RE2C_PARSE_RULES_
-#define _RE2C_PARSE_RULES_
-
-#include <map>
-#include <set>
-
-#include "src/ir/rule_rank.h"
-
-namespace re2c
-{
-
-struct rule_info_t
-{
- uint32_t line;
- std::set<rule_rank_t> shadow;
- bool reachable;
-
- rule_info_t ()
- : line (0)
- , shadow ()
- , reachable (false)
- {}
-};
-
-typedef std::map<rule_rank_t, rule_info_t> rules_t;
-
-} // namespace re2c
-
-#endif // _RE2C_PARSE_RULES_
diff --git a/src/parse/scanner.cc b/src/parse/scanner.cc
deleted file mode 100644
index 09dd2bda..00000000
--- a/src/parse/scanner.cc
+++ /dev/null
@@ -1,211 +0,0 @@
-#include <stdarg.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <iostream>
-#include <new>
-
-#include "src/codegen/label.h"
-#include "src/codegen/output.h"
-#include "src/conf/opt.h"
-#include "src/globals.h"
-#include "src/parse/scanner.h"
-#include "src/util/counter.h"
-
-// used by Scanner::fatal_at and Scanner::fatalf
-#if defined(_MSC_VER) && !defined(vsnprintf)
-# define vsnprintf _vsnprintf
-#endif
-
-namespace re2c {
-
-const uint32_t Scanner::BSIZE = 8192;
-
-ScannerState::ScannerState ()
- : tok (NULL)
- , ptr (NULL)
- , cur (NULL)
- , pos (NULL)
- , ctx (NULL)
- , bot (NULL)
- , lim (NULL)
- , top (NULL)
- , eof (NULL)
- , tchar (0)
- , tline (0)
- , cline (1)
- , in_parse (false)
- , lexer_state (LEX_NORMAL)
-{}
-
-ScannerState::ScannerState (const ScannerState & s)
- : tok (s.tok)
- , ptr (s.ptr)
- , cur (s.cur)
- , pos (s.pos)
- , ctx (s.ctx)
- , bot (s.bot)
- , lim (s.lim)
- , top (s.top)
- , eof (s.eof)
- , tchar (s.tchar)
- , tline (s.tline)
- , cline (s.cline)
- , in_parse (s.in_parse)
- , lexer_state (s.lexer_state)
-{}
-
-ScannerState & ScannerState::operator = (const ScannerState & s)
-{
- this->~ScannerState ();
- new (this) ScannerState (s);
- return * this;
-}
-
-Scanner::Scanner (Input & i, OutputFile & o)
- : ScannerState ()
- , in (i)
- , out (o)
-{}
-
-void Scanner::fill (uint32_t need)
-{
- if(!eof)
- {
- /* Do not get rid of anything when rFlag is active. Otherwise
- * get rid of everything that was already handedout. */
- if (!opts->rFlag)
- {
- const ptrdiff_t diff = tok - bot;
- if (diff > 0)
- {
- const size_t move = static_cast<size_t> (top - tok);
- memmove (bot, tok, move);
- tok -= diff;
- ptr -= diff;
- cur -= diff;
- pos -= diff;
- lim -= diff;
- ctx -= diff;
- }
- }
- /* In crease buffer size. */
- if (BSIZE > need)
- {
- need = BSIZE;
- }
- if (static_cast<uint32_t> (top - lim) < need)
- {
- const size_t copy = static_cast<size_t> (lim - bot);
- char * buf = new char[copy + need];
- if (!buf)
- {
- fatal("Out of memory");
- }
- memcpy (buf, bot, copy);
- tok = &buf[tok - bot];
- ptr = &buf[ptr - bot];
- cur = &buf[cur - bot];
- pos = &buf[pos - bot];
- lim = &buf[lim - bot];
- top = &lim[need];
- ctx = &buf[ctx - bot];
- delete [] bot;
- bot = buf;
- }
- /* Append to buffer. */
- const size_t have = fread (lim, 1, need, in.file);
- if (have != need)
- {
- eof = &lim[have];
- *eof++ = '\0';
- }
- lim += have;
- }
-}
-
-void Scanner::set_in_parse(bool new_in_parse)
-{
- in_parse = new_in_parse;
-}
-
-void Scanner::fatal_at(uint32_t line, ptrdiff_t ofs, const char *msg) const
-{
- std::cerr << "re2c: error: "
- << "line " << line << ", column " << (tchar + ofs + 1) << ": "
- << msg << std::endl;
- exit(1);
-}
-
-void Scanner::fatal(ptrdiff_t ofs, const char *msg) const
-{
- fatal_at(in_parse ? tline : cline, ofs, msg);
-}
-
-void Scanner::fatalf_at(uint32_t line, const char* fmt, ...) const
-{
- char szBuf[4096];
-
- va_list args;
-
- va_start(args, fmt);
- vsnprintf(szBuf, sizeof(szBuf), fmt, args);
- va_end(args);
-
- szBuf[sizeof(szBuf)-1] = '0';
-
- fatal_at(line, 0, szBuf);
-}
-
-void Scanner::fatalf(const char *fmt, ...) const
-{
- char szBuf[4096];
-
- va_list args;
-
- va_start(args, fmt);
- vsnprintf(szBuf, sizeof(szBuf), fmt, args);
- va_end(args);
-
- szBuf[sizeof(szBuf)-1] = '0';
-
- fatal(szBuf);
-}
-
-Scanner::~Scanner()
-{
- delete [] bot;
-}
-
-void Scanner::reuse()
-{
- out.label_counter.reset ();
- last_fill_index = 0;
- bWroteGetState = false;
- bWroteCondCheck = false;
- opts.reset_mapCodeName ();
-}
-
-void Scanner::restore_state(const ScannerState& state)
-{
- ptrdiff_t diff = bot - state.bot;
- char *old_bot = bot;
- char *old_lim = lim;
- char *old_top = top;
- char *old_eof = eof;
- *(ScannerState*)this = state;
- if (diff)
- {
- tok -= diff;
- ptr -= diff;
- cur -= diff;
- pos -= diff;
- ctx -= diff;
- bot = old_bot;
- lim = old_lim;
- top = old_top;
- eof = old_eof;
- }
-}
-
-} // namespace re2c
diff --git a/src/parse/scanner.h b/src/parse/scanner.h
deleted file mode 100644
index d13eeaa1..00000000
--- a/src/parse/scanner.h
+++ /dev/null
@@ -1,147 +0,0 @@
-#ifndef _RE2C_PARSE_SCANNER_
-#define _RE2C_PARSE_SCANNER_
-
-#include "src/util/c99_stdint.h"
-#include <stddef.h>
-#include <string>
-
-#include "src/parse/input.h"
-#include "src/util/attribute.h"
-#include "src/util/forbid_copy.h"
-
-namespace re2c
-{
-
-class Range;
-class RegExp;
-struct OutputFile;
-
-struct ScannerState
-{
- enum lexer_state_t
- {
- LEX_NORMAL,
- LEX_FLEX_NAME
- };
-
- // positioning
- char * tok;
- char * ptr;
- char * cur;
- char * pos;
- char * ctx;
-
- // buffer
- char * bot;
- char * lim;
- char * top;
- char * eof;
-
- ptrdiff_t tchar;
- uint32_t tline;
- uint32_t cline;
-
- bool in_parse;
- lexer_state_t lexer_state;
-
- ScannerState ();
- ScannerState (const ScannerState &);
- ScannerState & operator = (const ScannerState &);
-};
-
-class Scanner: private ScannerState
-{
- static const uint32_t BSIZE;
-
- Input & in;
-public:
- OutputFile & out;
-
-private:
- void fill (uint32_t);
- void set_sourceline ();
- uint32_t lex_cls_chr();
- uint32_t lex_str_chr(char quote, bool &end);
- RegExp *lex_cls(bool neg);
- RegExp *lex_str(char quote, bool casing);
- RegExp *schr(uint32_t c) const;
- RegExp *ichr(uint32_t c) const;
- RegExp *cls(Range *r) const;
-
- void lex_conf ();
- void lex_conf_assign ();
- void lex_conf_semicolon ();
- int32_t lex_conf_number ();
- std::string lex_conf_string ();
-
- size_t tok_len () const;
-
-public:
- Scanner(Input &, OutputFile &);
- ~Scanner();
-
- enum ParseMode {
- Stop,
- Parse,
- Reuse,
- Rules
- };
-
- ParseMode echo();
- int scan();
- void reuse();
-
- void save_state(ScannerState&) const;
- void restore_state(const ScannerState&);
-
- uint32_t get_cline() const;
- uint32_t get_line() const;
- const std::string & get_fname () const;
- void set_in_parse(bool new_in_parse);
- void fatal_at(uint32_t line, ptrdiff_t ofs, const char *msg) const;
- void fatalf_at(uint32_t line, const char*, ...) const RE2C_GXX_ATTRIBUTE ((format (printf, 3, 4)));
- void fatalf(const char*, ...) const RE2C_GXX_ATTRIBUTE ((format (printf, 2, 3)));
- void fatal(const char*) const;
- void fatal(ptrdiff_t, const char*) const;
-
- RegExp * mkDiff (RegExp * e1, RegExp * e2) const;
- RegExp * mkDot () const;
- RegExp * mkDefault () const;
-
- FORBID_COPY (Scanner);
-};
-
-inline size_t Scanner::tok_len () const
-{
- // lexing and fill procedures must maintain: token pointer <= cursor pointer
- return static_cast<size_t> (cur - tok);
-}
-
-inline const std::string & Scanner::get_fname () const
-{
- return in.file_name;
-}
-
-inline uint32_t Scanner::get_cline() const
-{
- return cline;
-}
-
-inline uint32_t Scanner::get_line() const
-{
- return in_parse ? tline : cline;
-}
-
-inline void Scanner::save_state(ScannerState& state) const
-{
- state = *this;
-}
-
-inline void Scanner::fatal(const char *msg) const
-{
- fatal(0, msg);
-}
-
-} // end namespace re2c
-
-#endif // _RE2C_PARSE_SCANNER_
diff --git a/src/parse/spec.h b/src/parse/spec.h
deleted file mode 100644
index 0b68af74..00000000
--- a/src/parse/spec.h
+++ /dev/null
@@ -1,55 +0,0 @@
-#ifndef _RE2C_PARSE_SPEC_
-#define _RE2C_PARSE_SPEC_
-
-#include "src/ir/regexp/regexp_rule.h"
-#include "src/parse/rules.h"
-
-namespace re2c
-{
-
-struct Spec
-{
- RegExp * re;
- rules_t rules;
-
- Spec ()
- : re (NULL)
- , rules ()
- {}
- Spec (const Spec & spec)
- : re (spec.re)
- , rules (spec.rules)
- {}
- Spec & operator = (const Spec & spec)
- {
- re = spec.re;
- rules = spec.rules;
- return *this;
- }
- bool add_def (RuleOp * r)
- {
- if (rules.find (rule_rank_t::def ()) != rules.end ())
- {
- return false;
- }
- else
- {
- add (r);
- return true;
- }
- }
- void add (RuleOp * r)
- {
- rules[r->rank].line = r->loc.line;
- re = mkAlt (re, r);
- }
- void clear ()
- {
- re = NULL;
- rules.clear ();
- }
-};
-
-} // namespace re2c
-
-#endif // _RE2C_PARSE_SPEC_
diff --git a/src/re/ast_to_re.cc b/src/re/ast_to_re.cc
new file mode 100644
index 00000000..dbcd0d07
--- /dev/null
+++ b/src/re/ast_to_re.cc
@@ -0,0 +1,373 @@
+#include <stddef.h>
+#include "src/util/c99_stdint.h"
+#include <algorithm>
+#include <set>
+#include <string>
+#include <utility>
+#include <valarray>
+#include <vector>
+
+#include "src/ast/ast.h"
+#include "src/conf/msg.h"
+#include "src/conf/opt.h"
+#include "src/conf/warn.h"
+#include "src/re/empty_class_policy.h"
+#include "src/re/encoding/case.h"
+#include "src/re/encoding/enc.h"
+#include "src/re/encoding/utf16/utf16_regexp.h"
+#include "src/re/encoding/utf8/utf8_regexp.h"
+#include "src/re/re.h"
+#include "src/re/rule.h"
+#include "src/re/tag.h"
+#include "src/util/range.h"
+
+namespace re2c {
+
+/* note [default regexp]
+ *
+ * Create a byte range that includes all possible input characters.
+ * This may include characters, which do not map to any valid symbol
+ * in current encoding. For encodings, which directly map symbols to
+ * input characters (ASCII, EBCDIC, UTF-32), it equals [^]. For other
+ * encodings (UTF-16, UTF-8), [^] and this range are different.
+ *
+ * Also note that default range doesn't respect encoding policy
+ * (the way invalid code points are treated).
+ */
+
+/* note [POSIX subexpression hierarchy]
+ *
+ * POSIX treats subexpressions with and without captures as equal,
+ * therefore we have to insert missing captures in subexpressions
+ * that influence disambiguation of existing captures. Such cases are:
+ * left alternative in union (unless it is already a capture) and first
+ * operand in concatenation (unless it is a capture or the length of
+ * strings accepted by it is fixed). Of course, this insertion only
+ * applies to subexpressions that have nested captures.
+ */
+
+static bool has_tags(const AST *ast)
+{
+ switch (ast->type) {
+ case AST::NIL:
+ case AST::STR:
+ case AST::CLS:
+ case AST::DOT:
+ case AST::DEFAULT:
+ case AST::DIFF: return false;
+ case AST::TAG:
+ case AST::CAP: return true;
+ case AST::ALT: return has_tags(ast->alt.ast1) || has_tags(ast->alt.ast2);
+ case AST::CAT: return has_tags(ast->cat.ast1) || has_tags(ast->cat.ast2);
+ case AST::REF: return has_tags(ast->ref.ast);
+ case AST::ITER: return has_tags(ast->iter.ast);
+ }
+ return false; /* unreachable */
+}
+
+static size_t fixlen(const AST *ast)
+{
+ switch (ast->type) {
+ case AST::NIL:
+ case AST::TAG: return 0;
+ case AST::CLS:
+ case AST::DOT:
+ case AST::DEFAULT:
+ case AST::DIFF: return 1;
+ case AST::STR: return ast->str.chars->size();
+ case AST::ALT: {
+ const size_t
+ l1 = fixlen(ast->alt.ast1),
+ l2 = fixlen(ast->alt.ast2);
+ return l1 == l2 ? l1 : Tag::VARDIST;
+ }
+ case AST::CAT: {
+ const size_t
+ l1 = fixlen(ast->cat.ast1),
+ l2 = fixlen(ast->cat.ast2);
+ return l1 == Tag::VARDIST || l2 == Tag::VARDIST
+ ? Tag::VARDIST : l1 + l2;
+ }
+ case AST::REF: return fixlen(ast->ref.ast);
+ case AST::ITER: {
+ const size_t l = fixlen(ast->iter.ast);
+ const uint32_t m = ast->iter.min, n = ast->iter.max;
+ return l == Tag::VARDIST || m != n
+ ? Tag::VARDIST : l * (n - m);
+ }
+ case AST::CAP: return fixlen(ast->cap);
+ }
+ return Tag::VARDIST; /* unreachable */
+}
+
+static RE *ast_to_re(RESpec &spec, const AST *ast, size_t &ncap)
+{
+ RE::alc_t &alc = spec.alc;
+ std::vector<Tag> &tags = spec.tags;
+ const opt_t *opts = spec.opts;
+ Warn &warn = spec.warn;
+
+ switch (ast->type) {
+ case AST::NIL:
+ return re_nil(alc);
+ case AST::STR: {
+ const bool icase = opts->bCaseInsensitive
+ || (ast->str.icase != opts->bCaseInverted);
+ RE *x = NULL;
+ std::vector<ASTChar>::const_iterator
+ i = ast->str.chars->begin(),
+ e = ast->str.chars->end();
+ for (; i != e; ++i) {
+ x = re_cat(alc, x, icase
+ ? re_ichar(alc, ast->line, i->column, i->chr, opts)
+ : re_schar(alc, ast->line, i->column, i->chr, opts));
+ }
+ return x ? x : re_nil(alc);
+ }
+ case AST::CLS: {
+ Range *r = NULL;
+ std::vector<ASTRange>::const_iterator
+ i = ast->cls.ranges->begin(),
+ e = ast->cls.ranges->end();
+ for (; i != e; ++i) {
+ Range *s = opts->encoding.encodeRange(i->lower, i->upper);
+ if (!s) fatal_lc(ast->line, i->column,
+ "bad code point range: '0x%X - 0x%X'", i->lower, i->upper);
+ r = Range::add(r, s);
+ }
+ if (ast->cls.negated) {
+ r = Range::sub(opts->encoding.fullRange(), r);
+ }
+ return re_class(alc, ast->line, ast->column, r, opts, warn);
+ }
+ case AST::DOT: {
+ uint32_t c = '\n';
+ if (!opts->encoding.encode(c)) {
+ fatal_lc(ast->line, ast->column, "bad code point: '0x%X'", c);
+ }
+ return re_class(alc, ast->line, ast->column,
+ Range::sub(opts->encoding.fullRange(), Range::sym(c)), opts, warn);
+ }
+ case AST::DEFAULT:
+ // see note [default regexp]
+ return re_sym(alc, Range::ran(0, opts->encoding.nCodeUnits()));
+ case AST::ALT: {
+ RE *t1 = NULL, *t2 = NULL, *x, *y;
+ if (opts->posix_captures && has_tags(ast)
+ && ast->alt.ast1->type != AST::CAP) {
+ // see note [POSIX subexpression hierarchy]
+ t1 = re_tag(alc, tags.size(), false);
+ tags.push_back(Tag(Tag::FICTIVE, false));
+ t2 = re_tag(alc, tags.size(), false);
+ tags.push_back(Tag(Tag::FICTIVE, false));
+ }
+ x = ast_to_re(spec, ast->alt.ast1, ncap);
+ x = re_cat(alc, t1, re_cat(alc, x, t2));
+ y = ast_to_re(spec, ast->alt.ast2, ncap);
+ return re_alt(alc, x, y);
+ }
+ case AST::DIFF: {
+ RE *x = ast_to_re(spec, ast->diff.ast1, ncap);
+ RE *y = ast_to_re(spec, ast->diff.ast2, ncap);
+ if (x->type != RE::SYM || y->type != RE::SYM) {
+ fatal_lc(ast->line, ast->column, "can only difference char sets");
+ }
+ return re_class(alc, ast->line, ast->column, Range::sub(x->sym, y->sym), opts, warn);
+ }
+ case AST::CAT: {
+ RE *t1 = NULL, *t2 = NULL, *x, *y;
+ const AST *a1 = ast->alt.ast1;
+ if (opts->posix_captures && has_tags(ast)
+ && a1->type != AST::CAP && fixlen(a1) == Tag::VARDIST) {
+ // see note [POSIX subexpression hierarchy]
+ t1 = re_tag(alc, tags.size(), false);
+ tags.push_back(Tag(Tag::FICTIVE, false));
+ t2 = re_tag(alc, tags.size(), false);
+ tags.push_back(Tag(Tag::FICTIVE, false));
+ }
+ x = ast_to_re(spec, ast->cat.ast1, ncap);
+ x = re_cat(alc, t1, re_cat(alc, x, t2));
+ y = ast_to_re(spec, ast->cat.ast2, ncap);
+ return re_cat(alc, x, y);
+ }
+ case AST::TAG: {
+ if (ast->tag.name && !opts->tags) {
+ fatal_lc(ast->line, ast->column,
+ "tags are only allowed with '-T, --tags' option");
+ }
+ if (opts->posix_captures) {
+ fatal_lc(ast->line, ast->column,
+ "simple tags are not allowed with '--posix-captures' option");
+ }
+ RE *t = re_tag(alc, tags.size(), false);
+ tags.push_back(Tag(ast->tag.name, ast->tag.history));
+ return t;
+ }
+ case AST::CAP: {
+ if (!opts->posix_captures) {
+ return ast_to_re(spec, ast->cap, ncap);
+ }
+ const AST *x = ast->cap;
+ if (x->type == AST::REF) x = x->ref.ast;
+
+ RE *t1 = re_tag(alc, tags.size(), false);
+ tags.push_back(Tag(2 * ncap, false));
+
+ RE *t2 = re_tag(alc, tags.size(), false);
+ tags.push_back(Tag(2 * ncap + 1, false));
+
+ ++ncap;
+ return re_cat(alc, t1, re_cat(alc, ast_to_re(spec, x, ncap), t2));
+ }
+ case AST::REF:
+ if (!opts->posix_captures) {
+ return ast_to_re(spec, ast->ref.ast, ncap);
+ }
+ fatal_l(ast->line,
+ "implicit grouping is forbidden with '--posix-captures'"
+ " option, please wrap '%s' in capturing parenthesis",
+ ast->ref.name->c_str());
+ return NULL;
+ case AST::ITER: {
+ const uint32_t
+ n = ast->iter.min,
+ n1 = std::max(n, 1u),
+ m = std::max(n, ast->iter.max);
+ const AST *x = ast->iter.ast;
+
+ RE *t1 = NULL, *t2 = NULL;
+ if (opts->posix_captures && x->type == AST::CAP) {
+ x = x->cap;
+ if (x->type == AST::REF) x = x->ref.ast;
+
+ t1 = re_tag(alc, tags.size(), false);
+ tags.push_back(Tag(2 * ncap, m > 1));
+
+ t2 = re_tag(alc, tags.size(), false);
+ tags.push_back(Tag(2 * ncap + 1, false));
+
+ ++ncap;
+ }
+
+ RE *y = NULL;
+ if (m == 0) {
+ y = re_cat(alc, t1, t2);
+ } else if (m == 1) {
+ y = ast_to_re(spec, x, ncap);
+ y = re_cat(alc, t1, re_cat(alc, y, t2));
+ } else {
+ y = ast_to_re(spec, x, ncap);
+ y = re_cat(alc, t1, y);
+ y = re_iter(alc, y, n1, m);
+ y = re_cat(alc, y, t2);
+ }
+ if (n == 0) {
+ y = re_alt(alc, y, re_nil(alc));
+ }
+ return y;
+ }
+ }
+ return NULL; /* unreachable */
+}
+
+RE *re_schar(RE::alc_t &alc, uint32_t line, uint32_t column, uint32_t c, const opt_t *opts)
+{
+ if (!opts->encoding.encode(c)) {
+ fatal_lc(line, column, "bad code point: '0x%X'", c);
+ }
+ switch (opts->encoding.type()) {
+ case Enc::UTF16:
+ return UTF16Symbol(alc, c);
+ case Enc::UTF8:
+ return UTF8Symbol(alc, c);
+ case Enc::ASCII:
+ case Enc::EBCDIC:
+ case Enc::UTF32:
+ case Enc::UCS2:
+ return re_sym(alc, Range::sym(c));
+ }
+ return NULL; /* unreachable */
+}
+
+RE *re_ichar(RE::alc_t &alc, uint32_t line, uint32_t column, uint32_t c, const opt_t *opts)
+{
+ if (is_alpha(c)) {
+ return re_alt(alc,
+ re_schar(alc, line, column, to_lower_unsafe(c), opts),
+ re_schar(alc, line, column, to_upper_unsafe(c), opts));
+ } else {
+ return re_schar(alc, line, column, c, opts);
+ }
+}
+
+RE *re_class(RE::alc_t &alc, uint32_t line, uint32_t column, const Range *r, const opt_t *opts, Warn &warn)
+{
+ if (!r) {
+ switch (opts->empty_class_policy) {
+ case EMPTY_CLASS_MATCH_EMPTY:
+ warn.empty_class(line);
+ return re_nil(alc);
+ case EMPTY_CLASS_MATCH_NONE:
+ warn.empty_class(line);
+ break;
+ case EMPTY_CLASS_ERROR:
+ fatal_lc(line, column, "empty character class");
+ }
+ }
+ switch (opts->encoding.type()) {
+ case Enc::UTF16:
+ return UTF16Range(alc, r);
+ case Enc::UTF8:
+ return UTF8Range(alc, r);
+ case Enc::ASCII:
+ case Enc::EBCDIC:
+ case Enc::UTF32:
+ case Enc::UCS2:
+ return re_sym(alc, r);
+ }
+ return NULL; /* unreachable */
+}
+
+static void assert_tags_used_once(const Rule &rule, const std::vector<Tag> &tags)
+{
+ std::set<std::string> names;
+ const std::string *name = NULL;
+
+ for (size_t t = rule.ltag; t < rule.htag; ++t) {
+ name = tags[t].name;
+ if (name && !names.insert(*name).second) {
+ fatal_l(rule.code->fline,
+ "tag '%s' is used multiple times in the same rule",
+ name->c_str());
+ }
+ }
+}
+
+static void init_rule(Rule &rule, const Code *code, const std::vector<Tag> &tags,
+ size_t ltag, size_t ncap)
+{
+ rule.code = code;
+ rule.ltag = ltag;
+ rule.htag = tags.size();
+ for (rule.ttag = ltag; rule.ttag < rule.htag && !trailing(tags[rule.ttag]); ++rule.ttag);
+ rule.ncap = ncap;
+ assert_tags_used_once(rule, tags);
+}
+
+RESpec::RESpec(const std::vector<ASTRule> &ast, const opt_t *o, Warn &w)
+ : alc()
+ , res()
+ , charset(*new std::vector<uint32_t>)
+ , tags(*new std::vector<Tag>)
+ , rules(*new std::valarray<Rule>(ast.size()))
+ , opts(o)
+ , warn(w)
+{
+ for (size_t i = 0; i < ast.size(); ++i) {
+ size_t ltag = tags.size(), ncap = 0;
+ res.push_back(ast_to_re(*this, ast[i].ast, ncap));
+ init_rule(rules[i], ast[i].code, tags, ltag, ncap);
+ }
+}
+
+} // namespace re2c
diff --git a/src/re/default_tags.cc b/src/re/default_tags.cc
new file mode 100644
index 00000000..226e7058
--- /dev/null
+++ b/src/re/default_tags.cc
@@ -0,0 +1,58 @@
+#include <stddef.h>
+#include <vector>
+
+#include "src/re/re.h"
+
+namespace re2c {
+
+// Fictive tags do not really need default counterparts:
+// maximization can work without them based on version numbers.
+// For now it does not seem like a useful optimization, but some day
+// in future it might change.
+static void insert_default_tags(RESpec &spec, RE *re, size_t *&tidx)
+{
+ RE::alc_t &alc = spec.alc;
+ switch (re->type) {
+ case RE::NIL: break;
+ case RE::SYM: break;
+ case RE::ALT: {
+ size_t *i = tidx;
+ RE *x = re_nil(alc), *y = re_nil(alc);
+ insert_default_tags(spec, re->alt.re1, tidx);
+ for (; i < tidx; ++i) {
+ x = re_cat(alc, x, re_tag(alc, *i, true));
+ }
+ insert_default_tags(spec, re->alt.re2, tidx);
+ for (; i < tidx; ++i) {
+ y = re_cat(alc, y, re_tag(alc, *i, true));
+ }
+ re->alt.re1 = re_cat(alc, re->alt.re1, y);
+ re->alt.re2 = re_cat(alc, re->alt.re2, x);
+ break;
+ }
+ case RE::CAT:
+ insert_default_tags(spec, re->cat.re1, tidx);
+ insert_default_tags(spec, re->cat.re2, tidx);
+ break;
+ case RE::ITER:
+ insert_default_tags(spec, re->iter.re, tidx);
+ break;
+ case RE::TAG:
+ *tidx++ = re->tag.idx;
+ break;
+ }
+}
+
+void insert_default_tags(RESpec &spec)
+{
+ size_t *tidx0 = new size_t[spec.tags.size()], *tidx = tidx0;
+ std::vector<RE*>::iterator
+ i = spec.res.begin(),
+ e = spec.res.end();
+ for (; i != e; ++i) {
+ insert_default_tags(spec, *i, tidx);
+ }
+ delete[] tidx0;
+}
+
+} // namespace re2c
diff --git a/src/ir/regexp/empty_class_policy.h b/src/re/empty_class_policy.h
index bb062de0..caf60a41 100644
--- a/src/ir/regexp/empty_class_policy.h
+++ b/src/re/empty_class_policy.h
@@ -1,5 +1,5 @@
-#ifndef _RE2C_IR_REGEXP_EMPTY_CLASS_POLICY_
-#define _RE2C_IR_REGEXP_EMPTY_CLASS_POLICY_
+#ifndef _RE2C_RE_EMPTY_CLASS_POLICY_
+#define _RE2C_RE_EMPTY_CLASS_POLICY_
namespace re2c {
@@ -12,4 +12,4 @@ enum empty_class_policy_t
} // namespace re2c
-#endif // _RE2C_IR_REGEXP_EMPTY_CLASS_POLICY_
+#endif // _RE2C_RE_EMPTY_CLASS_POLICY_
diff --git a/src/ir/regexp/encoding/case.h b/src/re/encoding/case.h
index 38efa0e1..dc793608 100644
--- a/src/ir/regexp/encoding/case.h
+++ b/src/re/encoding/case.h
@@ -1,5 +1,5 @@
-#ifndef _RE2C_IR_REGEXP_ENCODING_CASE_
-#define _RE2C_IR_REGEXP_ENCODING_CASE_
+#ifndef _RE2C_RE_ENCODING_CASE_
+#define _RE2C_RE_ENCODING_CASE_
#include "src/util/c99_stdint.h"
@@ -28,4 +28,4 @@ inline uint32_t to_upper_unsafe (uint32_t c)
}
-#endif // _RE2C_IR_REGEXP_ENCODING_CASE_
+#endif // _RE2C_RE_ENCODING_CASE_
diff --git a/src/ir/regexp/encoding/enc.cc b/src/re/encoding/enc.cc
index d8c5e983..5f65e821 100644
--- a/src/ir/regexp/encoding/enc.cc
+++ b/src/re/encoding/enc.cc
@@ -1,4 +1,7 @@
-#include "src/ir/regexp/encoding/enc.h"
+#include "src/re/encoding/enc.h"
+
+#include <stddef.h>
+
#include "src/util/range.h"
namespace re2c {
diff --git a/src/ir/regexp/encoding/enc.h b/src/re/encoding/enc.h
index b85ae0be..b4afa835 100644
--- a/src/ir/regexp/encoding/enc.h
+++ b/src/re/encoding/enc.h
@@ -1,5 +1,5 @@
-#ifndef _RE2C_IR_REGEXP_ENCODING_ENC_
-#define _RE2C_IR_REGEXP_ENCODING_ENC_
+#ifndef _RE2C_RE_ENCODING_ENC_
+#define _RE2C_RE_ENCODING_ENC_
#include "src/util/c99_stdint.h"
@@ -80,7 +80,7 @@ public:
inline uint32_t szCodePoint() const;
inline uint32_t szCodeUnit() const;
- inline bool set(type_t t);
+ inline void set(type_t t);
inline void unset(type_t);
inline type_t type () const;
@@ -94,86 +94,73 @@ public:
inline const char * Enc::name (type_t t)
{
- switch (t)
- {
+ switch (t) {
case ASCII: return "ASCII";
case EBCDIC: return "EBCDIC";
case UTF8: return "UTF8";
case UCS2: return "USC2";
case UTF16: return "UTF16";
case UTF32: return "UTF32";
- default: return "<bad encoding>";
}
+ return "<bad encoding>"; /* error */
}
inline uint32_t Enc::nCodePoints() const
{
- switch (type_)
- {
+ switch (type_) {
case ASCII:
- case EBCDIC: return 0x100;
- case UCS2: return 0x10000;
+ case EBCDIC: return 0x100;
+ case UCS2: return 0x10000;
case UTF16:
case UTF32:
- case UTF8:
- default: return 0x110000;
+ case UTF8: return 0x110000;
}
+ return 0; /* error */
}
inline uint32_t Enc::nCodeUnits() const
{
- switch (type_)
- {
+ switch (type_) {
case ASCII:
case EBCDIC:
- case UTF8: return 0x100;
+ case UTF8: return 0x100;
case UCS2:
- case UTF16: return 0x10000;
- case UTF32:
- default: return 0x110000;
+ case UTF16: return 0x10000;
+ case UTF32: return 0x110000;
}
+ return 0; /* error */
}
// returns *maximal* code point size for encoding
inline uint32_t Enc::szCodePoint() const
{
- switch (type_)
- {
+ switch (type_) {
case ASCII:
- case EBCDIC: return 1;
- case UCS2: return 2;
+ case EBCDIC: return 1;
+ case UCS2: return 2;
case UTF16:
case UTF32:
- case UTF8:
- default: return 4;
+ case UTF8: return 4;
}
+ return 0; /* error */
}
inline uint32_t Enc::szCodeUnit() const
{
- switch (type_)
- {
+ switch (type_) {
case ASCII:
case EBCDIC:
- case UTF8: return 1;
+ case UTF8: return 1;
case UCS2:
- case UTF16: return 2;
- case UTF32:
- default: return 4;
+ case UTF16: return 2;
+ case UTF32: return 4;
}
+ return 0; /* error */
}
-inline bool Enc::set(type_t t)
+inline void Enc::set(type_t t)
{
- if (type_ == t)
- return true;
- else if (type_ != ASCII)
- return false;
- else
- {
- type_ = t;
- return true;
- }
+ type_ = t;
}
inline void Enc::unset(type_t t)
@@ -194,4 +181,4 @@ inline void Enc::setPolicy(policy_t t)
} // namespace re2c
-#endif // _RE2C_IR_REGEXP_ENCODING_ENC_
+#endif // _RE2C_RE_ENCODING_ENC_
diff --git a/src/re/encoding/range_suffix.cc b/src/re/encoding/range_suffix.cc
new file mode 100644
index 00000000..99826fe1
--- /dev/null
+++ b/src/re/encoding/range_suffix.cc
@@ -0,0 +1,32 @@
+#include "src/re/encoding/range_suffix.h"
+#include "src/util/range.h"
+
+namespace re2c {
+
+static RE *emit(RE::alc_t &alc, RangeSuffix *p, RE *re);
+
+free_list<RangeSuffix *> RangeSuffix::freeList;
+
+RE *to_regexp(RE::alc_t &alc, RangeSuffix *p)
+{
+ return p ? emit(alc, p, NULL) : re_sym(alc, NULL);
+}
+
+/*
+ * Build regexp from suffix tree.
+ */
+RE *emit(RE::alc_t &alc, RangeSuffix *p, RE *re)
+{
+ if (p == NULL) {
+ return re;
+ } else {
+ RE *regexp = NULL;
+ for (; p != NULL; p = p->next) {
+ RE *re1 = re_cat(alc, re_sym(alc, Range::ran(p->l, p->h + 1)), re);
+ regexp = re_alt(alc, regexp, emit(alc, p->child, re1));
+ }
+ return regexp;
+ }
+}
+
+} // namespace re2c
diff --git a/src/ir/regexp/encoding/range_suffix.h b/src/re/encoding/range_suffix.h
index ea46bdd8..ae7a6a59 100644
--- a/src/ir/regexp/encoding/range_suffix.h
+++ b/src/re/encoding/range_suffix.h
@@ -1,16 +1,15 @@
-#ifndef _RE2C_IR_REGEXP_ENCODING_RANGE_SUFFIX_
-#define _RE2C_IR_REGEXP_ENCODING_RANGE_SUFFIX_
+#ifndef _RE2C_RE_ENCODING_RANGE_SUFFIX_
+#define _RE2C_RE_ENCODING_RANGE_SUFFIX_
-#include "src/util/c99_stdint.h"
#include <stddef.h> // NULL
+#include "src/util/c99_stdint.h"
+#include "src/re/re.h"
#include "src/util/forbid_copy.h"
#include "src/util/free_list.h"
namespace re2c {
-class RegExp;
-
struct RangeSuffix
{
static free_list<RangeSuffix *> freeList;
@@ -32,8 +31,8 @@ struct RangeSuffix
FORBID_COPY (RangeSuffix);
};
-RegExp * to_regexp (RangeSuffix * p);
+RE *to_regexp(RE::alc_t &alc, RangeSuffix *p);
} // namespace re2c
-#endif // _RE2C_IR_REGEXP_ENCODING_RANGE_SUFFIX_
+#endif // _RE2C_RE_ENCODING_RANGE_SUFFIX_
diff --git a/src/ir/regexp/encoding/utf16/utf16.cc b/src/re/encoding/utf16/utf16.cc
index 4b0a13bb..7fad3c9c 100644
--- a/src/ir/regexp/encoding/utf16/utf16.cc
+++ b/src/re/encoding/utf16/utf16.cc
@@ -1,4 +1,4 @@
-#include "src/ir/regexp/encoding/utf16/utf16.h"
+#include "src/re/encoding/utf16/utf16.h"
namespace re2c {
diff --git a/src/ir/regexp/encoding/utf16/utf16.h b/src/re/encoding/utf16/utf16.h
index 89cdbdbd..81dc71e0 100644
--- a/src/ir/regexp/encoding/utf16/utf16.h
+++ b/src/re/encoding/utf16/utf16.h
@@ -1,5 +1,5 @@
-#ifndef _RE2C_IR_REGEXP_ENCODING_UTF16_UTF16_
-#define _RE2C_IR_REGEXP_ENCODING_UTF16_UTF16_
+#ifndef _RE2C_RE_ENCODING_UTF16_UTF16_
+#define _RE2C_RE_ENCODING_UTF16_UTF16_
#include "src/util/c99_stdint.h"
@@ -34,4 +34,4 @@ inline uint32_t utf16::trail_surr(rune r)
} // namespace re2c
-#endif // _RE2C_IR_REGEXP_ENCODING_UTF16_UTF16_
+#endif // _RE2C_RE_ENCODING_UTF16_UTF16_
diff --git a/src/ir/regexp/encoding/utf16/utf16_range.cc b/src/re/encoding/utf16/utf16_range.cc
index 51f966ba..f0164d12 100644
--- a/src/ir/regexp/encoding/utf16/utf16_range.cc
+++ b/src/re/encoding/utf16/utf16_range.cc
@@ -1,5 +1,8 @@
-#include "src/ir/regexp/encoding/utf16/utf16_range.h"
-#include "src/ir/regexp/encoding/range_suffix.h"
+#include "src/re/encoding/utf16/utf16_range.h"
+
+#include <stddef.h>
+
+#include "src/re/encoding/range_suffix.h"
namespace re2c {
diff --git a/src/ir/regexp/encoding/utf16/utf16_range.h b/src/re/encoding/utf16/utf16_range.h
index 8a74e8f3..f9fabb2d 100644
--- a/src/ir/regexp/encoding/utf16/utf16_range.h
+++ b/src/re/encoding/utf16/utf16_range.h
@@ -1,9 +1,9 @@
-#ifndef _RE2C_IR_REGEXP_ENCODING_UTF16_RANGE_
-#define _RE2C_IR_REGEXP_ENCODING_UTF16_RANGE_
+#ifndef _RE2C_RE_ENCODING_UTF16_RANGE_
+#define _RE2C_RE_ENCODING_UTF16_RANGE_
#include "src/util/c99_stdint.h"
-#include "src/ir/regexp/encoding/utf16/utf16.h"
+#include "src/re/encoding/utf16/utf16.h"
namespace re2c {
@@ -16,4 +16,4 @@ void UTF16splitByRuneLength(RangeSuffix * & root, utf16::rune l, utf16::rune h);
} // namespace re2c
-#endif // _RE2C_IR_REGEXP_ENCODING_UTF16_RANGE_
+#endif // _RE2C_RE_ENCODING_UTF16_RANGE_
diff --git a/src/ir/regexp/encoding/utf16/utf16_regexp.cc b/src/re/encoding/utf16/utf16_regexp.cc
index 3b244290..43fed267 100644
--- a/src/ir/regexp/encoding/utf16/utf16_regexp.cc
+++ b/src/re/encoding/utf16/utf16_regexp.cc
@@ -1,23 +1,23 @@
+#include <stddef.h>
#include "src/util/c99_stdint.h"
-#include "src/ir/regexp/encoding/utf16/utf16_regexp.h"
-#include "src/ir/regexp/encoding/range_suffix.h"
-#include "src/ir/regexp/encoding/utf16/utf16_range.h"
-#include "src/ir/regexp/regexp_cat.h"
-#include "src/ir/regexp/regexp_match.h"
+#include "src/re/encoding/range_suffix.h"
+#include "src/re/encoding/utf16/utf16_range.h"
+#include "src/re/encoding/utf16/utf16_regexp.h"
#include "src/util/range.h"
namespace re2c {
-RegExp * UTF16Symbol(utf16::rune r)
+RE *UTF16Symbol(RE::alc_t &alc, utf16::rune r)
{
- if (r <= utf16::MAX_1WORD_RUNE)
- return new MatchOp(Range::sym (r));
- else
- {
+ if (r <= utf16::MAX_1WORD_RUNE) {
+ return re_sym(alc, Range::sym(r));
+ } else {
const uint32_t ld = utf16::lead_surr(r);
const uint32_t tr = utf16::trail_surr(r);
- return new CatOp(new MatchOp(Range::sym (ld)), new MatchOp(Range::sym (tr)));
+ return re_cat(alc,
+ re_sym(alc, Range::sym(ld)),
+ re_sym(alc, Range::sym(tr)));
}
}
@@ -27,12 +27,12 @@ RegExp * UTF16Symbol(utf16::rune r)
* them. We store partially built range in suffix tree, which
* allows to eliminate common suffixes while building.
*/
-RegExp * UTF16Range(const Range * r)
+RE *UTF16Range(RE::alc_t &alc, const Range *r)
{
RangeSuffix * root = NULL;
for (; r != NULL; r = r->next ())
UTF16splitByRuneLength(root, r->lower (), r->upper () - 1);
- return to_regexp (root);
+ return to_regexp(alc, root);
}
} // namespace re2c
diff --git a/src/re/encoding/utf16/utf16_regexp.h b/src/re/encoding/utf16/utf16_regexp.h
new file mode 100644
index 00000000..954ea527
--- /dev/null
+++ b/src/re/encoding/utf16/utf16_regexp.h
@@ -0,0 +1,16 @@
+#ifndef _RE2C_RE_ENCODING_UTF16_REGEXP_
+#define _RE2C_RE_ENCODING_UTF16_REGEXP_
+
+#include "src/re/re.h"
+#include "src/re/encoding/utf16/utf16.h"
+
+namespace re2c {
+
+class Range;
+
+RE *UTF16Symbol(RE::alc_t &alc, utf16::rune r);
+RE *UTF16Range(RE::alc_t &alc, const Range *r);
+
+} // namespace re2c
+
+#endif // _RE2C_RE_ENCODING_UTF16_REGEXP_
diff --git a/src/ir/regexp/encoding/utf8/utf8.cc b/src/re/encoding/utf8/utf8.cc
index dd4b59ef..9255565c 100644
--- a/src/ir/regexp/encoding/utf8/utf8.cc
+++ b/src/re/encoding/utf8/utf8.cc
@@ -1,4 +1,4 @@
-#include "src/ir/regexp/encoding/utf8/utf8.h"
+#include "src/re/encoding/utf8/utf8.h"
namespace re2c {
diff --git a/src/ir/regexp/encoding/utf8/utf8.h b/src/re/encoding/utf8/utf8.h
index 0ca31422..50327766 100644
--- a/src/ir/regexp/encoding/utf8/utf8.h
+++ b/src/re/encoding/utf8/utf8.h
@@ -1,5 +1,5 @@
-#ifndef _RE2C_IR_REGEXP_ENCODING_UTF8_UTF8_
-#define _RE2C_IR_REGEXP_ENCODING_UTF8_UTF8_
+#ifndef _RE2C_RE_ENCODING_UTF8_UTF8_
+#define _RE2C_RE_ENCODING_UTF8_UTF8_
#include "src/util/c99_stdint.h"
@@ -45,4 +45,4 @@ public:
} // namespace re2c
-#endif // _RE2C_IR_REGEXP_ENCODING_UTF8_UTF8_
+#endif // _RE2C_RE_ENCODING_UTF8_UTF8_
diff --git a/src/ir/regexp/encoding/utf8/utf8_range.cc b/src/re/encoding/utf8/utf8_range.cc
index d3d256cf..18ef7565 100644
--- a/src/ir/regexp/encoding/utf8/utf8_range.cc
+++ b/src/re/encoding/utf8/utf8_range.cc
@@ -1,5 +1,8 @@
-#include "src/ir/regexp/encoding/utf8/utf8_range.h"
-#include "src/ir/regexp/encoding/range_suffix.h"
+#include "src/re/encoding/utf8/utf8_range.h"
+
+#include <stddef.h>
+
+#include "src/re/encoding/range_suffix.h"
namespace re2c {
diff --git a/src/re/encoding/utf8/utf8_range.h b/src/re/encoding/utf8/utf8_range.h
new file mode 100644
index 00000000..8231ad19
--- /dev/null
+++ b/src/re/encoding/utf8/utf8_range.h
@@ -0,0 +1,18 @@
+#ifndef _RE2C_RE_ENCODING_UTF8_RANGE_
+#define _RE2C_RE_ENCODING_UTF8_RANGE_
+
+#include "src/util/c99_stdint.h"
+
+#include "src/re/encoding/utf8/utf8.h"
+
+namespace re2c {
+
+struct RangeSuffix;
+
+void UTF8addContinuous(RangeSuffix * & root, utf8::rune l, utf8::rune h, uint32_t n);
+void UTF8splitByContinuity(RangeSuffix * & root, utf8::rune l, utf8::rune h, uint32_t n);
+void UTF8splitByRuneLength(RangeSuffix * & root, utf8::rune l, utf8::rune h);
+
+} // namespace re2c
+
+#endif // _RE2C_RE_ENCODING_UTF8_RANGE_
diff --git a/src/ir/regexp/encoding/utf8/utf8_regexp.cc b/src/re/encoding/utf8/utf8_regexp.cc
index 54ef6f0e..370663dd 100644
--- a/src/ir/regexp/encoding/utf8/utf8_regexp.cc
+++ b/src/re/encoding/utf8/utf8_regexp.cc
@@ -1,21 +1,21 @@
+#include <stddef.h>
#include "src/util/c99_stdint.h"
-#include "src/ir/regexp/encoding/utf8/utf8_regexp.h"
-#include "src/ir/regexp/encoding/range_suffix.h"
-#include "src/ir/regexp/encoding/utf8/utf8_range.h"
-#include "src/ir/regexp/regexp_cat.h"
-#include "src/ir/regexp/regexp_match.h"
+#include "src/re/encoding/range_suffix.h"
+#include "src/re/encoding/utf8/utf8_range.h"
+#include "src/re/encoding/utf8/utf8_regexp.h"
#include "src/util/range.h"
namespace re2c {
-RegExp * UTF8Symbol(utf8::rune r)
+RE *UTF8Symbol(RE::alc_t &alc, utf8::rune r)
{
uint32_t chars[utf8::MAX_RUNE_LENGTH];
const uint32_t chars_count = utf8::rune_to_bytes(chars, r);
- RegExp * re = new MatchOp(Range::sym (chars[0]));
- for (uint32_t i = 1; i < chars_count; ++i)
- re = new CatOp(re, new MatchOp(Range::sym (chars[i])));
+ RE *re = re_sym(alc, Range::sym(chars[0]));
+ for (uint32_t i = 1; i < chars_count; ++i) {
+ re = re_cat(alc, re, re_sym(alc, Range::sym(chars[i])));
+ }
return re;
}
@@ -25,12 +25,12 @@ RegExp * UTF8Symbol(utf8::rune r)
* them. We store partially built range in suffix tree, which
* allows to eliminate common suffixes while building.
*/
-RegExp * UTF8Range(const Range * r)
+RE *UTF8Range(RE::alc_t &alc, const Range *r)
{
RangeSuffix * root = NULL;
for (; r != NULL; r = r->next ())
UTF8splitByRuneLength(root, r->lower (), r->upper () - 1);
- return to_regexp (root);
+ return to_regexp(alc, root);
}
} // namespace re2c
diff --git a/src/re/encoding/utf8/utf8_regexp.h b/src/re/encoding/utf8/utf8_regexp.h
new file mode 100644
index 00000000..75a09f67
--- /dev/null
+++ b/src/re/encoding/utf8/utf8_regexp.h
@@ -0,0 +1,16 @@
+#ifndef _RE2C_RE_ENCODING_UTF8_REGEXP_
+#define _RE2C_RE_ENCODING_UTF8_REGEXP_
+
+#include "src/re/re.h"
+#include "src/re/encoding/utf8/utf8.h"
+
+namespace re2c {
+
+class Range;
+
+RE *UTF8Symbol(RE::alc_t &alc, utf8::rune r);
+RE *UTF8Range(RE::alc_t &alc, const Range *r);
+
+} // namespace re2c
+
+#endif // _RE2C_RE_ENCODING_UTF8_REGEXP_
diff --git a/src/re/fixed_tags.cc b/src/re/fixed_tags.cc
new file mode 100644
index 00000000..03d5f495
--- /dev/null
+++ b/src/re/fixed_tags.cc
@@ -0,0 +1,84 @@
+#include <stddef.h>
+#include <vector>
+
+#include "src/code/input_api.h"
+#include "src/conf/opt.h"
+#include "src/re/re.h"
+#include "src/re/tag.h"
+
+namespace re2c {
+
+/* note [fixed and variable tags]
+ *
+ * If distance between two tags is constant (equal for all strings that
+ * match the given regexp), then lexer only needs to track one of them:
+ * the second tag equals the first tag plus static offset.
+ *
+ * However, this optimization is applied only to tags in top-level
+ * concatenation, because other tags may be uninitialized and we don't
+ * want to mess with conditional calculation of fixed tags.
+ *
+ * Furthermore, fixed tags are fobidden with generic API because it cannot
+ * express fixed offsets.
+ *
+ * Tags with history also cannot be fixed.
+ *
+ * Another special case is fictive tags (those that exist only to impose
+ * hierarchical laws of POSIX disambiguation). We treat them as fixed
+ * in order to suppress code generation.
+ */
+
+static void find_fixed_tags(RE *re, std::vector<Tag> &tags,
+ size_t &dist, size_t &base, bool toplevel)
+{
+ switch (re->type) {
+ case RE::NIL: break;
+ case RE::SYM:
+ if (dist != Tag::VARDIST) ++dist;
+ break;
+ case RE::ALT: {
+ size_t d1 = dist, d2 = dist;
+ find_fixed_tags(re->alt.re1, tags, d1, base, false);
+ find_fixed_tags(re->alt.re2, tags, d2, base, false);
+ dist = (d1 == d2) ? d1 : Tag::VARDIST;
+ break;
+ }
+ case RE::CAT:
+ find_fixed_tags(re->cat.re2, tags, dist, base, toplevel);
+ find_fixed_tags(re->cat.re1, tags, dist, base, toplevel);
+ break;
+ case RE::ITER:
+ find_fixed_tags(re->iter.re, tags, dist, base, false);
+ dist = Tag::VARDIST;
+ break;
+ case RE::TAG: {
+ // see note [fixed and variable tags]
+ Tag &tag = tags[re->tag.idx];
+ if (fictive(tag)) {
+ tag.base = tag.dist = 0;
+ } else if (toplevel && dist != Tag::VARDIST && !history(tag)) {
+ tag.base = base;
+ tag.dist = dist;
+ } else if (toplevel) {
+ base = re->tag.idx;
+ dist = 0;
+ }
+ if (trailing(tag)) dist = 0;
+ break;
+ }
+ }
+}
+
+void find_fixed_tags(RESpec &spec)
+{
+ const bool generic = spec.opts->input_api == INPUT_CUSTOM;
+ std::vector<RE*>::iterator
+ i = spec.res.begin(),
+ e = spec.res.end();
+ for (; i != e; ++i) {
+ size_t base = Tag::RIGHTMOST, dist = 0;
+ find_fixed_tags(*i, spec.tags, dist, base, !generic);
+ }
+}
+
+} // namespace re2c
diff --git a/src/re/nullable.cc b/src/re/nullable.cc
new file mode 100644
index 00000000..40cb7921
--- /dev/null
+++ b/src/re/nullable.cc
@@ -0,0 +1,51 @@
+#include <stddef.h>
+#include <string>
+#include <valarray>
+#include <vector>
+
+#include "src/conf/warn.h"
+#include "src/re/re.h"
+#include "src/re/rule.h"
+#include "src/re/tag.h"
+
+namespace re2c {
+
+static bool nullable(const RESpec &spec, const RE *re, bool &trail)
+{
+ if (trail) return true;
+
+ switch (re->type) {
+ case RE::NIL: return true;
+ case RE::SYM: return false;
+ case RE::ITER:
+ return nullable(spec, re->iter.re, trail);
+ case RE::TAG:
+ trail |= trailing(spec.tags[re->tag.idx]);
+ return true;
+ case RE::ALT:
+ return nullable(spec, re->alt.re1, trail)
+ || nullable(spec, re->alt.re2, trail);
+ case RE::CAT:
+ return nullable(spec, re->cat.re1, trail)
+ && nullable(spec, re->cat.re2, trail);
+ }
+ return false; /* unreachable */
+}
+
+/*
+ * warn about rules that match empty string
+ * (including rules with nonempty trailing context)
+ * false positives on partially self-shadowed rules like [^]?
+ */
+void warn_nullable(const RESpec &spec, const std::string &cond)
+{
+ const size_t nre = spec.res.size();
+ for (size_t i = 0; i < nre; ++i) {
+ bool trail = false;
+ if (nullable(spec, spec.res[i], trail)) {
+ spec.warn.match_empty_string(spec.rules[i].code->fline, cond);
+ }
+ }
+}
+
+} // namespace re2c
diff --git a/src/re/re.h b/src/re/re.h
new file mode 100644
index 00000000..305c28b4
--- /dev/null
+++ b/src/re/re.h
@@ -0,0 +1,128 @@
+#ifndef _RE2C_RE_RE_
+#define _RE2C_RE_RE_
+
+#include "src/util/c99_stdint.h"
+
+#include "src/conf/opt.h"
+#include "src/ast/ast.h"
+#include "src/re/rule.h"
+#include "src/util/forbid_copy.h"
+#include "src/util/range.h"
+#include "src/util/slab_allocator.h"
+
+namespace re2c
+{
+
+struct RE
+{
+ typedef slab_allocator_t<~0u, 4096, sizeof(void*)> alc_t;
+ enum type_t {NIL, SYM, ALT, CAT, ITER, TAG} type;
+ union {
+ const Range *sym;
+ struct {
+ RE *re1;
+ RE *re2;
+ } alt;
+ struct {
+ RE *re1;
+ RE *re2;
+ } cat;
+ struct {
+ RE *re;
+ uint32_t min;
+ uint32_t max;
+ } iter;
+ struct {
+ size_t idx;
+ bool bottom;
+ } tag;
+ };
+};
+
+struct RESpec
+{
+ RE::alc_t alc;
+ std::vector<RE*> res;
+ std::vector<uint32_t> &charset;
+ std::vector<Tag> &tags;
+ std::valarray<Rule> &rules;
+ const opt_t *opts;
+ Warn &warn;
+
+ explicit RESpec(const std::vector<ASTRule> &ast, const opt_t *o, Warn &w);
+ FORBID_COPY(RESpec);
+};
+
+void split_charset(RESpec &spec);
+void find_fixed_tags(RESpec &spec);
+void insert_default_tags(RESpec &spec);
+void warn_nullable(const RESpec &spec, const std::string &cond);
+
+inline RE *re_nil(RE::alc_t &alc)
+{
+ RE *x = alc.alloct<RE>(1);
+ x->type = RE::NIL;
+ return x;
+}
+
+inline RE *re_sym(RE::alc_t &alc, const Range *r)
+{
+ RE *x = alc.alloct<RE>(1);
+ x->type = RE::SYM;
+ x->sym = r;
+ return x;
+}
+
+inline RE *re_alt(RE::alc_t &alc, RE *x, RE *y)
+{
+ if (!x) return y;
+ if (!y) return x;
+ if (x->type == RE::SYM && y->type == RE::SYM) {
+ return re_sym(alc, Range::add(x->sym, y->sym));
+ }
+
+ RE *z = alc.alloct<RE>(1);
+ z->type = RE::ALT;
+ z->alt.re1 = x;
+ z->alt.re2 = y;
+ return z;
+}
+
+inline RE *re_cat(RE::alc_t &alc, RE *x, RE *y)
+{
+ if (!x) return y;
+ if (!y) return x;
+
+ RE *z = alc.alloct<RE>(1);
+ z->type = RE::CAT;
+ z->cat.re1 = x;
+ z->cat.re2 = y;
+ return z;
+}
+
+inline RE *re_iter(RE::alc_t &alc, RE *x, uint32_t n, uint32_t m)
+{
+ RE *y = alc.alloct<RE>(1);
+ y->type = RE::ITER;
+ y->iter.re = x;
+ y->iter.min = n;
+ y->iter.max = m;
+ return y;
+}
+
+inline RE *re_tag(RE::alc_t &alc, size_t i, bool b)
+{
+ RE *x = alc.alloct<RE>(1);
+ x->type = RE::TAG;
+ x->tag.idx = i;
+ x->tag.bottom = b;
+ return x;
+}
+
+RE *re_schar(RE::alc_t &alc, uint32_t line, uint32_t column, uint32_t c, const opt_t *opts);
+RE *re_ichar(RE::alc_t &alc, uint32_t line, uint32_t column, uint32_t c, const opt_t *opts);
+RE *re_class(RE::alc_t &alc, uint32_t line, uint32_t column, const Range *r, const opt_t *opts, Warn &warn);
+
+} // namespace re2c
+
+#endif // _RE2C_RE_RE_
diff --git a/src/re/rule.cc b/src/re/rule.cc
new file mode 100644
index 00000000..14991690
--- /dev/null
+++ b/src/re/rule.cc
@@ -0,0 +1,12 @@
+#include <limits>
+
+#include "src/re/rule.h"
+
+namespace re2c
+{
+
+free_list<Code*> Code::flist;
+
+const size_t Rule::NONE = std::numeric_limits<size_t>::max();
+
+} // namespace re2c
diff --git a/src/re/rule.h b/src/re/rule.h
new file mode 100644
index 00000000..803281cc
--- /dev/null
+++ b/src/re/rule.h
@@ -0,0 +1,89 @@
+#ifndef _RE2C_RE_RULE_
+#define _RE2C_RE_RULE_
+
+#include <stddef.h>
+#include "src/util/c99_stdint.h"
+#include <set>
+#include <string>
+
+#include "src/re/tag.h"
+#include "src/util/free_list.h"
+
+namespace re2c
+{
+
+struct Code
+{
+ static free_list<Code*> flist;
+
+ std::string fname;
+ uint32_t fline;
+ bool autogen;
+ const std::string text;
+ std::string cond;
+
+ Code(const std::string &file, uint32_t line)
+ : fname(file)
+ , fline(line)
+ , autogen(true)
+ , text("")
+ , cond("")
+ {
+ flist.insert(this);
+ }
+ Code(const std::string &file, uint32_t line, const char *s, size_t slen)
+ : fname(file)
+ , fline(line)
+ , autogen(false)
+ , text(s, slen)
+ , cond("")
+ {
+ flist.insert(this);
+ }
+ ~Code()
+ {
+ flist.erase(this);
+ }
+};
+
+struct Rule
+{
+ static const size_t NONE;
+
+ const Code *code;
+ std::set<uint32_t> shadow;
+
+ // tags
+ size_t ltag; // first
+ size_t htag; // next to last
+ size_t ttag; // trailing context
+
+ size_t ncap; // number of POSIX captures
+
+ Rule(): code(NULL), shadow(),
+ ltag(0), htag(0), ttag(0), ncap(0) {}
+
+ // copy ctor and assignment are required for containers on macOS
+ Rule(const Rule &r)
+ : code(r.code)
+ , shadow(r.shadow)
+ , ltag(r.ltag)
+ , htag(r.htag)
+ , ttag(r.ttag)
+ , ncap(r.ncap)
+ {}
+ Rule& operator= (const Rule &r)
+ {
+ code = r.code;
+ shadow = r.shadow;
+ ltag = r.ltag;
+ htag = r.htag;
+ ttag = r.ttag;
+ ncap = r.ncap;
+ return *this;
+ }
+};
+
+} // namespace re2c
+
+#endif // _RE2C_RE_RULE_
diff --git a/src/re/split_charset.cc b/src/re/split_charset.cc
new file mode 100644
index 00000000..d2bef13a
--- /dev/null
+++ b/src/re/split_charset.cc
@@ -0,0 +1,60 @@
+#include "src/util/c99_stdint.h"
+#include <set>
+#include <stack>
+#include <vector>
+
+#include "src/conf/opt.h"
+#include "src/re/encoding/enc.h"
+#include "src/re/re.h"
+#include "src/util/range.h"
+
+namespace re2c {
+
+/* The original set of code units (charset) might be very large.
+ * A common trick it is to split charset into disjoint character ranges
+ * and choose a representative of each range (we choose lower bound).
+ * The set of all representatives is the new (compacted) charset.
+ * Don't forget to include zero and upper bound, even if they
+ * do not explicitely apper in ranges.
+ */
+void split_charset(RESpec &spec)
+{
+ std::set<uint32_t> cs;
+ std::stack<const RE*> todo;
+
+ std::vector<RE*>::const_iterator
+ i = spec.res.begin(),
+ e = spec.res.end();
+ for (; i != e; ++i) todo.push(*i);
+ while (!todo.empty()) {
+ const RE *re = todo.top();
+ todo.pop();
+ switch (re->type) {
+ case RE::NIL: break;
+ case RE::TAG: break;
+ case RE::SYM:
+ for (const Range *r = re->sym; r; r = r->next()) {
+ cs.insert(r->lower());
+ cs.insert(r->upper());
+ }
+ break;
+ case RE::ALT:
+ todo.push(re->alt.re2);
+ todo.push(re->alt.re1);
+ break;
+ case RE::CAT:
+ todo.push(re->cat.re2);
+ todo.push(re->cat.re1);
+ break;
+ case RE::ITER:
+ todo.push(re->iter.re);
+ break;
+ }
+ }
+ cs.insert(0);
+ cs.insert(spec.opts->encoding.nCodeUnits());
+
+ spec.charset.insert(spec.charset.end(), cs.begin(), cs.end());
+}
+
+} // namespace re2c
diff --git a/src/re/tag.cc b/src/re/tag.cc
new file mode 100644
index 00000000..9e6800e9
--- /dev/null
+++ b/src/re/tag.cc
@@ -0,0 +1,12 @@
+#include <limits>
+
+#include "src/re/tag.h"
+
+namespace re2c
+{
+
+const size_t Tag::RIGHTMOST = std::numeric_limits<size_t>::max();
+const size_t Tag::VARDIST = std::numeric_limits<size_t>::max();
+const size_t Tag::FICTIVE = Tag::RIGHTMOST - 1;
+
+} // namespace re2c
diff --git a/src/re/tag.h b/src/re/tag.h
new file mode 100644
index 00000000..9a9a05e4
--- /dev/null
+++ b/src/re/tag.h
@@ -0,0 +1,82 @@
+#ifndef _RE2C_RE_TAG_
+#define _RE2C_RE_TAG_
+
+#include <stddef.h>
+#include "src/util/c99_stdint.h"
+#include <limits>
+#include <string>
+#include <vector>
+
+namespace re2c
+{
+
+typedef int32_t tagver_t;
+
+static const tagver_t TAGVER_BOTTOM = std::numeric_limits<tagver_t>::min(); // default value, lowest priority
+static const tagver_t TAGVER_ZERO = 0; // absense of tag
+static const tagver_t TAGVER_CURSOR = std::numeric_limits<tagver_t>::max(); // current position, highest priority
+
+struct Tag
+{
+ static const size_t RIGHTMOST;
+ static const size_t VARDIST;
+ static const size_t FICTIVE;
+
+ const std::string *name;
+ size_t ncap;
+ size_t base;
+ size_t dist;
+ bool history;
+ bool orbit;
+
+ Tag(const std::string *n, bool h)
+ : name(n)
+ , ncap(Tag::RIGHTMOST)
+ , base(Tag::RIGHTMOST)
+ , dist(Tag::VARDIST)
+ , history(h)
+ , orbit(false)
+ {}
+ Tag(size_t c, bool o)
+ : name(NULL)
+ , ncap(c)
+ , base(Tag::RIGHTMOST)
+ , dist(Tag::VARDIST)
+ , history(false)
+ , orbit(o)
+ {}
+};
+
+inline bool fixed(const Tag &tag)
+{
+ return tag.dist != Tag::VARDIST;
+}
+
+inline bool fictive(const Tag &tag)
+{
+ return tag.ncap == Tag::FICTIVE;
+}
+
+inline bool capture(const Tag &tag)
+{
+ return tag.ncap != Tag::RIGHTMOST;
+}
+
+inline bool orbit(const Tag &tag)
+{
+ return tag.orbit;
+}
+
+inline bool trailing(const Tag &tag)
+{
+ return !capture(tag) && tag.name == NULL;
+}
+
+inline bool history(const Tag &tag)
+{
+ return tag.history;
+}
+
+} // namespace re2c
+
+#endif // _RE2C_RE_TAG_
diff --git a/src/skeleton/control_flow.cc b/src/skeleton/control_flow.cc
new file mode 100644
index 00000000..138def51
--- /dev/null
+++ b/src/skeleton/control_flow.cc
@@ -0,0 +1,116 @@
+#include "src/util/c99_stdint.h"
+#include <stdio.h>
+#include <map>
+#include <utility>
+#include <valarray>
+#include <vector>
+
+#include "src/conf/warn.h"
+#include "src/re/rule.h"
+#include "src/skeleton/path.h"
+#include "src/skeleton/skeleton.h"
+#include "src/util/u32lim.h"
+
+namespace re2c
+{
+
+// See note [counting skeleton edges].
+// Type for counting arcs in paths that cause undefined behaviour.
+// These paths are stored on heap, so the limit should be low.
+// Most real-world cases have only a few short paths.
+// We don't need all paths anyway, just some examples.
+typedef u32lim_t<1024> ucf_size_t; // ~1Kb
+
+// UCF stands for 'undefined control flow'
+struct ucf_t
+{
+ std::valarray<bool> loops;
+ std::vector<path_t> paths;
+ path_t prefix;
+ ucf_size_t size;
+
+ explicit ucf_t(size_t nnodes): loops(nnodes), paths(),
+ prefix(0), size(ucf_size_t::from32(0u)) {}
+};
+
+// We don't need all patterns that cause undefined behaviour.
+// We only need some examples, the shorter the better.
+static void naked_paths(
+ const Skeleton &skel,
+ ucf_t &ucf,
+ size_t i)
+{
+ const Node &node = skel.nodes[i];
+ bool &loop = ucf.loops[i];
+ path_t &prefix = ucf.prefix;
+ ucf_size_t &size = ucf.size;
+
+ if (node.rule != Rule::NONE) {
+ return;
+ } else if (node.end()) {
+ ucf.paths.push_back(prefix);
+ size = size + ucf_size_t::from64(prefix.len());
+ } else if (!loop) {
+ loop = true;
+ Node::arcs_t::const_iterator
+ arc = node.arcs.begin(),
+ end = node.arcs.end();
+ for (; arc != end && !size.overflow(); ++arc) {
+ const size_t j = arc->first;
+ prefix.push(j);
+ naked_paths(skel, ucf, j);
+ prefix.pop();
+ }
+ }
+}
+
+void warn_undefined_control_flow(const Skeleton &skel, Warn &warn)
+{
+ ucf_t ucf(skel.nodes_count);
+ naked_paths(skel, ucf, 0);
+ if (!ucf.paths.empty()) {
+ warn.undefined_control_flow(skel, ucf.paths, ucf.size.overflow());
+ } else if (ucf.size.overflow()) {
+ warn.fail(Warn::UNDEFINED_CONTROL_FLOW, skel.line,
+ "DFA is too large to check undefined control flow");
+ }
+}
+
+static void fprint_default_arc(FILE *f, const Node::arc_t &arc)
+{
+ const size_t ranges = arc.size();
+ if (ranges == 1 && arc[0].lower == arc[0].upper) {
+ fprintf(f, "\\x%X", arc[0].lower);
+ } else {
+ fprintf(f, "[");
+ for (size_t i = 0; i < ranges; ++i) {
+ const uint32_t
+ l = arc[i].lower,
+ u = arc[i].upper;
+ fprintf(f, "\\x%X", l);
+ if (l != u) {
+ fprintf(f, "-\\x%X", u);
+ }
+ }
+ fprintf(f, "]");
+ }
+}
+
+void fprint_default_path(
+ FILE *f,
+ const Skeleton &skel,
+ const path_t &p)
+{
+ fprintf(f, "'");
+ const size_t len = p.len();
+ for (size_t i = 0; i < len; ++i) {
+ if (i > 0) {
+ fprintf(f, " ");
+ }
+ const Node::arc_t &arc = p.arc(skel, i);
+ fprint_default_arc(stderr, arc);
+ }
+ fprintf(f, "'");
+}
+
+} // namespace re2c
diff --git a/src/skeleton/generate_code.cc b/src/skeleton/generate_code.cc
new file mode 100644
index 00000000..ca85d585
--- /dev/null
+++ b/src/skeleton/generate_code.cc
@@ -0,0 +1,521 @@
+#include <stddef.h>
+#include "src/util/c99_stdint.h"
+#include <set>
+#include <string>
+#include <valarray>
+#include <vector>
+
+#include "src/adfa/adfa.h"
+#include "src/code/bitmap.h"
+#include "src/code/emit.h"
+#include "src/code/output.h"
+#include "src/conf/opt.h"
+#include "src/re/encoding/enc.h"
+#include "src/re/rule.h"
+#include "src/re/tag.h"
+#include "src/skeleton/skeleton.h"
+
+namespace re2c
+{
+
+static void exact_uint(OutputFile &o, size_t width)
+{
+ if (width == sizeof(char)) {
+ o.ws("unsigned char");
+ } else if (width == sizeof(short)) {
+ o.ws("unsigned short");
+ } else if (width == sizeof(int)) {
+ o.ws("unsigned int");
+ } else if (width == sizeof(long)) {
+ o.ws("unsigned long");
+ } else {
+ o.ws("uint").wu64(width * 8).ws("_t");
+ }
+}
+
+static void from_le(OutputFile &o, uint32_t ind, size_t size, const char *expr)
+{
+ o.ws("\n").wind(ind).ws("/* from little-endian to host-endian */");
+ o.ws("\n").wind(ind).ws("unsigned char *p = (unsigned char*)&").ws(expr).ws(";");
+ o.ws("\n").wind(ind).ws(expr).ws(" = p[0]");
+ for (uint32_t i = 1; i < size; ++i) {
+ o.ws(" + (p[").wu32(i).ws("] << ").wu32(i * 8).ws("u)");
+ }
+ o.ws(";");
+}
+
+void emit_prolog(OutputFile &o)
+{
+ o.ws("\n#include <stddef.h> /* size_t */");
+ o.ws("\n#include <stdio.h>");
+ o.ws("\n#include <stdlib.h> /* malloc, free */");
+ o.ws("\n#include <string.h> /* memcpy */");
+ o.ws("\n");
+ o.ws("\nstatic void *read_file");
+ o.ws("\n").wind(1).ws("( const char *fname");
+ o.ws("\n").wind(1).ws(", size_t unit");
+ o.ws("\n").wind(1).ws(", size_t padding");
+ o.ws("\n").wind(1).ws(", size_t *pfsize");
+ o.ws("\n").wind(1).ws(")");
+ o.ws("\n{");
+ o.ws("\n").wind(1).ws("void *buffer = NULL;");
+ o.ws("\n").wind(1).ws("size_t fsize = 0;");
+ o.ws("\n");
+ o.ws("\n").wind(1).ws("/* open file */");
+ o.ws("\n").wind(1).ws("FILE *f = fopen(fname, \"rb\");");
+ o.ws("\n").wind(1).ws("if(f == NULL) {");
+ o.ws("\n").wind(2).ws("goto error;");
+ o.ws("\n").wind(1).ws("}");
+ o.ws("\n");
+ o.ws("\n").wind(1).ws("/* get file size */");
+ o.ws("\n").wind(1).ws("fseek(f, 0, SEEK_END);");
+ o.ws("\n").wind(1).ws("fsize = (size_t) ftell(f) / unit;");
+ o.ws("\n").wind(1).ws("fseek(f, 0, SEEK_SET);");
+ o.ws("\n");
+ o.ws("\n").wind(1).ws("/* allocate memory for file and padding */");
+ o.ws("\n").wind(1).ws("buffer = malloc(unit * (fsize + padding));");
+ o.ws("\n").wind(1).ws("if (buffer == NULL) {");
+ o.ws("\n").wind(2).ws("goto error;");
+ o.ws("\n").wind(1).ws("}");
+ o.ws("\n");
+ o.ws("\n").wind(1).ws("/* read the whole file in memory */");
+ o.ws("\n").wind(1).ws("if (fread(buffer, unit, fsize, f) != fsize) {");
+ o.ws("\n").wind(2).ws("goto error;");
+ o.ws("\n").wind(1).ws("}");
+ o.ws("\n");
+ o.ws("\n").wind(1).ws("fclose(f);");
+ o.ws("\n").wind(1).ws("*pfsize = fsize;");
+ o.ws("\n").wind(1).ws("return buffer;");
+ o.ws("\n");
+ o.ws("\nerror:");
+ o.ws("\n").wind(1).ws("fprintf(stderr, \"error: cannot read file '%s'\\n\", fname);");
+ o.ws("\n").wind(1).ws("free(buffer);");
+ o.ws("\n").wind(1).ws("if (f != NULL) {");
+ o.ws("\n").wind(2).ws("fclose(f);");
+ o.ws("\n").wind(1).ws("}");
+ o.ws("\n").wind(1).ws("return NULL;");
+ o.ws("\n}");
+ o.ws("\n");
+}
+
+void emit_start(OutputFile &o, size_t maxfill, size_t maxnmatch, const std::string &name,
+ size_t sizeof_key, size_t def, bool backup, bool accept, bool oldstyle_ctxmarker,
+ const std::set<std::string> &stagnames, const std::set<std::string> &stagvars,
+ const std::set<std::string> &mtagnames, const std::set<std::string> &mtagvars,
+ bitmaps_t &bitmaps)
+{
+ const opt_t *opts = o.block().opts;
+ const size_t sizeof_cunit = opts->encoding.szCodeUnit();
+ const uint64_t norule = rule2key(Rule::NONE, sizeof_key, def);
+ std::string filename = opts->output_file;
+ if (filename.empty()) {
+ filename = "<stdout>";
+ }
+
+ o.ws("\n#define YYCTYPE ");
+ exact_uint (o, sizeof_cunit);
+ o.ws("\n#define YYKEYTYPE ");
+ exact_uint (o, sizeof_key);
+ o.ws("\n#define YYPEEK() *cursor");
+ o.ws("\n#define YYSKIP() ++cursor");
+ if (backup) {
+ o.ws("\n#define YYBACKUP() marker = cursor");
+ o.ws("\n#define YYRESTORE() cursor = marker");
+ }
+ if (oldstyle_ctxmarker) {
+ o.ws("\n#define YYBACKUPCTX() ctxmarker = cursor");
+ o.ws("\n#define YYRESTORECTX() cursor = ctxmarker");
+ }
+ if (opts->tags) {
+ o.ws("\n#define YYSTAGP(t) t = cursor");
+ o.ws("\n#define YYSTAGN(t) t = NULL");
+ o.ws("\n#define YYMTAGP(t) yymtag(&t, cursor, &yytp)");
+ o.ws("\n#define YYMTAGN(t) yymtag(&t, NULL, &yytp)");
+ o.ws("\n#define YYRESTORETAG(t) cursor = t");
+ }
+ o.ws("\n#define YYLESSTHAN(n) (limit - cursor) < n");
+ o.ws("\n#define YYFILL(n) { break; }");
+ o.ws("\n");
+
+ o.ws("\nstatic int action_").wstring(name);
+ o.ws("\n").wind(1).ws("( unsigned *pkix");
+ o.ws("\n").wind(1).ws(", const YYKEYTYPE *keys");
+ o.ws("\n").wind(1).ws(", const YYCTYPE *start");
+ o.ws("\n").wind(1).ws(", const YYCTYPE *token");
+ o.ws("\n").wind(1).ws(", const YYCTYPE **cursor");
+ o.ws("\n").wind(1).ws(", YYKEYTYPE rule_act");
+ o.ws("\n").wind(1).ws(")");
+ o.ws("\n{");
+ o.ws("\n").wind(1).ws("const unsigned kix = *pkix;");
+ o.ws("\n").wind(1).ws("const long pos = token - start;");
+ o.ws("\n").wind(1).ws("const long len_act = *cursor - token;");
+ o.ws("\n").wind(1).ws("const long len_exp = (long) keys[kix + 1];");
+ o.ws("\n").wind(1).ws("const YYKEYTYPE rule_exp = keys[kix + 2];");
+ o.ws("\n").wind(1).ws("*pkix = kix + 3;");
+ o.ws("\n").wind(1).ws("if (rule_exp == ").wu64(norule).ws(") {");
+ o.ws("\n").wind(2).ws("fprintf");
+ o.ws("\n").wind(3).ws("( stderr");
+ o.ws("\n").wind(3).ws(", \"warning: lex_").wstring(name).ws(": control flow is undefined for input\"");
+ o.ws("\n").wind(4).ws("\" at position %ld, rerun re2c with '-W'\\n\"");
+ o.ws("\n").wind(3).ws(", pos");
+ o.ws("\n").wind(3).ws(");");
+ o.ws("\n").wind(1).ws("}");
+ o.ws("\n").wind(1).ws("if (len_act == len_exp && rule_act == rule_exp) {");
+ o.ws("\n").wind(2).ws("const YYKEYTYPE offset = keys[kix];");
+ o.ws("\n").wind(2).ws("*cursor = token + offset;");
+ o.ws("\n").wind(2).ws("return 0;");
+ o.ws("\n").wind(1).ws("} else {");
+ o.ws("\n").wind(2).ws("fprintf");
+ o.ws("\n").wind(3).ws("( stderr");
+ o.ws("\n").wind(3).ws(", \"error: lex_").wstring(name).ws(": at position %ld (key %u):\\n\"");
+ o.ws("\n").wind(4).ws("\"\\texpected: match length %ld, rule %u\\n\"");
+ o.ws("\n").wind(4).ws("\"\\tactual: match length %ld, rule %u\\n\"");
+ o.ws("\n").wind(3).ws(", pos");
+ o.ws("\n").wind(3).ws(", kix");
+ o.ws("\n").wind(3).ws(", len_exp");
+ o.ws("\n").wind(3).ws(", rule_exp");
+ o.ws("\n").wind(3).ws(", len_act");
+ o.ws("\n").wind(3).ws(", rule_act");
+ o.ws("\n").wind(3).ws(");");
+ o.ws("\n").wind(2).ws("return 1;");
+ o.ws("\n").wind(1).ws("}");
+ o.ws("\n}");
+
+ if (!stagnames.empty()) {
+ o.ws("\n");
+ o.ws("\nstatic int check_stag_").wstring(name)
+ .ws("(unsigned *pkix, YYKEYTYPE *keys, const YYCTYPE *tag,\n")
+ .wind(1).ws("const YYCTYPE *input, const YYCTYPE *token, const char *name)");
+ o.ws("\n{");
+ o.ws("\n").wind(1).ws("const unsigned kix = *pkix;");
+ o.ws("\n").wind(1).ws("const YYKEYTYPE\n")
+ .wind(2).ws("exp = keys[kix],\n")
+ .wind(2).ws("act = (YYKEYTYPE)(tag - token),\n")
+ .wind(2).ws("NIL = (YYKEYTYPE)~0u;");
+ o.ws("\n").wind(1).ws("*pkix = kix + 1;");
+ o.ws("\n");
+ o.ws("\n").wind(1).ws("if (exp == act || (exp == NIL && tag == NULL)) return 0;");
+ o.ws("\n");
+ o.ws("\n").wind(1).ws("fprintf(stderr, \"error: lex_").wstring(name).ws(": at position %ld, key %u: \"")
+ .ws("\n").wind(2).ws("\"wrong value for tag '%s': expected %u, actual %u\\n\",")
+ .ws("\n").wind(2).ws("token - input, kix, name, exp, act);");
+ o.ws("\n").wind(1).ws("return 1;");
+ o.ws("\n}");
+ }
+
+ if (!mtagnames.empty()) {
+ o.ws("\n");
+ o.ws("\ntypedef struct yymtag_t {");
+ o.ws("\n").wind(1).ws("struct yymtag_t *pred;");
+ o.ws("\n").wind(1).ws("const YYCTYPE *elem;");
+ o.ws("\n} yymtag_t;");
+
+ o.ws("\n");
+ o.ws("\ntypedef struct yymtagpool_t {");
+ o.ws("\n").wind(1).ws("yymtag_t *head;");
+ o.ws("\n").wind(1).ws("yymtag_t *next;");
+ o.ws("\n").wind(1).ws("yymtag_t *last;");
+ o.ws("\n} yymtagpool_t;");
+
+ o.ws("\n");
+ o.ws("\nstatic void yymtagpool_clear(yymtagpool_t *tp)");
+ o.ws("\n{");
+ o.ws("\n").wind(1).ws("tp->next = tp->head;");
+ o.ws("\n}");
+
+ o.ws("\n");
+ o.ws("\nstatic void yymtagpool_init(yymtagpool_t *tp)");
+ o.ws("\n{");
+ o.ws("\n").wind(1).ws("static const unsigned size = 256;");
+ o.ws("\n").wind(1).ws("tp->head = (yymtag_t*)malloc(size * sizeof(yymtag_t));");
+ o.ws("\n").wind(1).ws("tp->next = tp->head;");
+ o.ws("\n").wind(1).ws("tp->last = tp->head + size;");
+ o.ws("\n}");
+
+ o.ws("\n");
+ o.ws("\nstatic void yymtagpool_free(yymtagpool_t *tp)");
+ o.ws("\n{");
+ o.ws("\n").wind(1).ws("free(tp->head);");
+ o.ws("\n").wind(1).ws("tp->head = tp->next = tp->last = NULL;");
+ o.ws("\n}");
+
+ o.ws("\n");
+ o.ws("\nstatic yymtag_t *yymtagpool_next(yymtagpool_t *tp)");
+ o.ws("\n{");
+ o.ws("\n").wind(1).ws("if (tp->next == tp->last) {");
+ o.ws("\n").wind(2).ws("const unsigned size = tp->last - tp->head;");
+ o.ws("\n").wind(2).ws("yymtag_t *head = (yymtag_t*)malloc(2 * size * sizeof(yymtag_t));");
+ o.ws("\n").wind(2).ws("memcpy(head, tp->head, size * sizeof(yymtag_t));");
+ o.ws("\n").wind(2).ws("free(tp->head);");
+ o.ws("\n").wind(2).ws("tp->head = head;");
+ o.ws("\n").wind(2).ws("tp->next = head + size;");
+ o.ws("\n").wind(2).ws("tp->last = head + size * 2;");
+ o.ws("\n").wind(1).ws("}");
+ o.ws("\n").wind(1).ws("return tp->next++;");
+ o.ws("\n}");
+
+ o.ws("\n");
+ o.ws("\nstatic void yymtag(yymtag_t **pt, const YYCTYPE *t, yymtagpool_t *tp)");
+ o.ws("\n{");
+ o.ws("\n").wind(1).ws("yymtag_t *n = yymtagpool_next(tp);");
+ o.ws("\n").wind(1).ws("n->pred = *pt;");
+ o.ws("\n").wind(1).ws("n->elem = t;");
+ o.ws("\n").wind(1).ws("*pt = n;");
+ o.ws("\n}");
+
+ o.ws("\n");
+ o.ws("\nstatic int check_mtag_").wstring(name)
+ .ws("(unsigned *pkix, YYKEYTYPE *keys, const yymtag_t *mtag,\n")
+ .wind(1).ws("const YYCTYPE *input, const YYCTYPE *token, const char *name)");
+ o.ws("\n{");
+// o.ws("\n").wind(1).ws("check_key_count_").wstring(name).ws("(1) && return 1;");
+ o.ws("\n").wind(1).ws("const unsigned kix = *pkix;");
+ o.ws("\n").wind(1).ws("YYKEYTYPE n = keys[kix];");
+ o.ws("\n").wind(1).ws("*pkix = kix + n + 1;");
+// o.ws("\n").wind(1).ws("check_key_count_").wstring(name).ws("(n) && return 1;");
+ o.ws("\n").wind(1).ws("for (; n > 0; --n) {");
+ o.ws("\n").wind(2).ws("if (mtag == NULL) {");
+ o.ws("\n").wind(3).ws("fprintf(stderr, \"error: lex_").wstring(name).ws(": at position %ld, key %u: \"")
+ .ws("\n").wind(4).ws("\"history for tag '%s' is too short\\n\",")
+ .ws("\n").wind(4).ws("token - input, kix + n, name);");
+ o.ws("\n").wind(3).ws("return 1;");
+ o.ws("\n").wind(2).ws("}");
+ o.ws("\n").wind(2).ws("const YYCTYPE *tag = mtag->elem;");
+ o.ws("\n").wind(2).ws("mtag = mtag->pred;");
+ o.ws("\n").wind(2).ws("const YYKEYTYPE\n")
+ .wind(3).ws("exp = keys[kix + n],\n")
+ .wind(3).ws("act = (YYKEYTYPE)(tag - token),\n")
+ .wind(3).ws("NIL = (YYKEYTYPE)~0u;");
+ o.ws("\n").wind(2).ws("if (!(exp == act || (exp == NIL && tag == NULL))) {");
+ o.ws("\n").wind(3).ws("fprintf(stderr, \"error: lex_").wstring(name).ws(": at position %ld, key %u: \"")
+ .ws("\n").wind(4).ws("\"wrong value for tag '%s': expected %u, actual %u\\n\",")
+ .ws("\n").wind(4).ws("token - input, kix + n, name, exp, act);");
+ o.ws("\n").wind(3).ws("return 1;");
+ o.ws("\n").wind(2).ws("}");
+ o.ws("\n").wind(1).ws("}");
+ o.ws("\n").wind(1).ws("if (mtag != NULL) {");
+ o.ws("\n").wind(2).ws("fprintf(stderr, \"error: lex_").wstring(name).ws(": at position %ld, key %u: \"")
+ .ws("\n").wind(3).ws("\"history for tag '%s' is too long\\n\",")
+ .ws("\n").wind(3).ws("token - input, kix, name);");
+ o.ws("\n").wind(2).ws("return 1;");
+ o.ws("\n").wind(1).ws("}");
+ o.ws("\n").wind(1).ws("return 0;");
+ o.ws("\n}");
+ }
+
+ o.ws("\n");
+ o.ws("\nstatic int check_key_count_").wstring(name).ws("(unsigned have, unsigned used, unsigned need)");
+ o.ws("\n{");
+ o.ws("\n").wind(1).ws("if (used + need <= have) return 0;");
+ o.ws("\n").wind(1).ws("fprintf(stderr, \"error: lex_").wstring(name).ws(": not enough keys\\n\");");
+ o.ws("\n").wind(1).ws("return 1;");
+ o.ws("\n}");
+ o.ws("\n");
+
+ o.ws("\nint lex_").wstring(name).ws("()");
+ o.ws("\n{");
+ o.ws("\n").wind(1).ws("const size_t padding = ").wu64(maxfill).ws("; /* YYMAXFILL */");
+ o.ws("\n").wind(1).ws("int status = 0;");
+ o.ws("\n").wind(1).ws("size_t input_len = 0;");
+ o.ws("\n").wind(1).ws("size_t keys_count = 0;");
+ o.ws("\n").wind(1).ws("YYCTYPE *input = NULL;");
+ o.ws("\n").wind(1).ws("YYKEYTYPE *keys = NULL;");
+ o.ws("\n").wind(1).ws("const YYCTYPE *cursor = NULL;");
+ o.ws("\n").wind(1).ws("const YYCTYPE *limit = NULL;");
+ o.ws("\n").wind(1).ws("const YYCTYPE *token = NULL;");
+ o.ws("\n").wind(1).ws("const YYCTYPE *eof = NULL;");
+ if (opts->posix_captures) {
+ o.ws("\n").wind(1).ws("size_t yynmatch;");
+ o.ws("\n").wind(1).ws("const YYCTYPE *yypmatch[").wu64(maxnmatch).ws(" * 2];");
+ }
+ o.ws("\n").wind(1).ws("unsigned int i = 0;");
+ if (!mtagnames.empty()) {
+ o.ws("\n");
+ o.ws("\n").wind(1).ws("yymtagpool_t yytp;");
+ o.ws("\n").wind(1).ws("yymtagpool_init(&yytp);");
+ }
+ o.ws("\n");
+ o.ws("\n").wind(1).ws("input = (YYCTYPE *) read_file");
+ o.ws("\n").wind(2).ws("(\"").wstring(filename).ws(".").wstring(name).ws(".input\"");
+ o.ws("\n").wind(2).ws(", sizeof (YYCTYPE)");
+ o.ws("\n").wind(2).ws(", padding");
+ o.ws("\n").wind(2).ws(", &input_len");
+ o.ws("\n").wind(2).ws(");");
+ o.ws("\n").wind(1).ws("if (input == NULL) {");
+ o.ws("\n").wind(2).ws("status = 1;");
+ o.ws("\n").wind(2).ws("goto end;");
+ o.ws("\n").wind(1).ws("}");
+ o.ws("\n");
+ if (sizeof_cunit > 1) {
+ o.ws("\n").wind(1).ws("for (i = 0; i < input_len; ++i) {");
+ from_le(o, 2, sizeof_cunit, "input[i]");
+ o.ws("\n").wind(1).ws("}");
+ o.ws("\n");
+ }
+ o.ws("\n").wind(1).ws("keys = (YYKEYTYPE *) read_file");
+ o.ws("\n").wind(2).ws("(\"").wstring(filename).ws(".").wstring(name).ws(".keys\"");
+ o.ws("\n").wind(2).ws(", sizeof (YYKEYTYPE)");
+ o.ws("\n").wind(2).ws(", 0");
+ o.ws("\n").wind(2).ws(", &keys_count");
+ o.ws("\n").wind(2).ws(");");
+ o.ws("\n").wind(1).ws("if (keys == NULL) {");
+ o.ws("\n").wind(2).ws("status = 1;");
+ o.ws("\n").wind(2).ws("goto end;");
+ o.ws("\n").wind(1).ws("}");
+ o.ws("\n");
+ if (sizeof_key > 1)
+ {
+ o.ws("\n").wind(1).ws("for (i = 0; i < keys_count; ++i) {");
+ from_le(o, 2, sizeof_key, "keys[i]");
+ o.ws("\n").wind(1).ws("}");
+ o.ws("\n");
+ }
+ o.ws("\n").wind(1).ws("cursor = input;");
+ o.ws("\n").wind(1).ws("limit = input + input_len + padding;");
+ o.ws("\n").wind(1).ws("eof = input + input_len;");
+ o.ws("\n");
+ o.ws("\n").wind(1).ws("for (i = 0; status == 0 && cursor < eof && i < keys_count;) {");
+ o.ws("\n").wind(2).ws("token = cursor;");
+ if (backup) {
+ o.ws("\n").wind(2).ws("const YYCTYPE *marker = NULL;");
+ }
+ if (oldstyle_ctxmarker) {
+ o.ws("\n").wind(2).ws("const YYCTYPE *ctxmarker = NULL;");
+ }
+ o.ws("\n").wind(2).ws("YYCTYPE yych;");
+ if (accept) {
+ o.ws("\n").wind(2).ws("unsigned int yyaccept = 0;");
+ }
+
+ // autogenerated stag variables
+ ConfTags conf("\n" + indent(2, opts->indString) + "const YYCTYPE *@@ = NULL;", "");
+ output_tags(o.stream(), 0, conf, stagnames, opts);
+ // user-defined stag variables
+ std::set<std::string>::const_iterator
+ var1 = stagvars.begin(),
+ var2 = stagvars.end();
+ if (var1 != var2) {
+ o.ws("\n").wind(2).ws("const YYCTYPE *").wstring(*var1);
+ for (++var1; var1 != var2; ++var1) {
+ o.ws(", *").wstring(*var1);
+ }
+ o.ws(";");
+ }
+ if (!mtagnames.empty()) {
+ o.ws("\n").wind(2).ws("yymtagpool_clear(&yytp);");
+ // autogenerated mtag variables
+ conf.format = "yymtag_t *@@ = NULL;";
+ output_tags(o.stream(), 0, conf, mtagnames, opts);
+ // user-defined mtag variables
+ var1 = mtagvars.begin();
+ var2 = mtagvars.end();
+ if (var1 != var2) {
+ o.ws("\n").wind(2).ws("yymtag_t *").wstring(*var1);
+ for (++var1; var1 != var2; ++var1) {
+ o.ws(", *").wstring(*var1);
+ }
+ o.ws(";");
+ }
+ }
+
+ o.ws("\n");
+ if (opts->bFlag) {
+ bitmaps.gen(o, 2);
+ }
+ o.ws("\n");
+}
+
+void emit_end(OutputFile &o, const std::string &name, bool backup, bool oldstyle_ctxmarker,
+ const std::set<std::string> &mtagnames)
+{
+ o.ws("\n").wind(1).ws("}");
+ o.ws("\n").wind(1).ws("if (status == 0) {");
+ o.ws("\n").wind(2).ws("if (cursor != eof) {");
+ o.ws("\n").wind(3).ws("status = 1;");
+ o.ws("\n").wind(3).ws("const long pos = token - input;");
+ o.ws("\n").wind(3).ws("fprintf(stderr, \"error: lex_").wstring(name).ws(": unused input strings left at position %ld\\n\", pos);");
+ o.ws("\n").wind(2).ws("}");
+ o.ws("\n").wind(2).ws("if (i != keys_count) {");
+ o.ws("\n").wind(3).ws("status = 1;");
+ o.ws("\n").wind(3).ws("fprintf(stderr, \"error: lex_").wstring(name).ws(": unused keys left after %u keys\\n\", i);");
+ o.ws("\n").wind(2).ws("}");
+ o.ws("\n").wind(1).ws("}");
+ o.ws("\n");
+ o.ws("\nend:");
+ o.ws("\n").wind(1).ws("free(input);");
+ o.ws("\n").wind(1).ws("free(keys);");
+ if (!mtagnames.empty()) {
+ o.ws("\n").wind(1).ws("yymtagpool_free(&yytp);");
+ }
+ o.ws("\n");
+ o.ws("\n").wind(1).ws("return status;");
+ o.ws("\n}");
+ o.ws("\n");
+ o.ws("\n#undef YYCTYPE");
+ o.ws("\n#undef YYKEYTYPE");
+ o.ws("\n#undef YYPEEK");
+ o.ws("\n#undef YYSKIP");
+ if (backup) {
+ o.ws("\n#undef YYBACKUP");
+ o.ws("\n#undef YYRESTORE");
+ }
+ if (oldstyle_ctxmarker) {
+ o.ws("\n#undef YYBACKUPCTX");
+ o.ws("\n#undef YYRESTORECTX");
+ }
+ if (o.block().opts->tags) {
+ o.ws("\n#undef YYBACKUPTAG");
+ o.ws("\n#undef YYRESTORETAG");
+ o.ws("\n#undef YYCOPYTAG");
+ }
+ o.ws("\n#undef YYLESSTHAN");
+ o.ws("\n#undef YYFILL");
+ o.ws("\n");
+}
+
+void emit_epilog(OutputFile &o, const std::set<std::string> &names)
+{
+ o.ws("\n").ws("int main()");
+ o.ws("\n").ws("{");
+
+ for (std::set<std::string>::const_iterator i = names.begin(); i != names.end(); ++i) {
+ o.ws("\n").wind(1).ws("if(lex_").wstring(*i).ws("() != 0) {");
+ o.ws("\n").wind(2).ws("return 1;");
+ o.ws("\n").wind(1).ws("}");
+ }
+
+ o.ws("\n").wind(1).ws("return 0;");
+ o.ws("\n}");
+ o.ws("\n");
+}
+
+void emit_action(OutputFile &o, uint32_t ind, const DFA &dfa, size_t rid)
+{
+ const std::string &name = dfa.name;
+ const Rule &r = dfa.rules[rid];
+ const uint64_t rkey = rule2key(rid, dfa.key_size, dfa.def_rule);
+ size_t ntag = 3;
+ for (size_t t = r.ltag; t < r.htag; ++t) {
+ const Tag &tag = dfa.tags[t];
+ if (t != r.ttag && !fictive(tag)) ++ntag;
+ }
+
+ o.wind(ind).ws("status = check_key_count_").wstring(name).ws("(keys_count, i, ")
+ .wu64(ntag).ws(")\n").wind(ind + 1).ws(" || action_").wstring(name)
+ .ws("(&i, keys, input, token, &cursor, ").wu64(rkey).ws(")");
+
+ for (size_t t = r.ltag; t < r.htag; ++t) {
+ const Tag &tag = dfa.tags[t];
+ if (t == r.ttag || fictive(tag)) continue;
+ const std::string tname = tagname(tag),
+ prefix = history(tag) ? "m" : "s";
+ o.ws("\n").wind(ind + 1).ws(" || check_").wstring(prefix).ws("tag").ws("_").wstring(name)
+ .ws("(&i, keys, ").wstring(tname).ws(", input, token, \"")
+ .wstring(tname).ws("\")");
+ }
+
+ o.ws(";\n");
+ o.wind(ind).ws("continue;\n");
+}
+
+} // namespace re2c
diff --git a/src/skeleton/generate_data.cc b/src/skeleton/generate_data.cc
new file mode 100644
index 00000000..f2f16207
--- /dev/null
+++ b/src/skeleton/generate_data.cc
@@ -0,0 +1,409 @@
+#include <assert.h>
+#include <stddef.h>
+#include "src/util/c99_stdint.h"
+#include <stdio.h>
+#include <algorithm>
+#include <map>
+#include <string>
+#include <utility>
+#include <valarray>
+#include <vector>
+
+#include "src/conf/msg.h"
+#include "src/conf/opt.h"
+#include "src/dfa/tcmd.h"
+#include "src/re/encoding/enc.h"
+#include "src/re/rule.h"
+#include "src/re/tag.h"
+#include "src/skeleton/path.h"
+#include "src/skeleton/skeleton.h"
+#include "src/util/forbid_copy.h"
+#include "src/util/u32lim.h"
+#include "src/util/wrap_iter.h"
+
+namespace re2c
+{
+
+/*
+ * note [counting skeleton edges]
+ *
+ * To avoid any possible overflows all size calculations are wrapped in
+ * a special truncated unsigned 32-bit integer type that checks overflow
+ * on each binary operation or conversion from another type.
+ *
+ * Two things contribute to size calculation: path length and the number
+ * of outgoing arcs in each node. Some considerations on why these values
+ * will not overflow before they are converted to truncated type:
+ *
+ * - Maximal number of outgoing arcs in each node cannot exceed 32 bits:
+ * it is bounded by the number of code units in current encoding, and
+ * re2c doesn't support any encoding with more than 2^32 code units.
+ * Conversion is safe.
+ *
+ * - Maximal path length cannot exceed 32 bits: we estimate it right
+ * after skeleton construction and check for overflow. If path length
+ * does overflow, an error is reported and re2c aborts.
+ */
+
+// See note [counting skeleton edges].
+// Type for calculating the size of path cover.
+// Paths are dumped to file as soon as generated and don't eat
+// heap space. The total size of path cover (measured in edges)
+// is O(N^2) where N is the number of edges in skeleton.
+typedef u32lim_t<1024 * 1024 * 1024> cover_size_t; // ~1Gb
+
+struct cover_t
+{
+ FILE *input;
+ FILE *keys;
+ std::vector<uint8_t> loops;
+ std::vector<suffix_t> suffixes;
+ path_t prefix;
+ cover_size_t size;
+
+ cover_t(FILE *fi, FILE *fk, size_t nnodes):
+ input(fi), keys(fk), loops(nnodes),
+ suffixes(nnodes), prefix(0),
+ size(cover_size_t::from32(0u)) {}
+
+ FORBID_COPY(cover_t);
+};
+
+template<typename uintn_t> static uintn_t to_le(uintn_t n)
+{
+ uintn_t m;
+ uint8_t *p = reinterpret_cast<uint8_t*>(&m);
+ for (size_t i = 0; i < sizeof(uintn_t); ++i) {
+ p[i] = static_cast<uint8_t>(n >> (i * 8));
+ }
+ return m;
+}
+
+// pick at most 0x100 unique edges from this range
+// (for 1-byte code units this covers the whole range: [0 - 0xFF])
+// - range bounds must be included
+// - values should be evenly distributed
+// - values should be deterministic
+static uint32_t step(uint32_t lower, uint32_t upper)
+{
+ return 1 + (upper - lower) / 0x100;
+}
+
+static uint32_t nsteps(uint32_t lower, uint32_t upper)
+{
+ return 2 + (upper - lower - 1) / step(lower, upper);
+}
+
+static void apply(std::vector<size_t> *tags, const tcmd_t *cmd, size_t pos)
+{
+ for (const tcmd_t *p = cmd; p; p = p->next) {
+ const tagver_t l = p->lhs, r = p->rhs, *h = p->history;
+ std::vector<size_t> &t = tags[l];
+ if (tcmd_t::iscopy(p)) {
+ t = tags[r];
+ } else if (tcmd_t::isset(p)) {
+ t.clear();
+ t.push_back(*h == TAGVER_BOTTOM ? Skeleton::DEFTAG : pos);
+ } else {
+ if (l != r) t = tags[r];
+ std::vector<size_t> x;
+ for (; *h != TAGVER_ZERO; ++h) {
+ x.push_back(*h == TAGVER_BOTTOM ? Skeleton::DEFTAG : pos);
+ }
+ t.insert(t.end(), x.rbegin(), x.rend());
+ }
+ }
+}
+
+static size_t path_width(const path_t &path, const Skeleton &skel)
+{
+ size_t width = 0;
+ for (size_t i = 0; i < path.len(); ++i) {
+
+ // width of multiarc: total number of characters picked from all ranges
+ size_t w = 0;
+ const Node::arc_t &arc = path.arc(skel, i);
+ for (Node::citer_t a = arc.begin(); a != arc.end(); ++a) {
+ w += nsteps(a->lower, a->upper);
+ }
+
+ // width of multipath: maximal width of multiarc
+ width = std::max(width, w);
+ }
+ return width;
+}
+
+template<typename cunit_t>
+static void write_input(const path_t &path, const Skeleton &skel,
+ size_t width, FILE *file)
+{
+ const size_t
+ len = path.len(),
+ size = len * width;
+ cunit_t *buffer = new cunit_t[size];
+
+ // pick characters from ranges
+ for (size_t i = 0; i < len; ++i) {
+ Node::wciter_t a(path.arc(skel, i));
+ for (size_t w = 0; w < width; ++a) {
+ const uint32_t
+ l = a->lower,
+ u = a->upper,
+ d = step(l, u);
+ for (uint32_t m = l; m < u + d && w < width; m += d, ++w) {
+ buffer[w * len + i] = to_le(static_cast<cunit_t>(std::min(m, u)));
+ }
+ }
+ }
+
+ fwrite(buffer, sizeof(cunit_t), size, file);
+
+ delete[] buffer;
+}
+
+template<typename key_t>
+static void write_keys(const path_t &path, const Skeleton &skel,
+ size_t width, FILE *file)
+{
+ // find last accepting node
+ size_t f;
+ for (f = path.len(); f > 0 && path.node(skel, f).rule == Rule::NONE; --f);
+
+ // calculate tags: start with default and apply commands step by step
+ const size_t
+ nver = skel.ntagver,
+ ntag = width * nver,
+ offby = skel.opts->lookahead ? 0 : 1;
+ std::vector<size_t> *tags = new std::vector<size_t>[ntag];
+ for (size_t w = 0; w < width; ++w) {
+ apply(&tags[w * nver], skel.cmd0, 0); // absent in LATDFA
+ }
+ for (size_t i = 0; i < f; ++i) {
+ Node::wciter_t a(path.arc(skel, i));
+ for (size_t w = 0; w < width; ++a) {
+ uint32_t n = nsteps(a->lower, a->upper);
+ for (; n --> 0 && w < width; ++w) {
+ apply(&tags[w * nver], a->cmd, i + offby);
+ }
+ }
+ }
+ const tcmd_t *fcmd = path.node(skel, f).cmd;
+ for (size_t w = 0; w < width; ++w) {
+ apply(&tags[w * nver], fcmd, f); // only present in LATDFA
+ }
+
+ const size_t rule = path.node(skel, f).rule;
+ size_t matched = 0, ltag = 0, htag = 0, trail = 0;
+ if (rule != Rule::NONE) {
+
+ const Rule &r = skel.rules[rule];
+ ltag = r.ltag;
+ htag = r.htag;
+ trail = r.ttag;
+
+ // matched length might depend on tag values
+ if (trail == htag) {
+ matched = f;
+ } else {
+ assert(!fixed(skel.tags[trail])); // no fixed trailing context
+ matched = tags[skel.finvers[trail]].back();
+ assert(matched != Skeleton::DEFTAG);
+ }
+ }
+
+ // count keys
+ size_t nkey = 0;
+ for (size_t w = 0; w < width; ++w) {
+ nkey += 3;
+ for (size_t t = ltag; t < htag; ++t) {
+ const Tag &tag = skel.tags[t];
+ if (t == trail || fictive(tag)) continue;
+ const size_t
+ base = fixed(tag) ? tag.base : t,
+ bver = static_cast<size_t>(skel.finvers[base]);
+ if (history(tag)) nkey += tags[w * nver + bver].size();
+ ++nkey;
+ }
+ }
+
+ // keys: 1 - scanned length, 2 - matched length, 3 - matched rule, the rest - tags
+ key_t *keys = new key_t[nkey], *k = keys;
+ for (size_t w = 0; w < width; ++w) {
+ *k++ = to_le(static_cast<key_t>(path.len()));
+ *k++ = to_le(static_cast<key_t>(matched));
+ *k++ = to_le(rule2key<key_t>(rule, skel.defrule));
+
+ for (size_t t = ltag; t < htag; ++t) {
+ const Tag &tag = skel.tags[t];
+ if (t == trail || fictive(tag)) continue;
+
+ const size_t
+ base = fixed(tag) ? tag.base : t,
+ bver = static_cast<size_t>(skel.finvers[base]);
+ const std::vector<size_t> &h = tags[w * nver + bver];
+ if (history(tag)) {
+ const size_t hlen = h.size();
+ *k++ = to_le(static_cast<key_t>(hlen));
+ for (size_t i = 0; i < hlen; ++i) {
+ *k++ = to_le(static_cast<key_t>(h[i]));
+ }
+ } else {
+ *k++ = to_le(static_cast<key_t>(h.back()));
+ }
+ }
+ }
+
+ // dump to file
+ fwrite(keys, sizeof(key_t), nkey, file);
+
+ delete[] tags;
+ delete[] keys;
+}
+
+template<typename cunit_t, typename key_t>
+static cover_size_t cover_one(const Skeleton &skel, cover_t &cover)
+{
+ const path_t &path = cover.prefix;
+
+ const size_t width = path_width(path, skel);
+
+ const cover_size_t size
+ = cover_size_t::from64(path.len())
+ * cover_size_t::from64(width);
+
+ if (!size.overflow()) {
+ write_input<cunit_t>(path, skel, width, cover.input);
+ write_keys<key_t>(path, skel, width, cover.keys);
+ }
+
+ return size;
+}
+
+/*
+ * note [generating skeleton path cover]
+ *
+ * With --skeleton switch we need to generate lots of data: strings that
+ * correspond to various paths in DFA and match given regular expression.
+ * We try to generate path cover (a set of paths that cover all skeleton
+ * arcs at least once). Generation must stop as soon as the size of path
+ * cover exceeds limit (in which case we'll only get a partial path cover).
+ *
+ * The algorithm walks graph nodes in deep-first order and assigns suffix
+ * to each node (a path from this node to end node). In order to calculate
+ * suffix for a given node the algorithm must know suffix for any child
+ * node (end nodes are assigned empty suffix at start). Suffix is only
+ * calculated once for each node and then reused as much times as the node
+ * is visited. This is what reduces search space.
+ *
+ * The algorithm calculates prefix (multipath to current node). If current
+ * node has already been assigned suffix, the algorithm immediately
+ * calculates path cover from prefix and suffix. Otherwise it recurses to
+ * child nodes (updating prefix on the go).
+ *
+ * The algorithm avoids eternal loops by maintaining loop counter for each
+ * node. Loop counter is incremented on recursive enter and decremented on
+ * recursive return. If loop counter is greater than 1, current branch is
+ * abandoned and recursion returns immediately.
+ *
+ * See also note [counting skeleton edges].
+ *
+ */
+template <typename cunit_t, typename key_t> static void gencover(
+ const Skeleton &skel,
+ cover_t &cover,
+ size_t i)
+{
+ const Node &node = skel.nodes[i];
+ uint8_t &loop = cover.loops[i];
+ suffix_t &suffix = cover.suffixes[i];
+ path_t &prefix = cover.prefix;
+ cover_size_t &size = cover.size;
+
+ if (node.end() && !suffix.init) {
+ suffix.init = true;
+ }
+
+ if (suffix.init)
+ {
+ prefix.push_sfx(suffix);
+ size = size + cover_one<cunit_t, key_t>(skel, cover);
+ prefix.pop_sfx(suffix);
+ } else if (loop < 2) {
+ local_inc _(loop);
+
+ Node::arcs_t::const_iterator
+ arc = node.arcs.begin(),
+ end = node.arcs.end();
+ for (; arc != end && !size.overflow(); ++arc) {
+ const size_t j = arc->first;
+
+ prefix.push(j);
+ gencover<cunit_t, key_t>(skel, cover, j);
+ prefix.pop();
+
+ const suffix_t &sfx = cover.suffixes[j];
+ if (sfx.init && !suffix.init) {
+ suffix = sfx;
+ suffix.push(j);
+ }
+ }
+ }
+}
+
+template<typename cunit_t, typename key_t>
+ static void generate_paths_cunit_key(const Skeleton &skel, cover_t &cover)
+{
+ gencover<cunit_t, key_t>(skel, cover, 0);
+ if (cover.size.overflow()) {
+ warning(NULL, skel.line, false,
+ "DFA %sis too large: can only generate partial path cover",
+ incond(skel.cond).c_str());
+ }
+}
+
+template<typename cunit_t>
+ static void generate_paths_cunit(const Skeleton &skel, cover_t &cover)
+{
+ switch (skel.sizeof_key) {
+ case 8: generate_paths_cunit_key<cunit_t, uint64_t>(skel, cover); break;
+ case 4: generate_paths_cunit_key<cunit_t, uint32_t>(skel, cover); break;
+ case 2: generate_paths_cunit_key<cunit_t, uint16_t>(skel, cover); break;
+ case 1: generate_paths_cunit_key<cunit_t, uint8_t>(skel, cover); break;
+ }
+}
+
+static void generate_paths(const Skeleton &skel, cover_t &cover)
+{
+ switch (skel.opts->encoding.szCodeUnit()) {
+ case 4: generate_paths_cunit<uint32_t>(skel, cover); break;
+ case 2: generate_paths_cunit<uint16_t>(skel, cover); break;
+ case 1: generate_paths_cunit<uint8_t>(skel, cover); break;
+ }
+}
+
+void emit_data(const Skeleton &skel)
+{
+ std::string fname = skel.opts->output_file;
+ if (fname.empty()) {
+ fname = "<stdout>";
+ }
+
+ const std::string input_name = fname + "." + skel.name + ".input";
+ FILE *input = fopen(input_name.c_str(), "wb");
+ if (!input) {
+ fatal("cannot open file: %s", input_name.c_str());
+ }
+ const std::string keys_name = std::string(fname) + "." + skel.name + ".keys";
+ FILE *keys = fopen (keys_name.c_str(), "wb");
+ if (!keys) {
+ fatal("cannot open file: %s", keys_name.c_str());
+ }
+
+ cover_t cover(input, keys, skel.nodes_count);
+ generate_paths(skel, cover);
+
+ fclose(input);
+ fclose(keys);
+}
+
+} // namespace re2c
diff --git a/src/skeleton/maxpath.cc b/src/skeleton/maxpath.cc
new file mode 100644
index 00000000..3daa3a56
--- /dev/null
+++ b/src/skeleton/maxpath.cc
@@ -0,0 +1,71 @@
+#include <stddef.h>
+#include "src/util/c99_stdint.h"
+#include <algorithm>
+#include <limits>
+#include <map>
+#include <string>
+#include <utility>
+#include <vector>
+
+#include "src/conf/msg.h"
+#include "src/skeleton/skeleton.h"
+
+namespace re2c
+{
+
+// 0 < DIST_MAX < DIST_ERROR <= std::numeric_limits<uint32_t>::max()
+static const uint32_t DIST_ERROR = std::numeric_limits<uint32_t>::max();
+static const uint32_t DIST_MAX = DIST_ERROR - 1;
+
+// maximal distance to end node (assuming one iteration per loop)
+// different from YYMAXFILL calculation
+// in the way it handles loops and empty regexp
+static void calc_dist(
+ const Skeleton &skel,
+ std::vector<uint8_t> &loops,
+ std::vector<uint32_t> &dists,
+ size_t i)
+{
+ const Node &node = skel.nodes[i];
+ uint8_t &loop = loops[i];
+ uint32_t &dist = dists[i];
+
+ if (dist != DIST_ERROR) {
+ return;
+ } else if (node.end()) {
+ dist = 0;
+ } else if (loop < 2) {
+ local_inc _(loop);
+ Node::arcs_t::const_iterator
+ arc = node.arcs.begin(),
+ end = node.arcs.end();
+ for (; arc != end; ++arc) {
+ const size_t j = arc->first;
+ calc_dist(skel, loops, dists, j);
+ uint32_t &d = dists[j];
+ if (d != DIST_ERROR) {
+ if (dist == DIST_ERROR) {
+ dist = d;
+ } else {
+ dist = std::max(dist, d);
+ }
+ }
+ }
+ dist = std::min(dist + 1, DIST_MAX);
+ }
+}
+
+// calculate maximal path length, check overflow
+uint32_t maxpath(const Skeleton &skel)
+{
+ std::vector<uint8_t> loops(skel.nodes_count);
+ std::vector<uint32_t> dists(skel.nodes_count, DIST_ERROR);
+ calc_dist(skel, loops, dists, 0);
+ const uint32_t maxlen = dists[0];
+ if (maxlen == DIST_MAX) {
+ fatal("DFA path %sis too long", incond(skel.cond).c_str());
+ }
+ return maxlen;
+}
+
+} // namespace re2c
diff --git a/src/skeleton/path.h b/src/skeleton/path.h
new file mode 100644
index 00000000..fb1aee85
--- /dev/null
+++ b/src/skeleton/path.h
@@ -0,0 +1,78 @@
+#ifndef _RE2C_SKELETON_PATH_
+#define _RE2C_SKELETON_PATH_
+
+#include "src/util/c99_stdint.h"
+#include <vector>
+
+#include "src/skeleton/skeleton.h"
+
+namespace re2c
+{
+
+struct suffix_t
+{
+ bool init;
+
+private:
+ std::vector<size_t> arcs;
+
+public:
+
+ suffix_t(): init(false), arcs() {}
+ void push(size_t i)
+ {
+ arcs.push_back(i);
+ }
+ friend class path_t;
+};
+
+class path_t
+{
+ std::vector<size_t> arcs;
+
+public:
+ explicit path_t(size_t i) : arcs()
+ {
+ arcs.push_back(i);
+ }
+ size_t len() const
+ {
+ return arcs.size() - 1;
+ }
+ const Node& node(const Skeleton &skel, size_t i) const
+ {
+ return skel.nodes[arcs[i]];
+ }
+ const Node::arc_t& arc(const Skeleton &skel, size_t i) const
+ {
+ return skel.nodes[arcs[i]].arcs.find(arcs[i + 1])->second;
+ }
+ void push(size_t n)
+ {
+ arcs.push_back(n);
+ }
+ void pop()
+ {
+ arcs.pop_back();
+ }
+ void push_sfx(const suffix_t &suffix)
+ {
+ arcs.insert(arcs.end(), suffix.arcs.rbegin(), suffix.arcs.rend());
+ }
+ void pop_sfx(const suffix_t &suffix)
+ {
+ arcs.resize(arcs.size() - suffix.arcs.size());
+ }
+ bool operator<(const path_t &p) const
+ {
+ const size_t
+ s1 = arcs.size(),
+ s2 = p.arcs.size();
+ return (s1 == s2 && arcs < p.arcs)
+ || s1 < s2;
+ }
+};
+
+} // namespace re2c
+
+#endif // _RE2C_SKELETON_PATH_
diff --git a/src/skeleton/skeleton.cc b/src/skeleton/skeleton.cc
new file mode 100644
index 00000000..5f551ab5
--- /dev/null
+++ b/src/skeleton/skeleton.cc
@@ -0,0 +1,107 @@
+#include <assert.h>
+#include <algorithm>
+
+#include "src/dfa/dfa.h"
+#include "src/skeleton/skeleton.h"
+
+namespace re2c
+{
+
+struct opt_t;
+struct tcmd_t;
+
+Node::Node()
+ : arcs()
+ , rule(Rule::NONE)
+ , cmd(NULL)
+{}
+
+void Node::init(const dfa_state_t *s,
+ const std::vector<uint32_t> &charset, size_t nil)
+{
+ const size_t nc = charset.size() - 1;
+ for (uint32_t c = 0, l = 0; c < nc;) {
+
+ size_t j = s->arcs[c];
+ const tcmd_t *t = s->tcmd[c];
+ for (; ++c < nc && s->arcs[c] == j && s->tcmd[c] == t;);
+ if (j == dfa_t::NIL) j = nil;
+
+ // all arcs go to default node => this node is final
+ if (l == 0 && c == nc && j == nil) break;
+
+ const uint32_t u = charset[c];
+ arcs[j].push_back(Node::range_t(l, u - 1, t));
+
+ l = u;
+ }
+
+ rule = s->rule;
+ cmd = s->tcmd[nc];
+}
+
+bool Node::end() const
+{
+ return arcs.size() == 0;
+}
+
+const size_t Skeleton::DEFTAG = std::numeric_limits<size_t>::max();
+
+Skeleton::Skeleton(
+ const dfa_t &dfa,
+ const opt_t *op,
+ size_t def,
+ const std::string &dfa_name,
+ const std::string &dfa_cond,
+ uint32_t dfa_line)
+ : opts(op)
+ , name(dfa_name)
+ , cond(dfa_cond)
+ , line(dfa_line)
+ , nodes_count(dfa.states.size() + 1) // +1 for default state
+ , nodes(new Node[nodes_count])
+ , cmd0(dfa.tcmd0)
+ , sizeof_key(8)
+ , defrule(def)
+ , ntagver(static_cast<size_t>(dfa.maxtagver) + 1)
+ , charset(dfa.charset)
+ , rules(dfa.rules)
+ , tags(dfa.tags)
+ , finvers(dfa.finvers)
+{
+ // initialize nodes
+ const size_t nil = nodes_count - 1;
+ for (size_t i = 0; i < nil; ++i) {
+ nodes[i].init(dfa.states[i], charset, nil);
+ }
+
+ // initialize size of key
+ const size_t maxlen = maxpath(*this);
+ const size_t maxrule = dfa.rules.size() + 1; // +1 for none-rule
+ const size_t max = std::max(maxlen, maxrule);
+ if (max <= std::numeric_limits<uint8_t>::max()) {
+ sizeof_key = 1;
+ } else if (max <= std::numeric_limits<uint16_t>::max()) {
+ sizeof_key = 2;
+ } else if (max <= std::numeric_limits<uint32_t>::max()) {
+ sizeof_key = 4;
+ }
+}
+
+Skeleton::~Skeleton()
+{
+ delete[] nodes;
+}
+
+uint64_t rule2key(size_t rule, size_t key, size_t def)
+{
+ switch (key) {
+ default: assert(false); // shouldn't happen
+ case 8: return rule2key<uint64_t>(rule, def);
+ case 4: return rule2key<uint32_t>(rule, def);
+ case 2: return rule2key<uint16_t>(rule, def);
+ case 1: return rule2key<uint8_t>(rule, def);
+ }
+}
+
+} // namespace re2c
diff --git a/src/skeleton/skeleton.h b/src/skeleton/skeleton.h
new file mode 100644
index 00000000..d565ccba
--- /dev/null
+++ b/src/skeleton/skeleton.h
@@ -0,0 +1,125 @@
+#ifndef _RE2C_SKELETON_SKELETON_
+#define _RE2C_SKELETON_SKELETON_
+
+#include "src/util/c99_stdint.h"
+#include <stdio.h>
+#include <limits>
+#include <map>
+#include <set>
+#include <string>
+#include <utility>
+#include <valarray>
+#include <vector>
+
+#include "src/code/bitmap.h"
+#include "src/conf/opt.h"
+#include "src/dfa/tcmd.h"
+#include "src/re/rule.h"
+#include "src/re/tag.h"
+#include "src/util/forbid_copy.h"
+#include "src/util/local_increment.h"
+#include "src/util/wrap_iter.h"
+
+namespace re2c
+{
+
+class OutputFile;
+class path_t;
+struct DFA;
+struct dfa_state_t;
+struct dfa_t;
+class Warn;
+class bitmaps_t;
+struct opt_t;
+struct tcmd_t;
+
+typedef local_increment_t<uint8_t> local_inc;
+
+struct Node
+{
+ struct range_t {
+ uint32_t lower;
+ uint32_t upper;
+ const tcmd_t *cmd;
+
+ range_t(): lower(0), upper(0), cmd(NULL) {}
+ range_t(uint32_t l, uint32_t u, const tcmd_t *c)
+ : lower(l), upper(u), cmd(c) {}
+ };
+
+ typedef std::vector<range_t> arc_t;
+ typedef std::map<size_t, arc_t> arcs_t;
+ typedef arc_t::const_iterator citer_t;
+ typedef wrap_citer_t<arc_t> wciter_t;
+
+ arcs_t arcs;
+ size_t rule;
+ const tcmd_t *cmd;
+
+ Node();
+ void init(const dfa_state_t *s,
+ const std::vector<uint32_t> &charset, size_t nil);
+ bool end() const;
+
+ FORBID_COPY(Node);
+};
+
+struct Skeleton
+{
+ static const size_t DEFTAG;
+
+ const opt_t *opts;
+ const std::string name;
+ const std::string cond;
+ const uint32_t line;
+
+ const size_t nodes_count;
+ Node *nodes;
+ const tcmd_t *cmd0;
+
+ size_t sizeof_key;
+ size_t defrule;
+ size_t ntagver;
+ const std::vector<uint32_t> &charset;
+ const std::valarray<Rule> &rules;
+ const std::vector<Tag> &tags;
+ const tagver_t *finvers;
+
+ Skeleton(const dfa_t &dfa, const opt_t *op, size_t def,
+ const std::string &dfa_name, const std::string &dfa_cond,
+ uint32_t dfa_line);
+ ~Skeleton ();
+ FORBID_COPY(Skeleton);
+};
+
+template<typename key_t> key_t rule2key(size_t r, size_t def)
+{
+ if (r == Rule::NONE) {
+ return std::numeric_limits<key_t>::max();
+ } else if (r == def) {
+ key_t k = std::numeric_limits<key_t>::max();
+ return --k;
+ } else {
+ return static_cast<key_t>(r);
+ }
+}
+
+uint64_t rule2key(size_t rule, size_t key, size_t def);
+uint32_t maxpath(const Skeleton &skel);
+void warn_undefined_control_flow(const Skeleton &skel, Warn &warn);
+void fprint_default_path(FILE *f, const Skeleton &skel, const path_t &p);
+void emit_data(const Skeleton &skel);
+void emit_prolog(OutputFile & o);
+void emit_start(OutputFile &o, size_t maxfill, size_t maxnmatch, const std::string &name,
+ size_t sizeof_key, size_t def, bool backup, bool accept, bool oldstyle_ctxmarker,
+ const std::set<std::string> &stagnames, const std::set<std::string> &stagvars,
+ const std::set<std::string> &mtagnames, const std::set<std::string> &mtagvars,
+ bitmaps_t &bitmaps);
+void emit_end(OutputFile &o, const std::string &name, bool backup, bool oldstyle_ctxmarker,
+ const std::set<std::string> &mtagnames);
+void emit_epilog(OutputFile &o, const std::set<std::string> &names);
+void emit_action(OutputFile &o, uint32_t ind, const DFA &dfa, size_t rid);
+
+} // namespace re2c
+
+#endif // _RE2C_SKELETON_SKELETON_
diff --git a/src/util/hash32.h b/src/util/hash32.h
new file mode 100644
index 00000000..87d7cee0
--- /dev/null
+++ b/src/util/hash32.h
@@ -0,0 +1,21 @@
+#ifndef _RE2C_UTIL_HASH32_
+#define _RE2C_UTIL_HASH32_
+
+#include <stddef.h>
+#include "src/util/c99_stdint.h"
+
+namespace re2c
+{
+
+inline uint32_t hash32(uint32_t h, const void *data, size_t size)
+{
+ const uint8_t *bytes = static_cast<const uint8_t*>(data);
+ for (size_t i = 0; i < size; ++i) {
+ h = h ^ ((h << 5) + (h >> 2) + bytes[i]);
+ }
+ return h;
+}
+
+} // namespace re2c
+
+#endif // _RE2C_UTIL_HASH32_
diff --git a/src/util/lookup.h b/src/util/lookup.h
new file mode 100644
index 00000000..e649b9c3
--- /dev/null
+++ b/src/util/lookup.h
@@ -0,0 +1,122 @@
+#ifndef _RE2C_UTIL_LOOKUP_
+#define _RE2C_UTIL_LOOKUP_
+
+#include "src/util/c99_stdint.h"
+#include <limits>
+#include <map>
+#include <vector>
+#include <stddef.h>
+
+namespace re2c
+{
+
+/*
+ * O(1) random access
+ * O(log(n)) insertion
+ */
+template<typename data_t, typename hash_t = uint32_t>
+struct lookup_t
+{
+ static const size_t NIL;
+
+private:
+ struct elem_t
+ {
+ size_t next;
+ data_t data;
+
+ elem_t(size_t n, const data_t &d)
+ : next(n), data(d) {}
+ };
+
+ std::vector<elem_t> elems;
+ std::map<hash_t, size_t> lookup;
+
+public:
+ lookup_t();
+ size_t size() const;
+ data_t& operator[](size_t idx);
+ const data_t& operator[](size_t idx) const;
+ size_t push(hash_t hash, const data_t &data);
+ template<typename pred_t> size_t find_with(hash_t hash, const data_t &data, pred_t &pred) const;
+ template<typename pred_t> size_t find_next_with(size_t prev, const data_t &data, pred_t &pred) const;
+
+private:
+ size_t head(hash_t) const;
+ template<typename pred_t> size_t find(size_t next, const data_t &data, pred_t &pred) const;
+};
+
+template<typename data_t, typename hash_t>
+const size_t lookup_t<data_t, hash_t>::NIL = std::numeric_limits<size_t>::max();
+
+template<typename data_t, typename hash_t>
+lookup_t<data_t, hash_t>::lookup_t()
+ : elems()
+ , lookup()
+{}
+
+template<typename data_t, typename hash_t>
+size_t lookup_t<data_t, hash_t>::size() const
+{
+ return elems.size();
+}
+
+template<typename data_t, typename hash_t>
+data_t& lookup_t<data_t, hash_t>::operator[](size_t idx)
+{
+ return elems[idx].data;
+}
+
+template<typename data_t, typename hash_t>
+const data_t& lookup_t<data_t, hash_t>::operator[](size_t idx) const
+{
+ return elems[idx].data;
+}
+
+template<typename data_t, typename hash_t>
+size_t lookup_t<data_t, hash_t>::head(hash_t h) const
+{
+ typename std::map<hash_t, size_t>::const_iterator x = lookup.find(h);
+ return x == lookup.end() ? NIL : x->second;
+}
+
+template<typename data_t, typename hash_t>
+size_t lookup_t<data_t, hash_t>::push(hash_t hash, const data_t &data)
+{
+ const size_t idx = elems.size();
+ elems.push_back(elem_t(head(hash), data));
+ lookup[hash] = idx;
+ return idx;
+}
+
+template<typename data_t, typename hash_t>
+template<typename pred_t>
+size_t lookup_t<data_t, hash_t>::find(size_t next, const data_t &data, pred_t &pred) const
+{
+ for (size_t i = next; i != NIL;) {
+ const elem_t &e = elems[i];
+ if (pred(e.data, data)) {
+ return i;
+ }
+ i = e.next;
+ }
+ return NIL;
+}
+
+template<typename data_t, typename hash_t>
+template<typename pred_t>
+size_t lookup_t<data_t, hash_t>::find_with(hash_t hash, const data_t &data, pred_t &pred) const
+{
+ return find(head(hash), data, pred);
+}
+
+template<typename data_t, typename hash_t>
+template<typename pred_t>
+size_t lookup_t<data_t, hash_t>::find_next_with(size_t prev, const data_t &data, pred_t &pred) const
+{
+ return find(elems[prev].next, data, pred);
+}
+
+} // namespace re2c
+
+#endif // _RE2C_UTIL_LOOKUP_
diff --git a/src/util/ord_hash_set.h b/src/util/ord_hash_set.h
deleted file mode 100644
index 9a0e73ea..00000000
--- a/src/util/ord_hash_set.h
+++ /dev/null
@@ -1,115 +0,0 @@
-#ifndef _RE2C_UTIL_ORD_HASH_SET_
-#define _RE2C_UTIL_ORD_HASH_SET_
-
-#include "src/util/c99_stdint.h"
-#include <stdlib.h> // malloc, free
-#include <string.h> // memcpy
-#include <map>
-#include <vector>
-
-namespace re2c
-{
-
-/*
- * ordered hash set:
- * - access element by index: O(1)
- * - insert element (find existing or add new): O(log(n))
- *
- */
-class ord_hash_set_t
-{
- struct elem_t
- {
- elem_t *next;
- size_t index;
- size_t size;
- char data[1]; // inlined array of variable length
- };
- typedef size_t hash_t;
-
- std::vector<elem_t*> elems;
- std::map<hash_t, elem_t*> lookup;
-
- static hash_t hash(const void *data, size_t size);
- elem_t *make_elem(elem_t *next, size_t index, size_t size, const void *data);
-
-public:
- ord_hash_set_t();
- ~ord_hash_set_t();
- size_t size() const;
- size_t insert(const void *data, size_t size);
- template<typename data_t> size_t deref(size_t i, data_t *&data);
-};
-
-ord_hash_set_t::hash_t ord_hash_set_t::hash(const void *data, size_t size)
-{
- const uint8_t *bytes = static_cast<const uint8_t*>(data);
- hash_t h = size; // seed
- for (size_t i = 0; i < size; ++i)
- {
- h = h ^ ((h << 5) + (h >> 2) + bytes[i]);
- }
- return h;
-}
-
-ord_hash_set_t::elem_t* ord_hash_set_t::make_elem(
- elem_t *next,
- size_t index,
- size_t size,
- const void *data)
-{
- elem_t *e = static_cast<elem_t*>(malloc(offsetof(elem_t, data) + size));
- e->next = next;
- e->index = index;
- e->size = size;
- memcpy(e->data, data, size);
- return e;
-}
-
-ord_hash_set_t::ord_hash_set_t()
- : elems()
- , lookup()
-{}
-
-ord_hash_set_t::~ord_hash_set_t()
-{
- std::for_each(elems.begin(), elems.end(), free);
-}
-
-size_t ord_hash_set_t::size() const
-{
- return elems.size();
-}
-
-size_t ord_hash_set_t::insert(const void *data, size_t size)
-{
- const hash_t h = hash(data, size);
-
- std::map<hash_t, elem_t*>::const_iterator i = lookup.find(h);
- if (i != lookup.end())
- {
- for (elem_t *e = i->second; e; e = e->next)
- {
- if (e->size == size
- && memcmp(e->data, data, size) == 0)
- {
- return e->index;
- }
- }
- }
-
- const size_t index = elems.size();
- elems.push_back(lookup[h] = make_elem(lookup[h], index, size, data));
- return index;
-}
-
-template<typename data_t> size_t ord_hash_set_t::deref(size_t i, data_t *&data)
-{
- elem_t *e = elems[i];
- data = reinterpret_cast<data_t*>(e->data);
- return e->size / sizeof(data_t);
-}
-
-} // namespace re2c
-
-#endif // _RE2C_UTIL_ORD_HASH_SET_
diff --git a/src/util/range.h b/src/util/range.h
index 9a9cf03b..afc142cc 100644
--- a/src/util/range.h
+++ b/src/util/range.h
@@ -1,9 +1,9 @@
#ifndef _RE2C_UTIL_RANGE_
#define _RE2C_UTIL_RANGE_
-#include "src/util/c99_stdint.h"
#include <assert.h>
#include <stddef.h> // NULL
+#include "src/util/c99_stdint.h"
#include "src/test/range/test.h"
#include "src/util/forbid_copy.h"
diff --git a/src/util/s_to_n32_unsafe.h b/src/util/s_to_n32_unsafe.h
index e733c161..27c1e1cc 100644
--- a/src/util/s_to_n32_unsafe.h
+++ b/src/util/s_to_n32_unsafe.h
@@ -1,9 +1,10 @@
#ifndef _RE2C_UTIL_S_TO_N32_UNSAFE_
#define _RE2C_UTIL_S_TO_N32_UNSAFE_
-#include "src/util/attribute.h"
#include "src/util/c99_stdint.h"
+#include "src/util/attribute.h"
+
bool s_to_u32_unsafe (const char * s, const char * s_end, uint32_t & number) RE2C_GXX_ATTRIBUTE ((warn_unused_result));
bool s_to_i32_unsafe (const char * s, const char * s_end, int32_t & number) RE2C_GXX_ATTRIBUTE ((warn_unused_result));
diff --git a/src/util/slab_allocator.h b/src/util/slab_allocator.h
new file mode 100644
index 00000000..f34600d9
--- /dev/null
+++ b/src/util/slab_allocator.h
@@ -0,0 +1,70 @@
+#ifndef _RE2C_UTIL_SLAB_ALLOCATOR_
+#define _RE2C_UTIL_SLAB_ALLOCATOR_
+
+#include "src/util/c99_stdint.h"
+#include <algorithm> // std::for_each
+#include <stdlib.h> // malloc, free
+#include <vector> // slab queue
+
+#include "src/util/forbid_copy.h"
+
+/*
+ * Works nice for tiny POD objects (~30 bytes and lower)
+ * WARNING: Does not free memory for distinct objects!
+ *
+ * Works ~20 times faster, than linux's glibc allocator :]
+ */
+template<uint32_t MAXIMUM_INLINE = 4 * 1024,
+ uint32_t SLAB_SIZE = 1024 * 1024,
+ size_t ALIGN = 1>
+class slab_allocator_t
+{
+ typedef std::vector<char*> slabs_t;
+
+ slabs_t slabs_; /* quasilist of allocated slabs of 'SLAB_SIZE' bytes */
+ char *current_slab_;
+ char *current_slab_end_;
+
+public:
+ slab_allocator_t(): slabs_(), current_slab_(0), current_slab_end_(0) {}
+
+ ~slab_allocator_t() { std::for_each(slabs_.rbegin(), slabs_.rend(), free); }
+
+ void *alloc(size_t size)
+ {
+ char *result;
+
+ /* alignment */
+ size += ALIGN - size % ALIGN;
+
+ /* very large objects */
+ if (size > MAXIMUM_INLINE) {
+ result = static_cast<char*>(malloc(size));
+ slabs_.push_back(result);
+ return result;
+ }
+
+ /* no space in slab */
+ const size_t yet_in_slab = static_cast<size_t>(current_slab_end_ - current_slab_);
+ if (yet_in_slab < size) {
+ current_slab_ = static_cast<char*>(malloc(SLAB_SIZE));
+ current_slab_end_ = current_slab_ + SLAB_SIZE;
+ slabs_.push_back(current_slab_);
+ }
+
+ result = current_slab_;
+ current_slab_ += size;
+
+ return result;
+ }
+
+ template<typename data_t>
+ inline data_t *alloct(size_t n)
+ {
+ return static_cast<data_t*>(alloc(n * sizeof(data_t)));
+ }
+
+ FORBID_COPY(slab_allocator_t);
+};
+
+#endif // _RE2C_UTIL_SLAB_ALLOCATOR_
diff --git a/src/util/string_utils.h b/src/util/string_utils.h
new file mode 100644
index 00000000..65f6b85c
--- /dev/null
+++ b/src/util/string_utils.h
@@ -0,0 +1,37 @@
+#ifndef _RE2C_UTIL_STRING_UTILS_
+#define _RE2C_UTIL_STRING_UTILS_
+
+#include <sstream>
+#include <string>
+
+namespace re2c
+{
+
+template<typename type_t> void strrreplace(
+ std::string &s,
+ const std::string &s1,
+ const type_t &v)
+{
+ std::ostringstream sv;
+ sv << v;
+ const std::string &s2 = sv.str();
+ const size_t l = s1.length();
+ if (l != 0) {
+ std::string::size_type pos;
+ while ((pos = s.find(s1)) != std::string::npos) {
+ s.replace(pos, l, s2);
+ }
+ }
+}
+
+template<typename T>
+static std::string to_string(const T &v)
+{
+ std::ostringstream s;
+ s << v;
+ return s.str();
+}
+
+} // namespace re2c
+
+#endif // _RE2C_UTIL_STRING_UTILS_
diff --git a/src/util/wrap_iter.h b/src/util/wrap_iter.h
new file mode 100644
index 00000000..419c18f7
--- /dev/null
+++ b/src/util/wrap_iter.h
@@ -0,0 +1,26 @@
+#ifndef _RE2C_UTIL_WRAP_ITER_
+#define _RE2C_UTIL_WRAP_ITER_
+
+namespace re2c
+{
+
+// immutable containter
+template<typename container_t>
+class wrap_citer_t
+{
+ typedef typename container_t::const_iterator citer_t;
+ typedef const typename container_t::value_type* cpval_t;
+
+ const citer_t beg;
+ const citer_t end;
+ citer_t cur;
+
+public:
+ explicit wrap_citer_t(const container_t &c): beg(c.begin()), end(c.end()), cur(beg) {}
+ wrap_citer_t& operator++() { if (++cur == end) cur = beg; return *this; }
+ cpval_t operator->() const { return cur.operator->(); }
+};
+
+} // namespace re2c
+
+#endif // _RE2C_UTIL_WRAP_ITER_
diff --git a/test-driver b/test-driver
new file mode 100755
index 00000000..0218a01f
--- /dev/null
+++ b/test-driver
@@ -0,0 +1,148 @@
+#! /bin/sh
+# test-driver - basic testsuite driver script.
+
+scriptversion=2016-01-11.22; # UTC
+
+# Copyright (C) 2011-2017 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# This file is maintained in Automake, please report
+# bugs to <bug-automake@gnu.org> or send patches to
+# <automake-patches@gnu.org>.
+
+# Make unconditional expansion of undefined variables an error. This
+# helps a lot in preventing typo-related bugs.
+set -u
+
+usage_error ()
+{
+ echo "$0: $*" >&2
+ print_usage >&2
+ exit 2
+}
+
+print_usage ()
+{
+ cat <<END
+Usage:
+ test-driver --test-name=NAME --log-file=PATH --trs-file=PATH
+ [--expect-failure={yes|no}] [--color-tests={yes|no}]
+ [--enable-hard-errors={yes|no}] [--]
+ TEST-SCRIPT [TEST-SCRIPT-ARGUMENTS]
+The '--test-name', '--log-file' and '--trs-file' options are mandatory.
+END
+}
+
+test_name= # Used for reporting.
+log_file= # Where to save the output of the test script.
+trs_file= # Where to save the metadata of the test run.
+expect_failure=no
+color_tests=no
+enable_hard_errors=yes
+while test $# -gt 0; do
+ case $1 in
+ --help) print_usage; exit $?;;
+ --version) echo "test-driver $scriptversion"; exit $?;;
+ --test-name) test_name=$2; shift;;
+ --log-file) log_file=$2; shift;;
+ --trs-file) trs_file=$2; shift;;
+ --color-tests) color_tests=$2; shift;;
+ --expect-failure) expect_failure=$2; shift;;
+ --enable-hard-errors) enable_hard_errors=$2; shift;;
+ --) shift; break;;
+ -*) usage_error "invalid option: '$1'";;
+ *) break;;
+ esac
+ shift
+done
+
+missing_opts=
+test x"$test_name" = x && missing_opts="$missing_opts --test-name"
+test x"$log_file" = x && missing_opts="$missing_opts --log-file"
+test x"$trs_file" = x && missing_opts="$missing_opts --trs-file"
+if test x"$missing_opts" != x; then
+ usage_error "the following mandatory options are missing:$missing_opts"
+fi
+
+if test $# -eq 0; then
+ usage_error "missing argument"
+fi
+
+if test $color_tests = yes; then
+ # Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'.
+ red='' # Red.
+ grn='' # Green.
+ lgn='' # Light green.
+ blu='' # Blue.
+ mgn='' # Magenta.
+ std='' # No color.
+else
+ red= grn= lgn= blu= mgn= std=
+fi
+
+do_exit='rm -f $log_file $trs_file; (exit $st); exit $st'
+trap "st=129; $do_exit" 1
+trap "st=130; $do_exit" 2
+trap "st=141; $do_exit" 13
+trap "st=143; $do_exit" 15
+
+# Test script is run here.
+"$@" >$log_file 2>&1
+estatus=$?
+
+if test $enable_hard_errors = no && test $estatus -eq 99; then
+ tweaked_estatus=1
+else
+ tweaked_estatus=$estatus
+fi
+
+case $tweaked_estatus:$expect_failure in
+ 0:yes) col=$red res=XPASS recheck=yes gcopy=yes;;
+ 0:*) col=$grn res=PASS recheck=no gcopy=no;;
+ 77:*) col=$blu res=SKIP recheck=no gcopy=yes;;
+ 99:*) col=$mgn res=ERROR recheck=yes gcopy=yes;;
+ *:yes) col=$lgn res=XFAIL recheck=no gcopy=yes;;
+ *:*) col=$red res=FAIL recheck=yes gcopy=yes;;
+esac
+
+# Report the test outcome and exit status in the logs, so that one can
+# know whether the test passed or failed simply by looking at the '.log'
+# file, without the need of also peaking into the corresponding '.trs'
+# file (automake bug#11814).
+echo "$res $test_name (exit status: $estatus)" >>$log_file
+
+# Report outcome to console.
+echo "${col}${res}${std}: $test_name"
+
+# Register the test result, and other relevant metadata.
+echo ":test-result: $res" > $trs_file
+echo ":global-test-result: $res" >> $trs_file
+echo ":recheck: $recheck" >> $trs_file
+echo ":copy-in-global-log: $gcopy" >> $trs_file
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC0"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/test/bug1054496.c b/test/bug1054496.c
index a6de4a28..e68846a9 100644
--- a/test/bug1054496.c
+++ b/test/bug1054496.c
@@ -99,8 +99,8 @@ yy6:
default: goto yy5;
}
yy7:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 'A':
case 'B':
case 'C':
diff --git a/test/bug116.c b/test/bug116.c
index 2c534685..45402941 100644
--- a/test/bug116.c
+++ b/test/bug116.c
@@ -6,7 +6,6 @@
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- YYCTXMARKER = YYCURSOR;
switch (yych) {
case 'a': goto yy3;
default: goto yy2;
@@ -14,12 +13,12 @@
yy2:
yy3:
++YYCURSOR;
- YYCURSOR = YYCTXMARKER;
+ YYCURSOR -= 1;
#line 2 "bug116.re"
{}
-#line 21 "bug116.c"
+#line 20 "bug116.c"
}
#line 3 "bug116.re"
-re2c: warning: line 3: control flow is undefined for strings that match '[\x0-\x60\x62-\xFF]', use default rule '*' [-Wundefined-control-flow]
re2c: warning: line 2: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 3: control flow is undefined for strings that match '[\x0-\x60\x62-\xFF]', use default rule '*' [-Wundefined-control-flow]
diff --git a/test/bug1163046.--skeleton.c b/test/bug1163046.--skeleton.c
index c0122fec..bd7fbe1f 100644
--- a/test/bug1163046.--skeleton.c
+++ b/test/bug1163046.--skeleton.c
@@ -1,7 +1,9 @@
/* Generated by re2c */
+#include <stddef.h> /* size_t */
#include <stdio.h>
#include <stdlib.h> /* malloc, free */
+#include <string.h> /* memcpy */
static void *read_file
( const char *fname
@@ -58,7 +60,7 @@ error:
#define YYFILL(n) { break; }
static int action_line26
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -66,10 +68,12 @@ static int action_line26
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -79,17 +83,17 @@ static int action_line26
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line26: at position %ld (iteration %u):\n"
+ , "error: lex_line26: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -99,6 +103,13 @@ static int action_line26
}
}
+static int check_key_count_line26(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line26: not enough keys\n");
+ return 1;
+}
+
int lex_line26()
{
const size_t padding = 45; /* YYMAXFILL */
@@ -126,7 +137,7 @@ int lex_line26()
keys = (YYKEYTYPE *) read_file
("bug1163046.--skeleton.c.line26.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -139,7 +150,7 @@ int lex_line26()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -153,12 +164,14 @@ int lex_line26()
}
yy2:
YYSKIP ();
- status = action_line26(i, keys, input, token, &cursor, 2);
+ status = check_key_count_line26(keys_count, i, 3)
+ || action_line26(&i, keys, input, token, &cursor, 2);
continue;
yy4:
YYSKIP ();
yy5:
- status = action_line26(i, keys, input, token, &cursor, 1);
+ status = check_key_count_line26(keys_count, i, 3)
+ || action_line26(&i, keys, input, token, &cursor, 1);
continue;
yy6:
YYSKIP ();
@@ -507,7 +520,8 @@ yy50:
}
yy51:
YYSKIP ();
- status = action_line26(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line26(keys_count, i, 3)
+ || action_line26(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -519,7 +533,7 @@ yy51:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line26: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line26: unused keys left after %u keys\n", i);
}
}
@@ -538,7 +552,6 @@ end:
#undef YYRESTORE
#undef YYLESSTHAN
#undef YYFILL
-#define YYMAXFILL 45
int main()
{
diff --git a/test/bug1163046.c b/test/bug1163046.c
index 7794fc98..4ae1138b 100644
--- a/test/bug1163046.c
+++ b/test/bug1163046.c
@@ -358,6 +358,7 @@ yy51:
#define YYMAXFILL 45
+
int main(int,void**)
{
int res, result = 0;
diff --git a/test/bug128.c b/test/bug128.c
index f4b5b8e9..c01ae39a 100644
--- a/test/bug128.c
+++ b/test/bug128.c
@@ -21,8 +21,8 @@ yy3:
{}
#line 23 "bug128.c"
yy4:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 'a': goto yy7;
case 'c': goto yy8;
default: goto yy5;
@@ -959,7 +959,6 @@ yy138:
}
yy139:
++YYCURSOR;
- yych = *YYCURSOR;
goto yy5;
}
#line 7 "bug128.re"
diff --git a/test/bug1297658.c b/test/bug1297658.c
index 73fc4175..3fbbbab3 100644
--- a/test/bug1297658.c
+++ b/test/bug1297658.c
@@ -86,8 +86,8 @@ yy4:
}
#line 88 "bug1297658.c"
yy6:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 'L': goto yy9;
case 'e': goto yy10;
default: goto yy7;
@@ -106,7 +106,7 @@ yy8:
default: goto yy3;
}
yy9:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy7;
yy10:
yych = *++YYCURSOR;
diff --git a/test/bug142.c b/test/bug142.c
new file mode 100644
index 00000000..2a481bfa
--- /dev/null
+++ b/test/bug142.c
Binary files differ
diff --git a/test/bug142.re b/test/bug142.re
new file mode 100644
index 00000000..fc045eba
--- /dev/null
+++ b/test/bug142.re
Binary files differ
diff --git a/test/bug145.ci.c b/test/bug145.ci.c
new file mode 100644
index 00000000..d4c5fd3b
--- /dev/null
+++ b/test/bug145.ci.c
@@ -0,0 +1,59 @@
+/* Generated by re2c */
+#include <stdio.h>
+
+enum YYCONDTYPE {
+ yycinit,
+ yycC2,
+};
+
+
+int test(const char* str)
+{
+ const unsigned char* YYCURSOR = (const unsigned char*)str;
+ const unsigned char* YYMARKER;
+ const unsigned char *YYCTXMARKER;
+ int c = yycinit;
+
+
+{
+ unsigned char yych;
+ switch (c) {
+ case yycinit: goto yyc_init;
+ case yycC2: goto yyc_C2;
+ }
+/* *********************************** */
+yyc_init:
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'A': goto yy5;
+ default: goto yy3;
+ }
+yy3:
+ ++YYCURSOR;
+ { return 0; }
+yy5:
+ ++YYCURSOR;
+ c = yycC2;
+ goto yyc_C2;
+/* *********************************** */
+yyc_C2:
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'B': goto yy11;
+ default: goto yy9;
+ }
+yy9:
+ ++YYCURSOR;
+ { return 0; }
+yy11:
+ ++YYCURSOR;
+ { return 1; }
+}
+
+}
+
+int main()
+{
+ printf("%d\n", test("AB"));
+ return 0;
+}
diff --git a/test/bug145.ci.re b/test/bug145.ci.re
new file mode 100644
index 00000000..9cf0793d
--- /dev/null
+++ b/test/bug145.ci.re
@@ -0,0 +1,32 @@
+#include <stdio.h>
+
+/*!types:re2c*/
+
+int test(const char* str)
+{
+ const unsigned char* YYCURSOR = (const unsigned char*)str;
+ const unsigned char* YYMARKER;
+ const unsigned char *YYCTXMARKER;
+ int c = yycinit;
+
+ /*!re2c
+ re2c:define:YYCTYPE = "unsigned char";
+ re2c:yyfill:enable = 0;
+ re2c:define:YYGETCONDITION = "c";
+ re2c:define:YYGETCONDITION:naked = 1;
+ re2c:define:YYSETCONDITION = "c = @@;";
+ re2c:define:YYSETCONDITION:naked = 1;
+
+ //<*>* { return 0; }
+ <init>* { return 0; }
+ <init>"A" :=> C2
+ <C2>* { return 0; }
+ <C2>"B" { return 1; }
+ */
+}
+
+int main()
+{
+ printf("%d\n", test("AB"));
+ return 0;
+}
diff --git a/test/bug147.c b/test/bug147.c
new file mode 100644
index 00000000..066cd7d1
--- /dev/null
+++ b/test/bug147.c
@@ -0,0 +1 @@
+re2c: error: line 2: undefined symbol 'name1'
diff --git a/test/bug147.re b/test/bug147.re
new file mode 100644
index 00000000..5d9eff34
--- /dev/null
+++ b/test/bug147.re
@@ -0,0 +1,3 @@
+/*!re2c
+ name1 {}
+*/
diff --git a/test/bug152.c.c b/test/bug152.c.c
new file mode 100644
index 00000000..d106d33e
--- /dev/null
+++ b/test/bug152.c.c
@@ -0,0 +1,15 @@
+/* Generated by re2c */
+#line 1 "bug152.c.re"
+#line 4 "bug152.c.c"
+enum YYCONDTYPE {
+};
+#line 1 "bug152.c.re"
+
+
+#warning this is line 3
+
+void f()
+{
+#line 9 "bug152.c.re"
+
+}
diff --git a/test/bug152.c.re b/test/bug152.c.re
new file mode 100644
index 00000000..7d235b2f
--- /dev/null
+++ b/test/bug152.c.re
@@ -0,0 +1,10 @@
+/*!types:re2c*/
+
+#warning this is line 3
+
+void f()
+{
+/*!re2c
+ <*> * {}
+*/
+}
diff --git a/test/bug1529351.c b/test/bug1529351.c
index 1a61908e..efbd10e8 100644
--- a/test/bug1529351.c
+++ b/test/bug1529351.c
@@ -1 +1 @@
-re2c: error: line 3, column 9: missing '}'
+re2c: error: line 5: missing '}'
diff --git a/test/bug1682718.c b/test/bug1682718.c
index 4ff1b749..85a3788c 100644
--- a/test/bug1682718.c
+++ b/test/bug1682718.c
@@ -26,8 +26,7 @@ yy2:
{return (char*)0;}
#line 28 "bug1682718.c"
yy4:
- ++p;
- yych = (unsigned char)*p;
+ yych = (unsigned char)*++p;
switch (yych) {
case '0':
case '1':
@@ -44,7 +43,7 @@ yy4:
yy6:
#line 9 "bug1682718.re"
{return p;}
-#line 48 "bug1682718.c"
+#line 47 "bug1682718.c"
}
#line 11 "bug1682718.re"
diff --git a/test/bug1682718.is.c b/test/bug1682718.is.c
index 1f566201..3b3bc66e 100644
--- a/test/bug1682718.is.c
+++ b/test/bug1682718.is.c
@@ -11,8 +11,7 @@ yy2:
++p;
{return (char*)0;}
yy4:
- ++p;
- yych = (unsigned char)*p;
+ yych = (unsigned char)*++p;
if (yych <= '/') goto yy6;
if (yych <= '9') goto yy4;
yy6:
diff --git a/test/bug1708378.ib.c b/test/bug1708378.ib.c
index 6ac1efe9..784d936b 100644
--- a/test/bug1708378.ib.c
+++ b/test/bug1708378.ib.c
@@ -3904,8 +3904,8 @@ yy891:
yy892:
{RET("__APPROVALFVGT");}
yy893:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == ' ') goto yy1056;
+ yych = *++YYCURSOR;
+ if (yych == ' ') goto yy1056;
{RET("TVD_APPROVED");}
yy895:
yych = *++YYCURSOR;
diff --git a/test/bug2462777.ci.c b/test/bug2462777.ci.c
index 77c241d5..345fcb73 100644
--- a/test/bug2462777.ci.c
+++ b/test/bug2462777.ci.c
@@ -21,4 +21,4 @@ yy4:
{x;}
}
-re2c: warning: line 2: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 2: rule in condition 'X' matches empty string [-Wmatch-empty-string]
diff --git a/test/bug46_infinite_loop.c b/test/bug46_infinite_loop.c
index b35fa126..1e34d09a 100644
--- a/test/bug46_infinite_loop.c
+++ b/test/bug46_infinite_loop.c
@@ -43,7 +43,6 @@ yy6:
#line 44 "bug46_infinite_loop.c"
yy7:
++YYCURSOR;
- yych = *YYCURSOR;
goto yy6;
}
#line 19 "bug46_infinite_loop.re"
diff --git a/test/bug47_dot_escapes.--emit-dot.c b/test/bug47_dot_escapes.--emit-dot.c
index ed16996c..74132396 100644
--- a/test/bug47_dot_escapes.--emit-dot.c
+++ b/test/bug47_dot_escapes.--emit-dot.c
@@ -1,7 +1,5 @@
/* Generated by re2c */
-
digraph re2c {
-
1 -> 2 [label="[0x00-0x06][0x0E-!][#-&][(-[][0x5D-0xFF]"]
1 -> 3 [label="[0x07]"]
1 -> 5 [label="[0x08]"]
diff --git a/test/bug57.c b/test/bug57.c
index 5cc723e1..2927b16f 100644
--- a/test/bug57.c
+++ b/test/bug57.c
@@ -49,8 +49,7 @@ yy6:
}
yy7:
yyaccept = 1;
- YYMARKER = ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case '\\': goto yy15;
case 'a': goto yy7;
@@ -60,10 +59,9 @@ yy9:
++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;
@@ -76,8 +74,7 @@ yy12:
goto yy2;
}
yy13:
- ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
switch (yych) {
case '>': goto yy9;
case '\\': goto yy11;
@@ -86,8 +83,7 @@ yy13:
default: goto yy12;
}
yy15:
- ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
switch (yych) {
case 'b': goto yy7;
default: goto yy12;
diff --git a/test/bug57_original.bi--case-insensitive.c b/test/bug57_original.bi--case-insensitive.c
index a0bf5cff..fdaa7c65 100644
--- a/test/bug57_original.bi--case-insensitive.c
+++ b/test/bug57_original.bi--case-insensitive.c
@@ -120,7 +120,7 @@ int _scan_autolink_uri(const unsigned char *p)
yy2:
{ return 0; }
yy3:
- yych = *++p;
+ ++p;
goto yy2;
yy4:
yych = *(marker = ++p);
@@ -1304,8 +1304,7 @@ yy124:
if (yych == 'a') goto yy191;
goto yy31;
yy125:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 128) {
goto yy125;
}
@@ -2438,8 +2437,8 @@ yy345:
if (yych == 'D') goto yy346;
if (yych != 'd') goto yy31;
yy346:
- ++p;
- if ((yych = *p) == 'E') goto yy137;
+ yych = *++p;
+ if (yych == 'E') goto yy137;
if (yych == 'e') goto yy137;
goto yy31;
}
@@ -2527,7 +2526,7 @@ int _scan_autolink_email(const unsigned char *p)
yy349:
{ return 0; }
yy350:
- yych = *++p;
+ ++p;
goto yy349;
yy351:
yych = *(marker = ++p);
@@ -2554,8 +2553,7 @@ yy351:
}
}
yy352:
- ++p;
- yych = *p;
+ yych = *++p;
yy353:
if (yybm[0+yych] & 128) {
goto yy352;
@@ -2566,8 +2564,7 @@ yy354:
p = marker;
goto yy349;
yy355:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '@') {
if (yych <= '/') goto yy354;
if (yych >= ':') goto yy354;
@@ -2577,8 +2574,7 @@ yy355:
if (yych >= '{') goto yy354;
}
yy356:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -2599,8 +2595,7 @@ yy356:
goto yy354;
}
}
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy361;
if (yych <= '/') goto yy354;
@@ -2616,8 +2611,7 @@ yy356:
}
}
yy358:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -2643,8 +2637,7 @@ yy359:
++p;
{ return (p - start); }
yy361:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy363;
if (yych <= '/') goto yy354;
@@ -2660,8 +2653,7 @@ yy361:
}
}
yy362:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -2683,8 +2675,7 @@ yy362:
}
}
yy363:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy365;
if (yych <= '/') goto yy354;
@@ -2700,8 +2691,7 @@ yy363:
}
}
yy364:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -2723,8 +2713,7 @@ yy364:
}
}
yy365:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy367;
if (yych <= '/') goto yy354;
@@ -2740,8 +2729,7 @@ yy365:
}
}
yy366:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -2763,8 +2751,7 @@ yy366:
}
}
yy367:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy369;
if (yych <= '/') goto yy354;
@@ -2780,8 +2767,7 @@ yy367:
}
}
yy368:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -2803,8 +2789,7 @@ yy368:
}
}
yy369:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy371;
if (yych <= '/') goto yy354;
@@ -2820,8 +2805,7 @@ yy369:
}
}
yy370:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -2843,8 +2827,7 @@ yy370:
}
}
yy371:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy373;
if (yych <= '/') goto yy354;
@@ -2860,8 +2843,7 @@ yy371:
}
}
yy372:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -2883,8 +2865,7 @@ yy372:
}
}
yy373:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy375;
if (yych <= '/') goto yy354;
@@ -2900,8 +2881,7 @@ yy373:
}
}
yy374:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -2923,8 +2903,7 @@ yy374:
}
}
yy375:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy377;
if (yych <= '/') goto yy354;
@@ -2940,8 +2919,7 @@ yy375:
}
}
yy376:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -2963,8 +2941,7 @@ yy376:
}
}
yy377:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy379;
if (yych <= '/') goto yy354;
@@ -2980,8 +2957,7 @@ yy377:
}
}
yy378:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -3003,8 +2979,7 @@ yy378:
}
}
yy379:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy381;
if (yych <= '/') goto yy354;
@@ -3020,8 +2995,7 @@ yy379:
}
}
yy380:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -3043,8 +3017,7 @@ yy380:
}
}
yy381:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy383;
if (yych <= '/') goto yy354;
@@ -3060,8 +3033,7 @@ yy381:
}
}
yy382:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -3083,8 +3055,7 @@ yy382:
}
}
yy383:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy385;
if (yych <= '/') goto yy354;
@@ -3100,8 +3071,7 @@ yy383:
}
}
yy384:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -3123,8 +3093,7 @@ yy384:
}
}
yy385:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy387;
if (yych <= '/') goto yy354;
@@ -3140,8 +3109,7 @@ yy385:
}
}
yy386:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -3163,8 +3131,7 @@ yy386:
}
}
yy387:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy389;
if (yych <= '/') goto yy354;
@@ -3180,8 +3147,7 @@ yy387:
}
}
yy388:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -3203,8 +3169,7 @@ yy388:
}
}
yy389:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy391;
if (yych <= '/') goto yy354;
@@ -3220,8 +3185,7 @@ yy389:
}
}
yy390:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -3243,8 +3207,7 @@ yy390:
}
}
yy391:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy393;
if (yych <= '/') goto yy354;
@@ -3260,8 +3223,7 @@ yy391:
}
}
yy392:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -3283,8 +3245,7 @@ yy392:
}
}
yy393:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy395;
if (yych <= '/') goto yy354;
@@ -3300,8 +3261,7 @@ yy393:
}
}
yy394:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -3323,8 +3283,7 @@ yy394:
}
}
yy395:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy397;
if (yych <= '/') goto yy354;
@@ -3340,8 +3299,7 @@ yy395:
}
}
yy396:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -3363,8 +3321,7 @@ yy396:
}
}
yy397:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy399;
if (yych <= '/') goto yy354;
@@ -3380,8 +3337,7 @@ yy397:
}
}
yy398:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -3403,8 +3359,7 @@ yy398:
}
}
yy399:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy401;
if (yych <= '/') goto yy354;
@@ -3420,8 +3375,7 @@ yy399:
}
}
yy400:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -3443,8 +3397,7 @@ yy400:
}
}
yy401:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy403;
if (yych <= '/') goto yy354;
@@ -3460,8 +3413,7 @@ yy401:
}
}
yy402:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -3483,8 +3435,7 @@ yy402:
}
}
yy403:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy405;
if (yych <= '/') goto yy354;
@@ -3500,8 +3451,7 @@ yy403:
}
}
yy404:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -3523,8 +3473,7 @@ yy404:
}
}
yy405:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy407;
if (yych <= '/') goto yy354;
@@ -3540,8 +3489,7 @@ yy405:
}
}
yy406:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -3563,8 +3511,7 @@ yy406:
}
}
yy407:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy409;
if (yych <= '/') goto yy354;
@@ -3580,8 +3527,7 @@ yy407:
}
}
yy408:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -3603,8 +3549,7 @@ yy408:
}
}
yy409:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy411;
if (yych <= '/') goto yy354;
@@ -3620,8 +3565,7 @@ yy409:
}
}
yy410:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -3643,8 +3587,7 @@ yy410:
}
}
yy411:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy413;
if (yych <= '/') goto yy354;
@@ -3660,8 +3603,7 @@ yy411:
}
}
yy412:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -3683,8 +3625,7 @@ yy412:
}
}
yy413:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy415;
if (yych <= '/') goto yy354;
@@ -3700,8 +3641,7 @@ yy413:
}
}
yy414:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -3723,8 +3663,7 @@ yy414:
}
}
yy415:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy417;
if (yych <= '/') goto yy354;
@@ -3740,8 +3679,7 @@ yy415:
}
}
yy416:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -3763,8 +3701,7 @@ yy416:
}
}
yy417:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy419;
if (yych <= '/') goto yy354;
@@ -3780,8 +3717,7 @@ yy417:
}
}
yy418:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -3803,8 +3739,7 @@ yy418:
}
}
yy419:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy421;
if (yych <= '/') goto yy354;
@@ -3820,8 +3755,7 @@ yy419:
}
}
yy420:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -3843,8 +3777,7 @@ yy420:
}
}
yy421:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy423;
if (yych <= '/') goto yy354;
@@ -3860,8 +3793,7 @@ yy421:
}
}
yy422:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -3883,8 +3815,7 @@ yy422:
}
}
yy423:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy425;
if (yych <= '/') goto yy354;
@@ -3900,8 +3831,7 @@ yy423:
}
}
yy424:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -3923,8 +3853,7 @@ yy424:
}
}
yy425:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy427;
if (yych <= '/') goto yy354;
@@ -3940,8 +3869,7 @@ yy425:
}
}
yy426:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -3963,8 +3891,7 @@ yy426:
}
}
yy427:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy429;
if (yych <= '/') goto yy354;
@@ -3980,8 +3907,7 @@ yy427:
}
}
yy428:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -4003,8 +3929,7 @@ yy428:
}
}
yy429:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy431;
if (yych <= '/') goto yy354;
@@ -4020,8 +3945,7 @@ yy429:
}
}
yy430:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -4043,8 +3967,7 @@ yy430:
}
}
yy431:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy433;
if (yych <= '/') goto yy354;
@@ -4060,8 +3983,7 @@ yy431:
}
}
yy432:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -4083,8 +4005,7 @@ yy432:
}
}
yy433:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy435;
if (yych <= '/') goto yy354;
@@ -4100,8 +4021,7 @@ yy433:
}
}
yy434:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -4123,8 +4043,7 @@ yy434:
}
}
yy435:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy437;
if (yych <= '/') goto yy354;
@@ -4140,8 +4059,7 @@ yy435:
}
}
yy436:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -4163,8 +4081,7 @@ yy436:
}
}
yy437:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy439;
if (yych <= '/') goto yy354;
@@ -4180,8 +4097,7 @@ yy437:
}
}
yy438:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -4203,8 +4119,7 @@ yy438:
}
}
yy439:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy441;
if (yych <= '/') goto yy354;
@@ -4220,8 +4135,7 @@ yy439:
}
}
yy440:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -4243,8 +4157,7 @@ yy440:
}
}
yy441:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy443;
if (yych <= '/') goto yy354;
@@ -4260,8 +4173,7 @@ yy441:
}
}
yy442:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -4283,8 +4195,7 @@ yy442:
}
}
yy443:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy445;
if (yych <= '/') goto yy354;
@@ -4300,8 +4211,7 @@ yy443:
}
}
yy444:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -4323,8 +4233,7 @@ yy444:
}
}
yy445:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy447;
if (yych <= '/') goto yy354;
@@ -4340,8 +4249,7 @@ yy445:
}
}
yy446:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -4363,8 +4271,7 @@ yy446:
}
}
yy447:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy449;
if (yych <= '/') goto yy354;
@@ -4380,8 +4287,7 @@ yy447:
}
}
yy448:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -4403,8 +4309,7 @@ yy448:
}
}
yy449:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy451;
if (yych <= '/') goto yy354;
@@ -4420,8 +4325,7 @@ yy449:
}
}
yy450:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -4443,8 +4347,7 @@ yy450:
}
}
yy451:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy453;
if (yych <= '/') goto yy354;
@@ -4460,8 +4363,7 @@ yy451:
}
}
yy452:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -4483,8 +4385,7 @@ yy452:
}
}
yy453:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy455;
if (yych <= '/') goto yy354;
@@ -4500,8 +4401,7 @@ yy453:
}
}
yy454:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -4523,8 +4423,7 @@ yy454:
}
}
yy455:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy457;
if (yych <= '/') goto yy354;
@@ -4540,8 +4439,7 @@ yy455:
}
}
yy456:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -4563,8 +4461,7 @@ yy456:
}
}
yy457:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy459;
if (yych <= '/') goto yy354;
@@ -4580,8 +4477,7 @@ yy457:
}
}
yy458:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -4603,8 +4499,7 @@ yy458:
}
}
yy459:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy461;
if (yych <= '/') goto yy354;
@@ -4620,8 +4515,7 @@ yy459:
}
}
yy460:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -4643,8 +4537,7 @@ yy460:
}
}
yy461:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy463;
if (yych <= '/') goto yy354;
@@ -4660,8 +4553,7 @@ yy461:
}
}
yy462:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -4683,8 +4575,7 @@ yy462:
}
}
yy463:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy465;
if (yych <= '/') goto yy354;
@@ -4700,8 +4591,7 @@ yy463:
}
}
yy464:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -4723,8 +4613,7 @@ yy464:
}
}
yy465:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy467;
if (yych <= '/') goto yy354;
@@ -4740,8 +4629,7 @@ yy465:
}
}
yy466:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -4763,8 +4651,7 @@ yy466:
}
}
yy467:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy469;
if (yych <= '/') goto yy354;
@@ -4780,8 +4667,7 @@ yy467:
}
}
yy468:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -4803,8 +4689,7 @@ yy468:
}
}
yy469:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy471;
if (yych <= '/') goto yy354;
@@ -4820,8 +4705,7 @@ yy469:
}
}
yy470:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -4843,8 +4727,7 @@ yy470:
}
}
yy471:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy473;
if (yych <= '/') goto yy354;
@@ -4860,8 +4743,7 @@ yy471:
}
}
yy472:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -4883,8 +4765,7 @@ yy472:
}
}
yy473:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy475;
if (yych <= '/') goto yy354;
@@ -4900,8 +4781,7 @@ yy473:
}
}
yy474:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -4923,8 +4803,7 @@ yy474:
}
}
yy475:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy477;
if (yych <= '/') goto yy354;
@@ -4940,8 +4819,7 @@ yy475:
}
}
yy476:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -4963,8 +4841,7 @@ yy476:
}
}
yy477:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych == '-') goto yy479;
if (yych <= '/') goto yy354;
@@ -4980,8 +4857,7 @@ yy477:
}
}
yy478:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= ',') goto yy354;
@@ -5003,8 +4879,7 @@ yy478:
}
}
yy479:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '@') {
if (yych <= '/') goto yy354;
if (yych <= '9') goto yy481;
@@ -5016,8 +4891,7 @@ yy479:
goto yy354;
}
yy480:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '=') {
if (yych <= '.') {
if (yych <= '-') goto yy354;
@@ -5036,8 +4910,7 @@ yy480:
}
}
yy481:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych == '.') goto yy355;
if (yych == '>') goto yy359;
goto yy354;
@@ -5144,7 +5017,7 @@ int _scan_html_tag(const unsigned char *p)
yy484:
{ return 0; }
yy485:
- yych = *++p;
+ ++p;
goto yy484;
yy486:
yych = *(marker = ++p);
@@ -5168,25 +5041,24 @@ yy488:
goto yy498;
yy489:
yych = *(marker = ++p);
- if (yybm[0+yych] & 1) {
- goto yy500;
- }
- if (yych <= '>') {
- if (yych <= '/') {
- if (yych <= '.') goto yy484;
- goto yy502;
+ if (yych <= '9') {
+ if (yych <= 0x1F) {
+ if (yych <= 0x08) goto yy484;
+ if (yych <= '\r') goto yy504;
+ goto yy484;
} else {
- if (yych <= '9') goto yy503;
- if (yych <= '=') goto yy484;
- goto yy505;
+ if (yych <= ' ') goto yy504;
+ if (yych <= '.') goto yy484;
+ goto yy504;
}
} else {
- if (yych <= 'Z') {
- if (yych <= '@') goto yy484;
- goto yy503;
+ if (yych <= '@') {
+ if (yych == '>') goto yy504;
+ goto yy484;
} else {
+ if (yych <= 'Z') goto yy504;
if (yych <= '`') goto yy484;
- if (yych <= 'z') goto yy503;
+ if (yych <= 'z') goto yy504;
goto yy484;
}
}
@@ -5197,8 +5069,7 @@ yy491:
p = marker;
goto yy484;
yy492:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[256+yych] & 32) {
goto yy492;
}
@@ -5212,8 +5083,7 @@ yy494:
if (yych == 'c') goto yy510;
goto yy491;
yy495:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[256+yych] & 64) {
goto yy495;
}
@@ -5227,21 +5097,18 @@ 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;
}
@@ -5269,8 +5136,8 @@ yy502:
if (yych == '>') goto yy505;
goto yy491;
yy503:
- ++p;
- yych = *p;
+ yych = *++p;
+yy504:
if (yybm[0+yych] & 1) {
goto yy500;
}
@@ -5301,8 +5168,7 @@ yy507:
if (yych == '>') goto yy491;
goto yy516;
yy508:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 2) {
goto yy508;
}
@@ -5314,8 +5180,7 @@ yy510:
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;
@@ -5326,8 +5191,7 @@ yy511:
goto yy491;
}
yy513:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 4) {
goto yy513;
}
@@ -5350,8 +5214,7 @@ yy513:
}
}
yy515:
- ++p;
- yych = *p;
+ yych = *++p;
yy516:
if (yybm[0+yych] & 8) {
goto yy515;
@@ -5369,8 +5232,7 @@ yy518:
if (yych == 'a') goto yy523;
goto yy491;
yy519:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '<') {
if (yych <= ' ') {
if (yych <= 0x08) goto yy491;
@@ -5404,8 +5266,7 @@ yy519:
}
}
yy521:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 16) {
goto yy524;
}
@@ -5415,8 +5276,7 @@ yy521:
if (yych <= '\'') goto yy529;
goto yy491;
yy522:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 8) {
goto yy515;
}
@@ -5428,8 +5288,7 @@ yy523:
if (yych == 't') goto yy531;
goto yy491;
yy524:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 16) {
goto yy524;
}
@@ -5438,8 +5297,7 @@ yy524:
if (yych == '>') goto yy505;
goto yy491;
yy526:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 16) {
goto yy524;
}
@@ -5452,16 +5310,14 @@ yy526:
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;
}
@@ -5473,8 +5329,7 @@ yy531:
if (yych == 'a') goto yy537;
goto yy491;
yy532:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych <= ' ') {
if (yych <= 0x08) {
@@ -5517,8 +5372,7 @@ yy532:
}
}
yy534:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '9') {
if (yych <= ' ') {
if (yych <= 0x08) {
@@ -5561,8 +5415,7 @@ yy534:
}
}
yy536:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 1) {
goto yy500;
}
@@ -5574,8 +5427,7 @@ yy537:
if (yych == '[') goto yy540;
goto yy491;
yy538:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '/') {
if (yych <= '!') {
if (yych <= '\r') {
@@ -5621,16 +5473,14 @@ yy538:
}
}
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) {
@@ -5674,14 +5524,12 @@ yy542:
}
}
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;
@@ -5705,7 +5553,7 @@ int _scan_html_block_tag(const unsigned char *p)
yy548:
{ return 0; }
yy549:
- yych = *++p;
+ ++p;
goto yy548;
yy550:
yych = *(marker = ++p);
@@ -7303,8 +7151,8 @@ yy765:
if (yych == 't') goto yy698;
goto yy554;
yy766:
- ++p;
- if ((yych = *p) == 'T') goto yy718;
+ yych = *++p;
+ if (yych == 'T') goto yy718;
if (yych == 't') goto yy718;
goto yy554;
}
@@ -7359,13 +7207,12 @@ int _scan_link_url(const unsigned char *p)
};
yych = *p;
if (yybm[0+yych] & 8) {
- goto yy772;
+ goto yy771;
}
if (yych <= ')') {
- if (yych <= 0x1F) goto yy770;
+ if (yych <= 0x1F) goto yy769;
if (yych <= '\'') goto yy774;
if (yych <= '(') goto yy776;
- goto yy770;
} else {
if (yych <= '<') {
if (yych <= ';') goto yy774;
@@ -7376,58 +7223,56 @@ int _scan_link_url(const unsigned char *p)
}
}
yy769:
- { return (p - start); }
-yy770:
++p;
-yy771:
+yy770:
{ return 0; }
-yy772:
+yy771:
yyaccept = 0;
- marker = ++p;
- yych = *p;
+ yych = *(marker = ++p);
if (yybm[0+yych] & 8) {
- goto yy772;
+ goto yy771;
}
if (yych <= ')') {
- if (yych <= 0x1F) goto yy769;
+ if (yych <= 0x1F) goto yy773;
if (yych <= '\'') goto yy774;
if (yych <= '(') goto yy780;
- goto yy769;
} else {
if (yych <= '<') {
- if (yych >= '<') goto yy777;
+ if (yych <= ';') goto yy774;
+ goto yy777;
} else {
if (yych == '\\') goto yy783;
+ goto yy774;
}
}
+yy773:
+ { return (p - start); }
yy774:
yyaccept = 0;
- marker = ++p;
- yych = *p;
+ yych = *(marker = ++p);
yy775:
if (yybm[0+yych] & 16) {
goto yy774;
}
- if (yych <= ' ') goto yy769;
+ if (yych <= ' ') goto yy773;
if (yych <= '(') goto yy780;
- if (yych <= ')') goto yy769;
+ if (yych <= ')') goto yy773;
goto yy783;
yy776:
yyaccept = 1;
yych = *(marker = ++p);
- if (yych <= ' ') goto yy771;
- if (yych == '(') goto yy771;
+ if (yych <= ' ') goto yy770;
+ if (yych == '(') goto yy770;
goto yy781;
yy777:
yyaccept = 0;
- marker = ++p;
- yych = *p;
+ yych = *(marker = ++p);
if (yybm[0+yych] & 32) {
goto yy777;
}
if (yych <= ' ') {
- if (yych <= 0x00) goto yy769;
- if (yych == '\n') goto yy769;
+ if (yych <= 0x00) goto yy773;
+ if (yych == '\n') goto yy773;
goto yy785;
} else {
if (yych <= ')') {
@@ -7442,23 +7287,22 @@ yy777:
yy779:
yych = *++p;
if (yych <= '@') {
- if (yych <= ' ') goto yy771;
+ if (yych <= ' ') goto yy770;
if (yych <= '/') goto yy774;
- if (yych <= '9') goto yy771;
+ if (yych <= '9') goto yy770;
goto yy774;
} else {
if (yych <= '`') {
- if (yych <= 'Z') goto yy771;
+ if (yych <= 'Z') goto yy770;
goto yy774;
} else {
- if (yych <= 'z') goto yy771;
+ if (yych <= 'z') goto yy770;
if (yych <= '~') goto yy774;
- goto yy771;
+ goto yy770;
}
}
yy780:
- ++p;
- yych = *p;
+ yych = *++p;
yy781:
if (yych <= '(') {
if (yych <= ' ') goto yy782;
@@ -7472,16 +7316,15 @@ yy782:
p = marker;
if (yyaccept <= 1) {
if (yyaccept == 0) {
- goto yy769;
+ goto yy773;
} else {
- goto yy771;
+ goto yy770;
}
} else {
goto yy790;
}
yy783:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '@') {
if (yych <= ' ') goto yy782;
if (yych <= '/') goto yy774;
@@ -7498,8 +7341,7 @@ yy783:
}
}
yy784:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '@') {
if (yych <= ' ') goto yy782;
if (yych <= '/') goto yy780;
@@ -7516,8 +7358,7 @@ yy784:
}
}
yy785:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 64) {
goto yy785;
}
@@ -7525,8 +7366,7 @@ yy785:
if (yych <= '>') goto yy792;
goto yy793;
yy787:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= ')') {
if (yych <= '\n') {
if (yych <= 0x00) goto yy782;
@@ -7556,8 +7396,7 @@ yy789:
yy790:
{ return (p - start); }
yy791:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '>') {
if (yych <= ' ') {
if (yych <= 0x00) goto yy782;
@@ -7583,11 +7422,10 @@ yy791:
}
}
yy792:
- yych = *++p;
+ ++p;
goto yy790;
yy793:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 128) {
goto yy793;
}
@@ -7606,8 +7444,7 @@ yy795:
if (yych == '(') goto yy790;
goto yy781;
yy796:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '>') {
if (yych <= ' ') {
if (yych <= 0x00) goto yy782;
@@ -7634,8 +7471,7 @@ yy796:
}
yy797:
yyaccept = 2;
- marker = ++p;
- yych = *p;
+ yych = *(marker = ++p);
if (yybm[0+yych] & 32) {
goto yy777;
}
@@ -7655,13 +7491,12 @@ yy797:
}
yy798:
yyaccept = 0;
- marker = ++p;
- yych = *p;
+ yych = *(marker = ++p);
if (yych <= '(') {
if (yych <= '\n') {
- if (yych <= 0x00) goto yy769;
+ if (yych <= 0x00) goto yy773;
if (yych <= '\t') goto yy785;
- goto yy769;
+ goto yy773;
} else {
if (yych <= ' ') goto yy785;
if (yych <= '\'') goto yy777;
@@ -7679,8 +7514,7 @@ yy798:
}
yy799:
yyaccept = 2;
- marker = ++p;
- yych = *p;
+ yych = *(marker = ++p);
if (yybm[0+yych] & 64) {
goto yy785;
}
@@ -7689,8 +7523,7 @@ yy799:
goto yy793;
yy800:
yyaccept = 2;
- marker = ++p;
- yych = *p;
+ yych = *(marker = ++p);
if (yych <= ')') {
if (yych <= '\n') {
if (yych <= 0x00) goto yy790;
@@ -7713,8 +7546,7 @@ yy800:
}
}
yy801:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '(') {
if (yych <= '\n') {
if (yych <= 0x00) goto yy782;
@@ -7798,7 +7630,7 @@ int _scan_link_title(const unsigned char *p)
yy804:
{ return 0; }
yy805:
- yych = *++p;
+ ++p;
goto yy804;
yy806:
yyaccept = 0;
@@ -7816,8 +7648,7 @@ yy808:
if (yych <= 0x00) goto yy804;
goto yy823;
yy809:
- ++p;
- yych = *p;
+ yych = *++p;
yy810:
if (yybm[0+yych] & 16) {
goto yy809;
@@ -7845,8 +7676,7 @@ yy812:
yy813:
{ return (p - start); }
yy814:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 16) {
goto yy809;
}
@@ -7854,8 +7684,7 @@ yy814:
if (yych <= '"') goto yy828;
goto yy814;
yy816:
- ++p;
- yych = *p;
+ yych = *++p;
yy817:
if (yybm[0+yych] & 64) {
goto yy816;
@@ -7867,8 +7696,7 @@ yy818:
yy819:
{ return (p - start); }
yy820:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 64) {
goto yy816;
}
@@ -7876,8 +7704,7 @@ yy820:
if (yych <= '\'') goto yy829;
goto yy820;
yy822:
- ++p;
- yych = *p;
+ yych = *++p;
yy823:
if (yybm[0+yych] & 128) {
goto yy822;
@@ -7889,8 +7716,7 @@ yy824:
yy825:
{ return (p - start); }
yy826:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 128) {
goto yy822;
}
@@ -7899,8 +7725,7 @@ yy826:
goto yy826;
yy828:
yyaccept = 1;
- marker = ++p;
- yych = *p;
+ yych = *(marker = ++p);
if (yybm[0+yych] & 16) {
goto yy809;
}
@@ -7909,8 +7734,7 @@ yy828:
goto yy814;
yy829:
yyaccept = 2;
- marker = ++p;
- yych = *p;
+ yych = *(marker = ++p);
if (yybm[0+yych] & 64) {
goto yy816;
}
@@ -7919,8 +7743,7 @@ yy829:
goto yy820;
yy830:
yyaccept = 3;
- marker = ++p;
- yych = *p;
+ yych = *(marker = ++p);
if (yybm[0+yych] & 128) {
goto yy822;
}
@@ -7974,21 +7797,16 @@ int _scan_spacechars(const unsigned char *p)
};
yych = *p;
if (yybm[0+yych] & 128) {
- goto yy836;
+ goto yy835;
}
- goto yy834;
-yy833:
- { return (p - start); }
-yy834:
++p;
{ return 0; }
-yy836:
- ++p;
- yych = *p;
+yy835:
+ yych = *++p;
if (yybm[0+yych] & 128) {
- goto yy836;
+ goto yy835;
}
- goto yy833;
+ { return (p - start); }
}
}
@@ -8042,7 +7860,7 @@ int _scan_atx_header_start(const unsigned char *p)
yy840:
{ return 0; }
yy841:
- yych = *++p;
+ ++p;
goto yy840;
yy842:
yych = *(marker = ++p);
@@ -8057,8 +7875,7 @@ yy843:
yy844:
{ return (p - start); }
yy845:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 128) {
goto yy845;
}
@@ -8092,8 +7909,8 @@ yy849:
}
if (yych == '\n') goto yy843;
if (yych != '#') goto yy848;
- ++p;
- if (yybm[0+(yych = *p)] & 128) {
+ yych = *++p;
+ if (yybm[0+yych] & 128) {
goto yy845;
}
if (yych == '\n') goto yy843;
@@ -8155,7 +7972,7 @@ int _scan_setext_header_line(const unsigned char *p)
yy855:
{ return 0; }
yy856:
- yych = *++p;
+ ++p;
goto yy855;
yy857:
yych = *(marker = ++p);
@@ -8177,8 +7994,7 @@ yy859:
++p;
{ return 2; }
yy861:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 32) {
goto yy861;
}
@@ -8187,8 +8003,7 @@ yy863:
p = marker;
goto yy855;
yy864:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 32) {
goto yy861;
}
@@ -8199,14 +8014,12 @@ yy866:
++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;
}
@@ -8278,7 +8091,7 @@ int _scan_hrule(const unsigned char *p)
yy874:
{ return 0; }
yy875:
- yych = *++p;
+ ++p;
goto yy874;
yy876:
yych = *(marker = ++p);
@@ -8298,8 +8111,7 @@ yy878:
if (yych == '_') goto yy890;
goto yy874;
yy879:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 8) {
goto yy879;
}
@@ -8308,36 +8120,30 @@ yy881:
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;
}
@@ -8346,8 +8152,7 @@ yy892:
if (yych <= '\n') goto yy900;
goto yy881;
yy894:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 32) {
goto yy894;
}
@@ -8356,8 +8161,7 @@ yy894:
if (yych <= '\n') goto yy904;
goto yy881;
yy896:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 64) {
goto yy896;
}
@@ -8366,8 +8170,7 @@ yy896:
if (yych <= '\n') goto yy908;
goto yy881;
yy898:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 128) {
goto yy898;
}
@@ -8377,8 +8180,7 @@ yy900:
++p;
{ return (p - start); }
yy902:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '\n') {
if (yych <= 0x08) goto yy881;
if (yych <= '\t') goto yy902;
@@ -8390,8 +8192,7 @@ yy904:
++p;
{ return (p - start); }
yy906:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '\n') {
if (yych <= 0x08) goto yy881;
if (yych <= '\t') goto yy906;
@@ -8459,7 +8260,7 @@ int _scan_open_code_fence(const unsigned char *p)
yy912:
{ return 0; }
yy913:
- yych = *++p;
+ ++p;
goto yy912;
yy914:
yych = *(marker = ++p);
@@ -8484,28 +8285,31 @@ yy918:
}
goto yy917;
yy919:
- ++p;
- yych = *p;
- marker = p;
- if (yybm[0+yych] & 64) {
- goto yy923;
+ yych = *++p;
+ if (yybm[0+yych] & 16) {
+ goto yy919;
}
if (yych <= 0x00) goto yy917;
- if (yych <= '\n') goto yy925;
- goto yy919;
-yy921:
- ++p;
- yych = *p;
+ if (yych == '\n') {
+ marker = p;
+ goto yy925;
+ }
marker = p;
- if (yybm[0+yych] & 128) {
- goto yy927;
+ goto yy923;
+yy921:
+ yych = *++p;
+ if (yybm[0+yych] & 32) {
+ goto yy921;
}
if (yych <= 0x00) goto yy917;
- if (yych <= '\n') goto yy929;
- goto yy921;
+ if (yych == '\n') {
+ marker = p;
+ goto yy929;
+ }
+ marker = p;
+ goto yy927;
yy923:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 64) {
goto yy923;
}
@@ -8516,8 +8320,7 @@ yy925:
p = marker;
{ return (p - start); }
yy927:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 128) {
goto yy927;
}
@@ -8584,7 +8387,7 @@ int _scan_close_code_fence(const unsigned char *p)
yy933:
{ return 0; }
yy934:
- yych = *++p;
+ ++p;
goto yy933;
yy935:
yych = *(marker = ++p);
@@ -8609,34 +8412,47 @@ yy939:
}
goto yy938;
yy940:
- ++p;
- yych = *p;
- marker = p;
- if (yybm[0+yych] & 128) {
- goto yy944;
+ yych = *++p;
+ if (yybm[0+yych] & 32) {
+ goto yy940;
+ }
+ if (yych <= '\n') {
+ if (yych <= 0x08) goto yy938;
+ if (yych <= '\t') {
+ marker = p;
+ goto yy944;
+ }
+ marker = p;
+ goto yy946;
+ } else {
+ if (yych == ' ') {
+ marker = p;
+ goto yy944;
+ }
+ goto yy938;
}
- if (yych <= 0x08) goto yy938;
- if (yych <= '\n') goto yy946;
- if (yych == '`') goto yy940;
- goto yy938;
yy942:
- ++p;
- yych = *p;
- marker = p;
+ yych = *++p;
if (yybm[0+yych] & 64) {
goto yy942;
}
if (yych <= '\n') {
if (yych <= 0x08) goto yy938;
- if (yych <= '\t') goto yy948;
+ if (yych <= '\t') {
+ marker = p;
+ goto yy948;
+ }
+ marker = p;
goto yy950;
} else {
- if (yych == ' ') goto yy948;
+ if (yych == ' ') {
+ marker = p;
+ goto yy948;
+ }
goto yy938;
}
yy944:
- ++p;
- yych = *p;
+ yych = *++p;
if (yybm[0+yych] & 128) {
goto yy944;
}
@@ -8647,8 +8463,7 @@ yy946:
p = marker;
{ return (p - start); }
yy948:
- ++p;
- yych = *p;
+ yych = *++p;
if (yych <= '\n') {
if (yych <= 0x08) goto yy938;
if (yych <= '\t') goto yy948;
@@ -8680,7 +8495,7 @@ int _scan_entity(const unsigned char *p)
yy954:
{ return 0; }
yy955:
- yych = *++p;
+ ++p;
goto yy954;
yy956:
yych = *(marker = ++p);
@@ -9344,8 +9159,8 @@ yy1006:
}
}
yy1007:
- ++p;
- if ((yych = *p) <= ';') {
+ yych = *++p;
+ if (yych <= ';') {
if (yych <= '/') goto yy958;
if (yych <= '9') goto yy983;
if (yych <= ':') goto yy958;
@@ -9372,6 +9187,7 @@ re2c: warning: line 94: rule matches empty string [-Wmatch-empty-string]
re2c: warning: line 105: rule matches empty string [-Wmatch-empty-string]
re2c: warning: line 119: rule matches empty string [-Wmatch-empty-string]
re2c: warning: line 133: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 134: rule matches empty string [-Wmatch-empty-string]
re2c: warning: line 149: rule matches empty string [-Wmatch-empty-string]
re2c: warning: line 158: rule matches empty string [-Wmatch-empty-string]
re2c: warning: line 170: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/bug60_redundant_yymarker.ci.c b/test/bug60_redundant_yymarker.ci.c
index 6da64e70..f5b2c479 100644
--- a/test/bug60_redundant_yymarker.ci.c
+++ b/test/bug60_redundant_yymarker.ci.c
@@ -8,61 +8,39 @@
}
/* *********************************** */
yyc_c1:
- if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
- yych = *YYCURSOR;
- switch (yych) {
- case 'b': goto yy5;
- default: goto yy3;
- }
-yy3:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
-yy4:
- switch (yych) {
- case 'a': goto yy7;
- default: goto yy3;
- }
-yy5:
- ++YYCURSOR;
- yych = *YYCURSOR;
- goto yy4;
- {}
-yy7:
+ goto yy1;
+yy2:
++YYCURSOR;
+yy1:
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- switch (yych) {
- case 'a': goto yy7;
- default: goto yy3;
- }
- {}
+ goto yy2;
/* *********************************** */
yyc_c2:
if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
yych = *YYCURSOR;
switch (yych) {
- case 'd': goto yy13;
- default: goto yy12;
+ case 'd': goto yy7;
+ default: goto yy6;
}
-yy12:
+yy6:
YYCURSOR = YYMARKER;
- goto yy14;
-yy13:
+ goto yy8;
+yy7:
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
- case 'd': goto yy15;
- default: goto yy14;
+ case 'd': goto yy9;
+ default: goto yy8;
}
-yy14:
+yy8:
{}
-yy15:
+yy9:
yych = *++YYCURSOR;
switch (yych) {
- case 'd': goto yy16;
- default: goto yy12;
+ case 'd': goto yy10;
+ default: goto yy6;
}
-yy16:
+yy10:
++YYCURSOR;
{}
}
diff --git a/test/bug61.i--empty-class(error).c b/test/bug61.i--empty-class(error).c
index 9bce6164..3b7847de 100644
--- a/test/bug61.i--empty-class(error).c
+++ b/test/bug61.i--empty-class(error).c
@@ -1 +1 @@
-re2c: error: line 2, column 5: empty character class
+re2c: error: line 2, column 4: empty character class
diff --git a/test/bug61.i--empty-class(match-empty).c b/test/bug61.i--empty-class(match-empty).c
index 5b2fa4a2..9cb24cef 100644
--- a/test/bug61.i--empty-class(match-empty).c
+++ b/test/bug61.i--empty-class(match-empty).c
@@ -6,4 +6,4 @@ re2c: warning: line 10: empty character class [-Wempty-character-class]
re2c: warning: line 10: rule matches empty string [-Wmatch-empty-string]
re2c: warning: line 14: empty character class [-Wempty-character-class]
re2c: warning: line 14: empty character class [-Wempty-character-class]
-re2c: error: line 14, column 11: can only difference char sets
+re2c: error: line 14, column 4: can only difference char sets
diff --git a/test/bug61.i--empty-class(match-none)--eager-skip.c b/test/bug61.i--empty-class(match-none)--eager-skip.c
new file mode 100644
index 00000000..32db5143
--- /dev/null
+++ b/test/bug61.i--empty-class(match-none)--eager-skip.c
@@ -0,0 +1,49 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+}
+
+
+
+{
+ YYCTYPE yych;
+}
+
+
+
+{
+ YYCTYPE yych;
+}
+
+
+
+{
+ YYCTYPE yych;
+}
+
+
+
+{
+ YYCTYPE yych;
+}
+
+re2c: warning: line 2: empty character class [-Wempty-character-class]
+re2c: warning: line 3: control flow is undefined for strings that match '', use default rule '*' [-Wundefined-control-flow]
+re2c: warning: line 2: unreachable rule [-Wunreachable-rules]
+re2c: warning: line 6: empty character class [-Wempty-character-class]
+re2c: warning: line 7: control flow is undefined for strings that match '', use default rule '*' [-Wundefined-control-flow]
+re2c: warning: line 6: unreachable rule [-Wunreachable-rules]
+re2c: warning: line 10: empty character class [-Wempty-character-class]
+re2c: warning: line 11: control flow is undefined for strings that match '', use default rule '*' [-Wundefined-control-flow]
+re2c: warning: line 10: unreachable rule [-Wunreachable-rules]
+re2c: warning: line 14: empty character class [-Wempty-character-class]
+re2c: warning: line 14: empty character class [-Wempty-character-class]
+re2c: warning: line 14: empty character class [-Wempty-character-class]
+re2c: warning: line 15: control flow is undefined for strings that match '', use default rule '*' [-Wundefined-control-flow]
+re2c: warning: line 14: unreachable rule [-Wunreachable-rules]
+re2c: warning: line 18: empty character class [-Wempty-character-class]
+re2c: warning: line 18: empty character class [-Wempty-character-class]
+re2c: warning: line 18: empty character class [-Wempty-character-class]
+re2c: warning: line 19: control flow is undefined for strings that match '', use default rule '*' [-Wundefined-control-flow]
+re2c: warning: line 18: unreachable rule [-Wunreachable-rules]
diff --git a/test/bug61.i--empty-class(match-none)--eager-skip.re b/test/bug61.i--empty-class(match-none)--eager-skip.re
new file mode 100644
index 00000000..6da4ba81
--- /dev/null
+++ b/test/bug61.i--empty-class(match-none)--eager-skip.re
@@ -0,0 +1,19 @@
+/*!re2c
+ [] {}
+*/
+
+/*!re2c
+ [^\x00-\xFF] {}
+*/
+
+/*!re2c
+ [\x00-\xFF]\[\x00-\xFF] {}
+*/
+
+/*!re2c
+ []\[] {}
+*/
+
+/*!re2c
+ [^\x00-\xFF]\[^\x00-\xFF] {}
+*/
diff --git a/test/bug61.i.c b/test/bug61.i.c
index 5b2fa4a2..9cb24cef 100644
--- a/test/bug61.i.c
+++ b/test/bug61.i.c
@@ -6,4 +6,4 @@ re2c: warning: line 10: empty character class [-Wempty-character-class]
re2c: warning: line 10: rule matches empty string [-Wmatch-empty-string]
re2c: warning: line 14: empty character class [-Wempty-character-class]
re2c: warning: line 14: empty character class [-Wempty-character-class]
-re2c: error: line 14, column 11: can only difference char sets
+re2c: error: line 14, column 4: can only difference char sets
diff --git a/test/bug61_difference_full.i--empty-class(error).c b/test/bug61_difference_full.i--empty-class(error).c
index 70094ae3..3b7847de 100644
--- a/test/bug61_difference_full.i--empty-class(error).c
+++ b/test/bug61_difference_full.i--empty-class(error).c
@@ -1 +1 @@
-re2c: error: line 2, column 29: empty character class
+re2c: error: line 2, column 4: empty character class
diff --git a/test/bug61_difference_negative.i--empty-class(error).c b/test/bug61_difference_negative.i--empty-class(error).c
index 9bce6164..3b7847de 100644
--- a/test/bug61_difference_negative.i--empty-class(error).c
+++ b/test/bug61_difference_negative.i--empty-class(error).c
@@ -1 +1 @@
-re2c: error: line 2, column 5: empty character class
+re2c: error: line 2, column 4: empty character class
diff --git a/test/bug61_difference_negative.i--empty-class(match-empty).c b/test/bug61_difference_negative.i--empty-class(match-empty).c
index 049b9a77..a0aee728 100644
--- a/test/bug61_difference_negative.i--empty-class(match-empty).c
+++ b/test/bug61_difference_negative.i--empty-class(match-empty).c
@@ -1,3 +1,3 @@
re2c: warning: line 2: empty character class [-Wempty-character-class]
re2c: warning: line 2: empty character class [-Wempty-character-class]
-re2c: error: line 2, column 31: can only difference char sets
+re2c: error: line 2, column 4: can only difference char sets
diff --git a/test/bug61_difference_negative.i.c b/test/bug61_difference_negative.i.c
index 049b9a77..a0aee728 100644
--- a/test/bug61_difference_negative.i.c
+++ b/test/bug61_difference_negative.i.c
@@ -1,3 +1,3 @@
re2c: warning: line 2: empty character class [-Wempty-character-class]
re2c: warning: line 2: empty character class [-Wempty-character-class]
-re2c: error: line 2, column 31: can only difference char sets
+re2c: error: line 2, column 4: can only difference char sets
diff --git a/test/bug61_difference_positive.i--empty-class(error).c b/test/bug61_difference_positive.i--empty-class(error).c
index 9bce6164..3b7847de 100644
--- a/test/bug61_difference_positive.i--empty-class(error).c
+++ b/test/bug61_difference_positive.i--empty-class(error).c
@@ -1 +1 @@
-re2c: error: line 2, column 5: empty character class
+re2c: error: line 2, column 4: empty character class
diff --git a/test/bug61_difference_positive.i--empty-class(match-empty).c b/test/bug61_difference_positive.i--empty-class(match-empty).c
index 463f74d4..a0aee728 100644
--- a/test/bug61_difference_positive.i--empty-class(match-empty).c
+++ b/test/bug61_difference_positive.i--empty-class(match-empty).c
@@ -1,3 +1,3 @@
re2c: warning: line 2: empty character class [-Wempty-character-class]
re2c: warning: line 2: empty character class [-Wempty-character-class]
-re2c: error: line 2, column 11: can only difference char sets
+re2c: error: line 2, column 4: can only difference char sets
diff --git a/test/bug61_difference_positive.i.c b/test/bug61_difference_positive.i.c
index 463f74d4..a0aee728 100644
--- a/test/bug61_difference_positive.i.c
+++ b/test/bug61_difference_positive.i.c
@@ -1,3 +1,3 @@
re2c: warning: line 2: empty character class [-Wempty-character-class]
re2c: warning: line 2: empty character class [-Wempty-character-class]
-re2c: error: line 2, column 11: can only difference char sets
+re2c: error: line 2, column 4: can only difference char sets
diff --git a/test/bug61_negative.i--empty-class(error).c b/test/bug61_negative.i--empty-class(error).c
index 9bce6164..3b7847de 100644
--- a/test/bug61_negative.i--empty-class(error).c
+++ b/test/bug61_negative.i--empty-class(error).c
@@ -1 +1 @@
-re2c: error: line 2, column 5: empty character class
+re2c: error: line 2, column 4: empty character class
diff --git a/test/bug61_positive.i--empty-class(error).c b/test/bug61_positive.i--empty-class(error).c
index 9bce6164..3b7847de 100644
--- a/test/bug61_positive.i--empty-class(error).c
+++ b/test/bug61_positive.i--empty-class(error).c
@@ -1 +1 @@
-re2c: error: line 2, column 5: empty character class
+re2c: error: line 2, column 4: empty character class
diff --git a/test/c.c b/test/c.c
index ab3c94f7..f5137ab6 100644
--- a/test/c.c
+++ b/test/c.c
@@ -263,8 +263,8 @@ yy7:
}
#line 265 "c.c"
yy9:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '=': goto yy81;
default: goto yy10;
}
@@ -280,8 +280,8 @@ yy11:
default: goto yy84;
}
yy12:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '=': goto yy89;
default: goto yy13;
}
@@ -290,8 +290,8 @@ yy13:
{ RET('%'); }
#line 292 "c.c"
yy14:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '&': goto yy91;
case '=': goto yy93;
default: goto yy15;
@@ -318,8 +318,8 @@ yy19:
{ RET(')'); }
#line 320 "c.c"
yy21:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '=': goto yy99;
default: goto yy22;
}
@@ -328,8 +328,8 @@ yy22:
{ RET('*'); }
#line 330 "c.c"
yy23:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '+': goto yy101;
case '=': goto yy103;
default: goto yy24;
@@ -344,8 +344,8 @@ yy25:
{ RET(','); }
#line 346 "c.c"
yy27:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '-': goto yy105;
case '=': goto yy107;
case '>': goto yy109;
@@ -377,8 +377,8 @@ yy30:
{ RET('.'); }
#line 379 "c.c"
yy31:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '*': goto yy115;
case '=': goto yy117;
default: goto yy32;
@@ -391,36 +391,20 @@ yy33:
yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
- case '.': goto yy112;
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9': goto yy35;
- case 'E':
- case 'e': goto yy119;
- case 'L':
- case 'U':
- case 'l':
- case 'u': goto yy120;
case 'X':
case 'x': goto yy122;
- default: goto yy34;
+ default: goto yy36;
}
yy34:
#line 175 "c.re"
{ RET(ICON); }
-#line 419 "c.c"
+#line 402 "c.c"
yy35:
yyaccept = 2;
YYMARKER = ++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
yych = *YYCURSOR;
+yy36:
switch (yych) {
case '.': goto yy112;
case '0':
@@ -445,15 +429,15 @@ yy37:
++YYCURSOR;
#line 209 "c.re"
{ RET(':'); }
-#line 449 "c.c"
+#line 433 "c.c"
yy39:
++YYCURSOR;
#line 205 "c.re"
{ RET(';'); }
-#line 454 "c.c"
+#line 438 "c.c"
yy41:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '<': goto yy123;
case '=': goto yy125;
default: goto yy42;
@@ -461,20 +445,20 @@ yy41:
yy42:
#line 224 "c.re"
{ RET('<'); }
-#line 465 "c.c"
+#line 449 "c.c"
yy43:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '=': goto yy127;
default: goto yy44;
}
yy44:
#line 210 "c.re"
{ RET('='); }
-#line 475 "c.c"
+#line 459 "c.c"
yy45:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '=': goto yy129;
case '>': goto yy131;
default: goto yy46;
@@ -482,12 +466,12 @@ yy45:
yy46:
#line 225 "c.re"
{ RET('>'); }
-#line 486 "c.c"
+#line 470 "c.c"
yy47:
++YYCURSOR;
#line 228 "c.re"
{ RET('?'); }
-#line 491 "c.c"
+#line 475 "c.c"
yy49:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -562,27 +546,27 @@ yy50:
yy51:
#line 171 "c.re"
{ RET(ID); }
-#line 566 "c.c"
+#line 550 "c.c"
yy52:
++YYCURSOR;
#line 213 "c.re"
{ RET('['); }
-#line 571 "c.c"
+#line 555 "c.c"
yy54:
++YYCURSOR;
#line 214 "c.re"
{ RET(']'); }
-#line 576 "c.c"
+#line 560 "c.c"
yy56:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '=': goto yy133;
default: goto yy57;
}
yy57:
#line 226 "c.re"
{ RET('^'); }
-#line 586 "c.c"
+#line 570 "c.c"
yy58:
yych = *++YYCURSOR;
switch (yych) {
@@ -687,10 +671,10 @@ yy73:
++YYCURSOR;
#line 206 "c.re"
{ RET('{'); }
-#line 691 "c.c"
+#line 675 "c.c"
yy75:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '=': goto yy162;
case '|': goto yy164;
default: goto yy76;
@@ -698,22 +682,22 @@ yy75:
yy76:
#line 227 "c.re"
{ RET('|'); }
-#line 702 "c.c"
+#line 686 "c.c"
yy77:
++YYCURSOR;
#line 207 "c.re"
{ RET('}'); }
-#line 707 "c.c"
+#line 691 "c.c"
yy79:
++YYCURSOR;
#line 218 "c.re"
{ RET('~'); }
-#line 712 "c.c"
+#line 696 "c.c"
yy81:
++YYCURSOR;
#line 204 "c.re"
{ RET(NEQ); }
-#line 717 "c.c"
+#line 701 "c.c"
yy83:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -737,7 +721,7 @@ yy86:
++YYCURSOR;
#line 181 "c.re"
{ RET(SCON); }
-#line 741 "c.c"
+#line 725 "c.c"
yy88:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -769,17 +753,17 @@ yy89:
++YYCURSOR;
#line 190 "c.re"
{ RET(MODEQ); }
-#line 773 "c.c"
+#line 757 "c.c"
yy91:
++YYCURSOR;
#line 199 "c.re"
{ RET(ANDAND); }
-#line 778 "c.c"
+#line 762 "c.c"
yy93:
++YYCURSOR;
#line 191 "c.re"
{ RET(ANDEQ); }
-#line 783 "c.c"
+#line 767 "c.c"
yy95:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -792,7 +776,7 @@ yy96:
default: goto yy95;
}
yy97:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy34;
yy98:
++YYCURSOR;
@@ -825,32 +809,32 @@ yy99:
++YYCURSOR;
#line 188 "c.re"
{ RET(MULEQ); }
-#line 829 "c.c"
+#line 813 "c.c"
yy101:
++YYCURSOR;
#line 196 "c.re"
{ RET(INCR); }
-#line 834 "c.c"
+#line 818 "c.c"
yy103:
++YYCURSOR;
#line 186 "c.re"
{ RET(ADDEQ); }
-#line 839 "c.c"
+#line 823 "c.c"
yy105:
++YYCURSOR;
#line 197 "c.re"
{ RET(DECR); }
-#line 844 "c.c"
+#line 828 "c.c"
yy107:
++YYCURSOR;
#line 187 "c.re"
{ RET(SUBEQ); }
-#line 849 "c.c"
+#line 833 "c.c"
yy109:
++YYCURSOR;
#line 198 "c.re"
{ RET(DEREF); }
-#line 854 "c.c"
+#line 838 "c.c"
yy111:
yych = *++YYCURSOR;
switch (yych) {
@@ -884,17 +868,17 @@ yy112:
yy114:
#line 178 "c.re"
{ RET(FCON); }
-#line 888 "c.c"
+#line 872 "c.c"
yy115:
++YYCURSOR;
#line 136 "c.re"
{ goto comment; }
-#line 893 "c.c"
+#line 877 "c.c"
yy117:
++YYCURSOR;
#line 189 "c.re"
{ RET(DIVEQ); }
-#line 898 "c.c"
+#line 882 "c.c"
yy119:
yych = *++YYCURSOR;
switch (yych) {
@@ -951,45 +935,45 @@ yy122:
default: goto yy85;
}
yy123:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '=': goto yy176;
default: goto yy124;
}
yy124:
#line 195 "c.re"
{ RET(LSHIFT); }
-#line 963 "c.c"
+#line 947 "c.c"
yy125:
++YYCURSOR;
#line 201 "c.re"
{ RET(LEQ); }
-#line 968 "c.c"
+#line 952 "c.c"
yy127:
++YYCURSOR;
#line 203 "c.re"
{ RET(EQL); }
-#line 973 "c.c"
+#line 957 "c.c"
yy129:
++YYCURSOR;
#line 202 "c.re"
{ RET(GEQ); }
-#line 978 "c.c"
+#line 962 "c.c"
yy131:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '=': goto yy178;
default: goto yy132;
}
yy132:
#line 194 "c.re"
{ RET(RSHIFT); }
-#line 988 "c.c"
+#line 972 "c.c"
yy133:
++YYCURSOR;
#line 192 "c.re"
{ RET(XOREQ); }
-#line 993 "c.c"
+#line 977 "c.c"
yy135:
yych = *++YYCURSOR;
switch (yych) {
@@ -1027,8 +1011,8 @@ yy140:
default: goto yy50;
}
yy141:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -1097,7 +1081,7 @@ yy141:
yy142:
#line 145 "c.re"
{ RET(DO); }
-#line 1101 "c.c"
+#line 1085 "c.c"
yy143:
yych = *++YYCURSOR;
switch (yych) {
@@ -1135,8 +1119,8 @@ yy148:
default: goto yy50;
}
yy149:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -1205,7 +1189,7 @@ yy149:
yy150:
#line 153 "c.re"
{ RET(IF); }
-#line 1209 "c.c"
+#line 1193 "c.c"
yy151:
yych = *++YYCURSOR;
switch (yych) {
@@ -1281,12 +1265,12 @@ yy162:
++YYCURSOR;
#line 193 "c.re"
{ RET(OREQ); }
-#line 1285 "c.c"
+#line 1269 "c.c"
yy164:
++YYCURSOR;
#line 200 "c.re"
{ RET(OROR); }
-#line 1290 "c.c"
+#line 1274 "c.c"
yy166:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -1349,9 +1333,9 @@ yy168:
++YYCURSOR;
#line 183 "c.re"
{ RET(ELLIPSIS); }
-#line 1353 "c.c"
+#line 1337 "c.c"
yy170:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy114;
yy171:
yych = *++YYCURSOR;
@@ -1426,12 +1410,12 @@ yy176:
++YYCURSOR;
#line 185 "c.re"
{ RET(LSHIFTEQ); }
-#line 1430 "c.c"
+#line 1414 "c.c"
yy178:
++YYCURSOR;
#line 184 "c.re"
{ RET(RSHIFTEQ); }
-#line 1435 "c.c"
+#line 1419 "c.c"
yy180:
yych = *++YYCURSOR;
switch (yych) {
@@ -1500,8 +1484,8 @@ yy190:
default: goto yy50;
}
yy191:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -1570,7 +1554,7 @@ yy191:
yy192:
#line 151 "c.re"
{ RET(FOR); }
-#line 1574 "c.c"
+#line 1558 "c.c"
yy193:
yych = *++YYCURSOR;
switch (yych) {
@@ -1578,8 +1562,8 @@ yy193:
default: goto yy50;
}
yy194:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -1648,7 +1632,7 @@ yy194:
yy195:
#line 154 "c.re"
{ RET(INT); }
-#line 1652 "c.c"
+#line 1636 "c.c"
yy196:
yych = *++YYCURSOR;
switch (yych) {
@@ -1740,8 +1724,8 @@ yy210:
default: goto yy50;
}
yy211:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -1810,7 +1794,7 @@ yy211:
yy212:
#line 138 "c.re"
{ RET(AUTO); }
-#line 1814 "c.c"
+#line 1798 "c.c"
yy213:
yych = *++YYCURSOR;
switch (yych) {
@@ -1818,8 +1802,8 @@ yy213:
default: goto yy50;
}
yy214:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -1888,10 +1872,10 @@ yy214:
yy215:
#line 140 "c.re"
{ RET(CASE); }
-#line 1892 "c.c"
+#line 1876 "c.c"
yy216:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -1960,7 +1944,7 @@ yy216:
yy217:
#line 141 "c.re"
{ RET(CHAR); }
-#line 1964 "c.c"
+#line 1948 "c.c"
yy218:
yych = *++YYCURSOR;
switch (yych) {
@@ -1986,8 +1970,8 @@ yy221:
default: goto yy50;
}
yy222:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -2056,10 +2040,10 @@ yy222:
yy223:
#line 147 "c.re"
{ RET(ELSE); }
-#line 2060 "c.c"
+#line 2044 "c.c"
yy224:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -2128,7 +2112,7 @@ yy224:
yy225:
#line 148 "c.re"
{ RET(ENUM); }
-#line 2132 "c.c"
+#line 2116 "c.c"
yy226:
yych = *++YYCURSOR;
switch (yych) {
@@ -2142,8 +2126,8 @@ yy227:
default: goto yy50;
}
yy228:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -2212,10 +2196,10 @@ yy228:
yy229:
#line 152 "c.re"
{ RET(GOTO); }
-#line 2216 "c.c"
+#line 2200 "c.c"
yy230:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -2284,7 +2268,7 @@ yy230:
yy231:
#line 155 "c.re"
{ RET(LONG); }
-#line 2288 "c.c"
+#line 2272 "c.c"
yy232:
yych = *++YYCURSOR;
switch (yych) {
@@ -2352,8 +2336,8 @@ yy242:
default: goto yy50;
}
yy243:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -2422,7 +2406,7 @@ yy243:
yy244:
#line 167 "c.re"
{ RET(VOID); }
-#line 2426 "c.c"
+#line 2410 "c.c"
yy245:
yych = *++YYCURSOR;
switch (yych) {
@@ -2436,8 +2420,8 @@ yy246:
default: goto yy50;
}
yy247:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -2506,10 +2490,10 @@ yy247:
yy248:
#line 139 "c.re"
{ RET(BREAK); }
-#line 2510 "c.c"
+#line 2494 "c.c"
yy249:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -2578,7 +2562,7 @@ yy249:
yy250:
#line 142 "c.re"
{ RET(CONST); }
-#line 2582 "c.c"
+#line 2566 "c.c"
yy251:
yych = *++YYCURSOR;
switch (yych) {
@@ -2604,8 +2588,8 @@ yy254:
default: goto yy50;
}
yy255:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -2674,7 +2658,7 @@ yy255:
yy256:
#line 150 "c.re"
{ RET(FLOAT); }
-#line 2678 "c.c"
+#line 2662 "c.c"
yy257:
yych = *++YYCURSOR;
switch (yych) {
@@ -2688,8 +2672,8 @@ yy258:
default: goto yy50;
}
yy259:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -2758,7 +2742,7 @@ yy259:
yy260:
#line 158 "c.re"
{ RET(SHORT); }
-#line 2762 "c.c"
+#line 2746 "c.c"
yy261:
yych = *++YYCURSOR;
switch (yych) {
@@ -2796,8 +2780,8 @@ yy266:
default: goto yy50;
}
yy267:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -2866,7 +2850,7 @@ yy267:
yy268:
#line 165 "c.re"
{ RET(UNION); }
-#line 2870 "c.c"
+#line 2854 "c.c"
yy269:
yych = *++YYCURSOR;
switch (yych) {
@@ -2880,8 +2864,8 @@ yy270:
default: goto yy50;
}
yy271:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -2950,7 +2934,7 @@ yy271:
yy272:
#line 169 "c.re"
{ RET(WHILE); }
-#line 2954 "c.c"
+#line 2938 "c.c"
yy273:
yych = *++YYCURSOR;
switch (yych) {
@@ -2964,8 +2948,8 @@ yy274:
default: goto yy50;
}
yy275:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -3034,10 +3018,10 @@ yy275:
yy276:
#line 146 "c.re"
{ RET(DOUBLE); }
-#line 3038 "c.c"
+#line 3022 "c.c"
yy277:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -3106,7 +3090,7 @@ yy277:
yy278:
#line 149 "c.re"
{ RET(EXTERN); }
-#line 3110 "c.c"
+#line 3094 "c.c"
yy279:
yych = *++YYCURSOR;
switch (yych) {
@@ -3114,8 +3098,8 @@ yy279:
default: goto yy50;
}
yy280:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -3184,10 +3168,10 @@ yy280:
yy281:
#line 157 "c.re"
{ RET(RETURN); }
-#line 3188 "c.c"
+#line 3172 "c.c"
yy282:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -3256,10 +3240,10 @@ yy282:
yy283:
#line 159 "c.re"
{ RET(SIGNED); }
-#line 3260 "c.c"
+#line 3244 "c.c"
yy284:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -3328,10 +3312,10 @@ yy284:
yy285:
#line 160 "c.re"
{ RET(SIZEOF); }
-#line 3332 "c.c"
+#line 3316 "c.c"
yy286:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -3400,10 +3384,10 @@ yy286:
yy287:
#line 161 "c.re"
{ RET(STATIC); }
-#line 3404 "c.c"
+#line 3388 "c.c"
yy288:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -3472,10 +3456,10 @@ yy288:
yy289:
#line 162 "c.re"
{ RET(STRUCT); }
-#line 3476 "c.c"
+#line 3460 "c.c"
yy290:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -3544,7 +3528,7 @@ yy290:
yy291:
#line 163 "c.re"
{ RET(SWITCH); }
-#line 3548 "c.c"
+#line 3532 "c.c"
yy292:
yych = *++YYCURSOR;
switch (yych) {
@@ -3570,8 +3554,8 @@ yy295:
default: goto yy50;
}
yy296:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -3640,7 +3624,7 @@ yy296:
yy297:
#line 144 "c.re"
{ RET(DEFAULT); }
-#line 3644 "c.c"
+#line 3628 "c.c"
yy298:
yych = *++YYCURSOR;
switch (yych) {
@@ -3648,8 +3632,8 @@ yy298:
default: goto yy50;
}
yy299:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -3718,7 +3702,7 @@ yy299:
yy300:
#line 164 "c.re"
{ RET(TYPEDEF); }
-#line 3722 "c.c"
+#line 3706 "c.c"
yy301:
yych = *++YYCURSOR;
switch (yych) {
@@ -3732,8 +3716,8 @@ yy302:
default: goto yy50;
}
yy303:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -3802,10 +3786,10 @@ yy303:
yy304:
#line 143 "c.re"
{ RET(CONTINUE); }
-#line 3806 "c.c"
+#line 3790 "c.c"
yy305:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -3874,10 +3858,10 @@ yy305:
yy306:
#line 156 "c.re"
{ RET(REGISTER); }
-#line 3878 "c.c"
+#line 3862 "c.c"
yy307:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -3946,10 +3930,10 @@ yy307:
yy308:
#line 166 "c.re"
{ RET(UNSIGNED); }
-#line 3950 "c.c"
+#line 3934 "c.c"
yy309:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -4018,14 +4002,14 @@ yy309:
yy310:
#line 168 "c.re"
{ RET(VOLATILE); }
-#line 4022 "c.c"
+#line 4006 "c.c"
}
#line 245 "c.re"
comment:
-#line 4029 "c.c"
+#line 4013 "c.c"
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
@@ -4040,7 +4024,7 @@ yy313:
yy314:
#line 256 "c.re"
{ goto comment; }
-#line 4044 "c.c"
+#line 4028 "c.c"
yy315:
++YYCURSOR;
#line 251 "c.re"
@@ -4049,7 +4033,7 @@ yy315:
s->tok = s->pos = cursor; s->line++;
goto comment;
}
-#line 4053 "c.c"
+#line 4037 "c.c"
yy317:
yych = *++YYCURSOR;
switch (yych) {
@@ -4060,7 +4044,7 @@ yy318:
++YYCURSOR;
#line 249 "c.re"
{ goto std; }
-#line 4064 "c.c"
+#line 4048 "c.c"
}
#line 257 "c.re"
diff --git a/test/calc_001.c b/test/calc_001.c
index fc6b3164..42826f07 100644
--- a/test/calc_001.c
+++ b/test/calc_001.c
@@ -1,7 +1,8 @@
/* Generated by re2c */
#line 1 "calc_001.re"
/* re2c lesson 001_upn_calculator, calc_001, (c) M. Boerger 2006 - 2007 */
-#line 43 "calc_001.re"
+#line 42 "calc_001.re"
+
#include <stdlib.h>
#include <stdio.h>
@@ -20,7 +21,7 @@ int scan(char *s, int l)
for(;;)
{
-#line 24 "calc_001.c"
+#line 25 "calc_001.c"
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
@@ -45,25 +46,25 @@ yy2:
++YYCURSOR;
#line 67 "calc_001.re"
{ printf("EOF\n"); return 0; }
-#line 49 "calc_001.c"
+#line 50 "calc_001.c"
yy4:
++YYCURSOR;
#line 68 "calc_001.re"
{ printf("ERR\n"); return 1; }
-#line 54 "calc_001.c"
+#line 55 "calc_001.c"
yy6:
++YYCURSOR;
#line 65 "calc_001.re"
{ printf("+\n"); continue; }
-#line 59 "calc_001.c"
+#line 60 "calc_001.c"
yy8:
++YYCURSOR;
#line 66 "calc_001.re"
{ printf("-\n"); continue; }
-#line 64 "calc_001.c"
+#line 65 "calc_001.c"
yy10:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -79,7 +80,7 @@ yy10:
yy11:
#line 64 "calc_001.re"
{ printf("Num\n"); continue; }
-#line 83 "calc_001.c"
+#line 84 "calc_001.c"
yy12:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -100,7 +101,7 @@ yy12:
yy14:
#line 63 "calc_001.re"
{ printf("Num\n"); continue; }
-#line 104 "calc_001.c"
+#line 105 "calc_001.c"
yy15:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -121,7 +122,7 @@ yy15:
yy17:
#line 62 "calc_001.re"
{ printf("Oct\n"); continue; }
-#line 125 "calc_001.c"
+#line 126 "calc_001.c"
}
#line 69 "calc_001.re"
diff --git a/test/calc_001.dei.c b/test/calc_001.dei.c
index f57254fe..980211cf 100644
--- a/test/calc_001.dei.c
+++ b/test/calc_001.dei.c
@@ -1,6 +1,7 @@
/* Generated by re2c */
/* re2c lesson 001_upn_calculator, calc_001, (c) M. Boerger 2006 - 2007 */
+
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
@@ -61,8 +62,8 @@ yy8:
{ printf("-\n"); continue; }
yy10:
YYDEBUG(10, *YYCURSOR);
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xF0: /* 0 */
case 0xF1: /* 1 */
case 0xF2: /* 2 */
diff --git a/test/calc_001.ei.c b/test/calc_001.ei.c
index ac1bfa96..34533c5e 100644
--- a/test/calc_001.ei.c
+++ b/test/calc_001.ei.c
@@ -1,6 +1,7 @@
/* Generated by re2c */
/* re2c lesson 001_upn_calculator, calc_001, (c) M. Boerger 2006 - 2007 */
+
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
@@ -51,8 +52,8 @@ yy8:
++YYCURSOR;
{ printf("-\n"); continue; }
yy10:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xF0:
case 0xF1:
case 0xF2:
diff --git a/test/calc_002.c b/test/calc_002.c
index ee4e5429..9f54f3d4 100644
--- a/test/calc_002.c
+++ b/test/calc_002.c
@@ -1,7 +1,8 @@
/* Generated by re2c */
#line 1 "calc_002.re"
/* re2c lesson 001_upn_calculator, calc_002, (c) M. Boerger 2006 - 2007 */
-#line 19 "calc_002.re"
+#line 18 "calc_002.re"
+
#include <stdlib.h>
#include <stdio.h>
@@ -28,7 +29,7 @@ int scan(char *s)
for(;;)
{
-#line 32 "calc_002.c"
+#line 33 "calc_002.c"
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
@@ -53,25 +54,25 @@ yy2:
++YYCURSOR;
#line 51 "calc_002.re"
{ printf("EOF\n"); return 0; }
-#line 57 "calc_002.c"
+#line 58 "calc_002.c"
yy4:
++YYCURSOR;
#line 52 "calc_002.re"
{ printf("ERR\n"); return 1; }
-#line 62 "calc_002.c"
+#line 63 "calc_002.c"
yy6:
++YYCURSOR;
#line 49 "calc_002.re"
{ printf("+\n"); continue; }
-#line 67 "calc_002.c"
+#line 68 "calc_002.c"
yy8:
++YYCURSOR;
#line 50 "calc_002.re"
{ printf("+\n"); continue; }
-#line 72 "calc_002.c"
+#line 73 "calc_002.c"
yy10:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -87,7 +88,7 @@ yy10:
yy11:
#line 48 "calc_002.re"
{ printf("Num\n"); continue; }
-#line 91 "calc_002.c"
+#line 92 "calc_002.c"
yy12:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -108,7 +109,7 @@ yy12:
yy14:
#line 47 "calc_002.re"
{ printf("Num\n"); continue; }
-#line 112 "calc_002.c"
+#line 113 "calc_002.c"
yy15:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -129,7 +130,7 @@ yy15:
yy17:
#line 46 "calc_002.re"
{ printf("Oct\n"); continue; }
-#line 133 "calc_002.c"
+#line 134 "calc_002.c"
}
#line 53 "calc_002.re"
diff --git a/test/calc_003.c b/test/calc_003.c
index 0b36f286..603015a3 100644
--- a/test/calc_003.c
+++ b/test/calc_003.c
@@ -1,7 +1,8 @@
/* Generated by re2c */
#line 1 "calc_003.re"
/* re2c lesson 001_upn_calculator, calc_003, (c) M. Boerger 2006 - 2007 */
-#line 19 "calc_003.re"
+#line 18 "calc_003.re"
+
#include <stdlib.h>
#include <stdio.h>
@@ -20,7 +21,7 @@ int scan(char *s, int l)
for(;;)
{
-#line 24 "calc_003.c"
+#line 25 "calc_003.c"
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
@@ -45,25 +46,25 @@ yy2:
++YYCURSOR;
#line 43 "calc_003.re"
{ printf("EOF\n"); return 0; }
-#line 49 "calc_003.c"
+#line 50 "calc_003.c"
yy4:
++YYCURSOR;
#line 44 "calc_003.re"
{ printf("ERR\n"); return 1; }
-#line 54 "calc_003.c"
+#line 55 "calc_003.c"
yy6:
++YYCURSOR;
#line 41 "calc_003.re"
{ printf("+\n"); continue; }
-#line 59 "calc_003.c"
+#line 60 "calc_003.c"
yy8:
++YYCURSOR;
#line 42 "calc_003.re"
{ printf("+\n"); continue; }
-#line 64 "calc_003.c"
+#line 65 "calc_003.c"
yy10:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -79,7 +80,7 @@ yy10:
yy11:
#line 40 "calc_003.re"
{ printf("Num\n"); continue; }
-#line 83 "calc_003.c"
+#line 84 "calc_003.c"
yy12:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -100,7 +101,7 @@ yy12:
yy14:
#line 39 "calc_003.re"
{ printf("Num\n"); continue; }
-#line 104 "calc_003.c"
+#line 105 "calc_003.c"
yy15:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -121,7 +122,7 @@ yy15:
yy17:
#line 38 "calc_003.re"
{ printf("Oct\n"); continue; }
-#line 125 "calc_003.c"
+#line 126 "calc_003.c"
}
#line 45 "calc_003.re"
diff --git a/test/calc_004.c b/test/calc_004.c
index 3246dc99..bcd53bcb 100644
--- a/test/calc_004.c
+++ b/test/calc_004.c
@@ -1,7 +1,8 @@
/* Generated by re2c */
#line 1 "calc_004.re"
/* re2c lesson 001_upn_calculator, calc_004, (c) M. Boerger 2006 - 2007 */
-#line 20 "calc_004.re"
+#line 19 "calc_004.re"
+
#include <stdlib.h>
#include <stdio.h>
@@ -32,7 +33,7 @@ int scan(char *s, int l)
{
t = p;
-#line 36 "calc_004.c"
+#line 37 "calc_004.c"
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
@@ -57,25 +58,25 @@ yy2:
++YYCURSOR;
#line 60 "calc_004.re"
{ printf("EOF\n"); return 0; }
-#line 61 "calc_004.c"
+#line 62 "calc_004.c"
yy4:
++YYCURSOR;
#line 61 "calc_004.re"
{ printf("ERR\n"); return 1; }
-#line 66 "calc_004.c"
+#line 67 "calc_004.c"
yy6:
++YYCURSOR;
#line 58 "calc_004.re"
{ printf("+\n"); continue; }
-#line 71 "calc_004.c"
+#line 72 "calc_004.c"
yy8:
++YYCURSOR;
#line 59 "calc_004.re"
{ printf("+\n"); continue; }
-#line 76 "calc_004.c"
+#line 77 "calc_004.c"
yy10:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -91,7 +92,7 @@ yy10:
yy11:
#line 57 "calc_004.re"
{ t = tokendup(t, p); printf("Num: %s\n", t); free(t); continue; }
-#line 95 "calc_004.c"
+#line 96 "calc_004.c"
yy12:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -129,7 +130,7 @@ yy14:
yy16:
#line 56 "calc_004.re"
{ t = tokendup(t, p); printf("Oct: %s\n", t); free(t); continue; }
-#line 133 "calc_004.c"
+#line 134 "calc_004.c"
}
#line 62 "calc_004.re"
diff --git a/test/calc_005.c b/test/calc_005.c
index 2f3951aa..72d8d654 100644
--- a/test/calc_005.c
+++ b/test/calc_005.c
@@ -1,7 +1,8 @@
/* Generated by re2c */
#line 1 "calc_005.re"
/* re2c lesson 001_upn_calculator, calc_005, (c) M. Boerger 2006 - 2007 */
-#line 19 "calc_005.re"
+#line 18 "calc_005.re"
+
#include <stdlib.h>
#include <stdio.h>
@@ -67,7 +68,7 @@ int scan(char *s, int l)
{
t = p;
-#line 71 "calc_005.c"
+#line 72 "calc_005.c"
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
@@ -93,7 +94,7 @@ yy2:
++YYCURSOR;
#line 96 "calc_005.re"
{ res = 1; continue; }
-#line 97 "calc_005.c"
+#line 98 "calc_005.c"
yy4:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -106,20 +107,20 @@ yy4:
yy6:
#line 91 "calc_005.re"
{ continue; }
-#line 110 "calc_005.c"
+#line 111 "calc_005.c"
yy7:
++YYCURSOR;
#line 94 "calc_005.re"
{ res = stack_add(); continue; }
-#line 115 "calc_005.c"
+#line 116 "calc_005.c"
yy9:
++YYCURSOR;
#line 95 "calc_005.re"
{ res = stack_sub(); continue; }
-#line 120 "calc_005.c"
+#line 121 "calc_005.c"
yy11:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -135,7 +136,7 @@ yy11:
yy12:
#line 93 "calc_005.re"
{ res = push_num(t, p, 10); continue; }
-#line 139 "calc_005.c"
+#line 140 "calc_005.c"
yy13:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -173,7 +174,7 @@ yy15:
yy17:
#line 92 "calc_005.re"
{ res = push_num(t, p, 8); continue; }
-#line 177 "calc_005.c"
+#line 178 "calc_005.c"
}
#line 97 "calc_005.re"
diff --git a/test/calc_006.s.c b/test/calc_006.s.c
index 3a92f30f..c0707d11 100644
--- a/test/calc_006.s.c
+++ b/test/calc_006.s.c
@@ -1,7 +1,8 @@
/* Generated by re2c */
#line 1 "calc_006.s.re"
/* re2c lesson 001_upn_calculator, calc_006, (c) M. Boerger 2006 - 2007 */
-#line 36 "calc_006.s.re"
+#line 35 "calc_006.s.re"
+
#include <stdlib.h>
#include <stdio.h>
@@ -65,7 +66,7 @@ int scan(char *s)
{
t = p;
-#line 69 "calc_006.s.c"
+#line 70 "calc_006.s.c"
{
YYCTYPE yych;
yych = *YYCURSOR;
@@ -94,15 +95,14 @@ yy2:
++YYCURSOR;
#line 112 "calc_006.s.re"
{ res = depth == 1 ? 0 : 2; break; }
-#line 98 "calc_006.s.c"
+#line 99 "calc_006.s.c"
yy4:
++YYCURSOR;
#line 113 "calc_006.s.re"
{ res = 1; continue; }
-#line 103 "calc_006.s.c"
+#line 104 "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"
@@ -119,28 +119,26 @@ yy11:
{ res = stack_sub(); continue; }
#line 121 "calc_006.s.c"
yy13:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy14;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy14;
if (yych <= '9') goto yy17;
yy14:
#line 109 "calc_006.s.re"
{ res = push_num(t, p, 10); continue; }
#line 129 "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 144 "calc_006.s.c"
+#line 142 "calc_006.s.c"
}
#line 114 "calc_006.s.re"
diff --git a/test/calc_007.b.c b/test/calc_007.b.c
index 5dd2979f..25530a87 100644
--- a/test/calc_007.b.c
+++ b/test/calc_007.b.c
@@ -1,7 +1,8 @@
/* Generated by re2c */
#line 1 "calc_007.b.re"
/* re2c lesson 001_upn_calculator, calc_007, (c) M. Boerger 2006 - 2007 */
-#line 9 "calc_007.b.re"
+#line 8 "calc_007.b.re"
+
#include <stdlib.h>
#include <stdio.h>
@@ -65,7 +66,7 @@ int scan(char *s)
{
t = p;
-#line 69 "calc_007.b.c"
+#line 70 "calc_007.b.c"
{
YYCTYPE yych;
static const unsigned char yybm[] = {
@@ -124,15 +125,14 @@ yy2:
++YYCURSOR;
#line 85 "calc_007.b.re"
{ res = depth == 1 ? 0 : 2; break; }
-#line 128 "calc_007.b.c"
+#line 129 "calc_007.b.c"
yy4:
++YYCURSOR;
#line 86 "calc_007.b.re"
{ res = 1; continue; }
-#line 133 "calc_007.b.c"
+#line 134 "calc_007.b.c"
yy6:
- ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
if (yybm[0+yych] & 64) {
goto yy6;
}
@@ -150,29 +150,27 @@ yy11:
{ res = stack_sub(); continue; }
#line 152 "calc_007.b.c"
yy13:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy14;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy14;
if (yych <= '9') goto yy17;
yy14:
#line 82 "calc_007.b.re"
{ res = push_num(t, p, 10); continue; }
#line 160 "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 176 "calc_007.b.c"
+#line 174 "calc_007.b.c"
}
#line 87 "calc_007.b.re"
diff --git a/test/calc_008.b--skeleton.c b/test/calc_008.b--skeleton.c
index a42e3aad..ec125e2d 100644
--- a/test/calc_008.b--skeleton.c
+++ b/test/calc_008.b--skeleton.c
Binary files differ
diff --git a/test/calc_008.b.c b/test/calc_008.b.c
index a30d2257..e2c1652b 100644
--- a/test/calc_008.b.c
+++ b/test/calc_008.b.c
@@ -1,7 +1,8 @@
/* Generated by re2c */
#line 1 "calc_008.b.re"
/* re2c lesson 001_upn_calculator, calc_008, (c) M. Boerger 2006 - 2007 */
-#line 31 "calc_008.b.re"
+#line 30 "calc_008.b.re"
+
#include <stdlib.h>
#include <stdio.h>
@@ -61,7 +62,7 @@ int scan(char *p)
{
t = p;
-#line 65 "calc_008.b.c"
+#line 66 "calc_008.b.c"
{
unsigned char curr;
static const unsigned char yybm[] = {
@@ -120,15 +121,14 @@ scan2:
++p;
#line 108 "calc_008.b.re"
{ res = depth == 1 ? 0 : 2; break; }
-#line 124 "calc_008.b.c"
+#line 125 "calc_008.b.c"
scan4:
++p;
#line 109 "calc_008.b.re"
{ res = 1; continue; }
-#line 129 "calc_008.b.c"
+#line 130 "calc_008.b.c"
scan6:
- ++p;
- curr = (unsigned char)*p;
+ curr = (unsigned char)*++p;
if (yybm[0+curr] & 64) {
goto scan6;
}
@@ -146,29 +146,27 @@ scan11:
{ res = stack_sub(); continue; }
#line 148 "calc_008.b.c"
scan13:
- ++p;
- if ((curr = (unsigned char)*p) <= '/') goto scan14;
+ curr = (unsigned char)*++p;
+ if (curr <= '/') goto scan14;
if (curr <= '9') goto scan17;
scan14:
#line 105 "calc_008.b.re"
{ res = push_num(t, p, 10); continue; }
#line 156 "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 172 "calc_008.b.c"
+#line 170 "calc_008.b.c"
}
#line 110 "calc_008.b.re"
diff --git a/test/class3.i8.c b/test/class3.i8.c
index fd2b173a..4d6ba533 100644
--- a/test/class3.i8.c
+++ b/test/class3.i8.c
@@ -60,8 +60,8 @@ yy12:
default: goto yy10;
}
yy13:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy4;
default: goto yy10;
}
@@ -1062,8 +1062,8 @@ yy33:
default: goto yy29;
}
yy34:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -1616,8 +1616,8 @@ yy51:
default: goto yy48;
}
yy52:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy39;
default: goto yy48;
}
@@ -2332,8 +2332,8 @@ yy70:
default: goto yy66;
}
yy71:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -2888,8 +2888,8 @@ yy86:
default: goto yy84;
}
yy87:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy76;
default: goto yy84;
}
@@ -3452,8 +3452,8 @@ yy103:
default: goto yy100;
}
yy104:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -3859,8 +3859,8 @@ yy119:
default: goto yy116;
}
yy120:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy109;
default: goto yy116;
}
@@ -4722,8 +4722,8 @@ yy140:
default: goto yy136;
}
yy141:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -5276,8 +5276,8 @@ yy158:
default: goto yy155;
}
yy159:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy146;
default: goto yy155;
}
@@ -5992,8 +5992,8 @@ yy177:
default: goto yy173;
}
yy178:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -6122,8 +6122,8 @@ yy191:
default: goto yy189;
}
yy192:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy183;
default: goto yy189;
}
@@ -7124,8 +7124,8 @@ yy212:
default: goto yy208;
}
yy213:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -7761,8 +7761,8 @@ yy227:
YYCURSOR = YYMARKER;
goto yy217;
yy228:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -8412,8 +8412,8 @@ yy248:
YYCURSOR = YYMARKER;
goto yy238;
yy249:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -8912,8 +8912,8 @@ yy271:
default: goto yy269;
}
yy272:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -9587,8 +9587,8 @@ yy286:
default: goto yy285;
}
yy287:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -10028,8 +10028,8 @@ yy301:
default: goto yy300;
}
yy302:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -10545,8 +10545,8 @@ yy314:
YYCURSOR = YYMARKER;
goto yy308;
yy315:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -10992,8 +10992,8 @@ yy329:
default: goto yy328;
}
yy330:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -11509,8 +11509,8 @@ yy342:
YYCURSOR = YYMARKER;
goto yy336;
yy343:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -11954,8 +11954,8 @@ yy359:
default: goto yy357;
}
yy360:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -12629,8 +12629,8 @@ yy374:
default: goto yy373;
}
yy375:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -13138,8 +13138,8 @@ yy390:
default: goto yy388;
}
yy391:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy380;
default: goto yy388;
}
@@ -13702,8 +13702,8 @@ yy407:
default: goto yy404;
}
yy408:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -13832,8 +13832,8 @@ yy421:
default: goto yy419;
}
yy422:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy413;
default: goto yy419;
}
@@ -14834,8 +14834,8 @@ yy442:
default: goto yy438;
}
yy443:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -14964,8 +14964,8 @@ yy456:
default: goto yy454;
}
yy457:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy448;
default: goto yy454;
}
@@ -15966,8 +15966,8 @@ yy477:
default: goto yy473;
}
yy478:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -16520,8 +16520,8 @@ yy495:
default: goto yy492;
}
yy496:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy483;
default: goto yy492;
}
@@ -17236,8 +17236,8 @@ yy514:
default: goto yy510;
}
yy515:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -17643,8 +17643,8 @@ yy530:
default: goto yy527;
}
yy531:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy520;
default: goto yy527;
}
@@ -18506,8 +18506,8 @@ yy551:
default: goto yy547;
}
yy552:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -19062,8 +19062,8 @@ yy567:
default: goto yy565;
}
yy568:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy557;
default: goto yy565;
}
@@ -19626,8 +19626,8 @@ yy584:
default: goto yy581;
}
yy585:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -20033,8 +20033,8 @@ yy600:
default: goto yy597;
}
yy601:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy590;
default: goto yy597;
}
@@ -20896,8 +20896,8 @@ yy621:
default: goto yy617;
}
yy622:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -21026,8 +21026,8 @@ yy635:
default: goto yy633;
}
yy636:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy627;
default: goto yy633;
}
@@ -22028,8 +22028,8 @@ yy656:
default: goto yy652;
}
yy657:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -22158,8 +22158,8 @@ yy670:
default: goto yy668;
}
yy671:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy662;
default: goto yy668;
}
@@ -23160,8 +23160,8 @@ yy691:
default: goto yy687;
}
yy692:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -23714,8 +23714,8 @@ yy709:
default: goto yy706;
}
yy710:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy697;
default: goto yy706;
}
@@ -24430,8 +24430,8 @@ yy728:
default: goto yy724;
}
yy729:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -24986,8 +24986,8 @@ yy744:
default: goto yy742;
}
yy745:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy734;
default: goto yy742;
}
@@ -25550,8 +25550,8 @@ yy761:
default: goto yy758;
}
yy762:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -25957,8 +25957,8 @@ yy777:
default: goto yy774;
}
yy778:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy767;
default: goto yy774;
}
@@ -26820,8 +26820,8 @@ yy798:
default: goto yy794;
}
yy799:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -26950,8 +26950,8 @@ yy812:
default: goto yy810;
}
yy813:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy804;
default: goto yy810;
}
@@ -27952,8 +27952,8 @@ yy833:
default: goto yy829;
}
yy834:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -28082,8 +28082,8 @@ yy847:
default: goto yy845;
}
yy848:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy839;
default: goto yy845;
}
@@ -29084,8 +29084,8 @@ yy868:
default: goto yy864;
}
yy869:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -29214,8 +29214,8 @@ yy882:
default: goto yy880;
}
yy883:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy874;
default: goto yy880;
}
@@ -30216,8 +30216,8 @@ yy903:
default: goto yy899;
}
yy904:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -30346,8 +30346,8 @@ yy917:
default: goto yy915;
}
yy918:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy909;
default: goto yy915;
}
@@ -31348,8 +31348,8 @@ yy938:
default: goto yy934;
}
yy939:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -31478,8 +31478,8 @@ yy952:
default: goto yy950;
}
yy953:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy944;
default: goto yy950;
}
@@ -32480,8 +32480,8 @@ yy973:
default: goto yy969;
}
yy974:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -32610,8 +32610,8 @@ yy987:
default: goto yy985;
}
yy988:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy979;
default: goto yy985;
}
@@ -33612,8 +33612,8 @@ yy1008:
default: goto yy1004;
}
yy1009:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -33742,8 +33742,8 @@ yy1022:
default: goto yy1020;
}
yy1023:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy1014;
default: goto yy1020;
}
@@ -34744,8 +34744,8 @@ yy1043:
default: goto yy1039;
}
yy1044:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -34874,8 +34874,8 @@ yy1057:
default: goto yy1055;
}
yy1058:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy1049;
default: goto yy1055;
}
@@ -35876,8 +35876,8 @@ yy1078:
default: goto yy1074;
}
yy1079:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -36006,8 +36006,8 @@ yy1092:
default: goto yy1090;
}
yy1093:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy1084;
default: goto yy1090;
}
@@ -37008,8 +37008,8 @@ yy1113:
default: goto yy1109;
}
yy1114:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -37138,8 +37138,8 @@ yy1127:
default: goto yy1125;
}
yy1128:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy1119;
default: goto yy1125;
}
@@ -38140,8 +38140,8 @@ yy1148:
default: goto yy1144;
}
yy1149:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -38270,8 +38270,8 @@ yy1162:
default: goto yy1160;
}
yy1163:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy1154;
default: goto yy1160;
}
@@ -39272,8 +39272,8 @@ yy1183:
default: goto yy1179;
}
yy1184:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -39402,8 +39402,8 @@ yy1197:
default: goto yy1195;
}
yy1198:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy1189;
default: goto yy1195;
}
@@ -40404,8 +40404,8 @@ yy1218:
default: goto yy1214;
}
yy1219:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -40534,8 +40534,8 @@ yy1232:
default: goto yy1230;
}
yy1233:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy1224;
default: goto yy1230;
}
@@ -41536,8 +41536,8 @@ yy1253:
default: goto yy1249;
}
yy1254:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -41666,8 +41666,8 @@ yy1267:
default: goto yy1265;
}
yy1268:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy1259;
default: goto yy1265;
}
@@ -42668,8 +42668,8 @@ yy1288:
default: goto yy1284;
}
yy1289:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -42798,8 +42798,8 @@ yy1302:
default: goto yy1300;
}
yy1303:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy1294;
default: goto yy1300;
}
@@ -43800,8 +43800,8 @@ yy1323:
default: goto yy1319;
}
yy1324:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -43930,8 +43930,8 @@ yy1337:
default: goto yy1335;
}
yy1338:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy1329;
default: goto yy1335;
}
@@ -44932,8 +44932,8 @@ yy1358:
default: goto yy1354;
}
yy1359:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -45062,8 +45062,8 @@ yy1372:
default: goto yy1370;
}
yy1373:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy1364;
default: goto yy1370;
}
@@ -46064,8 +46064,8 @@ yy1393:
default: goto yy1389;
}
yy1394:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -46194,8 +46194,8 @@ yy1407:
default: goto yy1405;
}
yy1408:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy1399;
default: goto yy1405;
}
@@ -47196,8 +47196,8 @@ yy1428:
default: goto yy1424;
}
yy1429:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -47326,8 +47326,8 @@ yy1442:
default: goto yy1440;
}
yy1443:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy1434;
default: goto yy1440;
}
@@ -48328,8 +48328,8 @@ yy1463:
default: goto yy1459;
}
yy1464:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -48458,8 +48458,8 @@ yy1477:
default: goto yy1475;
}
yy1478:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy1469;
default: goto yy1475;
}
@@ -49460,8 +49460,8 @@ yy1498:
default: goto yy1494;
}
yy1499:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -49590,8 +49590,8 @@ yy1512:
default: goto yy1510;
}
yy1513:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy1504;
default: goto yy1510;
}
@@ -50592,8 +50592,8 @@ yy1533:
default: goto yy1529;
}
yy1534:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -50722,8 +50722,8 @@ yy1547:
default: goto yy1545;
}
yy1548:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy1539;
default: goto yy1545;
}
@@ -51724,8 +51724,8 @@ yy1568:
default: goto yy1564;
}
yy1569:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -51854,8 +51854,8 @@ yy1582:
default: goto yy1580;
}
yy1583:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy1574;
default: goto yy1580;
}
@@ -52856,8 +52856,8 @@ yy1603:
default: goto yy1599;
}
yy1604:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -52986,8 +52986,8 @@ yy1617:
default: goto yy1615;
}
yy1618:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy1609;
default: goto yy1615;
}
@@ -53988,8 +53988,8 @@ yy1638:
default: goto yy1634;
}
yy1639:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -54625,8 +54625,8 @@ yy1653:
YYCURSOR = YYMARKER;
goto yy1643;
yy1654:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -54769,8 +54769,8 @@ yy1673:
default: goto yy1671;
}
yy1674:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy1665;
default: goto yy1671;
}
@@ -55771,8 +55771,8 @@ yy1694:
default: goto yy1690;
}
yy1695:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -55901,8 +55901,8 @@ yy1708:
default: goto yy1706;
}
yy1709:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy1700;
default: goto yy1706;
}
@@ -56903,8 +56903,8 @@ yy1729:
default: goto yy1725;
}
yy1730:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -57033,8 +57033,8 @@ yy1743:
default: goto yy1741;
}
yy1744:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy1735;
default: goto yy1741;
}
@@ -58035,8 +58035,8 @@ yy1764:
default: goto yy1760;
}
yy1765:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -58589,8 +58589,8 @@ yy1782:
default: goto yy1779;
}
yy1783:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy1770;
default: goto yy1779;
}
@@ -59305,8 +59305,8 @@ yy1801:
default: goto yy1797;
}
yy1802:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -59793,8 +59793,8 @@ yy1816:
default: goto yy1815;
}
yy1817:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -60310,8 +60310,8 @@ yy1829:
YYCURSOR = YYMARKER;
goto yy1823;
yy1830:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -60906,8 +60906,8 @@ yy1844:
YYCURSOR = YYMARKER;
goto yy1834;
yy1845:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -61474,8 +61474,8 @@ yy1868:
default: goto yy1865;
}
yy1869:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy1856;
default: goto yy1865;
}
@@ -62190,8 +62190,8 @@ yy1887:
default: goto yy1883;
}
yy1888:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -62597,8 +62597,8 @@ yy1903:
default: goto yy1900;
}
yy1904:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy1893;
default: goto yy1900;
}
@@ -63460,8 +63460,8 @@ yy1924:
default: goto yy1920;
}
yy1925:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -63867,8 +63867,8 @@ yy1940:
default: goto yy1937;
}
yy1941:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy1930;
default: goto yy1937;
}
@@ -64730,8 +64730,8 @@ yy1961:
default: goto yy1957;
}
yy1962:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -65216,8 +65216,8 @@ yy1978:
default: goto yy1976;
}
yy1979:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -65891,8 +65891,8 @@ yy1993:
default: goto yy1992;
}
yy1994:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -66332,8 +66332,8 @@ yy2008:
default: goto yy2007;
}
yy2009:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -66849,8 +66849,8 @@ yy2021:
YYCURSOR = YYMARKER;
goto yy2015;
yy2022:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -67296,8 +67296,8 @@ yy2036:
default: goto yy2035;
}
yy2037:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -67813,8 +67813,8 @@ yy2049:
YYCURSOR = YYMARKER;
goto yy2043;
yy2050:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -67902,8 +67902,8 @@ yy2063:
default: goto yy2061;
}
yy2064:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy2055;
default: goto yy2061;
}
@@ -68904,8 +68904,8 @@ yy2084:
default: goto yy2080;
}
yy2085:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -69034,8 +69034,8 @@ yy2098:
default: goto yy2096;
}
yy2099:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy2090;
default: goto yy2096;
}
@@ -70036,8 +70036,8 @@ yy2119:
default: goto yy2115;
}
yy2120:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -70166,8 +70166,8 @@ yy2133:
default: goto yy2131;
}
yy2134:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy2125;
default: goto yy2131;
}
@@ -71168,8 +71168,8 @@ yy2154:
default: goto yy2150;
}
yy2155:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -71722,8 +71722,8 @@ yy2172:
default: goto yy2169;
}
yy2173:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy2160;
default: goto yy2169;
}
@@ -72438,8 +72438,8 @@ yy2191:
default: goto yy2187;
}
yy2192:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -73075,8 +73075,8 @@ yy2206:
YYCURSOR = YYMARKER;
goto yy2196;
yy2207:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -73577,8 +73577,8 @@ yy2227:
default: goto yy2226;
}
yy2228:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -74094,8 +74094,8 @@ yy2240:
YYCURSOR = YYMARKER;
goto yy2234;
yy2241:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -74607,8 +74607,8 @@ yy2258:
default: goto yy2255;
}
yy2259:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy2246;
default: goto yy2255;
}
@@ -75323,8 +75323,8 @@ yy2277:
default: goto yy2273;
}
yy2278:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -75879,8 +75879,8 @@ yy2293:
default: goto yy2291;
}
yy2294:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy2283;
default: goto yy2291;
}
@@ -76443,8 +76443,8 @@ yy2310:
default: goto yy2307;
}
yy2311:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -76999,8 +76999,8 @@ yy2326:
default: goto yy2324;
}
yy2327:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy2316;
default: goto yy2324;
}
@@ -77563,8 +77563,8 @@ yy2343:
default: goto yy2340;
}
yy2344:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -78049,8 +78049,8 @@ yy2360:
default: goto yy2358;
}
yy2361:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -78724,8 +78724,8 @@ yy2375:
default: goto yy2374;
}
yy2376:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -79314,8 +79314,8 @@ yy2390:
YYCURSOR = YYMARKER;
goto yy2380;
yy2391:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -79814,8 +79814,8 @@ yy2413:
default: goto yy2411;
}
yy2414:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -80489,8 +80489,8 @@ yy2428:
default: goto yy2427;
}
yy2429:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -80572,8 +80572,8 @@ yy2442:
default: goto yy2440;
}
yy2443:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy2434;
default: goto yy2440;
}
@@ -81574,8 +81574,8 @@ yy2463:
default: goto yy2459;
}
yy2464:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -81704,8 +81704,8 @@ yy2477:
default: goto yy2475;
}
yy2478:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy2469;
default: goto yy2475;
}
@@ -82706,8 +82706,8 @@ yy2498:
default: goto yy2494;
}
yy2499:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -82836,8 +82836,8 @@ yy2512:
default: goto yy2510;
}
yy2513:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy2504;
default: goto yy2510;
}
@@ -83838,8 +83838,8 @@ yy2533:
default: goto yy2529;
}
yy2534:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -84245,8 +84245,8 @@ yy2549:
default: goto yy2546;
}
yy2550:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy2539;
default: goto yy2546;
}
@@ -85108,8 +85108,8 @@ yy2570:
default: goto yy2566;
}
yy2571:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -85596,8 +85596,8 @@ yy2585:
default: goto yy2584;
}
yy2586:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -86113,8 +86113,8 @@ yy2598:
YYCURSOR = YYMARKER;
goto yy2592;
yy2599:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -86558,8 +86558,8 @@ yy2615:
default: goto yy2613;
}
yy2616:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -87233,8 +87233,8 @@ yy2630:
default: goto yy2629;
}
yy2631:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -87593,8 +87593,8 @@ yy2646:
default: goto yy2643;
}
yy2647:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy2636;
default: goto yy2643;
}
@@ -88456,8 +88456,8 @@ yy2667:
default: goto yy2663;
}
yy2668:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -89010,8 +89010,8 @@ yy2685:
default: goto yy2682;
}
yy2686:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy2673;
default: goto yy2682;
}
@@ -89726,8 +89726,8 @@ yy2704:
default: goto yy2700;
}
yy2705:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -90280,8 +90280,8 @@ yy2722:
default: goto yy2719;
}
yy2723:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy2710;
default: goto yy2719;
}
@@ -90996,8 +90996,8 @@ yy2741:
default: goto yy2737;
}
yy2742:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -91633,8 +91633,8 @@ yy2756:
YYCURSOR = YYMARKER;
goto yy2746;
yy2757:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -92135,8 +92135,8 @@ yy2777:
default: goto yy2776;
}
yy2778:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -92652,8 +92652,8 @@ yy2790:
YYCURSOR = YYMARKER;
goto yy2784;
yy2791:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -93099,8 +93099,8 @@ yy2805:
default: goto yy2804;
}
yy2806:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -93616,8 +93616,8 @@ yy2818:
YYCURSOR = YYMARKER;
goto yy2812;
yy2819:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -93705,8 +93705,8 @@ yy2832:
default: goto yy2830;
}
yy2833:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy2824;
default: goto yy2830;
}
@@ -94707,8 +94707,8 @@ yy2853:
default: goto yy2849;
}
yy2854:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -94837,8 +94837,8 @@ yy2867:
default: goto yy2865;
}
yy2868:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy2859;
default: goto yy2865;
}
@@ -95839,8 +95839,8 @@ yy2888:
default: goto yy2884;
}
yy2889:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -95969,8 +95969,8 @@ yy2902:
default: goto yy2900;
}
yy2903:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy2894;
default: goto yy2900;
}
@@ -96971,8 +96971,8 @@ yy2923:
default: goto yy2919;
}
yy2924:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -97378,8 +97378,8 @@ yy2939:
default: goto yy2936;
}
yy2940:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy2929;
default: goto yy2936;
}
@@ -98241,8 +98241,8 @@ yy2960:
default: goto yy2956;
}
yy2961:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -98727,8 +98727,8 @@ yy2977:
default: goto yy2975;
}
yy2978:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -99402,8 +99402,8 @@ yy2992:
default: goto yy2991;
}
yy2993:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -99843,8 +99843,8 @@ yy3007:
default: goto yy3006;
}
yy3008:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -100360,8 +100360,8 @@ yy3020:
YYCURSOR = YYMARKER;
goto yy3014;
yy3021:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -100726,8 +100726,8 @@ yy3036:
default: goto yy3033;
}
yy3037:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy3026;
default: goto yy3033;
}
@@ -101589,8 +101589,8 @@ yy3057:
default: goto yy3053;
}
yy3058:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -102145,8 +102145,8 @@ yy3073:
default: goto yy3071;
}
yy3074:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy3063;
default: goto yy3071;
}
@@ -102709,8 +102709,8 @@ yy3090:
default: goto yy3087;
}
yy3091:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -103265,8 +103265,8 @@ yy3106:
default: goto yy3104;
}
yy3107:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy3096;
default: goto yy3104;
}
@@ -103829,8 +103829,8 @@ yy3123:
default: goto yy3120;
}
yy3124:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -104466,8 +104466,8 @@ yy3138:
YYCURSOR = YYMARKER;
goto yy3128;
yy3139:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -104966,8 +104966,8 @@ yy3161:
default: goto yy3159;
}
yy3162:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -105641,8 +105641,8 @@ yy3176:
default: goto yy3175;
}
yy3177:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -106080,8 +106080,8 @@ yy3193:
default: goto yy3191;
}
yy3194:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -106755,8 +106755,8 @@ yy3208:
default: goto yy3207;
}
yy3209:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -106838,8 +106838,8 @@ yy3222:
default: goto yy3220;
}
yy3223:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy3214;
default: goto yy3220;
}
@@ -107840,8 +107840,8 @@ yy3243:
default: goto yy3239;
}
yy3244:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -107970,8 +107970,8 @@ yy3257:
default: goto yy3255;
}
yy3258:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy3249;
default: goto yy3255;
}
@@ -108972,8 +108972,8 @@ yy3278:
default: goto yy3274;
}
yy3279:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -109102,8 +109102,8 @@ yy3292:
default: goto yy3290;
}
yy3293:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy3284;
default: goto yy3290;
}
@@ -110104,8 +110104,8 @@ yy3313:
default: goto yy3309;
}
yy3314:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -110660,8 +110660,8 @@ yy3329:
default: goto yy3327;
}
yy3330:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy3319;
default: goto yy3327;
}
@@ -111224,8 +111224,8 @@ yy3346:
default: goto yy3343;
}
yy3347:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -111861,8 +111861,8 @@ yy3361:
YYCURSOR = YYMARKER;
goto yy3351;
yy3362:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -112361,8 +112361,8 @@ yy3384:
default: goto yy3382;
}
yy3385:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -113036,8 +113036,8 @@ yy3399:
default: goto yy3398;
}
yy3400:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -113545,8 +113545,8 @@ yy3415:
default: goto yy3413;
}
yy3416:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy3405;
default: goto yy3413;
}
@@ -114109,8 +114109,8 @@ yy3432:
default: goto yy3429;
}
yy3433:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -114663,8 +114663,8 @@ yy3450:
default: goto yy3447;
}
yy3451:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy3438;
default: goto yy3447;
}
@@ -115379,8 +115379,8 @@ yy3469:
default: goto yy3465;
}
yy3470:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -115933,8 +115933,8 @@ yy3487:
default: goto yy3484;
}
yy3488:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy3475;
default: goto yy3484;
}
@@ -116649,8 +116649,8 @@ yy3506:
default: goto yy3502;
}
yy3507:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -117137,8 +117137,8 @@ yy3521:
default: goto yy3520;
}
yy3522:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -117654,8 +117654,8 @@ yy3534:
YYCURSOR = YYMARKER;
goto yy3528;
yy3535:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -118250,8 +118250,8 @@ yy3549:
YYCURSOR = YYMARKER;
goto yy3539;
yy3550:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -118901,8 +118901,8 @@ yy3570:
YYCURSOR = YYMARKER;
goto yy3560;
yy3571:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -119045,8 +119045,8 @@ yy3590:
default: goto yy3588;
}
yy3591:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy3582;
default: goto yy3588;
}
@@ -120047,8 +120047,8 @@ yy3611:
default: goto yy3607;
}
yy3612:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -120177,8 +120177,8 @@ yy3625:
default: goto yy3623;
}
yy3626:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy3617;
default: goto yy3623;
}
@@ -121179,8 +121179,8 @@ yy3646:
default: goto yy3642;
}
yy3647:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -121309,8 +121309,8 @@ yy3660:
default: goto yy3658;
}
yy3661:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy3652;
default: goto yy3658;
}
@@ -122311,8 +122311,8 @@ yy3681:
default: goto yy3677;
}
yy3682:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -122867,8 +122867,8 @@ yy3697:
default: goto yy3695;
}
yy3698:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy3687;
default: goto yy3695;
}
@@ -123431,8 +123431,8 @@ yy3714:
default: goto yy3711;
}
yy3715:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -123917,8 +123917,8 @@ yy3731:
default: goto yy3729;
}
yy3732:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -124592,8 +124592,8 @@ yy3746:
default: goto yy3745;
}
yy3747:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -125182,8 +125182,8 @@ yy3761:
YYCURSOR = YYMARKER;
goto yy3751;
yy3762:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -125752,8 +125752,8 @@ yy3783:
default: goto yy3781;
}
yy3784:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy3773;
default: goto yy3781;
}
@@ -126316,8 +126316,8 @@ yy3800:
default: goto yy3797;
}
yy3801:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -126723,8 +126723,8 @@ yy3816:
default: goto yy3813;
}
yy3817:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy3806;
default: goto yy3813;
}
@@ -127586,8 +127586,8 @@ yy3837:
default: goto yy3833;
}
yy3838:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -127993,8 +127993,8 @@ yy3853:
default: goto yy3850;
}
yy3854:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xBF: goto yy3843;
default: goto yy3850;
}
@@ -128856,8 +128856,8 @@ yy3874:
default: goto yy3870;
}
yy3875:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -129344,8 +129344,8 @@ yy3889:
default: goto yy3888;
}
yy3890:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -129861,8 +129861,8 @@ yy3902:
YYCURSOR = YYMARKER;
goto yy3896;
yy3903:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -130306,8 +130306,8 @@ yy3919:
default: goto yy3917;
}
yy3920:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -130981,8 +130981,8 @@ yy3934:
default: goto yy3933;
}
yy3935:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/cmmap.c b/test/cmmap.c
index 04d7ac83..0f93466b 100644
--- a/test/cmmap.c
+++ b/test/cmmap.c
@@ -246,8 +246,8 @@ yy7:
}
#line 248 "cmmap.c"
yy9:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '=': goto yy81;
default: goto yy10;
}
@@ -263,8 +263,8 @@ yy11:
default: goto yy84;
}
yy12:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '=': goto yy89;
default: goto yy13;
}
@@ -273,8 +273,8 @@ yy13:
{ RET('%'); }
#line 275 "cmmap.c"
yy14:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '&': goto yy91;
case '=': goto yy93;
default: goto yy15;
@@ -301,8 +301,8 @@ yy19:
{ RET(')'); }
#line 303 "cmmap.c"
yy21:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '=': goto yy99;
default: goto yy22;
}
@@ -311,8 +311,8 @@ yy22:
{ RET('*'); }
#line 313 "cmmap.c"
yy23:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '+': goto yy101;
case '=': goto yy103;
default: goto yy24;
@@ -327,8 +327,8 @@ yy25:
{ RET(','); }
#line 329 "cmmap.c"
yy27:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '-': goto yy105;
case '=': goto yy107;
case '>': goto yy109;
@@ -360,8 +360,8 @@ yy30:
{ RET('.'); }
#line 362 "cmmap.c"
yy31:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '*': goto yy115;
case '=': goto yy117;
default: goto yy32;
@@ -374,36 +374,20 @@ yy33:
yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
- case '.': goto yy112;
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9': goto yy35;
- case 'E':
- case 'e': goto yy119;
- case 'L':
- case 'U':
- case 'l':
- case 'u': goto yy120;
case 'X':
case 'x': goto yy122;
- default: goto yy34;
+ default: goto yy36;
}
yy34:
#line 158 "cmmap.re"
{ RET(ICON); }
-#line 402 "cmmap.c"
+#line 385 "cmmap.c"
yy35:
yyaccept = 2;
YYMARKER = ++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
yych = *YYCURSOR;
+yy36:
switch (yych) {
case '.': goto yy112;
case '0':
@@ -428,15 +412,15 @@ yy37:
++YYCURSOR;
#line 192 "cmmap.re"
{ RET(':'); }
-#line 432 "cmmap.c"
+#line 416 "cmmap.c"
yy39:
++YYCURSOR;
#line 188 "cmmap.re"
{ RET(';'); }
-#line 437 "cmmap.c"
+#line 421 "cmmap.c"
yy41:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '<': goto yy123;
case '=': goto yy125;
default: goto yy42;
@@ -444,20 +428,20 @@ yy41:
yy42:
#line 207 "cmmap.re"
{ RET('<'); }
-#line 448 "cmmap.c"
+#line 432 "cmmap.c"
yy43:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '=': goto yy127;
default: goto yy44;
}
yy44:
#line 193 "cmmap.re"
{ RET('='); }
-#line 458 "cmmap.c"
+#line 442 "cmmap.c"
yy45:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '=': goto yy129;
case '>': goto yy131;
default: goto yy46;
@@ -465,12 +449,12 @@ yy45:
yy46:
#line 208 "cmmap.re"
{ RET('>'); }
-#line 469 "cmmap.c"
+#line 453 "cmmap.c"
yy47:
++YYCURSOR;
#line 211 "cmmap.re"
{ RET('?'); }
-#line 474 "cmmap.c"
+#line 458 "cmmap.c"
yy49:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -545,27 +529,27 @@ yy50:
yy51:
#line 154 "cmmap.re"
{ RET(ID); }
-#line 549 "cmmap.c"
+#line 533 "cmmap.c"
yy52:
++YYCURSOR;
#line 196 "cmmap.re"
{ RET('['); }
-#line 554 "cmmap.c"
+#line 538 "cmmap.c"
yy54:
++YYCURSOR;
#line 197 "cmmap.re"
{ RET(']'); }
-#line 559 "cmmap.c"
+#line 543 "cmmap.c"
yy56:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '=': goto yy133;
default: goto yy57;
}
yy57:
#line 209 "cmmap.re"
{ RET('^'); }
-#line 569 "cmmap.c"
+#line 553 "cmmap.c"
yy58:
yych = *++YYCURSOR;
switch (yych) {
@@ -670,10 +654,10 @@ yy73:
++YYCURSOR;
#line 189 "cmmap.re"
{ RET('{'); }
-#line 674 "cmmap.c"
+#line 658 "cmmap.c"
yy75:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '=': goto yy162;
case '|': goto yy164;
default: goto yy76;
@@ -681,22 +665,22 @@ yy75:
yy76:
#line 210 "cmmap.re"
{ RET('|'); }
-#line 685 "cmmap.c"
+#line 669 "cmmap.c"
yy77:
++YYCURSOR;
#line 190 "cmmap.re"
{ RET('}'); }
-#line 690 "cmmap.c"
+#line 674 "cmmap.c"
yy79:
++YYCURSOR;
#line 201 "cmmap.re"
{ RET('~'); }
-#line 695 "cmmap.c"
+#line 679 "cmmap.c"
yy81:
++YYCURSOR;
#line 187 "cmmap.re"
{ RET(NEQ); }
-#line 700 "cmmap.c"
+#line 684 "cmmap.c"
yy83:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -720,7 +704,7 @@ yy86:
++YYCURSOR;
#line 164 "cmmap.re"
{ RET(SCON); }
-#line 724 "cmmap.c"
+#line 708 "cmmap.c"
yy88:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -752,17 +736,17 @@ yy89:
++YYCURSOR;
#line 173 "cmmap.re"
{ RET(MODEQ); }
-#line 756 "cmmap.c"
+#line 740 "cmmap.c"
yy91:
++YYCURSOR;
#line 182 "cmmap.re"
{ RET(ANDAND); }
-#line 761 "cmmap.c"
+#line 745 "cmmap.c"
yy93:
++YYCURSOR;
#line 174 "cmmap.re"
{ RET(ANDEQ); }
-#line 766 "cmmap.c"
+#line 750 "cmmap.c"
yy95:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -775,7 +759,7 @@ yy96:
default: goto yy95;
}
yy97:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy34;
yy98:
++YYCURSOR;
@@ -808,32 +792,32 @@ yy99:
++YYCURSOR;
#line 171 "cmmap.re"
{ RET(MULEQ); }
-#line 812 "cmmap.c"
+#line 796 "cmmap.c"
yy101:
++YYCURSOR;
#line 179 "cmmap.re"
{ RET(INCR); }
-#line 817 "cmmap.c"
+#line 801 "cmmap.c"
yy103:
++YYCURSOR;
#line 169 "cmmap.re"
{ RET(ADDEQ); }
-#line 822 "cmmap.c"
+#line 806 "cmmap.c"
yy105:
++YYCURSOR;
#line 180 "cmmap.re"
{ RET(DECR); }
-#line 827 "cmmap.c"
+#line 811 "cmmap.c"
yy107:
++YYCURSOR;
#line 170 "cmmap.re"
{ RET(SUBEQ); }
-#line 832 "cmmap.c"
+#line 816 "cmmap.c"
yy109:
++YYCURSOR;
#line 181 "cmmap.re"
{ RET(DEREF); }
-#line 837 "cmmap.c"
+#line 821 "cmmap.c"
yy111:
yych = *++YYCURSOR;
switch (yych) {
@@ -867,17 +851,17 @@ yy112:
yy114:
#line 161 "cmmap.re"
{ RET(FCON); }
-#line 871 "cmmap.c"
+#line 855 "cmmap.c"
yy115:
++YYCURSOR;
#line 119 "cmmap.re"
{ goto comment; }
-#line 876 "cmmap.c"
+#line 860 "cmmap.c"
yy117:
++YYCURSOR;
#line 172 "cmmap.re"
{ RET(DIVEQ); }
-#line 881 "cmmap.c"
+#line 865 "cmmap.c"
yy119:
yych = *++YYCURSOR;
switch (yych) {
@@ -934,45 +918,45 @@ yy122:
default: goto yy85;
}
yy123:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '=': goto yy176;
default: goto yy124;
}
yy124:
#line 178 "cmmap.re"
{ RET(LSHIFT); }
-#line 946 "cmmap.c"
+#line 930 "cmmap.c"
yy125:
++YYCURSOR;
#line 184 "cmmap.re"
{ RET(LEQ); }
-#line 951 "cmmap.c"
+#line 935 "cmmap.c"
yy127:
++YYCURSOR;
#line 186 "cmmap.re"
{ RET(EQL); }
-#line 956 "cmmap.c"
+#line 940 "cmmap.c"
yy129:
++YYCURSOR;
#line 185 "cmmap.re"
{ RET(GEQ); }
-#line 961 "cmmap.c"
+#line 945 "cmmap.c"
yy131:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '=': goto yy178;
default: goto yy132;
}
yy132:
#line 177 "cmmap.re"
{ RET(RSHIFT); }
-#line 971 "cmmap.c"
+#line 955 "cmmap.c"
yy133:
++YYCURSOR;
#line 175 "cmmap.re"
{ RET(XOREQ); }
-#line 976 "cmmap.c"
+#line 960 "cmmap.c"
yy135:
yych = *++YYCURSOR;
switch (yych) {
@@ -1010,8 +994,8 @@ yy140:
default: goto yy50;
}
yy141:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -1080,7 +1064,7 @@ yy141:
yy142:
#line 128 "cmmap.re"
{ RET(DO); }
-#line 1084 "cmmap.c"
+#line 1068 "cmmap.c"
yy143:
yych = *++YYCURSOR;
switch (yych) {
@@ -1118,8 +1102,8 @@ yy148:
default: goto yy50;
}
yy149:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -1188,7 +1172,7 @@ yy149:
yy150:
#line 136 "cmmap.re"
{ RET(IF); }
-#line 1192 "cmmap.c"
+#line 1176 "cmmap.c"
yy151:
yych = *++YYCURSOR;
switch (yych) {
@@ -1264,12 +1248,12 @@ yy162:
++YYCURSOR;
#line 176 "cmmap.re"
{ RET(OREQ); }
-#line 1268 "cmmap.c"
+#line 1252 "cmmap.c"
yy164:
++YYCURSOR;
#line 183 "cmmap.re"
{ RET(OROR); }
-#line 1273 "cmmap.c"
+#line 1257 "cmmap.c"
yy166:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -1332,9 +1316,9 @@ yy168:
++YYCURSOR;
#line 166 "cmmap.re"
{ RET(ELLIPSIS); }
-#line 1336 "cmmap.c"
+#line 1320 "cmmap.c"
yy170:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy114;
yy171:
yych = *++YYCURSOR;
@@ -1409,12 +1393,12 @@ yy176:
++YYCURSOR;
#line 168 "cmmap.re"
{ RET(LSHIFTEQ); }
-#line 1413 "cmmap.c"
+#line 1397 "cmmap.c"
yy178:
++YYCURSOR;
#line 167 "cmmap.re"
{ RET(RSHIFTEQ); }
-#line 1418 "cmmap.c"
+#line 1402 "cmmap.c"
yy180:
yych = *++YYCURSOR;
switch (yych) {
@@ -1483,8 +1467,8 @@ yy190:
default: goto yy50;
}
yy191:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -1553,7 +1537,7 @@ yy191:
yy192:
#line 134 "cmmap.re"
{ RET(FOR); }
-#line 1557 "cmmap.c"
+#line 1541 "cmmap.c"
yy193:
yych = *++YYCURSOR;
switch (yych) {
@@ -1561,8 +1545,8 @@ yy193:
default: goto yy50;
}
yy194:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -1631,7 +1615,7 @@ yy194:
yy195:
#line 137 "cmmap.re"
{ RET(INT); }
-#line 1635 "cmmap.c"
+#line 1619 "cmmap.c"
yy196:
yych = *++YYCURSOR;
switch (yych) {
@@ -1723,8 +1707,8 @@ yy210:
default: goto yy50;
}
yy211:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -1793,7 +1777,7 @@ yy211:
yy212:
#line 121 "cmmap.re"
{ RET(AUTO); }
-#line 1797 "cmmap.c"
+#line 1781 "cmmap.c"
yy213:
yych = *++YYCURSOR;
switch (yych) {
@@ -1801,8 +1785,8 @@ yy213:
default: goto yy50;
}
yy214:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -1871,10 +1855,10 @@ yy214:
yy215:
#line 123 "cmmap.re"
{ RET(CASE); }
-#line 1875 "cmmap.c"
+#line 1859 "cmmap.c"
yy216:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -1943,7 +1927,7 @@ yy216:
yy217:
#line 124 "cmmap.re"
{ RET(CHAR); }
-#line 1947 "cmmap.c"
+#line 1931 "cmmap.c"
yy218:
yych = *++YYCURSOR;
switch (yych) {
@@ -1969,8 +1953,8 @@ yy221:
default: goto yy50;
}
yy222:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -2039,10 +2023,10 @@ yy222:
yy223:
#line 130 "cmmap.re"
{ RET(ELSE); }
-#line 2043 "cmmap.c"
+#line 2027 "cmmap.c"
yy224:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -2111,7 +2095,7 @@ yy224:
yy225:
#line 131 "cmmap.re"
{ RET(ENUM); }
-#line 2115 "cmmap.c"
+#line 2099 "cmmap.c"
yy226:
yych = *++YYCURSOR;
switch (yych) {
@@ -2125,8 +2109,8 @@ yy227:
default: goto yy50;
}
yy228:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -2195,10 +2179,10 @@ yy228:
yy229:
#line 135 "cmmap.re"
{ RET(GOTO); }
-#line 2199 "cmmap.c"
+#line 2183 "cmmap.c"
yy230:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -2267,7 +2251,7 @@ yy230:
yy231:
#line 138 "cmmap.re"
{ RET(LONG); }
-#line 2271 "cmmap.c"
+#line 2255 "cmmap.c"
yy232:
yych = *++YYCURSOR;
switch (yych) {
@@ -2335,8 +2319,8 @@ yy242:
default: goto yy50;
}
yy243:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -2405,7 +2389,7 @@ yy243:
yy244:
#line 150 "cmmap.re"
{ RET(VOID); }
-#line 2409 "cmmap.c"
+#line 2393 "cmmap.c"
yy245:
yych = *++YYCURSOR;
switch (yych) {
@@ -2419,8 +2403,8 @@ yy246:
default: goto yy50;
}
yy247:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -2489,10 +2473,10 @@ yy247:
yy248:
#line 122 "cmmap.re"
{ RET(BREAK); }
-#line 2493 "cmmap.c"
+#line 2477 "cmmap.c"
yy249:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -2561,7 +2545,7 @@ yy249:
yy250:
#line 125 "cmmap.re"
{ RET(CONST); }
-#line 2565 "cmmap.c"
+#line 2549 "cmmap.c"
yy251:
yych = *++YYCURSOR;
switch (yych) {
@@ -2587,8 +2571,8 @@ yy254:
default: goto yy50;
}
yy255:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -2657,7 +2641,7 @@ yy255:
yy256:
#line 133 "cmmap.re"
{ RET(FLOAT); }
-#line 2661 "cmmap.c"
+#line 2645 "cmmap.c"
yy257:
yych = *++YYCURSOR;
switch (yych) {
@@ -2671,8 +2655,8 @@ yy258:
default: goto yy50;
}
yy259:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -2741,7 +2725,7 @@ yy259:
yy260:
#line 141 "cmmap.re"
{ RET(SHORT); }
-#line 2745 "cmmap.c"
+#line 2729 "cmmap.c"
yy261:
yych = *++YYCURSOR;
switch (yych) {
@@ -2779,8 +2763,8 @@ yy266:
default: goto yy50;
}
yy267:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -2849,7 +2833,7 @@ yy267:
yy268:
#line 148 "cmmap.re"
{ RET(UNION); }
-#line 2853 "cmmap.c"
+#line 2837 "cmmap.c"
yy269:
yych = *++YYCURSOR;
switch (yych) {
@@ -2863,8 +2847,8 @@ yy270:
default: goto yy50;
}
yy271:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -2933,7 +2917,7 @@ yy271:
yy272:
#line 152 "cmmap.re"
{ RET(WHILE); }
-#line 2937 "cmmap.c"
+#line 2921 "cmmap.c"
yy273:
yych = *++YYCURSOR;
switch (yych) {
@@ -2947,8 +2931,8 @@ yy274:
default: goto yy50;
}
yy275:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -3017,10 +3001,10 @@ yy275:
yy276:
#line 129 "cmmap.re"
{ RET(DOUBLE); }
-#line 3021 "cmmap.c"
+#line 3005 "cmmap.c"
yy277:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -3089,7 +3073,7 @@ yy277:
yy278:
#line 132 "cmmap.re"
{ RET(EXTERN); }
-#line 3093 "cmmap.c"
+#line 3077 "cmmap.c"
yy279:
yych = *++YYCURSOR;
switch (yych) {
@@ -3097,8 +3081,8 @@ yy279:
default: goto yy50;
}
yy280:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -3167,10 +3151,10 @@ yy280:
yy281:
#line 140 "cmmap.re"
{ RET(RETURN); }
-#line 3171 "cmmap.c"
+#line 3155 "cmmap.c"
yy282:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -3239,10 +3223,10 @@ yy282:
yy283:
#line 142 "cmmap.re"
{ RET(SIGNED); }
-#line 3243 "cmmap.c"
+#line 3227 "cmmap.c"
yy284:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -3311,10 +3295,10 @@ yy284:
yy285:
#line 143 "cmmap.re"
{ RET(SIZEOF); }
-#line 3315 "cmmap.c"
+#line 3299 "cmmap.c"
yy286:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -3383,10 +3367,10 @@ yy286:
yy287:
#line 144 "cmmap.re"
{ RET(STATIC); }
-#line 3387 "cmmap.c"
+#line 3371 "cmmap.c"
yy288:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -3455,10 +3439,10 @@ yy288:
yy289:
#line 145 "cmmap.re"
{ RET(STRUCT); }
-#line 3459 "cmmap.c"
+#line 3443 "cmmap.c"
yy290:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -3527,7 +3511,7 @@ yy290:
yy291:
#line 146 "cmmap.re"
{ RET(SWITCH); }
-#line 3531 "cmmap.c"
+#line 3515 "cmmap.c"
yy292:
yych = *++YYCURSOR;
switch (yych) {
@@ -3553,8 +3537,8 @@ yy295:
default: goto yy50;
}
yy296:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -3623,7 +3607,7 @@ yy296:
yy297:
#line 127 "cmmap.re"
{ RET(DEFAULT); }
-#line 3627 "cmmap.c"
+#line 3611 "cmmap.c"
yy298:
yych = *++YYCURSOR;
switch (yych) {
@@ -3631,8 +3615,8 @@ yy298:
default: goto yy50;
}
yy299:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -3701,7 +3685,7 @@ yy299:
yy300:
#line 147 "cmmap.re"
{ RET(TYPEDEF); }
-#line 3705 "cmmap.c"
+#line 3689 "cmmap.c"
yy301:
yych = *++YYCURSOR;
switch (yych) {
@@ -3715,8 +3699,8 @@ yy302:
default: goto yy50;
}
yy303:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -3785,10 +3769,10 @@ yy303:
yy304:
#line 126 "cmmap.re"
{ RET(CONTINUE); }
-#line 3789 "cmmap.c"
+#line 3773 "cmmap.c"
yy305:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -3857,10 +3841,10 @@ yy305:
yy306:
#line 139 "cmmap.re"
{ RET(REGISTER); }
-#line 3861 "cmmap.c"
+#line 3845 "cmmap.c"
yy307:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -3929,10 +3913,10 @@ yy307:
yy308:
#line 149 "cmmap.re"
{ RET(UNSIGNED); }
-#line 3933 "cmmap.c"
+#line 3917 "cmmap.c"
yy309:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -4001,14 +3985,14 @@ yy309:
yy310:
#line 151 "cmmap.re"
{ RET(VOLATILE); }
-#line 4005 "cmmap.c"
+#line 3989 "cmmap.c"
}
#line 228 "cmmap.re"
comment:
-#line 4012 "cmmap.c"
+#line 3996 "cmmap.c"
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
@@ -4023,7 +4007,7 @@ yy313:
yy314:
#line 239 "cmmap.re"
{ goto comment; }
-#line 4027 "cmmap.c"
+#line 4011 "cmmap.c"
yy315:
++YYCURSOR;
#line 234 "cmmap.re"
@@ -4032,7 +4016,7 @@ yy315:
s->tok = s->pos = cursor; s->line++;
goto comment;
}
-#line 4036 "cmmap.c"
+#line 4020 "cmmap.c"
yy317:
yych = *++YYCURSOR;
switch (yych) {
@@ -4043,7 +4027,7 @@ yy318:
++YYCURSOR;
#line 232 "cmmap.re"
{ goto std; }
-#line 4047 "cmmap.c"
+#line 4031 "cmmap.c"
}
#line 240 "cmmap.re"
diff --git a/test/cnokw.c b/test/cnokw.c
index 789507c3..6b99d29f 100644
--- a/test/cnokw.c
+++ b/test/cnokw.c
@@ -263,8 +263,8 @@ yy7:
}
#line 265 "cnokw.c"
yy9:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '=': goto yy66;
default: goto yy10;
}
@@ -280,8 +280,8 @@ yy11:
default: goto yy69;
}
yy12:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '=': goto yy74;
default: goto yy13;
}
@@ -290,8 +290,8 @@ yy13:
{ RET('%'); }
#line 292 "cnokw.c"
yy14:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '&': goto yy76;
case '=': goto yy78;
default: goto yy15;
@@ -318,8 +318,8 @@ yy19:
{ RET(')'); }
#line 320 "cnokw.c"
yy21:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '=': goto yy84;
default: goto yy22;
}
@@ -328,8 +328,8 @@ yy22:
{ RET('*'); }
#line 330 "cnokw.c"
yy23:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '+': goto yy86;
case '=': goto yy88;
default: goto yy24;
@@ -344,8 +344,8 @@ yy25:
{ RET(','); }
#line 346 "cnokw.c"
yy27:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '-': goto yy90;
case '=': goto yy92;
case '>': goto yy94;
@@ -377,8 +377,8 @@ yy30:
{ RET('.'); }
#line 379 "cnokw.c"
yy31:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '*': goto yy100;
case '=': goto yy102;
default: goto yy32;
@@ -391,36 +391,20 @@ yy33:
yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
- case '.': goto yy97;
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9': goto yy35;
- case 'E':
- case 'e': goto yy104;
- case 'L':
- case 'U':
- case 'l':
- case 'u': goto yy105;
case 'X':
case 'x': goto yy107;
- default: goto yy34;
+ default: goto yy36;
}
yy34:
#line 142 "cnokw.re"
{ RET(ICON); }
-#line 419 "cnokw.c"
+#line 402 "cnokw.c"
yy35:
yyaccept = 2;
YYMARKER = ++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
yych = *YYCURSOR;
+yy36:
switch (yych) {
case '.': goto yy97;
case '0':
@@ -445,15 +429,15 @@ yy37:
++YYCURSOR;
#line 176 "cnokw.re"
{ RET(':'); }
-#line 449 "cnokw.c"
+#line 433 "cnokw.c"
yy39:
++YYCURSOR;
#line 172 "cnokw.re"
{ RET(';'); }
-#line 454 "cnokw.c"
+#line 438 "cnokw.c"
yy41:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '<': goto yy108;
case '=': goto yy110;
default: goto yy42;
@@ -461,20 +445,20 @@ yy41:
yy42:
#line 191 "cnokw.re"
{ RET('<'); }
-#line 465 "cnokw.c"
+#line 449 "cnokw.c"
yy43:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '=': goto yy112;
default: goto yy44;
}
yy44:
#line 177 "cnokw.re"
{ RET('='); }
-#line 475 "cnokw.c"
+#line 459 "cnokw.c"
yy45:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '=': goto yy114;
case '>': goto yy116;
default: goto yy46;
@@ -482,12 +466,12 @@ yy45:
yy46:
#line 192 "cnokw.re"
{ RET('>'); }
-#line 486 "cnokw.c"
+#line 470 "cnokw.c"
yy47:
++YYCURSOR;
#line 195 "cnokw.re"
{ RET('?'); }
-#line 491 "cnokw.c"
+#line 475 "cnokw.c"
yy49:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -561,35 +545,35 @@ yy49:
yy51:
#line 138 "cnokw.re"
{ RET(ID); }
-#line 565 "cnokw.c"
+#line 549 "cnokw.c"
yy52:
++YYCURSOR;
#line 180 "cnokw.re"
{ RET('['); }
-#line 570 "cnokw.c"
+#line 554 "cnokw.c"
yy54:
++YYCURSOR;
#line 181 "cnokw.re"
{ RET(']'); }
-#line 575 "cnokw.c"
+#line 559 "cnokw.c"
yy56:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '=': goto yy118;
default: goto yy57;
}
yy57:
#line 193 "cnokw.re"
{ RET('^'); }
-#line 585 "cnokw.c"
+#line 569 "cnokw.c"
yy58:
++YYCURSOR;
#line 173 "cnokw.re"
{ RET('{'); }
-#line 590 "cnokw.c"
+#line 574 "cnokw.c"
yy60:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '=': goto yy120;
case '|': goto yy122;
default: goto yy61;
@@ -597,22 +581,22 @@ yy60:
yy61:
#line 194 "cnokw.re"
{ RET('|'); }
-#line 601 "cnokw.c"
+#line 585 "cnokw.c"
yy62:
++YYCURSOR;
#line 174 "cnokw.re"
{ RET('}'); }
-#line 606 "cnokw.c"
+#line 590 "cnokw.c"
yy64:
++YYCURSOR;
#line 185 "cnokw.re"
{ RET('~'); }
-#line 611 "cnokw.c"
+#line 595 "cnokw.c"
yy66:
++YYCURSOR;
#line 171 "cnokw.re"
{ RET(NEQ); }
-#line 616 "cnokw.c"
+#line 600 "cnokw.c"
yy68:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -636,7 +620,7 @@ yy71:
++YYCURSOR;
#line 148 "cnokw.re"
{ RET(SCON); }
-#line 640 "cnokw.c"
+#line 624 "cnokw.c"
yy73:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -668,17 +652,17 @@ yy74:
++YYCURSOR;
#line 157 "cnokw.re"
{ RET(MODEQ); }
-#line 672 "cnokw.c"
+#line 656 "cnokw.c"
yy76:
++YYCURSOR;
#line 166 "cnokw.re"
{ RET(ANDAND); }
-#line 677 "cnokw.c"
+#line 661 "cnokw.c"
yy78:
++YYCURSOR;
#line 158 "cnokw.re"
{ RET(ANDEQ); }
-#line 682 "cnokw.c"
+#line 666 "cnokw.c"
yy80:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -691,7 +675,7 @@ yy81:
default: goto yy80;
}
yy82:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy34;
yy83:
++YYCURSOR;
@@ -724,32 +708,32 @@ yy84:
++YYCURSOR;
#line 155 "cnokw.re"
{ RET(MULEQ); }
-#line 728 "cnokw.c"
+#line 712 "cnokw.c"
yy86:
++YYCURSOR;
#line 163 "cnokw.re"
{ RET(INCR); }
-#line 733 "cnokw.c"
+#line 717 "cnokw.c"
yy88:
++YYCURSOR;
#line 153 "cnokw.re"
{ RET(ADDEQ); }
-#line 738 "cnokw.c"
+#line 722 "cnokw.c"
yy90:
++YYCURSOR;
#line 164 "cnokw.re"
{ RET(DECR); }
-#line 743 "cnokw.c"
+#line 727 "cnokw.c"
yy92:
++YYCURSOR;
#line 154 "cnokw.re"
{ RET(SUBEQ); }
-#line 748 "cnokw.c"
+#line 732 "cnokw.c"
yy94:
++YYCURSOR;
#line 165 "cnokw.re"
{ RET(DEREF); }
-#line 753 "cnokw.c"
+#line 737 "cnokw.c"
yy96:
yych = *++YYCURSOR;
switch (yych) {
@@ -783,17 +767,17 @@ yy97:
yy99:
#line 145 "cnokw.re"
{ RET(FCON); }
-#line 787 "cnokw.c"
+#line 771 "cnokw.c"
yy100:
++YYCURSOR;
#line 136 "cnokw.re"
{ goto comment; }
-#line 792 "cnokw.c"
+#line 776 "cnokw.c"
yy102:
++YYCURSOR;
#line 156 "cnokw.re"
{ RET(DIVEQ); }
-#line 797 "cnokw.c"
+#line 781 "cnokw.c"
yy104:
yych = *++YYCURSOR;
switch (yych) {
@@ -850,55 +834,55 @@ yy107:
default: goto yy70;
}
yy108:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '=': goto yy134;
default: goto yy109;
}
yy109:
#line 162 "cnokw.re"
{ RET(LSHIFT); }
-#line 862 "cnokw.c"
+#line 846 "cnokw.c"
yy110:
++YYCURSOR;
#line 168 "cnokw.re"
{ RET(LEQ); }
-#line 867 "cnokw.c"
+#line 851 "cnokw.c"
yy112:
++YYCURSOR;
#line 170 "cnokw.re"
{ RET(EQL); }
-#line 872 "cnokw.c"
+#line 856 "cnokw.c"
yy114:
++YYCURSOR;
#line 169 "cnokw.re"
{ RET(GEQ); }
-#line 877 "cnokw.c"
+#line 861 "cnokw.c"
yy116:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '=': goto yy136;
default: goto yy117;
}
yy117:
#line 161 "cnokw.re"
{ RET(RSHIFT); }
-#line 887 "cnokw.c"
+#line 871 "cnokw.c"
yy118:
++YYCURSOR;
#line 159 "cnokw.re"
{ RET(XOREQ); }
-#line 892 "cnokw.c"
+#line 876 "cnokw.c"
yy120:
++YYCURSOR;
#line 160 "cnokw.re"
{ RET(OREQ); }
-#line 897 "cnokw.c"
+#line 881 "cnokw.c"
yy122:
++YYCURSOR;
#line 167 "cnokw.re"
{ RET(OROR); }
-#line 902 "cnokw.c"
+#line 886 "cnokw.c"
yy124:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -961,9 +945,9 @@ yy126:
++YYCURSOR;
#line 150 "cnokw.re"
{ RET(ELLIPSIS); }
-#line 965 "cnokw.c"
+#line 949 "cnokw.c"
yy128:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy99;
yy129:
yych = *++YYCURSOR;
@@ -1038,19 +1022,19 @@ yy134:
++YYCURSOR;
#line 152 "cnokw.re"
{ RET(LSHIFTEQ); }
-#line 1042 "cnokw.c"
+#line 1026 "cnokw.c"
yy136:
++YYCURSOR;
#line 151 "cnokw.re"
{ RET(RSHIFTEQ); }
-#line 1047 "cnokw.c"
+#line 1031 "cnokw.c"
}
#line 212 "cnokw.re"
comment:
-#line 1054 "cnokw.c"
+#line 1038 "cnokw.c"
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
@@ -1065,7 +1049,7 @@ yy140:
yy141:
#line 223 "cnokw.re"
{ goto comment; }
-#line 1069 "cnokw.c"
+#line 1053 "cnokw.c"
yy142:
++YYCURSOR;
#line 218 "cnokw.re"
@@ -1074,7 +1058,7 @@ yy142:
s->tok = s->pos = cursor; s->line++;
goto comment;
}
-#line 1078 "cnokw.c"
+#line 1062 "cnokw.c"
yy144:
yych = *++YYCURSOR;
switch (yych) {
@@ -1085,7 +1069,7 @@ yy145:
++YYCURSOR;
#line 216 "cnokw.re"
{ goto std; }
-#line 1089 "cnokw.c"
+#line 1073 "cnokw.c"
}
#line 224 "cnokw.re"
diff --git a/test/code_points.8.c b/test/code_points.8.c
index a0a68e86..508b7938 100644
--- a/test/code_points.8.c
+++ b/test/code_points.8.c
@@ -4808,8 +4808,8 @@ yy775:
{}
#line 4810 "code_points.8.c"
yy777:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -5244,8 +5244,8 @@ yy787:
default: goto yy780;
}
yy788:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/code_points.x.c b/test/code_points.x.c
index aeb91e79..eede5c29 100644
--- a/test/code_points.x.c
+++ b/test/code_points.x.c
@@ -1192,8 +1192,8 @@ yy525:
{}
#line 1194 "code_points.x.c"
yy526:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDBFF) goto yy525;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDBFF) goto yy525;
if (yych <= 0xDFFF) goto yy524;
goto yy525;
}
diff --git a/test/code_points_error.8.c b/test/code_points_error.8.c
index 271b2074..10f0abdb 100644
--- a/test/code_points_error.8.c
+++ b/test/code_points_error.8.c
@@ -1 +1 @@
-re2c: error: line 2, column 1: Bad code point: '0x110000'
+re2c: error: line 2, column 21: bad code point: '0x110000'
diff --git a/test/code_points_error.c b/test/code_points_error.c
index 4b4f6b4b..d9f68c58 100644
--- a/test/code_points_error.c
+++ b/test/code_points_error.c
@@ -1 +1 @@
-re2c: error: line 2, column 1: Bad code point: '0xFFFF'
+re2c: error: line 2, column 5: bad code point: '0xFFFF'
diff --git a/test/code_points_error.e.c b/test/code_points_error.e.c
index 4b4f6b4b..d9f68c58 100644
--- a/test/code_points_error.e.c
+++ b/test/code_points_error.e.c
@@ -1 +1 @@
-re2c: error: line 2, column 1: Bad code point: '0xFFFF'
+re2c: error: line 2, column 5: bad code point: '0xFFFF'
diff --git a/test/code_points_error.u.c b/test/code_points_error.u.c
index 271b2074..10f0abdb 100644
--- a/test/code_points_error.u.c
+++ b/test/code_points_error.u.c
@@ -1 +1 @@
-re2c: error: line 2, column 1: Bad code point: '0x110000'
+re2c: error: line 2, column 21: bad code point: '0x110000'
diff --git a/test/code_points_error.w.c b/test/code_points_error.w.c
index 66e9e906..54128ffe 100644
--- a/test/code_points_error.w.c
+++ b/test/code_points_error.w.c
@@ -1 +1 @@
-re2c: error: line 2, column 1: Bad code point: '0x10FFFF'
+re2c: error: line 2, column 11: bad code point: '0x10FFFF'
diff --git a/test/code_points_error.x.c b/test/code_points_error.x.c
index 271b2074..10f0abdb 100644
--- a/test/code_points_error.x.c
+++ b/test/code_points_error.x.c
@@ -1 +1 @@
-re2c: error: line 2, column 1: Bad code point: '0x110000'
+re2c: error: line 2, column 21: bad code point: '0x110000'
diff --git a/test/code_points_error_esc.c b/test/code_points_error_esc.c
deleted file mode 100644
index 84c9cfd7..00000000
--- a/test/code_points_error_esc.c
+++ /dev/null
@@ -1 +0,0 @@
-re2c: error: line 2, column 6: syntax error in escape sequence
diff --git a/test/code_points_error_lf.c b/test/code_points_error_lf.c
deleted file mode 100644
index 5919bf6d..00000000
--- a/test/code_points_error_lf.c
+++ /dev/null
@@ -1 +0,0 @@
-re2c: error: line 2, column 6: syntax error
diff --git a/test/cond_error_00.c b/test/cond_error_00.c
index 7d3ff770..f7778650 100644
--- a/test/cond_error_00.c
+++ b/test/cond_error_00.c
@@ -1 +1 @@
-re2c: error: line 3, column 10: conditions are only allowed when using -c switch
+re2c: error: line 3: conditions are only allowed with '-c', '--conditions' option
diff --git a/test/cond_error_01.c.c b/test/cond_error_01.c.c
index b6bd832e..90af544a 100644
--- a/test/cond_error_01.c.c
+++ b/test/cond_error_01.c.c
@@ -1 +1 @@
-re2c: error: line 3, column 2: unnamed condition not supported
+re2c: error: line 3: syntax error
diff --git a/test/cond_error_02.c.c b/test/cond_error_02.c.c
deleted file mode 100644
index 1aff9de1..00000000
--- a/test/cond_error_02.c.c
+++ /dev/null
@@ -1 +0,0 @@
-re2c: error: line 3, column 4: unnamed condition not supported
diff --git a/test/cond_error_02.c.re b/test/cond_error_02.c.re
deleted file mode 100644
index ae3134b4..00000000
--- a/test/cond_error_02.c.re
+++ /dev/null
@@ -1,5 +0,0 @@
-/*!re2c
-
-< > "a" { }
-
-*/
diff --git a/test/cond_error_03.c.c b/test/cond_error_03.c.c
index 0e580b07..90af544a 100644
--- a/test/cond_error_03.c.c
+++ b/test/cond_error_03.c.c
@@ -1 +1 @@
-re2c: error: line 3, column 5: no expression specified
+re2c: error: line 3: syntax error
diff --git a/test/cond_error_04.c.c b/test/cond_error_04.c.c
deleted file mode 100644
index b6bd832e..00000000
--- a/test/cond_error_04.c.c
+++ /dev/null
@@ -1 +0,0 @@
-re2c: error: line 3, column 2: unnamed condition not supported
diff --git a/test/cond_error_04.c.re b/test/cond_error_04.c.re
deleted file mode 100644
index 33e9fff4..00000000
--- a/test/cond_error_04.c.re
+++ /dev/null
@@ -1,5 +0,0 @@
-/*!re2c
-
-<,> "a" { }
-
-*/
diff --git a/test/cond_error_05.c.c b/test/cond_error_05.c.c
deleted file mode 100644
index b6bd832e..00000000
--- a/test/cond_error_05.c.c
+++ /dev/null
@@ -1 +0,0 @@
-re2c: error: line 3, column 2: unnamed condition not supported
diff --git a/test/cond_error_05.c.re b/test/cond_error_05.c.re
deleted file mode 100644
index cd5f9805..00000000
--- a/test/cond_error_05.c.re
+++ /dev/null
@@ -1,5 +0,0 @@
-/*!re2c
-
-<+> "a" { }
-
-*/
diff --git a/test/cond_error_06.c.c b/test/cond_error_06.c.c
deleted file mode 100644
index b6bd832e..00000000
--- a/test/cond_error_06.c.c
+++ /dev/null
@@ -1 +0,0 @@
-re2c: error: line 3, column 2: unnamed condition not supported
diff --git a/test/cond_error_06.c.re b/test/cond_error_06.c.re
deleted file mode 100644
index 99b8cfac..00000000
--- a/test/cond_error_06.c.re
+++ /dev/null
@@ -1,5 +0,0 @@
-/*!re2c
-
-<?> "a" { }
-
-*/
diff --git a/test/cond_error_07.c.c b/test/cond_error_07.c.c
index 24ec5355..90af544a 100644
--- a/test/cond_error_07.c.c
+++ b/test/cond_error_07.c.c
@@ -1 +1 @@
-re2c: error: line 3, column 4: syntax error
+re2c: error: line 3: syntax error
diff --git a/test/cond_error_08.c.c b/test/cond_error_08.c.c
index 3d6d32dd..5c08988e 100644
--- a/test/cond_error_08.c.c
+++ b/test/cond_error_08.c.c
@@ -1 +1 @@
-re2c: error: line 4, column 4: code to handle illegal condition already defined
+re2c: error: line 4: startup code is already defined at line 3
diff --git a/test/cond_error_09.c.c b/test/cond_error_09.c.c
index dde066b3..45646e19 100644
--- a/test/cond_error_09.c.c
+++ b/test/cond_error_09.c.c
@@ -1 +1 @@
-re2c: error: line 6, column 6: code to setup rule 'a' is already defined
+re2c: error: line 6: code to setup rule 'a' is already defined at line 5
diff --git a/test/cond_error_10.c.c b/test/cond_error_10.c.c
index 44e90a1c..6beba58c 100644
--- a/test/cond_error_10.c.c
+++ b/test/cond_error_10.c.c
@@ -1,3 +1 @@
-re2c: warning: line 8: control flow in condition 'a' is undefined for strings that match '[\x0-\x60\x62-\xFF]', use default rule '*' [-Wundefined-control-flow]
-re2c: warning: line 8: control flow in condition 'b' is undefined for strings that match '[\x0-\x61\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
-re2c: error: line 6, column 1: setup for non existing rule 'c' found
+re2c: error: line 6: setup for non existing condition 'c' found
diff --git a/test/cond_error_11.c.c b/test/cond_error_11.c.c
index 90c177b6..be30b92a 100644
--- a/test/cond_error_11.c.c
+++ b/test/cond_error_11.c.c
@@ -1,3 +1 @@
-re2c: warning: line 9: control flow in condition 'a' is undefined for strings that match '[\x0-\x60\x62-\xFF]', use default rule '*' [-Wundefined-control-flow]
-re2c: warning: line 9: control flow in condition 'b' is undefined for strings that match '[\x0-\x61\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
-re2c: error: line 7, column 1: setup for all rules with '*' not possible when all rules are setup explicitly
+re2c: error: line 7: setup for all conditions '<!*>' is illegal if setup for each condition is defined explicitly
diff --git a/test/cond_error_12.c.c b/test/cond_error_12.c.c
new file mode 100644
index 00000000..fb3f6752
--- /dev/null
+++ b/test/cond_error_12.c.c
@@ -0,0 +1 @@
+re2c: error: line 3, column 3: unexpected character: '0'
diff --git a/test/cond_error_12.c.re b/test/cond_error_12.c.re
new file mode 100644
index 00000000..7f750a68
--- /dev/null
+++ b/test/cond_error_12.c.re
@@ -0,0 +1,6 @@
+/*!re2c
+
+ <0> "a" { return 0; }
+ <> { return 1; }
+
+*/
diff --git a/test/condition_02.c.c b/test/condition_02.c.c
index 36d36a04..0fb4afc9 100644
--- a/test/condition_02.c.c
+++ b/test/condition_02.c.c
@@ -51,6 +51,6 @@ yy14:
}
#line 7 "condition_02.c.re"
-re2c: warning: line 3: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 3: rule in condition '0' matches empty string [-Wmatch-empty-string]
re2c: warning: line 7: control flow in condition 'r1' is undefined for strings that match '[\x0-\x60\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
re2c: warning: line 7: control flow in condition 'r2' is undefined for strings that match '[\x0-\x61\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
diff --git a/test/condition_02.cg.c b/test/condition_02.cg.c
index cf693a6b..7a18c466 100644
--- a/test/condition_02.cg.c
+++ b/test/condition_02.cg.c
@@ -46,7 +46,7 @@ yy14:
}
#line 7 "condition_02.cg.re"
-re2c: warning: line 3: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 3: rule in condition '0' matches empty string [-Wmatch-empty-string]
re2c: warning: line 7: control flow in condition 'r1' is undefined for strings that match '[\x0-\x60\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
re2c: warning: line 7: control flow in condition 'r2' is undefined for strings that match '[\x0-\x61\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
re2c: warning: line 7: looks like you use hardcoded numbers instead of autogenerated condition names: better add '/*!types:re2c*/' directive or '-t, --type-header' option and don't rely on fixed condition order. [-Wcondition-order]
diff --git a/test/condition_03.cg.c b/test/condition_03.cg.c
index aad5c09b..7f5c76e1 100644
--- a/test/condition_03.cg.c
+++ b/test/condition_03.cg.c
@@ -79,7 +79,7 @@ yy22:
}
#line 9 "condition_03.cg.re"
-re2c: warning: line 3: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 3: rule in condition '0' matches empty string [-Wmatch-empty-string]
re2c: warning: line 9: control flow in condition 'r1' is undefined for strings that match '[\x0-\x30\x33-\x60\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
re2c: warning: line 9: control flow in condition 'r2' is undefined for strings that match '[\x0-\x30\x33-\x61\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
re2c: warning: line 9: looks like you use hardcoded numbers instead of autogenerated condition names: better add '/*!types:re2c*/' directive or '-t, --type-header' option and don't rely on fixed condition order. [-Wcondition-order]
diff --git a/test/condition_05.cg.c b/test/condition_05.cg.c
index 4b589f4a..92592bd6 100644
--- a/test/condition_05.cg.c
+++ b/test/condition_05.cg.c
@@ -64,46 +64,46 @@ char scan(Scanner *s)
};
goto *yyctable[cond];
/* *********************************** */
-yyc_comment:
+yyc_normal:
if ((s->lim - s->cur) < 2) { if(fill(s, 2) >= 0) break; }
yych = *s->cur;
- if (yych == '*') goto yy5;
+ if (yych == '/') goto yy5;
++s->cur;
yy4:
-#line 83 "condition_05.cg.re"
+#line 74 "condition_05.cg.re"
{
- goto yyc_comment;
+ fputc(*s->tok, stdout);
+ continue;
}
-#line 78 "condition_05.cg.c"
+#line 79 "condition_05.cg.c"
yy5:
yych = *++s->cur;
- if (yych != '/') goto yy4;
+ if (yych != '*') goto yy4;
++s->cur;
-#line 79 "condition_05.cg.re"
+#line 70 "condition_05.cg.re"
{
- continue;
+ goto yyc_comment;
}
-#line 87 "condition_05.cg.c"
+#line 88 "condition_05.cg.c"
/* *********************************** */
-yyc_normal:
+yyc_comment:
if ((s->lim - s->cur) < 2) { if(fill(s, 2) >= 0) break; }
yych = *s->cur;
- if (yych == '/') goto yy12;
+ if (yych == '*') goto yy12;
++s->cur;
yy11:
-#line 74 "condition_05.cg.re"
+#line 83 "condition_05.cg.re"
{
- fputc(*s->tok, stdout);
- continue;
+ goto yyc_comment;
}
#line 100 "condition_05.cg.c"
yy12:
yych = *++s->cur;
- if (yych != '*') goto yy11;
+ if (yych != '/') goto yy11;
++s->cur;
-#line 70 "condition_05.cg.re"
+#line 79 "condition_05.cg.re"
{
- goto yyc_comment;
+ continue;
}
#line 109 "condition_05.cg.c"
}
diff --git a/test/condition_05.cgitcondition_05.cgit.h.c b/test/condition_05.cgitcondition_05.cgit.h.c
index 37a66ab6..bf0e0ca9 100644
--- a/test/condition_05.cgitcondition_05.cgit.h.c
+++ b/test/condition_05.cgitcondition_05.cgit.h.c
@@ -68,39 +68,39 @@ char scan(Scanner *s)
};
goto *yyctable[cond];
/* *********************************** */
-yyc_comment:
+yyc_normal:
if ((s->lim - s->cur) < 2) { if(fill(s, 2) >= 0) break; }
yych = *s->cur;
- if (yych == '*') goto yy5;
+ if (yych == '/') goto yy5;
++s->cur;
yy4:
{
- goto yyc_comment;
+ fputc(*s->tok, stdout);
+ continue;
}
yy5:
yych = *++s->cur;
- if (yych != '/') goto yy4;
+ if (yych != '*') goto yy4;
++s->cur;
{
- continue;
+ goto yyc_comment;
}
/* *********************************** */
-yyc_normal:
+yyc_comment:
if ((s->lim - s->cur) < 2) { if(fill(s, 2) >= 0) break; }
yych = *s->cur;
- if (yych == '/') goto yy12;
+ if (yych == '*') goto yy12;
++s->cur;
yy11:
{
- fputc(*s->tok, stdout);
- continue;
+ goto yyc_comment;
}
yy12:
yych = *++s->cur;
- if (yych != '*') goto yy11;
+ if (yych != '/') goto yy11;
++s->cur;
{
- goto yyc_comment;
+ continue;
}
}
diff --git a/test/condition_05.cgtcondition_05.cgt.h.c b/test/condition_05.cgtcondition_05.cgt.h.c
index 5b12b264..9738bdce 100644
--- a/test/condition_05.cgtcondition_05.cgt.h.c
+++ b/test/condition_05.cgtcondition_05.cgt.h.c
@@ -71,46 +71,46 @@ char scan(Scanner *s)
};
goto *yyctable[cond];
/* *********************************** */
-yyc_comment:
+yyc_normal:
if ((s->lim - s->cur) < 2) { if(fill(s, 2) >= 0) break; }
yych = *s->cur;
- if (yych == '*') goto yy5;
+ if (yych == '/') goto yy5;
++s->cur;
yy4:
-#line 83 "condition_05.cgtcondition_05.cgt.h.re"
+#line 74 "condition_05.cgtcondition_05.cgt.h.re"
{
- goto yyc_comment;
+ fputc(*s->tok, stdout);
+ continue;
}
-#line 78 "condition_05.cgtcondition_05.cgt.h.c"
+#line 79 "condition_05.cgtcondition_05.cgt.h.c"
yy5:
yych = *++s->cur;
- if (yych != '/') goto yy4;
+ if (yych != '*') goto yy4;
++s->cur;
-#line 79 "condition_05.cgtcondition_05.cgt.h.re"
+#line 70 "condition_05.cgtcondition_05.cgt.h.re"
{
- continue;
+ goto yyc_comment;
}
-#line 87 "condition_05.cgtcondition_05.cgt.h.c"
+#line 88 "condition_05.cgtcondition_05.cgt.h.c"
/* *********************************** */
-yyc_normal:
+yyc_comment:
if ((s->lim - s->cur) < 2) { if(fill(s, 2) >= 0) break; }
yych = *s->cur;
- if (yych == '/') goto yy12;
+ if (yych == '*') goto yy12;
++s->cur;
yy11:
-#line 74 "condition_05.cgtcondition_05.cgt.h.re"
+#line 83 "condition_05.cgtcondition_05.cgt.h.re"
{
- fputc(*s->tok, stdout);
- continue;
+ goto yyc_comment;
}
#line 100 "condition_05.cgtcondition_05.cgt.h.c"
yy12:
yych = *++s->cur;
- if (yych != '*') goto yy11;
+ if (yych != '/') goto yy11;
++s->cur;
-#line 70 "condition_05.cgtcondition_05.cgt.h.re"
+#line 79 "condition_05.cgtcondition_05.cgt.h.re"
{
- goto yyc_comment;
+ continue;
}
#line 109 "condition_05.cgtcondition_05.cgt.h.c"
}
diff --git a/test/condition_05.cs.c b/test/condition_05.cs.c
index 30e07e20..28da5e0d 100644
--- a/test/condition_05.cs.c
+++ b/test/condition_05.cs.c
@@ -64,46 +64,46 @@ char scan(Scanner *s)
goto yyc_comment;
}
/* *********************************** */
-yyc_comment:
+yyc_normal:
if ((s->lim - s->cur) < 2) { if(fill(s, 2) >= 0) break; }
yych = *s->cur;
- if (yych == '*') goto yy5;
+ if (yych == '/') goto yy5;
++s->cur;
yy4:
-#line 83 "condition_05.cs.re"
+#line 74 "condition_05.cs.re"
{
- goto yyc_comment;
+ fputc(*s->tok, stdout);
+ continue;
}
-#line 78 "condition_05.cs.c"
+#line 79 "condition_05.cs.c"
yy5:
yych = *++s->cur;
- if (yych != '/') goto yy4;
+ if (yych != '*') goto yy4;
++s->cur;
-#line 79 "condition_05.cs.re"
+#line 70 "condition_05.cs.re"
{
- continue;
+ goto yyc_comment;
}
-#line 87 "condition_05.cs.c"
+#line 88 "condition_05.cs.c"
/* *********************************** */
-yyc_normal:
+yyc_comment:
if ((s->lim - s->cur) < 2) { if(fill(s, 2) >= 0) break; }
yych = *s->cur;
- if (yych == '/') goto yy12;
+ if (yych == '*') goto yy12;
++s->cur;
yy11:
-#line 74 "condition_05.cs.re"
+#line 83 "condition_05.cs.re"
{
- fputc(*s->tok, stdout);
- continue;
+ goto yyc_comment;
}
#line 100 "condition_05.cs.c"
yy12:
yych = *++s->cur;
- if (yych != '*') goto yy11;
+ if (yych != '/') goto yy11;
++s->cur;
-#line 70 "condition_05.cs.re"
+#line 79 "condition_05.cs.re"
{
- goto yyc_comment;
+ continue;
}
#line 109 "condition_05.cs.c"
}
diff --git a/test/condition_06.cs.c b/test/condition_06.cs.c
index 511c3b52..684e7852 100644
--- a/test/condition_06.cs.c
+++ b/test/condition_06.cs.c
@@ -54,16 +54,15 @@ void fputl(const char *s, size_t len, FILE *stream)
}
#line 57 "condition_06.cs.c"
-
enum YYCONDTYPE {
EStateNormal,
EStateComment,
EStateSkiptoeol,
EStateString,
};
-
#line 54 "condition_06.cs.re"
+
void scan(Scanner *s)
{
int cond = EStateNormal;
@@ -74,7 +73,7 @@ void scan(Scanner *s)
{
s->tok = s->cur;
-#line 78 "condition_06.cs.c"
+#line 77 "condition_06.cs.c"
{
unsigned char yych;
if (cond < 2) {
@@ -91,45 +90,24 @@ void scan(Scanner *s)
}
}
/* *********************************** */
-yyc_Comment:
- if ((s->lim - s->cur) < 2) { if(fill(s, 2) >= 0) break; }
- yych = *s->cur;
- if (yych == '*') goto yy5;
- ++s->cur;
-yy4:
-#line 149 "condition_06.cs.re"
- {
- goto yyc_Comment;
- }
-#line 105 "condition_06.cs.c"
-yy5:
- yych = *++s->cur;
- if (yych != '/') goto yy4;
- ++s->cur;
-#line 145 "condition_06.cs.re"
- {
- continue;
- }
-#line 114 "condition_06.cs.c"
-/* *********************************** */
yyc_Normal:
if ((s->lim - s->cur) < 3) { if(fill(s, 3) >= 0) break; }
yych = *s->cur;
if (yych <= '.') {
- if (yych == '"') goto yy12;
+ if (yych == '"') goto yy5;
} else {
- if (yych <= '/') goto yy14;
- if (yych == '?') goto yy15;
+ if (yych <= '/') goto yy7;
+ if (yych == '?') goto yy8;
}
++s->cur;
-yy11:
+yy4:
#line 140 "condition_06.cs.re"
{
fputc(*s->tok, stdout);
continue;
}
-#line 132 "condition_06.cs.c"
-yy12:
+#line 110 "condition_06.cs.c"
+yy5:
++s->cur;
#line 134 "condition_06.cs.re"
{
@@ -137,119 +115,140 @@ yy12:
state = EStateString;
continue;
}
-#line 141 "condition_06.cs.c"
-yy14:
+#line 119 "condition_06.cs.c"
+yy7:
yych = *++s->cur;
- if (yych == '*') goto yy16;
- if (yych == '/') goto yy18;
- goto yy11;
-yy15:
+ if (yych == '*') goto yy9;
+ if (yych == '/') goto yy11;
+ goto yy4;
+yy8:
yych = *(s->tok = ++s->cur);
- if (yych == '?') goto yy20;
- goto yy11;
-yy16:
+ if (yych == '?') goto yy13;
+ goto yy4;
+yy9:
++s->cur;
#line 126 "condition_06.cs.re"
{
goto yyc_Comment;
}
-#line 157 "condition_06.cs.c"
-yy18:
+#line 135 "condition_06.cs.c"
+yy11:
++s->cur;
#line 130 "condition_06.cs.re"
{
goto yyc_Skiptoeol;
}
-#line 164 "condition_06.cs.c"
-yy20:
+#line 142 "condition_06.cs.c"
+yy13:
yych = *++s->cur;
switch (yych) {
- case '!': goto yy22;
- case '\'': goto yy24;
- case '(': goto yy26;
- case ')': goto yy28;
- case '-': goto yy30;
- case '/': goto yy32;
- case '<': goto yy34;
- case '=': goto yy36;
- case '>': goto yy38;
- default: goto yy21;
+ case '!': goto yy15;
+ case '\'': goto yy17;
+ case '(': goto yy19;
+ case ')': goto yy21;
+ case '-': goto yy23;
+ case '/': goto yy25;
+ case '<': goto yy27;
+ case '=': goto yy29;
+ case '>': goto yy31;
+ default: goto yy14;
}
-yy21:
+yy14:
s->cur = s->tok;
- goto yy11;
-yy22:
+ goto yy4;
+yy15:
++s->cur;
#line 116 "condition_06.cs.re"
{
fputc('|', stdout);
continue;
}
-#line 189 "condition_06.cs.c"
-yy24:
+#line 167 "condition_06.cs.c"
+yy17:
++s->cur;
#line 111 "condition_06.cs.re"
{
fputc('^', stdout);
continue;
}
-#line 197 "condition_06.cs.c"
-yy26:
+#line 175 "condition_06.cs.c"
+yy19:
++s->cur;
#line 81 "condition_06.cs.re"
{
fputc('[', stdout);
continue;
}
-#line 205 "condition_06.cs.c"
-yy28:
+#line 183 "condition_06.cs.c"
+yy21:
++s->cur;
#line 86 "condition_06.cs.re"
{
fputc(']', stdout);
continue;
}
-#line 213 "condition_06.cs.c"
-yy30:
+#line 191 "condition_06.cs.c"
+yy23:
++s->cur;
#line 121 "condition_06.cs.re"
{
fputc('~', stdout);
continue;
}
-#line 221 "condition_06.cs.c"
-yy32:
+#line 199 "condition_06.cs.c"
+yy25:
++s->cur;
#line 106 "condition_06.cs.re"
{
fputc('\\', stdout);
continue;
}
-#line 229 "condition_06.cs.c"
-yy34:
+#line 207 "condition_06.cs.c"
+yy27:
++s->cur;
#line 91 "condition_06.cs.re"
{
fputc('{', stdout);
continue;
}
-#line 237 "condition_06.cs.c"
-yy36:
+#line 215 "condition_06.cs.c"
+yy29:
++s->cur;
#line 101 "condition_06.cs.re"
{
fputc('#', stdout);
continue;
}
-#line 245 "condition_06.cs.c"
-yy38:
+#line 223 "condition_06.cs.c"
+yy31:
++s->cur;
#line 96 "condition_06.cs.re"
{
fputc('}', stdout);
continue;
}
-#line 253 "condition_06.cs.c"
+#line 231 "condition_06.cs.c"
+/* *********************************** */
+yyc_Comment:
+ if ((s->lim - s->cur) < 2) { if(fill(s, 2) >= 0) break; }
+ yych = *s->cur;
+ if (yych == '*') goto yy37;
+ ++s->cur;
+yy36:
+#line 149 "condition_06.cs.re"
+ {
+ goto yyc_Comment;
+ }
+#line 243 "condition_06.cs.c"
+yy37:
+ yych = *++s->cur;
+ if (yych != '/') goto yy36;
+ ++s->cur;
+#line 145 "condition_06.cs.re"
+ {
+ continue;
+ }
+#line 252 "condition_06.cs.c"
/* *********************************** */
yyc_Skiptoeol:
if ((s->lim - s->cur) < 5) { if(fill(s, 5) >= 0) break; }
@@ -266,14 +265,14 @@ yy43:
{
goto yyc_Skiptoeol;
}
-#line 270 "condition_06.cs.c"
+#line 269 "condition_06.cs.c"
yy44:
++s->cur;
#line 161 "condition_06.cs.re"
{
continue;
}
-#line 277 "condition_06.cs.c"
+#line 276 "condition_06.cs.c"
yy46:
yych = *(s->tok = ++s->cur);
if (yych == '?') goto yy48;
@@ -295,7 +294,7 @@ yy50:
{
goto yyc_Skiptoeol;
}
-#line 299 "condition_06.cs.c"
+#line 298 "condition_06.cs.c"
yy52:
yych = *++s->cur;
if (yych == '\n') goto yy50;
@@ -311,10 +310,10 @@ yy54:
{
goto yyc_Skiptoeol;
}
-#line 315 "condition_06.cs.c"
+#line 314 "condition_06.cs.c"
yy56:
- ++s->cur;
- if ((yych = *s->cur) == '\n') goto yy54;
+ yych = *++s->cur;
+ if (yych == '\n') goto yy54;
goto yy49;
/* *********************************** */
yyc_String:
@@ -329,7 +328,7 @@ yy60:
fputc(*s->tok, stdout);
continue;
}
-#line 333 "condition_06.cs.c"
+#line 332 "condition_06.cs.c"
yy61:
++s->cur;
#line 174 "condition_06.cs.re"
@@ -337,7 +336,7 @@ yy61:
fputc(*s->tok, stdout);
continue;
}
-#line 341 "condition_06.cs.c"
+#line 340 "condition_06.cs.c"
yy63:
yych = *++s->cur;
if (yych == '\n') goto yy60;
@@ -347,7 +346,7 @@ yy63:
fputl((const char*)s->tok, 2, stdout);
continue;
}
-#line 351 "condition_06.cs.c"
+#line 350 "condition_06.cs.c"
}
#line 183 "condition_06.cs.re"
diff --git a/test/condition_07.cbi.c b/test/condition_07.cbi.c
index bc6686ca..283b56f2 100644
--- a/test/condition_07.cbi.c
+++ b/test/condition_07.cbi.c
@@ -52,7 +52,6 @@ void fputl(const char *s, size_t len, FILE *stream)
}
}
-
enum YYCONDTYPE {
EStateR1,
EStateR2,
diff --git a/test/condition_08.cbi.c b/test/condition_08.cbi.c
index 163bb18e..bb1fe575 100644
--- a/test/condition_08.cbi.c
+++ b/test/condition_08.cbi.c
@@ -5,7 +5,6 @@
#define BSIZE 8192
-
enum ScanContition {
EStateNormal,
EStateComment,
@@ -86,161 +85,161 @@ void scan(Scanner *s)
}
}
/* *********************************** */
-yyc_Comment:
- if ((s->lim - s->cur) < 2) if(fill(s, 2) >= 0) break;
- s->yych = *s->cur;
- if (s->yych == '*') goto yy5;
- ++s->cur;
-yy4:
- {
- goto yyc_Comment;
- }
-yy5:
- s->yych = *++s->cur;
- if (s->yych != '/') goto yy4;
- ++s->cur;
- {
- s->cond = EStateNormal;
- continue;
- }
-/* *********************************** */
yyc_Normal:
if ((s->lim - s->cur) < 4) if(fill(s, 4) >= 0) break;
s->yych = *s->cur;
if (s->yych <= '\'') {
- if (s->yych == '"') goto yy12;
- if (s->yych >= '\'') goto yy14;
+ if (s->yych == '"') goto yy5;
+ if (s->yych >= '\'') goto yy7;
} else {
if (s->yych <= '/') {
- if (s->yych >= '/') goto yy15;
+ if (s->yych >= '/') goto yy8;
} else {
- if (s->yych == '?') goto yy16;
+ if (s->yych == '?') goto yy9;
}
}
++s->cur;
-yy11:
+yy4:
{
fputc(*s->tok, stdout);
continue;
}
-yy12:
+yy5:
++s->cur;
{
fputc(*s->tok, stdout);
s->state = EStateString;
continue;
}
-yy14:
+yy7:
s->yych = *(s->tok = ++s->cur);
- if (s->yych == '"') goto yy17;
- if (s->yych == '\\') goto yy19;
- goto yy11;
-yy15:
+ if (s->yych == '"') goto yy10;
+ if (s->yych == '\\') goto yy12;
+ goto yy4;
+yy8:
s->yych = *++s->cur;
- if (s->yych == '*') goto yy20;
- if (s->yych == '/') goto yy22;
- goto yy11;
-yy16:
+ if (s->yych == '*') goto yy13;
+ if (s->yych == '/') goto yy15;
+ goto yy4;
+yy9:
s->yych = *(s->tok = ++s->cur);
- if (s->yych == '?') goto yy24;
- goto yy11;
-yy17:
+ if (s->yych == '?') goto yy17;
+ goto yy4;
+yy10:
s->yych = *++s->cur;
- if (s->yych == '\'') goto yy25;
-yy18:
+ if (s->yych == '\'') goto yy18;
+yy11:
s->cur = s->tok;
- goto yy11;
-yy19:
+ goto yy4;
+yy12:
s->yych = *++s->cur;
- if (s->yych == '"') goto yy17;
- goto yy18;
-yy20:
+ if (s->yych == '"') goto yy10;
+ goto yy11;
+yy13:
++s->cur;
{
s->cond = EStateComment;
goto yyc_Comment;
}
-yy22:
+yy15:
++s->cur;
{
s->cond = EStateSkiptoeol;
goto yyc_Skiptoeol;
}
-yy24:
+yy17:
s->yych = *++s->cur;
switch (s->yych) {
- case '!': goto yy27;
- case '\'': goto yy29;
- case '(': goto yy31;
- case ')': goto yy33;
- case '-': goto yy35;
- case '/': goto yy37;
- case '<': goto yy39;
- case '=': goto yy41;
- case '>': goto yy43;
- default: goto yy18;
+ case '!': goto yy20;
+ case '\'': goto yy22;
+ case '(': goto yy24;
+ case ')': goto yy26;
+ case '-': goto yy28;
+ case '/': goto yy30;
+ case '<': goto yy32;
+ case '=': goto yy34;
+ case '>': goto yy36;
+ default: goto yy11;
}
-yy25:
+yy18:
++s->cur;
{
fputl("'\"'", 3, stdout);
continue;
}
-yy27:
+yy20:
++s->cur;
{
fputc('|', stdout);
continue;
}
-yy29:
+yy22:
++s->cur;
{
fputc('^', stdout);
continue;
}
-yy31:
+yy24:
++s->cur;
{
fputc('[', stdout);
continue;
}
-yy33:
+yy26:
++s->cur;
{
fputc(']', stdout);
continue;
}
-yy35:
+yy28:
++s->cur;
{
fputc('~', stdout);
continue;
}
-yy37:
+yy30:
++s->cur;
{
fputc('\\', stdout);
continue;
}
-yy39:
+yy32:
++s->cur;
{
fputc('{', stdout);
continue;
}
-yy41:
+yy34:
++s->cur;
{
fputc('#', stdout);
continue;
}
-yy43:
+yy36:
++s->cur;
{
fputc('}', stdout);
continue;
}
/* *********************************** */
+yyc_Comment:
+ if ((s->lim - s->cur) < 2) if(fill(s, 2) >= 0) break;
+ s->yych = *s->cur;
+ if (s->yych == '*') goto yy42;
+ ++s->cur;
+yy41:
+ {
+ goto yyc_Comment;
+ }
+yy42:
+ s->yych = *++s->cur;
+ if (s->yych != '/') goto yy41;
+ ++s->cur;
+ {
+ s->cond = EStateNormal;
+ continue;
+ }
+/* *********************************** */
yyc_Skiptoeol:
if ((s->lim - s->cur) < 5) if(fill(s, 5) >= 0) break;
s->yych = *s->cur;
@@ -296,8 +295,8 @@ yy59:
goto yyc_Skiptoeol;
}
yy61:
- ++s->cur;
- if ((s->yych = *s->cur) == '\n') goto yy59;
+ s->yych = *++s->cur;
+ if (s->yych == '\n') goto yy59;
goto yy54;
/* *********************************** */
yyc_String:
diff --git a/test/condition_08.cbif.c b/test/condition_08.cbif.c
index bf268fcb..bb78ee77 100644
--- a/test/condition_08.cbif.c
+++ b/test/condition_08.cbif.c
@@ -5,7 +5,6 @@
#define BSIZE 8192
-
enum ScanContition {
EStateNormal,
EStateComment,
@@ -95,165 +94,165 @@ yy0:
}
}
/* *********************************** */
-yyc_Comment:
- s->state = 0;(0);
- if ((s->lim - s->cur) < 2) if(fill(s, 2) >= 0) break;
-yyFillLabel0:
- s->yych = *s->cur;
- if (s->yych == '*') goto yy5;
- ++s->cur;
-yy4:
- {
- goto yyc_Comment;
- }
-yy5:
- s->yych = *++s->cur;
- if (s->yych != '/') goto yy4;
- ++s->cur;
- {
- s->cond = EStateNormal;
- continue;
- }
-/* *********************************** */
yyc_Normal:
- s->state = 1;(1);
+ s->state = 0;(0);
if ((s->lim - s->cur) < 4) if(fill(s, 4) >= 0) break;
-yyFillLabel1:
+yyFillLabel0:
s->yych = *s->cur;
if (s->yych <= '\'') {
- if (s->yych == '"') goto yy12;
- if (s->yych >= '\'') goto yy14;
+ if (s->yych == '"') goto yy5;
+ if (s->yych >= '\'') goto yy7;
} else {
if (s->yych <= '/') {
- if (s->yych >= '/') goto yy15;
+ if (s->yych >= '/') goto yy8;
} else {
- if (s->yych == '?') goto yy16;
+ if (s->yych == '?') goto yy9;
}
}
++s->cur;
-yy11:
+yy4:
{
fputc(*s->tok, stdout);
continue;
}
-yy12:
+yy5:
++s->cur;
{
fputc(*s->tok, stdout);
s->state = EStateString;
continue;
}
-yy14:
+yy7:
s->yych = *(s->tok = ++s->cur);
- if (s->yych == '"') goto yy17;
- if (s->yych == '\\') goto yy19;
- goto yy11;
-yy15:
+ if (s->yych == '"') goto yy10;
+ if (s->yych == '\\') goto yy12;
+ goto yy4;
+yy8:
s->yych = *++s->cur;
- if (s->yych == '*') goto yy20;
- if (s->yych == '/') goto yy22;
- goto yy11;
-yy16:
+ if (s->yych == '*') goto yy13;
+ if (s->yych == '/') goto yy15;
+ goto yy4;
+yy9:
s->yych = *(s->tok = ++s->cur);
- if (s->yych == '?') goto yy24;
- goto yy11;
-yy17:
+ if (s->yych == '?') goto yy17;
+ goto yy4;
+yy10:
s->yych = *++s->cur;
- if (s->yych == '\'') goto yy25;
-yy18:
+ if (s->yych == '\'') goto yy18;
+yy11:
s->cur = s->tok;
- goto yy11;
-yy19:
+ goto yy4;
+yy12:
s->yych = *++s->cur;
- if (s->yych == '"') goto yy17;
- goto yy18;
-yy20:
+ if (s->yych == '"') goto yy10;
+ goto yy11;
+yy13:
++s->cur;
{
s->cond = EStateComment;
goto yyc_Comment;
}
-yy22:
+yy15:
++s->cur;
{
s->cond = EStateSkiptoeol;
goto yyc_Skiptoeol;
}
-yy24:
+yy17:
s->yych = *++s->cur;
switch (s->yych) {
- case '!': goto yy27;
- case '\'': goto yy29;
- case '(': goto yy31;
- case ')': goto yy33;
- case '-': goto yy35;
- case '/': goto yy37;
- case '<': goto yy39;
- case '=': goto yy41;
- case '>': goto yy43;
- default: goto yy18;
+ case '!': goto yy20;
+ case '\'': goto yy22;
+ case '(': goto yy24;
+ case ')': goto yy26;
+ case '-': goto yy28;
+ case '/': goto yy30;
+ case '<': goto yy32;
+ case '=': goto yy34;
+ case '>': goto yy36;
+ default: goto yy11;
}
-yy25:
+yy18:
++s->cur;
{
fputl("'\"'", 3, stdout);
continue;
}
-yy27:
+yy20:
++s->cur;
{
fputc('|', stdout);
continue;
}
-yy29:
+yy22:
++s->cur;
{
fputc('^', stdout);
continue;
}
-yy31:
+yy24:
++s->cur;
{
fputc('[', stdout);
continue;
}
-yy33:
+yy26:
++s->cur;
{
fputc(']', stdout);
continue;
}
-yy35:
+yy28:
++s->cur;
{
fputc('~', stdout);
continue;
}
-yy37:
+yy30:
++s->cur;
{
fputc('\\', stdout);
continue;
}
-yy39:
+yy32:
++s->cur;
{
fputc('{', stdout);
continue;
}
-yy41:
+yy34:
++s->cur;
{
fputc('#', stdout);
continue;
}
-yy43:
+yy36:
++s->cur;
{
fputc('}', stdout);
continue;
}
/* *********************************** */
+yyc_Comment:
+ s->state = 1;(1);
+ if ((s->lim - s->cur) < 2) if(fill(s, 2) >= 0) break;
+yyFillLabel1:
+ s->yych = *s->cur;
+ if (s->yych == '*') goto yy42;
+ ++s->cur;
+yy41:
+ {
+ goto yyc_Comment;
+ }
+yy42:
+ s->yych = *++s->cur;
+ if (s->yych != '/') goto yy41;
+ ++s->cur;
+ {
+ s->cond = EStateNormal;
+ continue;
+ }
+/* *********************************** */
yyc_Skiptoeol:
s->state = 2;(2);
if ((s->lim - s->cur) < 5) if(fill(s, 5) >= 0) break;
@@ -311,8 +310,8 @@ yy59:
goto yyc_Skiptoeol;
}
yy61:
- ++s->cur;
- if ((s->yych = *s->cur) == '\n') goto yy59;
+ s->yych = *++s->cur;
+ if (s->yych == '\n') goto yy59;
goto yy54;
/* *********************************** */
yyc_String:
diff --git a/test/condition_09.cbif.c b/test/condition_09.cbif.c
index 6db30936..cb9f399b 100644
--- a/test/condition_09.cbif.c
+++ b/test/condition_09.cbif.c
@@ -5,7 +5,6 @@
#define BSIZE 8192
-
enum ScanContition {
EStateNormal,
EStateComment,
@@ -85,6 +84,7 @@ void scan(Scanner *s)
case 2: goto yyFillLabel2;
case 3: goto yyFillLabel3;
}
+
for(;;)
{
s->tok = s->cur;
@@ -105,165 +105,165 @@ yy0:
}
}
/* *********************************** */
-yyc_Comment:
- s->state = 0;(0);
- if ((s->lim - s->cur) < 2) if(fill(s, 2) == ~0) break;
-yyFillLabel0:
- s->yych = *s->cur;
- if (s->yych == '*') goto yy5;
- ++s->cur;
-yy4:
- {
- goto yyc_Comment;
- }
-yy5:
- s->yych = *++s->cur;
- if (s->yych != '/') goto yy4;
- ++s->cur;
- s->cond = EStateNormal;(EStateNormal);
- {
- continue;
- }
-/* *********************************** */
yyc_Normal:
- s->state = 1;(1);
+ s->state = 0;(0);
if ((s->lim - s->cur) < 4) if(fill(s, 4) == ~0) break;
-yyFillLabel1:
+yyFillLabel0:
s->yych = *s->cur;
if (s->yych <= '\'') {
- if (s->yych == '"') goto yy12;
- if (s->yych >= '\'') goto yy14;
+ if (s->yych == '"') goto yy5;
+ if (s->yych >= '\'') goto yy7;
} else {
if (s->yych <= '/') {
- if (s->yych >= '/') goto yy15;
+ if (s->yych >= '/') goto yy8;
} else {
- if (s->yych == '?') goto yy16;
+ if (s->yych == '?') goto yy9;
}
}
++s->cur;
-yy11:
+yy4:
{
fputc(s->cur[-1], stdout);
continue;
}
-yy12:
+yy5:
++s->cur;
s->cond = EStateString;(EStateString);
{
fputc(s->cur[-1], stdout);
continue;
}
-yy14:
+yy7:
s->yych = *(s->tok = ++s->cur);
- if (s->yych == '"') goto yy17;
- if (s->yych == '\\') goto yy19;
- goto yy11;
-yy15:
+ if (s->yych == '"') goto yy10;
+ if (s->yych == '\\') goto yy12;
+ goto yy4;
+yy8:
s->yych = *++s->cur;
- if (s->yych == '*') goto yy20;
- if (s->yych == '/') goto yy22;
- goto yy11;
-yy16:
+ if (s->yych == '*') goto yy13;
+ if (s->yych == '/') goto yy15;
+ goto yy4;
+yy9:
s->yych = *(s->tok = ++s->cur);
- if (s->yych == '?') goto yy24;
- goto yy11;
-yy17:
+ if (s->yych == '?') goto yy17;
+ goto yy4;
+yy10:
s->yych = *++s->cur;
- if (s->yych == '\'') goto yy25;
-yy18:
+ if (s->yych == '\'') goto yy18;
+yy11:
s->cur = s->tok;
- goto yy11;
-yy19:
+ goto yy4;
+yy12:
s->yych = *++s->cur;
- if (s->yych == '"') goto yy17;
- goto yy18;
-yy20:
+ if (s->yych == '"') goto yy10;
+ goto yy11;
+yy13:
++s->cur;
s->cond = EStateComment;(EStateComment);
{
goto yyc_Comment;
}
-yy22:
+yy15:
++s->cur;
s->cond = EStateSkiptoeol;(EStateSkiptoeol);
{
goto yyc_Skiptoeol;
}
-yy24:
+yy17:
s->yych = *++s->cur;
switch (s->yych) {
- case '!': goto yy27;
- case '\'': goto yy29;
- case '(': goto yy31;
- case ')': goto yy33;
- case '-': goto yy35;
- case '/': goto yy37;
- case '<': goto yy39;
- case '=': goto yy41;
- case '>': goto yy43;
- default: goto yy18;
+ case '!': goto yy20;
+ case '\'': goto yy22;
+ case '(': goto yy24;
+ case ')': goto yy26;
+ case '-': goto yy28;
+ case '/': goto yy30;
+ case '<': goto yy32;
+ case '=': goto yy34;
+ case '>': goto yy36;
+ default: goto yy11;
}
-yy25:
+yy18:
++s->cur;
{
fputl("'\"'", 3, stdout);
continue;
}
-yy27:
+yy20:
++s->cur;
{
fputc('|', stdout);
continue;
}
-yy29:
+yy22:
++s->cur;
{
fputc('^', stdout);
continue;
}
-yy31:
+yy24:
++s->cur;
{
fputc('[', stdout);
continue;
}
-yy33:
+yy26:
++s->cur;
{
fputc(']', stdout);
continue;
}
-yy35:
+yy28:
++s->cur;
{
fputc('~', stdout);
continue;
}
-yy37:
+yy30:
++s->cur;
{
fputc('\\', stdout);
continue;
}
-yy39:
+yy32:
++s->cur;
{
fputc('{', stdout);
continue;
}
-yy41:
+yy34:
++s->cur;
{
fputc('#', stdout);
continue;
}
-yy43:
+yy36:
++s->cur;
{
fputc('}', stdout);
continue;
}
/* *********************************** */
+yyc_Comment:
+ s->state = 1;(1);
+ if ((s->lim - s->cur) < 2) if(fill(s, 2) == ~0) break;
+yyFillLabel1:
+ s->yych = *s->cur;
+ if (s->yych == '*') goto yy42;
+ ++s->cur;
+yy41:
+ {
+ goto yyc_Comment;
+ }
+yy42:
+ s->yych = *++s->cur;
+ if (s->yych != '/') goto yy41;
+ ++s->cur;
+ s->cond = EStateNormal;(EStateNormal);
+ {
+ continue;
+ }
+/* *********************************** */
yyc_Skiptoeol:
s->state = 2;(2);
if ((s->lim - s->cur) < 5) if(fill(s, 5) == ~0) break;
@@ -338,8 +338,8 @@ yy62:
goto yyc_Skiptoeol;
}
yy64:
- ++s->cur;
- if ((s->yych = *s->cur) == '\n') goto yy62;
+ s->yych = *++s->cur;
+ if (s->yych == '\n') goto yy62;
goto yy57;
/* *********************************** */
yyc_String:
diff --git a/test/condition_09.cgif.c b/test/condition_09.cgif.c
index 49cebe36..80cd50fc 100644
--- a/test/condition_09.cgif.c
+++ b/test/condition_09.cgif.c
@@ -5,7 +5,6 @@
#define BSIZE 8192
-
enum ScanContition {
EStateNormal,
EStateComment,
@@ -85,6 +84,7 @@ void scan(Scanner *s)
case 2: goto yyFillLabel2;
case 3: goto yyFillLabel3;
}
+
for(;;)
{
s->tok = s->cur;
@@ -100,218 +100,218 @@ void scan(Scanner *s)
yy0:
goto *yyctable[s->cond];
/* *********************************** */
-yyc_Comment:
- s->state = 0;(0);
- if ((s->lim - s->cur) < 2) if(fill(s, 2) == ~0) break;
-yyFillLabel0:
- s->yych = *s->cur;
- if (s->yych == '*') goto yy5;
- ++s->cur;
-yy4:
- {
- goto yyc_Comment;
- }
-yy5:
- s->yych = *++s->cur;
- if (s->yych != '/') goto yy4;
- ++s->cur;
- s->cond = EStateNormal;(EStateNormal);
- {
- continue;
- }
-/* *********************************** */
yyc_Normal:
- s->state = 1;(1);
+ s->state = 0;(0);
if ((s->lim - s->cur) < 4) if(fill(s, 4) == ~0) break;
-yyFillLabel1:
+yyFillLabel0:
s->yych = *s->cur;
{
static void *yytarget[256] = {
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy12, &&yy10, &&yy10, &&yy10, &&yy10, &&yy14,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy15,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy16,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy5, &&yy3, &&yy3, &&yy3, &&yy3, &&yy7,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy8,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy9,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3
};
goto *yytarget[s->yych];
}
-yy10:
+yy3:
++s->cur;
-yy11:
+yy4:
{
fputc(s->cur[-1], stdout);
continue;
}
-yy12:
+yy5:
++s->cur;
s->cond = EStateString;(EStateString);
{
fputc(s->cur[-1], stdout);
continue;
}
-yy14:
+yy7:
s->yych = *(s->tok = ++s->cur);
- if (s->yych == '"') goto yy17;
- if (s->yych == '\\') goto yy19;
- goto yy11;
-yy15:
+ if (s->yych == '"') goto yy10;
+ if (s->yych == '\\') goto yy12;
+ goto yy4;
+yy8:
s->yych = *++s->cur;
- if (s->yych == '*') goto yy20;
- if (s->yych == '/') goto yy22;
- goto yy11;
-yy16:
+ if (s->yych == '*') goto yy13;
+ if (s->yych == '/') goto yy15;
+ goto yy4;
+yy9:
s->yych = *(s->tok = ++s->cur);
- if (s->yych == '?') goto yy24;
- goto yy11;
-yy17:
+ if (s->yych == '?') goto yy17;
+ goto yy4;
+yy10:
s->yych = *++s->cur;
- if (s->yych == '\'') goto yy25;
-yy18:
+ if (s->yych == '\'') goto yy18;
+yy11:
s->cur = s->tok;
- goto yy11;
-yy19:
+ goto yy4;
+yy12:
s->yych = *++s->cur;
- if (s->yych == '"') goto yy17;
- goto yy18;
-yy20:
+ if (s->yych == '"') goto yy10;
+ goto yy11;
+yy13:
++s->cur;
s->cond = EStateComment;(EStateComment);
{
goto yyc_Comment;
}
-yy22:
+yy15:
++s->cur;
s->cond = EStateSkiptoeol;(EStateSkiptoeol);
{
goto yyc_Skiptoeol;
}
-yy24:
+yy17:
s->yych = *++s->cur;
{
static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy27, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy29,
- &&yy31, &&yy33, &&yy18, &&yy18, &&yy18, &&yy35, &&yy18, &&yy37,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy39, &&yy41, &&yy43, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy20, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy22,
+ &&yy24, &&yy26, &&yy11, &&yy11, &&yy11, &&yy28, &&yy11, &&yy30,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy32, &&yy34, &&yy36, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11
};
goto *yytarget[s->yych];
}
-yy25:
+yy18:
++s->cur;
{
fputl("'\"'", 3, stdout);
continue;
}
-yy27:
+yy20:
++s->cur;
{
fputc('|', stdout);
continue;
}
-yy29:
+yy22:
++s->cur;
{
fputc('^', stdout);
continue;
}
-yy31:
+yy24:
++s->cur;
{
fputc('[', stdout);
continue;
}
-yy33:
+yy26:
++s->cur;
{
fputc(']', stdout);
continue;
}
-yy35:
+yy28:
++s->cur;
{
fputc('~', stdout);
continue;
}
-yy37:
+yy30:
++s->cur;
{
fputc('\\', stdout);
continue;
}
-yy39:
+yy32:
++s->cur;
{
fputc('{', stdout);
continue;
}
-yy41:
+yy34:
++s->cur;
{
fputc('#', stdout);
continue;
}
-yy43:
+yy36:
++s->cur;
{
fputc('}', stdout);
continue;
}
/* *********************************** */
+yyc_Comment:
+ s->state = 1;(1);
+ if ((s->lim - s->cur) < 2) if(fill(s, 2) == ~0) break;
+yyFillLabel1:
+ s->yych = *s->cur;
+ if (s->yych == '*') goto yy42;
+ ++s->cur;
+yy41:
+ {
+ goto yyc_Comment;
+ }
+yy42:
+ s->yych = *++s->cur;
+ if (s->yych != '/') goto yy41;
+ ++s->cur;
+ s->cond = EStateNormal;(EStateNormal);
+ {
+ continue;
+ }
+/* *********************************** */
yyc_Skiptoeol:
s->state = 2;(2);
if ((s->lim - s->cur) < 5) if(fill(s, 5) == ~0) break;
@@ -414,8 +414,8 @@ yy62:
goto yyc_Skiptoeol;
}
yy64:
- ++s->cur;
- if ((s->yych = *s->cur) == '\n') goto yy62;
+ s->yych = *++s->cur;
+ if (s->yych == '\n') goto yy62;
goto yy57;
/* *********************************** */
yyc_String:
diff --git a/test/condition_10.cgif--skeleton.c b/test/condition_10.cgif--skeleton.c
index 408b20ce..a21253a7 100644
--- a/test/condition_10.cgif--skeleton.c
+++ b/test/condition_10.cgif--skeleton.c
@@ -1,7 +1,9 @@
/* Generated by re2c */
+#include <stddef.h> /* size_t */
#include <stdio.h>
#include <stdlib.h> /* malloc, free */
+#include <string.h> /* memcpy */
static void *read_file
( const char *fname
@@ -48,23 +50,17 @@ error:
return NULL;
}
-enum YYCONDTYPE {
- yycNormal,
- yycComment,
- yycSkiptoeol,
- yycString,
-};
-
-
#define YYCTYPE unsigned char
#define YYKEYTYPE unsigned char
#define YYPEEK() *cursor
#define YYSKIP() ++cursor
+#define YYBACKUP() marker = cursor
+#define YYRESTORE() cursor = marker
#define YYLESSTHAN(n) (limit - cursor) < n
#define YYFILL(n) { break; }
-static int action_line126_Comment
- ( unsigned int i
+static int action_line126_Normal
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -72,30 +68,32 @@ static int action_line126_Comment
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
- , "warning: lex_line126_Comment: control flow is undefined for input"
+ , "warning: lex_line126_Normal: control flow is undefined for input"
" at position %ld, rerun re2c with '-W'\n"
, pos
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line126_Comment: at position %ld (iteration %u):\n"
+ , "error: lex_line126_Normal: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -105,9 +103,16 @@ static int action_line126_Comment
}
}
-int lex_line126_Comment()
+static int check_key_count_line126_Normal(unsigned have, unsigned used, unsigned need)
{
- const size_t padding = 2; /* YYMAXFILL */
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line126_Normal: not enough keys\n");
+ return 1;
+}
+
+int lex_line126_Normal()
+{
+ const size_t padding = 4; /* YYMAXFILL */
int status = 0;
size_t input_len = 0;
size_t keys_count = 0;
@@ -120,7 +125,7 @@ int lex_line126_Comment()
unsigned int i = 0;
input = (YYCTYPE *) read_file
- ("condition_10.cgif--skeleton.c.line126_Comment.input"
+ ("condition_10.cgif--skeleton.c.line126_Normal.input"
, sizeof (YYCTYPE)
, padding
, &input_len
@@ -131,8 +136,8 @@ int lex_line126_Comment()
}
keys = (YYKEYTYPE *) read_file
- ("condition_10.cgif--skeleton.c.line126_Comment.keys"
- , 3 * sizeof (YYKEYTYPE)
+ ("condition_10.cgif--skeleton.c.line126_Normal.keys"
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -145,23 +150,191 @@ int lex_line126_Comment()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
+ const YYCTYPE *marker = NULL;
YYCTYPE yych;
- if (YYLESSTHAN (2)) YYFILL(2);
+ if (YYLESSTHAN (4)) YYFILL(4);
yych = YYPEEK ();
- if (yych == '*') goto yy5;
+ {
+ static void *yytarget[256] = {
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy5, &&yy3, &&yy3, &&yy3, &&yy3, &&yy7,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy8,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy9,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3
+ };
+ goto *yytarget[yych];
+ }
+yy3:
YYSKIP ();
yy4:
- status = action_line126_Comment(i, keys, input, token, &cursor, 15);
+ status = check_key_count_line126_Normal(keys_count, i, 3)
+ || action_line126_Normal(&i, keys, input, token, &cursor, 13);
continue;
yy5:
YYSKIP ();
+ status = check_key_count_line126_Normal(keys_count, i, 3)
+ || action_line126_Normal(&i, keys, input, token, &cursor, 12);
+ continue;
+yy7:
+ YYSKIP ();
+ YYBACKUP ();
+ yych = YYPEEK ();
+ if (yych == '"') goto yy10;
+ if (yych == '\\') goto yy12;
+ goto yy4;
+yy8:
+ YYSKIP ();
+ yych = YYPEEK ();
+ if (yych == '*') goto yy13;
+ if (yych == '/') goto yy15;
+ goto yy4;
+yy9:
+ YYSKIP ();
+ YYBACKUP ();
+ yych = YYPEEK ();
+ if (yych == '?') goto yy17;
+ goto yy4;
+yy10:
+ YYSKIP ();
yych = YYPEEK ();
- if (yych != '/') goto yy4;
+ if (yych == '\'') goto yy18;
+yy11:
+ YYRESTORE ();
+ goto yy4;
+yy12:
+ YYSKIP ();
+ yych = YYPEEK ();
+ if (yych == '"') goto yy10;
+ goto yy11;
+yy13:
+ YYSKIP ();
+ status = check_key_count_line126_Normal(keys_count, i, 3)
+ || action_line126_Normal(&i, keys, input, token, &cursor, 9);
+ continue;
+yy15:
YYSKIP ();
- status = action_line126_Comment(i, keys, input, token, &cursor, 14);
+ status = check_key_count_line126_Normal(keys_count, i, 3)
+ || action_line126_Normal(&i, keys, input, token, &cursor, 10);
+ continue;
+yy17:
+ YYSKIP ();
+ yych = YYPEEK ();
+ {
+ static void *yytarget[256] = {
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy20, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy22,
+ &&yy24, &&yy26, &&yy11, &&yy11, &&yy11, &&yy28, &&yy11, &&yy30,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy32, &&yy34, &&yy36, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11
+ };
+ goto *yytarget[yych];
+ }
+yy18:
+ YYSKIP ();
+ status = check_key_count_line126_Normal(keys_count, i, 3)
+ || action_line126_Normal(&i, keys, input, token, &cursor, 11);
+ continue;
+yy20:
+ YYSKIP ();
+ status = check_key_count_line126_Normal(keys_count, i, 3)
+ || action_line126_Normal(&i, keys, input, token, &cursor, 7);
+ continue;
+yy22:
+ YYSKIP ();
+ status = check_key_count_line126_Normal(keys_count, i, 3)
+ || action_line126_Normal(&i, keys, input, token, &cursor, 6);
+ continue;
+yy24:
+ YYSKIP ();
+ status = check_key_count_line126_Normal(keys_count, i, 3)
+ || action_line126_Normal(&i, keys, input, token, &cursor, 0);
+ continue;
+yy26:
+ YYSKIP ();
+ status = check_key_count_line126_Normal(keys_count, i, 3)
+ || action_line126_Normal(&i, keys, input, token, &cursor, 1);
+ continue;
+yy28:
+ YYSKIP ();
+ status = check_key_count_line126_Normal(keys_count, i, 3)
+ || action_line126_Normal(&i, keys, input, token, &cursor, 8);
+ continue;
+yy30:
+ YYSKIP ();
+ status = check_key_count_line126_Normal(keys_count, i, 3)
+ || action_line126_Normal(&i, keys, input, token, &cursor, 5);
+ continue;
+yy32:
+ YYSKIP ();
+ status = check_key_count_line126_Normal(keys_count, i, 3)
+ || action_line126_Normal(&i, keys, input, token, &cursor, 2);
+ continue;
+yy34:
+ YYSKIP ();
+ status = check_key_count_line126_Normal(keys_count, i, 3)
+ || action_line126_Normal(&i, keys, input, token, &cursor, 4);
+ continue;
+yy36:
+ YYSKIP ();
+ status = check_key_count_line126_Normal(keys_count, i, 3)
+ || action_line126_Normal(&i, keys, input, token, &cursor, 3);
continue;
}
@@ -169,11 +342,11 @@ yy5:
if (cursor != eof) {
status = 1;
const long pos = token - input;
- fprintf(stderr, "error: lex_line126_Comment: unused input strings left at position %ld\n", pos);
+ fprintf(stderr, "error: lex_line126_Normal: unused input strings left at position %ld\n", pos);
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line126_Comment: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line126_Normal: unused keys left after %u keys\n", i);
}
}
@@ -188,6 +361,8 @@ end:
#undef YYKEYTYPE
#undef YYPEEK
#undef YYSKIP
+#undef YYBACKUP
+#undef YYRESTORE
#undef YYLESSTHAN
#undef YYFILL
@@ -195,13 +370,11 @@ end:
#define YYKEYTYPE unsigned char
#define YYPEEK() *cursor
#define YYSKIP() ++cursor
-#define YYBACKUP() marker = cursor
-#define YYRESTORE() cursor = marker
#define YYLESSTHAN(n) (limit - cursor) < n
#define YYFILL(n) { break; }
-static int action_line126_Normal
- ( unsigned int i
+static int action_line126_Comment
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -209,30 +382,32 @@ static int action_line126_Normal
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
- , "warning: lex_line126_Normal: control flow is undefined for input"
+ , "warning: lex_line126_Comment: control flow is undefined for input"
" at position %ld, rerun re2c with '-W'\n"
, pos
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line126_Normal: at position %ld (iteration %u):\n"
+ , "error: lex_line126_Comment: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -242,9 +417,16 @@ static int action_line126_Normal
}
}
-int lex_line126_Normal()
+static int check_key_count_line126_Comment(unsigned have, unsigned used, unsigned need)
{
- const size_t padding = 4; /* YYMAXFILL */
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line126_Comment: not enough keys\n");
+ return 1;
+}
+
+int lex_line126_Comment()
+{
+ const size_t padding = 2; /* YYMAXFILL */
int status = 0;
size_t input_len = 0;
size_t keys_count = 0;
@@ -257,7 +439,7 @@ int lex_line126_Normal()
unsigned int i = 0;
input = (YYCTYPE *) read_file
- ("condition_10.cgif--skeleton.c.line126_Normal.input"
+ ("condition_10.cgif--skeleton.c.line126_Comment.input"
, sizeof (YYCTYPE)
, padding
, &input_len
@@ -268,8 +450,8 @@ int lex_line126_Normal()
}
keys = (YYKEYTYPE *) read_file
- ("condition_10.cgif--skeleton.c.line126_Normal.keys"
- , 3 * sizeof (YYKEYTYPE)
+ ("condition_10.cgif--skeleton.c.line126_Comment.keys"
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -282,177 +464,25 @@ int lex_line126_Normal()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
- const YYCTYPE *marker = NULL;
YYCTYPE yych;
- if (YYLESSTHAN (4)) YYFILL(4);
- yych = YYPEEK ();
- {
- static void *yytarget[256] = {
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy13, &&yy11, &&yy11, &&yy11, &&yy11, &&yy15,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy16,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy17,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11
- };
- goto *yytarget[yych];
- }
-yy11:
- YYSKIP ();
-yy12:
- status = action_line126_Normal(i, keys, input, token, &cursor, 13);
- continue;
-yy13:
- YYSKIP ();
- status = action_line126_Normal(i, keys, input, token, &cursor, 12);
- continue;
-yy15:
- YYSKIP ();
- YYBACKUP ();
- yych = YYPEEK ();
- if (yych == '"') goto yy18;
- if (yych == '\\') goto yy20;
- goto yy12;
-yy16:
- YYSKIP ();
- yych = YYPEEK ();
- if (yych == '*') goto yy21;
- if (yych == '/') goto yy23;
- goto yy12;
-yy17:
- YYSKIP ();
- YYBACKUP ();
- yych = YYPEEK ();
- if (yych == '?') goto yy25;
- goto yy12;
-yy18:
- YYSKIP ();
- yych = YYPEEK ();
- if (yych == '\'') goto yy26;
-yy19:
- YYRESTORE ();
- goto yy12;
-yy20:
- YYSKIP ();
+ if (YYLESSTHAN (2)) YYFILL(2);
yych = YYPEEK ();
- if (yych == '"') goto yy18;
- goto yy19;
-yy21:
- YYSKIP ();
- status = action_line126_Normal(i, keys, input, token, &cursor, 9);
- continue;
-yy23:
+ if (yych == '*') goto yy43;
YYSKIP ();
- status = action_line126_Normal(i, keys, input, token, &cursor, 10);
+yy42:
+ status = check_key_count_line126_Comment(keys_count, i, 3)
+ || action_line126_Comment(&i, keys, input, token, &cursor, 1);
continue;
-yy25:
+yy43:
YYSKIP ();
yych = YYPEEK ();
- {
- static void *yytarget[256] = {
- &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19,
- &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19,
- &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19,
- &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19,
- &&yy19, &&yy28, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy30,
- &&yy32, &&yy34, &&yy19, &&yy19, &&yy19, &&yy36, &&yy19, &&yy38,
- &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19,
- &&yy19, &&yy19, &&yy19, &&yy19, &&yy40, &&yy42, &&yy44, &&yy19,
- &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19,
- &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19,
- &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19,
- &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19,
- &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19,
- &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19,
- &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19,
- &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19,
- &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19,
- &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19,
- &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19,
- &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19,
- &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19,
- &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19,
- &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19,
- &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19,
- &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19,
- &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19,
- &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19,
- &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19,
- &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19,
- &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19,
- &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19,
- &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19, &&yy19
- };
- goto *yytarget[yych];
- }
-yy26:
+ if (yych != '/') goto yy42;
YYSKIP ();
- status = action_line126_Normal(i, keys, input, token, &cursor, 11);
- continue;
-yy28:
- YYSKIP ();
- status = action_line126_Normal(i, keys, input, token, &cursor, 7);
- continue;
-yy30:
- YYSKIP ();
- status = action_line126_Normal(i, keys, input, token, &cursor, 6);
- continue;
-yy32:
- YYSKIP ();
- status = action_line126_Normal(i, keys, input, token, &cursor, 0);
- continue;
-yy34:
- YYSKIP ();
- status = action_line126_Normal(i, keys, input, token, &cursor, 1);
- continue;
-yy36:
- YYSKIP ();
- status = action_line126_Normal(i, keys, input, token, &cursor, 8);
- continue;
-yy38:
- YYSKIP ();
- status = action_line126_Normal(i, keys, input, token, &cursor, 5);
- continue;
-yy40:
- YYSKIP ();
- status = action_line126_Normal(i, keys, input, token, &cursor, 2);
- continue;
-yy42:
- YYSKIP ();
- status = action_line126_Normal(i, keys, input, token, &cursor, 4);
- continue;
-yy44:
- YYSKIP ();
- status = action_line126_Normal(i, keys, input, token, &cursor, 3);
+ status = check_key_count_line126_Comment(keys_count, i, 3)
+ || action_line126_Comment(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -460,11 +490,11 @@ yy44:
if (cursor != eof) {
status = 1;
const long pos = token - input;
- fprintf(stderr, "error: lex_line126_Normal: unused input strings left at position %ld\n", pos);
+ fprintf(stderr, "error: lex_line126_Comment: unused input strings left at position %ld\n", pos);
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line126_Normal: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line126_Comment: unused keys left after %u keys\n", i);
}
}
@@ -479,8 +509,6 @@ end:
#undef YYKEYTYPE
#undef YYPEEK
#undef YYSKIP
-#undef YYBACKUP
-#undef YYRESTORE
#undef YYLESSTHAN
#undef YYFILL
@@ -494,7 +522,7 @@ end:
#define YYFILL(n) { break; }
static int action_line126_Skiptoeol
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -502,10 +530,12 @@ static int action_line126_Skiptoeol
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -515,17 +545,17 @@ static int action_line126_Skiptoeol
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line126_Skiptoeol: at position %ld (iteration %u):\n"
+ , "error: lex_line126_Skiptoeol: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -535,6 +565,13 @@ static int action_line126_Skiptoeol
}
}
+static int check_key_count_line126_Skiptoeol(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line126_Skiptoeol: not enough keys\n");
+ return 1;
+}
+
int lex_line126_Skiptoeol()
{
const size_t padding = 5; /* YYMAXFILL */
@@ -562,7 +599,7 @@ int lex_line126_Skiptoeol()
keys = (YYKEYTYPE *) read_file
("condition_10.cgif--skeleton.c.line126_Skiptoeol.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -575,7 +612,7 @@ int lex_line126_Skiptoeol()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -622,11 +659,13 @@ int lex_line126_Skiptoeol()
yy49:
YYSKIP ();
yy50:
- status = action_line126_Skiptoeol(i, keys, input, token, &cursor, 20);
+ status = check_key_count_line126_Skiptoeol(keys_count, i, 3)
+ || action_line126_Skiptoeol(&i, keys, input, token, &cursor, 4);
continue;
yy51:
YYSKIP ();
- status = action_line126_Skiptoeol(i, keys, input, token, &cursor, 19);
+ status = check_key_count_line126_Skiptoeol(keys_count, i, 3)
+ || action_line126_Skiptoeol(&i, keys, input, token, &cursor, 3);
continue;
yy53:
YYSKIP ();
@@ -648,7 +687,8 @@ yy55:
goto yy50;
yy56:
YYSKIP ();
- status = action_line126_Skiptoeol(i, keys, input, token, &cursor, 18);
+ status = check_key_count_line126_Skiptoeol(keys_count, i, 3)
+ || action_line126_Skiptoeol(&i, keys, input, token, &cursor, 2);
continue;
yy58:
YYSKIP ();
@@ -659,7 +699,8 @@ yy59:
goto yy50;
yy60:
YYSKIP ();
- status = action_line126_Skiptoeol(i, keys, input, token, &cursor, 17);
+ status = check_key_count_line126_Skiptoeol(keys_count, i, 3)
+ || action_line126_Skiptoeol(&i, keys, input, token, &cursor, 1);
continue;
yy62:
YYSKIP ();
@@ -674,11 +715,13 @@ yy63:
goto yy59;
yy64:
YYSKIP ();
- status = action_line126_Skiptoeol(i, keys, input, token, &cursor, 16);
+ status = check_key_count_line126_Skiptoeol(keys_count, i, 3)
+ || action_line126_Skiptoeol(&i, keys, input, token, &cursor, 0);
continue;
yy66:
YYSKIP ();
- if ((yych = YYPEEK ()) == '\n') goto yy64;
+ yych = YYPEEK ();
+ if (yych == '\n') goto yy64;
goto yy59;
}
@@ -690,7 +733,7 @@ yy66:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line126_Skiptoeol: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line126_Skiptoeol: unused keys left after %u keys\n", i);
}
}
@@ -718,7 +761,7 @@ end:
#define YYFILL(n) { break; }
static int action_line126_String
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -726,10 +769,12 @@ static int action_line126_String
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -739,17 +784,17 @@ static int action_line126_String
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line126_String: at position %ld (iteration %u):\n"
+ , "error: lex_line126_String: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -759,6 +804,13 @@ static int action_line126_String
}
}
+static int check_key_count_line126_String(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line126_String: not enough keys\n");
+ return 1;
+}
+
int lex_line126_String()
{
const size_t padding = 2; /* YYMAXFILL */
@@ -786,7 +838,7 @@ int lex_line126_String()
keys = (YYKEYTYPE *) read_file
("condition_10.cgif--skeleton.c.line126_String.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -799,7 +851,7 @@ int lex_line126_String()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -809,18 +861,21 @@ int lex_line126_String()
if (yych == '\\') goto yy74;
YYSKIP ();
yy71:
- status = action_line126_String(i, keys, input, token, &cursor, 23);
+ status = check_key_count_line126_String(keys_count, i, 3)
+ || action_line126_String(&i, keys, input, token, &cursor, 2);
continue;
yy72:
YYSKIP ();
- status = action_line126_String(i, keys, input, token, &cursor, 22);
+ status = check_key_count_line126_String(keys_count, i, 3)
+ || action_line126_String(&i, keys, input, token, &cursor, 1);
continue;
yy74:
YYSKIP ();
yych = YYPEEK ();
if (yych == '\n') goto yy71;
YYSKIP ();
- status = action_line126_String(i, keys, input, token, &cursor, 21);
+ status = check_key_count_line126_String(keys_count, i, 3)
+ || action_line126_String(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -832,7 +887,7 @@ yy74:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line126_String: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line126_String: unused keys left after %u keys\n", i);
}
}
@@ -868,7 +923,7 @@ int main()
}
 !"#$%&'()+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ*/*
-* * * ******************* *!*"*#*$*%*&*'*(*)***+*,*-*.*0*1*2*3*4*5*6*7*8*9*:*;*<*=*>*?*@*A*B*C*D*E*F*G*H*I*J*K*L*M*N*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*\*]*^*_*`*a*b*c*d*e*f*g*h*i*j*k*l*m*n*o*p*q*r*s*t*u*v*w*x*y*z*{*|*}*~**€**‚*ƒ*„*…*†*‡*ˆ*‰*Š*‹*Œ**Ž***‘*’*“*”*•*–*—*˜*™*š*›*œ**ž*Ÿ* *¡*¢*£*¤*¥*¦*§*¨*©*ª*«*¬*­*®*¯*°*±*²*³*´*µ*¶*·*¸*¹*º*»*¼*½*¾*¿*À*Á*Â*Ã*Ä*Å*Æ*Ç*È*É*Ê*Ë*Ì*Í*Î*Ï*Ð*Ñ*Ò*Ó*Ô*Õ*Ö*×*Ø*Ù*Ú*Û*Ü*Ý*Þ*ß*à*á*â*ã*ä*å*æ*ç*è*é*ê*ë*ì*í*î*ï*ð*ñ*ò*ó*ô*õ*ö*÷*ø*ù*ú*û*ü*ý*þ*ÿ
+* * * ******************* *!*"*#*$*%*&*'*(*)***+*,*-*.*0*1*2*3*4*5*6*7*8*9*:*;*<*=*>*?*@*A*B*C*D*E*F*G*H*I*J*K*L*M*N*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*\*]*^*_*`*a*b*c*d*e*f*g*h*i*j*k*l*m*n*o*p*q*r*s*t*u*v*w*x*y*z*{*|*}*~**€**‚*ƒ*„*…*†*‡*ˆ*‰*Š*‹*Œ**Ž***‘*’*“*”*•*–*—*˜*™*š*›*œ**ž*Ÿ* *¡*¢*£*¤*¥*¦*§*¨*©*ª*«*¬*­*®*¯*°*±*²*³*´*µ*¶*·*¸*¹*º*»*¼*½*¾*¿*À*Á*Â*Ã*Ä*Å*Æ*Ç*È*É*Ê*Ë*Ì*Í*Î*Ï*Ð*Ñ*Ò*Ó*Ô*Õ*Ö*×*Ø*Ù*Ú*Û*Ü*Ý*Þ*ß*à*á*â*ã*ä*å*æ*ç*è*é*ê*ë*ì*í*î*ï*ð*ñ*ò*ó*ô*õ*ö*÷*ø*ù*ú*û*ü*ý*þ*ÿ
 !#$%&()*+,-.0123456789:;<=>@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"'"''"
'" '" '" '"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'"'" '"!'""'"#'"$'"%'"&'"('")'"*'"+'",'"-'".'"/'"0'"1'"2'"3'"4'"5'"6'"7'"8'"9'":'";'"<'"='">'"?'"@'"A'"B'"C'"D'"E'"F'"G'"H'"I'"J'"K'"L'"M'"N'"O'"P'"Q'"R'"S'"T'"U'"V'"W'"X'"Y'"Z'"['"\'"]'"^'"_'"`'"a'"b'"c'"d'"e'"f'"g'"h'"i'"j'"k'"l'"m'"n'"o'"p'"q'"r'"s'"t'"u'"v'"w'"x'"y'"z'"{'"|'"}'"~'"'"€'"'"‚'"ƒ'"„'"…'"†'"‡'"ˆ'"‰'"Š'"‹'"Œ'"'"Ž'"'"'"‘'"’'"“'"”'"•'"–'"—'"˜'"™'"š'"›'"œ'"'"ž'"Ÿ'" '"¡'"¢'"£'"¤'"¥'"¦'"§'"¨'"©'"ª'"«'"¬'"­'"®'"¯'"°'"±'"²'"³'"´'"µ'"¶'"·'"¸'"¹'"º'"»'"¼'"½'"¾'"¿'"À'"Á'"Â'"Ã'"Ä'"Å'"Æ'"Ç'"È'"É'"Ê'"Ë'"Ì'"Í'"Î'"Ï'"Ð'"Ñ'"Ò'"Ó'"Ô'"Õ'"Ö'"×'"Ø'"Ù'"Ú'"Û'"Ü'"Ý'"Þ'"ß'"à'"á'"â'"ã'"ä'"å'"æ'"ç'"è'"é'"ê'"ë'"ì'"í'"î'"ï'"ð'"ñ'"ò'"ó'"ô'"õ'"ö'"÷'"ø'"ù'"ú'"û'"ü'"ý'"þ'"ÿ'\"''\"
'\" '\" '\" '\"'\"'\"'\"'\"'\"'\"'\"'\"'\"'\"'\"'\"'\"'\"'\"'\"'\"'\" '\"!'\""'\"#'\"$'\"%'\"&'\"('\")'\"*'\"+'\",'\"-'\".'\"/'\"0'\"1'\"2'\"3'\"4'\"5'\"6'\"7'\"8'\"9'\":'\";'\"<'\"='\">'\"?'\"@'\"A'\"B'\"C'\"D'\"E'\"F'\"G'\"H'\"I'\"J'\"K'\"L'\"M'\"N'\"O'\"P'\"Q'\"R'\"S'\"T'\"U'\"V'\"W'\"X'\"Y'\"Z'\"['\"\'\"]'\"^'\"_'\"`'\"a'\"b'\"c'\"d'\"e'\"f'\"g'\"h'\"i'\"j'\"k'\"l'\"m'\"n'\"o'\"p'\"q'\"r'\"s'\"t'\"u'\"v'\"w'\"x'\"y'\"z'\"{'\"|'\"}'\"~'\"'\"€'\"'\"‚'\"ƒ'\"„'\"…'\"†'\"‡'\"ˆ'\"‰'\"Š'\"‹'\"Œ'\"'\"Ž'\"'\"'\"‘'\"’'\"“'\"”'\"•'\"–'\"—'\"˜'\"™'\"š'\"›'\"œ'\"'\"ž'\"Ÿ'\" '\"¡'\"¢'\"£'\"¤'\"¥'\"¦'\"§'\"¨'\"©'\"ª'\"«'\"¬'\"­'\"®'\"¯'\"°'\"±'\"²'\"³'\"´'\"µ'\"¶'\"·'\"¸'\"¹'\"º'\"»'\"¼'\"½'\"¾'\"¿'\"À'\"Á'\"Â'\"Ã'\"Ä'\"Å'\"Æ'\"Ç'\"È'\"É'\"Ê'\"Ë'\"Ì'\"Í'\"Î'\"Ï'\"Ð'\"Ñ'\"Ò'\"Ó'\"Ô'\"Õ'\"Ö'\"×'\"Ø'\"Ù'\"Ú'\"Û'\"Ü'\"Ý'\"Þ'\"ß'\"à'\"á'\"â'\"ã'\"ä'\"å'\"æ'\"ç'\"è'\"é'\"ê'\"ë'\"ì'\"í'\"î'\"ï'\"ð'\"ñ'\"ò'\"ó'\"ô'\"õ'\"ö'\"÷'\"ø'\"ù'\"ú'\"û'\"ü'\"ý'\"þ'\"ÿ'\
@@ -885,6 +940,6 @@ int main()
?? ?? ?? ?????????????????????????????????????? ??!??"??#??$??%??&??'??(??)??*??+??,??-??.??0??1??2??3??4??5??6??7??8??9??:??;??<??=??>?????@??A??B??C??D??E??F??G??H??I??J??K??L??M??N??O??P??Q??R??S??T??U??V??W??X??Y??Z??[??\??]??^??_??`??a??b??c??d??e??f??g??h??i??j??k??l??m??n??o??p??q??r??s??t??u??v??w??x??y??z??{??|??}??~????€????‚??ƒ??„??…??†??‡??ˆ??‰??Š??‹??Œ????Ž??????‘??’??“??”??•??–??—??˜??™??š??›??œ????ž??Ÿ?? ??¡??¢??£??¤??¥??¦??§??¨??©??ª??«??¬??­??®??¯??°??±??²??³??´??µ??¶??·??¸??¹??º??»??¼??½??¾??¿??À??Á??Â??Ã??Ä??Å??Æ??Ç??È??É??Ê??Ë??Ì??Í??Î??Ï??Ð??Ñ??Ò??Ó??Ô??Õ??Ö??×??Ø??Ù??Ú??Û??Ü??Ý??Þ??ß??à??á??â??ã??ä??å??æ??ç??è??é??ê??ë??ì??í??î??ï??ð??ñ??ò??ó??ô??õ??ö??÷??ø??ù??ú??û??ü??ý??þ??ÿ?
? ? ? ??????????????????? ?!?"?#?$?%?&?'?(?)?*?+?,?-?.?/?0?1?2?3?4?5?6?7?8?9?:?;?<?=?>?@?A?B?C?D?E?F?G?H?I?J?K?L?M?N?O?P?Q?R?S?T?U?V?W?X?Y?Z?[?\?]?^?_?`?a?b?c?d?e?f?g?h?i?j?k?l?m?n?o?p?q?r?s?t?u?v?w?x?y?z?{?|?}?~??€??‚?ƒ?„?…?†?‡?ˆ?‰?Š?‹?Œ??Ž???‘?’?“?”?•?–?—?˜?™?š?›?œ??ž?Ÿ? ?¡?¢?£?¤?¥?¦?§?¨?©?ª?«?¬?­?®?¯?°?±?²?³?´?µ?¶?·?¸?¹?º?»?¼?½?¾?¿?À?Á?Â?Ã?Ä?Å?Æ?Ç?È?É?Ê?Ë?Ì?Í?Î?Ï?Ð?Ñ?Ò?Ó?Ô?Õ?Ö?×?Ø?Ù?Ú?Û?Ü?Ý?Þ?ß?à?á?â?ã?ä?å?æ?ç?è?é?ê?ë?ì?í?î?ï?ð?ñ?ò?ó?ô?õ?ö?÷?ø?ù?ú?û?ü?ý?þ?ÿ\
\
-\
+\
 !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"\
- \ No newline at end of file
+
diff --git a/test/condition_10.cgif.c b/test/condition_10.cgif.c
index 5a19f91d..88e17488 100644
--- a/test/condition_10.cgif.c
+++ b/test/condition_10.cgif.c
@@ -5,7 +5,6 @@
#define BSIZE 8192
-
enum ScanContition {
EStateNormal,
EStateComment,
@@ -85,6 +84,7 @@ void scan(Scanner *s)
case 2: goto yyFillLabel2;
case 3: goto yyFillLabel3;
}
+
for(;;)
{
s->tok = s->cur;
@@ -100,186 +100,186 @@ void scan(Scanner *s)
yy0:
goto *yyctable[s->cond];
/* *********************************** */
-yyc_Comment:
- s->state = 0;(0);
- if ((s->lim - s->cur) < 2) if(fill(s, 2) == ~0) break;
-yyFillLabel0:
- s->yych = *s->cur;
- if (s->yych == '*') goto yy5;
- ++s->cur;
-yy4:
- goto yyc_Comment;
-yy5:
- s->yych = *++s->cur;
- if (s->yych != '/') goto yy4;
- ++s->cur;
- s->cond = EStateNormal;(EStateNormal);
- continue;
-/* *********************************** */
yyc_Normal:
- s->state = 1;(1);
+ s->state = 0;(0);
if ((s->lim - s->cur) < 4) if(fill(s, 4) == ~0) break;
-yyFillLabel1:
+yyFillLabel0:
s->yych = *s->cur;
{
static void *yytarget[256] = {
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy12, &&yy10, &&yy10, &&yy10, &&yy10, &&yy14,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy15,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy16,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy5, &&yy3, &&yy3, &&yy3, &&yy3, &&yy7,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy8,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy9,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3
};
goto *yytarget[s->yych];
}
-yy10:
+yy3:
++s->cur;
-yy11:
+yy4:
fputc(s->cur[-1], stdout);
continue;
-yy12:
+yy5:
++s->cur;
s->cond = EStateString;(EStateString);
fputc(s->cur[-1], stdout);
continue;
-yy14:
+yy7:
s->yych = *(s->tok = ++s->cur);
- if (s->yych == '"') goto yy17;
- if (s->yych == '\\') goto yy19;
- goto yy11;
-yy15:
+ if (s->yych == '"') goto yy10;
+ if (s->yych == '\\') goto yy12;
+ goto yy4;
+yy8:
s->yych = *++s->cur;
- if (s->yych == '*') goto yy20;
- if (s->yych == '/') goto yy22;
- goto yy11;
-yy16:
+ if (s->yych == '*') goto yy13;
+ if (s->yych == '/') goto yy15;
+ goto yy4;
+yy9:
s->yych = *(s->tok = ++s->cur);
- if (s->yych == '?') goto yy24;
- goto yy11;
-yy17:
+ if (s->yych == '?') goto yy17;
+ goto yy4;
+yy10:
s->yych = *++s->cur;
- if (s->yych == '\'') goto yy25;
-yy18:
+ if (s->yych == '\'') goto yy18;
+yy11:
s->cur = s->tok;
- goto yy11;
-yy19:
+ goto yy4;
+yy12:
s->yych = *++s->cur;
- if (s->yych == '"') goto yy17;
- goto yy18;
-yy20:
+ if (s->yych == '"') goto yy10;
+ goto yy11;
+yy13:
++s->cur;
s->cond = EStateComment;(EStateComment);
goto yyc_Comment;
-yy22:
+yy15:
++s->cur;
s->cond = EStateSkiptoeol;(EStateSkiptoeol);
goto yyc_Skiptoeol;
-yy24:
+yy17:
s->yych = *++s->cur;
{
static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy27, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy29,
- &&yy31, &&yy33, &&yy18, &&yy18, &&yy18, &&yy35, &&yy18, &&yy37,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy39, &&yy41, &&yy43, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy20, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy22,
+ &&yy24, &&yy26, &&yy11, &&yy11, &&yy11, &&yy28, &&yy11, &&yy30,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy32, &&yy34, &&yy36, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11
};
goto *yytarget[s->yych];
}
-yy25:
+yy18:
++s->cur;
fputl("'\"'", 3, stdout);
continue;
-yy27:
+yy20:
++s->cur;
fputc('|', stdout);
continue;
-yy29:
+yy22:
++s->cur;
fputc('^', stdout);
continue;
-yy31:
+yy24:
++s->cur;
fputc('[', stdout);
continue;
-yy33:
+yy26:
++s->cur;
fputc(']', stdout);
continue;
-yy35:
+yy28:
++s->cur;
fputc('~', stdout);
continue;
-yy37:
+yy30:
++s->cur;
fputc('\\', stdout);
continue;
-yy39:
+yy32:
++s->cur;
fputc('{', stdout);
continue;
-yy41:
+yy34:
++s->cur;
fputc('#', stdout);
continue;
-yy43:
+yy36:
++s->cur;
fputc('}', stdout);
continue;
/* *********************************** */
+yyc_Comment:
+ s->state = 1;(1);
+ if ((s->lim - s->cur) < 2) if(fill(s, 2) == ~0) break;
+yyFillLabel1:
+ s->yych = *s->cur;
+ if (s->yych == '*') goto yy42;
+ ++s->cur;
+yy41:
+ goto yyc_Comment;
+yy42:
+ s->yych = *++s->cur;
+ if (s->yych != '/') goto yy41;
+ ++s->cur;
+ s->cond = EStateNormal;(EStateNormal);
+ continue;
+/* *********************************** */
yyc_Skiptoeol:
s->state = 2;(2);
if ((s->lim - s->cur) < 5) if(fill(s, 5) == ~0) break;
@@ -372,8 +372,8 @@ yy62:
++s->cur;
goto yyc_Skiptoeol;
yy64:
- ++s->cur;
- if ((s->yych = *s->cur) == '\n') goto yy62;
+ s->yych = *++s->cur;
+ if (s->yych == '\n') goto yy62;
goto yy57;
/* *********************************** */
yyc_String:
diff --git a/test/condition_11.cg.c b/test/condition_11.cg.c
index 7bbf213b..7941d6d3 100644
--- a/test/condition_11.cg.c
+++ b/test/condition_11.cg.c
@@ -84,7 +84,7 @@ yy22:
}
#line 9 "condition_11.cg.re"
-re2c: warning: line 3: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 3: rule in condition '0' matches empty string [-Wmatch-empty-string]
re2c: warning: line 9: control flow in condition 'r1' is undefined for strings that match '[\x0-\x30\x33-\x60\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
re2c: warning: line 9: control flow in condition 'r2' is undefined for strings that match '[\x0-\x30\x33-\x61\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
re2c: warning: line 9: looks like you use hardcoded numbers instead of autogenerated condition names: better add '/*!types:re2c*/' directive or '-t, --type-header' option and don't rely on fixed condition order. [-Wcondition-order]
diff --git a/test/condition_12.cgif.c b/test/condition_12.cgif.c
index dd6438d5..da9427d7 100644
--- a/test/condition_12.cgif.c
+++ b/test/condition_12.cgif.c
@@ -5,7 +5,6 @@
#define BSIZE 8192
-
enum ScanContition {
EStateNormal,
EStateComment,
@@ -85,6 +84,7 @@ void scan(Scanner *s)
case 2: goto yyFillLabel2;
case 3: goto yyFillLabel3;
}
+
for(;;)
{
s->tok = s->cur;
@@ -100,186 +100,186 @@ void scan(Scanner *s)
yy0:
goto *yyctable[s->cond];
/* *********************************** */
-yyc_Comment:
- s->state = 0;(0);
- if ((s->lim - s->cur) < 2) if(fill(s, 2) == ~0) break;
-yyFillLabel0:
- s->yych = *s->cur;
- if (s->yych == '*') goto yy5;
- ++s->cur;
-yy4:
- goto yyc_Comment;
-yy5:
- s->yych = *++s->cur;
- if (s->yych != '/') goto yy4;
- ++s->cur;
- s->cond = EStateNormal;(EStateNormal);
- goto yyc_Normal;
-/* *********************************** */
yyc_Normal:
- s->state = 1;(1);
+ s->state = 0;(0);
if ((s->lim - s->cur) < 4) if(fill(s, 4) == ~0) break;
-yyFillLabel1:
+yyFillLabel0:
s->yych = *s->cur;
{
static void *yytarget[256] = {
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy12, &&yy10, &&yy10, &&yy10, &&yy10, &&yy14,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy15,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy16,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy5, &&yy3, &&yy3, &&yy3, &&yy3, &&yy7,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy8,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy9,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3
};
goto *yytarget[s->yych];
}
-yy10:
+yy3:
++s->cur;
-yy11:
+yy4:
fputc(s->cur[-1], stdout);
continue;
-yy12:
+yy5:
++s->cur;
s->cond = EStateString;(EStateString);
fputc(s->cur[-1], stdout);
continue;
-yy14:
+yy7:
s->yych = *(s->tok = ++s->cur);
- if (s->yych == '"') goto yy17;
- if (s->yych == '\\') goto yy19;
- goto yy11;
-yy15:
+ if (s->yych == '"') goto yy10;
+ if (s->yych == '\\') goto yy12;
+ goto yy4;
+yy8:
s->yych = *++s->cur;
- if (s->yych == '*') goto yy20;
- if (s->yych == '/') goto yy22;
- goto yy11;
-yy16:
+ if (s->yych == '*') goto yy13;
+ if (s->yych == '/') goto yy15;
+ goto yy4;
+yy9:
s->yych = *(s->tok = ++s->cur);
- if (s->yych == '?') goto yy24;
- goto yy11;
-yy17:
+ if (s->yych == '?') goto yy17;
+ goto yy4;
+yy10:
s->yych = *++s->cur;
- if (s->yych == '\'') goto yy25;
-yy18:
+ if (s->yych == '\'') goto yy18;
+yy11:
s->cur = s->tok;
- goto yy11;
-yy19:
+ goto yy4;
+yy12:
s->yych = *++s->cur;
- if (s->yych == '"') goto yy17;
- goto yy18;
-yy20:
+ if (s->yych == '"') goto yy10;
+ goto yy11;
+yy13:
++s->cur;
s->cond = EStateComment;(EStateComment);
goto yyc_Comment;
-yy22:
+yy15:
++s->cur;
s->cond = EStateSkiptoeol;(EStateSkiptoeol);
goto yyc_Skiptoeol;
-yy24:
+yy17:
s->yych = *++s->cur;
{
static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy27, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy29,
- &&yy31, &&yy33, &&yy18, &&yy18, &&yy18, &&yy35, &&yy18, &&yy37,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy39, &&yy41, &&yy43, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy20, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy22,
+ &&yy24, &&yy26, &&yy11, &&yy11, &&yy11, &&yy28, &&yy11, &&yy30,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy32, &&yy34, &&yy36, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11
};
goto *yytarget[s->yych];
}
-yy25:
+yy18:
++s->cur;
fputl("'\"'", 3, stdout);
continue;
-yy27:
+yy20:
++s->cur;
fputc('|', stdout);
continue;
-yy29:
+yy22:
++s->cur;
fputc('^', stdout);
continue;
-yy31:
+yy24:
++s->cur;
fputc('[', stdout);
continue;
-yy33:
+yy26:
++s->cur;
fputc(']', stdout);
continue;
-yy35:
+yy28:
++s->cur;
fputc('~', stdout);
continue;
-yy37:
+yy30:
++s->cur;
fputc('\\', stdout);
continue;
-yy39:
+yy32:
++s->cur;
fputc('{', stdout);
continue;
-yy41:
+yy34:
++s->cur;
fputc('#', stdout);
continue;
-yy43:
+yy36:
++s->cur;
fputc('}', stdout);
continue;
/* *********************************** */
+yyc_Comment:
+ s->state = 1;(1);
+ if ((s->lim - s->cur) < 2) if(fill(s, 2) == ~0) break;
+yyFillLabel1:
+ s->yych = *s->cur;
+ if (s->yych == '*') goto yy42;
+ ++s->cur;
+yy41:
+ goto yyc_Comment;
+yy42:
+ s->yych = *++s->cur;
+ if (s->yych != '/') goto yy41;
+ ++s->cur;
+ s->cond = EStateNormal;(EStateNormal);
+ goto yyc_Normal;
+/* *********************************** */
yyc_Skiptoeol:
s->state = 2;(2);
if ((s->lim - s->cur) < 5) if(fill(s, 5) == ~0) break;
@@ -372,8 +372,8 @@ yy62:
++s->cur;
goto yyc_Skiptoeol;
yy64:
- ++s->cur;
- if ((s->yych = *s->cur) == '\n') goto yy62;
+ s->yych = *++s->cur;
+ if (s->yych == '\n') goto yy62;
goto yy57;
/* *********************************** */
yyc_String:
diff --git a/test/condition_13.cg.c b/test/condition_13.cg.c
index 998e9084..084ff3a7 100644
--- a/test/condition_13.cg.c
+++ b/test/condition_13.cg.c
@@ -68,7 +68,7 @@ yy22:
}
#line 9 "condition_13.cg.re"
-re2c: warning: line 3: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 3: rule in condition '0' matches empty string [-Wmatch-empty-string]
re2c: warning: line 9: control flow in condition 'r1' is undefined for strings that match '[\x0-\x30\x33-\x60\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
re2c: warning: line 9: control flow in condition 'r2' is undefined for strings that match '[\x0-\x30\x33-\x61\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
re2c: warning: line 9: looks like you use hardcoded numbers instead of autogenerated condition names: better add '/*!types:re2c*/' directive or '-t, --type-header' option and don't rely on fixed condition order. [-Wcondition-order]
diff --git a/test/condition_13a.cg.c b/test/condition_13a.cg.c
new file mode 100644
index 00000000..c8aa76fb
--- /dev/null
+++ b/test/condition_13a.cg.c
@@ -0,0 +1,74 @@
+/* Generated by re2c */
+#line 1 "condition_13a.cg.re"
+
+#line 5 "condition_13a.cg.c"
+{
+ YYCTYPE yych;
+ static void *yyctable[3] = {
+ &&yyc_0,
+ &&yyc_r1,
+ &&yyc_r2,
+ };
+ goto *yyctable[YYGETCONDITION()];
+/* *********************************** */
+yyc_0:
+ YYSETCONDITION(yycr1);
+ goto yyc_r1;
+/* *********************************** */
+yyc_r1:
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= '2') {
+ if (yych <= '0') goto yy6;
+ if (yych <= '1') goto yy7;
+ goto yy9;
+ } else {
+ if (yych <= '`') goto yy6;
+ if (yych <= 'a') goto yy11;
+ if (yych <= 'b') goto yy13;
+ }
+yy6:
+yy7:
+ ++YYCURSOR;
+ goto yyc_r1;
+yy9:
+ ++YYCURSOR;
+ goto yyc_r1;
+yy11:
+ ++YYCURSOR;
+ YYSETCONDITION(yycr2);
+ goto yyc_r2;
+yy13:
+ ++YYCURSOR;
+ YYSETCONDITION(yycr2);
+ goto yyc_r2;
+/* *********************************** */
+yyc_r2:
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= '2') {
+ if (yych <= '0') goto yy17;
+ if (yych <= '1') goto yy18;
+ goto yy20;
+ } else {
+ if (yych == 'b') goto yy22;
+ }
+yy17:
+yy18:
+ ++YYCURSOR;
+ YYSETCONDITION(yycr1);
+ goto yyc_r1;
+yy20:
+ ++YYCURSOR;
+ YYSETCONDITION(yycr1);
+ goto yyc_r1;
+yy22:
+ ++YYCURSOR;
+ goto yyc_r2;
+}
+#line 9 "condition_13a.cg.re"
+
+re2c: warning: line 7: rule in condition '0' matches empty string [-Wmatch-empty-string]
+re2c: warning: line 9: control flow in condition 'r1' is undefined for strings that match '[\x0-\x30\x33-\x60\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
+re2c: warning: line 9: control flow in condition 'r2' is undefined for strings that match '[\x0-\x30\x33-\x61\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
+re2c: warning: line 9: looks like you use hardcoded numbers instead of autogenerated condition names: better add '/*!types:re2c*/' directive or '-t, --type-header' option and don't rely on fixed condition order. [-Wcondition-order]
diff --git a/test/condition_13a.cg.re b/test/condition_13a.cg.re
new file mode 100644
index 00000000..ef9fd843
--- /dev/null
+++ b/test/condition_13a.cg.re
@@ -0,0 +1,9 @@
+/*!re2c
+
+<*> "1" :=> r1
+<*> "2" :=> r1
+<r1> "a" :=> r2
+<r1,r2> "b" :=> r2
+<> :=> r1
+
+*/
diff --git a/test/condition_14.cbif.c b/test/condition_14.cbif.c
index ed015573..34635125 100644
--- a/test/condition_14.cbif.c
+++ b/test/condition_14.cbif.c
@@ -5,7 +5,6 @@
#define BSIZE 8192
-
enum ScanContition {
EStateNormal,
EStateComment,
@@ -85,6 +84,7 @@ void scan(Scanner *s)
case 2: goto yyFillLabel2;
case 3: goto yyFillLabel3;
}
+
for(;;)
{
s->tok = s->cur;
@@ -105,133 +105,133 @@ yy0:
}
}
/* *********************************** */
-yyc_Comment:
- s->state = 0;(0);
- if ((s->lim - s->cur) < 2) if (fill(s, 2) == ~0) break;
-yyFillLabel0:
- s->yych = *s->cur;
- if (s->yych == '*') goto yy5;
- ++s->cur;
-yy4:
- continue;
-yy5:
- s->yych = *++s->cur;
- if (s->yych != '/') goto yy4;
- ++s->cur;
- s->cond = EStateNormal;(EStateNormal);
- continue;
-/* *********************************** */
yyc_Normal:
- s->state = 1;(1);
+ s->state = 0;(0);
if ((s->lim - s->cur) < 4) if (fill(s, 4) == ~0) break;
-yyFillLabel1:
+yyFillLabel0:
s->yych = *s->cur;
if (s->yych <= '\'') {
- if (s->yych == '"') goto yy12;
- if (s->yych >= '\'') goto yy14;
+ if (s->yych == '"') goto yy5;
+ if (s->yych >= '\'') goto yy7;
} else {
if (s->yych <= '/') {
- if (s->yych >= '/') goto yy15;
+ if (s->yych >= '/') goto yy8;
} else {
- if (s->yych == '?') goto yy16;
+ if (s->yych == '?') goto yy9;
}
}
++s->cur;
-yy11:
+yy4:
fputc(s->cur[-1], stdout);
continue;
-yy12:
+yy5:
++s->cur;
s->cond = EStateString;(EStateString);
fputc(s->cur[-1], stdout);
continue;
-yy14:
+yy7:
s->yych = *(s->tok = ++s->cur);
- if (s->yych == '"') goto yy17;
- if (s->yych == '\\') goto yy19;
- goto yy11;
-yy15:
+ if (s->yych == '"') goto yy10;
+ if (s->yych == '\\') goto yy12;
+ goto yy4;
+yy8:
s->yych = *++s->cur;
- if (s->yych == '*') goto yy20;
- if (s->yych == '/') goto yy22;
- goto yy11;
-yy16:
+ if (s->yych == '*') goto yy13;
+ if (s->yych == '/') goto yy15;
+ goto yy4;
+yy9:
s->yych = *(s->tok = ++s->cur);
- if (s->yych == '?') goto yy24;
- goto yy11;
-yy17:
+ if (s->yych == '?') goto yy17;
+ goto yy4;
+yy10:
s->yych = *++s->cur;
- if (s->yych == '\'') goto yy25;
-yy18:
+ if (s->yych == '\'') goto yy18;
+yy11:
s->cur = s->tok;
- goto yy11;
-yy19:
+ goto yy4;
+yy12:
s->yych = *++s->cur;
- if (s->yych == '"') goto yy17;
- goto yy18;
-yy20:
+ if (s->yych == '"') goto yy10;
+ goto yy11;
+yy13:
++s->cur;
s->cond = EStateComment;(EStateComment);
continue;
-yy22:
+yy15:
++s->cur;
s->cond = EStateSkiptoeol;(EStateSkiptoeol);
continue;
-yy24:
+yy17:
s->yych = *++s->cur;
switch (s->yych) {
- case '!': goto yy27;
- case '\'': goto yy29;
- case '(': goto yy31;
- case ')': goto yy33;
- case '-': goto yy35;
- case '/': goto yy37;
- case '<': goto yy39;
- case '=': goto yy41;
- case '>': goto yy43;
- default: goto yy18;
+ case '!': goto yy20;
+ case '\'': goto yy22;
+ case '(': goto yy24;
+ case ')': goto yy26;
+ case '-': goto yy28;
+ case '/': goto yy30;
+ case '<': goto yy32;
+ case '=': goto yy34;
+ case '>': goto yy36;
+ default: goto yy11;
}
-yy25:
+yy18:
++s->cur;
fputl("'\"'", 3, stdout);
continue;
-yy27:
+yy20:
++s->cur;
fputc('|', stdout);
continue;
-yy29:
+yy22:
++s->cur;
fputc('^', stdout);
continue;
-yy31:
+yy24:
++s->cur;
fputc('[', stdout);
continue;
-yy33:
+yy26:
++s->cur;
fputc(']', stdout);
continue;
-yy35:
+yy28:
++s->cur;
fputc('~', stdout);
continue;
-yy37:
+yy30:
++s->cur;
fputc('\\', stdout);
continue;
-yy39:
+yy32:
++s->cur;
fputc('{', stdout);
continue;
-yy41:
+yy34:
++s->cur;
fputc('#', stdout);
continue;
-yy43:
+yy36:
++s->cur;
fputc('}', stdout);
continue;
/* *********************************** */
+yyc_Comment:
+ s->state = 1;(1);
+ if ((s->lim - s->cur) < 2) if (fill(s, 2) == ~0) break;
+yyFillLabel1:
+ s->yych = *s->cur;
+ if (s->yych == '*') goto yy42;
+ ++s->cur;
+yy41:
+ continue;
+yy42:
+ s->yych = *++s->cur;
+ if (s->yych != '/') goto yy41;
+ ++s->cur;
+ s->cond = EStateNormal;(EStateNormal);
+ continue;
+/* *********************************** */
yyc_Skiptoeol:
s->state = 2;(2);
if ((s->lim - s->cur) < 5) if (fill(s, 5) == ~0) break;
@@ -296,8 +296,8 @@ yy62:
++s->cur;
continue;
yy64:
- ++s->cur;
- if ((s->yych = *s->cur) == '\n') goto yy62;
+ s->yych = *++s->cur;
+ if (s->yych == '\n') goto yy62;
goto yy57;
/* *********************************** */
yyc_String:
diff --git a/test/condition_14.cgif.c b/test/condition_14.cgif.c
index 7cb4aed0..70e237fc 100644
--- a/test/condition_14.cgif.c
+++ b/test/condition_14.cgif.c
@@ -5,7 +5,6 @@
#define BSIZE 8192
-
enum ScanContition {
EStateNormal,
EStateComment,
@@ -85,6 +84,7 @@ void scan(Scanner *s)
case 2: goto yyFillLabel2;
case 3: goto yyFillLabel3;
}
+
for(;;)
{
s->tok = s->cur;
@@ -100,186 +100,186 @@ void scan(Scanner *s)
yy0:
goto *yyctable[s->cond];
/* *********************************** */
-yyc_Comment:
- s->state = 0;(0);
- if ((s->lim - s->cur) < 2) if (fill(s, 2) == ~0) break;
-yyFillLabel0:
- s->yych = *s->cur;
- if (s->yych == '*') goto yy5;
- ++s->cur;
-yy4:
- continue;
-yy5:
- s->yych = *++s->cur;
- if (s->yych != '/') goto yy4;
- ++s->cur;
- s->cond = EStateNormal;(EStateNormal);
- continue;
-/* *********************************** */
yyc_Normal:
- s->state = 1;(1);
+ s->state = 0;(0);
if ((s->lim - s->cur) < 4) if (fill(s, 4) == ~0) break;
-yyFillLabel1:
+yyFillLabel0:
s->yych = *s->cur;
{
static void *yytarget[256] = {
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy12, &&yy10, &&yy10, &&yy10, &&yy10, &&yy14,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy15,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy16,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10,
- &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10, &&yy10
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy5, &&yy3, &&yy3, &&yy3, &&yy3, &&yy7,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy8,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy9,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3
};
goto *yytarget[s->yych];
}
-yy10:
+yy3:
++s->cur;
-yy11:
+yy4:
fputc(s->cur[-1], stdout);
continue;
-yy12:
+yy5:
++s->cur;
s->cond = EStateString;(EStateString);
fputc(s->cur[-1], stdout);
continue;
-yy14:
+yy7:
s->yych = *(s->tok = ++s->cur);
- if (s->yych == '"') goto yy17;
- if (s->yych == '\\') goto yy19;
- goto yy11;
-yy15:
+ if (s->yych == '"') goto yy10;
+ if (s->yych == '\\') goto yy12;
+ goto yy4;
+yy8:
s->yych = *++s->cur;
- if (s->yych == '*') goto yy20;
- if (s->yych == '/') goto yy22;
- goto yy11;
-yy16:
+ if (s->yych == '*') goto yy13;
+ if (s->yych == '/') goto yy15;
+ goto yy4;
+yy9:
s->yych = *(s->tok = ++s->cur);
- if (s->yych == '?') goto yy24;
- goto yy11;
-yy17:
+ if (s->yych == '?') goto yy17;
+ goto yy4;
+yy10:
s->yych = *++s->cur;
- if (s->yych == '\'') goto yy25;
-yy18:
+ if (s->yych == '\'') goto yy18;
+yy11:
s->cur = s->tok;
- goto yy11;
-yy19:
+ goto yy4;
+yy12:
s->yych = *++s->cur;
- if (s->yych == '"') goto yy17;
- goto yy18;
-yy20:
+ if (s->yych == '"') goto yy10;
+ goto yy11;
+yy13:
++s->cur;
s->cond = EStateComment;(EStateComment);
continue;
-yy22:
+yy15:
++s->cur;
s->cond = EStateSkiptoeol;(EStateSkiptoeol);
continue;
-yy24:
+yy17:
s->yych = *++s->cur;
{
static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy27, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy29,
- &&yy31, &&yy33, &&yy18, &&yy18, &&yy18, &&yy35, &&yy18, &&yy37,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy39, &&yy41, &&yy43, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy20, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy22,
+ &&yy24, &&yy26, &&yy11, &&yy11, &&yy11, &&yy28, &&yy11, &&yy30,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy32, &&yy34, &&yy36, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
+ &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11
};
goto *yytarget[s->yych];
}
-yy25:
+yy18:
++s->cur;
fputl("'\"'", 3, stdout);
continue;
-yy27:
+yy20:
++s->cur;
fputc('|', stdout);
continue;
-yy29:
+yy22:
++s->cur;
fputc('^', stdout);
continue;
-yy31:
+yy24:
++s->cur;
fputc('[', stdout);
continue;
-yy33:
+yy26:
++s->cur;
fputc(']', stdout);
continue;
-yy35:
+yy28:
++s->cur;
fputc('~', stdout);
continue;
-yy37:
+yy30:
++s->cur;
fputc('\\', stdout);
continue;
-yy39:
+yy32:
++s->cur;
fputc('{', stdout);
continue;
-yy41:
+yy34:
++s->cur;
fputc('#', stdout);
continue;
-yy43:
+yy36:
++s->cur;
fputc('}', stdout);
continue;
/* *********************************** */
+yyc_Comment:
+ s->state = 1;(1);
+ if ((s->lim - s->cur) < 2) if (fill(s, 2) == ~0) break;
+yyFillLabel1:
+ s->yych = *s->cur;
+ if (s->yych == '*') goto yy42;
+ ++s->cur;
+yy41:
+ continue;
+yy42:
+ s->yych = *++s->cur;
+ if (s->yych != '/') goto yy41;
+ ++s->cur;
+ s->cond = EStateNormal;(EStateNormal);
+ continue;
+/* *********************************** */
yyc_Skiptoeol:
s->state = 2;(2);
if ((s->lim - s->cur) < 5) if (fill(s, 5) == ~0) break;
@@ -372,8 +372,8 @@ yy62:
++s->cur;
continue;
yy64:
- ++s->cur;
- if ((s->yych = *s->cur) == '\n') goto yy62;
+ s->yych = *++s->cur;
+ if (s->yych == '\n') goto yy62;
goto yy57;
/* *********************************** */
yyc_String:
diff --git a/test/condition_14.cif.c b/test/condition_14.cif.c
index e374ae4c..837f948c 100644
--- a/test/condition_14.cif.c
+++ b/test/condition_14.cif.c
@@ -5,7 +5,6 @@
#define BSIZE 8192
-
enum ScanContition {
EStateNormal,
EStateComment,
@@ -85,6 +84,7 @@ void scan(Scanner *s)
case 2: goto yyFillLabel2;
case 3: goto yyFillLabel3;
}
+
for(;;)
{
s->tok = s->cur;
@@ -98,150 +98,150 @@ yy0:
case EStateString: goto yyc_String;
}
/* *********************************** */
-yyc_Comment:
+yyc_Normal:
s->state = 0;(0);
- if ((s->lim - s->cur) < 2) if (fill(s, 2) == ~0) break;
+ if ((s->lim - s->cur) < 4) if (fill(s, 4) == ~0) break;
yyFillLabel0:
s->yych = *s->cur;
switch (s->yych) {
- case '*': goto yy5;
+ case '"': goto yy5;
+ case '\'': goto yy7;
+ case '/': goto yy8;
+ case '?': goto yy9;
default: goto yy3;
}
yy3:
++s->cur;
yy4:
- continue;
-yy5:
- s->yych = *++s->cur;
- switch (s->yych) {
- case '/': goto yy6;
- default: goto yy4;
- }
-yy6:
- ++s->cur;
- s->cond = EStateNormal;(EStateNormal);
- continue;
-/* *********************************** */
-yyc_Normal:
- s->state = 1;(1);
- if ((s->lim - s->cur) < 4) if (fill(s, 4) == ~0) break;
-yyFillLabel1:
- s->yych = *s->cur;
- switch (s->yych) {
- case '"': goto yy12;
- case '\'': goto yy14;
- case '/': goto yy15;
- case '?': goto yy16;
- default: goto yy10;
- }
-yy10:
- ++s->cur;
-yy11:
fputc(s->cur[-1], stdout);
continue;
-yy12:
+yy5:
++s->cur;
s->cond = EStateString;(EStateString);
fputc(s->cur[-1], stdout);
continue;
-yy14:
+yy7:
s->yych = *(s->tok = ++s->cur);
switch (s->yych) {
- case '"': goto yy17;
- case '\\': goto yy19;
- default: goto yy11;
+ case '"': goto yy10;
+ case '\\': goto yy12;
+ default: goto yy4;
}
-yy15:
+yy8:
s->yych = *++s->cur;
switch (s->yych) {
- case '*': goto yy20;
- case '/': goto yy22;
- default: goto yy11;
+ case '*': goto yy13;
+ case '/': goto yy15;
+ default: goto yy4;
}
-yy16:
+yy9:
s->yych = *(s->tok = ++s->cur);
switch (s->yych) {
- case '?': goto yy24;
- default: goto yy11;
+ case '?': goto yy17;
+ default: goto yy4;
}
-yy17:
+yy10:
s->yych = *++s->cur;
switch (s->yych) {
- case '\'': goto yy25;
- default: goto yy18;
+ case '\'': goto yy18;
+ default: goto yy11;
}
-yy18:
+yy11:
s->cur = s->tok;
- goto yy11;
-yy19:
+ goto yy4;
+yy12:
s->yych = *++s->cur;
switch (s->yych) {
- case '"': goto yy17;
- default: goto yy18;
+ case '"': goto yy10;
+ default: goto yy11;
}
-yy20:
+yy13:
++s->cur;
s->cond = EStateComment;(EStateComment);
continue;
-yy22:
+yy15:
++s->cur;
s->cond = EStateSkiptoeol;(EStateSkiptoeol);
continue;
-yy24:
+yy17:
s->yych = *++s->cur;
switch (s->yych) {
- case '!': goto yy27;
- case '\'': goto yy29;
- case '(': goto yy31;
- case ')': goto yy33;
- case '-': goto yy35;
- case '/': goto yy37;
- case '<': goto yy39;
- case '=': goto yy41;
- case '>': goto yy43;
- default: goto yy18;
+ case '!': goto yy20;
+ case '\'': goto yy22;
+ case '(': goto yy24;
+ case ')': goto yy26;
+ case '-': goto yy28;
+ case '/': goto yy30;
+ case '<': goto yy32;
+ case '=': goto yy34;
+ case '>': goto yy36;
+ default: goto yy11;
}
-yy25:
+yy18:
++s->cur;
fputl("'\"'", 3, stdout);
continue;
-yy27:
+yy20:
++s->cur;
fputc('|', stdout);
continue;
-yy29:
+yy22:
++s->cur;
fputc('^', stdout);
continue;
-yy31:
+yy24:
++s->cur;
fputc('[', stdout);
continue;
-yy33:
+yy26:
++s->cur;
fputc(']', stdout);
continue;
-yy35:
+yy28:
++s->cur;
fputc('~', stdout);
continue;
-yy37:
+yy30:
++s->cur;
fputc('\\', stdout);
continue;
-yy39:
+yy32:
++s->cur;
fputc('{', stdout);
continue;
-yy41:
+yy34:
++s->cur;
fputc('#', stdout);
continue;
-yy43:
+yy36:
++s->cur;
fputc('}', stdout);
continue;
/* *********************************** */
+yyc_Comment:
+ s->state = 1;(1);
+ if ((s->lim - s->cur) < 2) if (fill(s, 2) == ~0) break;
+yyFillLabel1:
+ s->yych = *s->cur;
+ switch (s->yych) {
+ case '*': goto yy42;
+ default: goto yy40;
+ }
+yy40:
+ ++s->cur;
+yy41:
+ continue;
+yy42:
+ s->yych = *++s->cur;
+ switch (s->yych) {
+ case '/': goto yy43;
+ default: goto yy41;
+ }
+yy43:
+ ++s->cur;
+ s->cond = EStateNormal;(EStateNormal);
+ continue;
+/* *********************************** */
yyc_Skiptoeol:
s->state = 2;(2);
if ((s->lim - s->cur) < 5) if (fill(s, 5) == ~0) break;
@@ -317,8 +317,8 @@ yy62:
++s->cur;
continue;
yy64:
- ++s->cur;
- switch ((s->yych = *s->cur)) {
+ s->yych = *++s->cur;
+ switch (s->yych) {
case '\n': goto yy62;
default: goto yy57;
}
diff --git a/test/condition_14.csif.c b/test/condition_14.csif.c
index ed015573..34635125 100644
--- a/test/condition_14.csif.c
+++ b/test/condition_14.csif.c
@@ -5,7 +5,6 @@
#define BSIZE 8192
-
enum ScanContition {
EStateNormal,
EStateComment,
@@ -85,6 +84,7 @@ void scan(Scanner *s)
case 2: goto yyFillLabel2;
case 3: goto yyFillLabel3;
}
+
for(;;)
{
s->tok = s->cur;
@@ -105,133 +105,133 @@ yy0:
}
}
/* *********************************** */
-yyc_Comment:
- s->state = 0;(0);
- if ((s->lim - s->cur) < 2) if (fill(s, 2) == ~0) break;
-yyFillLabel0:
- s->yych = *s->cur;
- if (s->yych == '*') goto yy5;
- ++s->cur;
-yy4:
- continue;
-yy5:
- s->yych = *++s->cur;
- if (s->yych != '/') goto yy4;
- ++s->cur;
- s->cond = EStateNormal;(EStateNormal);
- continue;
-/* *********************************** */
yyc_Normal:
- s->state = 1;(1);
+ s->state = 0;(0);
if ((s->lim - s->cur) < 4) if (fill(s, 4) == ~0) break;
-yyFillLabel1:
+yyFillLabel0:
s->yych = *s->cur;
if (s->yych <= '\'') {
- if (s->yych == '"') goto yy12;
- if (s->yych >= '\'') goto yy14;
+ if (s->yych == '"') goto yy5;
+ if (s->yych >= '\'') goto yy7;
} else {
if (s->yych <= '/') {
- if (s->yych >= '/') goto yy15;
+ if (s->yych >= '/') goto yy8;
} else {
- if (s->yych == '?') goto yy16;
+ if (s->yych == '?') goto yy9;
}
}
++s->cur;
-yy11:
+yy4:
fputc(s->cur[-1], stdout);
continue;
-yy12:
+yy5:
++s->cur;
s->cond = EStateString;(EStateString);
fputc(s->cur[-1], stdout);
continue;
-yy14:
+yy7:
s->yych = *(s->tok = ++s->cur);
- if (s->yych == '"') goto yy17;
- if (s->yych == '\\') goto yy19;
- goto yy11;
-yy15:
+ if (s->yych == '"') goto yy10;
+ if (s->yych == '\\') goto yy12;
+ goto yy4;
+yy8:
s->yych = *++s->cur;
- if (s->yych == '*') goto yy20;
- if (s->yych == '/') goto yy22;
- goto yy11;
-yy16:
+ if (s->yych == '*') goto yy13;
+ if (s->yych == '/') goto yy15;
+ goto yy4;
+yy9:
s->yych = *(s->tok = ++s->cur);
- if (s->yych == '?') goto yy24;
- goto yy11;
-yy17:
+ if (s->yych == '?') goto yy17;
+ goto yy4;
+yy10:
s->yych = *++s->cur;
- if (s->yych == '\'') goto yy25;
-yy18:
+ if (s->yych == '\'') goto yy18;
+yy11:
s->cur = s->tok;
- goto yy11;
-yy19:
+ goto yy4;
+yy12:
s->yych = *++s->cur;
- if (s->yych == '"') goto yy17;
- goto yy18;
-yy20:
+ if (s->yych == '"') goto yy10;
+ goto yy11;
+yy13:
++s->cur;
s->cond = EStateComment;(EStateComment);
continue;
-yy22:
+yy15:
++s->cur;
s->cond = EStateSkiptoeol;(EStateSkiptoeol);
continue;
-yy24:
+yy17:
s->yych = *++s->cur;
switch (s->yych) {
- case '!': goto yy27;
- case '\'': goto yy29;
- case '(': goto yy31;
- case ')': goto yy33;
- case '-': goto yy35;
- case '/': goto yy37;
- case '<': goto yy39;
- case '=': goto yy41;
- case '>': goto yy43;
- default: goto yy18;
+ case '!': goto yy20;
+ case '\'': goto yy22;
+ case '(': goto yy24;
+ case ')': goto yy26;
+ case '-': goto yy28;
+ case '/': goto yy30;
+ case '<': goto yy32;
+ case '=': goto yy34;
+ case '>': goto yy36;
+ default: goto yy11;
}
-yy25:
+yy18:
++s->cur;
fputl("'\"'", 3, stdout);
continue;
-yy27:
+yy20:
++s->cur;
fputc('|', stdout);
continue;
-yy29:
+yy22:
++s->cur;
fputc('^', stdout);
continue;
-yy31:
+yy24:
++s->cur;
fputc('[', stdout);
continue;
-yy33:
+yy26:
++s->cur;
fputc(']', stdout);
continue;
-yy35:
+yy28:
++s->cur;
fputc('~', stdout);
continue;
-yy37:
+yy30:
++s->cur;
fputc('\\', stdout);
continue;
-yy39:
+yy32:
++s->cur;
fputc('{', stdout);
continue;
-yy41:
+yy34:
++s->cur;
fputc('#', stdout);
continue;
-yy43:
+yy36:
++s->cur;
fputc('}', stdout);
continue;
/* *********************************** */
+yyc_Comment:
+ s->state = 1;(1);
+ if ((s->lim - s->cur) < 2) if (fill(s, 2) == ~0) break;
+yyFillLabel1:
+ s->yych = *s->cur;
+ if (s->yych == '*') goto yy42;
+ ++s->cur;
+yy41:
+ continue;
+yy42:
+ s->yych = *++s->cur;
+ if (s->yych != '/') goto yy41;
+ ++s->cur;
+ s->cond = EStateNormal;(EStateNormal);
+ continue;
+/* *********************************** */
yyc_Skiptoeol:
s->state = 2;(2);
if ((s->lim - s->cur) < 5) if (fill(s, 5) == ~0) break;
@@ -296,8 +296,8 @@ yy62:
++s->cur;
continue;
yy64:
- ++s->cur;
- if ((s->yych = *s->cur) == '\n') goto yy62;
+ s->yych = *++s->cur;
+ if (s->yych == '\n') goto yy62;
goto yy57;
/* *********************************** */
yyc_String:
diff --git a/test/condition_15.csif.c b/test/condition_15.csif.c
index 2c38f451..a9b87036 100644
--- a/test/condition_15.csif.c
+++ b/test/condition_15.csif.c
@@ -5,7 +5,6 @@
#define BSIZE 8192
-
enum ScanContition {
EStateNormal,
EStateComment,
@@ -85,6 +84,7 @@ void scan(Scanner *s)
case 2: goto yyFillLabel2;
case 3: goto yyFillLabel3;
}
+
for(;;)
{
s->tok = s->cur;
@@ -105,145 +105,145 @@ yy0:
}
}
/* *********************************** */
-yyc_Comment:
- s->state = 0;(0);
- if ((s->lim - s->cur) < 2) if (fill(s, 2) == ~0) break;
-yyFillLabel0:
- s->yych = *s->cur;
- if (s->yych == '*') goto yy5;
- ++s->cur;
-yy4:
- continue;
-yy5:
- s->yych = *++s->cur;
- if (s->yych != '/') goto yy4;
- ++s->cur;
- s->cond = EStateNormal;(EStateNormal);
- continue;
-/* *********************************** */
yyc_Normal:
- s->state = 1;(1);
+ s->state = 0;(0);
if ((s->lim - s->cur) < 4) if (fill(s, 4) == ~0) break;
-yyFillLabel1:
+yyFillLabel0:
s->yych = *s->cur;
if (s->yych <= '\'') {
- if (s->yych == '"') goto yy12;
- if (s->yych >= '\'') goto yy14;
+ if (s->yych == '"') goto yy5;
+ if (s->yych >= '\'') goto yy7;
} else {
if (s->yych <= '/') {
- if (s->yych >= '/') goto yy15;
+ if (s->yych >= '/') goto yy8;
} else {
- if (s->yych == '?') goto yy16;
+ if (s->yych == '?') goto yy9;
}
}
++s->cur;
-yy11:
+yy4:
fprintf(stderr, "Normal\n");
fputc(s->cur[-1], stdout);
continue;
-yy12:
+yy5:
++s->cur;
s->cond = EStateString;(EStateString);
fprintf(stderr, "Normal\n");
fputc(s->cur[-1], stdout);
continue;
-yy14:
+yy7:
s->yych = *(s->tok = ++s->cur);
- if (s->yych == '"') goto yy17;
- if (s->yych == '\\') goto yy19;
- goto yy11;
-yy15:
+ if (s->yych == '"') goto yy10;
+ if (s->yych == '\\') goto yy12;
+ goto yy4;
+yy8:
s->yych = *++s->cur;
- if (s->yych == '*') goto yy20;
- if (s->yych == '/') goto yy22;
- goto yy11;
-yy16:
+ if (s->yych == '*') goto yy13;
+ if (s->yych == '/') goto yy15;
+ goto yy4;
+yy9:
s->yych = *(s->tok = ++s->cur);
- if (s->yych == '?') goto yy24;
- goto yy11;
-yy17:
+ if (s->yych == '?') goto yy17;
+ goto yy4;
+yy10:
s->yych = *++s->cur;
- if (s->yych == '\'') goto yy25;
-yy18:
+ if (s->yych == '\'') goto yy18;
+yy11:
s->cur = s->tok;
- goto yy11;
-yy19:
+ goto yy4;
+yy12:
s->yych = *++s->cur;
- if (s->yych == '"') goto yy17;
- goto yy18;
-yy20:
+ if (s->yych == '"') goto yy10;
+ goto yy11;
+yy13:
++s->cur;
s->cond = EStateComment;(EStateComment);
continue;
-yy22:
+yy15:
++s->cur;
s->cond = EStateSkiptoeol;(EStateSkiptoeol);
continue;
-yy24:
+yy17:
s->yych = *++s->cur;
switch (s->yych) {
- case '!': goto yy27;
- case '\'': goto yy29;
- case '(': goto yy31;
- case ')': goto yy33;
- case '-': goto yy35;
- case '/': goto yy37;
- case '<': goto yy39;
- case '=': goto yy41;
- case '>': goto yy43;
- default: goto yy18;
+ case '!': goto yy20;
+ case '\'': goto yy22;
+ case '(': goto yy24;
+ case ')': goto yy26;
+ case '-': goto yy28;
+ case '/': goto yy30;
+ case '<': goto yy32;
+ case '=': goto yy34;
+ case '>': goto yy36;
+ default: goto yy11;
}
-yy25:
+yy18:
++s->cur;
fprintf(stderr, "Normal\n");
fputl("'\"'", 3, stdout);
continue;
-yy27:
+yy20:
++s->cur;
fprintf(stderr, "Normal\n");
fputc('|', stdout);
continue;
-yy29:
+yy22:
++s->cur;
fprintf(stderr, "Normal\n");
fputc('^', stdout);
continue;
-yy31:
+yy24:
++s->cur;
fprintf(stderr, "Normal\n");
fputc('[', stdout);
continue;
-yy33:
+yy26:
++s->cur;
fprintf(stderr, "Normal\n");
fputc(']', stdout);
continue;
-yy35:
+yy28:
++s->cur;
fprintf(stderr, "Normal\n");
fputc('~', stdout);
continue;
-yy37:
+yy30:
++s->cur;
fprintf(stderr, "Normal\n");
fputc('\\', stdout);
continue;
-yy39:
+yy32:
++s->cur;
fprintf(stderr, "Normal\n");
fputc('{', stdout);
continue;
-yy41:
+yy34:
++s->cur;
fprintf(stderr, "Normal\n");
fputc('#', stdout);
continue;
-yy43:
+yy36:
++s->cur;
fprintf(stderr, "Normal\n");
fputc('}', stdout);
continue;
/* *********************************** */
+yyc_Comment:
+ s->state = 1;(1);
+ if ((s->lim - s->cur) < 2) if (fill(s, 2) == ~0) break;
+yyFillLabel1:
+ s->yych = *s->cur;
+ if (s->yych == '*') goto yy42;
+ ++s->cur;
+yy41:
+ continue;
+yy42:
+ s->yych = *++s->cur;
+ if (s->yych != '/') goto yy41;
+ ++s->cur;
+ s->cond = EStateNormal;(EStateNormal);
+ continue;
+/* *********************************** */
yyc_Skiptoeol:
s->state = 2;(2);
if ((s->lim - s->cur) < 5) if (fill(s, 5) == ~0) break;
@@ -310,8 +310,8 @@ yy62:
++s->cur;
continue;
yy64:
- ++s->cur;
- if ((s->yych = *s->cur) == '\n') goto yy62;
+ s->yych = *++s->cur;
+ if (s->yych == '\n') goto yy62;
goto yy57;
/* *********************************** */
yyc_String:
diff --git a/test/condtype_decl.c.c b/test/condtype_decl.c.c
index fbdd797f..a6fd66d1 100644
--- a/test/condtype_decl.c.c
+++ b/test/condtype_decl.c.c
@@ -1,21 +1,20 @@
/* Generated by re2c */
#line 1 "condtype_decl.c.re"
#line 4 "condtype_decl.c.c"
-
enum YYCONDTYPE {
yyca,
yycb,
};
-
#line 1 "condtype_decl.c.re"
+
int main ()
{
YYCONDTYPE cond;
char * YYCURSOR;
#define YYGETCONDITION() cond
-#line 19 "condtype_decl.c.c"
+#line 18 "condtype_decl.c.c"
{
unsigned char yych;
switch (YYGETCONDITION()) {
@@ -34,7 +33,7 @@ yy4:
++YYCURSOR;
#line 11 "condtype_decl.c.re"
{}
-#line 38 "condtype_decl.c.c"
+#line 37 "condtype_decl.c.c"
/* *********************************** */
yyc_b:
yych = *YYCURSOR;
@@ -47,7 +46,7 @@ yy9:
++YYCURSOR;
#line 12 "condtype_decl.c.re"
{}
-#line 51 "condtype_decl.c.c"
+#line 50 "condtype_decl.c.c"
}
#line 13 "condtype_decl.c.re"
diff --git a/test/condtype_decl.cg.c b/test/condtype_decl.cg.c
index 2daa7816..58634842 100644
--- a/test/condtype_decl.cg.c
+++ b/test/condtype_decl.cg.c
@@ -1,21 +1,20 @@
/* Generated by re2c */
#line 1 "condtype_decl.cg.re"
#line 4 "condtype_decl.cg.c"
-
enum YYCONDTYPE {
yyca,
yycb,
};
-
#line 1 "condtype_decl.cg.re"
+
int main ()
{
YYCONDTYPE cond;
char * YYCURSOR;
#define YYGETCONDITION() cond
-#line 19 "condtype_decl.cg.c"
+#line 18 "condtype_decl.cg.c"
{
unsigned char yych;
static void *yyctable[2] = {
@@ -31,7 +30,7 @@ yy4:
++YYCURSOR;
#line 11 "condtype_decl.cg.re"
{}
-#line 35 "condtype_decl.cg.c"
+#line 34 "condtype_decl.cg.c"
/* *********************************** */
yyc_b:
yych = *YYCURSOR;
@@ -40,7 +39,7 @@ yy9:
++YYCURSOR;
#line 12 "condtype_decl.cg.re"
{}
-#line 44 "condtype_decl.cg.c"
+#line 43 "condtype_decl.cg.c"
}
#line 13 "condtype_decl.cg.re"
diff --git a/test/condtype_decl.cs.c b/test/condtype_decl.cs.c
index ed60c695..14b18738 100644
--- a/test/condtype_decl.cs.c
+++ b/test/condtype_decl.cs.c
@@ -1,21 +1,20 @@
/* Generated by re2c */
#line 1 "condtype_decl.cs.re"
#line 4 "condtype_decl.cs.c"
-
enum YYCONDTYPE {
yyca,
yycb,
};
-
#line 1 "condtype_decl.cs.re"
+
int main ()
{
YYCONDTYPE cond;
char * YYCURSOR;
#define YYGETCONDITION() cond
-#line 19 "condtype_decl.cs.c"
+#line 18 "condtype_decl.cs.c"
{
unsigned char yych;
if (YYGETCONDITION() < 1) {
@@ -31,7 +30,7 @@ yy4:
++YYCURSOR;
#line 11 "condtype_decl.cs.re"
{}
-#line 35 "condtype_decl.cs.c"
+#line 34 "condtype_decl.cs.c"
/* *********************************** */
yyc_b:
yych = *YYCURSOR;
@@ -40,7 +39,7 @@ yy9:
++YYCURSOR;
#line 12 "condtype_decl.cs.re"
{}
-#line 44 "condtype_decl.cs.c"
+#line 43 "condtype_decl.cs.c"
}
#line 13 "condtype_decl.cs.re"
diff --git a/test/condtype_forwdecl.cg.c b/test/condtype_forwdecl.cg.c
index 425031c1..ae1f36bd 100644
--- a/test/condtype_forwdecl.cg.c
+++ b/test/condtype_forwdecl.cg.c
@@ -41,12 +41,11 @@ yy9:
}
#line 44 "condtype_forwdecl.cg.c"
-
enum cond_t : int {
yyca,
yycb,
};
-
#line 18 "condtype_forwdecl.cg.re"
+
re2c: warning: line 14: control flow in condition 'a' is undefined for strings that match '[\x0-\x60\x62-\xFF]', use default rule '*' [-Wundefined-control-flow]
re2c: warning: line 14: control flow in condition 'b' is undefined for strings that match '[\x0-\x61\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
diff --git a/test/condtype_forwdecl.cs.c b/test/condtype_forwdecl.cs.c
index d3a4d7e8..b408b869 100644
--- a/test/condtype_forwdecl.cs.c
+++ b/test/condtype_forwdecl.cs.c
@@ -41,12 +41,11 @@ yy9:
}
#line 44 "condtype_forwdecl.cs.c"
-
enum cond_t : int {
yyca,
yycb,
};
-
#line 18 "condtype_forwdecl.cs.re"
+
re2c: warning: line 14: control flow in condition 'a' is undefined for strings that match '[\x0-\x60\x62-\xFF]', use default rule '*' [-Wundefined-control-flow]
re2c: warning: line 14: control flow in condition 'b' is undefined for strings that match '[\x0-\x61\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
diff --git a/test/condtype_yysetcondition.cg.c b/test/condtype_yysetcondition.cg.c
index 86f9baff..6c80dfac 100644
--- a/test/condtype_yysetcondition.cg.c
+++ b/test/condtype_yysetcondition.cg.c
@@ -29,26 +29,25 @@ int main ()
};
goto *yyctable[YYGETCONDITION()];
/* *********************************** */
+yyc_b:
+ yych = *YYCURSOR++;
+#line 24 "condtype_yysetcondition.cg.re"
+ { printf ("b\n"); break; }
+#line 37 "condtype_yysetcondition.cg.c"
+/* *********************************** */
yyc_a:
yych = *YYCURSOR;
- if (yych == 'a') goto yy5;
+ if (yych == 'a') goto yy9;
++YYCURSOR;
YYSETCONDITION(yycb);
#line 27 "condtype_yysetcondition.cg.re"
{ printf ("a => b\n"); continue; }
-#line 40 "condtype_yysetcondition.cg.c"
-yy5:
+#line 46 "condtype_yysetcondition.cg.c"
+yy9:
++YYCURSOR;
#line 26 "condtype_yysetcondition.cg.re"
{ printf ("a\n"); continue; }
-#line 45 "condtype_yysetcondition.cg.c"
-/* *********************************** */
-yyc_b:
- yych = *YYCURSOR;
- ++YYCURSOR;
-#line 24 "condtype_yysetcondition.cg.re"
- { printf ("b\n"); break; }
-#line 52 "condtype_yysetcondition.cg.c"
+#line 51 "condtype_yysetcondition.cg.c"
}
#line 28 "condtype_yysetcondition.cg.re"
diff --git a/test/condtype_yysetcondition.cs.c b/test/condtype_yysetcondition.cs.c
index 87cc0f50..2ead9992 100644
--- a/test/condtype_yysetcondition.cs.c
+++ b/test/condtype_yysetcondition.cs.c
@@ -29,26 +29,25 @@ int main ()
goto yyc_a;
}
/* *********************************** */
+yyc_b:
+ yych = *YYCURSOR++;
+#line 24 "condtype_yysetcondition.cs.re"
+ { printf ("b\n"); break; }
+#line 37 "condtype_yysetcondition.cs.c"
+/* *********************************** */
yyc_a:
yych = *YYCURSOR;
- if (yych == 'a') goto yy5;
+ if (yych == 'a') goto yy9;
++YYCURSOR;
YYSETCONDITION(yycb);
#line 27 "condtype_yysetcondition.cs.re"
{ printf ("a => b\n"); continue; }
-#line 40 "condtype_yysetcondition.cs.c"
-yy5:
+#line 46 "condtype_yysetcondition.cs.c"
+yy9:
++YYCURSOR;
#line 26 "condtype_yysetcondition.cs.re"
{ printf ("a\n"); continue; }
-#line 45 "condtype_yysetcondition.cs.c"
-/* *********************************** */
-yyc_b:
- yych = *YYCURSOR;
- ++YYCURSOR;
-#line 24 "condtype_yysetcondition.cs.re"
- { printf ("b\n"); break; }
-#line 52 "condtype_yysetcondition.cs.c"
+#line 51 "condtype_yysetcondition.cs.c"
}
#line 28 "condtype_yysetcondition.cs.re"
diff --git a/test/config/flags.c b/test/config/flags.c
new file mode 100644
index 00000000..8d5fcb7e
--- /dev/null
+++ b/test/config/flags.c
@@ -0,0 +1,3 @@
+/* Generated by re2c */
+#line 1 "config/flags.re"
+
diff --git a/test/config/flags.re b/test/config/flags.re
new file mode 100644
index 00000000..16e91a51
--- /dev/null
+++ b/test/config/flags.re
@@ -0,0 +1,44 @@
+/*!re2c
+ re2c:flags:b = 0;
+ re2c:flags:bit-vectors = 1;
+ re2c:flags:d = 0;
+ re2c:flags:debug-output = 1;
+ re2c:flags:g = 0;
+ re2c:flags:computed-gotos = 1;
+ re2c:flags:i = 0;
+ re2c:flags:no-debug-info = 1;
+ re2c:flags:s = 0;
+ re2c:flags:nested-ifs = 1;
+ re2c:flags:T = 0;
+ re2c:flags:tags = 1;
+ re2c:flags:case-insensitive = 0;
+ re2c:flags:case-inverted = 1;
+ re2c:flags:lookahead = 0;
+ re2c:flags:optimize-tags = 0;
+ re2c:flags:eager-skip = 1;
+
+ re2c:flags:e = 1;
+ re2c:flags:ecb = 0;
+ re2c:flags:u = 1;
+ re2c:flags:unicode = 0;
+ re2c:flags:w = 1;
+ re2c:flags:wide-chars = 0;
+ re2c:flags:x = 1;
+ re2c:flags:utf-16 = 0;
+ re2c:flags:8 = 1;
+ re2c:flags:utf-8 = 0;
+
+ re2c:flags:encoding-policy = ignore;
+ re2c:flags:encoding-policy = substitute;
+ re2c:flags:encoding-policy = fail;
+
+ re2c:flags:input = custom;
+ re2c:flags:input = default;
+
+ re2c:flags:empty-class = match-empty;
+ re2c:flags:empty-class = match-none;
+ re2c:flags:empty-class = error;
+
+ re2c:flags:dfa-minimization = table;
+ re2c:flags:dfa-minimization = moore;
+*/
diff --git a/test/config10.--skeleton.c b/test/config10.--skeleton.c
index be417ae8..9773e391 100644
--- a/test/config10.--skeleton.c
+++ b/test/config10.--skeleton.c
Binary files differ
diff --git a/test/config10.c b/test/config10.c
index aab2d815..b90448d6 100644
--- a/test/config10.c
+++ b/test/config10.c
@@ -106,7 +106,6 @@ xx8:
#line 107 "config10.c"
xx9:
curr = *++s.cur;
- s.ctx = s.cur;
switch (curr) {
case '0':
case '2':
@@ -116,8 +115,12 @@ xx9:
case '6':
case '7':
case '8':
- case '9': goto xx10;
- case '1': goto xx13;
+ case '9':
+ s.ctx = s.cur;
+ goto xx10;
+ case '1':
+ s.ctx = s.cur;
+ goto xx13;
default: goto xx3;
}
xx10:
@@ -141,10 +144,10 @@ xx12:
s.cur = s.ctx;
#line 56 "config10.re"
{ return KEYWORD; }
-#line 145 "config10.c"
+#line 148 "config10.c"
xx13:
- ++s.cur;
- switch ((curr = *s.cur)) {
+ curr = *++s.cur;
+ switch (curr) {
case '0':
case '1':
case '2':
@@ -158,10 +161,10 @@ xx13:
default: goto xx14;
}
xx14:
- s.cur = s.ctx;
+ s.cur -= 1;
#line 55 "config10.re"
{ return KEYWORD; }
-#line 165 "config10.c"
+#line 168 "config10.c"
}
#line 70 "config10.re"
diff --git a/test/config12_error1.c b/test/config12_error1.c
index af2a4f4c..fb53b64e 100644
--- a/test/config12_error1.c
+++ b/test/config12_error1.c
@@ -1 +1 @@
-re2c: error: line 3, column 7: unrecognized configuration
+re2c: error: line 3, column 6: unrecognized configuration 'define:YYBACKU'
diff --git a/test/config4f.f.c b/test/config4f.f.c
index 7033346c..172699f5 100644
--- a/test/config4f.f.c
+++ b/test/config4f.f.c
@@ -18,10 +18,11 @@ char *scan(char *p)
case 1: goto yyFillLabel1;
}
+
// after getstate
-#line 25 "config4f.f.c"
+#line 26 "config4f.f.c"
yy0:
YYSETSTATE(0);
@@ -45,7 +46,7 @@ yy2:
++YYCURSOR;
#line 22 "config4f.f.re"
{ return NULL; }
-#line 49 "config4f.f.c"
+#line 50 "config4f.f.c"
yy4:
++YYCURSOR;
YYSETSTATE(1);
@@ -68,7 +69,7 @@ yyFillLabel1:
yy6:
#line 21 "config4f.f.re"
{ return YYCURSOR; }
-#line 72 "config4f.f.c"
+#line 73 "config4f.f.c"
#line 23 "config4f.f.re"
}
diff --git a/test/config4g.ifs.c b/test/config4g.ifs.c
index e988acbc..55ce5168 100644
--- a/test/config4g.ifs.c
+++ b/test/config4g.ifs.c
@@ -14,6 +14,7 @@ const unsigned char *scan(const unsigned char *p, unsigned int len, int *state)
}
+
yy0:
*state = 0;
if (p >= e) {
diff --git a/test/config5.c b/test/config5.c
index 6953f2a8..f1c347d9 100644
--- a/test/config5.c
+++ b/test/config5.c
@@ -1,10 +1,11 @@
/* Generated by re2c */
#line 1 "config5.re"
// ignored
-#line 7 "config5.re"
+#line 6 "config5.re"
+
// code
-#line 8 "config5.c"
+#line 9 "config5.c"
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
@@ -18,7 +19,7 @@ yy2:
yy3:
#line 11 "config5.re"
{ return 0; }
-#line 22 "config5.c"
+#line 23 "config5.c"
yy4:
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
@@ -53,13 +54,15 @@ yy10:
++YYCURSOR;
#line 10 "config5.re"
{ return 1; }
-#line 57 "config5.c"
+#line 58 "config5.c"
}
#line 13 "config5.re"
// ignored
-#line 20 "config5.re"
+#line 19 "config5.re"
+
// max
#define YYMAXFILL 3
-#line 26 "config5.re"
+#line 25 "config5.re"
+
// eof
diff --git a/test/config6.c b/test/config6.c
index d8b6ee5e..a956ed8f 100644
--- a/test/config6.c
+++ b/test/config6.c
@@ -55,8 +55,8 @@ yy8:
{ printf("-\n"); continue; }
#line 57 "config6.c"
yy10:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -74,8 +74,7 @@ yy11:
{ printf("Num\n"); continue; }
#line 76 "config6.c"
yy12:
- ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
switch (yych) {
case '0':
case '1':
@@ -92,10 +91,9 @@ yy12:
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':
@@ -112,7 +110,7 @@ yy15:
yy17:
#line 18 "config6.re"
{ printf("Oct\n"); continue; }
-#line 116 "config6.c"
+#line 114 "config6.c"
}
#line 25 "config6.re"
diff --git a/test/config8.c b/test/config8.c
index aa47f4c9..b59bd451 100644
--- a/test/config8.c
+++ b/test/config8.c
@@ -106,7 +106,6 @@ xx8:
#line 107 "config8.c"
xx9:
curr = *++s.cur;
- s.ctx = s.cur;
switch (curr) {
case '0':
case '2':
@@ -116,8 +115,12 @@ xx9:
case '6':
case '7':
case '8':
- case '9': goto xx10;
- case '1': goto xx13;
+ case '9':
+ s.ctx = s.cur;
+ goto xx10;
+ case '1':
+ s.ctx = s.cur;
+ goto xx13;
default: goto xx3;
}
xx10:
@@ -141,10 +144,10 @@ xx12:
s.cur = s.ctx;
#line 55 "config8.re"
{ return KEYWORD; }
-#line 145 "config8.c"
+#line 148 "config8.c"
xx13:
- ++s.cur;
- switch ((curr = *s.cur)) {
+ curr = *++s.cur;
+ switch (curr) {
case '0':
case '1':
case '2':
@@ -158,10 +161,10 @@ xx13:
default: goto xx14;
}
xx14:
- s.cur = s.ctx;
+ s.cur -= 1;
#line 54 "config8.re"
{ return KEYWORD; }
-#line 165 "config8.c"
+#line 168 "config8.c"
}
#line 69 "config8.re"
diff --git a/test/config9.b.c b/test/config9.b.c
index b11ea356..93184ad7 100644
--- a/test/config9.b.c
+++ b/test/config9.b.c
@@ -122,10 +122,13 @@ xx6:
#line 123 "config9.b.c"
xx9:
curr = (unsigned char)*++s.cur;
- s.ctx = s.cur;
if (curr <= '/') goto xx3;
- if (curr == '1') goto xx13;
+ if (curr == '1') {
+ s.ctx = s.cur;
+ goto xx13;
+ }
if (curr >= ':') goto xx3;
+ s.ctx = s.cur;
xx10:
++s.cur;
if (s.lim <= s.cur) fill(1);
@@ -136,16 +139,16 @@ xx12:
s.cur = s.ctx;
#line 57 "config9.b.re"
{ return KEYWORD; }
-#line 140 "config9.b.c"
+#line 143 "config9.b.c"
xx13:
- ++s.cur;
- if ((curr = (unsigned char)*s.cur) <= '/') goto xx14;
+ curr = (unsigned char)*++s.cur;
+ if (curr <= '/') goto xx14;
if (curr <= '9') goto xx10;
xx14:
- s.cur = s.ctx;
+ s.cur -= 1;
#line 56 "config9.b.re"
{ return KEYWORD; }
-#line 149 "config9.b.c"
+#line 152 "config9.b.c"
}
#line 71 "config9.b.re"
diff --git a/test/control_flow_fail.--skeleton.c b/test/control_flow_fail.--skeleton.c
index 758aad4e..7f33d56d 100644
--- a/test/control_flow_fail.--skeleton.c
+++ b/test/control_flow_fail.--skeleton.c
Binary files differ
diff --git a/test/control_flow_fail.c b/test/control_flow_fail.c
index 6c507a26..9ba59acf 100644
--- a/test/control_flow_fail.c
+++ b/test/control_flow_fail.c
@@ -5,15 +5,15 @@
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR++;
yych = *YYCURSOR;
- yych = *++YYCURSOR;
switch (yych) {
case 'a': goto yy5;
default: goto yy3;
}
yy3:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 'a': goto yy7;
default: goto yy4;
}
diff --git a/test/control_flow_ok.--skeleton.c b/test/control_flow_ok.--skeleton.c
index e8afd033..a6a74ba9 100644
--- a/test/control_flow_ok.--skeleton.c
+++ b/test/control_flow_ok.--skeleton.c
Binary files differ
diff --git a/test/control_flow_ok.c b/test/control_flow_ok.c
index 7b7d24df..f2c0a57d 100644
--- a/test/control_flow_ok.c
+++ b/test/control_flow_ok.c
@@ -5,10 +5,10 @@
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR++;
+ yych = *YYCURSOR++;
yych = *YYCURSOR;
- yych = *++YYCURSOR;
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ switch (yych) {
case 'a': goto yy5;
default: goto yy4;
}
diff --git a/test/control_flow_yymarker_fail.--skeleton.c b/test/control_flow_yymarker_fail.--skeleton.c
index 38fef25b..3539a847 100644
--- a/test/control_flow_yymarker_fail.--skeleton.c
+++ b/test/control_flow_yymarker_fail.--skeleton.c
Binary files differ
diff --git a/test/control_flow_yymarker_fail.c b/test/control_flow_yymarker_fail.c
index 07681218..e031e641 100644
--- a/test/control_flow_yymarker_fail.c
+++ b/test/control_flow_yymarker_fail.c
@@ -5,8 +5,8 @@
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *YYCURSOR++;
yych = *YYCURSOR;
- yych = *++YYCURSOR;
switch (yych) {
case 'a': goto yy5;
default: goto yy3;
diff --git a/test/control_flow_yymarker_ok.--skeleton.c b/test/control_flow_yymarker_ok.--skeleton.c
index dc7ee08b..37021630 100644
--- a/test/control_flow_yymarker_ok.--skeleton.c
+++ b/test/control_flow_yymarker_ok.--skeleton.c
Binary files differ
diff --git a/test/control_flow_yymarker_ok.c b/test/control_flow_yymarker_ok.c
index 02eced95..1af86ae7 100644
--- a/test/control_flow_yymarker_ok.c
+++ b/test/control_flow_yymarker_ok.c
@@ -5,9 +5,9 @@
{
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"
diff --git a/test/control_flow_yymarker_yyaccept_fail.--skeleton.c b/test/control_flow_yymarker_yyaccept_fail.--skeleton.c
index 5b765bc4..d37d63f4 100644
--- a/test/control_flow_yymarker_yyaccept_fail.--skeleton.c
+++ b/test/control_flow_yymarker_yyaccept_fail.--skeleton.c
Binary files differ
diff --git a/test/control_flow_yymarker_yyaccept_fail.c b/test/control_flow_yymarker_yyaccept_fail.c
index 76895e8a..943dd28b 100644
--- a/test/control_flow_yymarker_yyaccept_fail.c
+++ b/test/control_flow_yymarker_yyaccept_fail.c
@@ -6,8 +6,8 @@
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;
diff --git a/test/control_flow_yymarker_yyaccept_ok.--skeleton.c b/test/control_flow_yymarker_yyaccept_ok.--skeleton.c
index 0395e80a..eadfb8e5 100644
--- a/test/control_flow_yymarker_yyaccept_ok.--skeleton.c
+++ b/test/control_flow_yymarker_yyaccept_ok.--skeleton.c
Binary files differ
diff --git a/test/control_flow_yymarker_yyaccept_ok.c b/test/control_flow_yymarker_yyaccept_ok.c
index 485cf328..d4efefac 100644
--- a/test/control_flow_yymarker_yyaccept_ok.c
+++ b/test/control_flow_yymarker_yyaccept_ok.c
@@ -6,8 +6,8 @@
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;
diff --git a/test/cpoint_class_error_eol.c b/test/cpoint_class_error_eol.c
new file mode 100644
index 00000000..1bfb71a6
--- /dev/null
+++ b/test/cpoint_class_error_eol.c
@@ -0,0 +1 @@
+re2c: error: line 2, column 4: newline in character class
diff --git a/test/cpoint_class_error_eol.re b/test/cpoint_class_error_eol.re
new file mode 100644
index 00000000..4d362b06
--- /dev/null
+++ b/test/cpoint_class_error_eol.re
@@ -0,0 +1,4 @@
+/*!re2c
+[abc
+de] {}
+*/
diff --git a/test/cpoint_class_error_esc_eol.c b/test/cpoint_class_error_esc_eol.c
new file mode 100644
index 00000000..1bfb71a6
--- /dev/null
+++ b/test/cpoint_class_error_esc_eol.c
@@ -0,0 +1 @@
+re2c: error: line 2, column 4: newline in character class
diff --git a/test/cpoint_class_error_esc_eol.re b/test/cpoint_class_error_esc_eol.re
new file mode 100644
index 00000000..facfeb0d
--- /dev/null
+++ b/test/cpoint_class_error_esc_eol.re
@@ -0,0 +1,4 @@
+/*!re2c
+[abc\
+de] {}
+*/
diff --git a/test/cpoint_string_error_eol.c b/test/cpoint_string_error_eol.c
new file mode 100644
index 00000000..a3a2ccaa
--- /dev/null
+++ b/test/cpoint_string_error_eol.c
@@ -0,0 +1 @@
+re2c: error: line 2, column 5: newline in character string
diff --git a/test/code_points_error_lf.re b/test/cpoint_string_error_eol.re
index 3865805b..3865805b 100644
--- a/test/code_points_error_lf.re
+++ b/test/cpoint_string_error_eol.re
diff --git a/test/cpoint_string_error_esc_eol.c b/test/cpoint_string_error_esc_eol.c
new file mode 100644
index 00000000..a3a2ccaa
--- /dev/null
+++ b/test/cpoint_string_error_esc_eol.c
@@ -0,0 +1 @@
+re2c: error: line 2, column 5: newline in character string
diff --git a/test/code_points_error_esc.re b/test/cpoint_string_error_esc_eol.re
index b50c2d1e..b50c2d1e 100644
--- a/test/code_points_error_esc.re
+++ b/test/cpoint_string_error_esc_eol.re
diff --git a/test/ctx.--skeleton.c b/test/ctx.--skeleton.c
index a3c9b74b..1db07426 100644
--- a/test/ctx.--skeleton.c
+++ b/test/ctx.--skeleton.c
Binary files differ
diff --git a/test/ctx.b.c b/test/ctx.b.c
index b670fb47..ac113c78 100644
--- a/test/ctx.b.c
+++ b/test/ctx.b.c
@@ -126,10 +126,13 @@ yy6:
#line 127 "ctx.b.c"
yy9:
yych = *++YYCURSOR;
- YYCTXMARKER = YYCURSOR;
if (yych <= '/') goto yy3;
- if (yych == '1') goto yy13;
+ if (yych == '1') {
+ YYCTXMARKER = YYCURSOR;
+ goto yy13;
+ }
if (yych >= ':') goto yy3;
+ YYCTXMARKER = YYCURSOR;
yy10:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -140,16 +143,16 @@ yy12:
YYCURSOR = YYCTXMARKER;
#line 49 "ctx.b.re"
{ return KEYWORD; }
-#line 144 "ctx.b.c"
+#line 147 "ctx.b.c"
yy13:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy14;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy14;
if (yych <= '9') goto yy10;
yy14:
- YYCURSOR = YYCTXMARKER;
+ YYCURSOR -= 1;
#line 48 "ctx.b.re"
{ return KEYWORD; }
-#line 153 "ctx.b.c"
+#line 156 "ctx.b.c"
}
#line 63 "ctx.b.re"
@@ -157,6 +160,7 @@ yy14:
#define YYMAXFILL 3
+
int main(int,char**)
{
Scanner s("a77 a1 b8 b1");
diff --git a/test/ctx.c b/test/ctx.c
index 46007e3e..bcd0d8a0 100644
--- a/test/ctx.c
+++ b/test/ctx.c
@@ -110,7 +110,6 @@ yy8:
#line 111 "ctx.c"
yy9:
yych = *++YYCURSOR;
- YYCTXMARKER = YYCURSOR;
switch (yych) {
case '0':
case '2':
@@ -120,8 +119,12 @@ yy9:
case '6':
case '7':
case '8':
- case '9': goto yy10;
- case '1': goto yy13;
+ case '9':
+ YYCTXMARKER = YYCURSOR;
+ goto yy10;
+ case '1':
+ YYCTXMARKER = YYCURSOR;
+ goto yy13;
default: goto yy3;
}
yy10:
@@ -145,10 +148,10 @@ yy12:
YYCURSOR = YYCTXMARKER;
#line 49 "ctx.re"
{ return KEYWORD; }
-#line 149 "ctx.c"
+#line 152 "ctx.c"
yy13:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -162,10 +165,10 @@ yy13:
default: goto yy14;
}
yy14:
- YYCURSOR = YYCTXMARKER;
+ YYCURSOR -= 1;
#line 48 "ctx.re"
{ return KEYWORD; }
-#line 169 "ctx.c"
+#line 172 "ctx.c"
}
#line 63 "ctx.re"
@@ -173,6 +176,7 @@ yy14:
#define YYMAXFILL 3
+
int main(int,char**)
{
Scanner s("a77 a1 b8 b1");
diff --git a/test/ctx.s.c b/test/ctx.s.c
index 7f6dcea8..0d062d1a 100644
--- a/test/ctx.s.c
+++ b/test/ctx.s.c
@@ -93,10 +93,13 @@ yy8:
#line 94 "ctx.s.c"
yy9:
yych = *++YYCURSOR;
- YYCTXMARKER = YYCURSOR;
if (yych <= '/') goto yy3;
- if (yych == '1') goto yy13;
+ if (yych == '1') {
+ YYCTXMARKER = YYCURSOR;
+ goto yy13;
+ }
if (yych >= ':') goto yy3;
+ YYCTXMARKER = YYCURSOR;
yy10:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -107,16 +110,16 @@ yy12:
YYCURSOR = YYCTXMARKER;
#line 49 "ctx.s.re"
{ return KEYWORD; }
-#line 111 "ctx.s.c"
+#line 114 "ctx.s.c"
yy13:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy14;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy14;
if (yych <= '9') goto yy10;
yy14:
- YYCURSOR = YYCTXMARKER;
+ YYCURSOR -= 1;
#line 48 "ctx.s.re"
{ return KEYWORD; }
-#line 120 "ctx.s.c"
+#line 123 "ctx.s.c"
}
#line 63 "ctx.s.re"
@@ -124,6 +127,7 @@ yy14:
#define YYMAXFILL 3
+
int main(int,char**)
{
Scanner s("a77 a1 b8 b1");
diff --git a/test/cunroll.c b/test/cunroll.c
index c8e9a1dc..9d7c76be 100644
--- a/test/cunroll.c
+++ b/test/cunroll.c
@@ -263,8 +263,8 @@ yy7:
}
#line 265 "cunroll.c"
yy9:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '=': goto yy65;
default: goto yy10;
}
@@ -280,8 +280,8 @@ yy11:
default: goto yy68;
}
yy12:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '=': goto yy73;
default: goto yy13;
}
@@ -290,8 +290,8 @@ yy13:
{ RET('%'); }
#line 292 "cunroll.c"
yy14:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '&': goto yy75;
case '=': goto yy77;
default: goto yy15;
@@ -318,8 +318,8 @@ yy19:
{ RET(')'); }
#line 320 "cunroll.c"
yy21:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '=': goto yy83;
default: goto yy22;
}
@@ -328,8 +328,8 @@ yy22:
{ RET('*'); }
#line 330 "cunroll.c"
yy23:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '+': goto yy85;
case '=': goto yy87;
default: goto yy24;
@@ -344,8 +344,8 @@ yy25:
{ RET(','); }
#line 346 "cunroll.c"
yy27:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '-': goto yy89;
case '=': goto yy91;
case '>': goto yy93;
@@ -377,8 +377,8 @@ yy30:
{ RET('.'); }
#line 379 "cunroll.c"
yy31:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '*': goto yy99;
case '=': goto yy101;
default: goto yy32;
@@ -391,36 +391,20 @@ yy33:
yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
- case '.': goto yy96;
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- case '8':
- case '9': goto yy35;
- case 'E':
- case 'e': goto yy103;
- case 'L':
- case 'U':
- case 'l':
- case 'u': goto yy104;
case 'X':
case 'x': goto yy106;
- default: goto yy34;
+ default: goto yy36;
}
yy34:
#line 153 "cunroll.re"
{ RET(ICON); }
-#line 419 "cunroll.c"
+#line 402 "cunroll.c"
yy35:
yyaccept = 2;
YYMARKER = ++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
yych = *YYCURSOR;
+yy36:
switch (yych) {
case '.': goto yy96;
case '0':
@@ -445,15 +429,15 @@ yy37:
++YYCURSOR;
#line 187 "cunroll.re"
{ RET(':'); }
-#line 449 "cunroll.c"
+#line 433 "cunroll.c"
yy39:
++YYCURSOR;
#line 183 "cunroll.re"
{ RET(';'); }
-#line 454 "cunroll.c"
+#line 438 "cunroll.c"
yy41:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '<': goto yy107;
case '=': goto yy109;
default: goto yy42;
@@ -461,20 +445,20 @@ yy41:
yy42:
#line 202 "cunroll.re"
{ RET('<'); }
-#line 465 "cunroll.c"
+#line 449 "cunroll.c"
yy43:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '=': goto yy111;
default: goto yy44;
}
yy44:
#line 188 "cunroll.re"
{ RET('='); }
-#line 475 "cunroll.c"
+#line 459 "cunroll.c"
yy45:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '=': goto yy113;
case '>': goto yy115;
default: goto yy46;
@@ -482,15 +466,15 @@ yy45:
yy46:
#line 203 "cunroll.re"
{ RET('>'); }
-#line 486 "cunroll.c"
+#line 470 "cunroll.c"
yy47:
++YYCURSOR;
#line 206 "cunroll.re"
{ RET('?'); }
-#line 491 "cunroll.c"
+#line 475 "cunroll.c"
yy49:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -559,35 +543,35 @@ yy49:
yy50:
#line 141 "cunroll.re"
{ RET(ID); }
-#line 563 "cunroll.c"
+#line 547 "cunroll.c"
yy51:
++YYCURSOR;
#line 191 "cunroll.re"
{ RET('['); }
-#line 568 "cunroll.c"
+#line 552 "cunroll.c"
yy53:
++YYCURSOR;
#line 192 "cunroll.re"
{ RET(']'); }
-#line 573 "cunroll.c"
+#line 557 "cunroll.c"
yy55:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '=': goto yy119;
default: goto yy56;
}
yy56:
#line 204 "cunroll.re"
{ RET('^'); }
-#line 583 "cunroll.c"
+#line 567 "cunroll.c"
yy57:
++YYCURSOR;
#line 184 "cunroll.re"
{ RET('{'); }
-#line 588 "cunroll.c"
+#line 572 "cunroll.c"
yy59:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '=': goto yy121;
case '|': goto yy123;
default: goto yy60;
@@ -595,22 +579,22 @@ yy59:
yy60:
#line 205 "cunroll.re"
{ RET('|'); }
-#line 599 "cunroll.c"
+#line 583 "cunroll.c"
yy61:
++YYCURSOR;
#line 185 "cunroll.re"
{ RET('}'); }
-#line 604 "cunroll.c"
+#line 588 "cunroll.c"
yy63:
++YYCURSOR;
#line 196 "cunroll.re"
{ RET('~'); }
-#line 609 "cunroll.c"
+#line 593 "cunroll.c"
yy65:
++YYCURSOR;
#line 182 "cunroll.re"
{ RET(NEQ); }
-#line 614 "cunroll.c"
+#line 598 "cunroll.c"
yy67:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -634,7 +618,7 @@ yy70:
++YYCURSOR;
#line 159 "cunroll.re"
{ RET(SCON); }
-#line 638 "cunroll.c"
+#line 622 "cunroll.c"
yy72:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -666,17 +650,17 @@ yy73:
++YYCURSOR;
#line 168 "cunroll.re"
{ RET(MODEQ); }
-#line 670 "cunroll.c"
+#line 654 "cunroll.c"
yy75:
++YYCURSOR;
#line 177 "cunroll.re"
{ RET(ANDAND); }
-#line 675 "cunroll.c"
+#line 659 "cunroll.c"
yy77:
++YYCURSOR;
#line 169 "cunroll.re"
{ RET(ANDEQ); }
-#line 680 "cunroll.c"
+#line 664 "cunroll.c"
yy79:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -689,7 +673,7 @@ yy80:
default: goto yy79;
}
yy81:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy34;
yy82:
++YYCURSOR;
@@ -722,32 +706,32 @@ yy83:
++YYCURSOR;
#line 166 "cunroll.re"
{ RET(MULEQ); }
-#line 726 "cunroll.c"
+#line 710 "cunroll.c"
yy85:
++YYCURSOR;
#line 174 "cunroll.re"
{ RET(INCR); }
-#line 731 "cunroll.c"
+#line 715 "cunroll.c"
yy87:
++YYCURSOR;
#line 164 "cunroll.re"
{ RET(ADDEQ); }
-#line 736 "cunroll.c"
+#line 720 "cunroll.c"
yy89:
++YYCURSOR;
#line 175 "cunroll.re"
{ RET(DECR); }
-#line 741 "cunroll.c"
+#line 725 "cunroll.c"
yy91:
++YYCURSOR;
#line 165 "cunroll.re"
{ RET(SUBEQ); }
-#line 746 "cunroll.c"
+#line 730 "cunroll.c"
yy93:
++YYCURSOR;
#line 176 "cunroll.re"
{ RET(DEREF); }
-#line 751 "cunroll.c"
+#line 735 "cunroll.c"
yy95:
yych = *++YYCURSOR;
switch (yych) {
@@ -781,17 +765,17 @@ yy96:
yy98:
#line 156 "cunroll.re"
{ RET(FCON); }
-#line 785 "cunroll.c"
+#line 769 "cunroll.c"
yy99:
++YYCURSOR;
#line 138 "cunroll.re"
{ goto comment; }
-#line 790 "cunroll.c"
+#line 774 "cunroll.c"
yy101:
++YYCURSOR;
#line 167 "cunroll.re"
{ RET(DIVEQ); }
-#line 795 "cunroll.c"
+#line 779 "cunroll.c"
yy103:
yych = *++YYCURSOR;
switch (yych) {
@@ -848,43 +832,43 @@ yy106:
default: goto yy69;
}
yy107:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '=': goto yy135;
default: goto yy108;
}
yy108:
#line 173 "cunroll.re"
{ RET(LSHIFT); }
-#line 860 "cunroll.c"
+#line 844 "cunroll.c"
yy109:
++YYCURSOR;
#line 179 "cunroll.re"
{ RET(LEQ); }
-#line 865 "cunroll.c"
+#line 849 "cunroll.c"
yy111:
++YYCURSOR;
#line 181 "cunroll.re"
{ RET(EQL); }
-#line 870 "cunroll.c"
+#line 854 "cunroll.c"
yy113:
++YYCURSOR;
#line 180 "cunroll.re"
{ RET(GEQ); }
-#line 875 "cunroll.c"
+#line 859 "cunroll.c"
yy115:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '=': goto yy137;
default: goto yy116;
}
yy116:
#line 172 "cunroll.re"
{ RET(RSHIFT); }
-#line 885 "cunroll.c"
+#line 869 "cunroll.c"
yy117:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -953,22 +937,22 @@ yy117:
yy118:
#line 142 "cunroll.re"
{ RET(ID); }
-#line 957 "cunroll.c"
+#line 941 "cunroll.c"
yy119:
++YYCURSOR;
#line 170 "cunroll.re"
{ RET(XOREQ); }
-#line 962 "cunroll.c"
+#line 946 "cunroll.c"
yy121:
++YYCURSOR;
#line 171 "cunroll.re"
{ RET(OREQ); }
-#line 967 "cunroll.c"
+#line 951 "cunroll.c"
yy123:
++YYCURSOR;
#line 178 "cunroll.re"
{ RET(OROR); }
-#line 972 "cunroll.c"
+#line 956 "cunroll.c"
yy125:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -1031,9 +1015,9 @@ yy127:
++YYCURSOR;
#line 161 "cunroll.re"
{ RET(ELLIPSIS); }
-#line 1035 "cunroll.c"
+#line 1019 "cunroll.c"
yy129:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy98;
yy130:
yych = *++YYCURSOR;
@@ -1108,15 +1092,15 @@ yy135:
++YYCURSOR;
#line 163 "cunroll.re"
{ RET(LSHIFTEQ); }
-#line 1112 "cunroll.c"
+#line 1096 "cunroll.c"
yy137:
++YYCURSOR;
#line 162 "cunroll.re"
{ RET(RSHIFTEQ); }
-#line 1117 "cunroll.c"
+#line 1101 "cunroll.c"
yy139:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -1185,10 +1169,10 @@ yy139:
yy140:
#line 143 "cunroll.re"
{ RET(ID); }
-#line 1189 "cunroll.c"
+#line 1173 "cunroll.c"
yy141:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -1257,10 +1241,10 @@ yy141:
yy142:
#line 144 "cunroll.re"
{ RET(ID); }
-#line 1261 "cunroll.c"
+#line 1245 "cunroll.c"
yy143:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -1329,10 +1313,10 @@ yy143:
yy144:
#line 145 "cunroll.re"
{ RET(ID); }
-#line 1333 "cunroll.c"
+#line 1317 "cunroll.c"
yy145:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -1401,10 +1385,10 @@ yy145:
yy146:
#line 146 "cunroll.re"
{ RET(ID); }
-#line 1405 "cunroll.c"
+#line 1389 "cunroll.c"
yy147:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -1473,10 +1457,10 @@ yy147:
yy148:
#line 147 "cunroll.re"
{ RET(ID); }
-#line 1477 "cunroll.c"
+#line 1461 "cunroll.c"
yy149:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -1545,7 +1529,7 @@ yy149:
yy150:
#line 148 "cunroll.re"
{ RET(ID); }
-#line 1549 "cunroll.c"
+#line 1533 "cunroll.c"
yy151:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -1619,14 +1603,14 @@ yy151:
yy153:
#line 149 "cunroll.re"
{ RET(ID); }
-#line 1623 "cunroll.c"
+#line 1607 "cunroll.c"
}
#line 223 "cunroll.re"
comment:
-#line 1630 "cunroll.c"
+#line 1614 "cunroll.c"
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 8) YYFILL(8);
@@ -1638,8 +1622,8 @@ comment:
default: goto yy156;
}
yy156:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '*':
case '/': goto yy157;
default: goto yy163;
@@ -1647,10 +1631,10 @@ yy156:
yy157:
#line 234 "cunroll.re"
{ goto comment; }
-#line 1651 "cunroll.c"
+#line 1635 "cunroll.c"
yy158:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '*':
case '/': goto yy159;
default: goto yy163;
@@ -1662,23 +1646,23 @@ yy159:
s->tok = s->pos = cursor; s->line++;
goto comment;
}
-#line 1666 "cunroll.c"
+#line 1650 "cunroll.c"
yy160:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '/': goto yy165;
default: goto yy161;
}
yy161:
#line 242 "cunroll.re"
{ goto comment; }
-#line 1676 "cunroll.c"
+#line 1660 "cunroll.c"
yy162:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy161;
yy163:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '*':
case '/': goto yy164;
default: goto yy167;
@@ -1686,15 +1670,15 @@ yy163:
yy164:
#line 235 "cunroll.re"
{ goto comment; }
-#line 1690 "cunroll.c"
+#line 1674 "cunroll.c"
yy165:
++YYCURSOR;
#line 227 "cunroll.re"
{ goto std; }
-#line 1695 "cunroll.c"
+#line 1679 "cunroll.c"
yy167:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '*':
case '/': goto yy168;
default: goto yy169;
@@ -1702,10 +1686,10 @@ yy167:
yy168:
#line 236 "cunroll.re"
{ goto comment; }
-#line 1706 "cunroll.c"
+#line 1690 "cunroll.c"
yy169:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '*':
case '/': goto yy170;
default: goto yy171;
@@ -1713,10 +1697,10 @@ yy169:
yy170:
#line 237 "cunroll.re"
{ goto comment; }
-#line 1717 "cunroll.c"
+#line 1701 "cunroll.c"
yy171:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '*':
case '/': goto yy172;
default: goto yy173;
@@ -1724,10 +1708,10 @@ yy171:
yy172:
#line 238 "cunroll.re"
{ goto comment; }
-#line 1728 "cunroll.c"
+#line 1712 "cunroll.c"
yy173:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '*':
case '/': goto yy174;
default: goto yy175;
@@ -1735,10 +1719,10 @@ yy173:
yy174:
#line 239 "cunroll.re"
{ goto comment; }
-#line 1739 "cunroll.c"
+#line 1723 "cunroll.c"
yy175:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '*':
case '/': goto yy176;
default: goto yy177;
@@ -1746,12 +1730,12 @@ yy175:
yy176:
#line 240 "cunroll.re"
{ goto comment; }
-#line 1750 "cunroll.c"
+#line 1734 "cunroll.c"
yy177:
++YYCURSOR;
#line 241 "cunroll.re"
{ goto comment; }
-#line 1755 "cunroll.c"
+#line 1739 "cunroll.c"
}
#line 243 "cunroll.re"
diff --git a/test/default.8.c b/test/default.8.c
index 4e63832a..03e8f00a 100644
--- a/test/default.8.c
+++ b/test/default.8.c
@@ -5,11 +5,10 @@
{
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"
diff --git a/test/default.c b/test/default.c
index 57b4a3eb..43f4df4e 100644
--- a/test/default.c
+++ b/test/default.c
@@ -5,11 +5,10 @@
{
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"
diff --git a/test/default.e.c b/test/default.e.c
index 4bcfbf3c..4d4b15da 100644
--- a/test/default.e.c
+++ b/test/default.e.c
@@ -5,11 +5,10 @@
{
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"
diff --git a/test/default.u.c b/test/default.u.c
index 177685cd..02728a76 100644
--- a/test/default.u.c
+++ b/test/default.u.c
@@ -5,11 +5,10 @@
{
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"
diff --git a/test/default.w.c b/test/default.w.c
index 62e1b339..95778832 100644
--- a/test/default.w.c
+++ b/test/default.w.c
@@ -5,11 +5,10 @@
{
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"
diff --git a/test/default.x.c b/test/default.x.c
index 75acf6db..22e19083 100644
--- a/test/default.x.c
+++ b/test/default.x.c
@@ -5,11 +5,10 @@
{
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"
diff --git a/test/default_dup.i.c b/test/default_dup.i.c
index df77c5b7..0e8cf77c 100644
--- a/test/default_dup.i.c
+++ b/test/default_dup.i.c
@@ -1 +1 @@
-re2c: error: line 3, column 4: code to default rule is already defined
+re2c: error: line 3: code to default rule is already defined at line 2
diff --git a/test/default_dup.ic.c b/test/default_dup.ic.c
index 548466b5..56729dc0 100644
--- a/test/default_dup.ic.c
+++ b/test/default_dup.ic.c
@@ -1 +1 @@
-re2c: error: line 3, column 9: code to default rule 'c1' is already defined
+re2c: error: line 3: code to default rule in condition 'c1' is already defined at line 2
diff --git a/test/default_dup_star_1.ic.c b/test/default_dup_star_1.ic.c
index 940756bf..52830569 100644
--- a/test/default_dup_star_1.ic.c
+++ b/test/default_dup_star_1.ic.c
@@ -3,29 +3,26 @@
{
YYCTYPE yych;
switch (YYGETCONDITION()) {
+ case yycc1: goto yyc_c1;
+ case yycc2: goto yyc_c2;
case yycc3: goto yyc_c3;
}
/* *********************************** */
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;
- goto yy12;
- { return C3; }
-yy12:
- ++YYCURSOR;
+ yych = *YYCURSOR++;
{ return DEFAULT-*; }
}
+re2c: warning: line 4: rule in condition 'c3' matches empty string [-Wmatch-empty-string]
re2c: warning: line 4: unreachable rule in condition 'c3' (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/default_dup_star_2.ic.c b/test/default_dup_star_2.ic.c
index 79910934..e49c0c23 100644
--- a/test/default_dup_star_2.ic.c
+++ b/test/default_dup_star_2.ic.c
@@ -1 +1 @@
-re2c: error: line 3, column 8: code to default rule '*' is already defined
+re2c: error: line 3: code to default rule in condition '*' is already defined at line 2
diff --git a/test/default_full.8--encoding-policy(fail).c b/test/default_full.8--encoding-policy(fail).c
index b9528140..aa041094 100644
--- a/test/default_full.8--encoding-policy(fail).c
+++ b/test/default_full.8--encoding-policy(fail).c
@@ -627,8 +627,8 @@ yy14:
YYCURSOR = YYMARKER;
goto yy5;
yy15:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/default_full.8--encoding-policy(substitute).c b/test/default_full.8--encoding-policy(substitute).c
index 2b4815d4..d6fd4b6f 100644
--- a/test/default_full.8--encoding-policy(substitute).c
+++ b/test/default_full.8--encoding-policy(substitute).c
@@ -627,8 +627,8 @@ yy14:
YYCURSOR = YYMARKER;
goto yy5;
yy15:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/default_full.8.c b/test/default_full.8.c
index b3236da0..5a9543e6 100644
--- a/test/default_full.8.c
+++ b/test/default_full.8.c
@@ -590,8 +590,8 @@ yy13:
YYCURSOR = YYMARKER;
goto yy5;
yy14:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/default_full.c b/test/default_full.c
index 2104f656..05a7618b 100644
--- a/test/default_full.c
+++ b/test/default_full.c
@@ -5,11 +5,10 @@
{
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"
diff --git a/test/default_full.e.c b/test/default_full.e.c
index de5a4fe6..93bc3853 100644
--- a/test/default_full.e.c
+++ b/test/default_full.e.c
@@ -5,11 +5,10 @@
{
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"
diff --git a/test/default_full.u.c b/test/default_full.u.c
index c5f9679a..7ef2460d 100644
--- a/test/default_full.u.c
+++ b/test/default_full.u.c
@@ -5,11 +5,10 @@
{
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"
diff --git a/test/default_full.w.c b/test/default_full.w.c
index 3f81f8b3..c976f0ad 100644
--- a/test/default_full.w.c
+++ b/test/default_full.w.c
@@ -5,11 +5,10 @@
{
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"
diff --git a/test/default_full.x--encoding-policy(fail).c b/test/default_full.x--encoding-policy(fail).c
index bfcb2c7c..ac78989e 100644
--- a/test/default_full.x--encoding-policy(fail).c
+++ b/test/default_full.x--encoding-policy(fail).c
@@ -15,8 +15,8 @@ yy2:
{ return FULL; }
#line 17 "default_full.x--encoding-policy(fail).c"
yy4:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDBFF) goto yy5;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDBFF) goto yy5;
if (yych <= 0xDFFF) goto yy2;
yy5:
#line 2 "default_full.x--encoding-policy(fail).re"
@@ -24,7 +24,6 @@ yy5:
#line 25 "default_full.x--encoding-policy(fail).c"
yy6:
++YYCURSOR;
- yych = *YYCURSOR;
goto yy5;
}
#line 4 "default_full.x--encoding-policy(fail).re"
diff --git a/test/default_full.x--encoding-policy(substitute).c b/test/default_full.x--encoding-policy(substitute).c
index a1d47629..b3550265 100644
--- a/test/default_full.x--encoding-policy(substitute).c
+++ b/test/default_full.x--encoding-policy(substitute).c
@@ -15,8 +15,8 @@ yy2:
{ return FULL; }
#line 17 "default_full.x--encoding-policy(substitute).c"
yy4:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDBFF) goto yy5;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDBFF) goto yy5;
if (yych <= 0xDFFF) goto yy2;
yy5:
#line 2 "default_full.x--encoding-policy(substitute).re"
@@ -24,7 +24,6 @@ yy5:
#line 25 "default_full.x--encoding-policy(substitute).c"
yy6:
++YYCURSOR;
- yych = *YYCURSOR;
goto yy5;
}
#line 4 "default_full.x--encoding-policy(substitute).re"
diff --git a/test/default_full.x.c b/test/default_full.x.c
index ced17d10..dd8f1668 100644
--- a/test/default_full.x.c
+++ b/test/default_full.x.c
@@ -15,8 +15,8 @@ yy3:
{ return FULL; }
#line 17 "default_full.x.c"
yy4:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDBFF) goto yy3;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDBFF) goto yy3;
if (yych <= 0xDFFF) goto yy2;
goto yy3;
}
diff --git a/test/dot.--emit-dot.c b/test/dot.--emit-dot.c
index d9716722..ca08117c 100644
--- a/test/dot.--emit-dot.c
+++ b/test/dot.--emit-dot.c
@@ -1,7 +1,5 @@
/* Generated by re2c */
-
digraph re2c {
-
1 -> 2 [label="[0x00-`][b-d][f-0xFF]"]
1 -> 4 [label="[a]"]
1 -> 5 [label="[e]"]
@@ -13,7 +11,7 @@ digraph re2c {
5 -> 8 [label="[f]"]
6 -> 7 [label="[0x00-b][d-0xFF]"]
6 -> 9 [label="[c]"]
-7 -> 3
+7 -> 3 [label="yyaccept=0"]
8 -> 7 [label="[0x00-f][h-0xFF]"]
8 -> 11 [label="[g]"]
9 -> 10
diff --git a/test/dot2.--emit-dot.c b/test/dot2.--emit-dot.c
index d590eba2..0edb41a7 100644
--- a/test/dot2.--emit-dot.c
+++ b/test/dot2.--emit-dot.c
@@ -1,9 +1,7 @@
/* Generated by re2c */
-
digraph re2c {
-
-1 -> 2 [label="[0x00]"]
1 -> 4 [label="[0x01-0xFF]"]
+1 -> 2 [label="[0x00]"]
2 -> 3
3 [label="dot2.--emit-dot.re:3"]
4 -> 5
diff --git a/test/dot_backslash.--emit-dot.c b/test/dot_backslash.--emit-dot.c
index 73c7a220..d881861b 100644
--- a/test/dot_backslash.--emit-dot.c
+++ b/test/dot_backslash.--emit-dot.c
@@ -1,7 +1,5 @@
/* Generated by re2c */
-
digraph re2c {
-
1 -> 2 [label="[0x00-[][0x5D-0xFF]"]
1 -> 3 [label="[\\]"]
3 -> 4
diff --git a/test/dot_conditions.c--emit-dot.c b/test/dot_conditions.c--emit-dot.c
index 828284e7..4e34159a 100644
--- a/test/dot_conditions.c--emit-dot.c
+++ b/test/dot_conditions.c--emit-dot.c
@@ -1,10 +1,7 @@
/* Generated by re2c */
-
digraph re2c {
-
0 -> state1 [label="state=state1"]
0 -> state2 [label="state=state2"]
-/* *********************************** */
state1 -> 2
2 -> 3 [label="[0x00-`][b-e][g-0xFF]"]
2 -> 4 [label="[a]"]
@@ -21,7 +18,6 @@ state1 -> 2
9 [label="dot_conditions.c--emit-dot.re:6"]
10 -> 11
11 [label="dot_conditions.c--emit-dot.re:8"]
-/* *********************************** */
state2 -> 13
13 -> 14 [label="[0x00-`][b-0xFF]"]
13 -> 15 [label="[a]"]
diff --git a/test/dot_ranges.--emit-dot.c b/test/dot_ranges.--emit-dot.c
index cc775132..4609cd5a 100644
--- a/test/dot_ranges.--emit-dot.c
+++ b/test/dot_ranges.--emit-dot.c
@@ -1,10 +1,8 @@
/* Generated by re2c */
-
digraph re2c {
-
+1 -> 6 [label="[a-b][0xFE-0xFF]"]
1 -> 2 [label="[0x00-/][9-0x5D][_-`][c-0xFD]"]
1 -> 4 [label="[0-8][^]"]
-1 -> 6 [label="[a-b][0xFE-0xFF]"]
2 -> 3
3 [label="dot_ranges.--emit-dot.re:5"]
4 -> 5
diff --git a/test/enc_reset.i.c b/test/enc_reset.i.c
new file mode 100644
index 00000000..fafdfc44
--- /dev/null
+++ b/test/enc_reset.i.c
@@ -0,0 +1,47 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych <= 0xD7FF) goto yy2;
+ if (yych <= 0xDBFF) goto yy4;
+yy2:
+ ++YYCURSOR;
+yy3:
+ {}
+yy4:
+ yych = *++YYCURSOR;
+ if (yych <= 0xDBFF) goto yy3;
+ if (yych <= 0xDFFF) goto yy2;
+ goto yy3;
+}
+
+
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych <= 0xD7FF) goto yy7;
+ if (yych <= 0xDBFF) goto yy9;
+yy7:
+ ++YYCURSOR;
+yy8:
+ {}
+yy9:
+ yych = *++YYCURSOR;
+ if (yych <= 0xDBFF) goto yy8;
+ if (yych <= 0xDFFF) goto yy7;
+ goto yy8;
+}
+
+
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR++;
+ {}
+}
+
diff --git a/test/enc_reset.i.re b/test/enc_reset.i.re
new file mode 100644
index 00000000..ca735fa2
--- /dev/null
+++ b/test/enc_reset.i.re
@@ -0,0 +1,14 @@
+/*!re2c
+ re2c:flags:x = 1; // set UTF-16
+ [^] {}
+*/
+
+/*!re2c
+ re2c:flags:w = 0; // don't reset, still UTF-16
+ [^] {}
+*/
+
+/*!re2c
+ re2c:flags:x = 0; // reset, ASCII
+ [^] {}
+*/
diff --git a/test/error1.c b/test/error1.c
index 2ae3624a..a6d6bbfa 100644
--- a/test/error1.c
+++ b/test/error1.c
@@ -1 +1 @@
-re2c: error: line 18, column 5: illegal closure form, use '{n}', '{n,}', '{n,m}' where n and m are numbers
+re2c: error: line 18, column 4: illegal closure form, use '{n}', '{n,}', '{n,m}' where n and m are numbers
diff --git a/test/error10.c b/test/error10.c
index 22627fc7..6c0ae278 100644
--- a/test/error10.c
+++ b/test/error10.c
@@ -1 +1 @@
-re2c: error: line 2, column 1: Bad code point range: '0x900000 - 0x900000'
+re2c: error: line 2, column 1: bad code point range: '0x900000 - 0x900000'
diff --git a/test/error11.c b/test/error11.c
index a510ff62..00e7f96c 100644
--- a/test/error11.c
+++ b/test/error11.c
@@ -1 +1 @@
-re2c: error: line 2, column 2: syntax error in hexadecimal escape sequence
+re2c: error: line 2, column 1: syntax error in hexadecimal escape sequence
diff --git a/test/error12.c b/test/error12.c
index 3ddbb09b..905bbfd7 100644
--- a/test/error12.c
+++ b/test/error12.c
@@ -1 +1 @@
-re2c: error: line 3, column 17: trailing contexts are not allowed in named definitions
+re2c: error: line 3: trailing contexts are not allowed in named definitions
diff --git a/test/error13.1.c b/test/error13.1.c
index 64b41ff8..bbcc9f85 100644
--- a/test/error13.1.c
+++ b/test/error13.1.c
@@ -3,7 +3,8 @@
#define YYMAXFILL 3
-#line 7 "error13.1.c"
+
+#line 8 "error13.1.c"
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
@@ -17,7 +18,7 @@ yy2:
yy3:
#line 6 "error13.1.re"
{ return 0; }
-#line 21 "error13.1.c"
+#line 22 "error13.1.c"
yy4:
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
@@ -38,12 +39,12 @@ yy7:
++YYCURSOR;
#line 4 "error13.1.re"
{ return 1; }
-#line 42 "error13.1.c"
+#line 43 "error13.1.c"
yy9:
++YYCURSOR;
#line 5 "error13.1.re"
{ return 2; }
-#line 47 "error13.1.c"
+#line 48 "error13.1.c"
}
#line 7 "error13.1.re"
diff --git a/test/error13.c b/test/error13.c
index 7f0ed325..042ad194 100644
--- a/test/error13.c
+++ b/test/error13.c
@@ -3,7 +3,8 @@
#define YYMAXFILL 3
-#line 7 "error13.c"
+
+#line 8 "error13.c"
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
@@ -17,7 +18,7 @@ yy2:
yy3:
#line 6 "error13.re"
{ return 0; }
-#line 21 "error13.c"
+#line 22 "error13.c"
yy4:
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
@@ -38,12 +39,12 @@ yy7:
++YYCURSOR;
#line 4 "error13.re"
{ return 1; }
-#line 42 "error13.c"
+#line 43 "error13.c"
yy9:
++YYCURSOR;
#line 5 "error13.re"
{ return 2; }
-#line 47 "error13.c"
+#line 48 "error13.c"
}
#line 7 "error13.re"
diff --git a/test/error14.1.c b/test/error14.1.c
index ead32206..f3f6c68c 100644
--- a/test/error14.1.c
+++ b/test/error14.1.c
@@ -48,4 +48,6 @@ yy9:
#define YYMAXFILL 3
+
#define YYMAXFILL 3
+
diff --git a/test/error14.c b/test/error14.c
index 4d4f4d67..3dc5c976 100644
--- a/test/error14.c
+++ b/test/error14.c
@@ -48,4 +48,6 @@ yy9:
#define YYMAXFILL 3
+
#define YYMAXFILL 3
+
diff --git a/test/error15.c b/test/error15.c
new file mode 100644
index 00000000..23acb841
--- /dev/null
+++ b/test/error15.c
@@ -0,0 +1 @@
+re2c: error: line 3, column 2: unexpected character: '1'
diff --git a/test/error15.re b/test/error15.re
new file mode 100644
index 00000000..9e92e370
--- /dev/null
+++ b/test/error15.re
@@ -0,0 +1,7 @@
+/*!re2c
+
+ 1 = "a";
+
+ 1 {}
+
+*/
diff --git a/test/error2.c b/test/error2.c
index 2ae3624a..a6d6bbfa 100644
--- a/test/error2.c
+++ b/test/error2.c
@@ -1 +1 @@
-re2c: error: line 18, column 5: illegal closure form, use '{n}', '{n,}', '{n,m}' where n and m are numbers
+re2c: error: line 18, column 4: illegal closure form, use '{n}', '{n,}', '{n,m}' where n and m are numbers
diff --git a/test/error3.c b/test/error3.c
index 37a3fa2b..92bd3de6 100644
--- a/test/error3.c
+++ b/test/error3.c
@@ -1 +1 @@
-re2c: error: line 18, column 5: unexpected character: ']'
+re2c: error: line 18, column 4: unexpected character: ']'
diff --git a/test/error4.c b/test/error4.c
index a510ff62..00e7f96c 100644
--- a/test/error4.c
+++ b/test/error4.c
@@ -1 +1 @@
-re2c: error: line 2, column 2: syntax error in hexadecimal escape sequence
+re2c: error: line 2, column 1: syntax error in hexadecimal escape sequence
diff --git a/test/error5.c b/test/error5.c
index a510ff62..00e7f96c 100644
--- a/test/error5.c
+++ b/test/error5.c
@@ -1 +1 @@
-re2c: error: line 2, column 2: syntax error in hexadecimal escape sequence
+re2c: error: line 2, column 1: syntax error in hexadecimal escape sequence
diff --git a/test/error6.c b/test/error6.c
index a510ff62..00e7f96c 100644
--- a/test/error6.c
+++ b/test/error6.c
@@ -1 +1 @@
-re2c: error: line 2, column 2: syntax error in hexadecimal escape sequence
+re2c: error: line 2, column 1: syntax error in hexadecimal escape sequence
diff --git a/test/error7.c b/test/error7.c
index b3e23861..25f6e7d4 100644
--- a/test/error7.c
+++ b/test/error7.c
@@ -1 +1 @@
-re2c: error: line 2, column 2: syntax error in octal escape sequence
+re2c: error: line 2, column 1: syntax error in octal escape sequence
diff --git a/test/error8.c b/test/error8.c
index b3e23861..25f6e7d4 100644
--- a/test/error8.c
+++ b/test/error8.c
@@ -1 +1 @@
-re2c: error: line 2, column 2: syntax error in octal escape sequence
+re2c: error: line 2, column 1: syntax error in octal escape sequence
diff --git a/test/error9.c b/test/error9.c
index b3e23861..25f6e7d4 100644
--- a/test/error9.c
+++ b/test/error9.c
@@ -1 +1 @@
-re2c: error: line 2, column 2: syntax error in octal escape sequence
+re2c: error: line 2, column 1: syntax error in octal escape sequence
diff --git a/test/flex-01.i.c b/test/flex-01.i.c
index 3c580016..ab1757be 100644
--- a/test/flex-01.i.c
+++ b/test/flex-01.i.c
@@ -1 +1 @@
-re2c: error: line 6, column 1: curly braces for names only allowed with -F switch
+re2c: error: line 6, column 0: curly braces for names only allowed with -F switch
diff --git a/test/input11.b--eager-skip.c b/test/input11.b--eager-skip.c
new file mode 100644
index 00000000..1878df10
--- /dev/null
+++ b/test/input11.b--eager-skip.c
@@ -0,0 +1,139 @@
+/* Generated by re2c */
+#line 1 "input11.b--eager-skip.re"
+
+#line 5 "input11.b--eager-skip.c"
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *YYCURSOR++;
+ if (yych <= '@') {
+ if (yych <= '/') {
+ if (yych == '-') goto yy4;
+ } else {
+ if (yych <= '0') goto yy5;
+ if (yych <= '9') goto yy7;
+ }
+ } else {
+ if (yych <= 'q') {
+ if (yych <= 'Z') goto yy9;
+ if (yych >= 'a') goto yy9;
+ } else {
+ if (yych <= 'r') goto yy12;
+ if (yych <= 'z') goto yy9;
+ }
+ }
+yy3:
+#line 15 "input11.b--eager-skip.re"
+ { return -1; }
+#line 29 "input11.b--eager-skip.c"
+yy4:
+ yych = *YYCURSOR;
+ if (yych <= '0') goto yy3;
+ if (yych <= '9') {
+ ++YYCURSOR;
+ goto yy7;
+ }
+ goto yy3;
+yy5:
+yy6:
+#line 13 "input11.b--eager-skip.re"
+ { return 2; }
+#line 42 "input11.b--eager-skip.c"
+yy7:
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= '/') goto yy6;
+ if (yych <= '9') {
+ ++YYCURSOR;
+ goto yy7;
+ }
+ goto yy6;
+yy9:
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy10:
+ if (yych <= '@') {
+ if (yych <= '/') goto yy11;
+ if (yych <= '9') {
+ ++YYCURSOR;
+ goto yy9;
+ }
+ } else {
+ if (yych <= 'Z') {
+ ++YYCURSOR;
+ goto yy9;
+ }
+ if (yych <= '`') goto yy11;
+ if (yych <= 'z') {
+ ++YYCURSOR;
+ goto yy9;
+ }
+ }
+yy11:
+#line 12 "input11.b--eager-skip.re"
+ { return 1; }
+#line 76 "input11.b--eager-skip.c"
+yy12:
+ yych = *YYCURSOR;
+ if (yych != 'e') goto yy10;
+ ++YYCURSOR;
+ yych = *YYCURSOR;
+ if (yych != '2') goto yy10;
+ ++YYCURSOR;
+ yych = *YYCURSOR;
+ if (yych != 'c') goto yy10;
+ ++YYCURSOR;
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych != ':') goto yy10;
+ ++YYCURSOR;
+ yych = *YYCURSOR;
+ if (yych <= '^') {
+ if (yych <= '@') goto yy17;
+ if (yych <= 'Z') {
+ ++YYCURSOR;
+ goto yy18;
+ }
+ } else {
+ if (yych == '`') goto yy17;
+ if (yych <= 'z') {
+ ++YYCURSOR;
+ goto yy18;
+ }
+ }
+yy17:
+ YYCURSOR = YYMARKER;
+ goto yy11;
+yy18:
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 'Z') {
+ if (yych <= '/') goto yy20;
+ if (yych <= ':') {
+ ++YYCURSOR;
+ goto yy18;
+ }
+ if (yych >= 'A') {
+ ++YYCURSOR;
+ goto yy18;
+ }
+ } else {
+ if (yych <= '_') {
+ if (yych >= '_') {
+ ++YYCURSOR;
+ goto yy18;
+ }
+ } else {
+ if (yych <= '`') goto yy20;
+ if (yych <= 'z') {
+ ++YYCURSOR;
+ goto yy18;
+ }
+ }
+ }
+yy20:
+#line 11 "input11.b--eager-skip.re"
+ { return 0; }
+#line 137 "input11.b--eager-skip.c"
+}
+#line 17 "input11.b--eager-skip.re"
+
diff --git a/test/input11.b--eager-skip.re b/test/input11.b--eager-skip.re
new file mode 100644
index 00000000..705eca76
--- /dev/null
+++ b/test/input11.b--eager-skip.re
@@ -0,0 +1,17 @@
+/*!re2c
+
+re2c:yybm:hex = 1;
+
+letter = [a-zA-Z];
+digit = [0-9];
+number = "0" | ("-"? [1-9] digit*);
+name = letter (letter|digit)*;
+config = "re2c:" (letter|"_") (letter|digit|"_"|":")*;
+
+config { return 0; }
+name { return 1; }
+number { return 2; }
+
+.|"\n" { return -1; }
+
+*/
diff --git a/test/input2.b.c b/test/input2.b.c
index a4cf343a..f04e9543 100644
--- a/test/input2.b.c
+++ b/test/input2.b.c
@@ -65,7 +65,5 @@ yy3:
re2c: warning: line 5: control flow is undefined for strings that match
'[\x0-\x60\x62-\xFF]'
'\x61 [\x0-\x60\x63-\xFF]'
- '\x61 \x61 [\x0-\x60\x63-\xFF]'
'\x61 \x62 [\x0-\x61\x63-\xFF]'
- '\x61 \x61 \x62 [\x0-\x61\x63-\xFF]'
, use default rule '*' [-Wundefined-control-flow]
diff --git a/test/input2.c b/test/input2.c
index 4304bc3b..c93767ac 100644
--- a/test/input2.c
+++ b/test/input2.c
@@ -37,7 +37,5 @@ yy6:
re2c: warning: line 5: control flow is undefined for strings that match
'[\x0-\x60\x62-\xFF]'
'\x61 [\x0-\x60\x63-\xFF]'
- '\x61 \x61 [\x0-\x60\x63-\xFF]'
'\x61 \x62 [\x0-\x61\x63-\xFF]'
- '\x61 \x61 \x62 [\x0-\x61\x63-\xFF]'
, use default rule '*' [-Wundefined-control-flow]
diff --git a/test/input3.c b/test/input3.c
index f3871c1d..163aeee5 100644
--- a/test/input3.c
+++ b/test/input3.c
@@ -37,7 +37,5 @@ yy6:
re2c: warning: line 5: control flow is undefined for strings that match
'[\x0-\x60\x62-\xFF]'
'\x61 [\x0-\x60\x63-\xFF]'
- '\x61 \x61 [\x0-\x60\x63-\xFF]'
'\x61 \x62 [\x0-\x61\x63-\xFF]'
- '\x61 \x61 \x62 [\x0-\x61\x63-\xFF]'
, use default rule '*' [-Wundefined-control-flow]
diff --git a/test/input4.--empty-class(error).c b/test/input4.--empty-class(error).c
index ed80caf7..87fd5001 100644
--- a/test/input4.--empty-class(error).c
+++ b/test/input4.--empty-class(error).c
@@ -1 +1 @@
-re2c: error: line 3, column 1: empty character class
+re2c: error: line 3, column 0: empty character class
diff --git a/test/input4.--empty-class(match-empty).c b/test/input4.--empty-class(match-empty).c
index 1ef8d807..a38637ef 100644
--- a/test/input4.--empty-class(match-empty).c
+++ b/test/input4.--empty-class(match-empty).c
@@ -5,19 +5,14 @@
{
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- goto yy3;
-#line 3 "input4.--empty-class(match-empty).re"
- { return 0; }
-#line 13 "input4.--empty-class(match-empty).c"
-yy3:
- ++YYCURSOR;
+ yych = *YYCURSOR++;
#line 4 "input4.--empty-class(match-empty).re"
{ return 1; }
-#line 18 "input4.--empty-class(match-empty).c"
+#line 12 "input4.--empty-class(match-empty).c"
}
#line 7 "input4.--empty-class(match-empty).re"
re2c: warning: line 3: empty character class [-Wempty-character-class]
+re2c: warning: line 3: rule matches empty string [-Wmatch-empty-string]
re2c: warning: line 3: unreachable rule (shadowed by rule at line 4) [-Wunreachable-rules]
re2c: warning: line 5: unreachable rule (shadowed by rule at line 4) [-Wunreachable-rules]
diff --git a/test/input4.--empty-class(match-none).c b/test/input4.--empty-class(match-none).c
index 932b85de..19e4ec4a 100644
--- a/test/input4.--empty-class(match-none).c
+++ b/test/input4.--empty-class(match-none).c
@@ -5,11 +5,10 @@
{
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"
diff --git a/test/input4.c b/test/input4.c
index 517b8282..0812d88b 100644
--- a/test/input4.c
+++ b/test/input4.c
@@ -5,19 +5,14 @@
{
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- goto yy3;
-#line 3 "input4.re"
- { return 0; }
-#line 13 "input4.c"
-yy3:
- ++YYCURSOR;
+ yych = *YYCURSOR++;
#line 4 "input4.re"
{ return 1; }
-#line 18 "input4.c"
+#line 12 "input4.c"
}
#line 7 "input4.re"
re2c: warning: line 3: empty character class [-Wempty-character-class]
+re2c: warning: line 3: rule matches empty string [-Wmatch-empty-string]
re2c: warning: line 3: unreachable rule (shadowed by rule at line 4) [-Wunreachable-rules]
re2c: warning: line 5: unreachable rule (shadowed by rule at line 4) [-Wunreachable-rules]
diff --git a/test/input6.--empty-class(error).c b/test/input6.--empty-class(error).c
index ed80caf7..87fd5001 100644
--- a/test/input6.--empty-class(error).c
+++ b/test/input6.--empty-class(error).c
@@ -1 +1 @@
-re2c: error: line 3, column 1: empty character class
+re2c: error: line 3, column 0: empty character class
diff --git a/test/input6.--empty-class(match-empty).c b/test/input6.--empty-class(match-empty).c
index a791a5b5..2fd51a02 100644
--- a/test/input6.--empty-class(match-empty).c
+++ b/test/input6.--empty-class(match-empty).c
@@ -5,19 +5,14 @@
{
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- goto yy3;
-#line 3 "input6.--empty-class(match-empty).re"
- { return 0; }
-#line 13 "input6.--empty-class(match-empty).c"
-yy3:
- ++YYCURSOR;
+ yych = *YYCURSOR++;
#line 4 "input6.--empty-class(match-empty).re"
{ return 1; }
-#line 18 "input6.--empty-class(match-empty).c"
+#line 12 "input6.--empty-class(match-empty).c"
}
#line 6 "input6.--empty-class(match-empty).re"
re2c: warning: line 3: empty character class [-Wempty-character-class]
re2c: warning: line 3: empty character class [-Wempty-character-class]
+re2c: warning: line 3: rule matches empty string [-Wmatch-empty-string]
re2c: warning: line 3: unreachable rule (shadowed by rule at line 4) [-Wunreachable-rules]
diff --git a/test/input6.--empty-class(match-none).c b/test/input6.--empty-class(match-none).c
index 5bee0a6d..deba9606 100644
--- a/test/input6.--empty-class(match-none).c
+++ b/test/input6.--empty-class(match-none).c
@@ -5,11 +5,10 @@
{
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"
diff --git a/test/input6.c b/test/input6.c
index f7c39370..0ce16dfd 100644
--- a/test/input6.c
+++ b/test/input6.c
@@ -5,19 +5,14 @@
{
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- goto yy3;
-#line 3 "input6.re"
- { return 0; }
-#line 13 "input6.c"
-yy3:
- ++YYCURSOR;
+ yych = *YYCURSOR++;
#line 4 "input6.re"
{ return 1; }
-#line 18 "input6.c"
+#line 12 "input6.c"
}
#line 6 "input6.re"
re2c: warning: line 3: empty character class [-Wempty-character-class]
re2c: warning: line 3: empty character class [-Wempty-character-class]
+re2c: warning: line 3: rule matches empty string [-Wmatch-empty-string]
re2c: warning: line 3: unreachable rule (shadowed by rule at line 4) [-Wunreachable-rules]
diff --git a/test/input8.b.c b/test/input8.b.c
index cbb33ef1..d53dde00 100644
--- a/test/input8.b.c
+++ b/test/input8.b.c
@@ -50,7 +50,6 @@ yy11:
if (yych >= 0x01) goto yy9;
yy12:
++YYCURSOR;
- yych = *YYCURSOR;
goto yy7;
}
#line 9 "input8.b.re"
diff --git a/test/input8.c b/test/input8.c
index ab8e41da..839a63f3 100644
--- a/test/input8.c
+++ b/test/input8.c
@@ -63,7 +63,6 @@ yy11:
if (yych >= 0x01) goto yy9;
yy12:
++YYCURSOR;
- yych = *YYCURSOR;
goto yy7;
}
#line 9 "input8.re"
diff --git a/test/input8.g.c b/test/input8.g.c
index 71f14653..e3b46ec1 100644
--- a/test/input8.g.c
+++ b/test/input8.g.c
@@ -50,7 +50,6 @@ yy11:
if (yych >= 0x01) goto yy9;
yy12:
++YYCURSOR;
- yych = *YYCURSOR;
goto yy7;
}
#line 9 "input8.g.re"
diff --git a/test/input_custom_default.--input(custom).c b/test/input_custom_default.--input(custom).c
index d1e1bc9c..076118ac 100644
--- a/test/input_custom_default.--input(custom).c
+++ b/test/input_custom_default.--input(custom).c
@@ -106,9 +106,10 @@ yy14:
yy15:
YYSKIP ();
yych = YYPEEK ();
- YYBACKUPCTX ();
switch (yych) {
- case '[': goto yy16;
+ case '[':
+ YYBACKUPCTX ();
+ goto yy16;
default: goto yy6;
}
yy16:
@@ -150,7 +151,7 @@ yy19:
YYRESTORECTX ();
#line 15 "input_custom_default.--input(custom).re"
{ return true; }
-#line 154 "input_custom_default.--input(custom).c"
+#line 155 "input_custom_default.--input(custom).c"
}
#line 17 "input_custom_default.--input(custom).re"
diff --git a/test/input_custom_default.--skeleton--input(custom).c b/test/input_custom_default.--skeleton--input(custom).c
index c85e3d0d..8387d18d 100644
--- a/test/input_custom_default.--skeleton--input(custom).c
+++ b/test/input_custom_default.--skeleton--input(custom).c
Binary files differ
diff --git a/test/input_custom_fgetc.--input(custom).c b/test/input_custom_fgetc.--input(custom).c
index 095c6591..30140d6e 100644
--- a/test/input_custom_fgetc.--input(custom).c
+++ b/test/input_custom_fgetc.--input(custom).c
@@ -115,9 +115,10 @@ yy14:
yy15:
YYSKIP ();
yych = YYPEEK ();
- YYBACKUPCTX ();
switch (yych) {
- case '[': goto yy16;
+ case '[':
+ YYBACKUPCTX ();
+ goto yy16;
default: goto yy6;
}
yy16:
@@ -159,7 +160,7 @@ yy19:
YYRESTORECTX ();
#line 24 "input_custom_fgetc.--input(custom).re"
{ return true; }
-#line 163 "input_custom_fgetc.--input(custom).c"
+#line 164 "input_custom_fgetc.--input(custom).c"
}
#line 26 "input_custom_fgetc.--input(custom).re"
diff --git a/test/input_custom_fgetc.--skeleton--input(custom).c b/test/input_custom_fgetc.--skeleton--input(custom).c
index b83fe9dd..1b7f65ee 100644
--- a/test/input_custom_fgetc.--skeleton--input(custom).c
+++ b/test/input_custom_fgetc.--skeleton--input(custom).c
Binary files differ
diff --git a/test/input_custom_istringstream.--input(custom).c b/test/input_custom_istringstream.--input(custom).c
index b13f47d8..efefd5bc 100644
--- a/test/input_custom_istringstream.--input(custom).c
+++ b/test/input_custom_istringstream.--input(custom).c
@@ -108,9 +108,10 @@ yy14:
yy15:
YYSKIP ();
yych = YYPEEK ();
- YYBACKUPCTX ();
switch (yych) {
- case '[': goto yy16;
+ case '[':
+ YYBACKUPCTX ();
+ goto yy16;
default: goto yy6;
}
yy16:
@@ -152,7 +153,7 @@ yy19:
YYRESTORECTX ();
#line 17 "input_custom_istringstream.--input(custom).re"
{ return true; }
-#line 156 "input_custom_istringstream.--input(custom).c"
+#line 157 "input_custom_istringstream.--input(custom).c"
}
#line 19 "input_custom_istringstream.--input(custom).re"
diff --git a/test/input_custom_istringstream.--skeleton--input(custom).c b/test/input_custom_istringstream.--skeleton--input(custom).c
index 3711031b..e3f99c12 100644
--- a/test/input_custom_istringstream.--skeleton--input(custom).c
+++ b/test/input_custom_istringstream.--skeleton--input(custom).c
Binary files differ
diff --git a/test/input_custom_mjson.--input(custom).c b/test/input_custom_mjson.--input(custom).c
index 614d9fd3..5d250123 100644
--- a/test/input_custom_mjson.--input(custom).c
+++ b/test/input_custom_mjson.--input(custom).c
@@ -670,8 +670,9 @@ yy14:
}
yy15:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
- case '.': goto yy47;
+ yych = YYPEEK ();
+ switch (yych) {
+ case '.':
case '0':
case '1':
case '2':
@@ -679,13 +680,14 @@ yy15:
case '4':
case '5':
case '6':
- case '7': goto yy54;
+ case '7':
case '8':
- case '9': goto yy57;
+ case '9':
case 'A':
case 'B':
case 'C':
case 'D':
+ case 'E':
case 'F':
case 'G':
case 'H':
@@ -711,6 +713,7 @@ yy15:
case 'b':
case 'c':
case 'd':
+ case 'e':
case 'f':
case 'g':
case 'h':
@@ -730,9 +733,7 @@ yy15:
case 'v':
case 'w':
case 'y':
- case 'z': goto yy60;
- case 'E':
- case 'e': goto yy62;
+ case 'z': goto yy55;
case 'X':
case 'x': goto yy63;
default: goto yy16;
@@ -743,7 +744,7 @@ yy16:
token = TOK_DEC_NUMBER;
goto done;
}
-#line 747 "input_custom_mjson.--input(custom).c"
+#line 748 "input_custom_mjson.--input(custom).c"
yy17:
YYSKIP ();
yych = YYPEEK ();
@@ -821,7 +822,7 @@ yy19:
token = TOK_COLON;
goto done;
}
-#line 825 "input_custom_mjson.--input(custom).c"
+#line 826 "input_custom_mjson.--input(custom).c"
yy21:
YYSKIP ();
#line 552 "input_custom_mjson.--input(custom).re"
@@ -829,7 +830,7 @@ yy21:
token = TOK_EQUAL;
goto done;
}
-#line 833 "input_custom_mjson.--input(custom).c"
+#line 834 "input_custom_mjson.--input(custom).c"
yy23:
YYSKIP ();
yych = YYPEEK ();
@@ -906,7 +907,7 @@ yy25:
token = TOK_IDENTIFIER;
goto done;
}
-#line 910 "input_custom_mjson.--input(custom).c"
+#line 911 "input_custom_mjson.--input(custom).c"
yy26:
YYSKIP ();
#line 537 "input_custom_mjson.--input(custom).re"
@@ -914,7 +915,7 @@ yy26:
token = TOK_LEFT_BRACKET;
goto done;
}
-#line 918 "input_custom_mjson.--input(custom).c"
+#line 919 "input_custom_mjson.--input(custom).c"
yy28:
YYSKIP ();
#line 542 "input_custom_mjson.--input(custom).re"
@@ -922,7 +923,7 @@ yy28:
token = TOK_RIGHT_BRACKET;
goto done;
}
-#line 926 "input_custom_mjson.--input(custom).c"
+#line 927 "input_custom_mjson.--input(custom).c"
yy30:
YYSKIP ();
yych = YYPEEK ();
@@ -951,7 +952,7 @@ yy33:
token = TOK_LEFT_CURLY_BRACKET;
goto done;
}
-#line 955 "input_custom_mjson.--input(custom).c"
+#line 956 "input_custom_mjson.--input(custom).c"
yy35:
YYSKIP ();
#line 532 "input_custom_mjson.--input(custom).re"
@@ -959,7 +960,7 @@ yy35:
token = TOK_RIGHT_CURLY_BRACKET;
goto done;
}
-#line 963 "input_custom_mjson.--input(custom).c"
+#line 964 "input_custom_mjson.--input(custom).c"
yy37:
YYSKIP ();
yych = YYPEEK ();
@@ -973,11 +974,11 @@ yy38:
yy39:
YYRESTORE ();
switch (yyaccept) {
- case 0: goto yy5;
- case 1: goto yy16;
- case 2: goto yy49;
- case 3: goto yy59;
- default: goto yy93;
+ case 0: goto yy5;
+ case 1: goto yy16;
+ case 2: goto yy49;
+ case 3: goto yy59;
+ default: goto yy93;
}
yy40:
YYSKIP ();
@@ -986,7 +987,7 @@ yy40:
token = TOK_NOESC_STRING;
goto done;
}
-#line 990 "input_custom_mjson.--input(custom).c"
+#line 991 "input_custom_mjson.--input(custom).c"
yy42:
YYSKIP ();
yych = YYPEEK ();
@@ -1086,7 +1087,7 @@ yy49:
token = TOK_FLOAT_NUMBER;
goto done;
}
-#line 1090 "input_custom_mjson.--input(custom).c"
+#line 1091 "input_custom_mjson.--input(custom).c"
yy50:
YYSKIP ();
yych = YYPEEK ();
@@ -1106,6 +1107,7 @@ yy52:
yy54:
YYSKIP ();
yych = YYPEEK ();
+yy55:
switch (yych) {
case '.': goto yy47;
case '0':
@@ -1179,7 +1181,7 @@ yy56:
token = TOK_OCT_NUMBER;
goto done;
}
-#line 1183 "input_custom_mjson.--input(custom).c"
+#line 1185 "input_custom_mjson.--input(custom).c"
yy57:
YYSKIP ();
yych = YYPEEK ();
@@ -1256,10 +1258,11 @@ yy59:
context->token = TOK_INVALID;
return;
}
-#line 1260 "input_custom_mjson.--input(custom).c"
+#line 1262 "input_custom_mjson.--input(custom).c"
yy60:
YYSKIP ();
yych = YYPEEK ();
+yy61:
switch (yych) {
case '0':
case '1':
@@ -1344,60 +1347,7 @@ yy62:
case '7':
case '8':
case '9': goto yy77;
- case 'A':
- case 'B':
- case 'C':
- case 'D':
- case 'E':
- case 'F':
- case 'G':
- case 'H':
- case 'I':
- case 'J':
- case 'K':
- case 'L':
- case 'M':
- case 'N':
- case 'O':
- case 'P':
- case 'Q':
- case 'R':
- case 'S':
- case 'T':
- case 'U':
- case 'V':
- case 'W':
- case 'X':
- case 'Y':
- case 'Z':
- case '_':
- case 'a':
- case 'b':
- case 'c':
- case 'd':
- case 'e':
- case 'f':
- case 'g':
- case 'h':
- case 'i':
- case 'j':
- case 'k':
- case 'l':
- case 'm':
- case 'n':
- case 'o':
- case 'p':
- case 'q':
- case 'r':
- case 's':
- case 't':
- case 'u':
- case 'v':
- case 'w':
- case 'x':
- case 'y':
- case 'z': goto yy60;
- default: goto yy59;
+ default: goto yy61;
}
yy63:
YYSKIP ();
@@ -1578,7 +1528,7 @@ yy74:
{
continue;
}
-#line 1582 "input_custom_mjson.--input(custom).c"
+#line 1532 "input_custom_mjson.--input(custom).c"
yy76:
YYSKIP ();
yych = YYPEEK ();
@@ -1740,7 +1690,7 @@ yy81:
token = TOK_HEX_NUMBER;
goto done;
}
-#line 1744 "input_custom_mjson.--input(custom).c"
+#line 1694 "input_custom_mjson.--input(custom).c"
yy82:
YYSKIP ();
yych = YYPEEK ();
@@ -1769,7 +1719,7 @@ yy85:
token = TOK_STRING;
goto done;
}
-#line 1773 "input_custom_mjson.--input(custom).c"
+#line 1723 "input_custom_mjson.--input(custom).c"
yy87:
YYSKIP ();
yych = YYPEEK ();
@@ -1830,7 +1780,7 @@ yy93:
{
continue;
}
-#line 1834 "input_custom_mjson.--input(custom).c"
+#line 1784 "input_custom_mjson.--input(custom).c"
yy94:
YYSKIP ();
yych = YYPEEK ();
@@ -1840,7 +1790,8 @@ yy94:
}
yy95:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -1912,10 +1863,11 @@ yy96:
token = TOK_NULL;
goto done;
}
-#line 1916 "input_custom_mjson.--input(custom).c"
+#line 1867 "input_custom_mjson.--input(custom).c"
yy97:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -1987,7 +1939,7 @@ yy98:
token = TOK_TRUE;
goto done;
}
-#line 1991 "input_custom_mjson.--input(custom).c"
+#line 1943 "input_custom_mjson.--input(custom).c"
yy99:
YYSKIP ();
yych = YYPEEK ();
@@ -2028,7 +1980,8 @@ yy100:
}
yy101:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -2100,7 +2053,7 @@ yy102:
token = TOK_FALSE;
goto done;
}
-#line 2104 "input_custom_mjson.--input(custom).c"
+#line 2057 "input_custom_mjson.--input(custom).c"
yy103:
YYSKIP ();
yych = YYPEEK ();
@@ -2250,7 +2203,7 @@ static int parse_string(mjson_parser_t *context, uint32_t id)
s = c;
-#line 2254 "input_custom_mjson.--input(custom).c"
+#line 2207 "input_custom_mjson.--input(custom).c"
{
YYCTYPE yych;
yych = YYPEEK ();
@@ -2267,7 +2220,7 @@ yy107:
{
assert(!"reachable");
}
-#line 2271 "input_custom_mjson.--input(custom).c"
+#line 2224 "input_custom_mjson.--input(custom).c"
yy108:
YYSKIP ();
yych = YYPEEK ();
@@ -2288,7 +2241,7 @@ yy110:
continue;
}
-#line 2292 "input_custom_mjson.--input(custom).c"
+#line 2245 "input_custom_mjson.--input(custom).c"
yy111:
YYSKIP ();
#line 801 "input_custom_mjson.--input(custom).re"
@@ -2300,7 +2253,7 @@ yy111:
return 1;
}
-#line 2304 "input_custom_mjson.--input(custom).c"
+#line 2257 "input_custom_mjson.--input(custom).c"
yy113:
YYSKIP ();
YYBACKUP ();
@@ -2350,7 +2303,7 @@ yy114:
continue;
}
-#line 2354 "input_custom_mjson.--input(custom).c"
+#line 2307 "input_custom_mjson.--input(custom).c"
yy116:
YYSKIP ();
yych = YYPEEK ();
@@ -2482,7 +2435,7 @@ yy121:
continue;
}
-#line 2486 "input_custom_mjson.--input(custom).c"
+#line 2439 "input_custom_mjson.--input(custom).c"
}
#line 813 "input_custom_mjson.--input(custom).re"
diff --git a/test/input_custom_mjson.--skeleton--input(custom).c b/test/input_custom_mjson.--skeleton--input(custom).c
index a6a5d3a4..4c334f61 100644
--- a/test/input_custom_mjson.--skeleton--input(custom).c
+++ b/test/input_custom_mjson.--skeleton--input(custom).c
@@ -1,7 +1,9 @@
/* Generated by re2c */
+#include <stddef.h> /* size_t */
#include <stdio.h>
#include <stdlib.h> /* malloc, free */
+#include <string.h> /* memcpy */
static void *read_file
( const char *fname
@@ -58,7 +60,7 @@ error:
#define YYFILL(n) { break; }
static int action_line626
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -66,10 +68,12 @@ static int action_line626
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -79,17 +83,17 @@ static int action_line626
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line626: at position %ld (iteration %u):\n"
+ , "error: lex_line626: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -99,6 +103,13 @@ static int action_line626
}
}
+static int check_key_count_line626(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line626: not enough keys\n");
+ return 1;
+}
+
int lex_line626()
{
const size_t padding = 6; /* YYMAXFILL */
@@ -126,7 +137,7 @@ int lex_line626()
keys = (YYKEYTYPE *) read_file
("input_custom_mjson.--skeleton--input(custom).c.line626.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -139,7 +150,7 @@ int lex_line626()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -232,12 +243,14 @@ int lex_line626()
}
yy2:
YYSKIP ();
- status = action_line626(i, keys, input, token, &cursor, 20);
+ status = check_key_count_line626(keys_count, i, 3)
+ || action_line626(&i, keys, input, token, &cursor, 20);
continue;
yy4:
YYSKIP ();
yy5:
- status = action_line626(i, keys, input, token, &cursor, 22);
+ status = check_key_count_line626(keys_count, i, 3)
+ || action_line626(&i, keys, input, token, &cursor, 22);
continue;
yy6:
YYSKIP ();
@@ -251,7 +264,8 @@ yy6:
default: goto yy8;
}
yy8:
- status = action_line626(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line626(keys_count, i, 3)
+ || action_line626(&i, keys, input, token, &cursor, 0);
continue;
yy9:
yyaccept = 0;
@@ -281,7 +295,8 @@ yy10:
}
yy11:
YYSKIP ();
- status = action_line626(i, keys, input, token, &cursor, 9);
+ status = check_key_count_line626(keys_count, i, 3)
+ || action_line626(&i, keys, input, token, &cursor, 9);
continue;
yy13:
YYSKIP ();
@@ -311,8 +326,9 @@ yy14:
}
yy15:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
- case '.': goto yy47;
+ yych = YYPEEK ();
+ switch (yych) {
+ case '.':
case '0':
case '1':
case '2':
@@ -320,13 +336,14 @@ yy15:
case '4':
case '5':
case '6':
- case '7': goto yy54;
+ case '7':
case '8':
- case '9': goto yy57;
+ case '9':
case 'A':
case 'B':
case 'C':
case 'D':
+ case 'E':
case 'F':
case 'G':
case 'H':
@@ -352,6 +369,7 @@ yy15:
case 'b':
case 'c':
case 'd':
+ case 'e':
case 'f':
case 'g':
case 'h':
@@ -371,15 +389,14 @@ yy15:
case 'v':
case 'w':
case 'y':
- case 'z': goto yy60;
- case 'E':
- case 'e': goto yy62;
+ case 'z': goto yy55;
case 'X':
case 'x': goto yy63;
default: goto yy16;
}
yy16:
- status = action_line626(i, keys, input, token, &cursor, 12);
+ status = check_key_count_line626(keys_count, i, 3)
+ || action_line626(&i, keys, input, token, &cursor, 12);
continue;
yy17:
YYSKIP ();
@@ -454,11 +471,13 @@ yy17:
}
yy19:
YYSKIP ();
- status = action_line626(i, keys, input, token, &cursor, 7);
+ status = check_key_count_line626(keys_count, i, 3)
+ || action_line626(&i, keys, input, token, &cursor, 7);
continue;
yy21:
YYSKIP ();
- status = action_line626(i, keys, input, token, &cursor, 8);
+ status = check_key_count_line626(keys_count, i, 3)
+ || action_line626(&i, keys, input, token, &cursor, 8);
continue;
yy23:
YYSKIP ();
@@ -532,15 +551,18 @@ yy24:
default: goto yy25;
}
yy25:
- status = action_line626(i, keys, input, token, &cursor, 17);
+ status = check_key_count_line626(keys_count, i, 3)
+ || action_line626(&i, keys, input, token, &cursor, 17);
continue;
yy26:
YYSKIP ();
- status = action_line626(i, keys, input, token, &cursor, 5);
+ status = check_key_count_line626(keys_count, i, 3)
+ || action_line626(&i, keys, input, token, &cursor, 5);
continue;
yy28:
YYSKIP ();
- status = action_line626(i, keys, input, token, &cursor, 6);
+ status = check_key_count_line626(keys_count, i, 3)
+ || action_line626(&i, keys, input, token, &cursor, 6);
continue;
yy30:
YYSKIP ();
@@ -565,11 +587,13 @@ yy32:
}
yy33:
YYSKIP ();
- status = action_line626(i, keys, input, token, &cursor, 3);
+ status = check_key_count_line626(keys_count, i, 3)
+ || action_line626(&i, keys, input, token, &cursor, 3);
continue;
yy35:
YYSKIP ();
- status = action_line626(i, keys, input, token, &cursor, 4);
+ status = check_key_count_line626(keys_count, i, 3)
+ || action_line626(&i, keys, input, token, &cursor, 4);
continue;
yy37:
YYSKIP ();
@@ -585,15 +609,16 @@ yy38:
yy39:
YYRESTORE ();
switch (yyaccept) {
- case 0: goto yy5;
- case 1: goto yy16;
- case 2: goto yy49;
- case 3: goto yy59;
- default: goto yy93;
+ case 0: goto yy5;
+ case 1: goto yy16;
+ case 2: goto yy49;
+ case 3: goto yy59;
+ default: goto yy93;
}
yy40:
YYSKIP ();
- status = action_line626(i, keys, input, token, &cursor, 18);
+ status = check_key_count_line626(keys_count, i, 3)
+ || action_line626(&i, keys, input, token, &cursor, 18);
continue;
yy42:
YYSKIP ();
@@ -692,7 +717,8 @@ yy47:
default: goto yy49;
}
yy49:
- status = action_line626(i, keys, input, token, &cursor, 13);
+ status = check_key_count_line626(keys_count, i, 3)
+ || action_line626(&i, keys, input, token, &cursor, 13);
continue;
yy50:
YYSKIP ();
@@ -716,6 +742,7 @@ yy54:
YYSKIP ();
if (YYLESSTHAN (3)) YYFILL(3);
yych = YYPEEK ();
+yy55:
switch (yych) {
case '.': goto yy47;
case '0':
@@ -784,7 +811,8 @@ yy54:
default: goto yy56;
}
yy56:
- status = action_line626(i, keys, input, token, &cursor, 10);
+ status = check_key_count_line626(keys_count, i, 3)
+ || action_line626(&i, keys, input, token, &cursor, 10);
continue;
yy57:
YYSKIP ();
@@ -858,12 +886,14 @@ yy57:
default: goto yy59;
}
yy59:
- status = action_line626(i, keys, input, token, &cursor, 21);
+ status = check_key_count_line626(keys_count, i, 3)
+ || action_line626(&i, keys, input, token, &cursor, 21);
continue;
yy60:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
+yy61:
switch (yych) {
case '0':
case '1':
@@ -948,60 +978,7 @@ yy62:
case '7':
case '8':
case '9': goto yy77;
- case 'A':
- case 'B':
- case 'C':
- case 'D':
- case 'E':
- case 'F':
- case 'G':
- case 'H':
- case 'I':
- case 'J':
- case 'K':
- case 'L':
- case 'M':
- case 'N':
- case 'O':
- case 'P':
- case 'Q':
- case 'R':
- case 'S':
- case 'T':
- case 'U':
- case 'V':
- case 'W':
- case 'X':
- case 'Y':
- case 'Z':
- case '_':
- case 'a':
- case 'b':
- case 'c':
- case 'd':
- case 'e':
- case 'f':
- case 'g':
- case 'h':
- case 'i':
- case 'j':
- case 'k':
- case 'l':
- case 'm':
- case 'n':
- case 'o':
- case 'p':
- case 'q':
- case 'r':
- case 's':
- case 't':
- case 'u':
- case 'v':
- case 'w':
- case 'x':
- case 'y':
- case 'z': goto yy60;
- default: goto yy59;
+ default: goto yy61;
}
yy63:
YYSKIP ();
@@ -1182,7 +1159,8 @@ yy73:
}
yy74:
YYSKIP ();
- status = action_line626(i, keys, input, token, &cursor, 1);
+ status = check_key_count_line626(keys_count, i, 3)
+ || action_line626(&i, keys, input, token, &cursor, 1);
continue;
yy76:
YYSKIP ();
@@ -1342,7 +1320,8 @@ yy80:
default: goto yy81;
}
yy81:
- status = action_line626(i, keys, input, token, &cursor, 11);
+ status = check_key_count_line626(keys_count, i, 3)
+ || action_line626(&i, keys, input, token, &cursor, 11);
continue;
yy82:
YYSKIP ();
@@ -1367,7 +1346,8 @@ yy84:
}
yy85:
YYSKIP ();
- status = action_line626(i, keys, input, token, &cursor, 19);
+ status = check_key_count_line626(keys_count, i, 3)
+ || action_line626(&i, keys, input, token, &cursor, 19);
continue;
yy87:
YYSKIP ();
@@ -1428,7 +1408,8 @@ yy90:
yy92:
YYSKIP ();
yy93:
- status = action_line626(i, keys, input, token, &cursor, 2);
+ status = check_key_count_line626(keys_count, i, 3)
+ || action_line626(&i, keys, input, token, &cursor, 2);
continue;
yy94:
YYSKIP ();
@@ -1439,7 +1420,8 @@ yy94:
}
yy95:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -1506,11 +1488,13 @@ yy95:
default: goto yy96;
}
yy96:
- status = action_line626(i, keys, input, token, &cursor, 16);
+ status = check_key_count_line626(keys_count, i, 3)
+ || action_line626(&i, keys, input, token, &cursor, 16);
continue;
yy97:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -1577,7 +1561,8 @@ yy97:
default: goto yy98;
}
yy98:
- status = action_line626(i, keys, input, token, &cursor, 14);
+ status = check_key_count_line626(keys_count, i, 3)
+ || action_line626(&i, keys, input, token, &cursor, 14);
continue;
yy99:
YYSKIP ();
@@ -1621,7 +1606,8 @@ yy100:
}
yy101:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -1688,7 +1674,8 @@ yy101:
default: goto yy102;
}
yy102:
- status = action_line626(i, keys, input, token, &cursor, 15);
+ status = check_key_count_line626(keys_count, i, 3)
+ || action_line626(&i, keys, input, token, &cursor, 15);
continue;
yy103:
YYSKIP ();
@@ -1729,7 +1716,7 @@ yy103:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line626: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line626: unused keys left after %u keys\n", i);
}
}
@@ -1759,7 +1746,7 @@ end:
#define YYFILL(n) { break; }
static int action_line813
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -1767,10 +1754,12 @@ static int action_line813
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -1780,17 +1769,17 @@ static int action_line813
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line813: at position %ld (iteration %u):\n"
+ , "error: lex_line813: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -1800,6 +1789,13 @@ static int action_line813
}
}
+static int check_key_count_line813(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line813: not enough keys\n");
+ return 1;
+}
+
int lex_line813()
{
const size_t padding = 6; /* YYMAXFILL */
@@ -1827,7 +1823,7 @@ int lex_line813()
keys = (YYKEYTYPE *) read_file
("input_custom_mjson.--skeleton--input(custom).c.line813.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -1840,7 +1836,7 @@ int lex_line813()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -1856,7 +1852,8 @@ int lex_line813()
yy106:
YYSKIP ();
yy107:
- status = action_line813(i, keys, input, token, &cursor, 4);
+ status = check_key_count_line813(keys_count, i, 3)
+ || action_line813(&i, keys, input, token, &cursor, 4);
continue;
yy108:
YYSKIP ();
@@ -1869,11 +1866,13 @@ yy108:
default: goto yy108;
}
yy110:
- status = action_line813(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line813(keys_count, i, 3)
+ || action_line813(&i, keys, input, token, &cursor, 0);
continue;
yy111:
YYSKIP ();
- status = action_line813(i, keys, input, token, &cursor, 3);
+ status = check_key_count_line813(keys_count, i, 3)
+ || action_line813(&i, keys, input, token, &cursor, 3);
continue;
yy113:
YYSKIP ();
@@ -1893,7 +1892,8 @@ yy113:
}
yy114:
YYSKIP ();
- status = action_line813(i, keys, input, token, &cursor, 1);
+ status = check_key_count_line813(keys_count, i, 3)
+ || action_line813(&i, keys, input, token, &cursor, 1);
continue;
yy116:
YYSKIP ();
@@ -2012,7 +2012,8 @@ yy120:
}
yy121:
YYSKIP ();
- status = action_line813(i, keys, input, token, &cursor, 2);
+ status = check_key_count_line813(keys_count, i, 3)
+ || action_line813(&i, keys, input, token, &cursor, 2);
continue;
}
@@ -2024,7 +2025,7 @@ yy121:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line813: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line813: unused keys left after %u keys\n", i);
}
}
@@ -2054,196 +2055,7 @@ int main()
}
return 0;
}
-
-
-
-   
-
-
-   
-
-
-  
-
-
-   
-
-
-   
-
-
-   
-
-
-   
-
-
-! " # $
-
-
-% & ' (
-
-
-) * + ,
-
-
-- . / 0
-
-
-1 2 3 4
-
-
-5 6 7 8
-
-
-9 : ; <
-
-
-= > ? @
-
-
-A B C D
-
-
-E F G H
-
-
-I J K L
-
-
-M N O P
-
-
-Q R S T
-
-
-U V W X
-
-
-Y Z [ \
-
-
-] ^ _ `
-
-
-a b c d
-
-
-e f g h
-
-
-i j k l
-
-
-m n o p
-
-
-q r s t
-
-
-u v w x
-
-
-y z { |
-
-
-} ~  €
-
-
- ‚ ƒ „
-
-
-… † ‡ ˆ
-
-
-‰ Š ‹ Œ
-
-
- Ž
-
-
-‘ ’ “ ”
-
-
-• – — ˜
-
-
-™ š › œ
-
-
- ž Ÿ  
-
-
-¡ ¢ £ ¤
-
-
-¥ ¦ § ¨
-
-
-© ª « ¬
-
-
-­ ® ¯ °
-
-
-± ² ³ ´
-
-
-µ ¶ · ¸
-
-
-¹ º » ¼
-
-
-½ ¾ ¿ À
-
-
-Á Â Ã Ä
-
-
-Å Æ Ç È
-
-
-É Ê Ë Ì
-
-
-Í Î Ï Ð
-
-
-Ñ Ò Ó Ô
-
-
-Õ Ö × Ø
-
-
-Ù Ú Û Ü
-
-
-Ý Þ ß à
-
-
-á â ã ä
-
-
-å æ ç è
-
-
-é ê ë ì
-
-
-í î ï ð
-
-
-ñ ò ó ô
-
-
-õ ö ÷ ø
-
-
-ù ú û ü
-
-
-ý þ ÿ
+
   
@@ -2835,17 +2647,15 @@ y z { |
0xBBR 0XCCS 0xDDT 0XEEU0xFFV0XaaW0xbbX0XccY0xddZ0Xee_0xffg0X00h0x11i0X22j0x33k0X44l0x55m0X66n0x77o0X88p0x99q0XAAr 0xBBs!0XCCt"0xDDu#0XEEv$0xFFw%0Xaax&0xbby'0Xccz(0xddG)0XeeH*0xffI+0X00J,0x11K-0X22L.0x33M/0X44N:0x55O;0X66P<0x77Q=0X88R>0x99S?0XAAT@0xBBU[0XCCV\0xDDW]0XEEX^0xFFY`0XaaZ{0xbb_|0Xccg}0xddh~0Xeei0xffj€0X00k0x11l‚0X22mƒ0x33n„0X44o…0x55p†0X66q‡0x77rˆ0X88s‰0x99tŠ0XAAu‹0xBBvŒ0XCCw0xDDxŽ0XEEy0xFFz0XaaG‘0xbbH’0XccI“0xddJ”0XeeK•0xffL–0X00M—0x11N˜0X22O™0x33Pš0X44Q›0x55Rœ0X66S0x77Tž0X88UŸ0x99V 0XAAW¡0xBBX¢0XCCY£0xDDZ¤0XEE_¥0xFFg¦0Xaah§0xbbi¨0Xccj©0xddkª0Xeel«0xffm¬0X00n­0x11o®0X22p¯0x33q°0X44r±0x55s²0X66t³0x77u´0X88vµ0x99w¶0XAAx·0xBBy¸0XCCz¹0xDDGº0XEEH»0xFFI¼0XaaJ½0xbbK¾0XccL¿0xddMÀ0XeeNÁ0xffOÂ0X00PÃ0x11QÄ0X22RÅ0x33SÆ0X44TÇ0x55UÈ0X66VÉ0x77WÊ0X88XË0x99YÌ0XAAZÍ0xBB_Î0XCCgÏ0xDDhÐ0XEEiÑ0xFFjÒ0XaakÓ0xbblÔ0XccmÕ0xddnÖ0Xeeo×0xffpØ0X00qÙ0x11rÚ0X22sÛ0x33tÜ0X44uÝ0x55vÞ0X66wß0x77xà0X88yá0x99zâ0XAAGã0xBBHä0XCCIå0xDDJæ0XEEKç0xFFLè0XaaMé0xbbNê0XccOë0xddPì0XeeQí0xffRî0X00Sï0x11Tð0X22Uñ0x33Vò0X44Wó0x55Xô0X66Yõ0x77Zö0X88_÷0x99gø0XAAhù0xBBiú0XCCjû0xDDkü0XEElý0xFFmþ0Xaanÿ0X0
0xB 0XC 0xD 0XE0xF0Xa0xb0Xc0xd0Xe0xf0X00x10X20x30X40x50X60x70X80x90XA 0xB!0XC"0xD#0XE$0xF%0Xa&0xb'0Xc(0xd)0Xe*0xf+0X0,0x1-0X2.0x3/0X4:0x5;0X6<0x7=0X8>0x9?0XA@0xB[0XC\0xD]0XE^0xF`0Xa{0xb|0Xc}0xd~0Xe0xf€0X00x1‚0X2ƒ0x3„0X4…0x5†0X6‡0x7ˆ0X8‰0x9Š0XA‹0xBŒ0XC0xDŽ0XE0xF0Xa‘0xb’0Xc“0xd”0Xe•0xf–0X0—0x1˜0X2™0x3š0X4›0x5œ0X60x7ž0X8Ÿ0x9 0XA¡0xB¢0XC£0xD¤0XE¥0xF¦0Xa§0xb¨0Xc©0xdª0Xe«0xf¬0X0­0x1®0X2¯0x3°0X4±0x5²0X6³0x7´0X8µ0x9¶0XA·0xB¸0XC¹0xDº0XE»0xF¼0Xa½0xb¾0Xc¿0xdÀ0XeÁ0xfÂ0X0Ã0x1Ä0X2Å0x3Æ0X4Ç0x5È0X6É0x7Ê0X8Ë0x9Ì0XAÍ0xBÎ0XCÏ0xDÐ0XEÑ0xFÒ0XaÓ0xbÔ0XcÕ0xdÖ0Xe×0xfØ0X0Ù0x1Ú0X2Û0x3Ü0X4Ý0x5Þ0X6ß0x7à0X8á0x9â0XAã0xBä0XCå0xDæ0XEç0xFè0Xaé0xbê0Xcë0xdì0Xeí0xfî0X0ï0x1ð0X2ñ0x3ò0X4ó0x5ô0X6õ0x7ö0X8÷0x9ø0XAù0xBú0XCû0xDü0XEý0xFþ0Xaÿ0X
0x 0X 0x 0X0x0X0x0X0x0X0x0X0x0X0x0X0x0X0x0X0x0X 0x!0X"0x#0X$0x%0X&0x'0X(0x)0X*0x+0X,0x-0X.0x/0X:0x;0X<0x=0X>0x?0X@0x[0X\0x]0X^0x`0X{0x|0X}0x~0X0x€0X0x‚0Xƒ0x„0X…0x†0X‡0xˆ0X‰0xŠ0X‹0xŒ0X0xŽ0X0x0X‘0x’0X“0x”0X•0x–0X—0x˜0X™0xš0X›0xœ0X0xž0XŸ0x 0X¡0x¢0X£0x¤0X¥0x¦0X§0x¨0X©0xª0X«0x¬0X­0x®0X¯0x°0X±0x²0X³0x´0Xµ0x¶0X·0x¸0X¹0xº0X»0x¼0X½0x¾0X¿0xÀ0XÁ0xÂ0XÃ0xÄ0XÅ0xÆ0XÇ0xÈ0XÉ0xÊ0XË0xÌ0XÍ0xÎ0XÏ0xÐ0XÑ0xÒ0XÓ0xÔ0XÕ0xÖ0X×0xØ0XÙ0xÚ0XÛ0xÜ0XÝ0xÞ0Xß0xà0Xá0xâ0Xã0xä0Xå0xæ0Xç0xè0Xé0xê0Xë0xì0Xí0xî0Xï0xð0Xñ0xò0Xó0xô0Xõ0xö0X÷0xø0Xù0xú0Xû0xü0Xý0xþ0Xÿ0
-0 0 0 0000000000000000000 0!0"0#0$0%0&0'0(0)0*0+0,0-0/0:0;0<0=0>0?0@0[0\0]0^0`0{0|0}0~00€00‚0ƒ0„0…0†0‡0ˆ0‰0Š0‹0Œ00Ž000‘0’0“0”0•0–0—0˜0™0š0›0œ00ž0Ÿ0 0¡0¢0£0¤0¥0¦0§0¨0©0ª0«0¬0­0®0¯0°0±0²0³0´0µ0¶0·0¸0¹0º0»0¼0½0¾0¿0À0Á0Â0Ã0Ä0Å0Æ0Ç0È0É0Ê0Ë0Ì0Í0Î0Ï0Ð0Ñ0Ò0Ó0Ô0Õ0Ö0×0Ø0Ù0Ú0Û0Ü0Ý0Þ0ß0à0á0â0ã0ä0å0æ0ç0è0é0ê0ë0ì0í0î0ï0ð0ñ0ò0ó0ô0õ0ö0÷0ø0ù0ú0û0ü0ý0þ0ÿ1.0E+0
-3.1e-1 4.2E+2 5.3e-3 6.4E+47.5e-58.6E+69.7e-71.8E+82.9e-93.0E+04.1e-15.2E+26.3e-37.4E+48.5e-59.6E+61.7e-72.8E+83.9e-94.0E+05.1e-16.2E+2 7.3e-3!8.4E+4"9.5e-5#1.6E+6$2.7e-7%3.8E+8&4.9e-9'5.0E+0(6.1e-1)7.2E+2*8.3e-3+9.4E+4,1.5e-5-2.6E+6.3.7e-7/4.8E+8:5.9e-9;6.0E+0<7.1e-1=8.2E+2>9.3e-3?1.4E+4@2.5e-5A3.6E+6B4.7e-7C5.8E+8D6.9e-9E7.0E+0F8.1e-1G9.2E+2H1.3e-3I2.4E+4J3.5e-5K4.6E+6L5.7e-7M6.8E+8N7.9e-9O8.0E+0P9.1e-1Q1.2E+2R2.3e-3S3.4E+4T4.5e-5U5.6E+6V6.7e-7W7.8E+8X8.9e-9Y9.0E+0Z1.1e-1[2.2E+2\3.3e-3]4.4E+4^5.5e-5_6.6E+6`7.7e-7a8.8E+8b9.9e-9c1.0E+0d2.1e-1e3.2E+2f4.3e-3g5.4E+4h6.5e-5i7.6E+6j8.7e-7k9.8E+8l1.9e-9m2.0E+0n3.1e-1o4.2E+2p5.3e-3q6.4E+4r7.5e-5s8.6E+6t9.7e-7u1.8E+8v2.9e-9w3.0E+0x4.1e-1y5.2E+2z6.3e-3{7.4E+4|8.5e-5}9.6E+6~1.7e-72.8E+8€3.9e-94.0E+0‚5.1e-1ƒ6.2E+2„7.3e-3…8.4E+4†9.5e-5‡1.6E+6ˆ2.7e-7‰3.8E+8Š4.9e-9‹5.0E+0Œ6.1e-17.2E+2Ž8.3e-39.4E+41.5e-5‘2.6E+6’3.7e-7“4.8E+8”5.9e-9•6.0E+0–7.1e-1—8.2E+2˜9.3e-3™1.4E+4š2.5e-5›3.6E+6œ4.7e-75.8E+8ž6.9e-9Ÿ7.0E+0 8.1e-1¡9.2E+2¢1.3e-3£2.4E+4¤3.5e-5¥4.6E+6¦5.7e-7§6.8E+8¨7.9e-9©8.0E+0ª9.1e-1«1.2E+2¬2.3e-3­3.4E+4®4.5e-5¯5.6E+6°6.7e-7±7.8E+8²8.9e-9³9.0E+0´1.1e-1µ2.2E+2¶3.3e-3·4.4E+4¸5.5e-5¹6.6E+6º7.7e-7»8.8E+8¼9.9e-9½1.0E+0¾2.1e-1¿3.2E+2À4.3e-3Á5.4E+4Â6.5e-5Ã7.6E+6Ä8.7e-7Å9.8E+8Æ1.9e-9Ç2.0E+0È3.1e-1É4.2E+2Ê5.3e-3Ë6.4E+4Ì7.5e-5Í8.6E+6Î9.7e-7Ï1.8E+8Ð2.9e-9Ñ3.0E+0Ò4.1e-1Ó5.2E+2Ô6.3e-3Õ7.4E+4Ö8.5e-5×9.6E+6Ø1.7e-7Ù2.8E+8Ú3.9e-9Û4.0E+0Ü5.1e-1Ý6.2E+2Þ7.3e-3ß8.4E+4à9.5e-5á1.6E+6â2.7e-7ã3.8E+8ä4.9e-9å5.0E+0æ6.1e-1ç7.2E+2è8.3e-3é9.4E+4ê1.5e-5ë2.6E+6ì3.7e-7í4.8E+8î5.9e-9ï6.0E+0ð7.1e-1ñ8.2E+2ò9.3e-3ó1.4E+4ô2.5e-5õ3.6E+6ö4.7e-7÷5.8E+8ø6.9e-9ù7.0E+0ú8.1e-1û9.2E+2ü1.3e-3ý2.4E+4þ3.5e-5ÿ1A
-3M 4N 5O 6P7Q8R9S1T2U3V4W5X6Y7Z8_9a1b2c3d4f5g6h 7i!8j"9k#1l$2m%3n&4o'5p(6q)7r*8s+9t,1u-2v.3w/4x:5y;6z<7A=8B>9C?1D@2F[3G\4H]5I^6J`7K{8L|9M}1N~2O3P€4Q5R‚6Sƒ7T„8U…9V†1W‡2Xˆ3Y‰4ZŠ5_‹6aŒ7b8cŽ9d1f2g‘3h’4i“5j”6k•7l–8m—9n˜1o™2pš3q›4rœ5s6tž7uŸ8v 9w¡1x¢2y£3z¤4A¥5B¦6C§7D¨8F©9Gª1H«2I¬3J­4K®5L¯6M°7N±8O²9P³1Q´2Rµ3S¶4T·5U¸6V¹7Wº8X»9Y¼1Z½2_¾3a¿4bÀ5cÁ6dÂ7fÃ8gÄ9hÅ1iÆ2jÇ3kÈ4lÉ5mÊ6nË7oÌ8pÍ9qÎ1rÏ2sÐ3tÑ4uÒ5vÓ6wÔ7xÕ8yÖ9z×1AØ2BÙ3CÚ4DÛ5FÜ6GÝ7HÞ8Iß9Jà1Ká2Lâ3Mã4Nä5Oå6Pæ7Qç8Rè9Sé1Tê2Uë3Vì4Wí5Xî6Yï7Zð8_ñ9aò1bó2cô3dõ4fö5g÷6hø7iù8jú9kû1lü2mý3nþ4oÿ1EA
-3eL 4EM 5eN 6EO7eP8EQ9eR1ES2eT3EU4eV5EW6eX7EY8eZ9E_1ea2Eb3ec4Ed5ee6Ef 7eg!8Eh"9ei#1Ej$2ek%3El&4em'5En(6eo)7Ep*8eq+9Er,1es-2Et.3eu/4Ev:5ew;6Ex<7ey=8Ez>9eA?1EB@2eC[3ED\4eE]5EF^6eG`7EH{8eI|9EJ}1eK~2EL3eM€4EN5eO‚6EPƒ7eQ„8ER…9eS†1ET‡2eUˆ3EV‰4eWŠ5EX‹6eYŒ7EZ8e_Ž9Ea1eb2Ec‘3ed’4Ee“5ef”6Eg•7eh–8Ei—9ej˜1Ek™2elš3Em›4enœ5Eo6epž7EqŸ8er 9Es¡1et¢2Eu£3ev¤4Ew¥5ex¦6Ey§7ez¨8EA©9eBª1EC«2eD¬3EE­4eF®5EG¯6eH°7EI±8eJ²9EK³1eL´2EMµ3eN¶4EO·5eP¸6EQ¹7eRº8ES»9eT¼1EU½2eV¾3EW¿4eXÀ5EYÁ6eZÂ7E_Ã8eaÄ9EbÅ1ecÆ2EdÇ3eeÈ4EfÉ5egÊ6EhË7eiÌ8EjÍ9ekÎ1ElÏ2emÐ3EnÑ4eoÒ5EpÓ6eqÔ7ErÕ8esÖ9Et×1euØ2EvÙ3ewÚ4ExÛ5eyÜ6EzÝ7eAÞ8EBß9eCà1EDá2eEâ3EFã4eGä5EHå6eIæ7EJç8eKè9ELé1eMê2ENë3eOì4EPí5eQî6ERï7eSð8ETñ9eUò1EVó2eWô3EXõ4eYö5EZ÷6e_ø7Eaù8ebú9Ecû1edü2Eeý3efþ4Egÿ10.0E+0
+0 0 0 0000000000000000000 0!0"0#0$0%0&0'0(0)0*0+0,0-0/0:0;0<0=0>0?0@0[0\0]0^0`0{0|0}0~00€00‚0ƒ0„0…0†0‡0ˆ0‰0Š0‹0Œ00Ž000‘0’0“0”0•0–0—0˜0™0š0›0œ00ž0Ÿ0 0¡0¢0£0¤0¥0¦0§0¨0©0ª0«0¬0­0®0¯0°0±0²0³0´0µ0¶0·0¸0¹0º0»0¼0½0¾0¿0À0Á0Â0Ã0Ä0Å0Æ0Ç0È0É0Ê0Ë0Ì0Í0Î0Ï0Ð0Ñ0Ò0Ó0Ô0Õ0Ö0×0Ø0Ù0Ú0Û0Ü0Ý0Þ0ß0à0á0â0ã0ä0å0æ0ç0è0é0ê0ë0ì0í0î0ï0ð0ñ0ò0ó0ô0õ0ö0÷0ø0ù0ú0û0ü0ý0þ0ÿ10.0E+0
31.1e-1 42.2E+2 53.3e-3 64.4E+475.5e-586.6E+697.7e-718.8E+829.9e-930.0E+041.1e-152.2E+263.3e-374.4E+485.5e-596.6E+617.7e-728.8E+839.9e-940.0E+051.1e-162.2E+2 73.3e-3!84.4E+4"95.5e-5#16.6E+6$27.7e-7%38.8E+8&49.9e-9'50.0E+0(61.1e-1)72.2E+2*83.3e-3+94.4E+4,15.5e-5-26.6E+6.37.7e-7/48.8E+8:59.9e-9;60.0E+0<71.1e-1=82.2E+2>93.3e-3?14.4E+4@25.5e-5A36.6E+6B47.7e-7C58.8E+8D69.9e-9E70.0E+0F81.1e-1G92.2E+2H13.3e-3I24.4E+4J35.5e-5K46.6E+6L57.7e-7M68.8E+8N79.9e-9O80.0E+0P91.1e-1Q12.2E+2R23.3e-3S34.4E+4T45.5e-5U56.6E+6V67.7e-7W78.8E+8X89.9e-9Y90.0E+0Z11.1e-1[22.2E+2\33.3e-3]44.4E+4^55.5e-5_66.6E+6`77.7e-7a88.8E+8b99.9e-9c10.0E+0d21.1e-1e32.2E+2f43.3e-3g54.4E+4h65.5e-5i76.6E+6j87.7e-7k98.8E+8l19.9e-9m20.0E+0n31.1e-1o42.2E+2p53.3e-3q64.4E+4r75.5e-5s86.6E+6t97.7e-7u18.8E+8v29.9e-9w30.0E+0x41.1e-1y52.2E+2z63.3e-3{74.4E+4|85.5e-5}96.6E+6~17.7e-728.8E+8€39.9e-940.0E+0‚51.1e-1ƒ62.2E+2„73.3e-3…84.4E+4†95.5e-5‡16.6E+6ˆ27.7e-7‰38.8E+8Š49.9e-9‹50.0E+0Œ61.1e-172.2E+2Ž83.3e-394.4E+415.5e-5‘26.6E+6’37.7e-7“48.8E+8”59.9e-9•60.0E+0–71.1e-1—82.2E+2˜93.3e-3™14.4E+4š25.5e-5›36.6E+6œ47.7e-758.8E+8ž69.9e-9Ÿ70.0E+0 81.1e-1¡92.2E+2¢13.3e-3£24.4E+4¤35.5e-5¥46.6E+6¦57.7e-7§68.8E+8¨79.9e-9©80.0E+0ª91.1e-1«12.2E+2¬23.3e-3­34.4E+4®45.5e-5¯56.6E+6°67.7e-7±78.8E+8²89.9e-9³90.0E+0´11.1e-1µ22.2E+2¶33.3e-3·44.4E+4¸55.5e-5¹66.6E+6º77.7e-7»88.8E+8¼99.9e-9½10.0E+0¾21.1e-1¿32.2E+2À43.3e-3Á54.4E+4Â65.5e-5Ã76.6E+6Ä87.7e-7Å98.8E+8Æ19.9e-9Ç20.0E+0È31.1e-1É42.2E+2Ê53.3e-3Ë64.4E+4Ì75.5e-5Í86.6E+6Î97.7e-7Ï18.8E+8Ð29.9e-9Ñ30.0E+0Ò41.1e-1Ó52.2E+2Ô63.3e-3Õ74.4E+4Ö85.5e-5×96.6E+6Ø17.7e-7Ù28.8E+8Ú39.9e-9Û40.0E+0Ü51.1e-1Ý62.2E+2Þ73.3e-3ß84.4E+4à95.5e-5á16.6E+6â27.7e-7ã38.8E+8ä49.9e-9å50.0E+0æ61.1e-1ç72.2E+2è83.3e-3é94.4E+4ê15.5e-5ë26.6E+6ì37.7e-7í48.8E+8î59.9e-9ï60.0E+0ð71.1e-1ñ82.2E+2ò93.3e-3ó14.4E+4ô25.5e-5õ36.6E+6ö47.7e-7÷58.8E+8ø69.9e-9ù70.0E+0ú81.1e-1û92.2E+2ü13.3e-3ý24.4E+4þ35.5e-5ÿ10A
31M 42N 53O 64P75Q86R97S18T29U30V41W52X63Y74Z85_96a17b28c39d40f51g62h 73i!84j"95k#16l$27m%38n&49o'50p(61q)72r*83s+94t,15u-26v.37w/48x:59y;60z<71A=82B>93C?14D@25F[36G\47H]58I^69J`70K{81L|92M}13N~24O35P€46Q57R‚68Sƒ79T„80U…91V†12W‡23Xˆ34Y‰45ZŠ56_‹67aŒ78b89cŽ90d11f22g‘33h’44i“55j”66k•77l–88m—99n˜10o™21pš32q›43rœ54s65tž76uŸ87v 98w¡19x¢20y£31z¤42A¥53B¦64C§75D¨86F©97Gª18H«29I¬30J­41K®52L¯63M°74N±85O²96P³17Q´28Rµ39S¶40T·51U¸62V¹73Wº84X»95Y¼16Z½27_¾38a¿49bÀ50cÁ61dÂ72fÃ83gÄ94hÅ15iÆ26jÇ37kÈ48lÉ59mÊ60nË71oÌ82pÍ93qÎ14rÏ25sÐ36tÑ47uÒ58vÓ69wÔ70xÕ81yÖ92z×13AØ24BÙ35CÚ46DÛ57FÜ68GÝ79HÞ80Iß91Jà12Ká23Lâ34Mã45Nä56Oå67Pæ78Qç89Rè90Sé11Tê22Uë33Vì44Wí55Xî66Yï77Zð88_ñ99aò10bó21cô32dõ43fö54g÷65hø76iù87jú98kû19lü20mý31nþ42oÿ10EA
-31eL 42EM 53eN 64EO75eP86EQ97eR18ES29eT30EU41eV52EW63eX74EY85eZ96E_17ea28Eb39ec40Ed51ee62Ef 73eg!84Eh"95ei#16Ej$27ek%38El&49em'50En(61eo)72Ep*83eq+94Er,15es-26Et.37eu/48Ev:59ew;60Ex<71ey=82Ez>93eA?14EB@25eC[36ED\47eE]58EF^69eG`70EH{81eI|92EJ}13eK~24EL35eM€46EN57eO‚68EPƒ79eQ„80ER…91eS†12ET‡23eUˆ34EV‰45eWŠ56EX‹67eYŒ78EZ89e_Ž90Ea11eb22Ec‘33ed’44Ee“55ef”66Eg•77eh–88Ei—99ej˜10Ek™21elš32Em›43enœ54Eo65epž76EqŸ87er 98Es¡19et¢20Eu£31ev¤42Ew¥53ex¦64Ey§75ez¨86EA©97eBª18EC«29eD¬30EE­41eF®52EG¯63eH°74EI±85eJ²96EK³17eL´28EMµ39eN¶40EO·51eP¸62EQ¹73eRº84ES»95eT¼16EU½27eV¾38EW¿49eXÀ50EYÁ61eZÂ72E_Ã83eaÄ94EbÅ15ecÆ26EdÇ37eeÈ48EfÉ59egÊ60EhË71eiÌ82EjÍ93ekÎ14ElÏ25emÐ36EnÑ47eoÒ58EpÓ69eqÔ70ErÕ81esÖ92Et×13euØ24EvÙ35ewÚ46ExÛ57eyÜ68EzÝ79eAÞ80EBß91eCà12EDá23eEâ34EFã45eGä56EHå67eIæ78EJç89eKè90ELé11eMê22ENë33eOì44EPí55eQî66ERï77eSð88ETñ99eUò10EVó21eWô32EXõ43eYö54EZ÷65e_ø76Eaù87ebú98Ecû19edü20Eeý31efþ42Egÿ100.0E+0
-311.1e-1 422.2E+2 533.3e-3 644.4E+4755.5e-5866.6E+6977.7e-7188.8E+8299.9e-9300.0E+0411.1e-1522.2E+2633.3e-3744.4E+4855.5e-5966.6E+6177.7e-7288.8E+8399.9e-9400.0E+0511.1e-1622.2E+2 733.3e-3!844.4E+4"955.5e-5#166.6E+6$277.7e-7%388.8E+8&499.9e-9'500.0E+0(611.1e-1)722.2E+2*833.3e-3+944.4E+4,155.5e-5-266.6E+6.377.7e-7/488.8E+8:599.9e-9;600.0E+0<711.1e-1=822.2E+2>933.3e-3?144.4E+4@255.5e-5A366.6E+6B477.7e-7C588.8E+8D699.9e-9E700.0E+0F811.1e-1G922.2E+2H133.3e-3I244.4E+4J355.5e-5K466.6E+6L577.7e-7M688.8E+8N799.9e-9O800.0E+0P911.1e-1Q122.2E+2R233.3e-3S344.4E+4T455.5e-5U566.6E+6V677.7e-7W788.8E+8X899.9e-9Y900.0E+0Z111.1e-1[222.2E+2\333.3e-3]444.4E+4^555.5e-5_666.6E+6`777.7e-7a888.8E+8b999.9e-9c100.0E+0d211.1e-1e322.2E+2f433.3e-3g544.4E+4h655.5e-5i766.6E+6j877.7e-7k988.8E+8l199.9e-9m200.0E+0n311.1e-1o422.2E+2p533.3e-3q644.4E+4r755.5e-5s866.6E+6t977.7e-7u188.8E+8v299.9e-9w300.0E+0x411.1e-1y522.2E+2z633.3e-3{744.4E+4|855.5e-5}966.6E+6~177.7e-7288.8E+8€399.9e-9400.0E+0‚511.1e-1ƒ622.2E+2„733.3e-3…844.4E+4†955.5e-5‡166.6E+6ˆ277.7e-7‰388.8E+8Š499.9e-9‹500.0E+0Œ611.1e-1722.2E+2Ž833.3e-3944.4E+4155.5e-5‘266.6E+6’377.7e-7“488.8E+8”599.9e-9•600.0E+0–711.1e-1—822.2E+2˜933.3e-3™144.4E+4š255.5e-5›366.6E+6œ477.7e-7588.8E+8ž699.9e-9Ÿ700.0E+0 811.1e-1¡922.2E+2¢133.3e-3£244.4E+4¤355.5e-5¥466.6E+6¦577.7e-7§688.8E+8¨799.9e-9©800.0E+0ª911.1e-1«122.2E+2¬233.3e-3­344.4E+4®455.5e-5¯566.6E+6°677.7e-7±788.8E+8²899.9e-9³900.0E+0´111.1e-1µ222.2E+2¶333.3e-3·444.4E+4¸555.5e-5¹666.6E+6º777.7e-7»888.8E+8¼999.9e-9½100.0E+0¾211.1e-1¿322.2E+2À433.3e-3Á544.4E+4Â655.5e-5Ã766.6E+6Ä877.7e-7Å988.8E+8Æ199.9e-9Ç200.0E+0È311.1e-1É422.2E+2Ê533.3e-3Ë644.4E+4Ì755.5e-5Í866.6E+6Î977.7e-7Ï188.8E+8Ð299.9e-9Ñ300.0E+0Ò411.1e-1Ó522.2E+2Ô633.3e-3Õ744.4E+4Ö855.5e-5×966.6E+6Ø177.7e-7Ù288.8E+8Ú399.9e-9Û400.0E+0Ü511.1e-1Ý622.2E+2Þ733.3e-3ß844.4E+4à955.5e-5á166.6E+6â277.7e-7ã388.8E+8ä499.9e-9å500.0E+0æ611.1e-1ç722.2E+2è833.3e-3é944.4E+4ê155.5e-5ë266.6E+6ì377.7e-7í488.8E+8î599.9e-9ï600.0E+0ð711.1e-1ñ822.2E+2ò933.3e-3ó144.4E+4ô255.5e-5õ366.6E+6ö477.7e-7÷588.8E+8ø699.9e-9ù700.0E+0ú811.1e-1û922.2E+2ü133.3e-3ý244.4E+4þ355.5e-5ÿ10
-31 42 53 64758697182930415263748596172839405162 73!84"95#16$27%38&49'50(61)72*83+94,15-26/37:48;59<60=71>82?93@14[25\36]47^58`69{70|81}92~1324€3546‚57ƒ68„79…80†91‡12ˆ23‰34Š45‹56Œ6778Ž899011‘22’33“44”55•66–77—88˜99™10š21›32œ4354ž65Ÿ76 87¡98¢19£20¤31¥42¦53§64¨75©86ª97«18¬29­30®41¯52°63±74²85³96´17µ28¶39·40¸51¹62º73»84¼95½16¾27¿38À49Á50Â61Ã72Ä83Å94Æ15Ç26È37É48Ê59Ë60Ì71Í82Î93Ï14Ð25Ñ36Ò47Ó58Ô69Õ70Ö81×92Ø13Ù24Ú35Û46Ü57Ý68Þ79ß80à91á12â23ã34ä45å56æ67ç78è89é90ê11ë22ì33í44î55ï66ð77ñ88ò99ó10ô21õ32ö43÷54ø65ù76ú87û98ü19ý20þ31ÿ1
-3 4 5 6789123456789123456 7!8"9#1$2%3&4'5(6)7*8+9,1-2/3:4;5<6=7>8?9@1[2\3]4^5`6{7|8}9~12€34‚5ƒ6„7…8†9‡1ˆ2‰3Š4‹5Œ67Ž891‘2’3“4”5•6–7—8˜9™1š2›3œ45ž6Ÿ7 8¡9¢1£2¤3¥4¦5§6¨7©8ª9«1¬2­3®4¯5°6±7²8³9´1µ2¶3·4¸5¹6º7»8¼9½1¾2¿3À4Á5Â6Ã7Ä8Å9Æ1Ç2È3É4Ê5Ë6Ì7Í8Î9Ï1Ð2Ñ3Ò4Ó5Ô6Õ7Ö8×9Ø1Ù2Ú3Û4Ü5Ý6Þ7ß8à9á1â2ã3ä4å5æ6ç7è8é9ê1ë2ì3í4î5ï6ð7ñ8ò9ó1ô2õ3ö4÷5ø6ù7ú8û9ü1ý2þ3ÿ:=A00
-LBB MCC NDD OEEPFFQGGRHHSIITJJUKKVLLWMMXNNYOOZPP_QQaRRbSScTTdUUeVVgWW hXX!iYY"jZZ#k__$laa%mbb&occ'pdd(qee)rff*sgg+uhh,vii-wjj.xkk/yll:zmm;Ann<Boo=Cpp>Dqq?Err@Fss[Gtt\Huu]Ivv^Jww`Kxx{Lyy|Mzz}N00~O11P22€Q33R44‚S55ƒT66„U77…V88†W99‡XAAˆYBB‰ZCCŠ_DD‹aEEŒbFFcGGŽdHHeIIgJJ‘hKK’iLL“jMM”kNN•lOO–mPP—oQQ˜pRR™qSSšrTT›sUUœuVVvWWžwXXŸxYY yZZ¡z__¢Aaa£Bbb¤Ccc¥Ddd¦Eee§Fff¨Ggg©HhhªIii«Jjj¬Kkk­Lll®Mmm¯Nnn°Ooo±Ppp²Qqq³Rrr´SssµTtt¶Uuu·Vvv¸Www¹XxxºYyy»Zzz¼_00½a11¾b22¿c33Àd44Áe55Âg66Ãh77Äi88Åj99ÆkAAÇlBBÈmCCÉoDDÊpEEËqFFÌrGGÍsHHÎuIIÏvJJÐwKKÑxLLÒyMMÓzNNÔAOOÕBPPÖCQQ×DRRØESSÙFTTÚGUUÛHVVÜIWWÝJXXÞKYYßLZZàM__áNaaâObbãPccäQddåReeæSffçTggèUhhéViiêWjjëXkkìYllíZmmî_nnïaooðbppñcqqòdrróessôgttõhuuöivv÷jwwøkxxùlyyúmzzûo00üp11ýq22þr33ÿA0
+31eL 42EM 53eN 64EO75eP86EQ97eR18ES29eT30EU41eV52EW63eX74EY85eZ96E_17ea28Eb39ec40Ed51ee62Ef 73eg!84Eh"95ei#16Ej$27ek%38El&49em'50En(61eo)72Ep*83eq+94Er,15es-26Et.37eu/48Ev:59ew;60Ex<71ey=82Ez>93eA?14EB@25eC[36ED\47eE]58EF^69eG`70EH{81eI|92EJ}13eK~24EL35eM€46EN57eO‚68EPƒ79eQ„80ER…91eS†12ET‡23eUˆ34EV‰45eWŠ56EX‹67eYŒ78EZ89e_Ž90Ea11eb22Ec‘33ed’44Ee“55ef”66Eg•77eh–88Ei—99ej˜10Ek™21elš32Em›43enœ54Eo65epž76EqŸ87er 98Es¡19et¢20Eu£31ev¤42Ew¥53ex¦64Ey§75ez¨86EA©97eBª18EC«29eD¬30EE­41eF®52EG¯63eH°74EI±85eJ²96EK³17eL´28EMµ39eN¶40EO·51eP¸62EQ¹73eRº84ES»95eT¼16EU½27eV¾38EW¿49eXÀ50EYÁ61eZÂ72E_Ã83eaÄ94EbÅ15ecÆ26EdÇ37eeÈ48EfÉ59egÊ60EhË71eiÌ82EjÍ93ekÎ14ElÏ25emÐ36EnÑ47eoÒ58EpÓ69eqÔ70ErÕ81esÖ92Et×13euØ24EvÙ35ewÚ46ExÛ57eyÜ68EzÝ79eAÞ80EBß91eCà12EDá23eEâ34EFã45eGä56EHå67eIæ78EJç89eKè90ELé11eMê22ENë33eOì44EPí55eQî66ERï77eSð88ETñ99eUò10EVó21eWô32EXõ43eYö54EZ÷65e_ø76Eaù87ebú98Ecû19edü20Eeý31efþ42Egÿ10
+31 42 53 64758697182930415263748596172839405162 73!84"95#16$27%38&49'50(61)72*83+94,15-26/37:48;59<60=71>82?93@14[25\36]47^58`69{70|81}92~1324€3546‚57ƒ68„79…80†91‡12ˆ23‰34Š45‹56Œ6778Ž899011‘22’33“44”55•66–77—88˜99™10š21›32œ4354ž65Ÿ76 87¡98¢19£20¤31¥42¦53§64¨75©86ª97«18¬29­30®41¯52°63±74²85³96´17µ28¶39·40¸51¹62º73»84¼95½16¾27¿38À49Á50Â61Ã72Ä83Å94Æ15Ç26È37É48Ê59Ë60Ì71Í82Î93Ï14Ð25Ñ36Ò47Ó58Ô69Õ70Ö81×92Ø13Ù24Ú35Û46Ü57Ý68Þ79ß80à91á12â23ã34ä45å56æ67ç78è89é90ê11ë22ì33í44î55ï66ð77ñ88ò99ó10ô21õ32ö43÷54ø65ù76ú87û98ü19ý20þ31ÿ1.0E+0
+3.1e-1 4.2E+2 5.3e-3 6.4E+47.5e-58.6E+69.7e-71.8E+82.9e-93.0E+04.1e-15.2E+26.3e-37.4E+48.5e-59.6E+61.7e-72.8E+83.9e-94.0E+05.1e-16.2E+2 7.3e-3!8.4E+4"9.5e-5#1.6E+6$2.7e-7%3.8E+8&4.9e-9'5.0E+0(6.1e-1)7.2E+2*8.3e-3+9.4E+4,1.5e-5-2.6E+6.3.7e-7/4.8E+8:5.9e-9;6.0E+0<7.1e-1=8.2E+2>9.3e-3?1.4E+4@2.5e-5A3.6E+6B4.7e-7C5.8E+8D6.9e-9E7.0E+0F8.1e-1G9.2E+2H1.3e-3I2.4E+4J3.5e-5K4.6E+6L5.7e-7M6.8E+8N7.9e-9O8.0E+0P9.1e-1Q1.2E+2R2.3e-3S3.4E+4T4.5e-5U5.6E+6V6.7e-7W7.8E+8X8.9e-9Y9.0E+0Z1.1e-1[2.2E+2\3.3e-3]4.4E+4^5.5e-5_6.6E+6`7.7e-7a8.8E+8b9.9e-9c1.0E+0d2.1e-1e3.2E+2f4.3e-3g5.4E+4h6.5e-5i7.6E+6j8.7e-7k9.8E+8l1.9e-9m2.0E+0n3.1e-1o4.2E+2p5.3e-3q6.4E+4r7.5e-5s8.6E+6t9.7e-7u1.8E+8v2.9e-9w3.0E+0x4.1e-1y5.2E+2z6.3e-3{7.4E+4|8.5e-5}9.6E+6~1.7e-72.8E+8€3.9e-94.0E+0‚5.1e-1ƒ6.2E+2„7.3e-3…8.4E+4†9.5e-5‡1.6E+6ˆ2.7e-7‰3.8E+8Š4.9e-9‹5.0E+0Œ6.1e-17.2E+2Ž8.3e-39.4E+41.5e-5‘2.6E+6’3.7e-7“4.8E+8”5.9e-9•6.0E+0–7.1e-1—8.2E+2˜9.3e-3™1.4E+4š2.5e-5›3.6E+6œ4.7e-75.8E+8ž6.9e-9Ÿ7.0E+0 8.1e-1¡9.2E+2¢1.3e-3£2.4E+4¤3.5e-5¥4.6E+6¦5.7e-7§6.8E+8¨7.9e-9©8.0E+0ª9.1e-1«1.2E+2¬2.3e-3­3.4E+4®4.5e-5¯5.6E+6°6.7e-7±7.8E+8²8.9e-9³9.0E+0´1.1e-1µ2.2E+2¶3.3e-3·4.4E+4¸5.5e-5¹6.6E+6º7.7e-7»8.8E+8¼9.9e-9½1.0E+0¾2.1e-1¿3.2E+2À4.3e-3Á5.4E+4Â6.5e-5Ã7.6E+6Ä8.7e-7Å9.8E+8Æ1.9e-9Ç2.0E+0È3.1e-1É4.2E+2Ê5.3e-3Ë6.4E+4Ì7.5e-5Í8.6E+6Î9.7e-7Ï1.8E+8Ð2.9e-9Ñ3.0E+0Ò4.1e-1Ó5.2E+2Ô6.3e-3Õ7.4E+4Ö8.5e-5×9.6E+6Ø1.7e-7Ù2.8E+8Ú3.9e-9Û4.0E+0Ü5.1e-1Ý6.2E+2Þ7.3e-3ß8.4E+4à9.5e-5á1.6E+6â2.7e-7ã3.8E+8ä4.9e-9å5.0E+0æ6.1e-1ç7.2E+2è8.3e-3é9.4E+4ê1.5e-5ë2.6E+6ì3.7e-7í4.8E+8î5.9e-9ï6.0E+0ð7.1e-1ñ8.2E+2ò9.3e-3ó1.4E+4ô2.5e-5õ3.6E+6ö4.7e-7÷5.8E+8ø6.9e-9ù7.0E+0ú8.1e-1û9.2E+2ü1.3e-3ý2.4E+4þ3.5e-5ÿ1A
+3M 4N 5O 6P7Q8R9S1T2U3V4W5X6Y7Z8_9a1b2c3d4f5g6h 7i!8j"9k#1l$2m%3n&4o'5p(6q)7r*8s+9t,1u-2v.3w/4x:5y;6z<7A=8B>9C?1D@2F[3G\4H]5I^6J`7K{8L|9M}1N~2O3P€4Q5R‚6Sƒ7T„8U…9V†1W‡2Xˆ3Y‰4ZŠ5_‹6aŒ7b8cŽ9d1f2g‘3h’4i“5j”6k•7l–8m—9n˜1o™2pš3q›4rœ5s6tž7uŸ8v 9w¡1x¢2y£3z¤4A¥5B¦6C§7D¨8F©9Gª1H«2I¬3J­4K®5L¯6M°7N±8O²9P³1Q´2Rµ3S¶4T·5U¸6V¹7Wº8X»9Y¼1Z½2_¾3a¿4bÀ5cÁ6dÂ7fÃ8gÄ9hÅ1iÆ2jÇ3kÈ4lÉ5mÊ6nË7oÌ8pÍ9qÎ1rÏ2sÐ3tÑ4uÒ5vÓ6wÔ7xÕ8yÖ9z×1AØ2BÙ3CÚ4DÛ5FÜ6GÝ7HÞ8Iß9Jà1Ká2Lâ3Mã4Nä5Oå6Pæ7Qç8Rè9Sé1Tê2Uë3Vì4Wí5Xî6Yï7Zð8_ñ9aò1bó2cô3dõ4fö5g÷6hø7iù8jú9kû1lü2mý3nþ4oÿ1EA
+3eL 4EM 5eN 6EO7eP8EQ9eR1ES2eT3EU4eV5EW6eX7EY8eZ9E_1ea2Eb3ec4Ed5ee6Ef 7eg!8Eh"9ei#1Ej$2ek%3El&4em'5En(6eo)7Ep*8eq+9Er,1es-2Et.3eu/4Ev:5ew;6Ex<7ey=8Ez>9eA?1EB@2eC[3ED\4eE]5EF^6eG`7EH{8eI|9EJ}1eK~2EL3eM€4EN5eO‚6EPƒ7eQ„8ER…9eS†1ET‡2eUˆ3EV‰4eWŠ5EX‹6eYŒ7EZ8e_Ž9Ea1eb2Ec‘3ed’4Ee“5ef”6Eg•7eh–8Ei—9ej˜1Ek™2elš3Em›4enœ5Eo6epž7EqŸ8er 9Es¡1et¢2Eu£3ev¤4Ew¥5ex¦6Ey§7ez¨8EA©9eBª1EC«2eD¬3EE­4eF®5EG¯6eH°7EI±8eJ²9EK³1eL´2EMµ3eN¶4EO·5eP¸6EQ¹7eRº8ES»9eT¼1EU½2eV¾3EW¿4eXÀ5EYÁ6eZÂ7E_Ã8eaÄ9EbÅ1ecÆ2EdÇ3eeÈ4EfÉ5egÊ6EhË7eiÌ8EjÍ9ekÎ1ElÏ2emÐ3EnÑ4eoÒ5EpÓ6eqÔ7ErÕ8esÖ9Et×1euØ2EvÙ3ewÚ4ExÛ5eyÜ6EzÝ7eAÞ8EBß9eCà1EDá2eEâ3EFã4eGä5EHå6eIæ7EJç8eKè9ELé1eMê2ENë3eOì4EPí5eQî6ERï7eSð8ETñ9eUò1EVó2eWô3EXõ4eYö5EZ÷6e_ø7Eaù8ebú9Ecû1edü2Eeý3efþ4Egÿ1
+3 4 5 6789123456789123456 7!8"9#1$2%3&4'5(6)7*8+9,1-2/3:4;5<6=7>8?9@1[2\3]4^5`6{7|8}9~12€34‚5ƒ6„7…8†9‡1ˆ2‰3Š4‹5Œ67Ž891‘2’3“4”5•6–7—8˜9™1š2›3œ45ž6Ÿ7 8¡9¢1£2¤3¥4¦5§6¨7©8ª9«1¬2­3®4¯5°6±7²8³9´1µ2¶3·4¸5¹6º7»8¼9½1¾2¿3À4Á5Â6Ã7Ä8Å9Æ1Ç2È3É4Ê5Ë6Ì7Í8Î9Ï1Ð2Ñ3Ò4Ó5Ô6Õ7Ö8×9Ø1Ù2Ú3Û4Ü5Ý6Þ7ß8à9á1â2ã3ä4å5æ6ç7è8é9ê1ë2ì3í4î5ï6ð7ñ8ò9ó1ô2õ3ö4÷5ø6ù7ú8û9ü1ý2þ3ÿ:=A0
LB MC ND OEPFQGRHSITJUKVLWMXNYOZP_QaRbScTdUeVgW hX!iY"jZ#k_$la%mb&oc'pd(qe)rf*sg+uh,vi-wj.xk/yl:zm;An<Bo=Cp>Dq?Er@Fs[Gt\Hu]Iv^Jw`Kx{Ly|Mz}N0~O1P2€Q3R4‚S5ƒT6„U7…V8†W9‡XAˆYB‰ZCŠ_D‹aEŒbFcGŽdHeIgJ‘hK’iL“jM”kN•lO–mP—oQ˜pR™qSšrT›sUœuVvWžwXŸxY yZ¡z_¢Aa£Bb¤Cc¥Dd¦Ee§Ff¨Gg©HhªIi«Jj¬Kk­Ll®Mm¯Nn°Oo±Pp²Qq³Rr´SsµTt¶Uu·Vv¸Ww¹XxºYy»Zz¼_0½a1¾b2¿c3Àd4Áe5Âg6Ãh7Äi8Åj9ÆkAÇlBÈmCÉoDÊpEËqFÌrGÍsHÎuIÏvJÐwKÑxLÒyMÓzNÔAOÕBPÖCQ×DRØESÙFTÚGUÛHVÜIWÝJXÞKYßLZàM_áNaâObãPcäQdåReæSfçTgèUhéViêWjëXkìYlíZmî_nïaoðbpñcqòdróesôgtõhuöiv÷jwøkxùlyúmzûo0üp1ýq2þr3ÿA
L M N OPQRSTUVWXYZ_abcdeg h!i"j#k$l%m&o'p(q)r*s+u,v-w.x/y:z;A<B=C>D?E@F[G\H]I^J`K{L|M}N~OP€QR‚SƒT„U…V†W‡XˆY‰ZŠ_‹aŒbcŽdeg‘h’i“j”k•l–m—o˜p™qšr›sœuvžwŸx y¡z¢A£B¤C¥D¦E§F¨G©HªI«J¬K­L®M¯N°O±P²Q³R´SµT¶U·V¸W¹XºY»Z¼_½a¾b¿cÀdÁeÂgÃhÄiÅjÆkÇlÈmÉoÊpËqÌrÍsÎuÏvÐwÑxÒyÓzÔAÕBÖC×DØEÙFÚGÛHÜIÝJÞKßLàMáNâOãPäQåRæSçTèUéVêWëXìYíZî_ïaðbñcòdóeôgõhöi÷jøkùlúmûoüpýqþrÿ[]f0
fB fC fD fEfFfGfHfIfJfKfLfMfNfOfPfQfRfSfTfUfVfW fX!fY"fZ#f_$fb%fc&fd'fe(ff)fg*fh+fi,fj-fk.fl/fm:fn;fo<fp=fq>fr?fs@ft[fu\fv]fw^fx`fy{fz|f0}f1~f2f3€f4f5‚f6ƒf7„f8…f9†fA‡fBˆfC‰fDŠfE‹fFŒfGfHŽfIfJfK‘fL’fM“fN”fO•fP–fQ—fR˜fS™fTšfU›fVœfWfXžfYŸfZ f_¡fb¢fc£fd¤fe¥ff¦fg§fh¨fi©fjªfk«fl¬fm­fn®fo¯fp°fq±fr²fs³ft´fuµfv¶fw·fx¸fy¹fzºf0»f1¼f2½f3¾f4¿f5Àf6Áf7Âf8Ãf9ÄfAÅfBÆfCÇfDÈfEÉfFÊfGËfHÌfIÍfJÎfKÏfLÐfMÑfNÒfOÓfPÔfQÕfRÖfS×fTØfUÙfVÚfWÛfXÜfYÝfZÞf_ßfbàfcáfdâfeãffäfgåfhæfiçfjèfkéflêfmëfnìfoífpîfqïfrðfsñftòfuófvôfwõfxöfy÷fzøf0ùf1úf2ûf3üf4ýf5þf6ÿfa0
@@ -2873,7 +2683,7 @@ trueB trueC trueD trueEtrueFtrueGtrueHtrueItrueJtrueKtrueLtrueMtrueNtr
true true true truetruetruetruetruetruetruetruetruetruetruetruetruetruetruetruetruetruetrue true!true"true#true$true%true&true'true(true)true*true+true,true-true.true/true:true;true<true=true>true?true@true[true\true]true^true`true{true|true}true~truetrue€truetrue‚trueƒtrue„true…true†true‡trueˆtrue‰trueŠtrue‹trueŒtruetrueŽtruetruetrue‘true’true“true”true•true–true—true˜true™trueštrue›trueœtruetruežtrueŸtrue true¡true¢true£true¤true¥true¦true§true¨true©trueªtrue«true¬true­true®true¯true°true±true²true³true´trueµtrue¶true·true¸true¹trueºtrue»true¼true½true¾true¿trueÀtrueÁtrueÂtrueÃtrueÄtrueÅtrueÆtrueÇtrueÈtrueÉtrueÊtrueËtrueÌtrueÍtrueÎtrueÏtrueÐtrueÑtrueÒtrueÓtrueÔtrueÕtrueÖtrue×trueØtrueÙtrueÚtrueÛtrueÜtrueÝtrueÞtrueßtrueàtrueátrueâtrueãtrueätrueåtrueætrueçtrueètrueétrueêtrueëtrueìtrueítrueîtrueïtrueðtrueñtrueòtrueótrueôtrueõtrueötrue÷trueøtrueùtrueútrueûtrueütrueýtrueþtrueÿtru
tru tru tru trutrutrutrutrutrutrutrutrutrutrutrutrutrutrutrutrutrutru tru!tru"tru#tru$tru%tru&tru'tru(tru)tru*tru+tru,tru-tru.tru/tru:tru;tru<tru=tru>tru?tru@tru[tru\tru]tru^tru`tru{tru|tru}tru~trutru€trutru‚truƒtru„tru…tru†tru‡truˆtru‰truŠtru‹truŒtrutruŽtrutrutru‘tru’tru“tru”tru•tru–tru—tru˜tru™truštru›truœtrutružtruŸtru tru¡tru¢tru£tru¤tru¥tru¦tru§tru¨tru©truªtru«tru¬tru­tru®tru¯tru°tru±tru²tru³tru´truµtru¶tru·tru¸tru¹truºtru»tru¼tru½tru¾tru¿truÀtruÁtruÂtruÃtruÄtruÅtruÆtruÇtruÈtruÉtruÊtruËtruÌtruÍtruÎtruÏtruÐtruÑtruÒtruÓtruÔtruÕtruÖtru×truØtruÙtruÚtruÛtruÜtruÝtruÞtrußtruàtruátruâtruãtruätruåtruætruçtruètruétruêtruëtruìtruítruîtruïtruðtruñtruòtruótruôtruõtruötru÷truøtruùtruútruûtruütruýtruþtruÿtr
tr tr tr trtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtrtr tr!tr"tr#tr$tr%tr&tr'tr(tr)tr*tr+tr,tr-tr.tr/tr:tr;tr<tr=tr>tr?tr@tr[tr\tr]tr^tr`tr{tr|tr}tr~trtr€trtr‚trƒtr„tr…tr†tr‡trˆtr‰trŠtr‹trŒtrtrŽtrtrtr‘tr’tr“tr”tr•tr–tr—tr˜tr™trštr›trœtrtržtrŸtr tr¡tr¢tr£tr¤tr¥tr¦tr§tr¨tr©trªtr«tr¬tr­tr®tr¯tr°tr±tr²tr³tr´trµtr¶tr·tr¸tr¹trºtr»tr¼tr½tr¾tr¿trÀtrÁtrÂtrÃtrÄtrÅtrÆtrÇtrÈtrÉtrÊtrËtrÌtrÍtrÎtrÏtrÐtrÑtrÒtrÓtrÔtrÕtrÖtr×trØtrÙtrÚtrÛtrÜtrÝtrÞtrßtràtrátrâtrãträtråtrætrçtrètrétrêtrëtrìtrítrîtrïtrðtrñtròtrótrôtrõtrötr÷trøtrùtrútrûtrütrýtrþtrÿt
-t t t ttttttttttttttttttt t!t"t#t$t%t&t't(t)t*t+t,t-t.t/t:t;t<t=t>t?t@t[t\t]t^t`t{t|t}t~tt€tt‚tƒt„t…t†t‡tˆt‰tŠt‹tŒttŽttt‘t’t“t”t•t–t—t˜t™tšt›tœttžtŸt t¡t¢t£t¤t¥t¦t§t¨t©tªt«t¬t­t®t¯t°t±t²t³t´tµt¶t·t¸t¹tºt»t¼t½t¾t¿tÀtÁtÂtÃtÄtÅtÆtÇtÈtÉtÊtËtÌtÍtÎtÏtÐtÑtÒtÓtÔtÕtÖt×tØtÙtÚtÛtÜtÝtÞtßtàtátâtãtätåtætçtètétêtëtìtítîtïtðtñtòtótôtõtöt÷tøtùtútûtütýtþtÿ{}
+t t t ttttttttttttttttttt t!t"t#t$t%t&t't(t)t*t+t,t-t.t/t:t;t<t=t>t?t@t[t\t]t^t`t{t|t}t~tt€tt‚tƒt„t…t†t‡tˆt‰tŠt‹tŒttŽttt‘t’t“t”t•t–t—t˜t™tšt›tœttžtŸt t¡t¢t£t¤t¥t¦t§t¨t©tªt«t¬t­t®t¯t°t±t²t³t´tµt¶t·t¸t¹tºt»t¼t½t¾t¿tÀtÁtÂtÃtÄtÅtÆtÇtÈtÉtÊtËtÌtÍtÎtÏtÐtÑtÒtÓtÔtÕtÖt×tØtÙtÚtÛtÜtÝtÞtßtàtátâtãtätåtætçtètétêtëtìtítîtïtðtñtòtótôtõtöt÷tøtùtútûtütýtþtÿ{}



@@ -4816,10 +4626,7 @@ t t t ttttttttttttttttttt t!t"t#t$t%t&t't(t)t*t+t,t-t.t/t:t;t<



-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
-
-
-
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
@@ -4827,6 +4634,6 @@ t t t ttttttttttttttttttt t!t"t#t$t%t&t't(t)t*t+t,t-t.t/t:t;t<
\uBB \uCC \uDD \uEE\uFF\uaa\ubb\ucc\udd\uee\uff\u00\u11\u22\u33\u44\u55\u66\u77\u88\u99\uAA \uBB!\uCC"\uDD#\uEE$\uFF%\uaa&\ubb'\ucc(\udd)\uee*\uff+\u00,\u11-\u22.\u33/\u44:\u55;\u66<\u77=\u88>\u99?\uAA@\uBBG\uCCH\uDDI\uEEJ\uFFK\uaaL\ubbM\uccN\uddO\ueeP\uffQ\u00R\u11S\u22T\u33U\u44V\u55W\u66X\u77Y\u88Z\u99[\uAA\\uBB]\uCC^\uDD_\uEE`\uFFg\uaah\ubbi\uccj\uddk\ueel\uffm\u00n\u11o\u22p\u33q\u44r\u55s\u66t\u77u\u88v\u99w\uAAx\uBBy\uCCz\uDD{\uEE|\uFF}\uaa~\ubb\ucc€\udd\uee‚\uffƒ\u00„\u11…\u22†\u33‡\u44ˆ\u55‰\u66Š\u77‹\u88Œ\u99\uAAŽ\uBB\uCC\uDD‘\uEE’\uFF“\uaa”\ubb•\ucc–\udd—\uee˜\uff™\u00š\u11›\u22œ\u33\u44ž\u55Ÿ\u66 \u77¡\u88¢\u99£\uAA¤\uBB¥\uCC¦\uDD§\uEE¨\uFF©\uaaª\ubb«\ucc¬\udd­\uee®\uff¯\u00°\u11±\u22²\u33³\u44´\u55µ\u66¶\u77·\u88¸\u99¹\uAAº\uBB»\uCC¼\uDD½\uEE¾\uFF¿\uaaÀ\ubbÁ\uccÂ\uddÃ\ueeÄ\uffÅ\u00Æ\u11Ç\u22È\u33É\u44Ê\u55Ë\u66Ì\u77Í\u88Î\u99Ï\uAAÐ\uBBÑ\uCCÒ\uDDÓ\uEEÔ\uFFÕ\uaaÖ\ubb×\uccØ\uddÙ\ueeÚ\uffÛ\u00Ü\u11Ý\u22Þ\u33ß\u44à\u55á\u66â\u77ã\u88ä\u99å\uAAæ\uBBç\uCCè\uDDé\uEEê\uFFë\uaaì\ubbí\uccî\uddï\ueeð\uffñ\u00ò\u11ó\u22ô\u33õ\u44ö\u55÷\u66ø\u77ù\u88ú\u99û\uAAü\uBBý\uCCþ\uDDÿ\u0
\uB \uC \uD \uE\uF\ua\ub\uc\ud\ue\uf\u0\u1\u2\u3\u4\u5\u6\u7\u8\u9\uA \uB!\uC"\uD#\uE$\uF%\ua&\ub'\uc(\ud)\ue*\uf+\u0,\u1-\u2.\u3/\u4:\u5;\u6<\u7=\u8>\u9?\uA@\uBG\uCH\uDI\uEJ\uFK\uaL\ubM\ucN\udO\ueP\ufQ\u0R\u1S\u2T\u3U\u4V\u5W\u6X\u7Y\u8Z\u9[\uA\\uB]\uC^\uD_\uE`\uFg\uah\ubi\ucj\udk\uel\ufm\u0n\u1o\u2p\u3q\u4r\u5s\u6t\u7u\u8v\u9w\uAx\uBy\uCz\uD{\uE|\uF}\ua~\ub\uc€\ud\ue‚\ufƒ\u0„\u1…\u2†\u3‡\u4ˆ\u5‰\u6Š\u7‹\u8Œ\u9\uAŽ\uB\uC\uD‘\uE’\uF“\ua”\ub•\uc–\ud—\ue˜\uf™\u0š\u1›\u2œ\u3\u4ž\u5Ÿ\u6 \u7¡\u8¢\u9£\uA¤\uB¥\uC¦\uD§\uE¨\uF©\uaª\ub«\uc¬\ud­\ue®\uf¯\u0°\u1±\u2²\u3³\u4´\u5µ\u6¶\u7·\u8¸\u9¹\uAº\uB»\uC¼\uD½\uE¾\uF¿\uaÀ\ubÁ\ucÂ\udÃ\ueÄ\ufÅ\u0Æ\u1Ç\u2È\u3É\u4Ê\u5Ë\u6Ì\u7Í\u8Î\u9Ï\uAÐ\uBÑ\uCÒ\uDÓ\uEÔ\uFÕ\uaÖ\ub×\ucØ\udÙ\ueÚ\ufÛ\u0Ü\u1Ý\u2Þ\u3ß\u4à\u5á\u6â\u7ã\u8ä\u9å\uAæ\uBç\uCè\uDé\uEê\uFë\uaì\ubí\ucî\udï\ueð\ufñ\u0ò\u1ó\u2ô\u3õ\u4ö\u5÷\u6ø\u7ù\u8ú\u9û\uAü\uBý\uCþ\uDÿ\u
\u \u \u \u\u\u\u\u\u\u\u\u\u\u\u\u\u\u\u\u\u\u \u!\u"\u#\u$\u%\u&\u'\u(\u)\u*\u+\u,\u-\u.\u/\u:\u;\u<\u=\u>\u?\u@\uG\uH\uI\uJ\uK\uL\uM\uN\uO\uP\uQ\uR\uS\uT\uU\uV\uW\uX\uY\uZ\u[\u\\u]\u^\u_\u`\ug\uh\ui\uj\uk\ul\um\un\uo\up\uq\ur\us\ut\uu\uv\uw\ux\uy\uz\u{\u|\u}\u~\u\u€\u\u‚\uƒ\u„\u…\u†\u‡\uˆ\u‰\uŠ\u‹\uŒ\u\uŽ\u\u\u‘\u’\u“\u”\u•\u–\u—\u˜\u™\uš\u›\uœ\u\už\uŸ\u \u¡\u¢\u£\u¤\u¥\u¦\u§\u¨\u©\uª\u«\u¬\u­\u®\u¯\u°\u±\u²\u³\u´\uµ\u¶\u·\u¸\u¹\uº\u»\u¼\u½\u¾\u¿\uÀ\uÁ\uÂ\uÃ\uÄ\uÅ\uÆ\uÇ\uÈ\uÉ\uÊ\uË\uÌ\uÍ\uÎ\uÏ\uÐ\uÑ\uÒ\uÓ\uÔ\uÕ\uÖ\u×\uØ\uÙ\uÚ\uÛ\uÜ\uÝ\uÞ\uß\uà\uá\uâ\uã\uä\uå\uæ\uç\uè\ué\uê\uë\uì\uí\uî\uï\uð\uñ\uò\uó\uô\uõ\uö\u÷\uø\uù\uú\uû\uü\uý\uþ\uÿ\
-\ \ \ \\\\\\\\\\\\\\\\\\\ \!\#\$\%\&\'\(\)\*\+\,\-\.\0\1\2\3\4\5\6\7\8\9\:\;\<\=\>\?\@\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z\[\]\^\_\`\a\c\d\e\g\h\i\j\k\l\m\o\p\q\s\v\w\x\y\z\{\|\}\~\\€\\‚\ƒ\„\…\†\‡\ˆ\‰\Š\‹\Œ\\Ž\\\‘\’\“\”\•\–\—\˜\™\š\›\œ\\ž\Ÿ\ \¡\¢\£\¤\¥\¦\§\¨\©\ª\«\¬\­\®\¯\°\±\²\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú\Û\Ü\Ý\Þ\ß\à\á\â\ã\ä\å\æ\ç\è\é\ê\ë\ì\í\î\ï\ð\ñ\ò\ó\ô\õ\ö\÷\ø\ù\ú\û\ü\ý\þ\ÿ
+\ \ \ \\\\\\\\\\\\\\\\\\\ \!\#\$\%\&\'\(\)\*\+\,\-\.\0\1\2\3\4\5\6\7\8\9\:\;\<\=\>\?\@\A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z\[\]\^\_\`\a\c\d\e\g\h\i\j\k\l\m\o\p\q\s\v\w\x\y\z\{\|\}\~\\€\\‚\ƒ\„\…\†\‡\ˆ\‰\Š\‹\Œ\\Ž\\\‘\’\“\”\•\–\—\˜\™\š\›\œ\\ž\Ÿ\ \¡\¢\£\¤\¥\¦\§\¨\©\ª\«\¬\­\®\¯\°\±\²\³\´\µ\¶\·\¸\¹\º\»\¼\½\¾\¿\À\Á\Â\Ã\Ä\Å\Æ\Ç\È\É\Ê\Ë\Ì\Í\Î\Ï\Ð\Ñ\Ò\Ó\Ô\Õ\Ö\×\Ø\Ù\Ú\Û\Ü\Ý\Þ\ß\à\á\â\ã\ä\å\æ\ç\è\é\ê\ë\ì\í\î\ï\ð\ñ\ò\ó\ô\õ\ö\÷\ø\ù\ú\û\ü\ý\þ\ÿ
re2c: warning: line 490: column 50: escape has no effect: '\/' [-Wuseless-escape]
re2c: warning: line 490: column 77: escape has no effect: '\/' [-Wuseless-escape]
diff --git a/test/main.b.c b/test/main.b.c
index 14a852fa..d737f705 100644
--- a/test/main.b.c
+++ b/test/main.b.c
@@ -1,7 +1,8 @@
/* Generated by re2c */
#line 1 "main.b.re"
/* re2c lesson 001_upn_calculator, main.b.re, (c) M. Boerger, L. Allan 2006 */
-#line 43 "main.b.re"
+#line 42 "main.b.re"
+
#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers
@@ -51,7 +52,7 @@ int ScanFullSpeed(char *pzStrToScan, size_t lenStrToScan)
for(;;)
{
-#line 55 "main.b.c"
+#line 56 "main.b.c"
{
YYCTYPE yych;
static const unsigned char yybm[] = {
@@ -108,23 +109,23 @@ yy2:
++YYCURSOR;
#line 97 "main.b.re"
{ return 0; }
-#line 112 "main.b.c"
+#line 113 "main.b.c"
yy4:
++YYCURSOR;
yy5:
#line 98 "main.b.re"
{ return 1; }
-#line 118 "main.b.c"
+#line 119 "main.b.c"
yy6:
++YYCURSOR;
#line 95 "main.b.re"
{ continue; }
-#line 123 "main.b.c"
+#line 124 "main.b.c"
yy8:
++YYCURSOR;
#line 96 "main.b.re"
{ continue; }
-#line 128 "main.b.c"
+#line 129 "main.b.c"
yy10:
yych = *++YYCURSOR;
if (yych <= '/') goto yy5;
@@ -139,7 +140,7 @@ yy11:
}
#line 93 "main.b.re"
{ continue; }
-#line 143 "main.b.c"
+#line 144 "main.b.c"
yy14:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -149,7 +150,7 @@ yy14:
yy16:
#line 94 "main.b.re"
{ continue; }
-#line 153 "main.b.c"
+#line 154 "main.b.c"
}
#line 99 "main.b.re"
@@ -172,7 +173,7 @@ int scan(char *pzStrToScan, size_t lenStrToScan)
for(;;)
{
-#line 176 "main.b.c"
+#line 177 "main.b.c"
{
YYCTYPE yych;
static const unsigned char yybm[] = {
@@ -229,23 +230,23 @@ yy19:
++YYCURSOR;
#line 124 "main.b.re"
{ printf("EOF\n"); return 0; }
-#line 233 "main.b.c"
+#line 234 "main.b.c"
yy21:
++YYCURSOR;
yy22:
#line 125 "main.b.re"
{ printf("ERR\n"); strcat(gTestBuf, "ERR "); return 1; }
-#line 239 "main.b.c"
+#line 240 "main.b.c"
yy23:
++YYCURSOR;
#line 122 "main.b.re"
{ printf("+\n"); strcat(gTestBuf, "+ "); continue; }
-#line 244 "main.b.c"
+#line 245 "main.b.c"
yy25:
++YYCURSOR;
#line 123 "main.b.re"
{ printf("-\n"); strcat(gTestBuf, "- "); continue; }
-#line 249 "main.b.c"
+#line 250 "main.b.c"
yy27:
yych = *++YYCURSOR;
if (yych <= '/') goto yy22;
@@ -260,7 +261,7 @@ yy28:
}
#line 120 "main.b.re"
{ printf("Num\n"); strcat(gTestBuf, "Num "); continue; }
-#line 264 "main.b.c"
+#line 265 "main.b.c"
yy31:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -270,7 +271,7 @@ yy31:
yy33:
#line 121 "main.b.re"
{ printf("Oct\n"); strcat(gTestBuf, "Oct "); continue; }
-#line 274 "main.b.c"
+#line 275 "main.b.c"
}
#line 126 "main.b.re"
diff --git a/test/modula.c b/test/modula.c
index 89b6780c..a0d5572c 100644
--- a/test/modula.c
+++ b/test/modula.c
@@ -218,8 +218,8 @@ yy14:
default: goto yy88;
}
yy15:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '*': goto yy89;
default: goto yy16;
}
@@ -253,8 +253,8 @@ yy25:
{RETURN(14);}
#line 255 "modula.c"
yy27:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '.': goto yy91;
default: goto yy28;
}
@@ -272,7 +272,6 @@ yy31:
YYMARKER = ++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
yych = *YYCURSOR;
- YYCTXMARKER = YYCURSOR;
switch (yych) {
case '.': goto yy93;
case '0':
@@ -297,13 +296,12 @@ yy31:
yy33:
#line 70 "modula.re"
{RETURN(1);}
-#line 301 "modula.c"
+#line 300 "modula.c"
yy34:
yyaccept = 1;
YYMARKER = ++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
yych = *YYCURSOR;
- YYCTXMARKER = YYCURSOR;
switch (yych) {
case '.': goto yy93;
case '0':
@@ -326,23 +324,23 @@ yy34:
default: goto yy33;
}
yy36:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '=': goto yy103;
default: goto yy37;
}
yy37:
#line 89 "modula.re"
{RETURN(18);}
-#line 338 "modula.c"
+#line 336 "modula.c"
yy38:
++YYCURSOR;
#line 91 "modula.re"
{RETURN(20);}
-#line 343 "modula.c"
+#line 341 "modula.c"
yy40:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '=': goto yy105;
case '>': goto yy107;
default: goto yy41;
@@ -350,25 +348,25 @@ yy40:
yy41:
#line 92 "modula.re"
{RETURN(21);}
-#line 354 "modula.c"
+#line 352 "modula.c"
yy42:
++YYCURSOR;
#line 95 "modula.re"
{RETURN(24);}
-#line 359 "modula.c"
+#line 357 "modula.c"
yy44:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '=': goto yy109;
default: goto yy45;
}
yy45:
#line 96 "modula.re"
{RETURN(25);}
-#line 369 "modula.c"
+#line 367 "modula.c"
yy46:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 'N': goto yy111;
case 'R': goto yy112;
default: goto yy54;
@@ -376,7 +374,7 @@ yy46:
yy47:
#line 147 "modula.re"
{RETURN(74);}
-#line 380 "modula.c"
+#line 378 "modula.c"
yy48:
yych = *++YYCURSOR;
switch (yych) {
@@ -573,37 +571,37 @@ yy68:
++YYCURSOR;
#line 98 "modula.re"
{RETURN(27);}
-#line 577 "modula.c"
+#line 575 "modula.c"
yy70:
++YYCURSOR;
#line 99 "modula.re"
{RETURN(28);}
-#line 582 "modula.c"
+#line 580 "modula.c"
yy72:
++YYCURSOR;
#line 100 "modula.re"
{RETURN(29);}
-#line 587 "modula.c"
+#line 585 "modula.c"
yy74:
++YYCURSOR;
#line 101 "modula.re"
{RETURN(30);}
-#line 592 "modula.c"
+#line 590 "modula.c"
yy76:
++YYCURSOR;
#line 102 "modula.re"
{RETURN(31);}
-#line 597 "modula.c"
+#line 595 "modula.c"
yy78:
++YYCURSOR;
#line 103 "modula.re"
{RETURN(32);}
-#line 602 "modula.c"
+#line 600 "modula.c"
yy80:
++YYCURSOR;
#line 104 "modula.re"
{RETURN(33);}
-#line 607 "modula.c"
+#line 605 "modula.c"
yy82:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -627,7 +625,7 @@ yy85:
++YYCURSOR;
#line 76 "modula.re"
{RETURN(6);}
-#line 631 "modula.c"
+#line 629 "modula.c"
yy87:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -642,12 +640,12 @@ yy89:
++YYCURSOR;
#line 68 "modula.re"
{ depth = 1; goto comment; }
-#line 646 "modula.c"
+#line 644 "modula.c"
yy91:
++YYCURSOR;
#line 87 "modula.re"
{RETURN(16);}
-#line 651 "modula.c"
+#line 649 "modula.c"
yy93:
yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
@@ -658,7 +656,7 @@ yy93:
yy94:
#line 75 "modula.re"
{RETURN(5);}
-#line 662 "modula.c"
+#line 660 "modula.c"
yy95:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -709,7 +707,7 @@ yy97:
yy98:
#line 72 "modula.re"
{RETURN(2);}
-#line 713 "modula.c"
+#line 711 "modula.c"
yy99:
yyaccept = 4;
yych = *(YYMARKER = ++YYCURSOR);
@@ -736,32 +734,32 @@ yy99:
yy100:
#line 73 "modula.re"
{RETURN(3);}
-#line 740 "modula.c"
+#line 738 "modula.c"
yy101:
++YYCURSOR;
#line 74 "modula.re"
{RETURN(4);}
-#line 745 "modula.c"
+#line 743 "modula.c"
yy103:
++YYCURSOR;
#line 90 "modula.re"
{RETURN(19);}
-#line 750 "modula.c"
+#line 748 "modula.c"
yy105:
++YYCURSOR;
#line 93 "modula.re"
{RETURN(22);}
-#line 755 "modula.c"
+#line 753 "modula.c"
yy107:
++YYCURSOR;
#line 94 "modula.re"
{RETURN(23);}
-#line 760 "modula.c"
+#line 758 "modula.c"
yy109:
++YYCURSOR;
#line 97 "modula.re"
{RETURN(26);}
-#line 765 "modula.c"
+#line 763 "modula.c"
yy111:
yych = *++YYCURSOR;
switch (yych) {
@@ -781,8 +779,8 @@ yy113:
default: goto yy54;
}
yy114:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -850,7 +848,7 @@ yy114:
yy115:
#line 109 "modula.re"
{RETURN(37);}
-#line 854 "modula.c"
+#line 852 "modula.c"
yy116:
yych = *++YYCURSOR;
switch (yych) {
@@ -876,8 +874,8 @@ yy119:
default: goto yy54;
}
yy120:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -945,7 +943,7 @@ yy120:
yy121:
#line 114 "modula.re"
{RETURN(42);}
-#line 949 "modula.c"
+#line 947 "modula.c"
yy122:
yych = *++YYCURSOR;
switch (yych) {
@@ -978,8 +976,8 @@ yy126:
default: goto yy54;
}
yy127:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -1047,7 +1045,7 @@ yy127:
yy128:
#line 122 "modula.re"
{RETURN(50);}
-#line 1051 "modula.c"
+#line 1049 "modula.c"
yy129:
yych = *++YYCURSOR;
switch (yych) {
@@ -1055,8 +1053,8 @@ yy129:
default: goto yy54;
}
yy130:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -1124,7 +1122,7 @@ yy130:
yy131:
#line 125 "modula.re"
{RETURN(53);}
-#line 1128 "modula.c"
+#line 1126 "modula.c"
yy132:
yych = *++YYCURSOR;
switch (yych) {
@@ -1144,8 +1142,8 @@ yy134:
default: goto yy54;
}
yy135:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -1213,10 +1211,10 @@ yy135:
yy136:
#line 130 "modula.re"
{RETURN(58);}
-#line 1217 "modula.c"
+#line 1215 "modula.c"
yy137:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -1284,7 +1282,7 @@ yy137:
yy138:
#line 131 "modula.re"
{RETURN(59);}
-#line 1288 "modula.c"
+#line 1286 "modula.c"
yy139:
yych = *++YYCURSOR;
switch (yych) {
@@ -1324,8 +1322,8 @@ yy144:
default: goto yy54;
}
yy145:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -1393,7 +1391,7 @@ yy145:
yy146:
#line 140 "modula.re"
{RETURN(68);}
-#line 1397 "modula.c"
+#line 1395 "modula.c"
yy147:
yych = *++YYCURSOR;
switch (yych) {
@@ -1426,10 +1424,10 @@ yy151:
}
yy152:
++YYCURSOR;
- YYCURSOR = YYCTXMARKER;
+ YYCURSOR -= 2;
#line 71 "modula.re"
{RETURN(1);}
-#line 1433 "modula.c"
+#line 1431 "modula.c"
yy154:
yyaccept = 2;
YYMARKER = ++YYCURSOR;
@@ -1468,8 +1466,8 @@ yy156:
default: goto yy84;
}
yy157:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -1537,7 +1535,7 @@ yy157:
yy158:
#line 106 "modula.re"
{RETURN(34);}
-#line 1541 "modula.c"
+#line 1539 "modula.c"
yy159:
yych = *++YYCURSOR;
switch (yych) {
@@ -1569,8 +1567,8 @@ yy163:
default: goto yy54;
}
yy164:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -1638,7 +1636,7 @@ yy164:
yy165:
#line 113 "modula.re"
{RETURN(41);}
-#line 1642 "modula.c"
+#line 1640 "modula.c"
yy166:
yych = *++YYCURSOR;
switch (yych) {
@@ -1647,8 +1645,8 @@ yy166:
default: goto yy54;
}
yy167:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -1716,7 +1714,7 @@ yy167:
yy168:
#line 117 "modula.re"
{RETURN(45);}
-#line 1720 "modula.c"
+#line 1718 "modula.c"
yy169:
yych = *++YYCURSOR;
switch (yych) {
@@ -1730,8 +1728,8 @@ yy170:
default: goto yy54;
}
yy171:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -1799,7 +1797,7 @@ yy171:
yy172:
#line 120 "modula.re"
{RETURN(48);}
-#line 1803 "modula.c"
+#line 1801 "modula.c"
yy173:
yych = *++YYCURSOR;
switch (yych) {
@@ -1820,8 +1818,8 @@ yy175:
default: goto yy54;
}
yy176:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -1889,10 +1887,10 @@ yy176:
yy177:
#line 127 "modula.re"
{RETURN(55);}
-#line 1893 "modula.c"
+#line 1891 "modula.c"
yy178:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -1960,7 +1958,7 @@ yy178:
yy179:
#line 129 "modula.re"
{RETURN(57);}
-#line 1964 "modula.c"
+#line 1962 "modula.c"
yy180:
yych = *++YYCURSOR;
switch (yych) {
@@ -1998,8 +1996,8 @@ yy185:
default: goto yy54;
}
yy186:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -2067,7 +2065,7 @@ yy186:
yy187:
#line 138 "modula.re"
{RETURN(66);}
-#line 2071 "modula.c"
+#line 2069 "modula.c"
yy188:
yych = *++YYCURSOR;
switch (yych) {
@@ -2087,8 +2085,8 @@ yy190:
default: goto yy54;
}
yy191:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -2156,7 +2154,7 @@ yy191:
yy192:
#line 143 "modula.re"
{RETURN(71);}
-#line 2160 "modula.c"
+#line 2158 "modula.c"
yy193:
yych = *++YYCURSOR;
switch (yych) {
@@ -2214,8 +2212,8 @@ yy199:
default: goto yy54;
}
yy200:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -2283,7 +2281,7 @@ yy200:
yy201:
#line 110 "modula.re"
{RETURN(38);}
-#line 2287 "modula.c"
+#line 2285 "modula.c"
yy202:
yych = *++YYCURSOR;
switch (yych) {
@@ -2297,8 +2295,8 @@ yy203:
default: goto yy54;
}
yy204:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -2366,7 +2364,7 @@ yy204:
yy205:
#line 115 "modula.re"
{RETURN(43);}
-#line 2370 "modula.c"
+#line 2368 "modula.c"
yy206:
yych = *++YYCURSOR;
switch (yych) {
@@ -2374,8 +2372,8 @@ yy206:
default: goto yy54;
}
yy207:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -2443,7 +2441,7 @@ yy207:
yy208:
#line 118 "modula.re"
{RETURN(46);}
-#line 2447 "modula.c"
+#line 2445 "modula.c"
yy209:
yych = *++YYCURSOR;
switch (yych) {
@@ -2451,8 +2449,8 @@ yy209:
default: goto yy54;
}
yy210:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -2520,7 +2518,7 @@ yy210:
yy211:
#line 121 "modula.re"
{RETURN(49);}
-#line 2524 "modula.c"
+#line 2522 "modula.c"
yy212:
yych = *++YYCURSOR;
switch (yych) {
@@ -2534,8 +2532,8 @@ yy213:
default: goto yy54;
}
yy214:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -2603,7 +2601,7 @@ yy214:
yy215:
#line 126 "modula.re"
{RETURN(54);}
-#line 2607 "modula.c"
+#line 2605 "modula.c"
yy216:
yych = *++YYCURSOR;
switch (yych) {
@@ -2647,8 +2645,8 @@ yy222:
default: goto yy54;
}
yy223:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -2716,10 +2714,10 @@ yy223:
yy224:
#line 139 "modula.re"
{RETURN(67);}
-#line 2720 "modula.c"
+#line 2718 "modula.c"
yy225:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -2787,7 +2785,7 @@ yy225:
yy226:
#line 141 "modula.re"
{RETURN(69);}
-#line 2791 "modula.c"
+#line 2789 "modula.c"
yy227:
yych = *++YYCURSOR;
switch (yych) {
@@ -2801,8 +2799,8 @@ yy228:
default: goto yy54;
}
yy229:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -2870,10 +2868,10 @@ yy229:
yy230:
#line 145 "modula.re"
{RETURN(73);}
-#line 2874 "modula.c"
+#line 2872 "modula.c"
yy231:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -2941,10 +2939,10 @@ yy231:
yy232:
#line 107 "modula.re"
{RETURN(35);}
-#line 2945 "modula.c"
+#line 2943 "modula.c"
yy233:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -3012,10 +3010,10 @@ yy233:
yy234:
#line 108 "modula.re"
{RETURN(36);}
-#line 3016 "modula.c"
+#line 3014 "modula.c"
yy235:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -3083,7 +3081,7 @@ yy235:
yy236:
#line 111 "modula.re"
{RETURN(39);}
-#line 3087 "modula.c"
+#line 3085 "modula.c"
yy237:
yych = *++YYCURSOR;
switch (yych) {
@@ -3091,8 +3089,8 @@ yy237:
default: goto yy54;
}
yy238:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -3160,7 +3158,7 @@ yy238:
yy239:
#line 116 "modula.re"
{RETURN(44);}
-#line 3164 "modula.c"
+#line 3162 "modula.c"
yy240:
yych = *++YYCURSOR;
switch (yych) {
@@ -3222,8 +3220,8 @@ yy249:
default: goto yy54;
}
yy250:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -3291,10 +3289,10 @@ yy250:
yy251:
#line 142 "modula.re"
{RETURN(70);}
-#line 3295 "modula.c"
+#line 3293 "modula.c"
yy252:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -3362,7 +3360,7 @@ yy252:
yy253:
#line 144 "modula.re"
{RETURN(72);}
-#line 3366 "modula.c"
+#line 3364 "modula.c"
yy254:
yych = *++YYCURSOR;
switch (yych) {
@@ -3370,8 +3368,8 @@ yy254:
default: goto yy54;
}
yy255:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -3439,7 +3437,7 @@ yy255:
yy256:
#line 119 "modula.re"
{RETURN(47);}
-#line 3443 "modula.c"
+#line 3441 "modula.c"
yy257:
yych = *++YYCURSOR;
switch (yych) {
@@ -3447,8 +3445,8 @@ yy257:
default: goto yy54;
}
yy258:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -3516,10 +3514,10 @@ yy258:
yy259:
#line 124 "modula.re"
{RETURN(52);}
-#line 3520 "modula.c"
+#line 3518 "modula.c"
yy260:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -3587,7 +3585,7 @@ yy260:
yy261:
#line 128 "modula.re"
{RETURN(56);}
-#line 3591 "modula.c"
+#line 3589 "modula.c"
yy262:
yych = *++YYCURSOR;
switch (yych) {
@@ -3607,8 +3605,8 @@ yy264:
default: goto yy54;
}
yy265:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -3676,10 +3674,10 @@ yy265:
yy266:
#line 135 "modula.re"
{RETURN(63);}
-#line 3680 "modula.c"
+#line 3678 "modula.c"
yy267:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -3747,10 +3745,10 @@ yy267:
yy268:
#line 136 "modula.re"
{RETURN(64);}
-#line 3751 "modula.c"
+#line 3749 "modula.c"
yy269:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -3818,7 +3816,7 @@ yy269:
yy270:
#line 137 "modula.re"
{RETURN(65);}
-#line 3822 "modula.c"
+#line 3820 "modula.c"
yy271:
yych = *++YYCURSOR;
switch (yych) {
@@ -3832,8 +3830,8 @@ yy272:
default: goto yy54;
}
yy273:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -3901,7 +3899,7 @@ yy273:
yy274:
#line 132 "modula.re"
{RETURN(60);}
-#line 3905 "modula.c"
+#line 3903 "modula.c"
yy275:
yych = *++YYCURSOR;
switch (yych) {
@@ -3951,8 +3949,8 @@ yy282:
default: goto yy54;
}
yy283:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -4020,10 +4018,10 @@ yy283:
yy284:
#line 133 "modula.re"
{RETURN(61);}
-#line 4024 "modula.c"
+#line 4022 "modula.c"
yy285:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -4091,10 +4089,10 @@ yy285:
yy286:
#line 134 "modula.re"
{RETURN(62);}
-#line 4095 "modula.c"
+#line 4093 "modula.c"
yy287:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -4162,7 +4160,7 @@ yy287:
yy288:
#line 112 "modula.re"
{RETURN(40);}
-#line 4166 "modula.c"
+#line 4164 "modula.c"
yy289:
yych = *++YYCURSOR;
switch (yych) {
@@ -4188,8 +4186,8 @@ yy292:
default: goto yy54;
}
yy293:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -4257,13 +4255,13 @@ yy293:
yy294:
#line 123 "modula.re"
{RETURN(51);}
-#line 4261 "modula.c"
+#line 4259 "modula.c"
}
#line 163 "modula.re"
comment:
-#line 4267 "modula.c"
+#line 4265 "modula.c"
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
@@ -4279,7 +4277,7 @@ yy297:
yy298:
#line 180 "modula.re"
{ goto comment; }
-#line 4283 "modula.c"
+#line 4281 "modula.c"
yy299:
++YYCURSOR;
#line 175 "modula.re"
@@ -4288,7 +4286,7 @@ yy299:
s->tok = s->pos = cursor; s->line++;
goto comment;
}
-#line 4292 "modula.c"
+#line 4290 "modula.c"
yy301:
yych = *++YYCURSOR;
switch (yych) {
@@ -4305,7 +4303,7 @@ yy303:
++YYCURSOR;
#line 173 "modula.re"
{ ++depth; goto comment; }
-#line 4309 "modula.c"
+#line 4307 "modula.c"
yy305:
++YYCURSOR;
#line 167 "modula.re"
@@ -4315,7 +4313,7 @@ yy305:
else
goto comment;
}
-#line 4319 "modula.c"
+#line 4317 "modula.c"
}
#line 181 "modula.re"
diff --git a/test/overflow-2.c b/test/overflow-2.c
index 6e170e14..3d9ede4f 100644
--- a/test/overflow-2.c
+++ b/test/overflow-2.c
@@ -1 +1 @@
-re2c: error: line 2, column 8219: can't find symbol
+re2c: error: line 2: undefined symbol 'x0000_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00040_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00080_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x000C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00100_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00140_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00180_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x001C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00200_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00240_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00280_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x002C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00300_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00340_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00380_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x003C0_1st_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00400_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00440_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00480_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x004C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00500_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00540_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00580_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x005C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00600_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00640_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00680_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x006C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00700_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00740_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00780_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x007C0_2nd_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00800_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00840_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00880_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x008C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00900_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00940_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00980_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x009C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00A00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00A40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00A80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00AC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00B00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00B40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00B80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00BC0_3rd_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00C00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00C40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00C80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00CC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00D00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00D40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00D80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00DC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00E00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00E40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00E80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00EC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00F00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00F40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00F80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00FC0_4th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01000_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01040_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01080_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x010C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01100_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01140_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01180_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x011C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01200_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01240_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01280_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x012C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01300_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01340_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01380_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x013C0_5th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01400_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01440_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01480_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x014C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01500_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01540_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01580_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x015C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01600_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01640_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01680_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x016C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01700_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01740_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01780_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x017C0_6th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01800_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01840_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01880_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x018C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01900_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01940_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01980_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x019C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01A00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01A40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01A80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01AC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01B00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01B40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01B80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01BC0_7th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01C00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01C40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01C80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01CC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01D00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01D40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01D80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01DC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01E00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01E40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01E80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01EC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01F00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01F40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01F80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01FC0_8th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_and_here_is_the_overflfowQ'
diff --git a/test/overflow-3.c b/test/overflow-3.c
index 6e170e14..3d9ede4f 100644
--- a/test/overflow-3.c
+++ b/test/overflow-3.c
@@ -1 +1 @@
-re2c: error: line 2, column 8219: can't find symbol
+re2c: error: line 2: undefined symbol 'x0000_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00040_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00080_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x000C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00100_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00140_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00180_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x001C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00200_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00240_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00280_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x002C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00300_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00340_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00380_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x003C0_1st_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00400_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00440_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00480_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x004C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00500_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00540_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00580_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x005C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00600_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00640_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00680_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x006C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00700_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00740_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00780_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x007C0_2nd_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00800_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00840_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00880_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x008C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00900_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00940_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00980_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x009C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00A00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00A40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00A80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00AC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00B00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00B40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00B80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00BC0_3rd_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00C00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00C40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00C80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00CC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00D00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00D40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00D80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00DC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00E00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00E40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00E80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00EC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00F00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00F40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00F80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x00FC0_4th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01000_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01040_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01080_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x010C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01100_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01140_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01180_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x011C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01200_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01240_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01280_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x012C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01300_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01340_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01380_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x013C0_5th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01400_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01440_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01480_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x014C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01500_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01540_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01580_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x015C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01600_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01640_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01680_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x016C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01700_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01740_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01780_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x017C0_6th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01800_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01840_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01880_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x018C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01900_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01940_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01980_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x019C0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01A00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01A40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01A80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01AC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01B00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01B40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01B80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01BC0_7th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01C00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01C40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01C80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01CC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01D00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01D40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01D80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01DC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01E00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01E40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01E80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01EC0_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01F00_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01F40_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01F80_aaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_x01FC0_8th_KByte_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaaa_aaaaaaaaaaaaaa_and_here_is_the_overflfowQ'
diff --git a/test/parse_date.b.c b/test/parse_date.b.c
index fd97cba8..5ae16e8f 100644
--- a/test/parse_date.b.c
+++ b/test/parse_date.b.c
@@ -904,7 +904,7 @@ yy9:
if (yych <= '9') goto yy58;
goto yy5;
yy10:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy7;
yy11:
yyaccept = 1;
@@ -1227,8 +1227,8 @@ yy16:
if (yych <= '9') goto yy99;
goto yy5;
yy17:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 'U') {
+ yych = *++YYCURSOR;
+ if (yych <= 'U') {
if (yych <= 'F') {
if (yych == ')') goto yy102;
if (yych >= 'A') goto yy103;
@@ -3020,7 +3020,7 @@ yy101:
}
#line 3022 "parse_date.b.c"
yy102:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy18;
yy103:
yych = *++YYCURSOR;
@@ -3554,8 +3554,8 @@ yy127:
if (yych <= '9') goto yy126;
goto yy18;
yy128:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy282;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy282;
if (yych <= '9') goto yy283;
goto yy282;
yy129:
@@ -5184,8 +5184,8 @@ yy220:
if (yych <= '/') goto yy53;
if (yych >= ':') goto yy53;
yy222:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy223;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy223;
if (yych <= '9') goto yy369;
yy223:
#line 1073 "parse_date.b.re"
@@ -5429,8 +5429,8 @@ yy249:
if (yych == 'M') goto yy250;
if (yych != 'm') goto yy53;
yy250:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '.') goto yy388;
+ yych = *++YYCURSOR;
+ if (yych == '.') goto yy388;
yy251:
#line 929 "parse_date.b.re"
{
@@ -5499,8 +5499,8 @@ yy254:
goto yy18;
}
yy255:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '@') {
+ yych = *++YYCURSOR;
+ if (yych <= '@') {
if (yych == ')') goto yy102;
} else {
if (yych <= 'Z') goto yy400;
@@ -5966,8 +5966,8 @@ yy273:
}
}
yy274:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 'D') {
+ yych = *++YYCURSOR;
+ if (yych <= 'D') {
if (yych <= ')') {
if (yych >= ')') goto yy102;
} else {
@@ -6656,8 +6656,8 @@ yy302:
}
}
yy303:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '@') {
+ yych = *++YYCURSOR;
+ if (yych <= '@') {
if (yych == ')') goto yy102;
} else {
if (yych <= 'Z') goto yy400;
@@ -7744,8 +7744,8 @@ yy361:
}
}
yy362:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == 'S') goto yy520;
+ yych = *++YYCURSOR;
+ if (yych == 'S') goto yy520;
if (yych == 's') goto yy520;
yy363:
#line 1379 "parse_date.b.re"
@@ -8058,7 +8058,7 @@ yy387:
}
}
yy388:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy251;
yy389:
yych = *++YYCURSOR;
@@ -8770,8 +8770,8 @@ yy441:
}
}
yy442:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == ')') goto yy102;
+ yych = *++YYCURSOR;
+ if (yych == ')') goto yy102;
yy443:
#line 871 "parse_date.b.re"
{
@@ -9637,8 +9637,8 @@ yy503:
}
}
yy504:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 'U') {
+ yych = *++YYCURSOR;
+ if (yych <= 'U') {
if (yych == 'I') goto yy674;
} else {
if (yych == 'W') goto yy505;
@@ -9784,7 +9784,7 @@ yy519:
if (yych == 's') goto yy689;
goto yy53;
yy520:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy363;
yy521:
yych = *++YYCURSOR;
@@ -10059,25 +10059,9 @@ yy561:
}
yy562:
yych = *++YYCURSOR;
- if (yych <= '^') {
- if (yych <= '/') {
- if (yych <= '.') goto yy53;
- goto yy259;
- } else {
- if (yych == 'T') goto yy125;
- goto yy53;
- }
- } else {
- if (yych <= 's') {
- if (yych <= '_') goto yy259;
- if (yych <= '`') goto yy53;
- goto yy559;
- } else {
- if (yych <= 't') goto yy561;
- if (yych <= 'z') goto yy559;
- goto yy53;
- }
- }
+ if (yych == 'T') goto yy125;
+ if (yych == 't') goto yy561;
+ goto yy560;
yy563:
yych = *++YYCURSOR;
if (yych == 'B') goto yy609;
@@ -10187,25 +10171,9 @@ yy573:
goto yy560;
yy574:
yych = *++YYCURSOR;
- if (yych <= '^') {
- if (yych <= '/') {
- if (yych <= '.') goto yy53;
- goto yy259;
- } else {
- if (yych == 'H') goto yy565;
- goto yy53;
- }
- } else {
- if (yych <= 'g') {
- if (yych <= '_') goto yy259;
- if (yych <= '`') goto yy53;
- goto yy559;
- } else {
- if (yych <= 'h') goto yy568;
- if (yych <= 'z') goto yy559;
- goto yy53;
- }
- }
+ if (yych == 'H') goto yy565;
+ if (yych == 'h') goto yy568;
+ goto yy560;
yy575:
yych = *++YYCURSOR;
if (yych == 'Y') goto yy704;
@@ -10294,7 +10262,7 @@ yy583:
TIMELIB_DEINIT;
return TIMELIB_DATE_NO_DAY;
}
-#line 10298 "parse_date.b.c"
+#line 10266 "parse_date.b.c"
yy584:
yych = *++YYCURSOR;
if (yych <= '/') goto yy583;
@@ -10337,7 +10305,7 @@ yy586:
TIMELIB_DEINIT;
return TIMELIB_SHORTDATE_WITH_TIME;
}
-#line 10341 "parse_date.b.c"
+#line 10309 "parse_date.b.c"
yy587:
yyaccept = 16;
yych = *(YYMARKER = ++YYCURSOR);
@@ -10588,25 +10556,9 @@ yy617:
goto yy560;
yy618:
yych = *++YYCURSOR;
- if (yych <= '^') {
- if (yych <= '/') {
- if (yych <= '.') goto yy53;
- goto yy259;
- } else {
- if (yych == 'D') goto yy565;
- goto yy53;
- }
- } else {
- if (yych <= 'c') {
- if (yych <= '_') goto yy259;
- if (yych <= '`') goto yy53;
- goto yy559;
- } else {
- if (yych <= 'd') goto yy568;
- if (yych <= 'z') goto yy559;
- goto yy53;
- }
- }
+ if (yych == 'D') goto yy565;
+ if (yych == 'd') goto yy568;
+ goto yy560;
yy619:
yych = *++YYCURSOR;
if (yych == 'M') goto yy563;
@@ -10629,7 +10581,7 @@ yy622:
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 10633 "parse_date.b.c"
+#line 10585 "parse_date.b.c"
yy623:
yych = *++YYCURSOR;
if (yych == 'R') goto yy746;
@@ -10707,8 +10659,8 @@ yy636:
if (yych <= '9') goto yy753;
goto yy192;
yy637:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy638;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy638;
if (yych <= '9') goto yy753;
yy638:
#line 1087 "parse_date.b.re"
@@ -10723,7 +10675,7 @@ yy638:
TIMELIB_DEINIT;
return TIMELIB_DATE_FULL_POINTED;
}
-#line 10727 "parse_date.b.c"
+#line 10679 "parse_date.b.c"
yy639:
yych = *++YYCURSOR;
if (yych <= '/') goto yy197;
@@ -10919,7 +10871,7 @@ yy663:
TIMELIB_DEINIT;
return TIMELIB_ISO_NOCOLON;
}
-#line 10923 "parse_date.b.c"
+#line 10875 "parse_date.b.c"
yy664:
yyaccept = 18;
yych = *(YYMARKER = ++YYCURSOR);
@@ -11104,7 +11056,7 @@ yy674:
yych = *++YYCURSOR;
if (yych != 'I') goto yy505;
yy675:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy505;
yy676:
yych = *++YYCURSOR;
@@ -11229,7 +11181,7 @@ yy692:
if (yych == 'y') goto yy520;
goto yy53;
yy693:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy223;
yy694:
yych = *++YYCURSOR;
@@ -11336,7 +11288,7 @@ yy703:
default: goto yy282;
}
yy704:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy275;
yy705:
yyaccept = 7;
@@ -11390,7 +11342,7 @@ yy710:
if (yych <= '9') goto yy801;
goto yy53;
yy711:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy129;
yy712:
yych = *++YYCURSOR;
@@ -11399,25 +11351,9 @@ yy712:
goto yy53;
yy713:
yych = *++YYCURSOR;
- if (yych <= '^') {
- if (yych <= '/') {
- if (yych <= '.') goto yy53;
- goto yy259;
- } else {
- if (yych == 'Y') goto yy125;
- goto yy53;
- }
- } else {
- if (yych <= 'x') {
- if (yych <= '_') goto yy259;
- if (yych <= '`') goto yy53;
- goto yy559;
- } else {
- if (yych <= 'y') goto yy561;
- if (yych <= 'z') goto yy559;
- goto yy53;
- }
- }
+ if (yych == 'Y') goto yy125;
+ if (yych == 'y') goto yy561;
+ goto yy560;
yy714:
yych = *++YYCURSOR;
if (yych == 'Y') goto yy802;
@@ -11579,25 +11515,9 @@ yy742:
goto yy53;
yy743:
yych = *++YYCURSOR;
- if (yych <= '^') {
- if (yych <= '/') {
- if (yych <= '.') goto yy53;
- goto yy259;
- } else {
- if (yych == 'R') goto yy125;
- goto yy53;
- }
- } else {
- if (yych <= 'q') {
- if (yych <= '_') goto yy259;
- if (yych <= '`') goto yy53;
- goto yy559;
- } else {
- if (yych <= 'r') goto yy561;
- if (yych <= 'z') goto yy559;
- goto yy53;
- }
- }
+ if (yych == 'R') goto yy125;
+ if (yych == 'r') goto yy561;
+ goto yy560;
yy744:
yych = *++YYCURSOR;
if (yych == 'U') goto yy829;
@@ -11629,7 +11549,7 @@ yy749:
if (yych == 'd') goto yy834;
goto yy560;
yy750:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy474;
yy751:
++YYCURSOR;
@@ -11821,7 +11741,7 @@ yy775:
TIMELIB_DEINIT;
return TIMELIB_PG_YEARDAY;
}
-#line 11825 "parse_date.b.c"
+#line 11745 "parse_date.b.c"
yy776:
yyaccept = 19;
yych = *(YYMARKER = ++YYCURSOR);
@@ -11983,8 +11903,8 @@ yy789:
if (yych == 't') goto yy782;
goto yy505;
yy790:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy791;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy791;
if (yych <= '7') goto yy869;
yy791:
#line 1219 "parse_date.b.re"
@@ -12005,7 +11925,7 @@ yy791:
TIMELIB_DEINIT;
return TIMELIB_ISO_WEEK;
}
-#line 12009 "parse_date.b.c"
+#line 11929 "parse_date.b.c"
yy792:
yych = *++YYCURSOR;
if (yych == 'G') goto yy871;
@@ -12065,11 +11985,11 @@ yy800:
if (yych == '0') goto yy878;
goto yy586;
yy801:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy586;
yy802:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == 'S') goto yy879;
+ yych = *++YYCURSOR;
+ if (yych == 'S') goto yy879;
if (yych == 's') goto yy879;
yy803:
#line 1323 "parse_date.b.re"
@@ -12088,7 +12008,7 @@ yy803:
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 12092 "parse_date.b.c"
+#line 12012 "parse_date.b.c"
yy804:
yych = *++YYCURSOR;
if (yych == 'T') goto yy880;
@@ -12418,25 +12338,9 @@ yy829:
goto yy53;
yy830:
yych = *++YYCURSOR;
- if (yych <= '^') {
- if (yych <= '/') {
- if (yych <= '.') goto yy53;
- goto yy259;
- } else {
- if (yych == 'S') goto yy565;
- goto yy53;
- }
- } else {
- if (yych <= 'r') {
- if (yych <= '_') goto yy259;
- if (yych <= '`') goto yy53;
- goto yy559;
- } else {
- if (yych <= 's') goto yy568;
- if (yych <= 'z') goto yy559;
- goto yy53;
- }
- }
+ if (yych == 'S') goto yy565;
+ if (yych == 's') goto yy568;
+ goto yy560;
yy831:
yych = *++YYCURSOR;
if (yych == 'W') goto yy899;
@@ -12458,10 +12362,10 @@ yy834:
if (yych == 'a') goto yy903;
goto yy560;
yy835:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy638;
yy836:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy197;
yy837:
yych = *++YYCURSOR;
@@ -12655,7 +12559,7 @@ yy852:
goto yy505;
}
yy853:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy775;
yy854:
yyaccept = 22;
@@ -12684,7 +12588,7 @@ yy855:
TIMELIB_DEINIT;
return TIMELIB_ISO_DATE;
}
-#line 12688 "parse_date.b.c"
+#line 12592 "parse_date.b.c"
yy856:
yyaccept = 22;
yych = *(YYMARKER = ++YYCURSOR);
@@ -12764,7 +12668,7 @@ yy860:
TIMELIB_DEINIT;
return TIMELIB_DATE_NOCOLON;
}
-#line 12768 "parse_date.b.c"
+#line 12672 "parse_date.b.c"
yy861:
yych = *++YYCURSOR;
if (yych <= '/') goto yy53;
@@ -12826,7 +12730,7 @@ yy869:
TIMELIB_DEINIT;
return TIMELIB_ISO_WEEK;
}
-#line 12830 "parse_date.b.c"
+#line 12734 "parse_date.b.c"
yy871:
yych = *++YYCURSOR;
if (yych == 'H') goto yy926;
@@ -12848,8 +12752,8 @@ yy874:
if (yych <= '1') goto yy927;
goto yy53;
yy875:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy876;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy876;
if (yych <= '9') goto yy929;
yy876:
#line 1238 "parse_date.b.re"
@@ -12864,7 +12768,7 @@ yy876:
TIMELIB_DEINIT;
return TIMELIB_PG_TEXT;
}
-#line 12868 "parse_date.b.c"
+#line 12772 "parse_date.b.c"
yy877:
yyaccept = 16;
yych = *(YYMARKER = ++YYCURSOR);
@@ -12914,7 +12818,7 @@ yy878:
}
}
yy879:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy803;
yy880:
yych = *++YYCURSOR;
@@ -13050,7 +12954,7 @@ yy900:
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 13054 "parse_date.b.c"
+#line 12958 "parse_date.b.c"
yy901:
yyaccept = 24;
yych = *(YYMARKER = ++YYCURSOR);
@@ -13327,7 +13231,7 @@ yy927:
TIMELIB_DEINIT;
return TIMELIB_PG_TEXT;
}
-#line 13331 "parse_date.b.c"
+#line 13235 "parse_date.b.c"
yy929:
yych = *++YYCURSOR;
if (yych <= '/') goto yy876;
@@ -13455,7 +13359,7 @@ yy947:
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 13459 "parse_date.b.c"
+#line 13363 "parse_date.b.c"
yy948:
yyaccept = 25;
yych = *(YYMARKER = ++YYCURSOR);
@@ -13511,7 +13415,7 @@ yy954:
}
}
yy955:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy855;
yy956:
yyaccept = 22;
@@ -13703,7 +13607,7 @@ yy981:
if (yych <= '2') goto yy1000;
goto yy53;
yy982:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy876;
yy983:
yych = *++YYCURSOR;
@@ -13935,8 +13839,8 @@ yy1018:
if (yych <= '5') goto yy1024;
goto yy53;
yy1019:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy1020;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy1020;
if (yych <= '9') goto yy1022;
yy1020:
#line 1163 "parse_date.b.re"
@@ -13962,12 +13866,12 @@ yy1020:
TIMELIB_DEINIT;
return TIMELIB_XMLRPC_SOAP;
}
-#line 13966 "parse_date.b.c"
+#line 13870 "parse_date.b.c"
yy1021:
yych = *++YYCURSOR;
if (yych != '0') goto yy1020;
yy1022:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy1020;
yy1023:
yych = *++YYCURSOR;
@@ -14073,8 +13977,8 @@ yy1040:
goto yy1020;
}
yy1042:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy1043;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy1043;
if (yych <= '9') goto yy1045;
if (yych <= ':') goto yy1047;
yy1043:
@@ -14096,7 +14000,7 @@ yy1043:
TIMELIB_DEINIT;
return TIMELIB_CLF;
}
-#line 14100 "parse_date.b.c"
+#line 14004 "parse_date.b.c"
yy1044:
yych = *++YYCURSOR;
if (yych <= '5') {
@@ -14132,7 +14036,7 @@ yy1048:
if (yych <= '/') goto yy1043;
if (yych >= ':') goto yy1043;
yy1049:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy1043;
yy1050:
yych = *++YYCURSOR;
@@ -14157,8 +14061,8 @@ yy1052:
if (yych <= '9') goto yy1022;
if (yych >= ';') goto yy1020;
yy1053:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy1020;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy1020;
if (yych <= '5') goto yy1019;
if (yych <= '9') goto yy1022;
goto yy1020;
@@ -14169,6 +14073,7 @@ yy1053:
#define YYMAXFILL 26
+
timelib_time* timelib_strtotime(char *s, int len, int *errors, timelib_tzdb *tzdb)
{
Scanner in;
diff --git a/test/parse_date.c b/test/parse_date.c
index 63948842..89675589 100644
--- a/test/parse_date.c
+++ b/test/parse_date.c
@@ -935,7 +935,7 @@ yy9:
default: goto yy5;
}
yy10:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy7;
yy11:
yyaccept = 1;
@@ -1267,8 +1267,8 @@ yy16:
default: goto yy5;
}
yy17:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case ')': goto yy102;
case 'A':
case 'B':
@@ -4136,7 +4136,7 @@ yy101:
}
#line 4138 "parse_date.c"
yy102:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy18;
yy103:
yych = *++YYCURSOR;
@@ -5512,8 +5512,8 @@ yy127:
default: goto yy18;
}
yy128:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -8755,8 +8755,8 @@ yy220:
default: goto yy53;
}
yy222:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -9086,8 +9086,8 @@ yy249:
default: goto yy53;
}
yy250:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '.': goto yy388;
default: goto yy251;
}
@@ -9214,8 +9214,8 @@ yy254:
default: goto yy18;
}
yy255:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case ')': goto yy102;
case 'A':
case 'B':
@@ -10442,8 +10442,8 @@ yy273:
default: goto yy18;
}
yy274:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case ')': goto yy102;
case 'A':
case 'B':
@@ -12164,8 +12164,8 @@ yy302:
default: goto yy18;
}
yy303:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case ')': goto yy102;
case 'A':
case 'B':
@@ -14601,8 +14601,8 @@ yy361:
default: goto yy74;
}
yy362:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 'S':
case 's': goto yy520;
default: goto yy363;
@@ -15051,7 +15051,7 @@ yy387:
default: goto yy192;
}
yy388:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy251;
yy389:
yych = *++YYCURSOR;
@@ -16097,8 +16097,8 @@ yy441:
default: goto yy18;
}
yy442:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case ')': goto yy102;
default: goto yy443;
}
@@ -17276,8 +17276,8 @@ yy503:
default: goto yy53;
}
yy504:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 'I': goto yy674;
case 'V':
case 'X': goto yy675;
@@ -17442,7 +17442,7 @@ yy519:
default: goto yy53;
}
yy520:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy363;
yy521:
yych = *++YYCURSOR;
@@ -17879,36 +17879,9 @@ yy561:
yy562:
yych = *++YYCURSOR;
switch (yych) {
- case '/':
- case '_': goto yy259;
case 'T': goto yy125;
- case 'a':
- case 'b':
- case 'c':
- case 'd':
- case 'e':
- case 'f':
- case 'g':
- case 'h':
- case 'i':
- case 'j':
- case 'k':
- case 'l':
- case 'm':
- case 'n':
- case 'o':
- case 'p':
- case 'q':
- case 'r':
- case 's':
- case 'u':
- case 'v':
- case 'w':
- case 'x':
- case 'y':
- case 'z': goto yy559;
case 't': goto yy561;
- default: goto yy53;
+ default: goto yy560;
}
yy563:
yych = *++YYCURSOR;
@@ -18027,36 +18000,9 @@ yy573:
yy574:
yych = *++YYCURSOR;
switch (yych) {
- case '/':
- case '_': goto yy259;
case 'H': goto yy565;
- case 'a':
- case 'b':
- case 'c':
- case 'd':
- case 'e':
- case 'f':
- case 'g':
- case 'i':
- case 'j':
- case 'k':
- case 'l':
- case 'm':
- case 'n':
- case 'o':
- case 'p':
- case 'q':
- case 'r':
- case 's':
- case 't':
- case 'u':
- case 'v':
- case 'w':
- case 'x':
- case 'y':
- case 'z': goto yy559;
case 'h': goto yy568;
- default: goto yy53;
+ default: goto yy560;
}
yy575:
yych = *++YYCURSOR;
@@ -18201,7 +18147,7 @@ yy583:
TIMELIB_DEINIT;
return TIMELIB_DATE_NO_DAY;
}
-#line 18205 "parse_date.c"
+#line 18151 "parse_date.c"
yy584:
yych = *++YYCURSOR;
switch (yych) {
@@ -18263,7 +18209,7 @@ yy586:
TIMELIB_DEINIT;
return TIMELIB_SHORTDATE_WITH_TIME;
}
-#line 18267 "parse_date.c"
+#line 18213 "parse_date.c"
yy587:
yyaccept = 16;
yych = *(YYMARKER = ++YYCURSOR);
@@ -18513,36 +18459,9 @@ yy617:
yy618:
yych = *++YYCURSOR;
switch (yych) {
- case '/':
- case '_': goto yy259;
case 'D': goto yy565;
- case 'a':
- case 'b':
- case 'c':
- case 'e':
- case 'f':
- case 'g':
- case 'h':
- case 'i':
- case 'j':
- case 'k':
- case 'l':
- case 'm':
- case 'n':
- case 'o':
- case 'p':
- case 'q':
- case 'r':
- case 's':
- case 't':
- case 'u':
- case 'v':
- case 'w':
- case 'x':
- case 'y':
- case 'z': goto yy559;
case 'd': goto yy568;
- default: goto yy53;
+ default: goto yy560;
}
yy619:
yych = *++YYCURSOR;
@@ -18570,7 +18489,7 @@ yy622:
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 18574 "parse_date.c"
+#line 18493 "parse_date.c"
yy623:
yych = *++YYCURSOR;
switch (yych) {
@@ -18712,8 +18631,8 @@ yy636:
default: goto yy192;
}
yy637:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -18739,7 +18658,7 @@ yy638:
TIMELIB_DEINIT;
return TIMELIB_DATE_FULL_POINTED;
}
-#line 18743 "parse_date.c"
+#line 18662 "parse_date.c"
yy639:
yych = *++YYCURSOR;
switch (yych) {
@@ -19013,7 +18932,7 @@ yy663:
TIMELIB_DEINIT;
return TIMELIB_ISO_NOCOLON;
}
-#line 19017 "parse_date.c"
+#line 18936 "parse_date.c"
yy664:
yyaccept = 18;
yych = *(YYMARKER = ++YYCURSOR);
@@ -19203,7 +19122,7 @@ yy674:
default: goto yy505;
}
yy675:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy505;
yy676:
yych = *++YYCURSOR;
@@ -19380,7 +19299,7 @@ yy692:
default: goto yy53;
}
yy693:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy223;
yy694:
yych = *++YYCURSOR;
@@ -19493,7 +19412,7 @@ yy703:
default: goto yy282;
}
yy704:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy275;
yy705:
yyaccept = 7;
@@ -19611,7 +19530,7 @@ yy710:
default: goto yy53;
}
yy711:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy129;
yy712:
yych = *++YYCURSOR;
@@ -19623,36 +19542,9 @@ yy712:
yy713:
yych = *++YYCURSOR;
switch (yych) {
- case '/':
- case '_': goto yy259;
case 'Y': goto yy125;
- case 'a':
- case 'b':
- case 'c':
- case 'd':
- case 'e':
- case 'f':
- case 'g':
- case 'h':
- case 'i':
- case 'j':
- case 'k':
- case 'l':
- case 'm':
- case 'n':
- case 'o':
- case 'p':
- case 'q':
- case 'r':
- case 's':
- case 't':
- case 'u':
- case 'v':
- case 'w':
- case 'x':
- case 'z': goto yy559;
case 'y': goto yy561;
- default: goto yy53;
+ default: goto yy560;
}
yy714:
yych = *++YYCURSOR;
@@ -19864,36 +19756,9 @@ yy742:
yy743:
yych = *++YYCURSOR;
switch (yych) {
- case '/':
- case '_': goto yy259;
case 'R': goto yy125;
- case 'a':
- case 'b':
- case 'c':
- case 'd':
- case 'e':
- case 'f':
- case 'g':
- case 'h':
- case 'i':
- case 'j':
- case 'k':
- case 'l':
- case 'm':
- case 'n':
- case 'o':
- case 'p':
- case 'q':
- case 's':
- case 't':
- case 'u':
- case 'v':
- case 'w':
- case 'x':
- case 'y':
- case 'z': goto yy559;
case 'r': goto yy561;
- default: goto yy53;
+ default: goto yy560;
}
yy744:
yych = *++YYCURSOR;
@@ -19938,7 +19803,7 @@ yy749:
default: goto yy560;
}
yy750:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy474;
yy751:
++YYCURSOR;
@@ -20212,7 +20077,7 @@ yy775:
TIMELIB_DEINIT;
return TIMELIB_PG_YEARDAY;
}
-#line 20216 "parse_date.c"
+#line 20081 "parse_date.c"
yy776:
yyaccept = 19;
yych = *(YYMARKER = ++YYCURSOR);
@@ -20396,8 +20261,8 @@ yy789:
default: goto yy505;
}
yy790:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -20427,7 +20292,7 @@ yy791:
TIMELIB_DEINIT;
return TIMELIB_ISO_WEEK;
}
-#line 20431 "parse_date.c"
+#line 20296 "parse_date.c"
yy792:
yych = *++YYCURSOR;
switch (yych) {
@@ -20522,11 +20387,11 @@ yy800:
default: goto yy586;
}
yy801:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy586;
yy802:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 'S':
case 's': goto yy879;
default: goto yy803;
@@ -20548,7 +20413,7 @@ yy803:
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 20552 "parse_date.c"
+#line 20417 "parse_date.c"
yy804:
yych = *++YYCURSOR;
switch (yych) {
@@ -21003,36 +20868,9 @@ yy829:
yy830:
yych = *++YYCURSOR;
switch (yych) {
- case '/':
- case '_': goto yy259;
case 'S': goto yy565;
- case 'a':
- case 'b':
- case 'c':
- case 'd':
- case 'e':
- case 'f':
- case 'g':
- case 'h':
- case 'i':
- case 'j':
- case 'k':
- case 'l':
- case 'm':
- case 'n':
- case 'o':
- case 'p':
- case 'q':
- case 'r':
- case 't':
- case 'u':
- case 'v':
- case 'w':
- case 'x':
- case 'y':
- case 'z': goto yy559;
case 's': goto yy568;
- default: goto yy53;
+ default: goto yy560;
}
yy831:
yych = *++YYCURSOR;
@@ -21063,10 +20901,10 @@ yy834:
default: goto yy560;
}
yy835:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy638;
yy836:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy197;
yy837:
yych = *++YYCURSOR;
@@ -21241,7 +21079,7 @@ yy852:
default: goto yy505;
}
yy853:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy775;
yy854:
yyaccept = 22;
@@ -21275,7 +21113,7 @@ yy855:
TIMELIB_DEINIT;
return TIMELIB_ISO_DATE;
}
-#line 21279 "parse_date.c"
+#line 21117 "parse_date.c"
yy856:
yyaccept = 22;
yych = *(YYMARKER = ++YYCURSOR);
@@ -21358,7 +21196,7 @@ yy860:
TIMELIB_DEINIT;
return TIMELIB_DATE_NOCOLON;
}
-#line 21362 "parse_date.c"
+#line 21200 "parse_date.c"
yy861:
yych = *++YYCURSOR;
switch (yych) {
@@ -21437,7 +21275,7 @@ yy869:
TIMELIB_DEINIT;
return TIMELIB_ISO_WEEK;
}
-#line 21441 "parse_date.c"
+#line 21279 "parse_date.c"
yy871:
yych = *++YYCURSOR;
switch (yych) {
@@ -21482,8 +21320,8 @@ yy874:
default: goto yy53;
}
yy875:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -21509,7 +21347,7 @@ yy876:
TIMELIB_DEINIT;
return TIMELIB_PG_TEXT;
}
-#line 21513 "parse_date.c"
+#line 21351 "parse_date.c"
yy877:
yyaccept = 16;
yych = *(YYMARKER = ++YYCURSOR);
@@ -21637,7 +21475,7 @@ yy878:
default: goto yy586;
}
yy879:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy803;
yy880:
yych = *++YYCURSOR;
@@ -21817,7 +21655,7 @@ yy900:
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 21821 "parse_date.c"
+#line 21659 "parse_date.c"
yy901:
yyaccept = 24;
yych = *(YYMARKER = ++YYCURSOR);
@@ -22155,7 +21993,7 @@ yy927:
TIMELIB_DEINIT;
return TIMELIB_PG_TEXT;
}
-#line 22159 "parse_date.c"
+#line 21997 "parse_date.c"
yy929:
yych = *++YYCURSOR;
switch (yych) {
@@ -22506,7 +22344,7 @@ yy947:
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 22510 "parse_date.c"
+#line 22348 "parse_date.c"
yy948:
yyaccept = 25;
yych = *(YYMARKER = ++YYCURSOR);
@@ -22598,7 +22436,7 @@ yy954:
default: goto yy855;
}
yy955:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy855;
yy956:
yyaccept = 22;
@@ -23008,7 +22846,7 @@ yy981:
default: goto yy53;
}
yy982:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy876;
yy983:
yych = *++YYCURSOR;
@@ -23587,8 +23425,8 @@ yy1018:
default: goto yy53;
}
yy1019:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -23625,7 +23463,7 @@ yy1020:
TIMELIB_DEINIT;
return TIMELIB_XMLRPC_SOAP;
}
-#line 23629 "parse_date.c"
+#line 23467 "parse_date.c"
yy1021:
yych = *++YYCURSOR;
switch (yych) {
@@ -23633,7 +23471,7 @@ yy1021:
default: goto yy1020;
}
yy1022:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy1020;
yy1023:
yych = *++YYCURSOR;
@@ -23836,8 +23674,8 @@ yy1040:
default: goto yy1020;
}
yy1042:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -23870,7 +23708,7 @@ yy1043:
TIMELIB_DEINIT;
return TIMELIB_CLF;
}
-#line 23874 "parse_date.c"
+#line 23712 "parse_date.c"
yy1044:
yych = *++YYCURSOR;
switch (yych) {
@@ -23949,7 +23787,7 @@ yy1048:
default: goto yy1043;
}
yy1049:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy1043;
yy1050:
yych = *++YYCURSOR;
@@ -24000,8 +23838,8 @@ yy1052:
default: goto yy1020;
}
yy1053:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -24021,6 +23859,7 @@ yy1053:
#define YYMAXFILL 26
+
timelib_time* timelib_strtotime(char *s, int len, int *errors, timelib_tzdb *tzdb)
{
Scanner in;
diff --git a/test/parse_date.db.c b/test/parse_date.db.c
index b817a474..39fff1fc 100644
--- a/test/parse_date.db.c
+++ b/test/parse_date.db.c
@@ -934,7 +934,7 @@ yy9:
goto yy5;
yy10:
YYDEBUG(10, *YYCURSOR);
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy7;
yy11:
YYDEBUG(11, *YYCURSOR);
@@ -1209,8 +1209,8 @@ yy16:
goto yy5;
yy17:
YYDEBUG(17, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 'U') {
+ yych = *++YYCURSOR;
+ if (yych <= 'U') {
if (yych <= 'F') {
if (yych == ')') goto yy102;
if (yych >= 'A') goto yy103;
@@ -3295,7 +3295,7 @@ yy101:
#line 3296 "parse_date.db.c"
yy102:
YYDEBUG(102, *YYCURSOR);
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy18;
yy103:
YYDEBUG(103, *YYCURSOR);
@@ -5774,8 +5774,8 @@ yy227:
}
yy229:
YYDEBUG(229, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy230;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy230;
if (yych <= '9') goto yy378;
yy230:
YYDEBUG(230, *YYCURSOR);
@@ -6152,8 +6152,8 @@ yy260:
}
yy261:
YYDEBUG(261, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '@') {
+ yych = *++YYCURSOR;
+ if (yych <= '@') {
if (yych == ')') goto yy102;
} else {
if (yych <= 'Z') goto yy411;
@@ -6705,8 +6705,8 @@ yy279:
}
yy280:
YYDEBUG(280, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 'D') {
+ yych = *++YYCURSOR;
+ if (yych <= 'D') {
if (yych <= ')') {
if (yych >= ')') goto yy102;
} else {
@@ -7525,8 +7525,8 @@ yy309:
}
yy310:
YYDEBUG(310, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '@') {
+ yych = *++YYCURSOR;
+ if (yych <= '@') {
if (yych == ')') goto yy102;
} else {
if (yych <= 'Z') goto yy411;
@@ -8722,8 +8722,8 @@ yy370:
}
yy371:
YYDEBUG(371, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == 'S') goto yy535;
+ yych = *++YYCURSOR;
+ if (yych == 'S') goto yy535;
if (yych == 's') goto yy535;
yy372:
YYDEBUG(372, *YYCURSOR);
@@ -10179,8 +10179,8 @@ yy455:
}
yy456:
YYDEBUG(456, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '@') {
+ yych = *++YYCURSOR;
+ if (yych <= '@') {
if (yych == ')') goto yy102;
} else {
if (yych <= 'Z') goto yy568;
@@ -10944,8 +10944,8 @@ yy487:
}
yy488:
YYDEBUG(488, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy489;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy489;
if (yych <= '9') goto yy650;
yy489:
YYDEBUG(489, *YYCURSOR);
@@ -11304,8 +11304,8 @@ yy518:
}
yy519:
YYDEBUG(519, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 'U') {
+ yych = *++YYCURSOR;
+ if (yych <= 'U') {
if (yych == 'I') goto yy694;
} else {
if (yych == 'W') goto yy520;
@@ -11467,7 +11467,7 @@ yy534:
goto yy53;
yy535:
YYDEBUG(535, *YYCURSOR);
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy372;
yy536:
YYDEBUG(536, *YYCURSOR);
@@ -13317,8 +13317,8 @@ yy638:
goto yy366;
yy639:
YYDEBUG(639, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '@') {
+ yych = *++YYCURSOR;
+ if (yych <= '@') {
if (yych == ')') goto yy102;
} else {
if (yych <= 'Z') goto yy725;
@@ -14180,7 +14180,7 @@ yy694:
if (yych != 'I') goto yy520;
yy695:
YYDEBUG(695, *YYCURSOR);
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy520;
yy696:
YYDEBUG(696, *YYCURSOR);
@@ -14323,7 +14323,7 @@ yy712:
goto yy53;
yy713:
YYDEBUG(713, *YYCURSOR);
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy230;
yy714:
YYDEBUG(714, *YYCURSOR);
@@ -15206,7 +15206,7 @@ yy760:
goto yy53;
yy761:
YYDEBUG(761, *YYCURSOR);
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy128;
yy762:
YYDEBUG(762, *YYCURSOR);
@@ -16160,7 +16160,7 @@ yy820:
goto yy489;
yy821:
YYDEBUG(821, *YYCURSOR);
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy491;
yy822:
YYDEBUG(822, *YYCURSOR);
@@ -16647,8 +16647,8 @@ yy859:
goto yy520;
yy860:
YYDEBUG(860, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy861;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy861;
if (yych <= '7') goto yy992;
yy861:
YYDEBUG(861, *YYCURSOR);
@@ -16728,25 +16728,9 @@ yy869:
yy870:
YYDEBUG(870, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych <= '^') {
- if (yych <= '/') {
- if (yych <= '.') goto yy53;
- goto yy265;
- } else {
- if (yych == 'R') goto yy125;
- goto yy53;
- }
- } else {
- if (yych <= 'q') {
- if (yych <= '_') goto yy265;
- if (yych <= '`') goto yy53;
- goto yy867;
- } else {
- if (yych <= 'r') goto yy914;
- if (yych <= 'z') goto yy867;
- goto yy53;
- }
- }
+ if (yych == 'R') goto yy125;
+ if (yych == 'r') goto yy914;
+ goto yy868;
yy871:
YYDEBUG(871, *YYCURSOR);
yych = *++YYCURSOR;
@@ -16926,25 +16910,9 @@ yy897:
yy898:
YYDEBUG(898, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych <= '^') {
- if (yych <= '/') {
- if (yych <= '.') goto yy53;
- goto yy265;
- } else {
- if (yych == 'H') goto yy606;
- goto yy53;
- }
- } else {
- if (yych <= 'g') {
- if (yych <= '_') goto yy265;
- if (yych <= '`') goto yy53;
- goto yy867;
- } else {
- if (yych <= 'h') goto yy948;
- if (yych <= 'z') goto yy867;
- goto yy53;
- }
- }
+ if (yych == 'H') goto yy606;
+ if (yych == 'h') goto yy948;
+ goto yy868;
yy899:
YYDEBUG(899, *YYCURSOR);
yych = *++YYCURSOR;
@@ -16954,25 +16922,9 @@ yy899:
yy900:
YYDEBUG(900, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych <= '^') {
- if (yych <= '/') {
- if (yych <= '.') goto yy53;
- goto yy265;
- } else {
- if (yych == 'Y') goto yy125;
- goto yy53;
- }
- } else {
- if (yych <= 'x') {
- if (yych <= '_') goto yy265;
- if (yych <= '`') goto yy53;
- goto yy867;
- } else {
- if (yych <= 'y') goto yy914;
- if (yych <= 'z') goto yy867;
- goto yy53;
- }
- }
+ if (yych == 'Y') goto yy125;
+ if (yych == 'y') goto yy914;
+ goto yy868;
yy901:
YYDEBUG(901, *YYCURSOR);
yych = *++YYCURSOR;
@@ -17104,7 +17056,7 @@ yy912:
goto yy601;
yy913:
YYDEBUG(913, *YYCURSOR);
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy601;
yy914:
YYDEBUG(914, *YYCURSOR);
@@ -17120,8 +17072,8 @@ yy914:
}
yy915:
YYDEBUG(915, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == 'S') goto yy1002;
+ yych = *++YYCURSOR;
+ if (yych == 'S') goto yy1002;
if (yych == 's') goto yy1002;
yy916:
YYDEBUG(916, *YYCURSOR);
@@ -17141,7 +17093,7 @@ yy916:
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 17145 "parse_date.db.c"
+#line 17097 "parse_date.db.c"
yy917:
YYDEBUG(917, *YYCURSOR);
yych = *++YYCURSOR;
@@ -17498,25 +17450,9 @@ yy942:
yy943:
YYDEBUG(943, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych <= '^') {
- if (yych <= '/') {
- if (yych <= '.') goto yy53;
- goto yy265;
- } else {
- if (yych == 'S') goto yy606;
- goto yy53;
- }
- } else {
- if (yych <= 'r') {
- if (yych <= '_') goto yy265;
- if (yych <= '`') goto yy53;
- goto yy867;
- } else {
- if (yych <= 's') goto yy948;
- if (yych <= 'z') goto yy867;
- goto yy53;
- }
- }
+ if (yych == 'S') goto yy606;
+ if (yych == 's') goto yy948;
+ goto yy868;
yy944:
YYDEBUG(944, *YYCURSOR);
yych = *++YYCURSOR;
@@ -17586,7 +17522,7 @@ yy948:
}
yy949:
YYDEBUG(949, *YYCURSOR);
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy683;
yy950:
YYDEBUG(950, *YYCURSOR);
@@ -17596,7 +17532,7 @@ yy950:
goto yy53;
yy951:
YYDEBUG(951, *YYCURSOR);
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy281;
yy952:
YYDEBUG(952, *YYCURSOR);
@@ -17643,11 +17579,11 @@ yy957:
goto yy868;
yy958:
YYDEBUG(958, *YYCURSOR);
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy489;
yy959:
YYDEBUG(959, *YYCURSOR);
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy204;
yy960:
YYDEBUG(960, *YYCURSOR);
@@ -17858,7 +17794,7 @@ yy975:
}
yy976:
YYDEBUG(976, *YYCURSOR);
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy845;
yy977:
YYDEBUG(977, *YYCURSOR);
@@ -17889,7 +17825,7 @@ yy978:
TIMELIB_DEINIT;
return TIMELIB_ISO_DATE;
}
-#line 17893 "parse_date.db.c"
+#line 17829 "parse_date.db.c"
yy979:
YYDEBUG(979, *YYCURSOR);
yyaccept = 22;
@@ -18003,7 +17939,7 @@ yy983:
TIMELIB_DEINIT;
return TIMELIB_DATE_NOCOLON;
}
-#line 18007 "parse_date.db.c"
+#line 17943 "parse_date.db.c"
yy984:
YYDEBUG(984, *YYCURSOR);
yych = *++YYCURSOR;
@@ -18075,7 +18011,7 @@ yy992:
TIMELIB_DEINIT;
return TIMELIB_ISO_WEEK;
}
-#line 18079 "parse_date.db.c"
+#line 18015 "parse_date.db.c"
yy994:
YYDEBUG(994, *YYCURSOR);
yych = *++YYCURSOR;
@@ -18102,8 +18038,8 @@ yy997:
goto yy53;
yy998:
YYDEBUG(998, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy999;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy999;
if (yych <= '9') goto yy1054;
yy999:
YYDEBUG(999, *YYCURSOR);
@@ -18119,7 +18055,7 @@ yy999:
TIMELIB_DEINIT;
return TIMELIB_PG_TEXT;
}
-#line 18123 "parse_date.db.c"
+#line 18059 "parse_date.db.c"
yy1000:
YYDEBUG(1000, *YYCURSOR);
yyaccept = 16;
@@ -18182,7 +18118,7 @@ yy1001:
}
yy1002:
YYDEBUG(1002, *YYCURSOR);
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy916;
yy1003:
YYDEBUG(1003, *YYCURSOR);
@@ -18325,7 +18261,7 @@ yy1021:
goto yy868;
yy1022:
YYDEBUG(1022, *YYCURSOR);
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy640;
yy1023:
YYDEBUG(1023, *YYCURSOR);
@@ -18356,7 +18292,7 @@ yy1025:
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 18360 "parse_date.db.c"
+#line 18296 "parse_date.db.c"
yy1026:
YYDEBUG(1026, *YYCURSOR);
yyaccept = 24;
@@ -18661,7 +18597,7 @@ yy1052:
TIMELIB_DEINIT;
return TIMELIB_PG_TEXT;
}
-#line 18665 "parse_date.db.c"
+#line 18601 "parse_date.db.c"
yy1054:
YYDEBUG(1054, *YYCURSOR);
yych = *++YYCURSOR;
@@ -18808,7 +18744,7 @@ yy1072:
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 18812 "parse_date.db.c"
+#line 18748 "parse_date.db.c"
yy1073:
YYDEBUG(1073, *YYCURSOR);
yyaccept = 25;
@@ -18872,7 +18808,7 @@ yy1079:
}
yy1080:
YYDEBUG(1080, *YYCURSOR);
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy978;
yy1081:
YYDEBUG(1081, *YYCURSOR);
@@ -19091,7 +19027,7 @@ yy1106:
goto yy53;
yy1107:
YYDEBUG(1107, *YYCURSOR);
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy999;
yy1108:
YYDEBUG(1108, *YYCURSOR);
@@ -19392,8 +19328,8 @@ yy1143:
goto yy53;
yy1144:
YYDEBUG(1144, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy1145;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy1145;
if (yych <= '9') goto yy1147;
yy1145:
YYDEBUG(1145, *YYCURSOR);
@@ -19422,14 +19358,14 @@ yy1145:
TIMELIB_DEINIT;
return TIMELIB_XMLRPC_SOAP;
}
-#line 19426 "parse_date.db.c"
+#line 19362 "parse_date.db.c"
yy1146:
YYDEBUG(1146, *YYCURSOR);
yych = *++YYCURSOR;
if (yych != '0') goto yy1145;
yy1147:
YYDEBUG(1147, *YYCURSOR);
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy1145;
yy1148:
YYDEBUG(1148, *YYCURSOR);
@@ -19599,8 +19535,8 @@ yy1169:
}
yy1171:
YYDEBUG(1171, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy1172;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy1172;
if (yych <= '9') goto yy1174;
if (yych <= ':') goto yy1176;
yy1172:
@@ -19625,7 +19561,7 @@ yy1172:
TIMELIB_DEINIT;
return TIMELIB_CLF;
}
-#line 19629 "parse_date.db.c"
+#line 19565 "parse_date.db.c"
yy1173:
YYDEBUG(1173, *YYCURSOR);
yych = *++YYCURSOR;
@@ -19667,7 +19603,7 @@ yy1177:
if (yych >= ':') goto yy1172;
yy1178:
YYDEBUG(1178, *YYCURSOR);
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy1172;
yy1179:
YYDEBUG(1179, *YYCURSOR);
@@ -19696,8 +19632,8 @@ yy1181:
if (yych >= ';') goto yy1145;
yy1182:
YYDEBUG(1182, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy1145;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy1145;
if (yych <= '5') goto yy1144;
if (yych <= '9') goto yy1147;
goto yy1145;
@@ -19708,6 +19644,7 @@ yy1182:
#define YYMAXFILL 29
+
timelib_time* timelib_strtotime(char *s, int len, struct timelib_error_container **errors, timelib_tzdb *tzdb)
{
Scanner in;
diff --git a/test/parse_date.g.c b/test/parse_date.g.c
index a2a1831d..108088ef 100644
--- a/test/parse_date.g.c
+++ b/test/parse_date.g.c
@@ -867,7 +867,7 @@ yy9:
if (yych <= '9') goto yy58;
goto yy5;
yy10:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy7;
yy11:
yyaccept = 1;
@@ -1077,7 +1077,7 @@ yy16:
if (yych <= '9') goto yy99;
goto yy5;
yy17:
- ++YYCURSOR;
+ yych = *++YYCURSOR;
{
static void *yytarget[256] = {
&&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
@@ -1113,7 +1113,7 @@ yy17:
&&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
&&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
};
- goto *yytarget[(yych = *YYCURSOR)];
+ goto *yytarget[yych];
}
yy18:
#line 1340 "parse_date.g.re"
@@ -2842,7 +2842,7 @@ yy101:
}
#line 2844 "parse_date.g.c"
yy102:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy18;
yy103:
yych = *++YYCURSOR;
@@ -3377,8 +3377,8 @@ yy127:
if (yych <= '9') goto yy126;
goto yy18;
yy128:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy282;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy282;
if (yych <= '9') goto yy283;
goto yy282;
yy129:
@@ -5027,8 +5027,8 @@ yy220:
if (yych <= '/') goto yy53;
if (yych >= ':') goto yy53;
yy222:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy223;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy223;
if (yych <= '9') goto yy369;
yy223:
#line 1073 "parse_date.g.re"
@@ -5290,8 +5290,8 @@ yy249:
if (yych == 'M') goto yy250;
if (yych != 'm') goto yy53;
yy250:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '.') goto yy388;
+ yych = *++YYCURSOR;
+ if (yych == '.') goto yy388;
yy251:
#line 929 "parse_date.g.re"
{
@@ -5368,8 +5368,8 @@ yy254:
goto yy18;
}
yy255:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '@') {
+ yych = *++YYCURSOR;
+ if (yych <= '@') {
if (yych == ')') goto yy102;
} else {
if (yych <= 'Z') goto yy400;
@@ -5882,8 +5882,8 @@ yy273:
}
}
yy274:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 'D') {
+ yych = *++YYCURSOR;
+ if (yych <= 'D') {
if (yych <= ')') {
if (yych >= ')') goto yy102;
} else {
@@ -6621,8 +6621,8 @@ yy302:
}
}
yy303:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '@') {
+ yych = *++YYCURSOR;
+ if (yych <= '@') {
if (yych == ')') goto yy102;
} else {
if (yych <= 'Z') goto yy400;
@@ -7703,8 +7703,8 @@ yy361:
}
}
yy362:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == 'S') goto yy520;
+ yych = *++YYCURSOR;
+ if (yych == 'S') goto yy520;
if (yych == 's') goto yy520;
yy363:
#line 1379 "parse_date.g.re"
@@ -8017,7 +8017,7 @@ yy387:
}
}
yy388:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy251;
yy389:
yych = *++YYCURSOR;
@@ -8741,8 +8741,8 @@ yy441:
}
}
yy442:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == ')') goto yy102;
+ yych = *++YYCURSOR;
+ if (yych == ')') goto yy102;
yy443:
#line 871 "parse_date.g.re"
{
@@ -9619,8 +9619,8 @@ yy503:
}
}
yy504:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 'U') {
+ yych = *++YYCURSOR;
+ if (yych <= 'U') {
if (yych == 'I') goto yy674;
} else {
if (yych == 'W') goto yy505;
@@ -9766,7 +9766,7 @@ yy519:
if (yych == 's') goto yy689;
goto yy53;
yy520:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy363;
yy521:
yych = *++YYCURSOR;
@@ -10041,25 +10041,9 @@ yy561:
}
yy562:
yych = *++YYCURSOR;
- if (yych <= '^') {
- if (yych <= '/') {
- if (yych <= '.') goto yy53;
- goto yy259;
- } else {
- if (yych == 'T') goto yy125;
- goto yy53;
- }
- } else {
- if (yych <= 's') {
- if (yych <= '_') goto yy259;
- if (yych <= '`') goto yy53;
- goto yy559;
- } else {
- if (yych <= 't') goto yy561;
- if (yych <= 'z') goto yy559;
- goto yy53;
- }
- }
+ if (yych == 'T') goto yy125;
+ if (yych == 't') goto yy561;
+ goto yy560;
yy563:
yych = *++YYCURSOR;
if (yych == 'B') goto yy609;
@@ -10183,25 +10167,9 @@ yy573:
goto yy560;
yy574:
yych = *++YYCURSOR;
- if (yych <= '^') {
- if (yych <= '/') {
- if (yych <= '.') goto yy53;
- goto yy259;
- } else {
- if (yych == 'H') goto yy565;
- goto yy53;
- }
- } else {
- if (yych <= 'g') {
- if (yych <= '_') goto yy259;
- if (yych <= '`') goto yy53;
- goto yy559;
- } else {
- if (yych <= 'h') goto yy568;
- if (yych <= 'z') goto yy559;
- goto yy53;
- }
- }
+ if (yych == 'H') goto yy565;
+ if (yych == 'h') goto yy568;
+ goto yy560;
yy575:
yych = *++YYCURSOR;
if (yych == 'Y') goto yy704;
@@ -10290,7 +10258,7 @@ yy583:
TIMELIB_DEINIT;
return TIMELIB_DATE_NO_DAY;
}
-#line 10294 "parse_date.g.c"
+#line 10262 "parse_date.g.c"
yy584:
yych = *++YYCURSOR;
if (yych <= '/') goto yy583;
@@ -10333,7 +10301,7 @@ yy586:
TIMELIB_DEINIT;
return TIMELIB_SHORTDATE_WITH_TIME;
}
-#line 10337 "parse_date.g.c"
+#line 10305 "parse_date.g.c"
yy587:
yyaccept = 16;
yych = *(YYMARKER = ++YYCURSOR);
@@ -10584,25 +10552,9 @@ yy617:
goto yy560;
yy618:
yych = *++YYCURSOR;
- if (yych <= '^') {
- if (yych <= '/') {
- if (yych <= '.') goto yy53;
- goto yy259;
- } else {
- if (yych == 'D') goto yy565;
- goto yy53;
- }
- } else {
- if (yych <= 'c') {
- if (yych <= '_') goto yy259;
- if (yych <= '`') goto yy53;
- goto yy559;
- } else {
- if (yych <= 'd') goto yy568;
- if (yych <= 'z') goto yy559;
- goto yy53;
- }
- }
+ if (yych == 'D') goto yy565;
+ if (yych == 'd') goto yy568;
+ goto yy560;
yy619:
yych = *++YYCURSOR;
if (yych == 'M') goto yy563;
@@ -10625,7 +10577,7 @@ yy622:
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 10629 "parse_date.g.c"
+#line 10581 "parse_date.g.c"
yy623:
yych = *++YYCURSOR;
if (yych == 'R') goto yy746;
@@ -10703,8 +10655,8 @@ yy636:
if (yych <= '9') goto yy753;
goto yy192;
yy637:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy638;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy638;
if (yych <= '9') goto yy753;
yy638:
#line 1087 "parse_date.g.re"
@@ -10719,7 +10671,7 @@ yy638:
TIMELIB_DEINIT;
return TIMELIB_DATE_FULL_POINTED;
}
-#line 10723 "parse_date.g.c"
+#line 10675 "parse_date.g.c"
yy639:
yych = *++YYCURSOR;
if (yych <= '/') goto yy197;
@@ -10922,7 +10874,7 @@ yy663:
TIMELIB_DEINIT;
return TIMELIB_ISO_NOCOLON;
}
-#line 10926 "parse_date.g.c"
+#line 10878 "parse_date.g.c"
yy664:
yyaccept = 18;
yych = *(YYMARKER = ++YYCURSOR);
@@ -11117,7 +11069,7 @@ yy674:
yych = *++YYCURSOR;
if (yych != 'I') goto yy505;
yy675:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy505;
yy676:
yych = *++YYCURSOR;
@@ -11242,7 +11194,7 @@ yy692:
if (yych == 'y') goto yy520;
goto yy53;
yy693:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy223;
yy694:
yych = *++YYCURSOR;
@@ -11349,7 +11301,7 @@ yy703:
default: goto yy282;
}
yy704:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy275;
yy705:
yyaccept = 7;
@@ -11403,7 +11355,7 @@ yy710:
if (yych <= '9') goto yy801;
goto yy53;
yy711:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy129;
yy712:
yych = *++YYCURSOR;
@@ -11412,25 +11364,9 @@ yy712:
goto yy53;
yy713:
yych = *++YYCURSOR;
- if (yych <= '^') {
- if (yych <= '/') {
- if (yych <= '.') goto yy53;
- goto yy259;
- } else {
- if (yych == 'Y') goto yy125;
- goto yy53;
- }
- } else {
- if (yych <= 'x') {
- if (yych <= '_') goto yy259;
- if (yych <= '`') goto yy53;
- goto yy559;
- } else {
- if (yych <= 'y') goto yy561;
- if (yych <= 'z') goto yy559;
- goto yy53;
- }
- }
+ if (yych == 'Y') goto yy125;
+ if (yych == 'y') goto yy561;
+ goto yy560;
yy714:
yych = *++YYCURSOR;
if (yych == 'Y') goto yy802;
@@ -11592,25 +11528,9 @@ yy742:
goto yy53;
yy743:
yych = *++YYCURSOR;
- if (yych <= '^') {
- if (yych <= '/') {
- if (yych <= '.') goto yy53;
- goto yy259;
- } else {
- if (yych == 'R') goto yy125;
- goto yy53;
- }
- } else {
- if (yych <= 'q') {
- if (yych <= '_') goto yy259;
- if (yych <= '`') goto yy53;
- goto yy559;
- } else {
- if (yych <= 'r') goto yy561;
- if (yych <= 'z') goto yy559;
- goto yy53;
- }
- }
+ if (yych == 'R') goto yy125;
+ if (yych == 'r') goto yy561;
+ goto yy560;
yy744:
yych = *++YYCURSOR;
if (yych == 'U') goto yy829;
@@ -11642,7 +11562,7 @@ yy749:
if (yych == 'd') goto yy834;
goto yy560;
yy750:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy474;
yy751:
++YYCURSOR;
@@ -11831,7 +11751,7 @@ yy775:
TIMELIB_DEINIT;
return TIMELIB_PG_YEARDAY;
}
-#line 11835 "parse_date.g.c"
+#line 11755 "parse_date.g.c"
yy776:
yyaccept = 19;
yych = *(YYMARKER = ++YYCURSOR);
@@ -12014,8 +11934,8 @@ yy789:
if (yych == 't') goto yy782;
goto yy505;
yy790:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy791;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy791;
if (yych <= '7') goto yy869;
yy791:
#line 1219 "parse_date.g.re"
@@ -12036,7 +11956,7 @@ yy791:
TIMELIB_DEINIT;
return TIMELIB_ISO_WEEK;
}
-#line 12040 "parse_date.g.c"
+#line 11960 "parse_date.g.c"
yy792:
yych = *++YYCURSOR;
if (yych == 'G') goto yy871;
@@ -12096,11 +12016,11 @@ yy800:
if (yych == '0') goto yy878;
goto yy586;
yy801:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy586;
yy802:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == 'S') goto yy879;
+ yych = *++YYCURSOR;
+ if (yych == 'S') goto yy879;
if (yych == 's') goto yy879;
yy803:
#line 1323 "parse_date.g.re"
@@ -12119,7 +12039,7 @@ yy803:
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 12123 "parse_date.g.c"
+#line 12043 "parse_date.g.c"
yy804:
yych = *++YYCURSOR;
if (yych == 'T') goto yy880;
@@ -12449,25 +12369,9 @@ yy829:
goto yy53;
yy830:
yych = *++YYCURSOR;
- if (yych <= '^') {
- if (yych <= '/') {
- if (yych <= '.') goto yy53;
- goto yy259;
- } else {
- if (yych == 'S') goto yy565;
- goto yy53;
- }
- } else {
- if (yych <= 'r') {
- if (yych <= '_') goto yy259;
- if (yych <= '`') goto yy53;
- goto yy559;
- } else {
- if (yych <= 's') goto yy568;
- if (yych <= 'z') goto yy559;
- goto yy53;
- }
- }
+ if (yych == 'S') goto yy565;
+ if (yych == 's') goto yy568;
+ goto yy560;
yy831:
yych = *++YYCURSOR;
if (yych == 'W') goto yy899;
@@ -12489,10 +12393,10 @@ yy834:
if (yych == 'a') goto yy903;
goto yy560;
yy835:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy638;
yy836:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy197;
yy837:
yych = *++YYCURSOR;
@@ -12686,7 +12590,7 @@ yy852:
goto yy505;
}
yy853:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy775;
yy854:
yyaccept = 22;
@@ -12715,7 +12619,7 @@ yy855:
TIMELIB_DEINIT;
return TIMELIB_ISO_DATE;
}
-#line 12719 "parse_date.g.c"
+#line 12623 "parse_date.g.c"
yy856:
yyaccept = 22;
yych = *(YYMARKER = ++YYCURSOR);
@@ -12809,7 +12713,7 @@ yy860:
TIMELIB_DEINIT;
return TIMELIB_DATE_NOCOLON;
}
-#line 12813 "parse_date.g.c"
+#line 12717 "parse_date.g.c"
yy861:
yych = *++YYCURSOR;
if (yych <= '/') goto yy53;
@@ -12871,7 +12775,7 @@ yy869:
TIMELIB_DEINIT;
return TIMELIB_ISO_WEEK;
}
-#line 12875 "parse_date.g.c"
+#line 12779 "parse_date.g.c"
yy871:
yych = *++YYCURSOR;
if (yych == 'H') goto yy926;
@@ -12893,8 +12797,8 @@ yy874:
if (yych <= '1') goto yy927;
goto yy53;
yy875:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy876;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy876;
if (yych <= '9') goto yy929;
yy876:
#line 1238 "parse_date.g.re"
@@ -12909,7 +12813,7 @@ yy876:
TIMELIB_DEINIT;
return TIMELIB_PG_TEXT;
}
-#line 12913 "parse_date.g.c"
+#line 12817 "parse_date.g.c"
yy877:
yyaccept = 16;
yych = *(YYMARKER = ++YYCURSOR);
@@ -12974,7 +12878,7 @@ yy878:
}
}
yy879:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy803;
yy880:
yych = *++YYCURSOR;
@@ -13110,7 +13014,7 @@ yy900:
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 13114 "parse_date.g.c"
+#line 13018 "parse_date.g.c"
yy901:
yyaccept = 24;
yych = *(YYMARKER = ++YYCURSOR);
@@ -13387,7 +13291,7 @@ yy927:
TIMELIB_DEINIT;
return TIMELIB_PG_TEXT;
}
-#line 13391 "parse_date.g.c"
+#line 13295 "parse_date.g.c"
yy929:
yych = *++YYCURSOR;
if (yych <= '/') goto yy876;
@@ -13515,7 +13419,7 @@ yy947:
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 13519 "parse_date.g.c"
+#line 13423 "parse_date.g.c"
yy948:
yyaccept = 25;
yych = *(YYMARKER = ++YYCURSOR);
@@ -13571,7 +13475,7 @@ yy954:
}
}
yy955:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy855;
yy956:
yyaccept = 22;
@@ -13763,7 +13667,7 @@ yy981:
if (yych <= '2') goto yy1000;
goto yy53;
yy982:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy876;
yy983:
yych = *++YYCURSOR;
@@ -13995,8 +13899,8 @@ yy1018:
if (yych <= '5') goto yy1024;
goto yy53;
yy1019:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy1020;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy1020;
if (yych <= '9') goto yy1022;
yy1020:
#line 1163 "parse_date.g.re"
@@ -14022,12 +13926,12 @@ yy1020:
TIMELIB_DEINIT;
return TIMELIB_XMLRPC_SOAP;
}
-#line 14026 "parse_date.g.c"
+#line 13930 "parse_date.g.c"
yy1021:
yych = *++YYCURSOR;
if (yych != '0') goto yy1020;
yy1022:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy1020;
yy1023:
yych = *++YYCURSOR;
@@ -14133,8 +14037,8 @@ yy1040:
goto yy1020;
}
yy1042:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy1043;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy1043;
if (yych <= '9') goto yy1045;
if (yych <= ':') goto yy1047;
yy1043:
@@ -14156,7 +14060,7 @@ yy1043:
TIMELIB_DEINIT;
return TIMELIB_CLF;
}
-#line 14160 "parse_date.g.c"
+#line 14064 "parse_date.g.c"
yy1044:
yych = *++YYCURSOR;
if (yych <= '5') {
@@ -14192,7 +14096,7 @@ yy1048:
if (yych <= '/') goto yy1043;
if (yych >= ':') goto yy1043;
yy1049:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy1043;
yy1050:
yych = *++YYCURSOR;
@@ -14217,8 +14121,8 @@ yy1052:
if (yych <= '9') goto yy1022;
if (yych >= ';') goto yy1020;
yy1053:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy1020;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy1020;
if (yych <= '5') goto yy1019;
if (yych <= '9') goto yy1022;
goto yy1020;
@@ -14229,6 +14133,7 @@ yy1053:
#define YYMAXFILL 26
+
timelib_time* timelib_strtotime(char *s, int len, int *errors, timelib_tzdb *tzdb)
{
Scanner in;
diff --git a/test/parse_date.s.c b/test/parse_date.s.c
index 82b56705..77a9cdb7 100644
--- a/test/parse_date.s.c
+++ b/test/parse_date.s.c
@@ -869,7 +869,7 @@ yy9:
goto yy5;
}
yy10:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy7;
yy11:
yyaccept = 1;
@@ -1192,8 +1192,8 @@ yy16:
if (yych <= '9') goto yy99;
goto yy5;
yy17:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 'U') {
+ yych = *++YYCURSOR;
+ if (yych <= 'U') {
if (yych <= 'F') {
if (yych == ')') goto yy102;
if (yych >= 'A') goto yy103;
@@ -3002,7 +3002,7 @@ yy101:
}
#line 3004 "parse_date.s.c"
yy102:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy18;
yy103:
yych = *++YYCURSOR;
@@ -3536,8 +3536,8 @@ yy127:
if (yych <= '9') goto yy126;
goto yy18;
yy128:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy282;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy282;
if (yych <= '9') goto yy283;
goto yy282;
yy129:
@@ -5148,8 +5148,8 @@ yy220:
if (yych <= '/') goto yy53;
if (yych >= ':') goto yy53;
yy222:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy223;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy223;
if (yych <= '9') goto yy369;
yy223:
#line 1073 "parse_date.s.re"
@@ -5393,8 +5393,8 @@ yy249:
if (yych == 'M') goto yy250;
if (yych != 'm') goto yy53;
yy250:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '.') goto yy388;
+ yych = *++YYCURSOR;
+ if (yych == '.') goto yy388;
yy251:
#line 929 "parse_date.s.re"
{
@@ -5463,8 +5463,8 @@ yy254:
goto yy18;
}
yy255:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '@') {
+ yych = *++YYCURSOR;
+ if (yych <= '@') {
if (yych == ')') goto yy102;
} else {
if (yych <= 'Z') goto yy400;
@@ -5930,8 +5930,8 @@ yy273:
}
}
yy274:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 'D') {
+ yych = *++YYCURSOR;
+ if (yych <= 'D') {
if (yych <= ')') {
if (yych >= ')') goto yy102;
} else {
@@ -6648,8 +6648,8 @@ yy302:
}
}
yy303:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '@') {
+ yych = *++YYCURSOR;
+ if (yych <= '@') {
if (yych == ')') goto yy102;
} else {
if (yych <= 'Z') goto yy400;
@@ -7736,8 +7736,8 @@ yy361:
}
}
yy362:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == 'S') goto yy520;
+ yych = *++YYCURSOR;
+ if (yych == 'S') goto yy520;
if (yych == 's') goto yy520;
yy363:
#line 1379 "parse_date.s.re"
@@ -8050,7 +8050,7 @@ yy387:
}
}
yy388:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy251;
yy389:
yych = *++YYCURSOR;
@@ -8761,8 +8761,8 @@ yy441:
}
}
yy442:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == ')') goto yy102;
+ yych = *++YYCURSOR;
+ if (yych == ')') goto yy102;
yy443:
#line 871 "parse_date.s.re"
{
@@ -9628,8 +9628,8 @@ yy503:
}
}
yy504:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 'U') {
+ yych = *++YYCURSOR;
+ if (yych <= 'U') {
if (yych == 'I') goto yy674;
} else {
if (yych == 'W') goto yy505;
@@ -9775,7 +9775,7 @@ yy519:
if (yych == 's') goto yy689;
goto yy53;
yy520:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy363;
yy521:
yych = *++YYCURSOR;
@@ -10053,25 +10053,9 @@ yy561:
}
yy562:
yych = *++YYCURSOR;
- if (yych <= '^') {
- if (yych <= '/') {
- if (yych <= '.') goto yy53;
- goto yy259;
- } else {
- if (yych == 'T') goto yy125;
- goto yy53;
- }
- } else {
- if (yych <= 's') {
- if (yych <= '_') goto yy259;
- if (yych <= '`') goto yy53;
- goto yy559;
- } else {
- if (yych <= 't') goto yy561;
- if (yych <= 'z') goto yy559;
- goto yy53;
- }
- }
+ if (yych == 'T') goto yy125;
+ if (yych == 't') goto yy561;
+ goto yy560;
yy563:
yych = *++YYCURSOR;
if (yych == 'B') goto yy609;
@@ -10181,25 +10165,9 @@ yy573:
goto yy560;
yy574:
yych = *++YYCURSOR;
- if (yych <= '^') {
- if (yych <= '/') {
- if (yych <= '.') goto yy53;
- goto yy259;
- } else {
- if (yych == 'H') goto yy565;
- goto yy53;
- }
- } else {
- if (yych <= 'g') {
- if (yych <= '_') goto yy259;
- if (yych <= '`') goto yy53;
- goto yy559;
- } else {
- if (yych <= 'h') goto yy568;
- if (yych <= 'z') goto yy559;
- goto yy53;
- }
- }
+ if (yych == 'H') goto yy565;
+ if (yych == 'h') goto yy568;
+ goto yy560;
yy575:
yych = *++YYCURSOR;
if (yych == 'Y') goto yy704;
@@ -10288,7 +10256,7 @@ yy583:
TIMELIB_DEINIT;
return TIMELIB_DATE_NO_DAY;
}
-#line 10292 "parse_date.s.c"
+#line 10260 "parse_date.s.c"
yy584:
yych = *++YYCURSOR;
if (yych <= '/') goto yy583;
@@ -10331,7 +10299,7 @@ yy586:
TIMELIB_DEINIT;
return TIMELIB_SHORTDATE_WITH_TIME;
}
-#line 10335 "parse_date.s.c"
+#line 10303 "parse_date.s.c"
yy587:
yyaccept = 16;
yych = *(YYMARKER = ++YYCURSOR);
@@ -10582,25 +10550,9 @@ yy617:
goto yy560;
yy618:
yych = *++YYCURSOR;
- if (yych <= '^') {
- if (yych <= '/') {
- if (yych <= '.') goto yy53;
- goto yy259;
- } else {
- if (yych == 'D') goto yy565;
- goto yy53;
- }
- } else {
- if (yych <= 'c') {
- if (yych <= '_') goto yy259;
- if (yych <= '`') goto yy53;
- goto yy559;
- } else {
- if (yych <= 'd') goto yy568;
- if (yych <= 'z') goto yy559;
- goto yy53;
- }
- }
+ if (yych == 'D') goto yy565;
+ if (yych == 'd') goto yy568;
+ goto yy560;
yy619:
yych = *++YYCURSOR;
if (yych == 'M') goto yy563;
@@ -10623,7 +10575,7 @@ yy622:
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 10627 "parse_date.s.c"
+#line 10579 "parse_date.s.c"
yy623:
yych = *++YYCURSOR;
if (yych == 'R') goto yy746;
@@ -10701,8 +10653,8 @@ yy636:
if (yych <= '9') goto yy753;
goto yy192;
yy637:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy638;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy638;
if (yych <= '9') goto yy753;
yy638:
#line 1087 "parse_date.s.re"
@@ -10717,7 +10669,7 @@ yy638:
TIMELIB_DEINIT;
return TIMELIB_DATE_FULL_POINTED;
}
-#line 10721 "parse_date.s.c"
+#line 10673 "parse_date.s.c"
yy639:
yych = *++YYCURSOR;
if (yych <= '/') goto yy197;
@@ -10913,7 +10865,7 @@ yy663:
TIMELIB_DEINIT;
return TIMELIB_ISO_NOCOLON;
}
-#line 10917 "parse_date.s.c"
+#line 10869 "parse_date.s.c"
yy664:
yyaccept = 18;
yych = *(YYMARKER = ++YYCURSOR);
@@ -11080,7 +11032,7 @@ yy674:
yych = *++YYCURSOR;
if (yych != 'I') goto yy505;
yy675:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy505;
yy676:
yych = *++YYCURSOR;
@@ -11205,7 +11157,7 @@ yy692:
if (yych == 'y') goto yy520;
goto yy53;
yy693:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy223;
yy694:
yych = *++YYCURSOR;
@@ -11312,7 +11264,7 @@ yy703:
default: goto yy282;
}
yy704:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy275;
yy705:
yyaccept = 7;
@@ -11366,7 +11318,7 @@ yy710:
if (yych <= '9') goto yy801;
goto yy53;
yy711:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy129;
yy712:
yych = *++YYCURSOR;
@@ -11375,25 +11327,9 @@ yy712:
goto yy53;
yy713:
yych = *++YYCURSOR;
- if (yych <= '^') {
- if (yych <= '/') {
- if (yych <= '.') goto yy53;
- goto yy259;
- } else {
- if (yych == 'Y') goto yy125;
- goto yy53;
- }
- } else {
- if (yych <= 'x') {
- if (yych <= '_') goto yy259;
- if (yych <= '`') goto yy53;
- goto yy559;
- } else {
- if (yych <= 'y') goto yy561;
- if (yych <= 'z') goto yy559;
- goto yy53;
- }
- }
+ if (yych == 'Y') goto yy125;
+ if (yych == 'y') goto yy561;
+ goto yy560;
yy714:
yych = *++YYCURSOR;
if (yych == 'Y') goto yy802;
@@ -11555,25 +11491,9 @@ yy742:
goto yy53;
yy743:
yych = *++YYCURSOR;
- if (yych <= '^') {
- if (yych <= '/') {
- if (yych <= '.') goto yy53;
- goto yy259;
- } else {
- if (yych == 'R') goto yy125;
- goto yy53;
- }
- } else {
- if (yych <= 'q') {
- if (yych <= '_') goto yy259;
- if (yych <= '`') goto yy53;
- goto yy559;
- } else {
- if (yych <= 'r') goto yy561;
- if (yych <= 'z') goto yy559;
- goto yy53;
- }
- }
+ if (yych == 'R') goto yy125;
+ if (yych == 'r') goto yy561;
+ goto yy560;
yy744:
yych = *++YYCURSOR;
if (yych == 'U') goto yy829;
@@ -11605,7 +11525,7 @@ yy749:
if (yych == 'd') goto yy834;
goto yy560;
yy750:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy474;
yy751:
++YYCURSOR;
@@ -11787,7 +11707,7 @@ yy775:
TIMELIB_DEINIT;
return TIMELIB_PG_YEARDAY;
}
-#line 11791 "parse_date.s.c"
+#line 11711 "parse_date.s.c"
yy776:
yyaccept = 19;
yych = *(YYMARKER = ++YYCURSOR);
@@ -11949,8 +11869,8 @@ yy789:
if (yych == 't') goto yy782;
goto yy505;
yy790:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy791;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy791;
if (yych <= '7') goto yy869;
yy791:
#line 1219 "parse_date.s.re"
@@ -11971,7 +11891,7 @@ yy791:
TIMELIB_DEINIT;
return TIMELIB_ISO_WEEK;
}
-#line 11975 "parse_date.s.c"
+#line 11895 "parse_date.s.c"
yy792:
yych = *++YYCURSOR;
if (yych == 'G') goto yy871;
@@ -12031,11 +11951,11 @@ yy800:
if (yych == '0') goto yy878;
goto yy586;
yy801:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy586;
yy802:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == 'S') goto yy879;
+ yych = *++YYCURSOR;
+ if (yych == 'S') goto yy879;
if (yych == 's') goto yy879;
yy803:
#line 1323 "parse_date.s.re"
@@ -12054,7 +11974,7 @@ yy803:
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 12058 "parse_date.s.c"
+#line 11978 "parse_date.s.c"
yy804:
yych = *++YYCURSOR;
if (yych == 'T') goto yy880;
@@ -12384,25 +12304,9 @@ yy829:
goto yy53;
yy830:
yych = *++YYCURSOR;
- if (yych <= '^') {
- if (yych <= '/') {
- if (yych <= '.') goto yy53;
- goto yy259;
- } else {
- if (yych == 'S') goto yy565;
- goto yy53;
- }
- } else {
- if (yych <= 'r') {
- if (yych <= '_') goto yy259;
- if (yych <= '`') goto yy53;
- goto yy559;
- } else {
- if (yych <= 's') goto yy568;
- if (yych <= 'z') goto yy559;
- goto yy53;
- }
- }
+ if (yych == 'S') goto yy565;
+ if (yych == 's') goto yy568;
+ goto yy560;
yy831:
yych = *++YYCURSOR;
if (yych == 'W') goto yy899;
@@ -12424,10 +12328,10 @@ yy834:
if (yych == 'a') goto yy903;
goto yy560;
yy835:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy638;
yy836:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy197;
yy837:
yych = *++YYCURSOR;
@@ -12621,7 +12525,7 @@ yy852:
goto yy505;
}
yy853:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy775;
yy854:
yyaccept = 22;
@@ -12650,7 +12554,7 @@ yy855:
TIMELIB_DEINIT;
return TIMELIB_ISO_DATE;
}
-#line 12654 "parse_date.s.c"
+#line 12558 "parse_date.s.c"
yy856:
yyaccept = 22;
yych = *(YYMARKER = ++YYCURSOR);
@@ -12737,7 +12641,7 @@ yy860:
TIMELIB_DEINIT;
return TIMELIB_DATE_NOCOLON;
}
-#line 12741 "parse_date.s.c"
+#line 12645 "parse_date.s.c"
yy861:
yych = *++YYCURSOR;
if (yych <= '/') goto yy53;
@@ -12799,7 +12703,7 @@ yy869:
TIMELIB_DEINIT;
return TIMELIB_ISO_WEEK;
}
-#line 12803 "parse_date.s.c"
+#line 12707 "parse_date.s.c"
yy871:
yych = *++YYCURSOR;
if (yych == 'H') goto yy926;
@@ -12821,8 +12725,8 @@ yy874:
if (yych <= '1') goto yy927;
goto yy53;
yy875:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy876;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy876;
if (yych <= '9') goto yy929;
yy876:
#line 1238 "parse_date.s.re"
@@ -12837,7 +12741,7 @@ yy876:
TIMELIB_DEINIT;
return TIMELIB_PG_TEXT;
}
-#line 12841 "parse_date.s.c"
+#line 12745 "parse_date.s.c"
yy877:
yyaccept = 16;
yych = *(YYMARKER = ++YYCURSOR);
@@ -12887,7 +12791,7 @@ yy878:
}
}
yy879:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy803;
yy880:
yych = *++YYCURSOR;
@@ -13023,7 +12927,7 @@ yy900:
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 13027 "parse_date.s.c"
+#line 12931 "parse_date.s.c"
yy901:
yyaccept = 24;
yych = *(YYMARKER = ++YYCURSOR);
@@ -13300,7 +13204,7 @@ yy927:
TIMELIB_DEINIT;
return TIMELIB_PG_TEXT;
}
-#line 13304 "parse_date.s.c"
+#line 13208 "parse_date.s.c"
yy929:
yych = *++YYCURSOR;
if (yych <= '/') goto yy876;
@@ -13428,7 +13332,7 @@ yy947:
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 13432 "parse_date.s.c"
+#line 13336 "parse_date.s.c"
yy948:
yyaccept = 25;
yych = *(YYMARKER = ++YYCURSOR);
@@ -13484,7 +13388,7 @@ yy954:
}
}
yy955:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy855;
yy956:
yyaccept = 22;
@@ -13676,7 +13580,7 @@ yy981:
if (yych <= '2') goto yy1000;
goto yy53;
yy982:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy876;
yy983:
yych = *++YYCURSOR;
@@ -13908,8 +13812,8 @@ yy1018:
if (yych <= '5') goto yy1024;
goto yy53;
yy1019:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy1020;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy1020;
if (yych <= '9') goto yy1022;
yy1020:
#line 1163 "parse_date.s.re"
@@ -13935,12 +13839,12 @@ yy1020:
TIMELIB_DEINIT;
return TIMELIB_XMLRPC_SOAP;
}
-#line 13939 "parse_date.s.c"
+#line 13843 "parse_date.s.c"
yy1021:
yych = *++YYCURSOR;
if (yych != '0') goto yy1020;
yy1022:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy1020;
yy1023:
yych = *++YYCURSOR;
@@ -14046,8 +13950,8 @@ yy1040:
goto yy1020;
}
yy1042:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy1043;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy1043;
if (yych <= '9') goto yy1045;
if (yych <= ':') goto yy1047;
yy1043:
@@ -14069,7 +13973,7 @@ yy1043:
TIMELIB_DEINIT;
return TIMELIB_CLF;
}
-#line 14073 "parse_date.s.c"
+#line 13977 "parse_date.s.c"
yy1044:
yych = *++YYCURSOR;
if (yych <= '5') {
@@ -14105,7 +14009,7 @@ yy1048:
if (yych <= '/') goto yy1043;
if (yych >= ':') goto yy1043;
yy1049:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy1043;
yy1050:
yych = *++YYCURSOR;
@@ -14130,8 +14034,8 @@ yy1052:
if (yych <= '9') goto yy1022;
if (yych >= ';') goto yy1020;
yy1053:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy1020;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy1020;
if (yych <= '5') goto yy1019;
if (yych <= '9') goto yy1022;
goto yy1020;
@@ -14142,6 +14046,7 @@ yy1053:
#define YYMAXFILL 26
+
timelib_time* timelib_strtotime(char *s, int len, int *errors, timelib_tzdb *tzdb)
{
Scanner in;
diff --git a/test/parse_date_1_78.db.c b/test/parse_date_1_78.db.c
index faa75cf4..504d42df 100644
--- a/test/parse_date_1_78.db.c
+++ b/test/parse_date_1_78.db.c
@@ -1026,7 +1026,7 @@ yy9:
}
yy10:
YYDEBUG(10, *YYCURSOR);
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy7;
yy11:
YYDEBUG(11, *YYCURSOR);
@@ -1301,8 +1301,8 @@ yy16:
goto yy5;
yy17:
YYDEBUG(17, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 'U') {
+ yych = *++YYCURSOR;
+ if (yych <= 'U') {
if (yych <= 'F') {
if (yych == ')') goto yy105;
if (yych >= 'A') goto yy106;
@@ -3452,7 +3452,7 @@ yy104:
#line 3453 "parse_date_1_78.db.c"
yy105:
YYDEBUG(105, *YYCURSOR);
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy18;
yy106:
YYDEBUG(106, *YYCURSOR);
@@ -6050,8 +6050,8 @@ yy233:
}
yy235:
YYDEBUG(235, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy236;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy236;
if (yych <= '9') goto yy399;
yy236:
YYDEBUG(236, *YYCURSOR);
@@ -6428,8 +6428,8 @@ yy266:
}
yy267:
YYDEBUG(267, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '@') {
+ yych = *++YYCURSOR;
+ if (yych <= '@') {
if (yych == ')') goto yy105;
} else {
if (yych <= 'Z') goto yy433;
@@ -6992,8 +6992,8 @@ yy286:
}
yy287:
YYDEBUG(287, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 'D') {
+ yych = *++YYCURSOR;
+ if (yych <= 'D') {
if (yych <= ')') {
if (yych >= ')') goto yy105;
} else {
@@ -7918,8 +7918,8 @@ yy321:
}
yy322:
YYDEBUG(322, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '@') {
+ yych = *++YYCURSOR;
+ if (yych <= '@') {
if (yych == ')') goto yy105;
} else {
if (yych <= 'Z') goto yy433;
@@ -9376,8 +9376,8 @@ yy391:
}
yy392:
YYDEBUG(392, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == 'S') goto yy575;
+ yych = *++YYCURSOR;
+ if (yych == 'S') goto yy575;
if (yych == 's') goto yy575;
yy393:
YYDEBUG(393, *YYCURSOR);
@@ -10939,8 +10939,8 @@ yy487:
}
yy488:
YYDEBUG(488, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '@') {
+ yych = *++YYCURSOR;
+ if (yych <= '@') {
if (yych == ')') goto yy105;
} else {
if (yych <= 'Z') goto yy611;
@@ -12244,8 +12244,8 @@ yy558:
}
yy559:
YYDEBUG(559, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 'U') {
+ yych = *++YYCURSOR;
+ if (yych <= 'U') {
if (yych == 'I') goto yy743;
} else {
if (yych == 'W') goto yy560;
@@ -12407,7 +12407,7 @@ yy574:
goto yy54;
yy575:
YYDEBUG(575, *YYCURSOR);
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy393;
yy576:
YYDEBUG(576, *YYCURSOR);
@@ -13957,8 +13957,8 @@ yy680:
goto yy387;
yy681:
YYDEBUG(681, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '@') {
+ yych = *++YYCURSOR;
+ if (yych <= '@') {
if (yych == ')') goto yy105;
} else {
if (yych <= 'Z') goto yy777;
@@ -14915,7 +14915,7 @@ yy743:
if (yych != 'I') goto yy560;
yy744:
YYDEBUG(744, *YYCURSOR);
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy560;
yy745:
YYDEBUG(745, *YYCURSOR);
@@ -15059,7 +15059,7 @@ yy761:
goto yy54;
yy762:
YYDEBUG(762, *YYCURSOR);
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy236;
yy763:
YYDEBUG(763, *YYCURSOR);
@@ -15810,7 +15810,7 @@ yy810:
}
yy811:
YYDEBUG(811, *YYCURSOR);
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy132;
yy812:
YYDEBUG(812, *YYCURSOR);
@@ -16359,7 +16359,7 @@ yy849:
goto yy54;
yy850:
YYDEBUG(850, *YYCURSOR);
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy528;
yy851:
YYDEBUG(851, *YYCURSOR);
@@ -17069,7 +17069,7 @@ yy915:
goto yy651;
yy916:
YYDEBUG(916, *YYCURSOR);
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy651;
yy917:
YYDEBUG(917, *YYCURSOR);
@@ -17342,28 +17342,12 @@ yy949:
yy950:
YYDEBUG(950, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych <= '.') {
- if (yych <= '\t') {
- if (yych <= 0x08) goto yy54;
- goto yy786;
- } else {
- if (yych == ' ') goto yy786;
- goto yy54;
- }
- } else {
- if (yych <= '_') {
- if (yych <= '/') goto yy272;
- if (yych <= '^') goto yy54;
- goto yy272;
- } else {
- if (yych <= '`') goto yy54;
- if (yych <= 'z') goto yy901;
- goto yy54;
- }
- }
+ if (yych == '\t') goto yy786;
+ if (yych == ' ') goto yy786;
+ goto yy902;
yy951:
YYDEBUG(951, *YYCURSOR);
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy732;
yy952:
YYDEBUG(952, *YYCURSOR);
@@ -17373,7 +17357,7 @@ yy952:
goto yy54;
yy953:
YYDEBUG(953, *YYCURSOR);
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy288;
yy954:
YYDEBUG(954, *YYCURSOR);
@@ -17467,10 +17451,10 @@ yy963:
TIMELIB_DEINIT;
return TIMELIB_DATE_FULL_POINTED;
}
-#line 17471 "parse_date_1_78.db.c"
+#line 17455 "parse_date_1_78.db.c"
yy965:
YYDEBUG(965, *YYCURSOR);
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy209;
yy966:
YYDEBUG(966, *YYCURSOR);
@@ -17508,7 +17492,7 @@ yy968:
TIMELIB_DEINIT;
return TIMELIB_ISO_DATE;
}
-#line 17512 "parse_date_1_78.db.c"
+#line 17496 "parse_date_1_78.db.c"
yy969:
YYDEBUG(969, *YYCURSOR);
yyaccept = 15;
@@ -17708,7 +17692,7 @@ yy983:
}
yy984:
YYDEBUG(984, *YYCURSOR);
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy877;
yy985:
YYDEBUG(985, *YYCURSOR);
@@ -17739,7 +17723,7 @@ yy986:
TIMELIB_DEINIT;
return TIMELIB_ISO_DATE;
}
-#line 17743 "parse_date_1_78.db.c"
+#line 17727 "parse_date_1_78.db.c"
yy987:
YYDEBUG(987, *YYCURSOR);
yyaccept = 26;
@@ -17849,7 +17833,7 @@ yy991:
TIMELIB_DEINIT;
return TIMELIB_DATE_NOCOLON;
}
-#line 17853 "parse_date_1_78.db.c"
+#line 17837 "parse_date_1_78.db.c"
yy992:
YYDEBUG(992, *YYCURSOR);
yych = *++YYCURSOR;
@@ -17925,7 +17909,7 @@ yy1001:
TIMELIB_DEINIT;
return TIMELIB_ISO_WEEK;
}
-#line 17929 "parse_date_1_78.db.c"
+#line 17913 "parse_date_1_78.db.c"
yy1003:
YYDEBUG(1003, *YYCURSOR);
yych = *++YYCURSOR;
@@ -17971,8 +17955,8 @@ yy1008:
goto yy54;
yy1009:
YYDEBUG(1009, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy1010;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy1010;
if (yych <= '9') goto yy1070;
yy1010:
YYDEBUG(1010, *YYCURSOR);
@@ -17988,7 +17972,7 @@ yy1010:
TIMELIB_DEINIT;
return TIMELIB_PG_TEXT;
}
-#line 17992 "parse_date_1_78.db.c"
+#line 17976 "parse_date_1_78.db.c"
yy1011:
YYDEBUG(1011, *YYCURSOR);
yych = *++YYCURSOR;
@@ -18176,8 +18160,8 @@ yy1018:
}
yy1019:
YYDEBUG(1019, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == 'S') goto yy1086;
+ yych = *++YYCURSOR;
+ if (yych == 'S') goto yy1086;
if (yych == 's') goto yy1086;
yy1020:
YYDEBUG(1020, *YYCURSOR);
@@ -18197,7 +18181,7 @@ yy1020:
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 18201 "parse_date_1_78.db.c"
+#line 18185 "parse_date_1_78.db.c"
yy1021:
YYDEBUG(1021, *YYCURSOR);
yych = *++YYCURSOR;
@@ -18330,10 +18314,10 @@ yy1033:
TIMELIB_DEINIT;
return TIMELIB_LF_DAY_OF_MONTH;
}
-#line 18334 "parse_date_1_78.db.c"
+#line 18318 "parse_date_1_78.db.c"
yy1034:
YYDEBUG(1034, *YYCURSOR);
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy682;
yy1035:
YYDEBUG(1035, *YYCURSOR);
@@ -18357,25 +18341,9 @@ yy1036:
yy1037:
YYDEBUG(1037, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych <= '.') {
- if (yych <= '\t') {
- if (yych <= 0x08) goto yy54;
- goto yy663;
- } else {
- if (yych == ' ') goto yy663;
- goto yy54;
- }
- } else {
- if (yych <= '_') {
- if (yych <= '/') goto yy272;
- if (yych <= '^') goto yy54;
- goto yy272;
- } else {
- if (yych <= '`') goto yy54;
- if (yych <= 'z') goto yy901;
- goto yy54;
- }
- }
+ if (yych == '\t') goto yy663;
+ if (yych == ' ') goto yy663;
+ goto yy902;
yy1038:
YYDEBUG(1038, *YYCURSOR);
++YYCURSOR;
@@ -18392,7 +18360,7 @@ yy1039:
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 18396 "parse_date_1_78.db.c"
+#line 18364 "parse_date_1_78.db.c"
yy1040:
YYDEBUG(1040, *YYCURSOR);
yyaccept = 30;
@@ -18700,7 +18668,7 @@ yy1068:
TIMELIB_DEINIT;
return TIMELIB_PG_TEXT;
}
-#line 18704 "parse_date_1_78.db.c"
+#line 18672 "parse_date_1_78.db.c"
yy1070:
YYDEBUG(1070, *YYCURSOR);
yych = *++YYCURSOR;
@@ -18925,7 +18893,7 @@ yy1083:
TIMELIB_DEINIT;
return TIMELIB_SHORTDATE_WITH_TIME;
}
-#line 18929 "parse_date_1_78.db.c"
+#line 18897 "parse_date_1_78.db.c"
yy1085:
YYDEBUG(1085, *YYCURSOR);
yych = *++YYCURSOR;
@@ -18939,7 +18907,7 @@ yy1085:
}
yy1086:
YYDEBUG(1086, *YYCURSOR);
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy1020;
yy1087:
YYDEBUG(1087, *YYCURSOR);
@@ -19043,7 +19011,7 @@ yy1097:
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 19047 "parse_date_1_78.db.c"
+#line 19015 "parse_date_1_78.db.c"
yy1098:
YYDEBUG(1098, *YYCURSOR);
yych = *++YYCURSOR;
@@ -19066,7 +19034,7 @@ yy1100:
TIMELIB_DEINIT;
return TIMELIB_RELATIVE;
}
-#line 19070 "parse_date_1_78.db.c"
+#line 19038 "parse_date_1_78.db.c"
yy1101:
YYDEBUG(1101, *YYCURSOR);
yyaccept = 32;
@@ -19142,7 +19110,7 @@ yy1109:
}
yy1110:
YYDEBUG(1110, *YYCURSOR);
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy986;
yy1111:
YYDEBUG(1111, *YYCURSOR);
@@ -19501,7 +19469,7 @@ yy1147:
}
yy1148:
YYDEBUG(1148, *YYCURSOR);
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy1010;
yy1149:
YYDEBUG(1149, *YYCURSOR);
@@ -19590,7 +19558,7 @@ yy1155:
goto yy54;
yy1156:
YYDEBUG(1156, *YYCURSOR);
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy1033;
yy1157:
YYDEBUG(1157, *YYCURSOR);
@@ -19685,7 +19653,7 @@ yy1168:
TIMELIB_DEINIT;
return TIMELIB_TIME24_WITH_ZONE;
}
-#line 19689 "parse_date_1_78.db.c"
+#line 19657 "parse_date_1_78.db.c"
yy1170:
YYDEBUG(1170, *YYCURSOR);
yych = *++YYCURSOR;
@@ -19858,8 +19826,8 @@ yy1188:
goto yy54;
yy1189:
YYDEBUG(1189, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy1190;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy1190;
if (yych <= '9') goto yy1192;
yy1190:
YYDEBUG(1190, *YYCURSOR);
@@ -19888,14 +19856,14 @@ yy1190:
TIMELIB_DEINIT;
return TIMELIB_XMLRPC_SOAP;
}
-#line 19892 "parse_date_1_78.db.c"
+#line 19860 "parse_date_1_78.db.c"
yy1191:
YYDEBUG(1191, *YYCURSOR);
yych = *++YYCURSOR;
if (yych != '0') goto yy1190;
yy1192:
YYDEBUG(1192, *YYCURSOR);
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy1190;
yy1193:
YYDEBUG(1193, *YYCURSOR);
@@ -20078,8 +20046,8 @@ yy1215:
}
yy1217:
YYDEBUG(1217, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy1218;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy1218;
if (yych <= '9') goto yy1220;
if (yych <= ':') goto yy1224;
yy1218:
@@ -20104,7 +20072,7 @@ yy1218:
TIMELIB_DEINIT;
return TIMELIB_CLF;
}
-#line 20108 "parse_date_1_78.db.c"
+#line 20076 "parse_date_1_78.db.c"
yy1219:
YYDEBUG(1219, *YYCURSOR);
yych = *++YYCURSOR;
@@ -20156,7 +20124,7 @@ yy1225:
if (yych >= ':') goto yy1218;
yy1226:
YYDEBUG(1226, *YYCURSOR);
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy1218;
yy1227:
YYDEBUG(1227, *YYCURSOR);
@@ -20204,8 +20172,8 @@ yy1232:
goto yy1190;
yy1233:
YYDEBUG(1233, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '+') goto yy1222;
+ yych = *++YYCURSOR;
+ if (yych == '+') goto yy1222;
if (yych == '-') goto yy1222;
goto yy54;
}
@@ -20215,6 +20183,7 @@ yy1233:
#define YYMAXFILL 30
+
timelib_time* timelib_strtotime(char *s, int len, struct timelib_error_container **errors, const timelib_tzdb *tzdb)
{
Scanner in;
diff --git a/test/php20140822_zend_language_scanner.igcd--flex-syntax.c b/test/php20140822_zend_language_scanner.igcd--flex-syntax.c
index e75a98fc..e60c566c 100644
--- a/test/php20140822_zend_language_scanner.igcd--flex-syntax.c
+++ b/test/php20140822_zend_language_scanner.igcd--flex-syntax.c
@@ -74,6 +74,7 @@
/* perform sanity check. If this message is triggered you should
increase the ZEND_MMAP_AHEAD value in the zend_streams.h file */
#define YYMAXFILL 16
+
#if ZEND_MMAP_AHEAD < YYMAXFILL
# error ZEND_MMAP_AHEAD should be greater than or equal to YYMAXFILL
#endif
@@ -1022,1233 +1023,6 @@ yymore_restart:
};
goto *yyctable[YYGETCONDITION()];
/* *********************************** */
-yyc_INITIAL:
- {
- static const unsigned char yybm[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 128, 128, 0, 0, 128, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 128, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- };
- YYDEBUG(1, *YYCURSOR);
- YYFILL(8);
- yych = *YYCURSOR;
- if (yych == '<') goto yy5;
- YYDEBUG(3, *YYCURSOR);
- ++YYCURSOR;
-yy4:
- YYDEBUG(4, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- if (YYCURSOR > YYLIMIT) {
- return 0;
- }
-
-inline_char_handler:
-
- while (1) {
- YYCTYPE *ptr = memchr(YYCURSOR, '<', YYLIMIT - YYCURSOR);
-
- YYCURSOR = ptr ? ptr + 1 : YYLIMIT;
-
- if (YYCURSOR < YYLIMIT) {
- switch (*YYCURSOR) {
- case '?':
- if (CG(short_tags) || !strncasecmp((char*)YYCURSOR + 1, "php", 3) || (*(YYCURSOR + 1) == '=')) { /* Assume [ \t\n\r] follows "php" */
- break;
- }
- continue;
- case '%':
- if (CG(asp_tags)) {
- break;
- }
- continue;
- case 's':
- case 'S':
- /* Probably NOT an opening PHP <script> tag, so don't end the HTML chunk yet
- * If it is, the PHP <script> tag rule checks for any HTML scanned before it */
- YYCURSOR--;
- yymore();
- default:
- continue;
- }
-
- YYCURSOR--;
- }
-
- break;
- }
-
-inline_html:
- yyleng = YYCURSOR - SCNG(yy_text);
-
- if (SCNG(output_filter)) {
- int readsize;
- size_t sz = 0;
- readsize = SCNG(output_filter)((unsigned char **)&(zendlval->value.str.val), &sz, (unsigned char *)yytext, (size_t)yyleng TSRMLS_CC);
- zendlval->value.str.len = sz;
- if (readsize < yyleng) {
- yyless(readsize);
- }
- } else {
- zendlval->value.str.val = (char *) estrndup(yytext, yyleng);
- zendlval->value.str.len = yyleng;
- }
- zendlval->type = IS_STRING;
- HANDLE_NEWLINES(yytext, yyleng);
- return T_INLINE_HTML;
-}
-yy5:
- YYDEBUG(5, *YYCURSOR);
- yyaccept = 0;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '>') {
- if (yych != '%') goto yy4;
- } else {
- if (yych <= '?') goto yy8;
- if (yych == 's') goto yy10;
- goto yy4;
- }
- YYDEBUG(6, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '=') goto yy12;
- YYDEBUG(7, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- if (CG(asp_tags)) {
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- BEGIN(ST_IN_SCRIPTING);
- return T_OPEN_TAG;
- } else {
- goto inline_char_handler;
- }
-}
-yy8:
- YYDEBUG(8, *YYCURSOR);
- yyaccept = 1;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '=') goto yy14;
- if (yych == 'p') goto yy16;
-yy9:
- YYDEBUG(9, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- if (CG(short_tags)) {
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- BEGIN(ST_IN_SCRIPTING);
- return T_OPEN_TAG;
- } else {
- goto inline_char_handler;
- }
-}
-yy10:
- YYDEBUG(10, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'c') goto yy17;
-yy11:
- YYDEBUG(11, *YYCURSOR);
- YYCURSOR = YYMARKER;
- if (yyaccept == 0) {
- goto yy4;
- } else {
- goto yy9;
- }
-yy12:
- YYDEBUG(12, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(13, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- if (CG(asp_tags)) {
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- BEGIN(ST_IN_SCRIPTING);
- return T_OPEN_TAG_WITH_ECHO;
- } else {
- goto inline_char_handler;
- }
-}
-yy14:
- YYDEBUG(14, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(15, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- BEGIN(ST_IN_SCRIPTING);
- return T_OPEN_TAG_WITH_ECHO;
-}
-yy16:
- YYDEBUG(16, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'h') goto yy18;
- goto yy11;
-yy17:
- YYDEBUG(17, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'r') goto yy19;
- goto yy11;
-yy18:
- YYDEBUG(18, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'p') goto yy20;
- goto yy11;
-yy19:
- YYDEBUG(19, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'i') goto yy21;
- goto yy11;
-yy20:
- YYDEBUG(20, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= '\f') {
- if (yych <= 0x08) goto yy11;
- if (yych <= '\n') goto yy22;
- goto yy11;
- } else {
- if (yych <= '\r') goto yy24;
- if (yych == ' ') goto yy22;
- goto yy11;
- }
-yy21:
- YYDEBUG(21, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'p') goto yy25;
- goto yy11;
-yy22:
- YYDEBUG(22, *YYCURSOR);
- ++YYCURSOR;
-yy23:
- YYDEBUG(23, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- HANDLE_NEWLINE(yytext[yyleng-1]);
- BEGIN(ST_IN_SCRIPTING);
- return T_OPEN_TAG;
-}
-yy24:
- YYDEBUG(24, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '\n') goto yy22;
- goto yy23;
-yy25:
- YYDEBUG(25, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych != 't') goto yy11;
- YYDEBUG(26, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'l') goto yy11;
- goto yy28;
-yy27:
- YYDEBUG(27, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(8);
- yych = *YYCURSOR;
-yy28:
- YYDEBUG(28, *YYCURSOR);
- if (yybm[0+yych] & 128) {
- goto yy27;
- }
- if (yych != 'l') goto yy11;
- YYDEBUG(29, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych != 'a') goto yy11;
- YYDEBUG(30, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych != 'n') goto yy11;
- YYDEBUG(31, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych != 'g') goto yy11;
- YYDEBUG(32, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych != 'u') goto yy11;
- YYDEBUG(33, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych != 'a') goto yy11;
- YYDEBUG(34, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych != 'g') goto yy11;
- YYDEBUG(35, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych != 'e') goto yy11;
-yy36:
- YYDEBUG(36, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(37, *YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy36, &&yy36, &&yy11, &&yy11, &&yy36, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy36, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy38, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11
- };
- goto *yytarget[yych];
- }
-yy38:
- YYDEBUG(38, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(5);
- yych = *YYCURSOR;
- YYDEBUG(39, *YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy38, &&yy38, &&yy11, &&yy11, &&yy38, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy38, &&yy11, &&yy40, &&yy11, &&yy11, &&yy11, &&yy11, &&yy41,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy42, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11
- };
- goto *yytarget[yych];
- }
-yy40:
- YYDEBUG(40, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'p') goto yy43;
- goto yy11;
-yy41:
- YYDEBUG(41, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'p') goto yy44;
- goto yy11;
-yy42:
- YYDEBUG(42, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'h') goto yy45;
- goto yy11;
-yy43:
- YYDEBUG(43, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'h') goto yy46;
- goto yy11;
-yy44:
- YYDEBUG(44, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'h') goto yy47;
- goto yy11;
-yy45:
- YYDEBUG(45, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'p') goto yy48;
- goto yy11;
-yy46:
- YYDEBUG(46, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'p') goto yy50;
- goto yy11;
-yy47:
- YYDEBUG(47, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'p') goto yy51;
- goto yy11;
-yy48:
- YYDEBUG(48, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(49, *YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy48, &&yy48, &&yy11, &&yy11, &&yy48, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy48, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy52, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11
- };
- goto *yytarget[yych];
- }
-yy50:
- YYDEBUG(50, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '"') goto yy48;
- goto yy11;
-yy51:
- YYDEBUG(51, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '\'') goto yy48;
- goto yy11;
-yy52:
- YYDEBUG(52, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(53, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- YYCTYPE *bracket = (YYCTYPE*)zend_memrchr(yytext, '<', yyleng - (sizeof("script language=php>") - 1));
-
- if (bracket != SCNG(yy_text)) {
- /* Handle previously scanned HTML, as possible <script> tags found are assumed to not be PHP's */
- YYCURSOR = bracket;
- goto inline_html;
- }
-
- HANDLE_NEWLINES(yytext, yyleng);
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- BEGIN(ST_IN_SCRIPTING);
- return T_OPEN_TAG;
-}
- }
-/* *********************************** */
-yyc_ST_BACKQUOTE:
- {
- static const unsigned char yybm[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 0, 0, 0, 0, 0, 0,
- 0, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 0, 0, 0, 0, 128,
- 0, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 0, 0, 0, 0, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- };
- YYDEBUG(54, *YYCURSOR);
- YYFILL(2);
- yych = *YYCURSOR;
- if (yych <= '_') {
- if (yych == '$') goto yy58;
- } else {
- if (yych <= '`') goto yy59;
- if (yych == '{') goto yy61;
- }
- YYDEBUG(56, *YYCURSOR);
- ++YYCURSOR;
-yy57:
- YYDEBUG(57, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- if (YYCURSOR > YYLIMIT) {
- return 0;
- }
- if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
- YYCURSOR++;
- }
-
- while (YYCURSOR < YYLIMIT) {
- switch (*YYCURSOR++) {
- case '`':
- break;
- case '$':
- if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
- break;
- }
- continue;
- case '{':
- if (*YYCURSOR == '$') {
- break;
- }
- continue;
- case '\\':
- if (YYCURSOR < YYLIMIT) {
- YYCURSOR++;
- }
- /* fall through */
- default:
- continue;
- }
-
- YYCURSOR--;
- break;
- }
-
- yyleng = YYCURSOR - SCNG(yy_text);
-
- zend_scan_escape_string(zendlval, yytext, yyleng, '`' TSRMLS_CC);
- return T_ENCAPSED_AND_WHITESPACE;
-}
-yy58:
- YYDEBUG(58, *YYCURSOR);
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57,
- &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57,
- &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57,
- &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57,
- &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57,
- &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57,
- &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57,
- &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57,
- &&yy57, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy57, &&yy57, &&yy57, &&yy57, &&yy62,
- &&yy57, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy65, &&yy57, &&yy57, &&yy57, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62
- };
- goto *yytarget[yych];
- }
-yy59:
- YYDEBUG(59, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(60, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- BEGIN(ST_IN_SCRIPTING);
- return '`';
-}
-yy61:
- YYDEBUG(61, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '$') goto yy67;
- goto yy57;
-yy62:
- YYDEBUG(62, *YYCURSOR);
- YYMARKER = ++YYCURSOR;
- YYFILL(3);
- yych = *YYCURSOR;
- YYDEBUG(63, *YYCURSOR);
- if (yybm[0+yych] & 128) {
- goto yy62;
- }
- if (yych == '-') goto yy69;
- if (yych <= '@') goto yy64;
- if (yych <= '[') goto yy71;
-yy64:
- YYDEBUG(64, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- zendlval->type = IS_STRING;
- return T_VARIABLE;
-}
-yy65:
- YYDEBUG(65, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(66, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
- return T_DOLLAR_OPEN_CURLY_BRACES;
-}
-yy67:
- YYDEBUG(67, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(68, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- zendlval->value.lval = (long) '{';
- yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
- yyless(1);
- return T_CURLY_OPEN;
-}
-yy69:
- YYDEBUG(69, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '>') goto yy73;
-yy70:
- YYDEBUG(70, *YYCURSOR);
- YYCURSOR = YYMARKER;
- goto yy64;
-yy71:
- YYDEBUG(71, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(72, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- yyless(yyleng - 1);
- yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- zendlval->type = IS_STRING;
- return T_VARIABLE;
-}
-yy73:
- YYDEBUG(73, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= '_') {
- if (yych <= '@') goto yy70;
- if (yych <= 'Z') goto yy74;
- if (yych <= '^') goto yy70;
- } else {
- if (yych <= '`') goto yy70;
- if (yych <= 'z') goto yy74;
- if (yych <= '~') goto yy70;
- }
-yy74:
- YYDEBUG(74, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(75, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- yyless(yyleng - 3);
- yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- zendlval->type = IS_STRING;
- return T_VARIABLE;
-}
- }
-/* *********************************** */
-yyc_ST_DOUBLE_QUOTES:
- {
- static const unsigned char yybm[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 0, 0, 0, 0, 0, 0,
- 0, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 0, 0, 0, 0, 128,
- 0, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 0, 0, 0, 0, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- };
- YYDEBUG(76, *YYCURSOR);
- YYFILL(2);
- yych = *YYCURSOR;
- if (yych <= '#') {
- if (yych == '"') goto yy80;
- } else {
- if (yych <= '$') goto yy82;
- if (yych == '{') goto yy83;
- }
- YYDEBUG(78, *YYCURSOR);
- ++YYCURSOR;
-yy79:
- YYDEBUG(79, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {
- YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;
- SET_DOUBLE_QUOTES_SCANNED_LENGTH(0);
-
- goto double_quotes_scan_done;
- }
-
- if (YYCURSOR > YYLIMIT) {
- return 0;
- }
- if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
- YYCURSOR++;
- }
-
- while (YYCURSOR < YYLIMIT) {
- switch (*YYCURSOR++) {
- case '"':
- break;
- case '$':
- if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
- break;
- }
- continue;
- case '{':
- if (*YYCURSOR == '$') {
- break;
- }
- continue;
- case '\\':
- if (YYCURSOR < YYLIMIT) {
- YYCURSOR++;
- }
- /* fall through */
- default:
- continue;
- }
-
- YYCURSOR--;
- break;
- }
-
-double_quotes_scan_done:
- yyleng = YYCURSOR - SCNG(yy_text);
-
- zend_scan_escape_string(zendlval, yytext, yyleng, '"' TSRMLS_CC);
- return T_ENCAPSED_AND_WHITESPACE;
-}
-yy80:
- YYDEBUG(80, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(81, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- BEGIN(ST_IN_SCRIPTING);
- return '"';
-}
-yy82:
- YYDEBUG(82, *YYCURSOR);
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79,
- &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79,
- &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79,
- &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79,
- &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79,
- &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79,
- &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79,
- &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79,
- &&yy79, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy79, &&yy79, &&yy79, &&yy79, &&yy84,
- &&yy79, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy87, &&yy79, &&yy79, &&yy79, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84
- };
- goto *yytarget[yych];
- }
-yy83:
- YYDEBUG(83, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '$') goto yy89;
- goto yy79;
-yy84:
- YYDEBUG(84, *YYCURSOR);
- YYMARKER = ++YYCURSOR;
- YYFILL(3);
- yych = *YYCURSOR;
- YYDEBUG(85, *YYCURSOR);
- if (yybm[0+yych] & 128) {
- goto yy84;
- }
- if (yych == '-') goto yy91;
- if (yych <= '@') goto yy86;
- if (yych <= '[') goto yy93;
-yy86:
- YYDEBUG(86, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- zendlval->type = IS_STRING;
- return T_VARIABLE;
-}
-yy87:
- YYDEBUG(87, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(88, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
- return T_DOLLAR_OPEN_CURLY_BRACES;
-}
-yy89:
- YYDEBUG(89, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(90, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- zendlval->value.lval = (long) '{';
- yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
- yyless(1);
- return T_CURLY_OPEN;
-}
-yy91:
- YYDEBUG(91, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '>') goto yy95;
-yy92:
- YYDEBUG(92, *YYCURSOR);
- YYCURSOR = YYMARKER;
- goto yy86;
-yy93:
- YYDEBUG(93, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(94, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- yyless(yyleng - 1);
- yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- zendlval->type = IS_STRING;
- return T_VARIABLE;
-}
-yy95:
- YYDEBUG(95, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= '_') {
- if (yych <= '@') goto yy92;
- if (yych <= 'Z') goto yy96;
- if (yych <= '^') goto yy92;
- } else {
- if (yych <= '`') goto yy92;
- if (yych <= 'z') goto yy96;
- if (yych <= '~') goto yy92;
- }
-yy96:
- YYDEBUG(96, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(97, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- yyless(yyleng - 3);
- yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- zendlval->type = IS_STRING;
- return T_VARIABLE;
-}
- }
-/* *********************************** */
-yyc_ST_END_HEREDOC:
- YYDEBUG(98, *YYCURSOR);
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(100, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(101, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack));
-
- YYCURSOR += heredoc_label->length - 1;
- yyleng = heredoc_label->length;
-
- heredoc_label_dtor(heredoc_label);
- efree(heredoc_label);
-
- BEGIN(ST_IN_SCRIPTING);
- return T_END_HEREDOC;
-}
-/* *********************************** */
-yyc_ST_HEREDOC:
- {
- static const unsigned char yybm[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 0, 0, 0, 0, 0, 0,
- 0, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 0, 0, 0, 0, 128,
- 0, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 0, 0, 0, 0, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- };
- YYDEBUG(102, *YYCURSOR);
- YYFILL(2);
- yych = *YYCURSOR;
- if (yych == '$') goto yy106;
- if (yych == '{') goto yy107;
- YYDEBUG(104, *YYCURSOR);
- ++YYCURSOR;
-yy105:
- YYDEBUG(105, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- int newline = 0;
-
- zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
-
- if (YYCURSOR > YYLIMIT) {
- return 0;
- }
-
- YYCURSOR--;
-
- while (YYCURSOR < YYLIMIT) {
- switch (*YYCURSOR++) {
- case '\r':
- if (*YYCURSOR == '\n') {
- YYCURSOR++;
- }
- /* fall through */
- case '\n':
- /* Check for ending label on the next line */
- if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
- YYCTYPE *end = YYCURSOR + heredoc_label->length;
-
- if (*end == ';') {
- end++;
- }
-
- if (*end == '\n' || *end == '\r') {
- /* newline before label will be subtracted from returned text, but
- * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
- if (YYCURSOR[-2] == '\r' && YYCURSOR[-1] == '\n') {
- newline = 2; /* Windows newline */
- } else {
- newline = 1;
- }
-
- CG(increment_lineno) = 1; /* For newline before label */
- BEGIN(ST_END_HEREDOC);
-
- goto heredoc_scan_done;
- }
- }
- continue;
- case '$':
- if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
- break;
- }
- continue;
- case '{':
- if (*YYCURSOR == '$') {
- break;
- }
- continue;
- case '\\':
- if (YYCURSOR < YYLIMIT && *YYCURSOR != '\n' && *YYCURSOR != '\r') {
- YYCURSOR++;
- }
- /* fall through */
- default:
- continue;
- }
-
- YYCURSOR--;
- break;
- }
-
-heredoc_scan_done:
- yyleng = YYCURSOR - SCNG(yy_text);
-
- zend_scan_escape_string(zendlval, yytext, yyleng - newline, 0 TSRMLS_CC);
- return T_ENCAPSED_AND_WHITESPACE;
-}
-yy106:
- YYDEBUG(106, *YYCURSOR);
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105,
- &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105,
- &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105,
- &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105,
- &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105,
- &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105,
- &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105,
- &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105,
- &&yy105, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy105, &&yy105, &&yy105, &&yy105, &&yy108,
- &&yy105, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy111, &&yy105, &&yy105, &&yy105, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108
- };
- goto *yytarget[yych];
- }
-yy107:
- YYDEBUG(107, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '$') goto yy113;
- goto yy105;
-yy108:
- YYDEBUG(108, *YYCURSOR);
- YYMARKER = ++YYCURSOR;
- YYFILL(3);
- yych = *YYCURSOR;
- YYDEBUG(109, *YYCURSOR);
- if (yybm[0+yych] & 128) {
- goto yy108;
- }
- if (yych == '-') goto yy115;
- if (yych <= '@') goto yy110;
- if (yych <= '[') goto yy117;
-yy110:
- YYDEBUG(110, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- zendlval->type = IS_STRING;
- return T_VARIABLE;
-}
-yy111:
- YYDEBUG(111, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(112, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
- return T_DOLLAR_OPEN_CURLY_BRACES;
-}
-yy113:
- YYDEBUG(113, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(114, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- zendlval->value.lval = (long) '{';
- yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
- yyless(1);
- return T_CURLY_OPEN;
-}
-yy115:
- YYDEBUG(115, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '>') goto yy119;
-yy116:
- YYDEBUG(116, *YYCURSOR);
- YYCURSOR = YYMARKER;
- goto yy110;
-yy117:
- YYDEBUG(117, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(118, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- yyless(yyleng - 1);
- yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- zendlval->type = IS_STRING;
- return T_VARIABLE;
-}
-yy119:
- YYDEBUG(119, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= '_') {
- if (yych <= '@') goto yy116;
- if (yych <= 'Z') goto yy120;
- if (yych <= '^') goto yy116;
- } else {
- if (yych <= '`') goto yy116;
- if (yych <= 'z') goto yy120;
- if (yych <= '~') goto yy116;
- }
-yy120:
- YYDEBUG(120, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(121, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- yyless(yyleng - 3);
- yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- zendlval->type = IS_STRING;
- return T_VARIABLE;
-}
- }
-/* *********************************** */
yyc_ST_IN_SCRIPTING:
{
static const unsigned char yybm[] = {
@@ -2285,50 +1059,50 @@ yyc_ST_IN_SCRIPTING:
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
};
- YYDEBUG(122, *YYCURSOR);
+ YYDEBUG(1, *YYCURSOR);
YYFILL(16);
yych = *YYCURSOR;
{
static void *yytarget[256] = {
- &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124,
- &&yy124, &&yy126, &&yy126, &&yy124, &&yy124, &&yy126, &&yy124, &&yy124,
- &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124,
- &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124,
- &&yy126, &&yy129, &&yy131, &&yy133, &&yy135, &&yy136, &&yy137, &&yy138,
- &&yy140, &&yy141, &&yy142, &&yy143, &&yy141, &&yy144, &&yy145, &&yy146,
- &&yy147, &&yy149, &&yy149, &&yy149, &&yy149, &&yy149, &&yy149, &&yy149,
- &&yy149, &&yy149, &&yy151, &&yy141, &&yy152, &&yy153, &&yy154, &&yy155,
- &&yy141, &&yy156, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy160,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy161, &&yy158, &&yy158, &&yy141, &&yy162, &&yy141, &&yy164, &&yy165,
- &&yy166, &&yy168, &&yy169, &&yy170, &&yy171, &&yy172, &&yy173, &&yy174,
- &&yy158, &&yy175, &&yy158, &&yy158, &&yy176, &&yy158, &&yy177, &&yy158,
- &&yy178, &&yy158, &&yy179, &&yy180, &&yy181, &&yy182, &&yy183, &&yy184,
- &&yy158, &&yy185, &&yy158, &&yy186, &&yy188, &&yy189, &&yy141, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy5, &&yy5, &&yy3, &&yy3, &&yy5, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy5, &&yy8, &&yy10, &&yy12, &&yy14, &&yy15, &&yy16, &&yy17,
+ &&yy19, &&yy20, &&yy21, &&yy22, &&yy20, &&yy23, &&yy24, &&yy25,
+ &&yy26, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy30, &&yy20, &&yy31, &&yy32, &&yy33, &&yy34,
+ &&yy20, &&yy35, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy39,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy40, &&yy37, &&yy37, &&yy20, &&yy41, &&yy20, &&yy43, &&yy44,
+ &&yy45, &&yy47, &&yy48, &&yy49, &&yy50, &&yy51, &&yy52, &&yy53,
+ &&yy37, &&yy54, &&yy37, &&yy37, &&yy55, &&yy37, &&yy56, &&yy37,
+ &&yy57, &&yy37, &&yy58, &&yy59, &&yy60, &&yy61, &&yy62, &&yy63,
+ &&yy37, &&yy64, &&yy37, &&yy65, &&yy67, &&yy68, &&yy20, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37
};
goto *yytarget[yych];
}
-yy124:
- YYDEBUG(124, *YYCURSOR);
+yy3:
+ YYDEBUG(3, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(125, *YYCURSOR);
+ YYDEBUG(4, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
if (YYCURSOR > YYLIMIT) {
@@ -2338,16 +1112,16 @@ yy124:
zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
goto restart;
}
-yy126:
- YYDEBUG(126, *YYCURSOR);
+yy5:
+ YYDEBUG(5, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(127, *YYCURSOR);
+ YYDEBUG(6, *YYCURSOR);
if (yybm[0+yych] & 4) {
- goto yy126;
+ goto yy5;
}
- YYDEBUG(128, *YYCURSOR);
+ YYDEBUG(7, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
zendlval->value.str.val = yytext; /* no copying - intentional */
@@ -2356,20 +1130,20 @@ yy126:
HANDLE_NEWLINES(yytext, yyleng);
return T_WHITESPACE;
}
-yy129:
- YYDEBUG(129, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '=') goto yy191;
-yy130:
- YYDEBUG(130, *YYCURSOR);
+yy8:
+ YYDEBUG(8, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '=') goto yy70;
+yy9:
+ YYDEBUG(9, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return yytext[0];
}
-yy131:
- YYDEBUG(131, *YYCURSOR);
+yy10:
+ YYDEBUG(10, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(132, *YYCURSOR);
+ YYDEBUG(11, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
int bprefix = (yytext[0] != '"') ? 1 : 0;
@@ -2411,10 +1185,10 @@ yy131:
BEGIN(ST_DOUBLE_QUOTES);
return '"';
}
-yy133:
- YYDEBUG(133, *YYCURSOR);
+yy12:
+ YYDEBUG(12, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(134, *YYCURSOR);
+ YYDEBUG(13, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
while (YYCURSOR < YYLIMIT) {
@@ -2449,37 +1223,37 @@ yy133:
return T_COMMENT;
}
-yy135:
- YYDEBUG(135, *YYCURSOR);
+yy14:
+ YYDEBUG(14, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= '_') {
- if (yych <= '@') goto yy130;
- if (yych <= 'Z') goto yy193;
- if (yych <= '^') goto yy130;
- goto yy193;
+ if (yych <= '@') goto yy9;
+ if (yych <= 'Z') goto yy72;
+ if (yych <= '^') goto yy9;
+ goto yy72;
} else {
- if (yych <= '`') goto yy130;
- if (yych <= 'z') goto yy193;
- if (yych <= '~') goto yy130;
- goto yy193;
+ if (yych <= '`') goto yy9;
+ if (yych <= 'z') goto yy72;
+ if (yych <= '~') goto yy9;
+ goto yy72;
}
-yy136:
- YYDEBUG(136, *YYCURSOR);
+yy15:
+ YYDEBUG(15, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych <= '<') goto yy130;
- if (yych <= '=') goto yy196;
- if (yych <= '>') goto yy198;
- goto yy130;
-yy137:
- YYDEBUG(137, *YYCURSOR);
+ if (yych <= '<') goto yy9;
+ if (yych <= '=') goto yy75;
+ if (yych <= '>') goto yy77;
+ goto yy9;
+yy16:
+ YYDEBUG(16, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '&') goto yy200;
- if (yych == '=') goto yy202;
- goto yy130;
-yy138:
- YYDEBUG(138, *YYCURSOR);
+ if (yych == '&') goto yy79;
+ if (yych == '=') goto yy81;
+ goto yy9;
+yy17:
+ YYDEBUG(17, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(139, *YYCURSOR);
+ YYDEBUG(18, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
register char *s, *t;
@@ -2548,134 +1322,100 @@ yy138:
}
return T_CONSTANT_ENCAPSED_STRING;
}
-yy140:
- YYDEBUG(140, *YYCURSOR);
+yy19:
+ YYDEBUG(19, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
{
static void *yytarget[256] = {
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy205, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy205, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy205, &&yy205, &&yy130, &&yy205, &&yy130, &&yy205, &&yy130,
- &&yy130, &&yy205, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy205,
- &&yy130, &&yy130, &&yy205, &&yy205, &&yy130, &&yy205, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy84, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy84, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy84, &&yy84, &&yy9, &&yy84, &&yy9, &&yy84, &&yy9,
+ &&yy9, &&yy84, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy84,
+ &&yy9, &&yy9, &&yy84, &&yy84, &&yy9, &&yy84, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9
};
goto *yytarget[yych];
}
-yy141:
- YYDEBUG(141, *YYCURSOR);
- yych = *++YYCURSOR;
- goto yy130;
-yy142:
- YYDEBUG(142, *YYCURSOR);
+yy20:
+ YYDEBUG(20, *YYCURSOR);
+ ++YYCURSOR;
+ goto yy9;
+yy21:
+ YYDEBUG(21, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '=') goto yy216;
- goto yy130;
-yy143:
- YYDEBUG(143, *YYCURSOR);
+ if (yych == '=') goto yy95;
+ goto yy9;
+yy22:
+ YYDEBUG(22, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '+') goto yy218;
- if (yych == '=') goto yy220;
- goto yy130;
-yy144:
- YYDEBUG(144, *YYCURSOR);
+ if (yych == '+') goto yy97;
+ if (yych == '=') goto yy99;
+ goto yy9;
+yy23:
+ YYDEBUG(23, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= '<') {
- if (yych == '-') goto yy222;
- goto yy130;
+ if (yych == '-') goto yy101;
+ goto yy9;
} else {
- if (yych <= '=') goto yy224;
- if (yych <= '>') goto yy226;
- goto yy130;
+ if (yych <= '=') goto yy103;
+ if (yych <= '>') goto yy105;
+ goto yy9;
}
-yy145:
- YYDEBUG(145, *YYCURSOR);
+yy24:
+ YYDEBUG(24, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych <= '/') goto yy130;
- if (yych <= '9') goto yy228;
- if (yych == '=') goto yy231;
- goto yy130;
-yy146:
- YYDEBUG(146, *YYCURSOR);
+ if (yych <= '/') goto yy9;
+ if (yych <= '9') goto yy107;
+ if (yych == '=') goto yy110;
+ goto yy9;
+yy25:
+ YYDEBUG(25, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= '.') {
- if (yych == '*') goto yy233;
- goto yy130;
+ if (yych == '*') goto yy112;
+ goto yy9;
} else {
- if (yych <= '/') goto yy133;
- if (yych == '=') goto yy235;
- goto yy130;
+ if (yych <= '/') goto yy12;
+ if (yych == '=') goto yy114;
+ goto yy9;
}
-yy147:
- YYDEBUG(147, *YYCURSOR);
+yy26:
+ YYDEBUG(26, *YYCURSOR);
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy228, &&yy148,
- &&yy149, &&yy149, &&yy149, &&yy149, &&yy149, &&yy149, &&yy149, &&yy149,
- &&yy149, &&yy149, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy237, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy238, &&yy148, &&yy148, &&yy237, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy239, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148
- };
- goto *yytarget[yych];
- }
-yy148:
- YYDEBUG(148, *YYCURSOR);
+ if (yych == 'b') goto yy117;
+ if (yych == 'x') goto yy118;
+ goto yy29;
+yy27:
+ YYDEBUG(27, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
@@ -2697,339 +1437,340 @@ yy148:
zendlval->type = IS_LONG;
return T_LNUMBER;
}
-yy149:
- YYDEBUG(149, *YYCURSOR);
+yy28:
+ YYDEBUG(28, *YYCURSOR);
yyaccept = 1;
YYMARKER = ++YYCURSOR;
YYFILL(3);
yych = *YYCURSOR;
- YYDEBUG(150, *YYCURSOR);
+yy29:
+ YYDEBUG(29, *YYCURSOR);
if (yybm[0+yych] & 8) {
- goto yy149;
+ goto yy28;
}
if (yych <= 'D') {
- if (yych == '.') goto yy228;
- goto yy148;
+ if (yych == '.') goto yy107;
+ goto yy27;
} else {
- if (yych <= 'E') goto yy237;
- if (yych == 'e') goto yy237;
- goto yy148;
+ if (yych <= 'E') goto yy116;
+ if (yych == 'e') goto yy116;
+ goto yy27;
}
-yy151:
- YYDEBUG(151, *YYCURSOR);
+yy30:
+ YYDEBUG(30, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == ':') goto yy240;
- goto yy130;
-yy152:
- YYDEBUG(152, *YYCURSOR);
+ if (yych == ':') goto yy119;
+ goto yy9;
+yy31:
+ YYDEBUG(31, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= ';') {
- if (yych == '/') goto yy242;
- goto yy130;
+ if (yych == '/') goto yy121;
+ goto yy9;
} else {
- if (yych <= '<') goto yy243;
- if (yych <= '=') goto yy245;
- if (yych <= '>') goto yy247;
- goto yy130;
+ if (yych <= '<') goto yy122;
+ if (yych <= '=') goto yy124;
+ if (yych <= '>') goto yy126;
+ goto yy9;
}
-yy153:
- YYDEBUG(153, *YYCURSOR);
+yy32:
+ YYDEBUG(32, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych <= '<') goto yy130;
- if (yych <= '=') goto yy248;
- if (yych <= '>') goto yy250;
- goto yy130;
-yy154:
- YYDEBUG(154, *YYCURSOR);
+ if (yych <= '<') goto yy9;
+ if (yych <= '=') goto yy127;
+ if (yych <= '>') goto yy129;
+ goto yy9;
+yy33:
+ YYDEBUG(33, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych <= '<') goto yy130;
- if (yych <= '=') goto yy252;
- if (yych <= '>') goto yy254;
- goto yy130;
-yy155:
- YYDEBUG(155, *YYCURSOR);
+ if (yych <= '<') goto yy9;
+ if (yych <= '=') goto yy131;
+ if (yych <= '>') goto yy133;
+ goto yy9;
+yy34:
+ YYDEBUG(34, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '>') goto yy256;
- goto yy130;
-yy156:
- YYDEBUG(156, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == 'N') goto yy258;
- goto yy159;
-yy157:
- YYDEBUG(157, *YYCURSOR);
+ if (yych == '>') goto yy135;
+ goto yy9;
+yy35:
+ YYDEBUG(35, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'N') goto yy137;
+ goto yy38;
+yy36:
+ YYDEBUG(36, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
zend_copy_value(zendlval, yytext, yyleng);
zendlval->type = IS_STRING;
return T_STRING;
}
-yy158:
- YYDEBUG(158, *YYCURSOR);
+yy37:
+ YYDEBUG(37, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
-yy159:
- YYDEBUG(159, *YYCURSOR);
+yy38:
+ YYDEBUG(38, *YYCURSOR);
if (yybm[0+yych] & 16) {
- goto yy158;
+ goto yy37;
}
- goto yy157;
-yy160:
- YYDEBUG(160, *YYCURSOR);
+ goto yy36;
+yy39:
+ YYDEBUG(39, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'R') goto yy259;
- goto yy159;
-yy161:
- YYDEBUG(161, *YYCURSOR);
+ if (yych == 'R') goto yy138;
+ goto yy38;
+yy40:
+ YYDEBUG(40, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'O') goto yy261;
- goto yy159;
-yy162:
- YYDEBUG(162, *YYCURSOR);
+ if (yych == 'O') goto yy140;
+ goto yy38;
+yy41:
+ YYDEBUG(41, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(163, *YYCURSOR);
+ YYDEBUG(42, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_NS_SEPARATOR;
}
-yy164:
- YYDEBUG(164, *YYCURSOR);
+yy43:
+ YYDEBUG(43, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '=') goto yy262;
- goto yy130;
-yy165:
- YYDEBUG(165, *YYCURSOR);
+ if (yych == '=') goto yy141;
+ goto yy9;
+yy44:
+ YYDEBUG(44, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '_') goto yy264;
- goto yy159;
-yy166:
- YYDEBUG(166, *YYCURSOR);
+ if (yych == '_') goto yy143;
+ goto yy38;
+yy45:
+ YYDEBUG(45, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(167, *YYCURSOR);
+ YYDEBUG(46, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
BEGIN(ST_BACKQUOTE);
return '`';
}
-yy168:
- YYDEBUG(168, *YYCURSOR);
+yy47:
+ YYDEBUG(47, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= 'q') {
- if (yych == 'b') goto yy265;
- goto yy159;
+ if (yych == 'b') goto yy144;
+ goto yy38;
} else {
- if (yych <= 'r') goto yy266;
- if (yych <= 's') goto yy267;
- goto yy159;
+ if (yych <= 'r') goto yy145;
+ if (yych <= 's') goto yy146;
+ goto yy38;
}
-yy169:
- YYDEBUG(169, *YYCURSOR);
+yy48:
+ YYDEBUG(48, *YYCURSOR);
yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
{
static void *yytarget[256] = {
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy131, &&yy159, &&yy159, &&yy159, &&yy159, &&yy138,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy269, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy270, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy10, &&yy38, &&yy38, &&yy38, &&yy38, &&yy17,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy148, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy149, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38
};
goto *yytarget[yych];
}
-yy170:
- YYDEBUG(170, *YYCURSOR);
+yy49:
+ YYDEBUG(49, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= 'k') {
- if (yych == 'a') goto yy271;
- goto yy159;
+ if (yych == 'a') goto yy150;
+ goto yy38;
} else {
- if (yych <= 'l') goto yy272;
- if (yych == 'o') goto yy273;
- goto yy159;
+ if (yych <= 'l') goto yy151;
+ if (yych == 'o') goto yy152;
+ goto yy38;
}
-yy171:
- YYDEBUG(171, *YYCURSOR);
+yy50:
+ YYDEBUG(50, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= 'h') {
- if (yych == 'e') goto yy274;
- goto yy159;
+ if (yych == 'e') goto yy153;
+ goto yy38;
} else {
- if (yych <= 'i') goto yy275;
- if (yych == 'o') goto yy276;
- goto yy159;
+ if (yych <= 'i') goto yy154;
+ if (yych == 'o') goto yy155;
+ goto yy38;
}
-yy172:
- YYDEBUG(172, *YYCURSOR);
+yy51:
+ YYDEBUG(51, *YYCURSOR);
yych = *++YYCURSOR;
{
static void *yytarget[256] = {
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy278, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy279, &&yy280, &&yy281, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy282, &&yy159,
- &&yy283, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy157, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy158, &&yy159, &&yy160, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy161, &&yy38,
+ &&yy162, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38
};
goto *yytarget[yych];
}
-yy173:
- YYDEBUG(173, *YYCURSOR);
+yy52:
+ YYDEBUG(52, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= 'n') {
- if (yych == 'i') goto yy284;
- goto yy159;
+ if (yych == 'i') goto yy163;
+ goto yy38;
} else {
- if (yych <= 'o') goto yy285;
- if (yych == 'u') goto yy286;
- goto yy159;
+ if (yych <= 'o') goto yy164;
+ if (yych == 'u') goto yy165;
+ goto yy38;
}
-yy174:
- YYDEBUG(174, *YYCURSOR);
+yy53:
+ YYDEBUG(53, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'l') goto yy287;
- if (yych == 'o') goto yy288;
- goto yy159;
-yy175:
- YYDEBUG(175, *YYCURSOR);
+ if (yych == 'l') goto yy166;
+ if (yych == 'o') goto yy167;
+ goto yy38;
+yy54:
+ YYDEBUG(54, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= 'm') {
- if (yych == 'f') goto yy289;
- if (yych <= 'l') goto yy159;
- goto yy291;
+ if (yych == 'f') goto yy168;
+ if (yych <= 'l') goto yy38;
+ goto yy170;
} else {
- if (yych <= 'n') goto yy292;
- if (yych == 's') goto yy293;
- goto yy159;
+ if (yych <= 'n') goto yy171;
+ if (yych == 's') goto yy172;
+ goto yy38;
}
-yy176:
- YYDEBUG(176, *YYCURSOR);
+yy55:
+ YYDEBUG(55, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'i') goto yy294;
- goto yy159;
-yy177:
- YYDEBUG(177, *YYCURSOR);
+ if (yych == 'i') goto yy173;
+ goto yy38;
+yy56:
+ YYDEBUG(56, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'a') goto yy295;
- if (yych == 'e') goto yy296;
- goto yy159;
-yy178:
- YYDEBUG(178, *YYCURSOR);
+ if (yych == 'a') goto yy174;
+ if (yych == 'e') goto yy175;
+ goto yy38;
+yy57:
+ YYDEBUG(57, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'r') goto yy297;
- if (yych == 'u') goto yy298;
- goto yy159;
-yy179:
- YYDEBUG(179, *YYCURSOR);
+ if (yych == 'r') goto yy176;
+ if (yych == 'u') goto yy177;
+ goto yy38;
+yy58:
+ YYDEBUG(58, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'e') goto yy299;
- goto yy159;
-yy180:
- YYDEBUG(180, *YYCURSOR);
+ if (yych == 'e') goto yy178;
+ goto yy38;
+yy59:
+ YYDEBUG(59, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 't') goto yy300;
- if (yych == 'w') goto yy301;
- goto yy159;
-yy181:
- YYDEBUG(181, *YYCURSOR);
+ if (yych == 't') goto yy179;
+ if (yych == 'w') goto yy180;
+ goto yy38;
+yy60:
+ YYDEBUG(60, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'h') goto yy302;
- if (yych == 'r') goto yy303;
- goto yy159;
-yy182:
- YYDEBUG(182, *YYCURSOR);
+ if (yych == 'h') goto yy181;
+ if (yych == 'r') goto yy182;
+ goto yy38;
+yy61:
+ YYDEBUG(61, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'n') goto yy304;
- if (yych == 's') goto yy305;
- goto yy159;
-yy183:
- YYDEBUG(183, *YYCURSOR);
+ if (yych == 'n') goto yy183;
+ if (yych == 's') goto yy184;
+ goto yy38;
+yy62:
+ YYDEBUG(62, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'a') goto yy306;
- goto yy159;
-yy184:
- YYDEBUG(184, *YYCURSOR);
+ if (yych == 'a') goto yy185;
+ goto yy38;
+yy63:
+ YYDEBUG(63, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'h') goto yy307;
- goto yy159;
-yy185:
- YYDEBUG(185, *YYCURSOR);
+ if (yych == 'h') goto yy186;
+ goto yy38;
+yy64:
+ YYDEBUG(64, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'i') goto yy308;
- goto yy159;
-yy186:
- YYDEBUG(186, *YYCURSOR);
+ if (yych == 'i') goto yy187;
+ goto yy38;
+yy65:
+ YYDEBUG(65, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(187, *YYCURSOR);
+ YYDEBUG(66, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
return '{';
}
-yy188:
- YYDEBUG(188, *YYCURSOR);
+yy67:
+ YYDEBUG(67, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '=') goto yy309;
- if (yych == '|') goto yy311;
- goto yy130;
-yy189:
- YYDEBUG(189, *YYCURSOR);
+ if (yych == '=') goto yy188;
+ if (yych == '|') goto yy190;
+ goto yy9;
+yy68:
+ YYDEBUG(68, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(190, *YYCURSOR);
+ YYDEBUG(69, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
RESET_DOC_COMMENT();
@@ -3038,82 +1779,82 @@ yy189:
}
return '}';
}
-yy191:
- YYDEBUG(191, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '=') goto yy313;
-yy192:
- YYDEBUG(192, *YYCURSOR);
+yy70:
+ YYDEBUG(70, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '=') goto yy192;
+yy71:
+ YYDEBUG(71, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_IS_NOT_EQUAL;
}
-yy193:
- YYDEBUG(193, *YYCURSOR);
+yy72:
+ YYDEBUG(72, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(194, *YYCURSOR);
+ YYDEBUG(73, *YYCURSOR);
{
static void *yytarget[256] = {
- &&yy195, &&yy195, &&yy195, &&yy195, &&yy195, &&yy195, &&yy195, &&yy195,
- &&yy195, &&yy195, &&yy195, &&yy195, &&yy195, &&yy195, &&yy195, &&yy195,
- &&yy195, &&yy195, &&yy195, &&yy195, &&yy195, &&yy195, &&yy195, &&yy195,
- &&yy195, &&yy195, &&yy195, &&yy195, &&yy195, &&yy195, &&yy195, &&yy195,
- &&yy195, &&yy195, &&yy195, &&yy195, &&yy195, &&yy195, &&yy195, &&yy195,
- &&yy195, &&yy195, &&yy195, &&yy195, &&yy195, &&yy195, &&yy195, &&yy195,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy195, &&yy195, &&yy195, &&yy195, &&yy195, &&yy195,
- &&yy195, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy195, &&yy195, &&yy195, &&yy195, &&yy193,
- &&yy195, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy195, &&yy195, &&yy195, &&yy195, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193
+ &&yy74, &&yy74, &&yy74, &&yy74, &&yy74, &&yy74, &&yy74, &&yy74,
+ &&yy74, &&yy74, &&yy74, &&yy74, &&yy74, &&yy74, &&yy74, &&yy74,
+ &&yy74, &&yy74, &&yy74, &&yy74, &&yy74, &&yy74, &&yy74, &&yy74,
+ &&yy74, &&yy74, &&yy74, &&yy74, &&yy74, &&yy74, &&yy74, &&yy74,
+ &&yy74, &&yy74, &&yy74, &&yy74, &&yy74, &&yy74, &&yy74, &&yy74,
+ &&yy74, &&yy74, &&yy74, &&yy74, &&yy74, &&yy74, &&yy74, &&yy74,
+ &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72,
+ &&yy72, &&yy72, &&yy74, &&yy74, &&yy74, &&yy74, &&yy74, &&yy74,
+ &&yy74, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72,
+ &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72,
+ &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72,
+ &&yy72, &&yy72, &&yy72, &&yy74, &&yy74, &&yy74, &&yy74, &&yy72,
+ &&yy74, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72,
+ &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72,
+ &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72,
+ &&yy72, &&yy72, &&yy72, &&yy74, &&yy74, &&yy74, &&yy74, &&yy72,
+ &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72,
+ &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72,
+ &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72,
+ &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72,
+ &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72,
+ &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72,
+ &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72,
+ &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72,
+ &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72,
+ &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72,
+ &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72,
+ &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72,
+ &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72,
+ &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72,
+ &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72,
+ &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72
};
goto *yytarget[yych];
}
-yy195:
- YYDEBUG(195, *YYCURSOR);
+yy74:
+ YYDEBUG(74, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
zendlval->type = IS_STRING;
return T_VARIABLE;
}
-yy196:
- YYDEBUG(196, *YYCURSOR);
+yy75:
+ YYDEBUG(75, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(197, *YYCURSOR);
+ YYDEBUG(76, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_MOD_EQUAL;
}
-yy198:
- YYDEBUG(198, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '\n') goto yy315;
- if (yych == '\r') goto yy316;
-yy199:
- YYDEBUG(199, *YYCURSOR);
+yy77:
+ YYDEBUG(77, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '\n') goto yy194;
+ if (yych == '\r') goto yy195;
+yy78:
+ YYDEBUG(78, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
if (CG(asp_tags)) {
@@ -3127,222 +1868,222 @@ yy199:
return yytext[0];
}
}
-yy200:
- YYDEBUG(200, *YYCURSOR);
+yy79:
+ YYDEBUG(79, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(201, *YYCURSOR);
+ YYDEBUG(80, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_BOOLEAN_AND;
}
-yy202:
- YYDEBUG(202, *YYCURSOR);
+yy81:
+ YYDEBUG(81, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(203, *YYCURSOR);
+ YYDEBUG(82, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_AND_EQUAL;
}
-yy204:
- YYDEBUG(204, *YYCURSOR);
+yy83:
+ YYDEBUG(83, *YYCURSOR);
++YYCURSOR;
YYFILL(7);
yych = *YYCURSOR;
-yy205:
- YYDEBUG(205, *YYCURSOR);
+yy84:
+ YYDEBUG(84, *YYCURSOR);
{
static void *yytarget[256] = {
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy204, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy204, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy207, &&yy208, &&yy206, &&yy209, &&yy206, &&yy210, &&yy206,
- &&yy206, &&yy211, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy212,
- &&yy206, &&yy206, &&yy213, &&yy214, &&yy206, &&yy215, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy83, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy83, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy86, &&yy87, &&yy85, &&yy88, &&yy85, &&yy89, &&yy85,
+ &&yy85, &&yy90, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy91,
+ &&yy85, &&yy85, &&yy92, &&yy93, &&yy85, &&yy94, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85
};
goto *yytarget[yych];
}
-yy206:
- YYDEBUG(206, *YYCURSOR);
+yy85:
+ YYDEBUG(85, *YYCURSOR);
YYCURSOR = YYMARKER;
if (yyaccept <= 2) {
if (yyaccept <= 1) {
if (yyaccept == 0) {
- goto yy130;
+ goto yy9;
} else {
- goto yy148;
+ goto yy27;
}
} else {
- goto yy157;
+ goto yy36;
}
} else {
if (yyaccept <= 4) {
if (yyaccept == 3) {
- goto yy230;
+ goto yy109;
} else {
- goto yy234;
+ goto yy113;
}
} else {
- goto yy244;
+ goto yy123;
}
}
-yy207:
- YYDEBUG(207, *YYCURSOR);
+yy86:
+ YYDEBUG(86, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'r') goto yy317;
- goto yy206;
-yy208:
- YYDEBUG(208, *YYCURSOR);
+ if (yych == 'r') goto yy196;
+ goto yy85;
+yy87:
+ YYDEBUG(87, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'i') goto yy318;
- if (yych == 'o') goto yy319;
- goto yy206;
-yy209:
- YYDEBUG(209, *YYCURSOR);
+ if (yych == 'i') goto yy197;
+ if (yych == 'o') goto yy198;
+ goto yy85;
+yy88:
+ YYDEBUG(88, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'o') goto yy320;
- goto yy206;
-yy210:
- YYDEBUG(210, *YYCURSOR);
+ if (yych == 'o') goto yy199;
+ goto yy85;
+yy89:
+ YYDEBUG(89, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'l') goto yy321;
- goto yy206;
-yy211:
- YYDEBUG(211, *YYCURSOR);
+ if (yych == 'l') goto yy200;
+ goto yy85;
+yy90:
+ YYDEBUG(90, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'n') goto yy322;
- goto yy206;
-yy212:
- YYDEBUG(212, *YYCURSOR);
+ if (yych == 'n') goto yy201;
+ goto yy85;
+yy91:
+ YYDEBUG(91, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'b') goto yy323;
- goto yy206;
-yy213:
- YYDEBUG(213, *YYCURSOR);
+ if (yych == 'b') goto yy202;
+ goto yy85;
+yy92:
+ YYDEBUG(92, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'e') goto yy324;
- goto yy206;
-yy214:
- YYDEBUG(214, *YYCURSOR);
+ if (yych == 'e') goto yy203;
+ goto yy85;
+yy93:
+ YYDEBUG(93, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 't') goto yy325;
- goto yy206;
-yy215:
- YYDEBUG(215, *YYCURSOR);
+ if (yych == 't') goto yy204;
+ goto yy85;
+yy94:
+ YYDEBUG(94, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'n') goto yy326;
- goto yy206;
-yy216:
- YYDEBUG(216, *YYCURSOR);
+ if (yych == 'n') goto yy205;
+ goto yy85;
+yy95:
+ YYDEBUG(95, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(217, *YYCURSOR);
+ YYDEBUG(96, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_MUL_EQUAL;
}
-yy218:
- YYDEBUG(218, *YYCURSOR);
+yy97:
+ YYDEBUG(97, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(219, *YYCURSOR);
+ YYDEBUG(98, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_INC;
}
-yy220:
- YYDEBUG(220, *YYCURSOR);
+yy99:
+ YYDEBUG(99, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(221, *YYCURSOR);
+ YYDEBUG(100, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_PLUS_EQUAL;
}
-yy222:
- YYDEBUG(222, *YYCURSOR);
+yy101:
+ YYDEBUG(101, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(223, *YYCURSOR);
+ YYDEBUG(102, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_DEC;
}
-yy224:
- YYDEBUG(224, *YYCURSOR);
+yy103:
+ YYDEBUG(103, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(225, *YYCURSOR);
+ YYDEBUG(104, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_MINUS_EQUAL;
}
-yy226:
- YYDEBUG(226, *YYCURSOR);
+yy105:
+ YYDEBUG(105, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(227, *YYCURSOR);
+ YYDEBUG(106, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
return T_OBJECT_OPERATOR;
}
-yy228:
- YYDEBUG(228, *YYCURSOR);
+yy107:
+ YYDEBUG(107, *YYCURSOR);
yyaccept = 3;
YYMARKER = ++YYCURSOR;
YYFILL(3);
yych = *YYCURSOR;
- YYDEBUG(229, *YYCURSOR);
+ YYDEBUG(108, *YYCURSOR);
if (yych <= 'D') {
- if (yych <= '/') goto yy230;
- if (yych <= '9') goto yy228;
+ if (yych <= '/') goto yy109;
+ if (yych <= '9') goto yy107;
} else {
- if (yych <= 'E') goto yy237;
- if (yych == 'e') goto yy237;
+ if (yych <= 'E') goto yy116;
+ if (yych == 'e') goto yy116;
}
-yy230:
- YYDEBUG(230, *YYCURSOR);
+yy109:
+ YYDEBUG(109, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
zendlval->value.dval = zend_strtod(yytext, NULL);
zendlval->type = IS_DOUBLE;
return T_DNUMBER;
}
-yy231:
- YYDEBUG(231, *YYCURSOR);
+yy110:
+ YYDEBUG(110, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(232, *YYCURSOR);
+ YYDEBUG(111, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_CONCAT_EQUAL;
}
-yy233:
- YYDEBUG(233, *YYCURSOR);
+yy112:
+ YYDEBUG(112, *YYCURSOR);
yyaccept = 4;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '*') goto yy327;
-yy234:
- YYDEBUG(234, *YYCURSOR);
+ if (yych == '*') goto yy206;
+yy113:
+ YYDEBUG(113, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
int doc_com;
@@ -3377,119 +2118,119 @@ yy234:
return T_COMMENT;
}
-yy235:
- YYDEBUG(235, *YYCURSOR);
+yy114:
+ YYDEBUG(114, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(236, *YYCURSOR);
+ YYDEBUG(115, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_DIV_EQUAL;
}
-yy237:
- YYDEBUG(237, *YYCURSOR);
+yy116:
+ YYDEBUG(116, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= ',') {
- if (yych == '+') goto yy328;
- goto yy206;
+ if (yych == '+') goto yy207;
+ goto yy85;
} else {
- if (yych <= '-') goto yy328;
- if (yych <= '/') goto yy206;
- if (yych <= '9') goto yy329;
- goto yy206;
+ if (yych <= '-') goto yy207;
+ if (yych <= '/') goto yy85;
+ if (yych <= '9') goto yy208;
+ goto yy85;
}
-yy238:
- YYDEBUG(238, *YYCURSOR);
+yy117:
+ YYDEBUG(117, *YYCURSOR);
yych = *++YYCURSOR;
if (yybm[0+yych] & 64) {
- goto yy331;
+ goto yy210;
}
- goto yy206;
-yy239:
- YYDEBUG(239, *YYCURSOR);
+ goto yy85;
+yy118:
+ YYDEBUG(118, *YYCURSOR);
yych = *++YYCURSOR;
if (yybm[0+yych] & 128) {
- goto yy334;
+ goto yy213;
}
- goto yy206;
-yy240:
- YYDEBUG(240, *YYCURSOR);
+ goto yy85;
+yy119:
+ YYDEBUG(119, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(241, *YYCURSOR);
+ YYDEBUG(120, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_PAAMAYIM_NEKUDOTAYIM;
}
-yy242:
- YYDEBUG(242, *YYCURSOR);
+yy121:
+ YYDEBUG(121, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 's') goto yy337;
- goto yy206;
-yy243:
- YYDEBUG(243, *YYCURSOR);
+ if (yych == 's') goto yy216;
+ goto yy85;
+yy122:
+ YYDEBUG(122, *YYCURSOR);
yyaccept = 5;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= ';') goto yy244;
- if (yych <= '<') goto yy338;
- if (yych <= '=') goto yy340;
-yy244:
- YYDEBUG(244, *YYCURSOR);
+ if (yych <= ';') goto yy123;
+ if (yych <= '<') goto yy217;
+ if (yych <= '=') goto yy219;
+yy123:
+ YYDEBUG(123, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_SL;
}
-yy245:
- YYDEBUG(245, *YYCURSOR);
+yy124:
+ YYDEBUG(124, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(246, *YYCURSOR);
+ YYDEBUG(125, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_IS_SMALLER_OR_EQUAL;
}
-yy247:
- YYDEBUG(247, *YYCURSOR);
- yych = *++YYCURSOR;
- goto yy192;
-yy248:
- YYDEBUG(248, *YYCURSOR);
+yy126:
+ YYDEBUG(126, *YYCURSOR);
++YYCURSOR;
- if ((yych = *YYCURSOR) == '=') goto yy342;
- YYDEBUG(249, *YYCURSOR);
+ goto yy71;
+yy127:
+ YYDEBUG(127, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '=') goto yy221;
+ YYDEBUG(128, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_IS_EQUAL;
}
-yy250:
- YYDEBUG(250, *YYCURSOR);
+yy129:
+ YYDEBUG(129, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(251, *YYCURSOR);
+ YYDEBUG(130, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_DOUBLE_ARROW;
}
-yy252:
- YYDEBUG(252, *YYCURSOR);
+yy131:
+ YYDEBUG(131, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(253, *YYCURSOR);
+ YYDEBUG(132, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_IS_GREATER_OR_EQUAL;
}
-yy254:
- YYDEBUG(254, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '=') goto yy344;
- YYDEBUG(255, *YYCURSOR);
+yy133:
+ YYDEBUG(133, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '=') goto yy223;
+ YYDEBUG(134, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_SR;
}
-yy256:
- YYDEBUG(256, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '\n') goto yy346;
- if (yych == '\r') goto yy347;
-yy257:
- YYDEBUG(257, *YYCURSOR);
+yy135:
+ YYDEBUG(135, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '\n') goto yy225;
+ if (yych == '\r') goto yy226;
+yy136:
+ YYDEBUG(136, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
zendlval->value.str.val = yytext; /* no copying - intentional */
@@ -3498,435 +2239,435 @@ yy257:
BEGIN(INITIAL);
return T_CLOSE_TAG; /* implicit ';' at php-end tag */
}
-yy258:
- YYDEBUG(258, *YYCURSOR);
+yy137:
+ YYDEBUG(137, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'D') goto yy348;
- goto yy159;
-yy259:
- YYDEBUG(259, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yych == 'D') goto yy227;
+ goto yy38;
+yy138:
+ YYDEBUG(138, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(260, *YYCURSOR);
+ YYDEBUG(139, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_LOGICAL_OR;
}
-yy261:
- YYDEBUG(261, *YYCURSOR);
+yy140:
+ YYDEBUG(140, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'R') goto yy350;
- goto yy159;
-yy262:
- YYDEBUG(262, *YYCURSOR);
+ if (yych == 'R') goto yy229;
+ goto yy38;
+yy141:
+ YYDEBUG(141, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(263, *YYCURSOR);
+ YYDEBUG(142, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_XOR_EQUAL;
}
-yy264:
- YYDEBUG(264, *YYCURSOR);
+yy143:
+ YYDEBUG(143, *YYCURSOR);
yych = *++YYCURSOR;
{
static void *yytarget[256] = {
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy352, &&yy353, &&yy159, &&yy354, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy355, &&yy356, &&yy357, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy358, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy359, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy231, &&yy232, &&yy38, &&yy233, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy234, &&yy235, &&yy236, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy237, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy238, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38
};
goto *yytarget[yych];
}
-yy265:
- YYDEBUG(265, *YYCURSOR);
+yy144:
+ YYDEBUG(144, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 's') goto yy360;
- goto yy159;
-yy266:
- YYDEBUG(266, *YYCURSOR);
+ if (yych == 's') goto yy239;
+ goto yy38;
+yy145:
+ YYDEBUG(145, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'r') goto yy361;
- goto yy159;
-yy267:
- YYDEBUG(267, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yych == 'r') goto yy240;
+ goto yy38;
+yy146:
+ YYDEBUG(146, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(268, *YYCURSOR);
+ YYDEBUG(147, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_AS;
}
-yy269:
- YYDEBUG(269, *YYCURSOR);
+yy148:
+ YYDEBUG(148, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '<') goto yy362;
- goto yy206;
-yy270:
- YYDEBUG(270, *YYCURSOR);
+ if (yych == '<') goto yy241;
+ goto yy85;
+yy149:
+ YYDEBUG(149, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'e') goto yy363;
- goto yy159;
-yy271:
- YYDEBUG(271, *YYCURSOR);
+ if (yych == 'e') goto yy242;
+ goto yy38;
+yy150:
+ YYDEBUG(150, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= 'r') {
- if (yych == 'l') goto yy364;
- goto yy159;
+ if (yych == 'l') goto yy243;
+ goto yy38;
} else {
- if (yych <= 's') goto yy365;
- if (yych <= 't') goto yy366;
- goto yy159;
+ if (yych <= 's') goto yy244;
+ if (yych <= 't') goto yy245;
+ goto yy38;
}
-yy272:
- YYDEBUG(272, *YYCURSOR);
+yy151:
+ YYDEBUG(151, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'a') goto yy367;
- if (yych == 'o') goto yy368;
- goto yy159;
-yy273:
- YYDEBUG(273, *YYCURSOR);
+ if (yych == 'a') goto yy246;
+ if (yych == 'o') goto yy247;
+ goto yy38;
+yy152:
+ YYDEBUG(152, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'n') goto yy369;
- goto yy159;
-yy274:
- YYDEBUG(274, *YYCURSOR);
+ if (yych == 'n') goto yy248;
+ goto yy38;
+yy153:
+ YYDEBUG(153, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'c') goto yy370;
- if (yych == 'f') goto yy371;
- goto yy159;
-yy275:
- YYDEBUG(275, *YYCURSOR);
+ if (yych == 'c') goto yy249;
+ if (yych == 'f') goto yy250;
+ goto yy38;
+yy154:
+ YYDEBUG(154, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'e') goto yy372;
- goto yy159;
-yy276:
- YYDEBUG(276, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yych == 'e') goto yy251;
+ goto yy38;
+yy155:
+ YYDEBUG(155, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(277, *YYCURSOR);
+ YYDEBUG(156, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_DO;
}
-yy278:
- YYDEBUG(278, *YYCURSOR);
+yy157:
+ YYDEBUG(157, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'h') goto yy374;
- goto yy159;
-yy279:
- YYDEBUG(279, *YYCURSOR);
+ if (yych == 'h') goto yy253;
+ goto yy38;
+yy158:
+ YYDEBUG(158, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 's') goto yy375;
- goto yy159;
-yy280:
- YYDEBUG(280, *YYCURSOR);
+ if (yych == 's') goto yy254;
+ goto yy38;
+yy159:
+ YYDEBUG(159, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'p') goto yy376;
- goto yy159;
-yy281:
- YYDEBUG(281, *YYCURSOR);
+ if (yych == 'p') goto yy255;
+ goto yy38;
+yy160:
+ YYDEBUG(160, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'd') goto yy377;
- goto yy159;
-yy282:
- YYDEBUG(282, *YYCURSOR);
+ if (yych == 'd') goto yy256;
+ goto yy38;
+yy161:
+ YYDEBUG(161, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'a') goto yy378;
- goto yy159;
-yy283:
- YYDEBUG(283, *YYCURSOR);
+ if (yych == 'a') goto yy257;
+ goto yy38;
+yy162:
+ YYDEBUG(162, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'i') goto yy379;
- if (yych == 't') goto yy380;
- goto yy159;
-yy284:
- YYDEBUG(284, *YYCURSOR);
+ if (yych == 'i') goto yy258;
+ if (yych == 't') goto yy259;
+ goto yy38;
+yy163:
+ YYDEBUG(163, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'n') goto yy381;
- goto yy159;
-yy285:
- YYDEBUG(285, *YYCURSOR);
+ if (yych == 'n') goto yy260;
+ goto yy38;
+yy164:
+ YYDEBUG(164, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'r') goto yy382;
- goto yy159;
-yy286:
- YYDEBUG(286, *YYCURSOR);
+ if (yych == 'r') goto yy261;
+ goto yy38;
+yy165:
+ YYDEBUG(165, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'n') goto yy384;
- goto yy159;
-yy287:
- YYDEBUG(287, *YYCURSOR);
+ if (yych == 'n') goto yy263;
+ goto yy38;
+yy166:
+ YYDEBUG(166, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'o') goto yy385;
- goto yy159;
-yy288:
- YYDEBUG(288, *YYCURSOR);
+ if (yych == 'o') goto yy264;
+ goto yy38;
+yy167:
+ YYDEBUG(167, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 't') goto yy386;
- goto yy159;
-yy289:
- YYDEBUG(289, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yych == 't') goto yy265;
+ goto yy38;
+yy168:
+ YYDEBUG(168, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(290, *YYCURSOR);
+ YYDEBUG(169, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_IF;
}
-yy291:
- YYDEBUG(291, *YYCURSOR);
+yy170:
+ YYDEBUG(170, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'p') goto yy387;
- goto yy159;
-yy292:
- YYDEBUG(292, *YYCURSOR);
+ if (yych == 'p') goto yy266;
+ goto yy38;
+yy171:
+ YYDEBUG(171, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= 'r') {
- if (yych == 'c') goto yy388;
- goto yy159;
+ if (yych == 'c') goto yy267;
+ goto yy38;
} else {
- if (yych <= 's') goto yy389;
- if (yych <= 't') goto yy390;
- goto yy159;
+ if (yych <= 's') goto yy268;
+ if (yych <= 't') goto yy269;
+ goto yy38;
}
-yy293:
- YYDEBUG(293, *YYCURSOR);
+yy172:
+ YYDEBUG(172, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 's') goto yy391;
- goto yy159;
-yy294:
- YYDEBUG(294, *YYCURSOR);
+ if (yych == 's') goto yy270;
+ goto yy38;
+yy173:
+ YYDEBUG(173, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 's') goto yy392;
- goto yy159;
-yy295:
- YYDEBUG(295, *YYCURSOR);
+ if (yych == 's') goto yy271;
+ goto yy38;
+yy174:
+ YYDEBUG(174, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'm') goto yy393;
- goto yy159;
-yy296:
- YYDEBUG(296, *YYCURSOR);
+ if (yych == 'm') goto yy272;
+ goto yy38;
+yy175:
+ YYDEBUG(175, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'w') goto yy394;
- goto yy159;
-yy297:
- YYDEBUG(297, *YYCURSOR);
+ if (yych == 'w') goto yy273;
+ goto yy38;
+yy176:
+ YYDEBUG(176, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'i') goto yy396;
- if (yych == 'o') goto yy397;
- goto yy159;
-yy298:
- YYDEBUG(298, *YYCURSOR);
+ if (yych == 'i') goto yy275;
+ if (yych == 'o') goto yy276;
+ goto yy38;
+yy177:
+ YYDEBUG(177, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'b') goto yy398;
- goto yy159;
-yy299:
- YYDEBUG(299, *YYCURSOR);
+ if (yych == 'b') goto yy277;
+ goto yy38;
+yy178:
+ YYDEBUG(178, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'q') goto yy399;
- if (yych == 't') goto yy400;
- goto yy159;
-yy300:
- YYDEBUG(300, *YYCURSOR);
+ if (yych == 'q') goto yy278;
+ if (yych == 't') goto yy279;
+ goto yy38;
+yy179:
+ YYDEBUG(179, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'a') goto yy401;
- goto yy159;
-yy301:
- YYDEBUG(301, *YYCURSOR);
+ if (yych == 'a') goto yy280;
+ goto yy38;
+yy180:
+ YYDEBUG(180, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'i') goto yy402;
- goto yy159;
-yy302:
- YYDEBUG(302, *YYCURSOR);
+ if (yych == 'i') goto yy281;
+ goto yy38;
+yy181:
+ YYDEBUG(181, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'r') goto yy403;
- goto yy159;
-yy303:
- YYDEBUG(303, *YYCURSOR);
+ if (yych == 'r') goto yy282;
+ goto yy38;
+yy182:
+ YYDEBUG(182, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'a') goto yy404;
- if (yych == 'y') goto yy405;
- goto yy159;
-yy304:
- YYDEBUG(304, *YYCURSOR);
+ if (yych == 'a') goto yy283;
+ if (yych == 'y') goto yy284;
+ goto yy38;
+yy183:
+ YYDEBUG(183, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 's') goto yy407;
- goto yy159;
-yy305:
- YYDEBUG(305, *YYCURSOR);
+ if (yych == 's') goto yy286;
+ goto yy38;
+yy184:
+ YYDEBUG(184, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'e') goto yy408;
- goto yy159;
-yy306:
- YYDEBUG(306, *YYCURSOR);
+ if (yych == 'e') goto yy287;
+ goto yy38;
+yy185:
+ YYDEBUG(185, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'r') goto yy410;
- goto yy159;
-yy307:
- YYDEBUG(307, *YYCURSOR);
+ if (yych == 'r') goto yy289;
+ goto yy38;
+yy186:
+ YYDEBUG(186, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'i') goto yy412;
- goto yy159;
-yy308:
- YYDEBUG(308, *YYCURSOR);
+ if (yych == 'i') goto yy291;
+ goto yy38;
+yy187:
+ YYDEBUG(187, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'e') goto yy413;
- goto yy159;
-yy309:
- YYDEBUG(309, *YYCURSOR);
+ if (yych == 'e') goto yy292;
+ goto yy38;
+yy188:
+ YYDEBUG(188, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(310, *YYCURSOR);
+ YYDEBUG(189, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_OR_EQUAL;
}
-yy311:
- YYDEBUG(311, *YYCURSOR);
+yy190:
+ YYDEBUG(190, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(312, *YYCURSOR);
+ YYDEBUG(191, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_BOOLEAN_OR;
}
-yy313:
- YYDEBUG(313, *YYCURSOR);
+yy192:
+ YYDEBUG(192, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(314, *YYCURSOR);
+ YYDEBUG(193, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_IS_NOT_IDENTICAL;
}
-yy315:
- YYDEBUG(315, *YYCURSOR);
- yych = *++YYCURSOR;
- goto yy199;
-yy316:
- YYDEBUG(316, *YYCURSOR);
+yy194:
+ YYDEBUG(194, *YYCURSOR);
+ ++YYCURSOR;
+ goto yy78;
+yy195:
+ YYDEBUG(195, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '\n') goto yy315;
- goto yy199;
-yy317:
- YYDEBUG(317, *YYCURSOR);
+ if (yych == '\n') goto yy194;
+ goto yy78;
+yy196:
+ YYDEBUG(196, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'r') goto yy414;
- goto yy206;
-yy318:
- YYDEBUG(318, *YYCURSOR);
+ if (yych == 'r') goto yy293;
+ goto yy85;
+yy197:
+ YYDEBUG(197, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'n') goto yy415;
- goto yy206;
-yy319:
- YYDEBUG(319, *YYCURSOR);
+ if (yych == 'n') goto yy294;
+ goto yy85;
+yy198:
+ YYDEBUG(198, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'o') goto yy416;
- goto yy206;
-yy320:
- YYDEBUG(320, *YYCURSOR);
+ if (yych == 'o') goto yy295;
+ goto yy85;
+yy199:
+ YYDEBUG(199, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'u') goto yy417;
- goto yy206;
-yy321:
- YYDEBUG(321, *YYCURSOR);
+ if (yych == 'u') goto yy296;
+ goto yy85;
+yy200:
+ YYDEBUG(200, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'o') goto yy418;
- goto yy206;
-yy322:
- YYDEBUG(322, *YYCURSOR);
+ if (yych == 'o') goto yy297;
+ goto yy85;
+yy201:
+ YYDEBUG(201, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 't') goto yy419;
- goto yy206;
-yy323:
- YYDEBUG(323, *YYCURSOR);
+ if (yych == 't') goto yy298;
+ goto yy85;
+yy202:
+ YYDEBUG(202, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'j') goto yy420;
- goto yy206;
-yy324:
- YYDEBUG(324, *YYCURSOR);
+ if (yych == 'j') goto yy299;
+ goto yy85;
+yy203:
+ YYDEBUG(203, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'a') goto yy421;
- goto yy206;
-yy325:
- YYDEBUG(325, *YYCURSOR);
+ if (yych == 'a') goto yy300;
+ goto yy85;
+yy204:
+ YYDEBUG(204, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'r') goto yy422;
- goto yy206;
-yy326:
- YYDEBUG(326, *YYCURSOR);
+ if (yych == 'r') goto yy301;
+ goto yy85;
+yy205:
+ YYDEBUG(205, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 's') goto yy423;
- goto yy206;
-yy327:
- YYDEBUG(327, *YYCURSOR);
+ if (yych == 's') goto yy302;
+ goto yy85;
+yy206:
+ YYDEBUG(206, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= '\f') {
- if (yych <= 0x08) goto yy206;
- if (yych <= '\n') goto yy424;
- goto yy206;
+ if (yych <= 0x08) goto yy85;
+ if (yych <= '\n') goto yy303;
+ goto yy85;
} else {
- if (yych <= '\r') goto yy424;
- if (yych == ' ') goto yy424;
- goto yy206;
+ if (yych <= '\r') goto yy303;
+ if (yych == ' ') goto yy303;
+ goto yy85;
}
-yy328:
- YYDEBUG(328, *YYCURSOR);
+yy207:
+ YYDEBUG(207, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych <= '/') goto yy206;
- if (yych >= ':') goto yy206;
-yy329:
- YYDEBUG(329, *YYCURSOR);
+ if (yych <= '/') goto yy85;
+ if (yych >= ':') goto yy85;
+yy208:
+ YYDEBUG(208, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(330, *YYCURSOR);
- if (yych <= '/') goto yy230;
- if (yych <= '9') goto yy329;
- goto yy230;
-yy331:
- YYDEBUG(331, *YYCURSOR);
+ YYDEBUG(209, *YYCURSOR);
+ if (yych <= '/') goto yy109;
+ if (yych <= '9') goto yy208;
+ goto yy109;
+yy210:
+ YYDEBUG(210, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(332, *YYCURSOR);
+ YYDEBUG(211, *YYCURSOR);
if (yybm[0+yych] & 64) {
- goto yy331;
+ goto yy210;
}
- YYDEBUG(333, *YYCURSOR);
+ YYDEBUG(212, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
char *bin = yytext + 2; /* Skip "0b" */
@@ -3952,16 +2693,16 @@ yy331:
return T_DNUMBER;
}
}
-yy334:
- YYDEBUG(334, *YYCURSOR);
+yy213:
+ YYDEBUG(213, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(335, *YYCURSOR);
+ YYDEBUG(214, *YYCURSOR);
if (yybm[0+yych] & 128) {
- goto yy334;
+ goto yy213;
}
- YYDEBUG(336, *YYCURSOR);
+ YYDEBUG(215, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
char *hex = yytext + 2; /* Skip "0x" */
@@ -3987,1167 +2728,1167 @@ yy334:
return T_DNUMBER;
}
}
-yy337:
- YYDEBUG(337, *YYCURSOR);
+yy216:
+ YYDEBUG(216, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'c') goto yy426;
- goto yy206;
-yy338:
- YYDEBUG(338, *YYCURSOR);
+ if (yych == 'c') goto yy305;
+ goto yy85;
+yy217:
+ YYDEBUG(217, *YYCURSOR);
++YYCURSOR;
YYFILL(2);
yych = *YYCURSOR;
- YYDEBUG(339, *YYCURSOR);
+ YYDEBUG(218, *YYCURSOR);
{
static void *yytarget[256] = {
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy338, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy338, &&yy206, &&yy427, &&yy206, &&yy206, &&yy206, &&yy206, &&yy428,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy206, &&yy206, &&yy206, &&yy206, &&yy429,
- &&yy206, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy206, &&yy206, &&yy206, &&yy206, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy217, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy217, &&yy85, &&yy306, &&yy85, &&yy85, &&yy85, &&yy85, &&yy307,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy85, &&yy85, &&yy85, &&yy85, &&yy308,
+ &&yy85, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy85, &&yy85, &&yy85, &&yy85, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308
};
goto *yytarget[yych];
}
-yy340:
- YYDEBUG(340, *YYCURSOR);
+yy219:
+ YYDEBUG(219, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(341, *YYCURSOR);
+ YYDEBUG(220, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_SL_EQUAL;
}
-yy342:
- YYDEBUG(342, *YYCURSOR);
+yy221:
+ YYDEBUG(221, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(343, *YYCURSOR);
+ YYDEBUG(222, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_IS_IDENTICAL;
}
-yy344:
- YYDEBUG(344, *YYCURSOR);
+yy223:
+ YYDEBUG(223, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(345, *YYCURSOR);
+ YYDEBUG(224, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_SR_EQUAL;
}
-yy346:
- YYDEBUG(346, *YYCURSOR);
+yy225:
+ YYDEBUG(225, *YYCURSOR);
+ ++YYCURSOR;
+ goto yy136;
+yy226:
+ YYDEBUG(226, *YYCURSOR);
yych = *++YYCURSOR;
- goto yy257;
-yy347:
- YYDEBUG(347, *YYCURSOR);
+ if (yych == '\n') goto yy225;
+ goto yy136;
+yy227:
+ YYDEBUG(227, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '\n') goto yy346;
- goto yy257;
-yy348:
- YYDEBUG(348, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(349, *YYCURSOR);
+ YYDEBUG(228, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_LOGICAL_AND;
}
-yy350:
- YYDEBUG(350, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+yy229:
+ YYDEBUG(229, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(351, *YYCURSOR);
+ YYDEBUG(230, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_LOGICAL_XOR;
}
-yy352:
- YYDEBUG(352, *YYCURSOR);
+yy231:
+ YYDEBUG(231, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'L') goto yy431;
- goto yy159;
-yy353:
- YYDEBUG(353, *YYCURSOR);
+ if (yych == 'L') goto yy310;
+ goto yy38;
+yy232:
+ YYDEBUG(232, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'I') goto yy432;
- goto yy159;
-yy354:
- YYDEBUG(354, *YYCURSOR);
+ if (yych == 'I') goto yy311;
+ goto yy38;
+yy233:
+ YYDEBUG(233, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'I') goto yy433;
- if (yych == 'U') goto yy434;
- goto yy159;
-yy355:
- YYDEBUG(355, *YYCURSOR);
+ if (yych == 'I') goto yy312;
+ if (yych == 'U') goto yy313;
+ goto yy38;
+yy234:
+ YYDEBUG(234, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'I') goto yy435;
- goto yy159;
-yy356:
- YYDEBUG(356, *YYCURSOR);
+ if (yych == 'I') goto yy314;
+ goto yy38;
+yy235:
+ YYDEBUG(235, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy436;
- goto yy159;
-yy357:
- YYDEBUG(357, *YYCURSOR);
+ if (yych == 'E') goto yy315;
+ goto yy38;
+yy236:
+ YYDEBUG(236, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy437;
- goto yy159;
-yy358:
- YYDEBUG(358, *YYCURSOR);
+ if (yych == 'A') goto yy316;
+ goto yy38;
+yy237:
+ YYDEBUG(237, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'R') goto yy438;
- goto yy159;
-yy359:
- YYDEBUG(359, *YYCURSOR);
+ if (yych == 'R') goto yy317;
+ goto yy38;
+yy238:
+ YYDEBUG(238, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'a') goto yy439;
- goto yy159;
-yy360:
- YYDEBUG(360, *YYCURSOR);
+ if (yych == 'a') goto yy318;
+ goto yy38;
+yy239:
+ YYDEBUG(239, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 't') goto yy440;
- goto yy159;
-yy361:
- YYDEBUG(361, *YYCURSOR);
+ if (yych == 't') goto yy319;
+ goto yy38;
+yy240:
+ YYDEBUG(240, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'a') goto yy441;
- goto yy159;
-yy362:
- YYDEBUG(362, *YYCURSOR);
+ if (yych == 'a') goto yy320;
+ goto yy38;
+yy241:
+ YYDEBUG(241, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '<') goto yy338;
- goto yy206;
-yy363:
- YYDEBUG(363, *YYCURSOR);
+ if (yych == '<') goto yy217;
+ goto yy85;
+yy242:
+ YYDEBUG(242, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'a') goto yy442;
- goto yy159;
-yy364:
- YYDEBUG(364, *YYCURSOR);
+ if (yych == 'a') goto yy321;
+ goto yy38;
+yy243:
+ YYDEBUG(243, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'l') goto yy443;
- goto yy159;
-yy365:
- YYDEBUG(365, *YYCURSOR);
+ if (yych == 'l') goto yy322;
+ goto yy38;
+yy244:
+ YYDEBUG(244, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'e') goto yy444;
- goto yy159;
-yy366:
- YYDEBUG(366, *YYCURSOR);
+ if (yych == 'e') goto yy323;
+ goto yy38;
+yy245:
+ YYDEBUG(245, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'c') goto yy446;
- goto yy159;
-yy367:
- YYDEBUG(367, *YYCURSOR);
+ if (yych == 'c') goto yy325;
+ goto yy38;
+yy246:
+ YYDEBUG(246, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 's') goto yy447;
- goto yy159;
-yy368:
- YYDEBUG(368, *YYCURSOR);
+ if (yych == 's') goto yy326;
+ goto yy38;
+yy247:
+ YYDEBUG(247, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'n') goto yy448;
- goto yy159;
-yy369:
- YYDEBUG(369, *YYCURSOR);
+ if (yych == 'n') goto yy327;
+ goto yy38;
+yy248:
+ YYDEBUG(248, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych <= 'r') goto yy159;
- if (yych <= 's') goto yy449;
- if (yych <= 't') goto yy450;
- goto yy159;
-yy370:
- YYDEBUG(370, *YYCURSOR);
+ if (yych <= 'r') goto yy38;
+ if (yych <= 's') goto yy328;
+ if (yych <= 't') goto yy329;
+ goto yy38;
+yy249:
+ YYDEBUG(249, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'l') goto yy451;
- goto yy159;
-yy371:
- YYDEBUG(371, *YYCURSOR);
+ if (yych == 'l') goto yy330;
+ goto yy38;
+yy250:
+ YYDEBUG(250, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'a') goto yy452;
- goto yy159;
-yy372:
- YYDEBUG(372, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yych == 'a') goto yy331;
+ goto yy38;
+yy251:
+ YYDEBUG(251, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(373, *YYCURSOR);
+ YYDEBUG(252, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_EXIT;
}
-yy374:
- YYDEBUG(374, *YYCURSOR);
+yy253:
+ YYDEBUG(253, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'o') goto yy453;
- goto yy159;
-yy375:
- YYDEBUG(375, *YYCURSOR);
+ if (yych == 'o') goto yy332;
+ goto yy38;
+yy254:
+ YYDEBUG(254, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'e') goto yy455;
- goto yy159;
-yy376:
- YYDEBUG(376, *YYCURSOR);
+ if (yych == 'e') goto yy334;
+ goto yy38;
+yy255:
+ YYDEBUG(255, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 't') goto yy457;
- goto yy159;
-yy377:
- YYDEBUG(377, *YYCURSOR);
+ if (yych == 't') goto yy336;
+ goto yy38;
+yy256:
+ YYDEBUG(256, *YYCURSOR);
yych = *++YYCURSOR;
{
static void *yytarget[256] = {
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy458, &&yy159, &&yy459, &&yy159,
- &&yy159, &&yy460, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy461, &&yy159, &&yy159, &&yy159, &&yy462,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy337, &&yy38, &&yy338, &&yy38,
+ &&yy38, &&yy339, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy340, &&yy38, &&yy38, &&yy38, &&yy341,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38,
+ &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38, &&yy38
};
goto *yytarget[yych];
}
-yy378:
- YYDEBUG(378, *YYCURSOR);
+yy257:
+ YYDEBUG(257, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'l') goto yy463;
- goto yy159;
-yy379:
- YYDEBUG(379, *YYCURSOR);
+ if (yych == 'l') goto yy342;
+ goto yy38;
+yy258:
+ YYDEBUG(258, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 't') goto yy465;
- goto yy159;
-yy380:
- YYDEBUG(380, *YYCURSOR);
+ if (yych == 't') goto yy344;
+ goto yy38;
+yy259:
+ YYDEBUG(259, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'e') goto yy467;
- goto yy159;
-yy381:
- YYDEBUG(381, *YYCURSOR);
+ if (yych == 'e') goto yy346;
+ goto yy38;
+yy260:
+ YYDEBUG(260, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'a') goto yy347;
+ goto yy38;
+yy261:
+ YYDEBUG(261, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'a') goto yy468;
- goto yy159;
-yy382:
- YYDEBUG(382, *YYCURSOR);
- ++YYCURSOR;
{
static void *yytarget[256] = {
- &&yy383, &&yy383, &&yy383, &&yy383, &&yy383, &&yy383, &&yy383, &&yy383,
- &&yy383, &&yy383, &&yy383, &&yy383, &&yy383, &&yy383, &&yy383, &&yy383,
- &&yy383, &&yy383, &&yy383, &&yy383, &&yy383, &&yy383, &&yy383, &&yy383,
- &&yy383, &&yy383, &&yy383, &&yy383, &&yy383, &&yy383, &&yy383, &&yy383,
- &&yy383, &&yy383, &&yy383, &&yy383, &&yy383, &&yy383, &&yy383, &&yy383,
- &&yy383, &&yy383, &&yy383, &&yy383, &&yy383, &&yy383, &&yy383, &&yy383,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy383, &&yy383, &&yy383, &&yy383, &&yy383, &&yy383,
- &&yy383, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy383, &&yy383, &&yy383, &&yy383, &&yy158,
- &&yy383, &&yy158, &&yy158, &&yy158, &&yy158, &&yy469, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy383, &&yy383, &&yy383, &&yy383, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158
+ &&yy262, &&yy262, &&yy262, &&yy262, &&yy262, &&yy262, &&yy262, &&yy262,
+ &&yy262, &&yy262, &&yy262, &&yy262, &&yy262, &&yy262, &&yy262, &&yy262,
+ &&yy262, &&yy262, &&yy262, &&yy262, &&yy262, &&yy262, &&yy262, &&yy262,
+ &&yy262, &&yy262, &&yy262, &&yy262, &&yy262, &&yy262, &&yy262, &&yy262,
+ &&yy262, &&yy262, &&yy262, &&yy262, &&yy262, &&yy262, &&yy262, &&yy262,
+ &&yy262, &&yy262, &&yy262, &&yy262, &&yy262, &&yy262, &&yy262, &&yy262,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy262, &&yy262, &&yy262, &&yy262, &&yy262, &&yy262,
+ &&yy262, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy262, &&yy262, &&yy262, &&yy262, &&yy37,
+ &&yy262, &&yy37, &&yy37, &&yy37, &&yy37, &&yy348, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy262, &&yy262, &&yy262, &&yy262, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37
};
- goto *yytarget[(yych = *YYCURSOR)];
+ goto *yytarget[yych];
}
-yy383:
- YYDEBUG(383, *YYCURSOR);
+yy262:
+ YYDEBUG(262, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_FOR;
}
-yy384:
- YYDEBUG(384, *YYCURSOR);
+yy263:
+ YYDEBUG(263, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'c') goto yy470;
- goto yy159;
-yy385:
- YYDEBUG(385, *YYCURSOR);
+ if (yych == 'c') goto yy349;
+ goto yy38;
+yy264:
+ YYDEBUG(264, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'b') goto yy471;
- goto yy159;
-yy386:
- YYDEBUG(386, *YYCURSOR);
+ if (yych == 'b') goto yy350;
+ goto yy38;
+yy265:
+ YYDEBUG(265, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'o') goto yy472;
- goto yy159;
-yy387:
- YYDEBUG(387, *YYCURSOR);
+ if (yych == 'o') goto yy351;
+ goto yy38;
+yy266:
+ YYDEBUG(266, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'l') goto yy474;
- goto yy159;
-yy388:
- YYDEBUG(388, *YYCURSOR);
+ if (yych == 'l') goto yy353;
+ goto yy38;
+yy267:
+ YYDEBUG(267, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'l') goto yy475;
- goto yy159;
-yy389:
- YYDEBUG(389, *YYCURSOR);
+ if (yych == 'l') goto yy354;
+ goto yy38;
+yy268:
+ YYDEBUG(268, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 't') goto yy476;
- goto yy159;
-yy390:
- YYDEBUG(390, *YYCURSOR);
+ if (yych == 't') goto yy355;
+ goto yy38;
+yy269:
+ YYDEBUG(269, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'e') goto yy477;
- goto yy159;
-yy391:
- YYDEBUG(391, *YYCURSOR);
+ if (yych == 'e') goto yy356;
+ goto yy38;
+yy270:
+ YYDEBUG(270, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'e') goto yy478;
- goto yy159;
-yy392:
- YYDEBUG(392, *YYCURSOR);
+ if (yych == 'e') goto yy357;
+ goto yy38;
+yy271:
+ YYDEBUG(271, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 't') goto yy479;
- goto yy159;
-yy393:
- YYDEBUG(393, *YYCURSOR);
+ if (yych == 't') goto yy358;
+ goto yy38;
+yy272:
+ YYDEBUG(272, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'e') goto yy481;
- goto yy159;
-yy394:
- YYDEBUG(394, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yych == 'e') goto yy360;
+ goto yy38;
+yy273:
+ YYDEBUG(273, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(395, *YYCURSOR);
+ YYDEBUG(274, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_NEW;
}
-yy396:
- YYDEBUG(396, *YYCURSOR);
+yy275:
+ YYDEBUG(275, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'n') goto yy482;
- if (yych == 'v') goto yy483;
- goto yy159;
-yy397:
- YYDEBUG(397, *YYCURSOR);
+ if (yych == 'n') goto yy361;
+ if (yych == 'v') goto yy362;
+ goto yy38;
+yy276:
+ YYDEBUG(276, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 't') goto yy484;
- goto yy159;
-yy398:
- YYDEBUG(398, *YYCURSOR);
+ if (yych == 't') goto yy363;
+ goto yy38;
+yy277:
+ YYDEBUG(277, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'l') goto yy485;
- goto yy159;
-yy399:
- YYDEBUG(399, *YYCURSOR);
+ if (yych == 'l') goto yy364;
+ goto yy38;
+yy278:
+ YYDEBUG(278, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'u') goto yy486;
- goto yy159;
-yy400:
- YYDEBUG(400, *YYCURSOR);
+ if (yych == 'u') goto yy365;
+ goto yy38;
+yy279:
+ YYDEBUG(279, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'u') goto yy487;
- goto yy159;
-yy401:
- YYDEBUG(401, *YYCURSOR);
+ if (yych == 'u') goto yy366;
+ goto yy38;
+yy280:
+ YYDEBUG(280, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 't') goto yy488;
- goto yy159;
-yy402:
- YYDEBUG(402, *YYCURSOR);
+ if (yych == 't') goto yy367;
+ goto yy38;
+yy281:
+ YYDEBUG(281, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 't') goto yy489;
- goto yy159;
-yy403:
- YYDEBUG(403, *YYCURSOR);
+ if (yych == 't') goto yy368;
+ goto yy38;
+yy282:
+ YYDEBUG(282, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'o') goto yy490;
- goto yy159;
-yy404:
- YYDEBUG(404, *YYCURSOR);
+ if (yych == 'o') goto yy369;
+ goto yy38;
+yy283:
+ YYDEBUG(283, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'i') goto yy491;
- goto yy159;
-yy405:
- YYDEBUG(405, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yych == 'i') goto yy370;
+ goto yy38;
+yy284:
+ YYDEBUG(284, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(406, *YYCURSOR);
+ YYDEBUG(285, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_TRY;
}
-yy407:
- YYDEBUG(407, *YYCURSOR);
+yy286:
+ YYDEBUG(286, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'e') goto yy492;
- goto yy159;
-yy408:
- YYDEBUG(408, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yych == 'e') goto yy371;
+ goto yy38;
+yy287:
+ YYDEBUG(287, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(409, *YYCURSOR);
+ YYDEBUG(288, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_USE;
}
-yy410:
- YYDEBUG(410, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+yy289:
+ YYDEBUG(289, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(411, *YYCURSOR);
+ YYDEBUG(290, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_VAR;
}
-yy412:
- YYDEBUG(412, *YYCURSOR);
+yy291:
+ YYDEBUG(291, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'l') goto yy493;
- goto yy159;
-yy413:
- YYDEBUG(413, *YYCURSOR);
+ if (yych == 'l') goto yy372;
+ goto yy38;
+yy292:
+ YYDEBUG(292, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'l') goto yy494;
- goto yy159;
-yy414:
- YYDEBUG(414, *YYCURSOR);
+ if (yych == 'l') goto yy373;
+ goto yy38;
+yy293:
+ YYDEBUG(293, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'a') goto yy495;
- goto yy206;
-yy415:
- YYDEBUG(415, *YYCURSOR);
+ if (yych == 'a') goto yy374;
+ goto yy85;
+yy294:
+ YYDEBUG(294, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'a') goto yy496;
- goto yy206;
-yy416:
- YYDEBUG(416, *YYCURSOR);
+ if (yych == 'a') goto yy375;
+ goto yy85;
+yy295:
+ YYDEBUG(295, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'l') goto yy497;
- goto yy206;
-yy417:
- YYDEBUG(417, *YYCURSOR);
+ if (yych == 'l') goto yy376;
+ goto yy85;
+yy296:
+ YYDEBUG(296, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'b') goto yy498;
- goto yy206;
-yy418:
- YYDEBUG(418, *YYCURSOR);
+ if (yych == 'b') goto yy377;
+ goto yy85;
+yy297:
+ YYDEBUG(297, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'a') goto yy499;
- goto yy206;
-yy419:
- YYDEBUG(419, *YYCURSOR);
+ if (yych == 'a') goto yy378;
+ goto yy85;
+yy298:
+ YYDEBUG(298, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'e') goto yy504;
- goto yy501;
-yy420:
- YYDEBUG(420, *YYCURSOR);
+ if (yych == 'e') goto yy383;
+ goto yy380;
+yy299:
+ YYDEBUG(299, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'e') goto yy505;
- goto yy206;
-yy421:
- YYDEBUG(421, *YYCURSOR);
+ if (yych == 'e') goto yy384;
+ goto yy85;
+yy300:
+ YYDEBUG(300, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'l') goto yy506;
- goto yy206;
-yy422:
- YYDEBUG(422, *YYCURSOR);
+ if (yych == 'l') goto yy385;
+ goto yy85;
+yy301:
+ YYDEBUG(301, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'i') goto yy508;
- goto yy206;
-yy423:
- YYDEBUG(423, *YYCURSOR);
+ if (yych == 'i') goto yy387;
+ goto yy85;
+yy302:
+ YYDEBUG(302, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'e') goto yy509;
- goto yy206;
-yy424:
- YYDEBUG(424, *YYCURSOR);
+ if (yych == 'e') goto yy388;
+ goto yy85;
+yy303:
+ YYDEBUG(303, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(425, *YYCURSOR);
+ YYDEBUG(304, *YYCURSOR);
if (yych <= '\f') {
- if (yych <= 0x08) goto yy234;
- if (yych <= '\n') goto yy424;
- goto yy234;
+ if (yych <= 0x08) goto yy113;
+ if (yych <= '\n') goto yy303;
+ goto yy113;
} else {
- if (yych <= '\r') goto yy424;
- if (yych == ' ') goto yy424;
- goto yy234;
+ if (yych <= '\r') goto yy303;
+ if (yych == ' ') goto yy303;
+ goto yy113;
}
-yy426:
- YYDEBUG(426, *YYCURSOR);
+yy305:
+ YYDEBUG(305, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'r') goto yy510;
- goto yy206;
-yy427:
- YYDEBUG(427, *YYCURSOR);
+ if (yych == 'r') goto yy389;
+ goto yy85;
+yy306:
+ YYDEBUG(306, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '"') goto yy206;
- if (yych <= '/') goto yy512;
- if (yych <= '9') goto yy206;
- goto yy512;
-yy428:
- YYDEBUG(428, *YYCURSOR);
+ if (yych == '"') goto yy85;
+ if (yych <= '/') goto yy391;
+ if (yych <= '9') goto yy85;
+ goto yy391;
+yy307:
+ YYDEBUG(307, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '\'') goto yy206;
- if (yych <= '/') goto yy514;
- if (yych <= '9') goto yy206;
- goto yy514;
-yy429:
- YYDEBUG(429, *YYCURSOR);
+ if (yych == '\'') goto yy85;
+ if (yych <= '/') goto yy393;
+ if (yych <= '9') goto yy85;
+ goto yy393;
+yy308:
+ YYDEBUG(308, *YYCURSOR);
++YYCURSOR;
YYFILL(2);
yych = *YYCURSOR;
- YYDEBUG(430, *YYCURSOR);
+ YYDEBUG(309, *YYCURSOR);
{
static void *yytarget[256] = {
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy515, &&yy206, &&yy206, &&yy517, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy206, &&yy206, &&yy206, &&yy206, &&yy429,
- &&yy206, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy206, &&yy206, &&yy206, &&yy206, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy394, &&yy85, &&yy85, &&yy396, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy85, &&yy85, &&yy85, &&yy85, &&yy308,
+ &&yy85, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy85, &&yy85, &&yy85, &&yy85, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308,
+ &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308, &&yy308
};
goto *yytarget[yych];
}
-yy431:
- YYDEBUG(431, *YYCURSOR);
+yy310:
+ YYDEBUG(310, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy518;
- goto yy159;
-yy432:
- YYDEBUG(432, *YYCURSOR);
+ if (yych == 'A') goto yy397;
+ goto yy38;
+yy311:
+ YYDEBUG(311, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'R') goto yy519;
- goto yy159;
-yy433:
- YYDEBUG(433, *YYCURSOR);
+ if (yych == 'R') goto yy398;
+ goto yy38;
+yy312:
+ YYDEBUG(312, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'L') goto yy520;
- goto yy159;
-yy434:
- YYDEBUG(434, *YYCURSOR);
+ if (yych == 'L') goto yy399;
+ goto yy38;
+yy313:
+ YYDEBUG(313, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'N') goto yy521;
- goto yy159;
-yy435:
- YYDEBUG(435, *YYCURSOR);
+ if (yych == 'N') goto yy400;
+ goto yy38;
+yy314:
+ YYDEBUG(314, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'N') goto yy522;
- goto yy159;
-yy436:
- YYDEBUG(436, *YYCURSOR);
+ if (yych == 'N') goto yy401;
+ goto yy38;
+yy315:
+ YYDEBUG(315, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy523;
- goto yy159;
-yy437:
- YYDEBUG(437, *YYCURSOR);
+ if (yych == 'T') goto yy402;
+ goto yy38;
+yy316:
+ YYDEBUG(316, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'M') goto yy524;
- goto yy159;
-yy438:
- YYDEBUG(438, *YYCURSOR);
+ if (yych == 'M') goto yy403;
+ goto yy38;
+yy317:
+ YYDEBUG(317, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy525;
- goto yy159;
-yy439:
- YYDEBUG(439, *YYCURSOR);
+ if (yych == 'A') goto yy404;
+ goto yy38;
+yy318:
+ YYDEBUG(318, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'l') goto yy526;
- goto yy159;
-yy440:
- YYDEBUG(440, *YYCURSOR);
+ if (yych == 'l') goto yy405;
+ goto yy38;
+yy319:
+ YYDEBUG(319, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'r') goto yy527;
- goto yy159;
-yy441:
- YYDEBUG(441, *YYCURSOR);
+ if (yych == 'r') goto yy406;
+ goto yy38;
+yy320:
+ YYDEBUG(320, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'y') goto yy528;
- goto yy159;
-yy442:
- YYDEBUG(442, *YYCURSOR);
+ if (yych == 'y') goto yy407;
+ goto yy38;
+yy321:
+ YYDEBUG(321, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'k') goto yy530;
- goto yy159;
-yy443:
- YYDEBUG(443, *YYCURSOR);
+ if (yych == 'k') goto yy409;
+ goto yy38;
+yy322:
+ YYDEBUG(322, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'a') goto yy532;
- goto yy159;
-yy444:
- YYDEBUG(444, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yych == 'a') goto yy411;
+ goto yy38;
+yy323:
+ YYDEBUG(323, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(445, *YYCURSOR);
+ YYDEBUG(324, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_CASE;
}
-yy446:
- YYDEBUG(446, *YYCURSOR);
+yy325:
+ YYDEBUG(325, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'h') goto yy533;
- goto yy159;
-yy447:
- YYDEBUG(447, *YYCURSOR);
+ if (yych == 'h') goto yy412;
+ goto yy38;
+yy326:
+ YYDEBUG(326, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 's') goto yy535;
- goto yy159;
-yy448:
- YYDEBUG(448, *YYCURSOR);
+ if (yych == 's') goto yy414;
+ goto yy38;
+yy327:
+ YYDEBUG(327, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'e') goto yy537;
- goto yy159;
-yy449:
- YYDEBUG(449, *YYCURSOR);
+ if (yych == 'e') goto yy416;
+ goto yy38;
+yy328:
+ YYDEBUG(328, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 't') goto yy539;
- goto yy159;
-yy450:
- YYDEBUG(450, *YYCURSOR);
+ if (yych == 't') goto yy418;
+ goto yy38;
+yy329:
+ YYDEBUG(329, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'i') goto yy541;
- goto yy159;
-yy451:
- YYDEBUG(451, *YYCURSOR);
+ if (yych == 'i') goto yy420;
+ goto yy38;
+yy330:
+ YYDEBUG(330, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'a') goto yy542;
- goto yy159;
-yy452:
- YYDEBUG(452, *YYCURSOR);
+ if (yych == 'a') goto yy421;
+ goto yy38;
+yy331:
+ YYDEBUG(331, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'u') goto yy543;
- goto yy159;
-yy453:
- YYDEBUG(453, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yych == 'u') goto yy422;
+ goto yy38;
+yy332:
+ YYDEBUG(332, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(454, *YYCURSOR);
+ YYDEBUG(333, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_ECHO;
}
-yy455:
- YYDEBUG(455, *YYCURSOR);
- ++YYCURSOR;
+yy334:
+ YYDEBUG(334, *YYCURSOR);
+ yych = *++YYCURSOR;
{
static void *yytarget[256] = {
- &&yy456, &&yy456, &&yy456, &&yy456, &&yy456, &&yy456, &&yy456, &&yy456,
- &&yy456, &&yy456, &&yy456, &&yy456, &&yy456, &&yy456, &&yy456, &&yy456,
- &&yy456, &&yy456, &&yy456, &&yy456, &&yy456, &&yy456, &&yy456, &&yy456,
- &&yy456, &&yy456, &&yy456, &&yy456, &&yy456, &&yy456, &&yy456, &&yy456,
- &&yy456, &&yy456, &&yy456, &&yy456, &&yy456, &&yy456, &&yy456, &&yy456,
- &&yy456, &&yy456, &&yy456, &&yy456, &&yy456, &&yy456, &&yy456, &&yy456,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy456, &&yy456, &&yy456, &&yy456, &&yy456, &&yy456,
- &&yy456, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy456, &&yy456, &&yy456, &&yy456, &&yy158,
- &&yy456, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy544, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy456, &&yy456, &&yy456, &&yy456, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158
+ &&yy335, &&yy335, &&yy335, &&yy335, &&yy335, &&yy335, &&yy335, &&yy335,
+ &&yy335, &&yy335, &&yy335, &&yy335, &&yy335, &&yy335, &&yy335, &&yy335,
+ &&yy335, &&yy335, &&yy335, &&yy335, &&yy335, &&yy335, &&yy335, &&yy335,
+ &&yy335, &&yy335, &&yy335, &&yy335, &&yy335, &&yy335, &&yy335, &&yy335,
+ &&yy335, &&yy335, &&yy335, &&yy335, &&yy335, &&yy335, &&yy335, &&yy335,
+ &&yy335, &&yy335, &&yy335, &&yy335, &&yy335, &&yy335, &&yy335, &&yy335,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy335, &&yy335, &&yy335, &&yy335, &&yy335, &&yy335,
+ &&yy335, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy335, &&yy335, &&yy335, &&yy335, &&yy37,
+ &&yy335, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy423, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy335, &&yy335, &&yy335, &&yy335, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37
};
- goto *yytarget[(yych = *YYCURSOR)];
+ goto *yytarget[yych];
}
-yy456:
- YYDEBUG(456, *YYCURSOR);
+yy335:
+ YYDEBUG(335, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_ELSE;
}
-yy457:
- YYDEBUG(457, *YYCURSOR);
+yy336:
+ YYDEBUG(336, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'y') goto yy545;
- goto yy159;
-yy458:
- YYDEBUG(458, *YYCURSOR);
+ if (yych == 'y') goto yy424;
+ goto yy38;
+yy337:
+ YYDEBUG(337, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'e') goto yy547;
- goto yy159;
-yy459:
- YYDEBUG(459, *YYCURSOR);
+ if (yych == 'e') goto yy426;
+ goto yy38;
+yy338:
+ YYDEBUG(338, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'o') goto yy548;
- goto yy159;
-yy460:
- YYDEBUG(460, *YYCURSOR);
+ if (yych == 'o') goto yy427;
+ goto yy38;
+yy339:
+ YYDEBUG(339, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'f') goto yy549;
- goto yy159;
-yy461:
- YYDEBUG(461, *YYCURSOR);
+ if (yych == 'f') goto yy428;
+ goto yy38;
+yy340:
+ YYDEBUG(340, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'w') goto yy551;
- goto yy159;
-yy462:
- YYDEBUG(462, *YYCURSOR);
+ if (yych == 'w') goto yy430;
+ goto yy38;
+yy341:
+ YYDEBUG(341, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'h') goto yy552;
- goto yy159;
-yy463:
- YYDEBUG(463, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yych == 'h') goto yy431;
+ goto yy38;
+yy342:
+ YYDEBUG(342, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(464, *YYCURSOR);
+ YYDEBUG(343, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_EVAL;
}
-yy465:
- YYDEBUG(465, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+yy344:
+ YYDEBUG(344, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(466, *YYCURSOR);
+ YYDEBUG(345, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_EXIT;
}
-yy467:
- YYDEBUG(467, *YYCURSOR);
+yy346:
+ YYDEBUG(346, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'n') goto yy553;
- goto yy159;
-yy468:
- YYDEBUG(468, *YYCURSOR);
+ if (yych == 'n') goto yy432;
+ goto yy38;
+yy347:
+ YYDEBUG(347, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'l') goto yy554;
- goto yy159;
-yy469:
- YYDEBUG(469, *YYCURSOR);
+ if (yych == 'l') goto yy433;
+ goto yy38;
+yy348:
+ YYDEBUG(348, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'a') goto yy556;
- goto yy159;
-yy470:
- YYDEBUG(470, *YYCURSOR);
+ if (yych == 'a') goto yy435;
+ goto yy38;
+yy349:
+ YYDEBUG(349, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 't') goto yy557;
- goto yy159;
-yy471:
- YYDEBUG(471, *YYCURSOR);
+ if (yych == 't') goto yy436;
+ goto yy38;
+yy350:
+ YYDEBUG(350, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'a') goto yy558;
- goto yy159;
-yy472:
- YYDEBUG(472, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yych == 'a') goto yy437;
+ goto yy38;
+yy351:
+ YYDEBUG(351, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(473, *YYCURSOR);
+ YYDEBUG(352, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_GOTO;
}
-yy474:
- YYDEBUG(474, *YYCURSOR);
+yy353:
+ YYDEBUG(353, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'e') goto yy559;
- goto yy159;
-yy475:
- YYDEBUG(475, *YYCURSOR);
+ if (yych == 'e') goto yy438;
+ goto yy38;
+yy354:
+ YYDEBUG(354, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'u') goto yy560;
- goto yy159;
-yy476:
- YYDEBUG(476, *YYCURSOR);
+ if (yych == 'u') goto yy439;
+ goto yy38;
+yy355:
+ YYDEBUG(355, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'a') goto yy561;
- if (yych == 'e') goto yy562;
- goto yy159;
-yy477:
- YYDEBUG(477, *YYCURSOR);
+ if (yych == 'a') goto yy440;
+ if (yych == 'e') goto yy441;
+ goto yy38;
+yy356:
+ YYDEBUG(356, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'r') goto yy563;
- goto yy159;
-yy478:
- YYDEBUG(478, *YYCURSOR);
+ if (yych == 'r') goto yy442;
+ goto yy38;
+yy357:
+ YYDEBUG(357, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 't') goto yy564;
- goto yy159;
-yy479:
- YYDEBUG(479, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yych == 't') goto yy443;
+ goto yy38;
+yy358:
+ YYDEBUG(358, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(480, *YYCURSOR);
+ YYDEBUG(359, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_LIST;
}
-yy481:
- YYDEBUG(481, *YYCURSOR);
+yy360:
+ YYDEBUG(360, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 's') goto yy566;
- goto yy159;
-yy482:
- YYDEBUG(482, *YYCURSOR);
+ if (yych == 's') goto yy445;
+ goto yy38;
+yy361:
+ YYDEBUG(361, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 't') goto yy567;
- goto yy159;
-yy483:
- YYDEBUG(483, *YYCURSOR);
+ if (yych == 't') goto yy446;
+ goto yy38;
+yy362:
+ YYDEBUG(362, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'a') goto yy569;
- goto yy159;
-yy484:
- YYDEBUG(484, *YYCURSOR);
+ if (yych == 'a') goto yy448;
+ goto yy38;
+yy363:
+ YYDEBUG(363, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'e') goto yy570;
- goto yy159;
-yy485:
- YYDEBUG(485, *YYCURSOR);
+ if (yych == 'e') goto yy449;
+ goto yy38;
+yy364:
+ YYDEBUG(364, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'i') goto yy571;
- goto yy159;
-yy486:
- YYDEBUG(486, *YYCURSOR);
+ if (yych == 'i') goto yy450;
+ goto yy38;
+yy365:
+ YYDEBUG(365, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'i') goto yy572;
- goto yy159;
-yy487:
- YYDEBUG(487, *YYCURSOR);
+ if (yych == 'i') goto yy451;
+ goto yy38;
+yy366:
+ YYDEBUG(366, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'r') goto yy573;
- goto yy159;
-yy488:
- YYDEBUG(488, *YYCURSOR);
+ if (yych == 'r') goto yy452;
+ goto yy38;
+yy367:
+ YYDEBUG(367, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'i') goto yy574;
- goto yy159;
-yy489:
- YYDEBUG(489, *YYCURSOR);
+ if (yych == 'i') goto yy453;
+ goto yy38;
+yy368:
+ YYDEBUG(368, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'c') goto yy575;
- goto yy159;
-yy490:
- YYDEBUG(490, *YYCURSOR);
+ if (yych == 'c') goto yy454;
+ goto yy38;
+yy369:
+ YYDEBUG(369, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'w') goto yy576;
- goto yy159;
-yy491:
- YYDEBUG(491, *YYCURSOR);
+ if (yych == 'w') goto yy455;
+ goto yy38;
+yy370:
+ YYDEBUG(370, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 't') goto yy578;
- goto yy159;
-yy492:
- YYDEBUG(492, *YYCURSOR);
+ if (yych == 't') goto yy457;
+ goto yy38;
+yy371:
+ YYDEBUG(371, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 't') goto yy580;
- goto yy159;
-yy493:
- YYDEBUG(493, *YYCURSOR);
+ if (yych == 't') goto yy459;
+ goto yy38;
+yy372:
+ YYDEBUG(372, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'e') goto yy582;
- goto yy159;
-yy494:
- YYDEBUG(494, *YYCURSOR);
+ if (yych == 'e') goto yy461;
+ goto yy38;
+yy373:
+ YYDEBUG(373, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'd') goto yy584;
- goto yy159;
-yy495:
- YYDEBUG(495, *YYCURSOR);
+ if (yych == 'd') goto yy463;
+ goto yy38;
+yy374:
+ YYDEBUG(374, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'y') goto yy586;
- goto yy206;
-yy496:
- YYDEBUG(496, *YYCURSOR);
+ if (yych == 'y') goto yy465;
+ goto yy85;
+yy375:
+ YYDEBUG(375, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'r') goto yy588;
- goto yy206;
-yy497:
- YYDEBUG(497, *YYCURSOR);
+ if (yych == 'r') goto yy467;
+ goto yy85;
+yy376:
+ YYDEBUG(376, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'e') goto yy593;
- goto yy590;
-yy498:
- YYDEBUG(498, *YYCURSOR);
+ if (yych == 'e') goto yy472;
+ goto yy469;
+yy377:
+ YYDEBUG(377, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'l') goto yy594;
- goto yy206;
-yy499:
- YYDEBUG(499, *YYCURSOR);
+ if (yych == 'l') goto yy473;
+ goto yy85;
+yy378:
+ YYDEBUG(378, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 't') goto yy506;
- goto yy206;
-yy500:
- YYDEBUG(500, *YYCURSOR);
+ if (yych == 't') goto yy385;
+ goto yy85;
+yy379:
+ YYDEBUG(379, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
-yy501:
- YYDEBUG(501, *YYCURSOR);
+yy380:
+ YYDEBUG(380, *YYCURSOR);
if (yych <= 0x1F) {
- if (yych == '\t') goto yy500;
- goto yy206;
+ if (yych == '\t') goto yy379;
+ goto yy85;
} else {
- if (yych <= ' ') goto yy500;
- if (yych != ')') goto yy206;
+ if (yych <= ' ') goto yy379;
+ if (yych != ')') goto yy85;
}
- YYDEBUG(502, *YYCURSOR);
+ YYDEBUG(381, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(503, *YYCURSOR);
+ YYDEBUG(382, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_INT_CAST;
}
-yy504:
- YYDEBUG(504, *YYCURSOR);
+yy383:
+ YYDEBUG(383, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'g') goto yy595;
- goto yy206;
-yy505:
- YYDEBUG(505, *YYCURSOR);
+ if (yych == 'g') goto yy474;
+ goto yy85;
+yy384:
+ YYDEBUG(384, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'c') goto yy596;
- goto yy206;
-yy506:
- YYDEBUG(506, *YYCURSOR);
+ if (yych == 'c') goto yy475;
+ goto yy85;
+yy385:
+ YYDEBUG(385, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(507, *YYCURSOR);
+ YYDEBUG(386, *YYCURSOR);
if (yych <= 0x1F) {
- if (yych == '\t') goto yy506;
- goto yy206;
+ if (yych == '\t') goto yy385;
+ goto yy85;
} else {
- if (yych <= ' ') goto yy506;
- if (yych == ')') goto yy597;
- goto yy206;
+ if (yych <= ' ') goto yy385;
+ if (yych == ')') goto yy476;
+ goto yy85;
}
-yy508:
- YYDEBUG(508, *YYCURSOR);
+yy387:
+ YYDEBUG(387, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'n') goto yy599;
- goto yy206;
-yy509:
- YYDEBUG(509, *YYCURSOR);
+ if (yych == 'n') goto yy478;
+ goto yy85;
+yy388:
+ YYDEBUG(388, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 't') goto yy600;
- goto yy206;
-yy510:
- YYDEBUG(510, *YYCURSOR);
+ if (yych == 't') goto yy479;
+ goto yy85;
+yy389:
+ YYDEBUG(389, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'i') goto yy602;
- goto yy206;
-yy511:
- YYDEBUG(511, *YYCURSOR);
+ if (yych == 'i') goto yy481;
+ goto yy85;
+yy390:
+ YYDEBUG(390, *YYCURSOR);
++YYCURSOR;
YYFILL(3);
yych = *YYCURSOR;
-yy512:
- YYDEBUG(512, *YYCURSOR);
+yy391:
+ YYDEBUG(391, *YYCURSOR);
{
static void *yytarget[256] = {
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy603, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy206, &&yy206, &&yy206, &&yy206, &&yy511,
- &&yy206, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy206, &&yy206, &&yy206, &&yy206, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy482, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy85, &&yy85, &&yy85, &&yy85, &&yy390,
+ &&yy85, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy85, &&yy85, &&yy85, &&yy85, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390
};
goto *yytarget[yych];
}
-yy513:
- YYDEBUG(513, *YYCURSOR);
+yy392:
+ YYDEBUG(392, *YYCURSOR);
++YYCURSOR;
YYFILL(3);
yych = *YYCURSOR;
-yy514:
- YYDEBUG(514, *YYCURSOR);
+yy393:
+ YYDEBUG(393, *YYCURSOR);
{
static void *yytarget[256] = {
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy603,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy206, &&yy206, &&yy206, &&yy206, &&yy513,
- &&yy206, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy206, &&yy206, &&yy206, &&yy206, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy482,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy85, &&yy85, &&yy85, &&yy85, &&yy392,
+ &&yy85, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy85, &&yy85, &&yy85, &&yy85, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392
};
goto *yytarget[yych];
}
-yy515:
- YYDEBUG(515, *YYCURSOR);
+yy394:
+ YYDEBUG(394, *YYCURSOR);
++YYCURSOR;
-yy516:
- YYDEBUG(516, *YYCURSOR);
+yy395:
+ YYDEBUG(395, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
char *s;
@@ -5195,833 +3936,833 @@ yy516:
return T_START_HEREDOC;
}
-yy517:
- YYDEBUG(517, *YYCURSOR);
+yy396:
+ YYDEBUG(396, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '\n') goto yy515;
- goto yy516;
-yy518:
- YYDEBUG(518, *YYCURSOR);
+ if (yych == '\n') goto yy394;
+ goto yy395;
+yy397:
+ YYDEBUG(397, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'S') goto yy604;
- goto yy159;
-yy519:
- YYDEBUG(519, *YYCURSOR);
+ if (yych == 'S') goto yy483;
+ goto yy38;
+yy398:
+ YYDEBUG(398, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '_') goto yy605;
- goto yy159;
-yy520:
- YYDEBUG(520, *YYCURSOR);
+ if (yych == '_') goto yy484;
+ goto yy38;
+yy399:
+ YYDEBUG(399, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy606;
- goto yy159;
-yy521:
- YYDEBUG(521, *YYCURSOR);
+ if (yych == 'E') goto yy485;
+ goto yy38;
+yy400:
+ YYDEBUG(400, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'C') goto yy607;
- goto yy159;
-yy522:
- YYDEBUG(522, *YYCURSOR);
+ if (yych == 'C') goto yy486;
+ goto yy38;
+yy401:
+ YYDEBUG(401, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy608;
- goto yy159;
-yy523:
- YYDEBUG(523, *YYCURSOR);
+ if (yych == 'E') goto yy487;
+ goto yy38;
+yy402:
+ YYDEBUG(402, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'H') goto yy609;
- goto yy159;
-yy524:
- YYDEBUG(524, *YYCURSOR);
+ if (yych == 'H') goto yy488;
+ goto yy38;
+yy403:
+ YYDEBUG(403, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy610;
- goto yy159;
-yy525:
- YYDEBUG(525, *YYCURSOR);
+ if (yych == 'E') goto yy489;
+ goto yy38;
+yy404:
+ YYDEBUG(404, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'I') goto yy611;
- goto yy159;
-yy526:
- YYDEBUG(526, *YYCURSOR);
+ if (yych == 'I') goto yy490;
+ goto yy38;
+yy405:
+ YYDEBUG(405, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 't') goto yy612;
- goto yy159;
-yy527:
- YYDEBUG(527, *YYCURSOR);
+ if (yych == 't') goto yy491;
+ goto yy38;
+yy406:
+ YYDEBUG(406, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'a') goto yy613;
- goto yy159;
-yy528:
- YYDEBUG(528, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yych == 'a') goto yy492;
+ goto yy38;
+yy407:
+ YYDEBUG(407, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(529, *YYCURSOR);
+ YYDEBUG(408, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_ARRAY;
}
-yy530:
- YYDEBUG(530, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+yy409:
+ YYDEBUG(409, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(531, *YYCURSOR);
+ YYDEBUG(410, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_BREAK;
}
-yy532:
- YYDEBUG(532, *YYCURSOR);
+yy411:
+ YYDEBUG(411, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'b') goto yy614;
- goto yy159;
-yy533:
- YYDEBUG(533, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yych == 'b') goto yy493;
+ goto yy38;
+yy412:
+ YYDEBUG(412, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(534, *YYCURSOR);
+ YYDEBUG(413, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_CATCH;
}
-yy535:
- YYDEBUG(535, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+yy414:
+ YYDEBUG(414, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(536, *YYCURSOR);
+ YYDEBUG(415, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_CLASS;
}
-yy537:
- YYDEBUG(537, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+yy416:
+ YYDEBUG(416, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(538, *YYCURSOR);
+ YYDEBUG(417, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_CLONE;
}
-yy539:
- YYDEBUG(539, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+yy418:
+ YYDEBUG(418, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(540, *YYCURSOR);
+ YYDEBUG(419, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_CONST;
}
-yy541:
- YYDEBUG(541, *YYCURSOR);
+yy420:
+ YYDEBUG(420, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'n') goto yy615;
- goto yy159;
-yy542:
- YYDEBUG(542, *YYCURSOR);
+ if (yych == 'n') goto yy494;
+ goto yy38;
+yy421:
+ YYDEBUG(421, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'r') goto yy616;
- goto yy159;
-yy543:
- YYDEBUG(543, *YYCURSOR);
+ if (yych == 'r') goto yy495;
+ goto yy38;
+yy422:
+ YYDEBUG(422, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'l') goto yy617;
- goto yy159;
-yy544:
- YYDEBUG(544, *YYCURSOR);
+ if (yych == 'l') goto yy496;
+ goto yy38;
+yy423:
+ YYDEBUG(423, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'f') goto yy618;
- goto yy159;
-yy545:
- YYDEBUG(545, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yych == 'f') goto yy497;
+ goto yy38;
+yy424:
+ YYDEBUG(424, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(546, *YYCURSOR);
+ YYDEBUG(425, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_EMPTY;
}
-yy547:
- YYDEBUG(547, *YYCURSOR);
+yy426:
+ YYDEBUG(426, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'c') goto yy620;
- goto yy159;
-yy548:
- YYDEBUG(548, *YYCURSOR);
+ if (yych == 'c') goto yy499;
+ goto yy38;
+yy427:
+ YYDEBUG(427, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'r') goto yy621;
- goto yy159;
-yy549:
- YYDEBUG(549, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yych == 'r') goto yy500;
+ goto yy38;
+yy428:
+ YYDEBUG(428, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(550, *YYCURSOR);
+ YYDEBUG(429, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_ENDIF;
}
-yy551:
- YYDEBUG(551, *YYCURSOR);
+yy430:
+ YYDEBUG(430, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'i') goto yy623;
- goto yy159;
-yy552:
- YYDEBUG(552, *YYCURSOR);
+ if (yych == 'i') goto yy502;
+ goto yy38;
+yy431:
+ YYDEBUG(431, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'i') goto yy624;
- goto yy159;
-yy553:
- YYDEBUG(553, *YYCURSOR);
+ if (yych == 'i') goto yy503;
+ goto yy38;
+yy432:
+ YYDEBUG(432, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'd') goto yy504;
+ goto yy38;
+yy433:
+ YYDEBUG(433, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'd') goto yy625;
- goto yy159;
-yy554:
- YYDEBUG(554, *YYCURSOR);
- ++YYCURSOR;
{
static void *yytarget[256] = {
- &&yy555, &&yy555, &&yy555, &&yy555, &&yy555, &&yy555, &&yy555, &&yy555,
- &&yy555, &&yy555, &&yy555, &&yy555, &&yy555, &&yy555, &&yy555, &&yy555,
- &&yy555, &&yy555, &&yy555, &&yy555, &&yy555, &&yy555, &&yy555, &&yy555,
- &&yy555, &&yy555, &&yy555, &&yy555, &&yy555, &&yy555, &&yy555, &&yy555,
- &&yy555, &&yy555, &&yy555, &&yy555, &&yy555, &&yy555, &&yy555, &&yy555,
- &&yy555, &&yy555, &&yy555, &&yy555, &&yy555, &&yy555, &&yy555, &&yy555,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy555, &&yy555, &&yy555, &&yy555, &&yy555, &&yy555,
- &&yy555, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy555, &&yy555, &&yy555, &&yy555, &&yy158,
- &&yy555, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy626, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy555, &&yy555, &&yy555, &&yy555, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158
+ &&yy434, &&yy434, &&yy434, &&yy434, &&yy434, &&yy434, &&yy434, &&yy434,
+ &&yy434, &&yy434, &&yy434, &&yy434, &&yy434, &&yy434, &&yy434, &&yy434,
+ &&yy434, &&yy434, &&yy434, &&yy434, &&yy434, &&yy434, &&yy434, &&yy434,
+ &&yy434, &&yy434, &&yy434, &&yy434, &&yy434, &&yy434, &&yy434, &&yy434,
+ &&yy434, &&yy434, &&yy434, &&yy434, &&yy434, &&yy434, &&yy434, &&yy434,
+ &&yy434, &&yy434, &&yy434, &&yy434, &&yy434, &&yy434, &&yy434, &&yy434,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy434, &&yy434, &&yy434, &&yy434, &&yy434, &&yy434,
+ &&yy434, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy434, &&yy434, &&yy434, &&yy434, &&yy37,
+ &&yy434, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy505, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy434, &&yy434, &&yy434, &&yy434, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37
};
- goto *yytarget[(yych = *YYCURSOR)];
+ goto *yytarget[yych];
}
-yy555:
- YYDEBUG(555, *YYCURSOR);
+yy434:
+ YYDEBUG(434, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_FINAL;
}
-yy556:
- YYDEBUG(556, *YYCURSOR);
+yy435:
+ YYDEBUG(435, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'c') goto yy627;
- goto yy159;
-yy557:
- YYDEBUG(557, *YYCURSOR);
+ if (yych == 'c') goto yy506;
+ goto yy38;
+yy436:
+ YYDEBUG(436, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'i') goto yy628;
- goto yy159;
-yy558:
- YYDEBUG(558, *YYCURSOR);
+ if (yych == 'i') goto yy507;
+ goto yy38;
+yy437:
+ YYDEBUG(437, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'l') goto yy629;
- goto yy159;
-yy559:
- YYDEBUG(559, *YYCURSOR);
+ if (yych == 'l') goto yy508;
+ goto yy38;
+yy438:
+ YYDEBUG(438, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'm') goto yy631;
- goto yy159;
-yy560:
- YYDEBUG(560, *YYCURSOR);
+ if (yych == 'm') goto yy510;
+ goto yy38;
+yy439:
+ YYDEBUG(439, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'd') goto yy632;
- goto yy159;
-yy561:
- YYDEBUG(561, *YYCURSOR);
+ if (yych == 'd') goto yy511;
+ goto yy38;
+yy440:
+ YYDEBUG(440, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'n') goto yy633;
- goto yy159;
-yy562:
- YYDEBUG(562, *YYCURSOR);
+ if (yych == 'n') goto yy512;
+ goto yy38;
+yy441:
+ YYDEBUG(441, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'a') goto yy634;
- goto yy159;
-yy563:
- YYDEBUG(563, *YYCURSOR);
+ if (yych == 'a') goto yy513;
+ goto yy38;
+yy442:
+ YYDEBUG(442, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'f') goto yy635;
- goto yy159;
-yy564:
- YYDEBUG(564, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yych == 'f') goto yy514;
+ goto yy38;
+yy443:
+ YYDEBUG(443, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(565, *YYCURSOR);
+ YYDEBUG(444, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_ISSET;
}
-yy566:
- YYDEBUG(566, *YYCURSOR);
+yy445:
+ YYDEBUG(445, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'p') goto yy636;
- goto yy159;
-yy567:
- YYDEBUG(567, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yych == 'p') goto yy515;
+ goto yy38;
+yy446:
+ YYDEBUG(446, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(568, *YYCURSOR);
+ YYDEBUG(447, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_PRINT;
}
-yy569:
- YYDEBUG(569, *YYCURSOR);
+yy448:
+ YYDEBUG(448, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 't') goto yy637;
- goto yy159;
-yy570:
- YYDEBUG(570, *YYCURSOR);
+ if (yych == 't') goto yy516;
+ goto yy38;
+yy449:
+ YYDEBUG(449, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'c') goto yy638;
- goto yy159;
-yy571:
- YYDEBUG(571, *YYCURSOR);
+ if (yych == 'c') goto yy517;
+ goto yy38;
+yy450:
+ YYDEBUG(450, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'c') goto yy639;
- goto yy159;
-yy572:
- YYDEBUG(572, *YYCURSOR);
+ if (yych == 'c') goto yy518;
+ goto yy38;
+yy451:
+ YYDEBUG(451, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'r') goto yy641;
- goto yy159;
-yy573:
- YYDEBUG(573, *YYCURSOR);
+ if (yych == 'r') goto yy520;
+ goto yy38;
+yy452:
+ YYDEBUG(452, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'n') goto yy642;
- goto yy159;
-yy574:
- YYDEBUG(574, *YYCURSOR);
+ if (yych == 'n') goto yy521;
+ goto yy38;
+yy453:
+ YYDEBUG(453, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'c') goto yy644;
- goto yy159;
-yy575:
- YYDEBUG(575, *YYCURSOR);
+ if (yych == 'c') goto yy523;
+ goto yy38;
+yy454:
+ YYDEBUG(454, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'h') goto yy646;
- goto yy159;
-yy576:
- YYDEBUG(576, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yych == 'h') goto yy525;
+ goto yy38;
+yy455:
+ YYDEBUG(455, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(577, *YYCURSOR);
+ YYDEBUG(456, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_THROW;
}
-yy578:
- YYDEBUG(578, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+yy457:
+ YYDEBUG(457, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(579, *YYCURSOR);
+ YYDEBUG(458, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_TRAIT;
}
-yy580:
- YYDEBUG(580, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+yy459:
+ YYDEBUG(459, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(581, *YYCURSOR);
+ YYDEBUG(460, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_UNSET;
}
-yy582:
- YYDEBUG(582, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+yy461:
+ YYDEBUG(461, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(583, *YYCURSOR);
+ YYDEBUG(462, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_WHILE;
}
-yy584:
- YYDEBUG(584, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+yy463:
+ YYDEBUG(463, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(585, *YYCURSOR);
+ YYDEBUG(464, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_YIELD;
}
-yy586:
- YYDEBUG(586, *YYCURSOR);
+yy465:
+ YYDEBUG(465, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(587, *YYCURSOR);
+ YYDEBUG(466, *YYCURSOR);
if (yych <= 0x1F) {
- if (yych == '\t') goto yy586;
- goto yy206;
+ if (yych == '\t') goto yy465;
+ goto yy85;
} else {
- if (yych <= ' ') goto yy586;
- if (yych == ')') goto yy648;
- goto yy206;
+ if (yych <= ' ') goto yy465;
+ if (yych == ')') goto yy527;
+ goto yy85;
}
-yy588:
- YYDEBUG(588, *YYCURSOR);
+yy467:
+ YYDEBUG(467, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'y') goto yy650;
- goto yy206;
-yy589:
- YYDEBUG(589, *YYCURSOR);
+ if (yych == 'y') goto yy529;
+ goto yy85;
+yy468:
+ YYDEBUG(468, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
-yy590:
- YYDEBUG(590, *YYCURSOR);
+yy469:
+ YYDEBUG(469, *YYCURSOR);
if (yych <= 0x1F) {
- if (yych == '\t') goto yy589;
- goto yy206;
+ if (yych == '\t') goto yy468;
+ goto yy85;
} else {
- if (yych <= ' ') goto yy589;
- if (yych != ')') goto yy206;
+ if (yych <= ' ') goto yy468;
+ if (yych != ')') goto yy85;
}
- YYDEBUG(591, *YYCURSOR);
+ YYDEBUG(470, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(592, *YYCURSOR);
+ YYDEBUG(471, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_BOOL_CAST;
}
-yy593:
- YYDEBUG(593, *YYCURSOR);
+yy472:
+ YYDEBUG(472, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'a') goto yy652;
- goto yy206;
-yy594:
- YYDEBUG(594, *YYCURSOR);
+ if (yych == 'a') goto yy531;
+ goto yy85;
+yy473:
+ YYDEBUG(473, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'e') goto yy506;
- goto yy206;
-yy595:
- YYDEBUG(595, *YYCURSOR);
+ if (yych == 'e') goto yy385;
+ goto yy85;
+yy474:
+ YYDEBUG(474, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'e') goto yy653;
- goto yy206;
-yy596:
- YYDEBUG(596, *YYCURSOR);
+ if (yych == 'e') goto yy532;
+ goto yy85;
+yy475:
+ YYDEBUG(475, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 't') goto yy654;
- goto yy206;
-yy597:
- YYDEBUG(597, *YYCURSOR);
+ if (yych == 't') goto yy533;
+ goto yy85;
+yy476:
+ YYDEBUG(476, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(598, *YYCURSOR);
+ YYDEBUG(477, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_DOUBLE_CAST;
}
-yy599:
- YYDEBUG(599, *YYCURSOR);
+yy478:
+ YYDEBUG(478, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'g') goto yy650;
- goto yy206;
-yy600:
- YYDEBUG(600, *YYCURSOR);
+ if (yych == 'g') goto yy529;
+ goto yy85;
+yy479:
+ YYDEBUG(479, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(601, *YYCURSOR);
+ YYDEBUG(480, *YYCURSOR);
if (yych <= 0x1F) {
- if (yych == '\t') goto yy600;
- goto yy206;
+ if (yych == '\t') goto yy479;
+ goto yy85;
} else {
- if (yych <= ' ') goto yy600;
- if (yych == ')') goto yy656;
- goto yy206;
+ if (yych <= ' ') goto yy479;
+ if (yych == ')') goto yy535;
+ goto yy85;
}
-yy602:
- YYDEBUG(602, *YYCURSOR);
+yy481:
+ YYDEBUG(481, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'p') goto yy658;
- goto yy206;
-yy603:
- YYDEBUG(603, *YYCURSOR);
+ if (yych == 'p') goto yy537;
+ goto yy85;
+yy482:
+ YYDEBUG(482, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '\n') goto yy515;
- if (yych == '\r') goto yy517;
- goto yy206;
-yy604:
- YYDEBUG(604, *YYCURSOR);
+ if (yych == '\n') goto yy394;
+ if (yych == '\r') goto yy396;
+ goto yy85;
+yy483:
+ YYDEBUG(483, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'S') goto yy659;
- goto yy159;
-yy605:
- YYDEBUG(605, *YYCURSOR);
+ if (yych == 'S') goto yy538;
+ goto yy38;
+yy484:
+ YYDEBUG(484, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '_') goto yy660;
- goto yy159;
-yy606:
- YYDEBUG(606, *YYCURSOR);
+ if (yych == '_') goto yy539;
+ goto yy38;
+yy485:
+ YYDEBUG(485, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '_') goto yy662;
- goto yy159;
-yy607:
- YYDEBUG(607, *YYCURSOR);
+ if (yych == '_') goto yy541;
+ goto yy38;
+yy486:
+ YYDEBUG(486, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy663;
- goto yy159;
-yy608:
- YYDEBUG(608, *YYCURSOR);
+ if (yych == 'T') goto yy542;
+ goto yy38;
+yy487:
+ YYDEBUG(487, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '_') goto yy664;
- goto yy159;
-yy609:
- YYDEBUG(609, *YYCURSOR);
+ if (yych == '_') goto yy543;
+ goto yy38;
+yy488:
+ YYDEBUG(488, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'O') goto yy665;
- goto yy159;
-yy610:
- YYDEBUG(610, *YYCURSOR);
+ if (yych == 'O') goto yy544;
+ goto yy38;
+yy489:
+ YYDEBUG(489, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'S') goto yy666;
- goto yy159;
-yy611:
- YYDEBUG(611, *YYCURSOR);
+ if (yych == 'S') goto yy545;
+ goto yy38;
+yy490:
+ YYDEBUG(490, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy667;
- goto yy159;
-yy612:
- YYDEBUG(612, *YYCURSOR);
+ if (yych == 'T') goto yy546;
+ goto yy38;
+yy491:
+ YYDEBUG(491, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '_') goto yy668;
- goto yy159;
-yy613:
- YYDEBUG(613, *YYCURSOR);
+ if (yych == '_') goto yy547;
+ goto yy38;
+yy492:
+ YYDEBUG(492, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'c') goto yy669;
- goto yy159;
-yy614:
- YYDEBUG(614, *YYCURSOR);
+ if (yych == 'c') goto yy548;
+ goto yy38;
+yy493:
+ YYDEBUG(493, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'l') goto yy670;
- goto yy159;
-yy615:
- YYDEBUG(615, *YYCURSOR);
+ if (yych == 'l') goto yy549;
+ goto yy38;
+yy494:
+ YYDEBUG(494, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'u') goto yy671;
- goto yy159;
-yy616:
- YYDEBUG(616, *YYCURSOR);
+ if (yych == 'u') goto yy550;
+ goto yy38;
+yy495:
+ YYDEBUG(495, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'e') goto yy672;
- goto yy159;
-yy617:
- YYDEBUG(617, *YYCURSOR);
+ if (yych == 'e') goto yy551;
+ goto yy38;
+yy496:
+ YYDEBUG(496, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 't') goto yy674;
- goto yy159;
-yy618:
- YYDEBUG(618, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yych == 't') goto yy553;
+ goto yy38;
+yy497:
+ YYDEBUG(497, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(619, *YYCURSOR);
+ YYDEBUG(498, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_ELSEIF;
}
-yy620:
- YYDEBUG(620, *YYCURSOR);
+yy499:
+ YYDEBUG(499, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'l') goto yy555;
+ goto yy38;
+yy500:
+ YYDEBUG(500, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'l') goto yy676;
- goto yy159;
-yy621:
- YYDEBUG(621, *YYCURSOR);
- ++YYCURSOR;
{
static void *yytarget[256] = {
- &&yy622, &&yy622, &&yy622, &&yy622, &&yy622, &&yy622, &&yy622, &&yy622,
- &&yy622, &&yy622, &&yy622, &&yy622, &&yy622, &&yy622, &&yy622, &&yy622,
- &&yy622, &&yy622, &&yy622, &&yy622, &&yy622, &&yy622, &&yy622, &&yy622,
- &&yy622, &&yy622, &&yy622, &&yy622, &&yy622, &&yy622, &&yy622, &&yy622,
- &&yy622, &&yy622, &&yy622, &&yy622, &&yy622, &&yy622, &&yy622, &&yy622,
- &&yy622, &&yy622, &&yy622, &&yy622, &&yy622, &&yy622, &&yy622, &&yy622,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy622, &&yy622, &&yy622, &&yy622, &&yy622, &&yy622,
- &&yy622, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy622, &&yy622, &&yy622, &&yy622, &&yy158,
- &&yy622, &&yy158, &&yy158, &&yy158, &&yy158, &&yy677, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy622, &&yy622, &&yy622, &&yy622, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158
+ &&yy501, &&yy501, &&yy501, &&yy501, &&yy501, &&yy501, &&yy501, &&yy501,
+ &&yy501, &&yy501, &&yy501, &&yy501, &&yy501, &&yy501, &&yy501, &&yy501,
+ &&yy501, &&yy501, &&yy501, &&yy501, &&yy501, &&yy501, &&yy501, &&yy501,
+ &&yy501, &&yy501, &&yy501, &&yy501, &&yy501, &&yy501, &&yy501, &&yy501,
+ &&yy501, &&yy501, &&yy501, &&yy501, &&yy501, &&yy501, &&yy501, &&yy501,
+ &&yy501, &&yy501, &&yy501, &&yy501, &&yy501, &&yy501, &&yy501, &&yy501,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy501, &&yy501, &&yy501, &&yy501, &&yy501, &&yy501,
+ &&yy501, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy501, &&yy501, &&yy501, &&yy501, &&yy37,
+ &&yy501, &&yy37, &&yy37, &&yy37, &&yy37, &&yy556, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy501, &&yy501, &&yy501, &&yy501, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37
};
- goto *yytarget[(yych = *YYCURSOR)];
+ goto *yytarget[yych];
}
-yy622:
- YYDEBUG(622, *YYCURSOR);
+yy501:
+ YYDEBUG(501, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_ENDFOR;
}
-yy623:
- YYDEBUG(623, *YYCURSOR);
+yy502:
+ YYDEBUG(502, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 't') goto yy678;
- goto yy159;
-yy624:
- YYDEBUG(624, *YYCURSOR);
+ if (yych == 't') goto yy557;
+ goto yy38;
+yy503:
+ YYDEBUG(503, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'l') goto yy679;
- goto yy159;
-yy625:
- YYDEBUG(625, *YYCURSOR);
+ if (yych == 'l') goto yy558;
+ goto yy38;
+yy504:
+ YYDEBUG(504, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 's') goto yy680;
- goto yy159;
-yy626:
- YYDEBUG(626, *YYCURSOR);
+ if (yych == 's') goto yy559;
+ goto yy38;
+yy505:
+ YYDEBUG(505, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'y') goto yy682;
- goto yy159;
-yy627:
- YYDEBUG(627, *YYCURSOR);
+ if (yych == 'y') goto yy561;
+ goto yy38;
+yy506:
+ YYDEBUG(506, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'h') goto yy684;
- goto yy159;
-yy628:
- YYDEBUG(628, *YYCURSOR);
+ if (yych == 'h') goto yy563;
+ goto yy38;
+yy507:
+ YYDEBUG(507, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'o') goto yy686;
- goto yy159;
-yy629:
- YYDEBUG(629, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yych == 'o') goto yy565;
+ goto yy38;
+yy508:
+ YYDEBUG(508, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(630, *YYCURSOR);
+ YYDEBUG(509, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_GLOBAL;
}
-yy631:
- YYDEBUG(631, *YYCURSOR);
+yy510:
+ YYDEBUG(510, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'e') goto yy687;
- goto yy159;
-yy632:
- YYDEBUG(632, *YYCURSOR);
+ if (yych == 'e') goto yy566;
+ goto yy38;
+yy511:
+ YYDEBUG(511, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'e') goto yy688;
- goto yy159;
-yy633:
- YYDEBUG(633, *YYCURSOR);
+ if (yych == 'e') goto yy567;
+ goto yy38;
+yy512:
+ YYDEBUG(512, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'c') goto yy690;
- goto yy159;
-yy634:
- YYDEBUG(634, *YYCURSOR);
+ if (yych == 'c') goto yy569;
+ goto yy38;
+yy513:
+ YYDEBUG(513, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'd') goto yy691;
- goto yy159;
-yy635:
- YYDEBUG(635, *YYCURSOR);
+ if (yych == 'd') goto yy570;
+ goto yy38;
+yy514:
+ YYDEBUG(514, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'a') goto yy692;
- goto yy159;
-yy636:
- YYDEBUG(636, *YYCURSOR);
+ if (yych == 'a') goto yy571;
+ goto yy38;
+yy515:
+ YYDEBUG(515, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'a') goto yy693;
- goto yy159;
-yy637:
- YYDEBUG(637, *YYCURSOR);
+ if (yych == 'a') goto yy572;
+ goto yy38;
+yy516:
+ YYDEBUG(516, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'e') goto yy694;
- goto yy159;
-yy638:
- YYDEBUG(638, *YYCURSOR);
+ if (yych == 'e') goto yy573;
+ goto yy38;
+yy517:
+ YYDEBUG(517, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 't') goto yy696;
- goto yy159;
-yy639:
- YYDEBUG(639, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yych == 't') goto yy575;
+ goto yy38;
+yy518:
+ YYDEBUG(518, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(640, *YYCURSOR);
+ YYDEBUG(519, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_PUBLIC;
}
-yy641:
- YYDEBUG(641, *YYCURSOR);
+yy520:
+ YYDEBUG(520, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'e') goto yy697;
- goto yy159;
-yy642:
- YYDEBUG(642, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yych == 'e') goto yy576;
+ goto yy38;
+yy521:
+ YYDEBUG(521, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(643, *YYCURSOR);
+ YYDEBUG(522, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_RETURN;
}
-yy644:
- YYDEBUG(644, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+yy523:
+ YYDEBUG(523, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(645, *YYCURSOR);
+ YYDEBUG(524, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_STATIC;
}
-yy646:
- YYDEBUG(646, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+yy525:
+ YYDEBUG(525, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(647, *YYCURSOR);
+ YYDEBUG(526, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_SWITCH;
}
-yy648:
- YYDEBUG(648, *YYCURSOR);
+yy527:
+ YYDEBUG(527, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(649, *YYCURSOR);
+ YYDEBUG(528, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_ARRAY_CAST;
}
-yy650:
- YYDEBUG(650, *YYCURSOR);
+yy529:
+ YYDEBUG(529, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(651, *YYCURSOR);
+ YYDEBUG(530, *YYCURSOR);
if (yych <= 0x1F) {
- if (yych == '\t') goto yy650;
- goto yy206;
+ if (yych == '\t') goto yy529;
+ goto yy85;
} else {
- if (yych <= ' ') goto yy650;
- if (yych == ')') goto yy699;
- goto yy206;
+ if (yych <= ' ') goto yy529;
+ if (yych == ')') goto yy578;
+ goto yy85;
}
-yy652:
- YYDEBUG(652, *YYCURSOR);
+yy531:
+ YYDEBUG(531, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'n') goto yy589;
- goto yy206;
-yy653:
- YYDEBUG(653, *YYCURSOR);
+ if (yych == 'n') goto yy468;
+ goto yy85;
+yy532:
+ YYDEBUG(532, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'r') goto yy500;
- goto yy206;
-yy654:
- YYDEBUG(654, *YYCURSOR);
+ if (yych == 'r') goto yy379;
+ goto yy85;
+yy533:
+ YYDEBUG(533, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(655, *YYCURSOR);
+ YYDEBUG(534, *YYCURSOR);
if (yych <= 0x1F) {
- if (yych == '\t') goto yy654;
- goto yy206;
+ if (yych == '\t') goto yy533;
+ goto yy85;
} else {
- if (yych <= ' ') goto yy654;
- if (yych == ')') goto yy701;
- goto yy206;
+ if (yych <= ' ') goto yy533;
+ if (yych == ')') goto yy580;
+ goto yy85;
}
-yy656:
- YYDEBUG(656, *YYCURSOR);
+yy535:
+ YYDEBUG(535, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(657, *YYCURSOR);
+ YYDEBUG(536, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_UNSET_CAST;
}
-yy658:
- YYDEBUG(658, *YYCURSOR);
+yy537:
+ YYDEBUG(537, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 't') goto yy703;
- goto yy206;
-yy659:
- YYDEBUG(659, *YYCURSOR);
+ if (yych == 't') goto yy582;
+ goto yy85;
+yy538:
+ YYDEBUG(538, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '_') goto yy705;
- goto yy159;
-yy660:
- YYDEBUG(660, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yych == '_') goto yy584;
+ goto yy38;
+yy539:
+ YYDEBUG(539, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(661, *YYCURSOR);
+ YYDEBUG(540, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
char *filename = zend_get_compiled_filename(TSRMLS_C);
@@ -6049,340 +4790,340 @@ yy660:
zendlval->type = IS_STRING;
return T_DIR;
}
-yy662:
- YYDEBUG(662, *YYCURSOR);
+yy541:
+ YYDEBUG(541, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '_') goto yy706;
- goto yy159;
-yy663:
- YYDEBUG(663, *YYCURSOR);
+ if (yych == '_') goto yy585;
+ goto yy38;
+yy542:
+ YYDEBUG(542, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'I') goto yy708;
- goto yy159;
-yy664:
- YYDEBUG(664, *YYCURSOR);
+ if (yych == 'I') goto yy587;
+ goto yy38;
+yy543:
+ YYDEBUG(543, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '_') goto yy709;
- goto yy159;
-yy665:
- YYDEBUG(665, *YYCURSOR);
+ if (yych == '_') goto yy588;
+ goto yy38;
+yy544:
+ YYDEBUG(544, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'D') goto yy711;
- goto yy159;
-yy666:
- YYDEBUG(666, *YYCURSOR);
+ if (yych == 'D') goto yy590;
+ goto yy38;
+yy545:
+ YYDEBUG(545, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'P') goto yy712;
- goto yy159;
-yy667:
- YYDEBUG(667, *YYCURSOR);
+ if (yych == 'P') goto yy591;
+ goto yy38;
+yy546:
+ YYDEBUG(546, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '_') goto yy713;
- goto yy159;
-yy668:
- YYDEBUG(668, *YYCURSOR);
+ if (yych == '_') goto yy592;
+ goto yy38;
+yy547:
+ YYDEBUG(547, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'c') goto yy714;
- goto yy159;
-yy669:
- YYDEBUG(669, *YYCURSOR);
+ if (yych == 'c') goto yy593;
+ goto yy38;
+yy548:
+ YYDEBUG(548, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 't') goto yy715;
- goto yy159;
-yy670:
- YYDEBUG(670, *YYCURSOR);
+ if (yych == 't') goto yy594;
+ goto yy38;
+yy549:
+ YYDEBUG(549, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'e') goto yy717;
- goto yy159;
-yy671:
- YYDEBUG(671, *YYCURSOR);
+ if (yych == 'e') goto yy596;
+ goto yy38;
+yy550:
+ YYDEBUG(550, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'e') goto yy719;
- goto yy159;
-yy672:
- YYDEBUG(672, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yych == 'e') goto yy598;
+ goto yy38;
+yy551:
+ YYDEBUG(551, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(673, *YYCURSOR);
+ YYDEBUG(552, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_DECLARE;
}
-yy674:
- YYDEBUG(674, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+yy553:
+ YYDEBUG(553, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(675, *YYCURSOR);
+ YYDEBUG(554, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_DEFAULT;
}
-yy676:
- YYDEBUG(676, *YYCURSOR);
+yy555:
+ YYDEBUG(555, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'a') goto yy721;
- goto yy159;
-yy677:
- YYDEBUG(677, *YYCURSOR);
+ if (yych == 'a') goto yy600;
+ goto yy38;
+yy556:
+ YYDEBUG(556, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'a') goto yy722;
- goto yy159;
-yy678:
- YYDEBUG(678, *YYCURSOR);
+ if (yych == 'a') goto yy601;
+ goto yy38;
+yy557:
+ YYDEBUG(557, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'c') goto yy723;
- goto yy159;
-yy679:
- YYDEBUG(679, *YYCURSOR);
+ if (yych == 'c') goto yy602;
+ goto yy38;
+yy558:
+ YYDEBUG(558, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'e') goto yy724;
- goto yy159;
-yy680:
- YYDEBUG(680, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yych == 'e') goto yy603;
+ goto yy38;
+yy559:
+ YYDEBUG(559, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(681, *YYCURSOR);
+ YYDEBUG(560, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_EXTENDS;
}
-yy682:
- YYDEBUG(682, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+yy561:
+ YYDEBUG(561, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(683, *YYCURSOR);
+ YYDEBUG(562, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_FINALLY;
}
-yy684:
- YYDEBUG(684, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+yy563:
+ YYDEBUG(563, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(685, *YYCURSOR);
+ YYDEBUG(564, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_FOREACH;
}
-yy686:
- YYDEBUG(686, *YYCURSOR);
+yy565:
+ YYDEBUG(565, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'n') goto yy726;
- goto yy159;
-yy687:
- YYDEBUG(687, *YYCURSOR);
+ if (yych == 'n') goto yy605;
+ goto yy38;
+yy566:
+ YYDEBUG(566, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'n') goto yy607;
+ goto yy38;
+yy567:
+ YYDEBUG(567, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'n') goto yy728;
- goto yy159;
-yy688:
- YYDEBUG(688, *YYCURSOR);
- ++YYCURSOR;
{
static void *yytarget[256] = {
- &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689,
- &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689,
- &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689,
- &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689,
- &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689,
- &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689,
- &&yy689, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy689, &&yy689, &&yy689, &&yy689, &&yy729,
- &&yy689, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy689, &&yy689, &&yy689, &&yy689, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158
+ &&yy568, &&yy568, &&yy568, &&yy568, &&yy568, &&yy568, &&yy568, &&yy568,
+ &&yy568, &&yy568, &&yy568, &&yy568, &&yy568, &&yy568, &&yy568, &&yy568,
+ &&yy568, &&yy568, &&yy568, &&yy568, &&yy568, &&yy568, &&yy568, &&yy568,
+ &&yy568, &&yy568, &&yy568, &&yy568, &&yy568, &&yy568, &&yy568, &&yy568,
+ &&yy568, &&yy568, &&yy568, &&yy568, &&yy568, &&yy568, &&yy568, &&yy568,
+ &&yy568, &&yy568, &&yy568, &&yy568, &&yy568, &&yy568, &&yy568, &&yy568,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy568, &&yy568, &&yy568, &&yy568, &&yy568, &&yy568,
+ &&yy568, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy568, &&yy568, &&yy568, &&yy568, &&yy608,
+ &&yy568, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy568, &&yy568, &&yy568, &&yy568, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37
};
- goto *yytarget[(yych = *YYCURSOR)];
+ goto *yytarget[yych];
}
-yy689:
- YYDEBUG(689, *YYCURSOR);
+yy568:
+ YYDEBUG(568, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_INCLUDE;
}
-yy690:
- YYDEBUG(690, *YYCURSOR);
+yy569:
+ YYDEBUG(569, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'e') goto yy730;
- goto yy159;
-yy691:
- YYDEBUG(691, *YYCURSOR);
+ if (yych == 'e') goto yy609;
+ goto yy38;
+yy570:
+ YYDEBUG(570, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'o') goto yy731;
- goto yy159;
-yy692:
- YYDEBUG(692, *YYCURSOR);
+ if (yych == 'o') goto yy610;
+ goto yy38;
+yy571:
+ YYDEBUG(571, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'c') goto yy732;
- goto yy159;
-yy693:
- YYDEBUG(693, *YYCURSOR);
+ if (yych == 'c') goto yy611;
+ goto yy38;
+yy572:
+ YYDEBUG(572, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'c') goto yy733;
- goto yy159;
-yy694:
- YYDEBUG(694, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yych == 'c') goto yy612;
+ goto yy38;
+yy573:
+ YYDEBUG(573, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(695, *YYCURSOR);
+ YYDEBUG(574, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_PRIVATE;
}
-yy696:
- YYDEBUG(696, *YYCURSOR);
+yy575:
+ YYDEBUG(575, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'e') goto yy613;
+ goto yy38;
+yy576:
+ YYDEBUG(576, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'e') goto yy734;
- goto yy159;
-yy697:
- YYDEBUG(697, *YYCURSOR);
- ++YYCURSOR;
{
static void *yytarget[256] = {
- &&yy698, &&yy698, &&yy698, &&yy698, &&yy698, &&yy698, &&yy698, &&yy698,
- &&yy698, &&yy698, &&yy698, &&yy698, &&yy698, &&yy698, &&yy698, &&yy698,
- &&yy698, &&yy698, &&yy698, &&yy698, &&yy698, &&yy698, &&yy698, &&yy698,
- &&yy698, &&yy698, &&yy698, &&yy698, &&yy698, &&yy698, &&yy698, &&yy698,
- &&yy698, &&yy698, &&yy698, &&yy698, &&yy698, &&yy698, &&yy698, &&yy698,
- &&yy698, &&yy698, &&yy698, &&yy698, &&yy698, &&yy698, &&yy698, &&yy698,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy698, &&yy698, &&yy698, &&yy698, &&yy698, &&yy698,
- &&yy698, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy698, &&yy698, &&yy698, &&yy698, &&yy735,
- &&yy698, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy698, &&yy698, &&yy698, &&yy698, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158
+ &&yy577, &&yy577, &&yy577, &&yy577, &&yy577, &&yy577, &&yy577, &&yy577,
+ &&yy577, &&yy577, &&yy577, &&yy577, &&yy577, &&yy577, &&yy577, &&yy577,
+ &&yy577, &&yy577, &&yy577, &&yy577, &&yy577, &&yy577, &&yy577, &&yy577,
+ &&yy577, &&yy577, &&yy577, &&yy577, &&yy577, &&yy577, &&yy577, &&yy577,
+ &&yy577, &&yy577, &&yy577, &&yy577, &&yy577, &&yy577, &&yy577, &&yy577,
+ &&yy577, &&yy577, &&yy577, &&yy577, &&yy577, &&yy577, &&yy577, &&yy577,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy577, &&yy577, &&yy577, &&yy577, &&yy577, &&yy577,
+ &&yy577, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy577, &&yy577, &&yy577, &&yy577, &&yy614,
+ &&yy577, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy577, &&yy577, &&yy577, &&yy577, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37,
+ &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37, &&yy37
};
- goto *yytarget[(yych = *YYCURSOR)];
+ goto *yytarget[yych];
}
-yy698:
- YYDEBUG(698, *YYCURSOR);
+yy577:
+ YYDEBUG(577, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_REQUIRE;
}
-yy699:
- YYDEBUG(699, *YYCURSOR);
+yy578:
+ YYDEBUG(578, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(700, *YYCURSOR);
+ YYDEBUG(579, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_STRING_CAST;
}
-yy701:
- YYDEBUG(701, *YYCURSOR);
+yy580:
+ YYDEBUG(580, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(702, *YYCURSOR);
+ YYDEBUG(581, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_OBJECT_CAST;
}
-yy703:
- YYDEBUG(703, *YYCURSOR);
+yy582:
+ YYDEBUG(582, *YYCURSOR);
++YYCURSOR;
YYFILL(3);
yych = *YYCURSOR;
- YYDEBUG(704, *YYCURSOR);
+ YYDEBUG(583, *YYCURSOR);
{
static void *yytarget[256] = {
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy703, &&yy703, &&yy206, &&yy206, &&yy703, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy703, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy256, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy582, &&yy582, &&yy85, &&yy85, &&yy582, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy582, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy135, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
+ &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85
};
goto *yytarget[yych];
}
-yy705:
- YYDEBUG(705, *YYCURSOR);
+yy584:
+ YYDEBUG(584, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '_') goto yy736;
- goto yy159;
-yy706:
- YYDEBUG(706, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yych == '_') goto yy615;
+ goto yy38;
+yy585:
+ YYDEBUG(585, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(707, *YYCURSOR);
+ YYDEBUG(586, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
char *filename = zend_get_compiled_filename(TSRMLS_C);
@@ -6395,161 +5136,161 @@ yy706:
zendlval->type = IS_STRING;
return T_FILE;
}
-yy708:
- YYDEBUG(708, *YYCURSOR);
+yy587:
+ YYDEBUG(587, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'O') goto yy738;
- goto yy159;
-yy709:
- YYDEBUG(709, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yych == 'O') goto yy617;
+ goto yy38;
+yy588:
+ YYDEBUG(588, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(710, *YYCURSOR);
+ YYDEBUG(589, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
zendlval->value.lval = CG(zend_lineno);
zendlval->type = IS_LONG;
return T_LINE;
}
-yy711:
- YYDEBUG(711, *YYCURSOR);
+yy590:
+ YYDEBUG(590, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '_') goto yy739;
- goto yy159;
-yy712:
- YYDEBUG(712, *YYCURSOR);
+ if (yych == '_') goto yy618;
+ goto yy38;
+yy591:
+ YYDEBUG(591, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy740;
- goto yy159;
-yy713:
- YYDEBUG(713, *YYCURSOR);
+ if (yych == 'A') goto yy619;
+ goto yy38;
+yy592:
+ YYDEBUG(592, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '_') goto yy741;
- goto yy159;
-yy714:
- YYDEBUG(714, *YYCURSOR);
+ if (yych == '_') goto yy620;
+ goto yy38;
+yy593:
+ YYDEBUG(593, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'o') goto yy743;
- goto yy159;
-yy715:
- YYDEBUG(715, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yych == 'o') goto yy622;
+ goto yy38;
+yy594:
+ YYDEBUG(594, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(716, *YYCURSOR);
+ YYDEBUG(595, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_ABSTRACT;
}
-yy717:
- YYDEBUG(717, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+yy596:
+ YYDEBUG(596, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(718, *YYCURSOR);
+ YYDEBUG(597, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_CALLABLE;
}
-yy719:
- YYDEBUG(719, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+yy598:
+ YYDEBUG(598, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(720, *YYCURSOR);
+ YYDEBUG(599, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_CONTINUE;
}
-yy721:
- YYDEBUG(721, *YYCURSOR);
+yy600:
+ YYDEBUG(600, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'r') goto yy744;
- goto yy159;
-yy722:
- YYDEBUG(722, *YYCURSOR);
+ if (yych == 'r') goto yy623;
+ goto yy38;
+yy601:
+ YYDEBUG(601, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'c') goto yy745;
- goto yy159;
-yy723:
- YYDEBUG(723, *YYCURSOR);
+ if (yych == 'c') goto yy624;
+ goto yy38;
+yy602:
+ YYDEBUG(602, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'h') goto yy746;
- goto yy159;
-yy724:
- YYDEBUG(724, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yych == 'h') goto yy625;
+ goto yy38;
+yy603:
+ YYDEBUG(603, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(725, *YYCURSOR);
+ YYDEBUG(604, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_ENDWHILE;
}
-yy726:
- YYDEBUG(726, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+yy605:
+ YYDEBUG(605, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(727, *YYCURSOR);
+ YYDEBUG(606, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_FUNCTION;
}
-yy728:
- YYDEBUG(728, *YYCURSOR);
+yy607:
+ YYDEBUG(607, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 't') goto yy748;
- goto yy159;
-yy729:
- YYDEBUG(729, *YYCURSOR);
+ if (yych == 't') goto yy627;
+ goto yy38;
+yy608:
+ YYDEBUG(608, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'o') goto yy749;
- goto yy159;
-yy730:
- YYDEBUG(730, *YYCURSOR);
+ if (yych == 'o') goto yy628;
+ goto yy38;
+yy609:
+ YYDEBUG(609, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'o') goto yy750;
- goto yy159;
-yy731:
- YYDEBUG(731, *YYCURSOR);
+ if (yych == 'o') goto yy629;
+ goto yy38;
+yy610:
+ YYDEBUG(610, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'f') goto yy751;
- goto yy159;
-yy732:
- YYDEBUG(732, *YYCURSOR);
+ if (yych == 'f') goto yy630;
+ goto yy38;
+yy611:
+ YYDEBUG(611, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'e') goto yy753;
- goto yy159;
-yy733:
- YYDEBUG(733, *YYCURSOR);
+ if (yych == 'e') goto yy632;
+ goto yy38;
+yy612:
+ YYDEBUG(612, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'e') goto yy755;
- goto yy159;
-yy734:
- YYDEBUG(734, *YYCURSOR);
+ if (yych == 'e') goto yy634;
+ goto yy38;
+yy613:
+ YYDEBUG(613, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'd') goto yy757;
- goto yy159;
-yy735:
- YYDEBUG(735, *YYCURSOR);
+ if (yych == 'd') goto yy636;
+ goto yy38;
+yy614:
+ YYDEBUG(614, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'o') goto yy759;
- goto yy159;
-yy736:
- YYDEBUG(736, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yych == 'o') goto yy638;
+ goto yy38;
+yy615:
+ YYDEBUG(615, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(737, *YYCURSOR);
+ YYDEBUG(616, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
const char *class_name = NULL;
@@ -6577,28 +5318,28 @@ yy736:
}
return T_CLASS_C;
}
-yy738:
- YYDEBUG(738, *YYCURSOR);
+yy617:
+ YYDEBUG(617, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'N') goto yy760;
- goto yy159;
-yy739:
- YYDEBUG(739, *YYCURSOR);
+ if (yych == 'N') goto yy639;
+ goto yy38;
+yy618:
+ YYDEBUG(618, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '_') goto yy761;
- goto yy159;
-yy740:
- YYDEBUG(740, *YYCURSOR);
+ if (yych == '_') goto yy640;
+ goto yy38;
+yy619:
+ YYDEBUG(619, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'C') goto yy763;
- goto yy159;
-yy741:
- YYDEBUG(741, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yych == 'C') goto yy642;
+ goto yy38;
+yy620:
+ YYDEBUG(620, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(742, *YYCURSOR);
+ YYDEBUG(621, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
const char *trait_name = NULL;
@@ -6619,108 +5360,108 @@ yy741:
return T_TRAIT_C;
}
-yy743:
- YYDEBUG(743, *YYCURSOR);
+yy622:
+ YYDEBUG(622, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'm') goto yy764;
- goto yy159;
-yy744:
- YYDEBUG(744, *YYCURSOR);
+ if (yych == 'm') goto yy643;
+ goto yy38;
+yy623:
+ YYDEBUG(623, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'e') goto yy765;
- goto yy159;
-yy745:
- YYDEBUG(745, *YYCURSOR);
+ if (yych == 'e') goto yy644;
+ goto yy38;
+yy624:
+ YYDEBUG(624, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'h') goto yy767;
- goto yy159;
-yy746:
- YYDEBUG(746, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yych == 'h') goto yy646;
+ goto yy38;
+yy625:
+ YYDEBUG(625, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(747, *YYCURSOR);
+ YYDEBUG(626, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_ENDSWITCH;
}
-yy748:
- YYDEBUG(748, *YYCURSOR);
+yy627:
+ YYDEBUG(627, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 's') goto yy769;
- goto yy159;
-yy749:
- YYDEBUG(749, *YYCURSOR);
+ if (yych == 's') goto yy648;
+ goto yy38;
+yy628:
+ YYDEBUG(628, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'n') goto yy771;
- goto yy159;
-yy750:
- YYDEBUG(750, *YYCURSOR);
+ if (yych == 'n') goto yy650;
+ goto yy38;
+yy629:
+ YYDEBUG(629, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'f') goto yy772;
- goto yy159;
-yy751:
- YYDEBUG(751, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yych == 'f') goto yy651;
+ goto yy38;
+yy630:
+ YYDEBUG(630, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(752, *YYCURSOR);
+ YYDEBUG(631, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_INSTEADOF;
}
-yy753:
- YYDEBUG(753, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+yy632:
+ YYDEBUG(632, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(754, *YYCURSOR);
+ YYDEBUG(633, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_INTERFACE;
}
-yy755:
- YYDEBUG(755, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+yy634:
+ YYDEBUG(634, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(756, *YYCURSOR);
+ YYDEBUG(635, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_NAMESPACE;
}
-yy757:
- YYDEBUG(757, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+yy636:
+ YYDEBUG(636, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(758, *YYCURSOR);
+ YYDEBUG(637, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_PROTECTED;
}
-yy759:
- YYDEBUG(759, *YYCURSOR);
+yy638:
+ YYDEBUG(638, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'n') goto yy774;
- goto yy159;
-yy760:
- YYDEBUG(760, *YYCURSOR);
+ if (yych == 'n') goto yy653;
+ goto yy38;
+yy639:
+ YYDEBUG(639, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '_') goto yy775;
- goto yy159;
-yy761:
- YYDEBUG(761, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yych == '_') goto yy654;
+ goto yy38;
+yy640:
+ YYDEBUG(640, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(762, *YYCURSOR);
+ YYDEBUG(641, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
const char *class_name = CG(active_class_entry) ? CG(active_class_entry)->name : NULL;
@@ -6742,102 +5483,102 @@ yy761:
zendlval->type = IS_STRING;
return T_METHOD_C;
}
-yy763:
- YYDEBUG(763, *YYCURSOR);
+yy642:
+ YYDEBUG(642, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy776;
- goto yy159;
-yy764:
- YYDEBUG(764, *YYCURSOR);
+ if (yych == 'E') goto yy655;
+ goto yy38;
+yy643:
+ YYDEBUG(643, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'p') goto yy777;
- goto yy159;
-yy765:
- YYDEBUG(765, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yych == 'p') goto yy656;
+ goto yy38;
+yy644:
+ YYDEBUG(644, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(766, *YYCURSOR);
+ YYDEBUG(645, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_ENDDECLARE;
}
-yy767:
- YYDEBUG(767, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+yy646:
+ YYDEBUG(646, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(768, *YYCURSOR);
+ YYDEBUG(647, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_ENDFOREACH;
}
-yy769:
- YYDEBUG(769, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+yy648:
+ YYDEBUG(648, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(770, *YYCURSOR);
+ YYDEBUG(649, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_IMPLEMENTS;
}
-yy771:
- YYDEBUG(771, *YYCURSOR);
+yy650:
+ YYDEBUG(650, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'c') goto yy778;
- goto yy159;
-yy772:
- YYDEBUG(772, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yych == 'c') goto yy657;
+ goto yy38;
+yy651:
+ YYDEBUG(651, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(773, *YYCURSOR);
+ YYDEBUG(652, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_INSTANCEOF;
}
-yy774:
- YYDEBUG(774, *YYCURSOR);
+yy653:
+ YYDEBUG(653, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'c') goto yy779;
- goto yy159;
-yy775:
- YYDEBUG(775, *YYCURSOR);
+ if (yych == 'c') goto yy658;
+ goto yy38;
+yy654:
+ YYDEBUG(654, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '_') goto yy780;
- goto yy159;
-yy776:
- YYDEBUG(776, *YYCURSOR);
+ if (yych == '_') goto yy659;
+ goto yy38;
+yy655:
+ YYDEBUG(655, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '_') goto yy782;
- goto yy159;
-yy777:
- YYDEBUG(777, *YYCURSOR);
+ if (yych == '_') goto yy661;
+ goto yy38;
+yy656:
+ YYDEBUG(656, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'i') goto yy783;
- goto yy159;
-yy778:
- YYDEBUG(778, *YYCURSOR);
+ if (yych == 'i') goto yy662;
+ goto yy38;
+yy657:
+ YYDEBUG(657, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'e') goto yy784;
- goto yy159;
-yy779:
- YYDEBUG(779, *YYCURSOR);
+ if (yych == 'e') goto yy663;
+ goto yy38;
+yy658:
+ YYDEBUG(658, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'e') goto yy786;
- goto yy159;
-yy780:
- YYDEBUG(780, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yych == 'e') goto yy665;
+ goto yy38;
+yy659:
+ YYDEBUG(659, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(781, *YYCURSOR);
+ YYDEBUG(660, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
const char *func_name = NULL;
@@ -6854,45 +5595,45 @@ yy780:
zendlval->type = IS_STRING;
return T_FUNC_C;
}
-yy782:
- YYDEBUG(782, *YYCURSOR);
+yy661:
+ YYDEBUG(661, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '_') goto yy788;
- goto yy159;
-yy783:
- YYDEBUG(783, *YYCURSOR);
+ if (yych == '_') goto yy667;
+ goto yy38;
+yy662:
+ YYDEBUG(662, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'l') goto yy790;
- goto yy159;
-yy784:
- YYDEBUG(784, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yych == 'l') goto yy669;
+ goto yy38;
+yy663:
+ YYDEBUG(663, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(785, *YYCURSOR);
+ YYDEBUG(664, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_INCLUDE_ONCE;
}
-yy786:
- YYDEBUG(786, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+yy665:
+ YYDEBUG(665, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(787, *YYCURSOR);
+ YYDEBUG(666, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_REQUIRE_ONCE;
}
-yy788:
- YYDEBUG(788, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+yy667:
+ YYDEBUG(667, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(789, *YYCURSOR);
+ YYDEBUG(668, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
if (CG(current_namespace)) {
@@ -6903,19 +5644,19 @@ yy788:
}
return T_NS_C;
}
-yy790:
- YYDEBUG(790, *YYCURSOR);
+yy669:
+ YYDEBUG(669, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych != 'e') goto yy159;
- YYDEBUG(791, *YYCURSOR);
+ if (yych != 'e') goto yy38;
+ YYDEBUG(670, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych != 'r') goto yy159;
- YYDEBUG(792, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
+ if (yych != 'r') goto yy38;
+ YYDEBUG(671, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy37;
}
- YYDEBUG(793, *YYCURSOR);
+ YYDEBUG(672, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_HALT_COMPILER;
@@ -6958,67 +5699,67 @@ yyc_ST_LOOKING_FOR_PROPERTY:
128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128,
};
- YYDEBUG(794, *YYCURSOR);
+ YYDEBUG(673, *YYCURSOR);
YYFILL(2);
yych = *YYCURSOR;
{
static void *yytarget[256] = {
- &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796,
- &&yy796, &&yy798, &&yy798, &&yy796, &&yy796, &&yy798, &&yy796, &&yy796,
- &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796,
- &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796,
- &&yy798, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796,
- &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy801, &&yy796, &&yy796,
- &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796,
- &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796,
- &&yy796, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy796, &&yy796, &&yy796, &&yy796, &&yy802,
- &&yy796, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy796, &&yy796, &&yy796, &&yy796, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802
+ &&yy675, &&yy675, &&yy675, &&yy675, &&yy675, &&yy675, &&yy675, &&yy675,
+ &&yy675, &&yy677, &&yy677, &&yy675, &&yy675, &&yy677, &&yy675, &&yy675,
+ &&yy675, &&yy675, &&yy675, &&yy675, &&yy675, &&yy675, &&yy675, &&yy675,
+ &&yy675, &&yy675, &&yy675, &&yy675, &&yy675, &&yy675, &&yy675, &&yy675,
+ &&yy677, &&yy675, &&yy675, &&yy675, &&yy675, &&yy675, &&yy675, &&yy675,
+ &&yy675, &&yy675, &&yy675, &&yy675, &&yy675, &&yy680, &&yy675, &&yy675,
+ &&yy675, &&yy675, &&yy675, &&yy675, &&yy675, &&yy675, &&yy675, &&yy675,
+ &&yy675, &&yy675, &&yy675, &&yy675, &&yy675, &&yy675, &&yy675, &&yy675,
+ &&yy675, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681,
+ &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681,
+ &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681,
+ &&yy681, &&yy681, &&yy681, &&yy675, &&yy675, &&yy675, &&yy675, &&yy681,
+ &&yy675, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681,
+ &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681,
+ &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681,
+ &&yy681, &&yy681, &&yy681, &&yy675, &&yy675, &&yy675, &&yy675, &&yy681,
+ &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681,
+ &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681,
+ &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681,
+ &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681,
+ &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681,
+ &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681,
+ &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681,
+ &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681,
+ &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681,
+ &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681,
+ &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681,
+ &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681,
+ &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681,
+ &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681,
+ &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681,
+ &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681, &&yy681
};
goto *yytarget[yych];
}
-yy796:
- YYDEBUG(796, *YYCURSOR);
+yy675:
+ YYDEBUG(675, *YYCURSOR);
++YYCURSOR;
-yy797:
- YYDEBUG(797, *YYCURSOR);
+yy676:
+ YYDEBUG(676, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
yyless(0);
yy_pop_state(TSRMLS_C);
goto restart;
}
-yy798:
- YYDEBUG(798, *YYCURSOR);
+yy677:
+ YYDEBUG(677, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(799, *YYCURSOR);
+ YYDEBUG(678, *YYCURSOR);
if (yybm[0+yych] & 64) {
- goto yy798;
+ goto yy677;
}
- YYDEBUG(800, *YYCURSOR);
+ YYDEBUG(679, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
zendlval->value.str.val = yytext; /* no copying - intentional */
@@ -7027,21 +5768,21 @@ yy798:
HANDLE_NEWLINES(yytext, yyleng);
return T_WHITESPACE;
}
-yy801:
- YYDEBUG(801, *YYCURSOR);
+yy680:
+ YYDEBUG(680, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '>') goto yy805;
- goto yy797;
-yy802:
- YYDEBUG(802, *YYCURSOR);
+ if (yych == '>') goto yy684;
+ goto yy676;
+yy681:
+ YYDEBUG(681, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(803, *YYCURSOR);
+ YYDEBUG(682, *YYCURSOR);
if (yybm[0+yych] & 128) {
- goto yy802;
+ goto yy681;
}
- YYDEBUG(804, *YYCURSOR);
+ YYDEBUG(683, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
yy_pop_state(TSRMLS_C);
@@ -7049,17 +5790,17 @@ yy802:
zendlval->type = IS_STRING;
return T_STRING;
}
-yy805:
- YYDEBUG(805, *YYCURSOR);
+yy684:
+ YYDEBUG(684, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(806, *YYCURSOR);
+ YYDEBUG(685, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_OBJECT_OPERATOR;
}
}
/* *********************************** */
-yyc_ST_LOOKING_FOR_VARNAME:
+yyc_ST_BACKQUOTE:
{
static const unsigned char yybm[] = {
0, 0, 0, 0, 0, 0, 0, 0,
@@ -7095,111 +5836,485 @@ yyc_ST_LOOKING_FOR_VARNAME:
128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128,
};
- YYDEBUG(807, *YYCURSOR);
+ YYDEBUG(686, *YYCURSOR);
YYFILL(2);
yych = *YYCURSOR;
if (yych <= '_') {
- if (yych <= '@') goto yy809;
- if (yych <= 'Z') goto yy811;
- if (yych >= '_') goto yy811;
+ if (yych == '$') goto yy690;
} else {
- if (yych <= '`') goto yy809;
- if (yych <= 'z') goto yy811;
- if (yych >= 0x7F) goto yy811;
+ if (yych <= '`') goto yy691;
+ if (yych == '{') goto yy693;
}
-yy809:
- YYDEBUG(809, *YYCURSOR);
+ YYDEBUG(688, *YYCURSOR);
++YYCURSOR;
-yy810:
- YYDEBUG(810, *YYCURSOR);
+yy689:
+ YYDEBUG(689, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- yyless(0);
- yy_pop_state(TSRMLS_C);
- yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
- goto restart;
+ if (YYCURSOR > YYLIMIT) {
+ return 0;
+ }
+ if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
+ YYCURSOR++;
+ }
+
+ while (YYCURSOR < YYLIMIT) {
+ switch (*YYCURSOR++) {
+ case '`':
+ break;
+ case '$':
+ if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
+ break;
+ }
+ continue;
+ case '{':
+ if (*YYCURSOR == '$') {
+ break;
+ }
+ continue;
+ case '\\':
+ if (YYCURSOR < YYLIMIT) {
+ YYCURSOR++;
+ }
+ /* fall through */
+ default:
+ continue;
+ }
+
+ YYCURSOR--;
+ break;
+ }
+
+ yyleng = YYCURSOR - SCNG(yy_text);
+
+ zend_scan_escape_string(zendlval, yytext, yyleng, '`' TSRMLS_CC);
+ return T_ENCAPSED_AND_WHITESPACE;
}
-yy811:
- YYDEBUG(811, *YYCURSOR);
- yych = *(YYMARKER = ++YYCURSOR);
+yy690:
+ YYDEBUG(690, *YYCURSOR);
+ yych = *++YYCURSOR;
{
static void *yytarget[256] = {
- &&yy810, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810,
- &&yy810, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810,
- &&yy810, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810,
- &&yy810, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810,
- &&yy810, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810,
- &&yy810, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810,
- &&yy810, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy810, &&yy810, &&yy810, &&yy813,
- &&yy810, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy810, &&yy810, &&yy813, &&yy810, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813
+ &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689,
+ &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689,
+ &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689,
+ &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689,
+ &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689,
+ &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689,
+ &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689,
+ &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689,
+ &&yy689, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694,
+ &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694,
+ &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694,
+ &&yy694, &&yy694, &&yy694, &&yy689, &&yy689, &&yy689, &&yy689, &&yy694,
+ &&yy689, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694,
+ &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694,
+ &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694,
+ &&yy694, &&yy694, &&yy694, &&yy697, &&yy689, &&yy689, &&yy689, &&yy694,
+ &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694,
+ &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694,
+ &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694,
+ &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694,
+ &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694,
+ &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694,
+ &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694,
+ &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694,
+ &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694,
+ &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694,
+ &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694,
+ &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694,
+ &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694,
+ &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694,
+ &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694,
+ &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694, &&yy694
};
goto *yytarget[yych];
}
-yy812:
- YYDEBUG(812, *YYCURSOR);
+yy691:
+ YYDEBUG(691, *YYCURSOR);
++YYCURSOR;
- YYFILL(1);
+ YYDEBUG(692, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ BEGIN(ST_IN_SCRIPTING);
+ return '`';
+}
+yy693:
+ YYDEBUG(693, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '$') goto yy699;
+ goto yy689;
+yy694:
+ YYDEBUG(694, *YYCURSOR);
+ YYMARKER = ++YYCURSOR;
+ YYFILL(3);
yych = *YYCURSOR;
-yy813:
- YYDEBUG(813, *YYCURSOR);
+ YYDEBUG(695, *YYCURSOR);
if (yybm[0+yych] & 128) {
- goto yy812;
+ goto yy694;
}
- if (yych <= '@') goto yy814;
- if (yych <= '[') goto yy815;
- if (yych == '}') goto yy815;
-yy814:
- YYDEBUG(814, *YYCURSOR);
+ if (yych == '-') goto yy701;
+ if (yych <= '@') goto yy696;
+ if (yych <= '[') goto yy703;
+yy696:
+ YYDEBUG(696, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ zend_copy_value(zendlval, (yytext+1), (yyleng-1));
+ zendlval->type = IS_STRING;
+ return T_VARIABLE;
+}
+yy697:
+ YYDEBUG(697, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(698, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
+ return T_DOLLAR_OPEN_CURLY_BRACES;
+}
+yy699:
+ YYDEBUG(699, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(700, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ zendlval->value.lval = (long) '{';
+ yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
+ yyless(1);
+ return T_CURLY_OPEN;
+}
+yy701:
+ YYDEBUG(701, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '>') goto yy705;
+yy702:
+ YYDEBUG(702, *YYCURSOR);
YYCURSOR = YYMARKER;
- goto yy810;
-yy815:
- YYDEBUG(815, *YYCURSOR);
+ goto yy696;
+yy703:
+ YYDEBUG(703, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(816, *YYCURSOR);
+ YYDEBUG(704, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
yyless(yyleng - 1);
- zend_copy_value(zendlval, yytext, yyleng);
+ yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
+ zend_copy_value(zendlval, (yytext+1), (yyleng-1));
zendlval->type = IS_STRING;
- yy_pop_state(TSRMLS_C);
- yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
- return T_STRING_VARNAME;
+ return T_VARIABLE;
+}
+yy705:
+ YYDEBUG(705, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= '_') {
+ if (yych <= '@') goto yy702;
+ if (yych <= 'Z') goto yy706;
+ if (yych <= '^') goto yy702;
+ } else {
+ if (yych <= '`') goto yy702;
+ if (yych <= 'z') goto yy706;
+ if (yych <= '~') goto yy702;
+ }
+yy706:
+ YYDEBUG(706, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(707, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ yyless(yyleng - 3);
+ yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
+ zend_copy_value(zendlval, (yytext+1), (yyleng-1));
+ zendlval->type = IS_STRING;
+ return T_VARIABLE;
}
}
/* *********************************** */
-yyc_ST_NOWDOC:
- YYDEBUG(817, *YYCURSOR);
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(819, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(820, *YYCURSOR);
+yyc_ST_DOUBLE_QUOTES:
+ {
+ static const unsigned char yybm[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 0, 0, 0, 0, 0, 0,
+ 0, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 0, 0, 0, 0, 128,
+ 0, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 0, 0, 0, 0, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ };
+ YYDEBUG(708, *YYCURSOR);
+ YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych <= '#') {
+ if (yych == '"') goto yy712;
+ } else {
+ if (yych <= '$') goto yy714;
+ if (yych == '{') goto yy715;
+ }
+ YYDEBUG(710, *YYCURSOR);
+ ++YYCURSOR;
+yy711:
+ YYDEBUG(711, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {
+ YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;
+ SET_DOUBLE_QUOTES_SCANNED_LENGTH(0);
+
+ goto double_quotes_scan_done;
+ }
+
+ if (YYCURSOR > YYLIMIT) {
+ return 0;
+ }
+ if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
+ YYCURSOR++;
+ }
+
+ while (YYCURSOR < YYLIMIT) {
+ switch (*YYCURSOR++) {
+ case '"':
+ break;
+ case '$':
+ if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
+ break;
+ }
+ continue;
+ case '{':
+ if (*YYCURSOR == '$') {
+ break;
+ }
+ continue;
+ case '\\':
+ if (YYCURSOR < YYLIMIT) {
+ YYCURSOR++;
+ }
+ /* fall through */
+ default:
+ continue;
+ }
+
+ YYCURSOR--;
+ break;
+ }
+
+double_quotes_scan_done:
yyleng = YYCURSOR - SCNG(yy_text);
+
+ zend_scan_escape_string(zendlval, yytext, yyleng, '"' TSRMLS_CC);
+ return T_ENCAPSED_AND_WHITESPACE;
+}
+yy712:
+ YYDEBUG(712, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(713, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ BEGIN(ST_IN_SCRIPTING);
+ return '"';
+}
+yy714:
+ YYDEBUG(714, *YYCURSOR);
+ yych = *++YYCURSOR;
+ {
+ static void *yytarget[256] = {
+ &&yy711, &&yy711, &&yy711, &&yy711, &&yy711, &&yy711, &&yy711, &&yy711,
+ &&yy711, &&yy711, &&yy711, &&yy711, &&yy711, &&yy711, &&yy711, &&yy711,
+ &&yy711, &&yy711, &&yy711, &&yy711, &&yy711, &&yy711, &&yy711, &&yy711,
+ &&yy711, &&yy711, &&yy711, &&yy711, &&yy711, &&yy711, &&yy711, &&yy711,
+ &&yy711, &&yy711, &&yy711, &&yy711, &&yy711, &&yy711, &&yy711, &&yy711,
+ &&yy711, &&yy711, &&yy711, &&yy711, &&yy711, &&yy711, &&yy711, &&yy711,
+ &&yy711, &&yy711, &&yy711, &&yy711, &&yy711, &&yy711, &&yy711, &&yy711,
+ &&yy711, &&yy711, &&yy711, &&yy711, &&yy711, &&yy711, &&yy711, &&yy711,
+ &&yy711, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716,
+ &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716,
+ &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716,
+ &&yy716, &&yy716, &&yy716, &&yy711, &&yy711, &&yy711, &&yy711, &&yy716,
+ &&yy711, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716,
+ &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716,
+ &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716,
+ &&yy716, &&yy716, &&yy716, &&yy719, &&yy711, &&yy711, &&yy711, &&yy716,
+ &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716,
+ &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716,
+ &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716,
+ &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716,
+ &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716,
+ &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716,
+ &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716,
+ &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716,
+ &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716,
+ &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716,
+ &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716,
+ &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716,
+ &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716,
+ &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716,
+ &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716,
+ &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716, &&yy716
+ };
+ goto *yytarget[yych];
+ }
+yy715:
+ YYDEBUG(715, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '$') goto yy721;
+ goto yy711;
+yy716:
+ YYDEBUG(716, *YYCURSOR);
+ YYMARKER = ++YYCURSOR;
+ YYFILL(3);
+ yych = *YYCURSOR;
+ YYDEBUG(717, *YYCURSOR);
+ if (yybm[0+yych] & 128) {
+ goto yy716;
+ }
+ if (yych == '-') goto yy723;
+ if (yych <= '@') goto yy718;
+ if (yych <= '[') goto yy725;
+yy718:
+ YYDEBUG(718, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ zend_copy_value(zendlval, (yytext+1), (yyleng-1));
+ zendlval->type = IS_STRING;
+ return T_VARIABLE;
+}
+yy719:
+ YYDEBUG(719, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(720, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
+ return T_DOLLAR_OPEN_CURLY_BRACES;
+}
+yy721:
+ YYDEBUG(721, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(722, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ zendlval->value.lval = (long) '{';
+ yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
+ yyless(1);
+ return T_CURLY_OPEN;
+}
+yy723:
+ YYDEBUG(723, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '>') goto yy727;
+yy724:
+ YYDEBUG(724, *YYCURSOR);
+ YYCURSOR = YYMARKER;
+ goto yy718;
+yy725:
+ YYDEBUG(725, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(726, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ yyless(yyleng - 1);
+ yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
+ zend_copy_value(zendlval, (yytext+1), (yyleng-1));
+ zendlval->type = IS_STRING;
+ return T_VARIABLE;
+}
+yy727:
+ YYDEBUG(727, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= '_') {
+ if (yych <= '@') goto yy724;
+ if (yych <= 'Z') goto yy728;
+ if (yych <= '^') goto yy724;
+ } else {
+ if (yych <= '`') goto yy724;
+ if (yych <= 'z') goto yy728;
+ if (yych <= '~') goto yy724;
+ }
+yy728:
+ YYDEBUG(728, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(729, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ yyless(yyleng - 3);
+ yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
+ zend_copy_value(zendlval, (yytext+1), (yyleng-1));
+ zendlval->type = IS_STRING;
+ return T_VARIABLE;
+}
+ }
+/* *********************************** */
+yyc_ST_HEREDOC:
{
+ static const unsigned char yybm[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 0, 0, 0, 0, 0, 0,
+ 0, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 0, 0, 0, 0, 128,
+ 0, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 0, 0, 0, 0, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ };
+ YYDEBUG(730, *YYCURSOR);
+ YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych == '$') goto yy734;
+ if (yych == '{') goto yy735;
+ YYDEBUG(732, *YYCURSOR);
+ ++YYCURSOR;
+yy733:
+ YYDEBUG(733, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
int newline = 0;
zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
@@ -7238,23 +6353,301 @@ yyc_ST_NOWDOC:
CG(increment_lineno) = 1; /* For newline before label */
BEGIN(ST_END_HEREDOC);
- goto nowdoc_scan_done;
+ goto heredoc_scan_done;
}
}
+ continue;
+ case '$':
+ if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
+ break;
+ }
+ continue;
+ case '{':
+ if (*YYCURSOR == '$') {
+ break;
+ }
+ continue;
+ case '\\':
+ if (YYCURSOR < YYLIMIT && *YYCURSOR != '\n' && *YYCURSOR != '\r') {
+ YYCURSOR++;
+ }
/* fall through */
default:
continue;
}
+
+ YYCURSOR--;
+ break;
}
-nowdoc_scan_done:
+heredoc_scan_done:
yyleng = YYCURSOR - SCNG(yy_text);
- zend_copy_value(zendlval, yytext, yyleng - newline);
- zendlval->type = IS_STRING;
- HANDLE_NEWLINES(yytext, yyleng - newline);
+ zend_scan_escape_string(zendlval, yytext, yyleng - newline, 0 TSRMLS_CC);
return T_ENCAPSED_AND_WHITESPACE;
}
+yy734:
+ YYDEBUG(734, *YYCURSOR);
+ yych = *++YYCURSOR;
+ {
+ static void *yytarget[256] = {
+ &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733,
+ &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733,
+ &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733,
+ &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733,
+ &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733,
+ &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733,
+ &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733,
+ &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733,
+ &&yy733, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy733, &&yy733, &&yy733, &&yy733, &&yy736,
+ &&yy733, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy739, &&yy733, &&yy733, &&yy733, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736
+ };
+ goto *yytarget[yych];
+ }
+yy735:
+ YYDEBUG(735, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '$') goto yy741;
+ goto yy733;
+yy736:
+ YYDEBUG(736, *YYCURSOR);
+ YYMARKER = ++YYCURSOR;
+ YYFILL(3);
+ yych = *YYCURSOR;
+ YYDEBUG(737, *YYCURSOR);
+ if (yybm[0+yych] & 128) {
+ goto yy736;
+ }
+ if (yych == '-') goto yy743;
+ if (yych <= '@') goto yy738;
+ if (yych <= '[') goto yy745;
+yy738:
+ YYDEBUG(738, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ zend_copy_value(zendlval, (yytext+1), (yyleng-1));
+ zendlval->type = IS_STRING;
+ return T_VARIABLE;
+}
+yy739:
+ YYDEBUG(739, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(740, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
+ return T_DOLLAR_OPEN_CURLY_BRACES;
+}
+yy741:
+ YYDEBUG(741, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(742, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ zendlval->value.lval = (long) '{';
+ yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
+ yyless(1);
+ return T_CURLY_OPEN;
+}
+yy743:
+ YYDEBUG(743, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '>') goto yy747;
+yy744:
+ YYDEBUG(744, *YYCURSOR);
+ YYCURSOR = YYMARKER;
+ goto yy738;
+yy745:
+ YYDEBUG(745, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(746, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ yyless(yyleng - 1);
+ yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
+ zend_copy_value(zendlval, (yytext+1), (yyleng-1));
+ zendlval->type = IS_STRING;
+ return T_VARIABLE;
+}
+yy747:
+ YYDEBUG(747, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= '_') {
+ if (yych <= '@') goto yy744;
+ if (yych <= 'Z') goto yy748;
+ if (yych <= '^') goto yy744;
+ } else {
+ if (yych <= '`') goto yy744;
+ if (yych <= 'z') goto yy748;
+ if (yych <= '~') goto yy744;
+ }
+yy748:
+ YYDEBUG(748, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(749, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ yyless(yyleng - 3);
+ yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
+ zend_copy_value(zendlval, (yytext+1), (yyleng-1));
+ zendlval->type = IS_STRING;
+ return T_VARIABLE;
+}
+ }
+/* *********************************** */
+yyc_ST_LOOKING_FOR_VARNAME:
+ {
+ static const unsigned char yybm[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 0, 0, 0, 0, 0, 0,
+ 0, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 0, 0, 0, 0, 128,
+ 0, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 0, 0, 0, 0, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ };
+ YYDEBUG(750, *YYCURSOR);
+ YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych <= '_') {
+ if (yych <= '@') goto yy752;
+ if (yych <= 'Z') goto yy754;
+ if (yych >= '_') goto yy754;
+ } else {
+ if (yych <= '`') goto yy752;
+ if (yych <= 'z') goto yy754;
+ if (yych >= 0x7F) goto yy754;
+ }
+yy752:
+ YYDEBUG(752, *YYCURSOR);
+ ++YYCURSOR;
+yy753:
+ YYDEBUG(753, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ yyless(0);
+ yy_pop_state(TSRMLS_C);
+ yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
+ goto restart;
+}
+yy754:
+ YYDEBUG(754, *YYCURSOR);
+ yych = *(YYMARKER = ++YYCURSOR);
+ {
+ static void *yytarget[256] = {
+ &&yy753, &&yy753, &&yy753, &&yy753, &&yy753, &&yy753, &&yy753, &&yy753,
+ &&yy753, &&yy753, &&yy753, &&yy753, &&yy753, &&yy753, &&yy753, &&yy753,
+ &&yy753, &&yy753, &&yy753, &&yy753, &&yy753, &&yy753, &&yy753, &&yy753,
+ &&yy753, &&yy753, &&yy753, &&yy753, &&yy753, &&yy753, &&yy753, &&yy753,
+ &&yy753, &&yy753, &&yy753, &&yy753, &&yy753, &&yy753, &&yy753, &&yy753,
+ &&yy753, &&yy753, &&yy753, &&yy753, &&yy753, &&yy753, &&yy753, &&yy753,
+ &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756,
+ &&yy756, &&yy756, &&yy753, &&yy753, &&yy753, &&yy753, &&yy753, &&yy753,
+ &&yy753, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756,
+ &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756,
+ &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756,
+ &&yy756, &&yy756, &&yy756, &&yy756, &&yy753, &&yy753, &&yy753, &&yy756,
+ &&yy753, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756,
+ &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756,
+ &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756,
+ &&yy756, &&yy756, &&yy756, &&yy753, &&yy753, &&yy756, &&yy753, &&yy756,
+ &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756,
+ &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756,
+ &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756,
+ &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756,
+ &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756,
+ &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756,
+ &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756,
+ &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756,
+ &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756,
+ &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756,
+ &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756,
+ &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756,
+ &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756,
+ &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756,
+ &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756,
+ &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756, &&yy756
+ };
+ goto *yytarget[yych];
+ }
+yy755:
+ YYDEBUG(755, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
+yy756:
+ YYDEBUG(756, *YYCURSOR);
+ if (yybm[0+yych] & 128) {
+ goto yy755;
+ }
+ if (yych <= '@') goto yy757;
+ if (yych <= '[') goto yy758;
+ if (yych == '}') goto yy758;
+yy757:
+ YYDEBUG(757, *YYCURSOR);
+ YYCURSOR = YYMARKER;
+ goto yy753;
+yy758:
+ YYDEBUG(758, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(759, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ yyless(yyleng - 1);
+ zend_copy_value(zendlval, yytext, yyleng);
+ zendlval->type = IS_STRING;
+ yy_pop_state(TSRMLS_C);
+ yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
+ return T_STRING_VARNAME;
+}
+ }
/* *********************************** */
yyc_ST_VAR_OFFSET:
{
@@ -7292,50 +6685,50 @@ yyc_ST_VAR_OFFSET:
32, 32, 32, 32, 32, 32, 32, 32,
32, 32, 32, 32, 32, 32, 32, 32,
};
- YYDEBUG(821, *YYCURSOR);
+ YYDEBUG(760, *YYCURSOR);
YYFILL(3);
yych = *YYCURSOR;
{
static void *yytarget[256] = {
- &&yy823, &&yy823, &&yy823, &&yy823, &&yy823, &&yy823, &&yy823, &&yy823,
- &&yy823, &&yy825, &&yy825, &&yy823, &&yy823, &&yy825, &&yy823, &&yy823,
- &&yy823, &&yy823, &&yy823, &&yy823, &&yy823, &&yy823, &&yy823, &&yy823,
- &&yy823, &&yy823, &&yy823, &&yy823, &&yy823, &&yy823, &&yy823, &&yy823,
- &&yy825, &&yy827, &&yy827, &&yy825, &&yy829, &&yy827, &&yy827, &&yy825,
- &&yy827, &&yy827, &&yy827, &&yy827, &&yy827, &&yy827, &&yy827, &&yy827,
- &&yy830, &&yy832, &&yy832, &&yy832, &&yy832, &&yy832, &&yy832, &&yy832,
- &&yy832, &&yy832, &&yy827, &&yy827, &&yy827, &&yy827, &&yy827, &&yy827,
- &&yy827, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy827, &&yy825, &&yy837, &&yy827, &&yy834,
- &&yy827, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy827, &&yy827, &&yy827, &&yy827, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834
+ &&yy762, &&yy762, &&yy762, &&yy762, &&yy762, &&yy762, &&yy762, &&yy762,
+ &&yy762, &&yy764, &&yy764, &&yy762, &&yy762, &&yy764, &&yy762, &&yy762,
+ &&yy762, &&yy762, &&yy762, &&yy762, &&yy762, &&yy762, &&yy762, &&yy762,
+ &&yy762, &&yy762, &&yy762, &&yy762, &&yy762, &&yy762, &&yy762, &&yy762,
+ &&yy764, &&yy766, &&yy766, &&yy764, &&yy768, &&yy766, &&yy766, &&yy764,
+ &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766,
+ &&yy769, &&yy771, &&yy771, &&yy771, &&yy771, &&yy771, &&yy771, &&yy771,
+ &&yy771, &&yy771, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766,
+ &&yy766, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773,
+ &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773,
+ &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773,
+ &&yy773, &&yy773, &&yy773, &&yy766, &&yy764, &&yy776, &&yy766, &&yy773,
+ &&yy766, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773,
+ &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773,
+ &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773,
+ &&yy773, &&yy773, &&yy773, &&yy766, &&yy766, &&yy766, &&yy766, &&yy773,
+ &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773,
+ &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773,
+ &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773,
+ &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773,
+ &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773,
+ &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773,
+ &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773,
+ &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773,
+ &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773,
+ &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773,
+ &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773,
+ &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773,
+ &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773,
+ &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773,
+ &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773,
+ &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773
};
goto *yytarget[yych];
}
-yy823:
- YYDEBUG(823, *YYCURSOR);
+yy762:
+ YYDEBUG(762, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(824, *YYCURSOR);
+ YYDEBUG(763, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
if (YYCURSOR > YYLIMIT) {
@@ -7345,10 +6738,10 @@ yy823:
zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
goto restart;
}
-yy825:
- YYDEBUG(825, *YYCURSOR);
+yy764:
+ YYDEBUG(764, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(826, *YYCURSOR);
+ YYDEBUG(765, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
/* Invalid rule to return a more explicit parse error with proper line number */
@@ -7356,42 +6749,42 @@ yy825:
yy_pop_state(TSRMLS_C);
return T_ENCAPSED_AND_WHITESPACE;
}
-yy827:
- YYDEBUG(827, *YYCURSOR);
+yy766:
+ YYDEBUG(766, *YYCURSOR);
++YYCURSOR;
-yy828:
- YYDEBUG(828, *YYCURSOR);
+yy767:
+ YYDEBUG(767, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
/* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */
return yytext[0];
}
-yy829:
- YYDEBUG(829, *YYCURSOR);
+yy768:
+ YYDEBUG(768, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= '_') {
- if (yych <= '@') goto yy828;
- if (yych <= 'Z') goto yy839;
- if (yych <= '^') goto yy828;
- goto yy839;
+ if (yych <= '@') goto yy767;
+ if (yych <= 'Z') goto yy778;
+ if (yych <= '^') goto yy767;
+ goto yy778;
} else {
- if (yych <= '`') goto yy828;
- if (yych <= 'z') goto yy839;
- if (yych <= '~') goto yy828;
- goto yy839;
+ if (yych <= '`') goto yy767;
+ if (yych <= 'z') goto yy778;
+ if (yych <= '~') goto yy767;
+ goto yy778;
}
-yy830:
- YYDEBUG(830, *YYCURSOR);
+yy769:
+ YYDEBUG(769, *YYCURSOR);
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= 'a') {
- if (yych <= '/') goto yy831;
- if (yych <= '9') goto yy842;
+ if (yych <= '/') goto yy770;
+ if (yych <= '9') goto yy781;
} else {
- if (yych <= 'b') goto yy845;
- if (yych == 'x') goto yy847;
+ if (yych <= 'b') goto yy784;
+ if (yych == 'x') goto yy786;
}
-yy831:
- YYDEBUG(831, *YYCURSOR);
+yy770:
+ YYDEBUG(770, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{ /* Offset could be treated as a long */
if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) {
@@ -7404,102 +6797,102 @@ yy831:
}
return T_NUM_STRING;
}
-yy832:
- YYDEBUG(832, *YYCURSOR);
+yy771:
+ YYDEBUG(771, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(833, *YYCURSOR);
+ YYDEBUG(772, *YYCURSOR);
if (yybm[0+yych] & 16) {
- goto yy832;
+ goto yy771;
}
- goto yy831;
-yy834:
- YYDEBUG(834, *YYCURSOR);
+ goto yy770;
+yy773:
+ YYDEBUG(773, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(835, *YYCURSOR);
+ YYDEBUG(774, *YYCURSOR);
if (yybm[0+yych] & 32) {
- goto yy834;
+ goto yy773;
}
- YYDEBUG(836, *YYCURSOR);
+ YYDEBUG(775, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
zend_copy_value(zendlval, yytext, yyleng);
zendlval->type = IS_STRING;
return T_STRING;
}
-yy837:
- YYDEBUG(837, *YYCURSOR);
+yy776:
+ YYDEBUG(776, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(838, *YYCURSOR);
+ YYDEBUG(777, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
yy_pop_state(TSRMLS_C);
return ']';
}
-yy839:
- YYDEBUG(839, *YYCURSOR);
+yy778:
+ YYDEBUG(778, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(840, *YYCURSOR);
+ YYDEBUG(779, *YYCURSOR);
{
static void *yytarget[256] = {
- &&yy841, &&yy841, &&yy841, &&yy841, &&yy841, &&yy841, &&yy841, &&yy841,
- &&yy841, &&yy841, &&yy841, &&yy841, &&yy841, &&yy841, &&yy841, &&yy841,
- &&yy841, &&yy841, &&yy841, &&yy841, &&yy841, &&yy841, &&yy841, &&yy841,
- &&yy841, &&yy841, &&yy841, &&yy841, &&yy841, &&yy841, &&yy841, &&yy841,
- &&yy841, &&yy841, &&yy841, &&yy841, &&yy841, &&yy841, &&yy841, &&yy841,
- &&yy841, &&yy841, &&yy841, &&yy841, &&yy841, &&yy841, &&yy841, &&yy841,
- &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy841, &&yy841, &&yy841, &&yy841, &&yy841, &&yy841,
- &&yy841, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy841, &&yy841, &&yy841, &&yy841, &&yy839,
- &&yy841, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy841, &&yy841, &&yy841, &&yy841, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839
+ &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780,
+ &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780,
+ &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780,
+ &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780,
+ &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780,
+ &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780,
+ &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778,
+ &&yy778, &&yy778, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780,
+ &&yy780, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778,
+ &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778,
+ &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778,
+ &&yy778, &&yy778, &&yy778, &&yy780, &&yy780, &&yy780, &&yy780, &&yy778,
+ &&yy780, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778,
+ &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778,
+ &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778,
+ &&yy778, &&yy778, &&yy778, &&yy780, &&yy780, &&yy780, &&yy780, &&yy778,
+ &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778,
+ &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778,
+ &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778,
+ &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778,
+ &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778,
+ &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778,
+ &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778,
+ &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778,
+ &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778,
+ &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778,
+ &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778,
+ &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778,
+ &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778,
+ &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778,
+ &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778,
+ &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778, &&yy778
};
goto *yytarget[yych];
}
-yy841:
- YYDEBUG(841, *YYCURSOR);
+yy780:
+ YYDEBUG(780, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
zendlval->type = IS_STRING;
return T_VARIABLE;
}
-yy842:
- YYDEBUG(842, *YYCURSOR);
+yy781:
+ YYDEBUG(781, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(843, *YYCURSOR);
- if (yych <= '/') goto yy844;
- if (yych <= '9') goto yy842;
-yy844:
- YYDEBUG(844, *YYCURSOR);
+ YYDEBUG(782, *YYCURSOR);
+ if (yych <= '/') goto yy783;
+ if (yych <= '9') goto yy781;
+yy783:
+ YYDEBUG(783, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{ /* Offset must be treated as a string */
zendlval->value.str.val = (char *)estrndup(yytext, yyleng);
@@ -7507,44 +6900,619 @@ yy844:
zendlval->type = IS_STRING;
return T_NUM_STRING;
}
-yy845:
- YYDEBUG(845, *YYCURSOR);
+yy784:
+ YYDEBUG(784, *YYCURSOR);
yych = *++YYCURSOR;
if (yybm[0+yych] & 64) {
- goto yy848;
+ goto yy787;
}
-yy846:
- YYDEBUG(846, *YYCURSOR);
+yy785:
+ YYDEBUG(785, *YYCURSOR);
YYCURSOR = YYMARKER;
- goto yy831;
-yy847:
- YYDEBUG(847, *YYCURSOR);
+ goto yy770;
+yy786:
+ YYDEBUG(786, *YYCURSOR);
yych = *++YYCURSOR;
if (yybm[0+yych] & 128) {
- goto yy850;
+ goto yy789;
}
- goto yy846;
-yy848:
- YYDEBUG(848, *YYCURSOR);
+ goto yy785;
+yy787:
+ YYDEBUG(787, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(849, *YYCURSOR);
+ YYDEBUG(788, *YYCURSOR);
if (yybm[0+yych] & 64) {
- goto yy848;
+ goto yy787;
}
- goto yy844;
-yy850:
- YYDEBUG(850, *YYCURSOR);
+ goto yy783;
+yy789:
+ YYDEBUG(789, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(851, *YYCURSOR);
+ YYDEBUG(790, *YYCURSOR);
if (yybm[0+yych] & 128) {
- goto yy850;
+ goto yy789;
+ }
+ goto yy783;
+ }
+/* *********************************** */
+yyc_INITIAL:
+ {
+ static const unsigned char yybm[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 128, 128, 0, 0, 128, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 128, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ };
+ YYDEBUG(791, *YYCURSOR);
+ YYFILL(8);
+ yych = *YYCURSOR;
+ if (yych == '<') goto yy795;
+ YYDEBUG(793, *YYCURSOR);
+ ++YYCURSOR;
+yy794:
+ YYDEBUG(794, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ if (YYCURSOR > YYLIMIT) {
+ return 0;
+ }
+
+inline_char_handler:
+
+ while (1) {
+ YYCTYPE *ptr = memchr(YYCURSOR, '<', YYLIMIT - YYCURSOR);
+
+ YYCURSOR = ptr ? ptr + 1 : YYLIMIT;
+
+ if (YYCURSOR < YYLIMIT) {
+ switch (*YYCURSOR) {
+ case '?':
+ if (CG(short_tags) || !strncasecmp((char*)YYCURSOR + 1, "php", 3) || (*(YYCURSOR + 1) == '=')) { /* Assume [ \t\n\r] follows "php" */
+ break;
+ }
+ continue;
+ case '%':
+ if (CG(asp_tags)) {
+ break;
+ }
+ continue;
+ case 's':
+ case 'S':
+ /* Probably NOT an opening PHP <script> tag, so don't end the HTML chunk yet
+ * If it is, the PHP <script> tag rule checks for any HTML scanned before it */
+ YYCURSOR--;
+ yymore();
+ default:
+ continue;
+ }
+
+ YYCURSOR--;
+ }
+
+ break;
+ }
+
+inline_html:
+ yyleng = YYCURSOR - SCNG(yy_text);
+
+ if (SCNG(output_filter)) {
+ int readsize;
+ size_t sz = 0;
+ readsize = SCNG(output_filter)((unsigned char **)&(zendlval->value.str.val), &sz, (unsigned char *)yytext, (size_t)yyleng TSRMLS_CC);
+ zendlval->value.str.len = sz;
+ if (readsize < yyleng) {
+ yyless(readsize);
}
- goto yy844;
+ } else {
+ zendlval->value.str.val = (char *) estrndup(yytext, yyleng);
+ zendlval->value.str.len = yyleng;
}
+ zendlval->type = IS_STRING;
+ HANDLE_NEWLINES(yytext, yyleng);
+ return T_INLINE_HTML;
+}
+yy795:
+ YYDEBUG(795, *YYCURSOR);
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '>') {
+ if (yych != '%') goto yy794;
+ } else {
+ if (yych <= '?') goto yy798;
+ if (yych == 's') goto yy800;
+ goto yy794;
+ }
+ YYDEBUG(796, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '=') goto yy802;
+ YYDEBUG(797, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ if (CG(asp_tags)) {
+ zendlval->value.str.val = yytext; /* no copying - intentional */
+ zendlval->value.str.len = yyleng;
+ zendlval->type = IS_STRING;
+ BEGIN(ST_IN_SCRIPTING);
+ return T_OPEN_TAG;
+ } else {
+ goto inline_char_handler;
+ }
+}
+yy798:
+ YYDEBUG(798, *YYCURSOR);
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych == '=') goto yy804;
+ if (yych == 'p') goto yy806;
+yy799:
+ YYDEBUG(799, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ if (CG(short_tags)) {
+ zendlval->value.str.val = yytext; /* no copying - intentional */
+ zendlval->value.str.len = yyleng;
+ zendlval->type = IS_STRING;
+ BEGIN(ST_IN_SCRIPTING);
+ return T_OPEN_TAG;
+ } else {
+ goto inline_char_handler;
+ }
+}
+yy800:
+ YYDEBUG(800, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'c') goto yy807;
+yy801:
+ YYDEBUG(801, *YYCURSOR);
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy794;
+ } else {
+ goto yy799;
+ }
+yy802:
+ YYDEBUG(802, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(803, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ if (CG(asp_tags)) {
+ zendlval->value.str.val = yytext; /* no copying - intentional */
+ zendlval->value.str.len = yyleng;
+ zendlval->type = IS_STRING;
+ BEGIN(ST_IN_SCRIPTING);
+ return T_OPEN_TAG_WITH_ECHO;
+ } else {
+ goto inline_char_handler;
+ }
+}
+yy804:
+ YYDEBUG(804, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(805, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ zendlval->value.str.val = yytext; /* no copying - intentional */
+ zendlval->value.str.len = yyleng;
+ zendlval->type = IS_STRING;
+ BEGIN(ST_IN_SCRIPTING);
+ return T_OPEN_TAG_WITH_ECHO;
+}
+yy806:
+ YYDEBUG(806, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'h') goto yy808;
+ goto yy801;
+yy807:
+ YYDEBUG(807, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'r') goto yy809;
+ goto yy801;
+yy808:
+ YYDEBUG(808, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'p') goto yy810;
+ goto yy801;
+yy809:
+ YYDEBUG(809, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'i') goto yy811;
+ goto yy801;
+yy810:
+ YYDEBUG(810, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= '\f') {
+ if (yych <= 0x08) goto yy801;
+ if (yych <= '\n') goto yy812;
+ goto yy801;
+ } else {
+ if (yych <= '\r') goto yy814;
+ if (yych == ' ') goto yy812;
+ goto yy801;
+ }
+yy811:
+ YYDEBUG(811, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'p') goto yy815;
+ goto yy801;
+yy812:
+ YYDEBUG(812, *YYCURSOR);
+ ++YYCURSOR;
+yy813:
+ YYDEBUG(813, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ zendlval->value.str.val = yytext; /* no copying - intentional */
+ zendlval->value.str.len = yyleng;
+ zendlval->type = IS_STRING;
+ HANDLE_NEWLINE(yytext[yyleng-1]);
+ BEGIN(ST_IN_SCRIPTING);
+ return T_OPEN_TAG;
+}
+yy814:
+ YYDEBUG(814, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '\n') goto yy812;
+ goto yy813;
+yy815:
+ YYDEBUG(815, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych != 't') goto yy801;
+ YYDEBUG(816, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'l') goto yy801;
+ goto yy818;
+yy817:
+ YYDEBUG(817, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(8);
+ yych = *YYCURSOR;
+yy818:
+ YYDEBUG(818, *YYCURSOR);
+ if (yybm[0+yych] & 128) {
+ goto yy817;
+ }
+ if (yych != 'l') goto yy801;
+ YYDEBUG(819, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych != 'a') goto yy801;
+ YYDEBUG(820, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych != 'n') goto yy801;
+ YYDEBUG(821, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych != 'g') goto yy801;
+ YYDEBUG(822, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych != 'u') goto yy801;
+ YYDEBUG(823, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych != 'a') goto yy801;
+ YYDEBUG(824, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych != 'g') goto yy801;
+ YYDEBUG(825, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych != 'e') goto yy801;
+yy826:
+ YYDEBUG(826, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
+ YYDEBUG(827, *YYCURSOR);
+ {
+ static void *yytarget[256] = {
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy826, &&yy826, &&yy801, &&yy801, &&yy826, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy826, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy828, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801
+ };
+ goto *yytarget[yych];
+ }
+yy828:
+ YYDEBUG(828, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(5);
+ yych = *YYCURSOR;
+ YYDEBUG(829, *YYCURSOR);
+ {
+ static void *yytarget[256] = {
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy828, &&yy828, &&yy801, &&yy801, &&yy828, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy828, &&yy801, &&yy830, &&yy801, &&yy801, &&yy801, &&yy801, &&yy831,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy832, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801
+ };
+ goto *yytarget[yych];
+ }
+yy830:
+ YYDEBUG(830, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'p') goto yy833;
+ goto yy801;
+yy831:
+ YYDEBUG(831, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'p') goto yy834;
+ goto yy801;
+yy832:
+ YYDEBUG(832, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'h') goto yy835;
+ goto yy801;
+yy833:
+ YYDEBUG(833, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'h') goto yy836;
+ goto yy801;
+yy834:
+ YYDEBUG(834, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'h') goto yy837;
+ goto yy801;
+yy835:
+ YYDEBUG(835, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'p') goto yy838;
+ goto yy801;
+yy836:
+ YYDEBUG(836, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'p') goto yy840;
+ goto yy801;
+yy837:
+ YYDEBUG(837, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'p') goto yy841;
+ goto yy801;
+yy838:
+ YYDEBUG(838, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
+ YYDEBUG(839, *YYCURSOR);
+ {
+ static void *yytarget[256] = {
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy838, &&yy838, &&yy801, &&yy801, &&yy838, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy838, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy842, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
+ &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801
+ };
+ goto *yytarget[yych];
+ }
+yy840:
+ YYDEBUG(840, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '"') goto yy838;
+ goto yy801;
+yy841:
+ YYDEBUG(841, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '\'') goto yy838;
+ goto yy801;
+yy842:
+ YYDEBUG(842, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(843, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ YYCTYPE *bracket = (YYCTYPE*)zend_memrchr(yytext, '<', yyleng - (sizeof("script language=php>") - 1));
+
+ if (bracket != SCNG(yy_text)) {
+ /* Handle previously scanned HTML, as possible <script> tags found are assumed to not be PHP's */
+ YYCURSOR = bracket;
+ goto inline_html;
+ }
+
+ HANDLE_NEWLINES(yytext, yyleng);
+ zendlval->value.str.val = yytext; /* no copying - intentional */
+ zendlval->value.str.len = yyleng;
+ zendlval->type = IS_STRING;
+ BEGIN(ST_IN_SCRIPTING);
+ return T_OPEN_TAG;
+}
+ }
+/* *********************************** */
+yyc_ST_END_HEREDOC:
+ YYDEBUG(844, *YYCURSOR);
+ YYFILL(1);
+ yych = *YYCURSOR;
+ YYDEBUG(846, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(847, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack));
+
+ YYCURSOR += heredoc_label->length - 1;
+ yyleng = heredoc_label->length;
+
+ heredoc_label_dtor(heredoc_label);
+ efree(heredoc_label);
+
+ BEGIN(ST_IN_SCRIPTING);
+ return T_END_HEREDOC;
+}
+/* *********************************** */
+yyc_ST_NOWDOC:
+ YYDEBUG(848, *YYCURSOR);
+ YYFILL(1);
+ yych = *YYCURSOR;
+ YYDEBUG(850, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(851, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ int newline = 0;
+
+ zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
+
+ if (YYCURSOR > YYLIMIT) {
+ return 0;
+ }
+
+ YYCURSOR--;
+
+ while (YYCURSOR < YYLIMIT) {
+ switch (*YYCURSOR++) {
+ case '\r':
+ if (*YYCURSOR == '\n') {
+ YYCURSOR++;
+ }
+ /* fall through */
+ case '\n':
+ /* Check for ending label on the next line */
+ if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
+ YYCTYPE *end = YYCURSOR + heredoc_label->length;
+
+ if (*end == ';') {
+ end++;
+ }
+
+ if (*end == '\n' || *end == '\r') {
+ /* newline before label will be subtracted from returned text, but
+ * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
+ if (YYCURSOR[-2] == '\r' && YYCURSOR[-1] == '\n') {
+ newline = 2; /* Windows newline */
+ } else {
+ newline = 1;
+ }
+
+ CG(increment_lineno) = 1; /* For newline before label */
+ BEGIN(ST_END_HEREDOC);
+
+ goto nowdoc_scan_done;
+ }
+ }
+ /* fall through */
+ default:
+ continue;
+ }
+ }
+
+nowdoc_scan_done:
+ yyleng = YYCURSOR - SCNG(yy_text);
+
+ zend_copy_value(zendlval, yytext, yyleng - newline);
+ zendlval->type = IS_STRING;
+ HANDLE_NEWLINES(yytext, yyleng - newline);
+ return T_ENCAPSED_AND_WHITESPACE;
+}
}
}
diff --git a/test/php20140822_zend_language_scanner_crlf.igcd--flex-syntax.c b/test/php20140822_zend_language_scanner_crlf.igcd--flex-syntax.c
deleted file mode 100644
index b757eb63..00000000
--- a/test/php20140822_zend_language_scanner_crlf.igcd--flex-syntax.c
+++ /dev/null
@@ -1,7553 +0,0 @@
-/* Generated by re2c */
-/*
- +----------------------------------------------------------------------+
- | Zend Engine |
- +----------------------------------------------------------------------+
- | Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
- +----------------------------------------------------------------------+
- | This source file is subject to version 2.00 of the Zend license, |
- | that is bundled with this package in the file LICENSE, and is |
- | available through the world-wide-web at the following url: |
- | http://www.zend.com/license/2_00.txt. |
- | If you did not receive a copy of the Zend license and are unable to |
- | obtain it through the world-wide-web, please send a note to |
- | license@zend.com so we can mail you a copy immediately. |
- +----------------------------------------------------------------------+
- | Authors: Marcus Boerger <helly@php.net> |
- | Nuno Lopes <nlopess@php.net> |
- | Scott MacVicar <scottmac@php.net> |
- | Flex version authors: |
- | Andi Gutmans <andi@zend.com> |
- | Zeev Suraski <zeev@zend.com> |
- +----------------------------------------------------------------------+
-*/
-
-/* $Id$ */
-
-#if 0
-# define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c)
-#else
-# define YYDEBUG(s, c)
-#endif
-
-#include "zend_language_scanner_defs.h"
-
-#include <errno.h>
-#include "zend.h"
-#ifdef PHP_WIN32
-# include <Winuser.h>
-#endif
-#include "zend_alloc.h"
-#include <zend_language_parser.h>
-#include "zend_compile.h"
-#include "zend_language_scanner.h"
-#include "zend_highlight.h"
-#include "zend_constants.h"
-#include "zend_variables.h"
-#include "zend_operators.h"
-#include "zend_API.h"
-#include "zend_strtod.h"
-#include "zend_exceptions.h"
-#include "tsrm_virtual_cwd.h"
-#include "tsrm_config_common.h"
-
-#define YYCTYPE unsigned char
-#define YYFILL(n) { if ((YYCURSOR + n) >= (YYLIMIT + ZEND_MMAP_AHEAD)) { return 0; } }
-#define YYCURSOR SCNG(yy_cursor)
-#define YYLIMIT SCNG(yy_limit)
-#define YYMARKER SCNG(yy_marker)
-
-#define YYGETCONDITION() SCNG(yy_state)
-#define YYSETCONDITION(s) SCNG(yy_state) = s
-
-#define STATE(name) yyc##name
-
-/* emulate flex constructs */
-#define BEGIN(state) YYSETCONDITION(STATE(state))
-#define YYSTATE YYGETCONDITION()
-#define yytext ((char*)SCNG(yy_text))
-#define yyleng SCNG(yy_leng)
-#define yyless(x) do { YYCURSOR = (unsigned char*)yytext + x; \
- yyleng = (unsigned int)x; } while(0)
-#define yymore() goto yymore_restart
-
-/* perform sanity check. If this message is triggered you should
- increase the ZEND_MMAP_AHEAD value in the zend_streams.h file */
-#define YYMAXFILL 16
-#if ZEND_MMAP_AHEAD < YYMAXFILL
-# error ZEND_MMAP_AHEAD should be greater than or equal to YYMAXFILL
-#endif
-
-#ifdef HAVE_STDARG_H
-# include <stdarg.h>
-#endif
-
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-
-/* Globals Macros */
-#define SCNG LANG_SCNG
-#ifdef ZTS
-ZEND_API ts_rsrc_id language_scanner_globals_id;
-#else
-ZEND_API zend_php_scanner_globals language_scanner_globals;
-#endif
-
-#define HANDLE_NEWLINES(s, l) \
-do { \
- char *p = (s), *boundary = p+(l); \
- \
- while (p<boundary) { \
- if (*p == '\n' || (*p == '\r' && (*(p+1) != '\n'))) { \
- CG(zend_lineno)++; \
- } \
- p++; \
- } \
-} while (0)
-
-#define HANDLE_NEWLINE(c) \
-{ \
- if (c == '\n' || c == '\r') { \
- CG(zend_lineno)++; \
- } \
-}
-
-/* To save initial string length after scanning to first variable, CG(doc_comment_len) can be reused */
-#define SET_DOUBLE_QUOTES_SCANNED_LENGTH(len) CG(doc_comment_len) = (len)
-#define GET_DOUBLE_QUOTES_SCANNED_LENGTH() CG(doc_comment_len)
-
-#define IS_LABEL_START(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || (c) == '_' || (c) >= 0x7F)
-
-#define ZEND_IS_OCT(c) ((c)>='0' && (c)<='7')
-#define ZEND_IS_HEX(c) (((c)>='0' && (c)<='9') || ((c)>='a' && (c)<='f') || ((c)>='A' && (c)<='F'))
-
-BEGIN_EXTERN_C()
-
-static size_t encoding_filter_script_to_internal(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length TSRMLS_DC)
-{
- const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding(TSRMLS_C);
- assert(internal_encoding && zend_multibyte_check_lexer_compatibility(internal_encoding));
- return zend_multibyte_encoding_converter(to, to_length, from, from_length, internal_encoding, LANG_SCNG(script_encoding) TSRMLS_CC);
-}
-
-static size_t encoding_filter_script_to_intermediate(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length TSRMLS_DC)
-{
- return zend_multibyte_encoding_converter(to, to_length, from, from_length, zend_multibyte_encoding_utf8, LANG_SCNG(script_encoding) TSRMLS_CC);
-}
-
-static size_t encoding_filter_intermediate_to_script(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length TSRMLS_DC)
-{
- return zend_multibyte_encoding_converter(to, to_length, from, from_length,
-LANG_SCNG(script_encoding), zend_multibyte_encoding_utf8 TSRMLS_CC);
-}
-
-static size_t encoding_filter_intermediate_to_internal(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length TSRMLS_DC)
-{
- const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding(TSRMLS_C);
- assert(internal_encoding && zend_multibyte_check_lexer_compatibility(internal_encoding));
- return zend_multibyte_encoding_converter(to, to_length, from, from_length,
-internal_encoding, zend_multibyte_encoding_utf8 TSRMLS_CC);
-}
-
-
-static void _yy_push_state(int new_state TSRMLS_DC)
-{
- zend_stack_push(&SCNG(state_stack), (void *) &YYGETCONDITION(), sizeof(int));
- YYSETCONDITION(new_state);
-}
-
-#define yy_push_state(state_and_tsrm) _yy_push_state(yyc##state_and_tsrm)
-
-static void yy_pop_state(TSRMLS_D)
-{
- int *stack_state;
- zend_stack_top(&SCNG(state_stack), (void **) &stack_state);
- YYSETCONDITION(*stack_state);
- zend_stack_del_top(&SCNG(state_stack));
-}
-
-static void yy_scan_buffer(char *str, unsigned int len TSRMLS_DC)
-{
- YYCURSOR = (YYCTYPE*)str;
- YYLIMIT = YYCURSOR + len;
- if (!SCNG(yy_start)) {
- SCNG(yy_start) = YYCURSOR;
- }
-}
-
-void startup_scanner(TSRMLS_D)
-{
- CG(parse_error) = 0;
- CG(doc_comment) = NULL;
- CG(doc_comment_len) = 0;
- zend_stack_init(&SCNG(state_stack));
- zend_ptr_stack_init(&SCNG(heredoc_label_stack));
-}
-
-static void heredoc_label_dtor(zend_heredoc_label *heredoc_label) {
- efree(heredoc_label->label);
-}
-
-void shutdown_scanner(TSRMLS_D)
-{
- CG(parse_error) = 0;
- RESET_DOC_COMMENT();
- zend_stack_destroy(&SCNG(state_stack));
- zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
- zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
-}
-
-ZEND_API void zend_save_lexical_state(zend_lex_state *lex_state TSRMLS_DC)
-{
- lex_state->yy_leng = SCNG(yy_leng);
- lex_state->yy_start = SCNG(yy_start);
- lex_state->yy_text = SCNG(yy_text);
- lex_state->yy_cursor = SCNG(yy_cursor);
- lex_state->yy_marker = SCNG(yy_marker);
- lex_state->yy_limit = SCNG(yy_limit);
-
- lex_state->state_stack = SCNG(state_stack);
- zend_stack_init(&SCNG(state_stack));
-
- lex_state->heredoc_label_stack = SCNG(heredoc_label_stack);
- zend_ptr_stack_init(&SCNG(heredoc_label_stack));
-
- lex_state->in = SCNG(yy_in);
- lex_state->yy_state = YYSTATE;
- lex_state->filename = zend_get_compiled_filename(TSRMLS_C);
- lex_state->lineno = CG(zend_lineno);
-
- lex_state->script_org = SCNG(script_org);
- lex_state->script_org_size = SCNG(script_org_size);
- lex_state->script_filtered = SCNG(script_filtered);
- lex_state->script_filtered_size = SCNG(script_filtered_size);
- lex_state->input_filter = SCNG(input_filter);
- lex_state->output_filter = SCNG(output_filter);
- lex_state->script_encoding = SCNG(script_encoding);
-}
-
-ZEND_API void zend_restore_lexical_state(zend_lex_state *lex_state TSRMLS_DC)
-{
- SCNG(yy_leng) = lex_state->yy_leng;
- SCNG(yy_start) = lex_state->yy_start;
- SCNG(yy_text) = lex_state->yy_text;
- SCNG(yy_cursor) = lex_state->yy_cursor;
- SCNG(yy_marker) = lex_state->yy_marker;
- SCNG(yy_limit) = lex_state->yy_limit;
-
- zend_stack_destroy(&SCNG(state_stack));
- SCNG(state_stack) = lex_state->state_stack;
-
- zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
- zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
- SCNG(heredoc_label_stack) = lex_state->heredoc_label_stack;
-
- SCNG(yy_in) = lex_state->in;
- YYSETCONDITION(lex_state->yy_state);
- CG(zend_lineno) = lex_state->lineno;
- zend_restore_compiled_filename(lex_state->filename TSRMLS_CC);
-
- if (SCNG(script_filtered)) {
- efree(SCNG(script_filtered));
- SCNG(script_filtered) = NULL;
- }
- SCNG(script_org) = lex_state->script_org;
- SCNG(script_org_size) = lex_state->script_org_size;
- SCNG(script_filtered) = lex_state->script_filtered;
- SCNG(script_filtered_size) = lex_state->script_filtered_size;
- SCNG(input_filter) = lex_state->input_filter;
- SCNG(output_filter) = lex_state->output_filter;
- SCNG(script_encoding) = lex_state->script_encoding;
-
- RESET_DOC_COMMENT();
-}
-
-ZEND_API void zend_destroy_file_handle(zend_file_handle *file_handle TSRMLS_DC)
-{
- zend_llist_del_element(&CG(open_files), file_handle, (int (*)(void *, void *)) zend_compare_file_handles);
- /* zend_file_handle_dtor() operates on the copy, so we have to NULLify the original here */
- file_handle->opened_path = NULL;
- if (file_handle->free_filename) {
- file_handle->filename = NULL;
- }
-}
-
-#define BOM_UTF32_BE "\x00\x00\xfe\xff"
-#define BOM_UTF32_LE "\xff\xfe\x00\x00"
-#define BOM_UTF16_BE "\xfe\xff"
-#define BOM_UTF16_LE "\xff\xfe"
-#define BOM_UTF8 "\xef\xbb\xbf"
-
-static const zend_encoding *zend_multibyte_detect_utf_encoding(const unsigned char *script, size_t script_size TSRMLS_DC)
-{
- const unsigned char *p;
- int wchar_size = 2;
- int le = 0;
-
- /* utf-16 or utf-32? */
- p = script;
- while ((p-script) < script_size) {
- p = memchr(p, 0, script_size-(p-script)-2);
- if (!p) {
- break;
- }
- if (*(p+1) == '\0' && *(p+2) == '\0') {
- wchar_size = 4;
- break;
- }
-
- /* searching for UTF-32 specific byte orders, so this will do */
- p += 4;
- }
-
- /* BE or LE? */
- p = script;
- while ((p-script) < script_size) {
- if (*p == '\0' && *(p+wchar_size-1) != '\0') {
- /* BE */
- le = 0;
- break;
- } else if (*p != '\0' && *(p+wchar_size-1) == '\0') {
- /* LE* */
- le = 1;
- break;
- }
- p += wchar_size;
- }
-
- if (wchar_size == 2) {
- return le ? zend_multibyte_encoding_utf16le : zend_multibyte_encoding_utf16be;
- } else {
- return le ? zend_multibyte_encoding_utf32le : zend_multibyte_encoding_utf32be;
- }
-
- return NULL;
-}
-
-static const zend_encoding* zend_multibyte_detect_unicode(TSRMLS_D)
-{
- const zend_encoding *script_encoding = NULL;
- int bom_size;
- unsigned char *pos1, *pos2;
-
- if (LANG_SCNG(script_org_size) < sizeof(BOM_UTF32_LE)-1) {
- return NULL;
- }
-
- /* check out BOM */
- if (!memcmp(LANG_SCNG(script_org), BOM_UTF32_BE, sizeof(BOM_UTF32_BE)-1)) {
- script_encoding = zend_multibyte_encoding_utf32be;
- bom_size = sizeof(BOM_UTF32_BE)-1;
- } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF32_LE, sizeof(BOM_UTF32_LE)-1)) {
- script_encoding = zend_multibyte_encoding_utf32le;
- bom_size = sizeof(BOM_UTF32_LE)-1;
- } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF16_BE, sizeof(BOM_UTF16_BE)-1)) {
- script_encoding = zend_multibyte_encoding_utf16be;
- bom_size = sizeof(BOM_UTF16_BE)-1;
- } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF16_LE, sizeof(BOM_UTF16_LE)-1)) {
- script_encoding = zend_multibyte_encoding_utf16le;
- bom_size = sizeof(BOM_UTF16_LE)-1;
- } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF8, sizeof(BOM_UTF8)-1)) {
- script_encoding = zend_multibyte_encoding_utf8;
- bom_size = sizeof(BOM_UTF8)-1;
- }
-
- if (script_encoding) {
- /* remove BOM */
- LANG_SCNG(script_org) += bom_size;
- LANG_SCNG(script_org_size) -= bom_size;
-
- return script_encoding;
- }
-
- /* script contains NULL bytes -> auto-detection */
- if ((pos1 = memchr(LANG_SCNG(script_org), 0, LANG_SCNG(script_org_size)))) {
- /* check if the NULL byte is after the __HALT_COMPILER(); */
- pos2 = LANG_SCNG(script_org);
-
- while (pos1 - pos2 >= sizeof("__HALT_COMPILER();")-1) {
- pos2 = memchr(pos2, '_', pos1 - pos2);
- if (!pos2) break;
- pos2++;
- if (strncasecmp((char*)pos2, "_HALT_COMPILER", sizeof("_HALT_COMPILER")-1) == 0) {
- pos2 += sizeof("_HALT_COMPILER")-1;
- while (*pos2 == ' ' ||
- *pos2 == '\t' ||
- *pos2 == '\r' ||
- *pos2 == '\n') {
- pos2++;
- }
- if (*pos2 == '(') {
- pos2++;
- while (*pos2 == ' ' ||
- *pos2 == '\t' ||
- *pos2 == '\r' ||
- *pos2 == '\n') {
- pos2++;
- }
- if (*pos2 == ')') {
- pos2++;
- while (*pos2 == ' ' ||
- *pos2 == '\t' ||
- *pos2 == '\r' ||
- *pos2 == '\n') {
- pos2++;
- }
- if (*pos2 == ';') {
- return NULL;
- }
- }
- }
- }
- }
- /* make best effort if BOM is missing */
- return zend_multibyte_detect_utf_encoding(LANG_SCNG(script_org), LANG_SCNG(script_org_size) TSRMLS_CC);
- }
-
- return NULL;
-}
-
-static const zend_encoding* zend_multibyte_find_script_encoding(TSRMLS_D)
-{
- const zend_encoding *script_encoding;
-
- if (CG(detect_unicode)) {
- /* check out bom(byte order mark) and see if containing wchars */
- script_encoding = zend_multibyte_detect_unicode(TSRMLS_C);
- if (script_encoding != NULL) {
- /* bom or wchar detection is prior to 'script_encoding' option */
- return script_encoding;
- }
- }
-
- /* if no script_encoding specified, just leave alone */
- if (!CG(script_encoding_list) || !CG(script_encoding_list_size)) {
- return NULL;
- }
-
- /* if multiple encodings specified, detect automagically */
- if (CG(script_encoding_list_size) > 1) {
- return zend_multibyte_encoding_detector(LANG_SCNG(script_org), LANG_SCNG(script_org_size), CG(script_encoding_list), CG(script_encoding_list_size) TSRMLS_CC);
- }
-
- return CG(script_encoding_list)[0];
-}
-
-ZEND_API int zend_multibyte_set_filter(const zend_encoding *onetime_encoding TSRMLS_DC)
-{
- const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding(TSRMLS_C);
- const zend_encoding *script_encoding = onetime_encoding ? onetime_encoding: zend_multibyte_find_script_encoding(TSRMLS_C);
-
- if (!script_encoding) {
- return FAILURE;
- }
-
- /* judge input/output filter */
- LANG_SCNG(script_encoding) = script_encoding;
- LANG_SCNG(input_filter) = NULL;
- LANG_SCNG(output_filter) = NULL;
-
- if (!internal_encoding || LANG_SCNG(script_encoding) == internal_encoding) {
- if (!zend_multibyte_check_lexer_compatibility(LANG_SCNG(script_encoding))) {
- /* and if not, work around w/ script_encoding -> utf-8 -> script_encoding conversion */
- LANG_SCNG(input_filter) = encoding_filter_script_to_intermediate;
- LANG_SCNG(output_filter) = encoding_filter_intermediate_to_script;
- } else {
- LANG_SCNG(input_filter) = NULL;
- LANG_SCNG(output_filter) = NULL;
- }
- return SUCCESS;
- }
-
- if (zend_multibyte_check_lexer_compatibility(internal_encoding)) {
- LANG_SCNG(input_filter) = encoding_filter_script_to_internal;
- LANG_SCNG(output_filter) = NULL;
- } else if (zend_multibyte_check_lexer_compatibility(LANG_SCNG(script_encoding))) {
- LANG_SCNG(input_filter) = NULL;
- LANG_SCNG(output_filter) = encoding_filter_script_to_internal;
- } else {
- /* both script and internal encodings are incompatible w/ flex */
- LANG_SCNG(input_filter) = encoding_filter_script_to_intermediate;
- LANG_SCNG(output_filter) = encoding_filter_intermediate_to_internal;
- }
-
- return 0;
-}
-
-ZEND_API int open_file_for_scanning(zend_file_handle *file_handle TSRMLS_DC)
-{
- const char *file_path = NULL;
- char *buf;
- size_t size, offset = 0;
-
- /* The shebang line was read, get the current position to obtain the buffer start */
- if (CG(start_lineno) == 2 && file_handle->type == ZEND_HANDLE_FP && file_handle->handle.fp) {
- if ((offset = ftell(file_handle->handle.fp)) == -1) {
- offset = 0;
- }
- }
-
- if (zend_stream_fixup(file_handle, &buf, &size TSRMLS_CC) == FAILURE) {
- return FAILURE;
- }
-
- zend_llist_add_element(&CG(open_files), file_handle);
- if (file_handle->handle.stream.handle >= (void*)file_handle && file_handle->handle.stream.handle <= (void*)(file_handle+1)) {
- zend_file_handle *fh = (zend_file_handle*)zend_llist_get_last(&CG(open_files));
- size_t diff = (char*)file_handle->handle.stream.handle - (char*)file_handle;
- fh->handle.stream.handle = (void*)(((char*)fh) + diff);
- file_handle->handle.stream.handle = fh->handle.stream.handle;
- }
-
- /* Reset the scanner for scanning the new file */
- SCNG(yy_in) = file_handle;
- SCNG(yy_start) = NULL;
-
- if (size != -1) {
- if (CG(multibyte)) {
- SCNG(script_org) = (unsigned char*)buf;
- SCNG(script_org_size) = size;
- SCNG(script_filtered) = NULL;
-
- zend_multibyte_set_filter(NULL TSRMLS_CC);
-
- if (SCNG(input_filter)) {
- if ((size_t)-1 == SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size) TSRMLS_CC)) {
- zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
- "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
- }
- buf = (char*)SCNG(script_filtered);
- size = SCNG(script_filtered_size);
- }
- }
- SCNG(yy_start) = (unsigned char *)buf - offset;
- yy_scan_buffer(buf, size TSRMLS_CC);
- } else {
- zend_error_noreturn(E_COMPILE_ERROR, "zend_stream_mmap() failed");
- }
-
- BEGIN(INITIAL);
-
- if (file_handle->opened_path) {
- file_path = file_handle->opened_path;
- } else {
- file_path = file_handle->filename;
- }
-
- zend_set_compiled_filename(file_path TSRMLS_CC);
-
- if (CG(start_lineno)) {
- CG(zend_lineno) = CG(start_lineno);
- CG(start_lineno) = 0;
- } else {
- CG(zend_lineno) = 1;
- }
-
- RESET_DOC_COMMENT();
- CG(increment_lineno) = 0;
- return SUCCESS;
-}
-END_EXTERN_C()
-
-
-ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type TSRMLS_DC)
-{
- zend_lex_state original_lex_state;
- zend_op_array *op_array = (zend_op_array *) emalloc(sizeof(zend_op_array));
- zend_op_array *original_active_op_array = CG(active_op_array);
- zend_op_array *retval=NULL;
- int compiler_result;
- zend_bool compilation_successful=0;
- znode retval_znode;
- zend_bool original_in_compilation = CG(in_compilation);
-
- retval_znode.op_type = IS_CONST;
- retval_znode.u.constant.type = IS_LONG;
- retval_znode.u.constant.value.lval = 1;
- Z_UNSET_ISREF(retval_znode.u.constant);
- Z_SET_REFCOUNT(retval_znode.u.constant, 1);
-
- zend_save_lexical_state(&original_lex_state TSRMLS_CC);
-
- retval = op_array; /* success oriented */
-
- if (open_file_for_scanning(file_handle TSRMLS_CC)==FAILURE) {
- if (type==ZEND_REQUIRE) {
- zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, file_handle->filename TSRMLS_CC);
- zend_bailout();
- } else {
- zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, file_handle->filename TSRMLS_CC);
- }
- compilation_successful=0;
- } else {
- init_op_array(op_array, ZEND_USER_FUNCTION, INITIAL_OP_ARRAY_SIZE TSRMLS_CC);
- CG(in_compilation) = 1;
- CG(active_op_array) = op_array;
- zend_stack_push(&CG(context_stack), (void *) &CG(context), sizeof(CG(context)));
- zend_init_compiler_context(TSRMLS_C);
- compiler_result = zendparse(TSRMLS_C);
- zend_do_return(&retval_znode, 0 TSRMLS_CC);
- CG(in_compilation) = original_in_compilation;
- if (compiler_result != 0) { /* parser error */
- zend_bailout();
- }
- compilation_successful=1;
- }
-
- if (retval) {
- CG(active_op_array) = original_active_op_array;
- if (compilation_successful) {
- pass_two(op_array TSRMLS_CC);
- zend_release_labels(0 TSRMLS_CC);
- } else {
- efree(op_array);
- retval = NULL;
- }
- }
- zend_restore_lexical_state(&original_lex_state TSRMLS_CC);
- return retval;
-}
-
-
-zend_op_array *compile_filename(int type, zval *filename TSRMLS_DC)
-{
- zend_file_handle file_handle;
- zval tmp;
- zend_op_array *retval;
- char *opened_path = NULL;
-
- if (filename->type != IS_STRING) {
- tmp = *filename;
- zval_copy_ctor(&tmp);
- convert_to_string(&tmp);
- filename = &tmp;
- }
- file_handle.filename = filename->value.str.val;
- file_handle.free_filename = 0;
- file_handle.type = ZEND_HANDLE_FILENAME;
- file_handle.opened_path = NULL;
- file_handle.handle.fp = NULL;
-
- retval = zend_compile_file(&file_handle, type TSRMLS_CC);
- if (retval && file_handle.handle.stream.handle) {
- int dummy = 1;
-
- if (!file_handle.opened_path) {
- file_handle.opened_path = opened_path = estrndup(filename->value.str.val, filename->value.str.len);
- }
-
- zend_hash_add(&EG(included_files), file_handle.opened_path, strlen(file_handle.opened_path)+1, (void *)&dummy, sizeof(int), NULL);
-
- if (opened_path) {
- efree(opened_path);
- }
- }
- zend_destroy_file_handle(&file_handle TSRMLS_CC);
-
- if (filename==&tmp) {
- zval_dtor(&tmp);
- }
- return retval;
-}
-
-ZEND_API int zend_prepare_string_for_scanning(zval *str, char *filename TSRMLS_DC)
-{
- char *buf;
- size_t size;
-
- /* enforce two trailing NULLs for flex... */
- if (IS_INTERNED(str->value.str.val)) {
- char *tmp = safe_emalloc(1, str->value.str.len, ZEND_MMAP_AHEAD);
- memcpy(tmp, str->value.str.val, str->value.str.len + ZEND_MMAP_AHEAD);
- str->value.str.val = tmp;
- } else {
- str->value.str.val = safe_erealloc(str->value.str.val, 1, str->value.str.len, ZEND_MMAP_AHEAD);
- }
-
- memset(str->value.str.val + str->value.str.len, 0, ZEND_MMAP_AHEAD);
-
- SCNG(yy_in) = NULL;
- SCNG(yy_start) = NULL;
-
- buf = str->value.str.val;
- size = str->value.str.len;
-
- if (CG(multibyte)) {
- SCNG(script_org) = (unsigned char*)buf;
- SCNG(script_org_size) = size;
- SCNG(script_filtered) = NULL;
-
- zend_multibyte_set_filter(zend_multibyte_get_internal_encoding(TSRMLS_C) TSRMLS_CC);
-
- if (SCNG(input_filter)) {
- if ((size_t)-1 == SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size) TSRMLS_CC)) {
- zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
- "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
- }
- buf = (char*)SCNG(script_filtered);
- size = SCNG(script_filtered_size);
- }
- }
-
- yy_scan_buffer(buf, size TSRMLS_CC);
-
- zend_set_compiled_filename(filename TSRMLS_CC);
- CG(zend_lineno) = 1;
- CG(increment_lineno) = 0;
- RESET_DOC_COMMENT();
- return SUCCESS;
-}
-
-
-ZEND_API size_t zend_get_scanned_file_offset(TSRMLS_D)
-{
- size_t offset = SCNG(yy_cursor) - SCNG(yy_start);
- if (SCNG(input_filter)) {
- size_t original_offset = offset, length = 0;
- do {
- unsigned char *p = NULL;
- if ((size_t)-1 == SCNG(input_filter)(&p, &length, SCNG(script_org), offset TSRMLS_CC)) {
- return (size_t)-1;
- }
- efree(p);
- if (length > original_offset) {
- offset--;
- } else if (length < original_offset) {
- offset++;
- }
- } while (original_offset != length);
- }
- return offset;
-}
-
-
-zend_op_array *compile_string(zval *source_string, char *filename TSRMLS_DC)
-{
- zend_lex_state original_lex_state;
- zend_op_array *op_array = (zend_op_array *) emalloc(sizeof(zend_op_array));
- zend_op_array *original_active_op_array = CG(active_op_array);
- zend_op_array *retval;
- zval tmp;
- int compiler_result;
- zend_bool original_in_compilation = CG(in_compilation);
-
- if (source_string->value.str.len==0) {
- efree(op_array);
- return NULL;
- }
-
- CG(in_compilation) = 1;
-
- tmp = *source_string;
- zval_copy_ctor(&tmp);
- convert_to_string(&tmp);
- source_string = &tmp;
-
- zend_save_lexical_state(&original_lex_state TSRMLS_CC);
- if (zend_prepare_string_for_scanning(source_string, filename TSRMLS_CC)==FAILURE) {
- efree(op_array);
- retval = NULL;
- } else {
- zend_bool orig_interactive = CG(interactive);
-
- CG(interactive) = 0;
- init_op_array(op_array, ZEND_EVAL_CODE, INITIAL_OP_ARRAY_SIZE TSRMLS_CC);
- CG(interactive) = orig_interactive;
- CG(active_op_array) = op_array;
- zend_stack_push(&CG(context_stack), (void *) &CG(context), sizeof(CG(context)));
- zend_init_compiler_context(TSRMLS_C);
- BEGIN(ST_IN_SCRIPTING);
- compiler_result = zendparse(TSRMLS_C);
-
- if (SCNG(script_filtered)) {
- efree(SCNG(script_filtered));
- SCNG(script_filtered) = NULL;
- }
-
- if (compiler_result != 0) {
- CG(active_op_array) = original_active_op_array;
- CG(unclean_shutdown)=1;
- destroy_op_array(op_array TSRMLS_CC);
- efree(op_array);
- retval = NULL;
- } else {
- zend_do_return(NULL, 0 TSRMLS_CC);
- CG(active_op_array) = original_active_op_array;
- pass_two(op_array TSRMLS_CC);
- zend_release_labels(0 TSRMLS_CC);
- retval = op_array;
- }
- }
- zend_restore_lexical_state(&original_lex_state TSRMLS_CC);
- zval_dtor(&tmp);
- CG(in_compilation) = original_in_compilation;
- return retval;
-}
-
-
-BEGIN_EXTERN_C()
-int highlight_file(char *filename, zend_syntax_highlighter_ini *syntax_highlighter_ini TSRMLS_DC)
-{
- zend_lex_state original_lex_state;
- zend_file_handle file_handle;
-
- file_handle.type = ZEND_HANDLE_FILENAME;
- file_handle.filename = filename;
- file_handle.free_filename = 0;
- file_handle.opened_path = NULL;
- zend_save_lexical_state(&original_lex_state TSRMLS_CC);
- if (open_file_for_scanning(&file_handle TSRMLS_CC)==FAILURE) {
- zend_message_dispatcher(ZMSG_FAILED_HIGHLIGHT_FOPEN, filename TSRMLS_CC);
- zend_restore_lexical_state(&original_lex_state TSRMLS_CC);
- return FAILURE;
- }
- zend_highlight(syntax_highlighter_ini TSRMLS_CC);
- if (SCNG(script_filtered)) {
- efree(SCNG(script_filtered));
- SCNG(script_filtered) = NULL;
- }
- zend_destroy_file_handle(&file_handle TSRMLS_CC);
- zend_restore_lexical_state(&original_lex_state TSRMLS_CC);
- return SUCCESS;
-}
-
-int highlight_string(zval *str, zend_syntax_highlighter_ini *syntax_highlighter_ini, char *str_name TSRMLS_DC)
-{
- zend_lex_state original_lex_state;
- zval tmp = *str;
-
- str = &tmp;
- zval_copy_ctor(str);
- zend_save_lexical_state(&original_lex_state TSRMLS_CC);
- if (zend_prepare_string_for_scanning(str, str_name TSRMLS_CC)==FAILURE) {
- zend_restore_lexical_state(&original_lex_state TSRMLS_CC);
- return FAILURE;
- }
- BEGIN(INITIAL);
- zend_highlight(syntax_highlighter_ini TSRMLS_CC);
- if (SCNG(script_filtered)) {
- efree(SCNG(script_filtered));
- SCNG(script_filtered) = NULL;
- }
- zend_restore_lexical_state(&original_lex_state TSRMLS_CC);
- zval_dtor(str);
- return SUCCESS;
-}
-
-ZEND_API void zend_multibyte_yyinput_again(zend_encoding_filter old_input_filter, const zend_encoding *old_encoding TSRMLS_DC)
-{
- size_t length;
- unsigned char *new_yy_start;
-
- /* convert and set */
- if (!SCNG(input_filter)) {
- if (SCNG(script_filtered)) {
- efree(SCNG(script_filtered));
- SCNG(script_filtered) = NULL;
- }
- SCNG(script_filtered_size) = 0;
- length = SCNG(script_org_size);
- new_yy_start = SCNG(script_org);
- } else {
- if ((size_t)-1 == SCNG(input_filter)(&new_yy_start, &length, SCNG(script_org), SCNG(script_org_size) TSRMLS_CC)) {
- zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
- "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
- }
- SCNG(script_filtered) = new_yy_start;
- SCNG(script_filtered_size) = length;
- }
-
- SCNG(yy_cursor) = new_yy_start + (SCNG(yy_cursor) - SCNG(yy_start));
- SCNG(yy_marker) = new_yy_start + (SCNG(yy_marker) - SCNG(yy_start));
- SCNG(yy_text) = new_yy_start + (SCNG(yy_text) - SCNG(yy_start));
- SCNG(yy_limit) = new_yy_start + (SCNG(yy_limit) - SCNG(yy_start));
-
- SCNG(yy_start) = new_yy_start;
-}
-
-
-# define zend_copy_value(zendlval, yytext, yyleng) \
- if (SCNG(output_filter)) { \
- size_t sz = 0; \
- SCNG(output_filter)((unsigned char **)&(zendlval->value.str.val), &sz, (unsigned char *)yytext, (size_t)yyleng TSRMLS_CC); \
- zendlval->value.str.len = sz; \
- } else { \
- zendlval->value.str.val = (char *) estrndup(yytext, yyleng); \
- zendlval->value.str.len = yyleng; \
- }
-
-static void zend_scan_escape_string(zval *zendlval, char *str, int len, char quote_type TSRMLS_DC)
-{
- register char *s, *t;
- char *end;
-
- ZVAL_STRINGL(zendlval, str, len, 1);
-
- /* convert escape sequences */
- s = t = zendlval->value.str.val;
- end = s+zendlval->value.str.len;
- while (s<end) {
- if (*s=='\\') {
- s++;
- if (s >= end) {
- *t++ = '\\';
- break;
- }
-
- switch(*s) {
- case 'n':
- *t++ = '\n';
- zendlval->value.str.len--;
- break;
- case 'r':
- *t++ = '\r';
- zendlval->value.str.len--;
- break;
- case 't':
- *t++ = '\t';
- zendlval->value.str.len--;
- break;
- case 'f':
- *t++ = '\f';
- zendlval->value.str.len--;
- break;
- case 'v':
- *t++ = '\v';
- zendlval->value.str.len--;
- break;
- case 'e':
-#ifdef PHP_WIN32
- *t++ = VK_ESCAPE;
-#else
- *t++ = '\e';
-#endif
- zendlval->value.str.len--;
- break;
- case '"':
- case '`':
- if (*s != quote_type) {
- *t++ = '\\';
- *t++ = *s;
- break;
- }
- case '\\':
- case '$':
- *t++ = *s;
- zendlval->value.str.len--;
- break;
- case 'x':
- case 'X':
- if (ZEND_IS_HEX(*(s+1))) {
- char hex_buf[3] = { 0, 0, 0 };
-
- zendlval->value.str.len--; /* for the 'x' */
-
- hex_buf[0] = *(++s);
- zendlval->value.str.len--;
- if (ZEND_IS_HEX(*(s+1))) {
- hex_buf[1] = *(++s);
- zendlval->value.str.len--;
- }
- *t++ = (char) strtol(hex_buf, NULL, 16);
- } else {
- *t++ = '\\';
- *t++ = *s;
- }
- break;
- default:
- /* check for an octal */
- if (ZEND_IS_OCT(*s)) {
- char octal_buf[4] = { 0, 0, 0, 0 };
-
- octal_buf[0] = *s;
- zendlval->value.str.len--;
- if (ZEND_IS_OCT(*(s+1))) {
- octal_buf[1] = *(++s);
- zendlval->value.str.len--;
- if (ZEND_IS_OCT(*(s+1))) {
- octal_buf[2] = *(++s);
- zendlval->value.str.len--;
- }
- }
- *t++ = (char) strtol(octal_buf, NULL, 8);
- } else {
- *t++ = '\\';
- *t++ = *s;
- }
- break;
- }
- } else {
- *t++ = *s;
- }
-
- if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
- CG(zend_lineno)++;
- }
- s++;
- }
- *t = 0;
- if (SCNG(output_filter)) {
- size_t sz = 0;
- s = zendlval->value.str.val;
- SCNG(output_filter)((unsigned char **)&(zendlval->value.str.val), &sz, (unsigned char *)s, (size_t)zendlval->value.str.len TSRMLS_CC);
- zendlval->value.str.len = sz;
- efree(s);
- }
-}
-
-
-int lex_scan(zval *zendlval TSRMLS_DC)
-{
-restart:
- SCNG(yy_text) = YYCURSOR;
-
-yymore_restart:
-
-
-{
- YYCTYPE yych;
- unsigned int yyaccept = 0;
- static void *yyctable[10] = {
- &&yyc_ST_IN_SCRIPTING,
- &&yyc_ST_LOOKING_FOR_PROPERTY,
- &&yyc_ST_BACKQUOTE,
- &&yyc_ST_DOUBLE_QUOTES,
- &&yyc_ST_HEREDOC,
- &&yyc_ST_LOOKING_FOR_VARNAME,
- &&yyc_ST_VAR_OFFSET,
- &&yyc_INITIAL,
- &&yyc_ST_END_HEREDOC,
- &&yyc_ST_NOWDOC,
- };
- goto *yyctable[YYGETCONDITION()];
-/* *********************************** */
-yyc_INITIAL:
- {
- static const unsigned char yybm[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 128, 128, 0, 0, 128, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 128, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- };
- YYDEBUG(1, *YYCURSOR);
- YYFILL(8);
- yych = *YYCURSOR;
- if (yych == '<') goto yy5;
- YYDEBUG(3, *YYCURSOR);
- ++YYCURSOR;
-yy4:
- YYDEBUG(4, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- if (YYCURSOR > YYLIMIT) {
- return 0;
- }
-
-inline_char_handler:
-
- while (1) {
- YYCTYPE *ptr = memchr(YYCURSOR, '<', YYLIMIT - YYCURSOR);
-
- YYCURSOR = ptr ? ptr + 1 : YYLIMIT;
-
- if (YYCURSOR < YYLIMIT) {
- switch (*YYCURSOR) {
- case '?':
- if (CG(short_tags) || !strncasecmp((char*)YYCURSOR + 1, "php", 3) || (*(YYCURSOR + 1) == '=')) { /* Assume [ \t\n\r] follows "php" */
- break;
- }
- continue;
- case '%':
- if (CG(asp_tags)) {
- break;
- }
- continue;
- case 's':
- case 'S':
- /* Probably NOT an opening PHP <script> tag, so don't end the HTML chunk yet
- * If it is, the PHP <script> tag rule checks for any HTML scanned before it */
- YYCURSOR--;
- yymore();
- default:
- continue;
- }
-
- YYCURSOR--;
- }
-
- break;
- }
-
-inline_html:
- yyleng = YYCURSOR - SCNG(yy_text);
-
- if (SCNG(output_filter)) {
- int readsize;
- size_t sz = 0;
- readsize = SCNG(output_filter)((unsigned char **)&(zendlval->value.str.val), &sz, (unsigned char *)yytext, (size_t)yyleng TSRMLS_CC);
- zendlval->value.str.len = sz;
- if (readsize < yyleng) {
- yyless(readsize);
- }
- } else {
- zendlval->value.str.val = (char *) estrndup(yytext, yyleng);
- zendlval->value.str.len = yyleng;
- }
- zendlval->type = IS_STRING;
- HANDLE_NEWLINES(yytext, yyleng);
- return T_INLINE_HTML;
-}
-yy5:
- YYDEBUG(5, *YYCURSOR);
- yyaccept = 0;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '>') {
- if (yych != '%') goto yy4;
- } else {
- if (yych <= '?') goto yy8;
- if (yych == 's') goto yy10;
- goto yy4;
- }
- YYDEBUG(6, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '=') goto yy12;
- YYDEBUG(7, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- if (CG(asp_tags)) {
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- BEGIN(ST_IN_SCRIPTING);
- return T_OPEN_TAG;
- } else {
- goto inline_char_handler;
- }
-}
-yy8:
- YYDEBUG(8, *YYCURSOR);
- yyaccept = 1;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '=') goto yy14;
- if (yych == 'p') goto yy16;
-yy9:
- YYDEBUG(9, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- if (CG(short_tags)) {
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- BEGIN(ST_IN_SCRIPTING);
- return T_OPEN_TAG;
- } else {
- goto inline_char_handler;
- }
-}
-yy10:
- YYDEBUG(10, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'c') goto yy17;
-yy11:
- YYDEBUG(11, *YYCURSOR);
- YYCURSOR = YYMARKER;
- if (yyaccept == 0) {
- goto yy4;
- } else {
- goto yy9;
- }
-yy12:
- YYDEBUG(12, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(13, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- if (CG(asp_tags)) {
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- BEGIN(ST_IN_SCRIPTING);
- return T_OPEN_TAG_WITH_ECHO;
- } else {
- goto inline_char_handler;
- }
-}
-yy14:
- YYDEBUG(14, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(15, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- BEGIN(ST_IN_SCRIPTING);
- return T_OPEN_TAG_WITH_ECHO;
-}
-yy16:
- YYDEBUG(16, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'h') goto yy18;
- goto yy11;
-yy17:
- YYDEBUG(17, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'r') goto yy19;
- goto yy11;
-yy18:
- YYDEBUG(18, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'p') goto yy20;
- goto yy11;
-yy19:
- YYDEBUG(19, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'i') goto yy21;
- goto yy11;
-yy20:
- YYDEBUG(20, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= '\f') {
- if (yych <= 0x08) goto yy11;
- if (yych <= '\n') goto yy22;
- goto yy11;
- } else {
- if (yych <= '\r') goto yy24;
- if (yych == ' ') goto yy22;
- goto yy11;
- }
-yy21:
- YYDEBUG(21, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'p') goto yy25;
- goto yy11;
-yy22:
- YYDEBUG(22, *YYCURSOR);
- ++YYCURSOR;
-yy23:
- YYDEBUG(23, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- HANDLE_NEWLINE(yytext[yyleng-1]);
- BEGIN(ST_IN_SCRIPTING);
- return T_OPEN_TAG;
-}
-yy24:
- YYDEBUG(24, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '\n') goto yy22;
- goto yy23;
-yy25:
- YYDEBUG(25, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych != 't') goto yy11;
- YYDEBUG(26, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'l') goto yy11;
- goto yy28;
-yy27:
- YYDEBUG(27, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(8);
- yych = *YYCURSOR;
-yy28:
- YYDEBUG(28, *YYCURSOR);
- if (yybm[0+yych] & 128) {
- goto yy27;
- }
- if (yych != 'l') goto yy11;
- YYDEBUG(29, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych != 'a') goto yy11;
- YYDEBUG(30, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych != 'n') goto yy11;
- YYDEBUG(31, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych != 'g') goto yy11;
- YYDEBUG(32, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych != 'u') goto yy11;
- YYDEBUG(33, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych != 'a') goto yy11;
- YYDEBUG(34, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych != 'g') goto yy11;
- YYDEBUG(35, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych != 'e') goto yy11;
-yy36:
- YYDEBUG(36, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(37, *YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy36, &&yy36, &&yy11, &&yy11, &&yy36, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy36, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy38, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11
- };
- goto *yytarget[yych];
- }
-yy38:
- YYDEBUG(38, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(5);
- yych = *YYCURSOR;
- YYDEBUG(39, *YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy38, &&yy38, &&yy11, &&yy11, &&yy38, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy38, &&yy11, &&yy40, &&yy11, &&yy11, &&yy11, &&yy11, &&yy41,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy42, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11
- };
- goto *yytarget[yych];
- }
-yy40:
- YYDEBUG(40, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'p') goto yy43;
- goto yy11;
-yy41:
- YYDEBUG(41, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'p') goto yy44;
- goto yy11;
-yy42:
- YYDEBUG(42, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'h') goto yy45;
- goto yy11;
-yy43:
- YYDEBUG(43, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'h') goto yy46;
- goto yy11;
-yy44:
- YYDEBUG(44, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'h') goto yy47;
- goto yy11;
-yy45:
- YYDEBUG(45, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'p') goto yy48;
- goto yy11;
-yy46:
- YYDEBUG(46, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'p') goto yy50;
- goto yy11;
-yy47:
- YYDEBUG(47, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'p') goto yy51;
- goto yy11;
-yy48:
- YYDEBUG(48, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(49, *YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy48, &&yy48, &&yy11, &&yy11, &&yy48, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy48, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy52, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11,
- &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11, &&yy11
- };
- goto *yytarget[yych];
- }
-yy50:
- YYDEBUG(50, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '"') goto yy48;
- goto yy11;
-yy51:
- YYDEBUG(51, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '\'') goto yy48;
- goto yy11;
-yy52:
- YYDEBUG(52, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(53, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- YYCTYPE *bracket = (YYCTYPE*)zend_memrchr(yytext, '<', yyleng - (sizeof("script language=php>") - 1));
-
- if (bracket != SCNG(yy_text)) {
- /* Handle previously scanned HTML, as possible <script> tags found are assumed to not be PHP's */
- YYCURSOR = bracket;
- goto inline_html;
- }
-
- HANDLE_NEWLINES(yytext, yyleng);
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- BEGIN(ST_IN_SCRIPTING);
- return T_OPEN_TAG;
-}
- }
-/* *********************************** */
-yyc_ST_BACKQUOTE:
- {
- static const unsigned char yybm[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 0, 0, 0, 0, 0, 0,
- 0, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 0, 0, 0, 0, 128,
- 0, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 0, 0, 0, 0, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- };
- YYDEBUG(54, *YYCURSOR);
- YYFILL(2);
- yych = *YYCURSOR;
- if (yych <= '_') {
- if (yych == '$') goto yy58;
- } else {
- if (yych <= '`') goto yy59;
- if (yych == '{') goto yy61;
- }
- YYDEBUG(56, *YYCURSOR);
- ++YYCURSOR;
-yy57:
- YYDEBUG(57, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- if (YYCURSOR > YYLIMIT) {
- return 0;
- }
- if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
- YYCURSOR++;
- }
-
- while (YYCURSOR < YYLIMIT) {
- switch (*YYCURSOR++) {
- case '`':
- break;
- case '$':
- if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
- break;
- }
- continue;
- case '{':
- if (*YYCURSOR == '$') {
- break;
- }
- continue;
- case '\\':
- if (YYCURSOR < YYLIMIT) {
- YYCURSOR++;
- }
- /* fall through */
- default:
- continue;
- }
-
- YYCURSOR--;
- break;
- }
-
- yyleng = YYCURSOR - SCNG(yy_text);
-
- zend_scan_escape_string(zendlval, yytext, yyleng, '`' TSRMLS_CC);
- return T_ENCAPSED_AND_WHITESPACE;
-}
-yy58:
- YYDEBUG(58, *YYCURSOR);
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57,
- &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57,
- &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57,
- &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57,
- &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57,
- &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57,
- &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57,
- &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57,
- &&yy57, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy57, &&yy57, &&yy57, &&yy57, &&yy62,
- &&yy57, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy65, &&yy57, &&yy57, &&yy57, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
- &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62
- };
- goto *yytarget[yych];
- }
-yy59:
- YYDEBUG(59, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(60, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- BEGIN(ST_IN_SCRIPTING);
- return '`';
-}
-yy61:
- YYDEBUG(61, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '$') goto yy67;
- goto yy57;
-yy62:
- YYDEBUG(62, *YYCURSOR);
- YYMARKER = ++YYCURSOR;
- YYFILL(3);
- yych = *YYCURSOR;
- YYDEBUG(63, *YYCURSOR);
- if (yybm[0+yych] & 128) {
- goto yy62;
- }
- if (yych == '-') goto yy69;
- if (yych <= '@') goto yy64;
- if (yych <= '[') goto yy71;
-yy64:
- YYDEBUG(64, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- zendlval->type = IS_STRING;
- return T_VARIABLE;
-}
-yy65:
- YYDEBUG(65, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(66, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
- return T_DOLLAR_OPEN_CURLY_BRACES;
-}
-yy67:
- YYDEBUG(67, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(68, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- zendlval->value.lval = (long) '{';
- yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
- yyless(1);
- return T_CURLY_OPEN;
-}
-yy69:
- YYDEBUG(69, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '>') goto yy73;
-yy70:
- YYDEBUG(70, *YYCURSOR);
- YYCURSOR = YYMARKER;
- goto yy64;
-yy71:
- YYDEBUG(71, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(72, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- yyless(yyleng - 1);
- yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- zendlval->type = IS_STRING;
- return T_VARIABLE;
-}
-yy73:
- YYDEBUG(73, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= '_') {
- if (yych <= '@') goto yy70;
- if (yych <= 'Z') goto yy74;
- if (yych <= '^') goto yy70;
- } else {
- if (yych <= '`') goto yy70;
- if (yych <= 'z') goto yy74;
- if (yych <= '~') goto yy70;
- }
-yy74:
- YYDEBUG(74, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(75, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- yyless(yyleng - 3);
- yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- zendlval->type = IS_STRING;
- return T_VARIABLE;
-}
- }
-/* *********************************** */
-yyc_ST_DOUBLE_QUOTES:
- {
- static const unsigned char yybm[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 0, 0, 0, 0, 0, 0,
- 0, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 0, 0, 0, 0, 128,
- 0, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 0, 0, 0, 0, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- };
- YYDEBUG(76, *YYCURSOR);
- YYFILL(2);
- yych = *YYCURSOR;
- if (yych <= '#') {
- if (yych == '"') goto yy80;
- } else {
- if (yych <= '$') goto yy82;
- if (yych == '{') goto yy83;
- }
- YYDEBUG(78, *YYCURSOR);
- ++YYCURSOR;
-yy79:
- YYDEBUG(79, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {
- YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;
- SET_DOUBLE_QUOTES_SCANNED_LENGTH(0);
-
- goto double_quotes_scan_done;
- }
-
- if (YYCURSOR > YYLIMIT) {
- return 0;
- }
- if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
- YYCURSOR++;
- }
-
- while (YYCURSOR < YYLIMIT) {
- switch (*YYCURSOR++) {
- case '"':
- break;
- case '$':
- if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
- break;
- }
- continue;
- case '{':
- if (*YYCURSOR == '$') {
- break;
- }
- continue;
- case '\\':
- if (YYCURSOR < YYLIMIT) {
- YYCURSOR++;
- }
- /* fall through */
- default:
- continue;
- }
-
- YYCURSOR--;
- break;
- }
-
-double_quotes_scan_done:
- yyleng = YYCURSOR - SCNG(yy_text);
-
- zend_scan_escape_string(zendlval, yytext, yyleng, '"' TSRMLS_CC);
- return T_ENCAPSED_AND_WHITESPACE;
-}
-yy80:
- YYDEBUG(80, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(81, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- BEGIN(ST_IN_SCRIPTING);
- return '"';
-}
-yy82:
- YYDEBUG(82, *YYCURSOR);
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79,
- &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79,
- &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79,
- &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79,
- &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79,
- &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79,
- &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79,
- &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79, &&yy79,
- &&yy79, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy79, &&yy79, &&yy79, &&yy79, &&yy84,
- &&yy79, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy87, &&yy79, &&yy79, &&yy79, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84,
- &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84, &&yy84
- };
- goto *yytarget[yych];
- }
-yy83:
- YYDEBUG(83, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '$') goto yy89;
- goto yy79;
-yy84:
- YYDEBUG(84, *YYCURSOR);
- YYMARKER = ++YYCURSOR;
- YYFILL(3);
- yych = *YYCURSOR;
- YYDEBUG(85, *YYCURSOR);
- if (yybm[0+yych] & 128) {
- goto yy84;
- }
- if (yych == '-') goto yy91;
- if (yych <= '@') goto yy86;
- if (yych <= '[') goto yy93;
-yy86:
- YYDEBUG(86, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- zendlval->type = IS_STRING;
- return T_VARIABLE;
-}
-yy87:
- YYDEBUG(87, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(88, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
- return T_DOLLAR_OPEN_CURLY_BRACES;
-}
-yy89:
- YYDEBUG(89, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(90, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- zendlval->value.lval = (long) '{';
- yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
- yyless(1);
- return T_CURLY_OPEN;
-}
-yy91:
- YYDEBUG(91, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '>') goto yy95;
-yy92:
- YYDEBUG(92, *YYCURSOR);
- YYCURSOR = YYMARKER;
- goto yy86;
-yy93:
- YYDEBUG(93, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(94, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- yyless(yyleng - 1);
- yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- zendlval->type = IS_STRING;
- return T_VARIABLE;
-}
-yy95:
- YYDEBUG(95, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= '_') {
- if (yych <= '@') goto yy92;
- if (yych <= 'Z') goto yy96;
- if (yych <= '^') goto yy92;
- } else {
- if (yych <= '`') goto yy92;
- if (yych <= 'z') goto yy96;
- if (yych <= '~') goto yy92;
- }
-yy96:
- YYDEBUG(96, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(97, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- yyless(yyleng - 3);
- yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- zendlval->type = IS_STRING;
- return T_VARIABLE;
-}
- }
-/* *********************************** */
-yyc_ST_END_HEREDOC:
- YYDEBUG(98, *YYCURSOR);
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(100, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(101, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack));
-
- YYCURSOR += heredoc_label->length - 1;
- yyleng = heredoc_label->length;
-
- heredoc_label_dtor(heredoc_label);
- efree(heredoc_label);
-
- BEGIN(ST_IN_SCRIPTING);
- return T_END_HEREDOC;
-}
-/* *********************************** */
-yyc_ST_HEREDOC:
- {
- static const unsigned char yybm[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 0, 0, 0, 0, 0, 0,
- 0, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 0, 0, 0, 0, 128,
- 0, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 0, 0, 0, 0, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- };
- YYDEBUG(102, *YYCURSOR);
- YYFILL(2);
- yych = *YYCURSOR;
- if (yych == '$') goto yy106;
- if (yych == '{') goto yy107;
- YYDEBUG(104, *YYCURSOR);
- ++YYCURSOR;
-yy105:
- YYDEBUG(105, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- int newline = 0;
-
- zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
-
- if (YYCURSOR > YYLIMIT) {
- return 0;
- }
-
- YYCURSOR--;
-
- while (YYCURSOR < YYLIMIT) {
- switch (*YYCURSOR++) {
- case '\r':
- if (*YYCURSOR == '\n') {
- YYCURSOR++;
- }
- /* fall through */
- case '\n':
- /* Check for ending label on the next line */
- if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
- YYCTYPE *end = YYCURSOR + heredoc_label->length;
-
- if (*end == ';') {
- end++;
- }
-
- if (*end == '\n' || *end == '\r') {
- /* newline before label will be subtracted from returned text, but
- * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
- if (YYCURSOR[-2] == '\r' && YYCURSOR[-1] == '\n') {
- newline = 2; /* Windows newline */
- } else {
- newline = 1;
- }
-
- CG(increment_lineno) = 1; /* For newline before label */
- BEGIN(ST_END_HEREDOC);
-
- goto heredoc_scan_done;
- }
- }
- continue;
- case '$':
- if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
- break;
- }
- continue;
- case '{':
- if (*YYCURSOR == '$') {
- break;
- }
- continue;
- case '\\':
- if (YYCURSOR < YYLIMIT && *YYCURSOR != '\n' && *YYCURSOR != '\r') {
- YYCURSOR++;
- }
- /* fall through */
- default:
- continue;
- }
-
- YYCURSOR--;
- break;
- }
-
-heredoc_scan_done:
- yyleng = YYCURSOR - SCNG(yy_text);
-
- zend_scan_escape_string(zendlval, yytext, yyleng - newline, 0 TSRMLS_CC);
- return T_ENCAPSED_AND_WHITESPACE;
-}
-yy106:
- YYDEBUG(106, *YYCURSOR);
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105,
- &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105,
- &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105,
- &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105,
- &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105,
- &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105,
- &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105,
- &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105,
- &&yy105, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy105, &&yy105, &&yy105, &&yy105, &&yy108,
- &&yy105, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy111, &&yy105, &&yy105, &&yy105, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108
- };
- goto *yytarget[yych];
- }
-yy107:
- YYDEBUG(107, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '$') goto yy113;
- goto yy105;
-yy108:
- YYDEBUG(108, *YYCURSOR);
- YYMARKER = ++YYCURSOR;
- YYFILL(3);
- yych = *YYCURSOR;
- YYDEBUG(109, *YYCURSOR);
- if (yybm[0+yych] & 128) {
- goto yy108;
- }
- if (yych == '-') goto yy115;
- if (yych <= '@') goto yy110;
- if (yych <= '[') goto yy117;
-yy110:
- YYDEBUG(110, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- zendlval->type = IS_STRING;
- return T_VARIABLE;
-}
-yy111:
- YYDEBUG(111, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(112, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
- return T_DOLLAR_OPEN_CURLY_BRACES;
-}
-yy113:
- YYDEBUG(113, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(114, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- zendlval->value.lval = (long) '{';
- yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
- yyless(1);
- return T_CURLY_OPEN;
-}
-yy115:
- YYDEBUG(115, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '>') goto yy119;
-yy116:
- YYDEBUG(116, *YYCURSOR);
- YYCURSOR = YYMARKER;
- goto yy110;
-yy117:
- YYDEBUG(117, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(118, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- yyless(yyleng - 1);
- yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- zendlval->type = IS_STRING;
- return T_VARIABLE;
-}
-yy119:
- YYDEBUG(119, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= '_') {
- if (yych <= '@') goto yy116;
- if (yych <= 'Z') goto yy120;
- if (yych <= '^') goto yy116;
- } else {
- if (yych <= '`') goto yy116;
- if (yych <= 'z') goto yy120;
- if (yych <= '~') goto yy116;
- }
-yy120:
- YYDEBUG(120, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(121, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- yyless(yyleng - 3);
- yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- zendlval->type = IS_STRING;
- return T_VARIABLE;
-}
- }
-/* *********************************** */
-yyc_ST_IN_SCRIPTING:
- {
- static const unsigned char yybm[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 36, 4, 0, 0, 4, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 36, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 216, 216, 152, 152, 152, 152, 152, 152,
- 152, 152, 0, 0, 0, 0, 0, 0,
- 0, 144, 144, 144, 144, 144, 144, 16,
- 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 0, 0, 0, 0, 16,
- 0, 144, 144, 144, 144, 144, 144, 16,
- 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 0, 0, 0, 0, 16,
- 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16,
- 16, 16, 16, 16, 16, 16, 16, 16,
- };
- YYDEBUG(122, *YYCURSOR);
- YYFILL(16);
- yych = *YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124,
- &&yy124, &&yy126, &&yy126, &&yy124, &&yy124, &&yy126, &&yy124, &&yy124,
- &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124,
- &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124,
- &&yy126, &&yy129, &&yy131, &&yy133, &&yy135, &&yy136, &&yy137, &&yy138,
- &&yy140, &&yy141, &&yy142, &&yy143, &&yy141, &&yy144, &&yy145, &&yy146,
- &&yy147, &&yy149, &&yy149, &&yy149, &&yy149, &&yy149, &&yy149, &&yy149,
- &&yy149, &&yy149, &&yy151, &&yy141, &&yy152, &&yy153, &&yy154, &&yy155,
- &&yy141, &&yy156, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy160,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy161, &&yy158, &&yy158, &&yy141, &&yy162, &&yy141, &&yy164, &&yy165,
- &&yy166, &&yy168, &&yy169, &&yy170, &&yy171, &&yy172, &&yy173, &&yy174,
- &&yy158, &&yy175, &&yy158, &&yy158, &&yy176, &&yy158, &&yy177, &&yy158,
- &&yy178, &&yy158, &&yy179, &&yy180, &&yy181, &&yy182, &&yy183, &&yy184,
- &&yy158, &&yy185, &&yy158, &&yy186, &&yy188, &&yy189, &&yy141, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158
- };
- goto *yytarget[yych];
- }
-yy124:
- YYDEBUG(124, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(125, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- if (YYCURSOR > YYLIMIT) {
- return 0;
- }
-
- zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
- goto restart;
-}
-yy126:
- YYDEBUG(126, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(127, *YYCURSOR);
- if (yybm[0+yych] & 4) {
- goto yy126;
- }
- YYDEBUG(128, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- HANDLE_NEWLINES(yytext, yyleng);
- return T_WHITESPACE;
-}
-yy129:
- YYDEBUG(129, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '=') goto yy191;
-yy130:
- YYDEBUG(130, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return yytext[0];
-}
-yy131:
- YYDEBUG(131, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(132, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- int bprefix = (yytext[0] != '"') ? 1 : 0;
-
- while (YYCURSOR < YYLIMIT) {
- switch (*YYCURSOR++) {
- case '"':
- yyleng = YYCURSOR - SCNG(yy_text);
- zend_scan_escape_string(zendlval, yytext+bprefix+1, yyleng-bprefix-2, '"' TSRMLS_CC);
- return T_CONSTANT_ENCAPSED_STRING;
- case '$':
- if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
- break;
- }
- continue;
- case '{':
- if (*YYCURSOR == '$') {
- break;
- }
- continue;
- case '\\':
- if (YYCURSOR < YYLIMIT) {
- YYCURSOR++;
- }
- /* fall through */
- default:
- continue;
- }
-
- YYCURSOR--;
- break;
- }
-
- /* Remember how much was scanned to save rescanning */
- SET_DOUBLE_QUOTES_SCANNED_LENGTH(YYCURSOR - SCNG(yy_text) - yyleng);
-
- YYCURSOR = SCNG(yy_text) + yyleng;
-
- BEGIN(ST_DOUBLE_QUOTES);
- return '"';
-}
-yy133:
- YYDEBUG(133, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(134, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- while (YYCURSOR < YYLIMIT) {
- switch (*YYCURSOR++) {
- case '\r':
- if (*YYCURSOR == '\n') {
- YYCURSOR++;
- }
- /* fall through */
- case '\n':
- CG(zend_lineno)++;
- break;
- case '%':
- if (!CG(asp_tags)) {
- continue;
- }
- /* fall through */
- case '?':
- if (*YYCURSOR == '>') {
- YYCURSOR--;
- break;
- }
- /* fall through */
- default:
- continue;
- }
-
- break;
- }
-
- yyleng = YYCURSOR - SCNG(yy_text);
-
- return T_COMMENT;
-}
-yy135:
- YYDEBUG(135, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= '_') {
- if (yych <= '@') goto yy130;
- if (yych <= 'Z') goto yy193;
- if (yych <= '^') goto yy130;
- goto yy193;
- } else {
- if (yych <= '`') goto yy130;
- if (yych <= 'z') goto yy193;
- if (yych <= '~') goto yy130;
- goto yy193;
- }
-yy136:
- YYDEBUG(136, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= '<') goto yy130;
- if (yych <= '=') goto yy196;
- if (yych <= '>') goto yy198;
- goto yy130;
-yy137:
- YYDEBUG(137, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '&') goto yy200;
- if (yych == '=') goto yy202;
- goto yy130;
-yy138:
- YYDEBUG(138, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(139, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- register char *s, *t;
- char *end;
- int bprefix = (yytext[0] != '\'') ? 1 : 0;
-
- while (1) {
- if (YYCURSOR < YYLIMIT) {
- if (*YYCURSOR == '\'') {
- YYCURSOR++;
- yyleng = YYCURSOR - SCNG(yy_text);
-
- break;
- } else if (*YYCURSOR++ == '\\' && YYCURSOR < YYLIMIT) {
- YYCURSOR++;
- }
- } else {
- yyleng = YYLIMIT - SCNG(yy_text);
-
- /* Unclosed single quotes; treat similar to double quotes, but without a separate token
- * for ' (unrecognized by parser), instead of old flex fallback to "Unexpected character..."
- * rule, which continued in ST_IN_SCRIPTING state after the quote */
- return T_ENCAPSED_AND_WHITESPACE;
- }
- }
-
- zendlval->value.str.val = estrndup(yytext+bprefix+1, yyleng-bprefix-2);
- zendlval->value.str.len = yyleng-bprefix-2;
- zendlval->type = IS_STRING;
-
- /* convert escape sequences */
- s = t = zendlval->value.str.val;
- end = s+zendlval->value.str.len;
- while (s<end) {
- if (*s=='\\') {
- s++;
-
- switch(*s) {
- case '\\':
- case '\'':
- *t++ = *s;
- zendlval->value.str.len--;
- break;
- default:
- *t++ = '\\';
- *t++ = *s;
- break;
- }
- } else {
- *t++ = *s;
- }
-
- if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
- CG(zend_lineno)++;
- }
- s++;
- }
- *t = 0;
-
- if (SCNG(output_filter)) {
- size_t sz = 0;
- s = zendlval->value.str.val;
- SCNG(output_filter)((unsigned char **)&(zendlval->value.str.val), &sz, (unsigned char *)s, (size_t)zendlval->value.str.len TSRMLS_CC);
- zendlval->value.str.len = sz;
- efree(s);
- }
- return T_CONSTANT_ENCAPSED_STRING;
-}
-yy140:
- YYDEBUG(140, *YYCURSOR);
- yyaccept = 0;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy205, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy205, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy205, &&yy205, &&yy130, &&yy205, &&yy130, &&yy205, &&yy130,
- &&yy130, &&yy205, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy205,
- &&yy130, &&yy130, &&yy205, &&yy205, &&yy130, &&yy205, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130,
- &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130, &&yy130
- };
- goto *yytarget[yych];
- }
-yy141:
- YYDEBUG(141, *YYCURSOR);
- yych = *++YYCURSOR;
- goto yy130;
-yy142:
- YYDEBUG(142, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '=') goto yy216;
- goto yy130;
-yy143:
- YYDEBUG(143, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '+') goto yy218;
- if (yych == '=') goto yy220;
- goto yy130;
-yy144:
- YYDEBUG(144, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= '<') {
- if (yych == '-') goto yy222;
- goto yy130;
- } else {
- if (yych <= '=') goto yy224;
- if (yych <= '>') goto yy226;
- goto yy130;
- }
-yy145:
- YYDEBUG(145, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy130;
- if (yych <= '9') goto yy228;
- if (yych == '=') goto yy231;
- goto yy130;
-yy146:
- YYDEBUG(146, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= '.') {
- if (yych == '*') goto yy233;
- goto yy130;
- } else {
- if (yych <= '/') goto yy133;
- if (yych == '=') goto yy235;
- goto yy130;
- }
-yy147:
- YYDEBUG(147, *YYCURSOR);
- yyaccept = 1;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy228, &&yy148,
- &&yy149, &&yy149, &&yy149, &&yy149, &&yy149, &&yy149, &&yy149, &&yy149,
- &&yy149, &&yy149, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy237, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy238, &&yy148, &&yy148, &&yy237, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy239, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148,
- &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148, &&yy148
- };
- goto *yytarget[yych];
- }
-yy148:
- YYDEBUG(148, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
- zendlval->value.lval = strtol(yytext, NULL, 0);
- } else {
- errno = 0;
- zendlval->value.lval = strtol(yytext, NULL, 0);
- if (errno == ERANGE) { /* Overflow */
- if (yytext[0] == '0') { /* octal overflow */
- zendlval->value.dval = zend_oct_strtod(yytext, NULL);
- } else {
- zendlval->value.dval = zend_strtod(yytext, NULL);
- }
- zendlval->type = IS_DOUBLE;
- return T_DNUMBER;
- }
- }
-
- zendlval->type = IS_LONG;
- return T_LNUMBER;
-}
-yy149:
- YYDEBUG(149, *YYCURSOR);
- yyaccept = 1;
- YYMARKER = ++YYCURSOR;
- YYFILL(3);
- yych = *YYCURSOR;
- YYDEBUG(150, *YYCURSOR);
- if (yybm[0+yych] & 8) {
- goto yy149;
- }
- if (yych <= 'D') {
- if (yych == '.') goto yy228;
- goto yy148;
- } else {
- if (yych <= 'E') goto yy237;
- if (yych == 'e') goto yy237;
- goto yy148;
- }
-yy151:
- YYDEBUG(151, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == ':') goto yy240;
- goto yy130;
-yy152:
- YYDEBUG(152, *YYCURSOR);
- yyaccept = 0;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= ';') {
- if (yych == '/') goto yy242;
- goto yy130;
- } else {
- if (yych <= '<') goto yy243;
- if (yych <= '=') goto yy245;
- if (yych <= '>') goto yy247;
- goto yy130;
- }
-yy153:
- YYDEBUG(153, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= '<') goto yy130;
- if (yych <= '=') goto yy248;
- if (yych <= '>') goto yy250;
- goto yy130;
-yy154:
- YYDEBUG(154, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= '<') goto yy130;
- if (yych <= '=') goto yy252;
- if (yych <= '>') goto yy254;
- goto yy130;
-yy155:
- YYDEBUG(155, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '>') goto yy256;
- goto yy130;
-yy156:
- YYDEBUG(156, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == 'N') goto yy258;
- goto yy159;
-yy157:
- YYDEBUG(157, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- zend_copy_value(zendlval, yytext, yyleng);
- zendlval->type = IS_STRING;
- return T_STRING;
-}
-yy158:
- YYDEBUG(158, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
-yy159:
- YYDEBUG(159, *YYCURSOR);
- if (yybm[0+yych] & 16) {
- goto yy158;
- }
- goto yy157;
-yy160:
- YYDEBUG(160, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy259;
- goto yy159;
-yy161:
- YYDEBUG(161, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy261;
- goto yy159;
-yy162:
- YYDEBUG(162, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(163, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_NS_SEPARATOR;
-}
-yy164:
- YYDEBUG(164, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '=') goto yy262;
- goto yy130;
-yy165:
- YYDEBUG(165, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '_') goto yy264;
- goto yy159;
-yy166:
- YYDEBUG(166, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(167, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- BEGIN(ST_BACKQUOTE);
- return '`';
-}
-yy168:
- YYDEBUG(168, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= 'q') {
- if (yych == 'b') goto yy265;
- goto yy159;
- } else {
- if (yych <= 'r') goto yy266;
- if (yych <= 's') goto yy267;
- goto yy159;
- }
-yy169:
- YYDEBUG(169, *YYCURSOR);
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy131, &&yy159, &&yy159, &&yy159, &&yy159, &&yy138,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy269, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy270, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159
- };
- goto *yytarget[yych];
- }
-yy170:
- YYDEBUG(170, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= 'k') {
- if (yych == 'a') goto yy271;
- goto yy159;
- } else {
- if (yych <= 'l') goto yy272;
- if (yych == 'o') goto yy273;
- goto yy159;
- }
-yy171:
- YYDEBUG(171, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= 'h') {
- if (yych == 'e') goto yy274;
- goto yy159;
- } else {
- if (yych <= 'i') goto yy275;
- if (yych == 'o') goto yy276;
- goto yy159;
- }
-yy172:
- YYDEBUG(172, *YYCURSOR);
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy278, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy279, &&yy280, &&yy281, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy282, &&yy159,
- &&yy283, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159
- };
- goto *yytarget[yych];
- }
-yy173:
- YYDEBUG(173, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= 'n') {
- if (yych == 'i') goto yy284;
- goto yy159;
- } else {
- if (yych <= 'o') goto yy285;
- if (yych == 'u') goto yy286;
- goto yy159;
- }
-yy174:
- YYDEBUG(174, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'l') goto yy287;
- if (yych == 'o') goto yy288;
- goto yy159;
-yy175:
- YYDEBUG(175, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= 'm') {
- if (yych == 'f') goto yy289;
- if (yych <= 'l') goto yy159;
- goto yy291;
- } else {
- if (yych <= 'n') goto yy292;
- if (yych == 's') goto yy293;
- goto yy159;
- }
-yy176:
- YYDEBUG(176, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'i') goto yy294;
- goto yy159;
-yy177:
- YYDEBUG(177, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'a') goto yy295;
- if (yych == 'e') goto yy296;
- goto yy159;
-yy178:
- YYDEBUG(178, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'r') goto yy297;
- if (yych == 'u') goto yy298;
- goto yy159;
-yy179:
- YYDEBUG(179, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'e') goto yy299;
- goto yy159;
-yy180:
- YYDEBUG(180, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 't') goto yy300;
- if (yych == 'w') goto yy301;
- goto yy159;
-yy181:
- YYDEBUG(181, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'h') goto yy302;
- if (yych == 'r') goto yy303;
- goto yy159;
-yy182:
- YYDEBUG(182, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'n') goto yy304;
- if (yych == 's') goto yy305;
- goto yy159;
-yy183:
- YYDEBUG(183, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'a') goto yy306;
- goto yy159;
-yy184:
- YYDEBUG(184, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'h') goto yy307;
- goto yy159;
-yy185:
- YYDEBUG(185, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'i') goto yy308;
- goto yy159;
-yy186:
- YYDEBUG(186, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(187, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
- return '{';
-}
-yy188:
- YYDEBUG(188, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '=') goto yy309;
- if (yych == '|') goto yy311;
- goto yy130;
-yy189:
- YYDEBUG(189, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(190, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- RESET_DOC_COMMENT();
- if (!zend_stack_is_empty(&SCNG(state_stack))) {
- yy_pop_state(TSRMLS_C);
- }
- return '}';
-}
-yy191:
- YYDEBUG(191, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '=') goto yy313;
-yy192:
- YYDEBUG(192, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_IS_NOT_EQUAL;
-}
-yy193:
- YYDEBUG(193, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(194, *YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy195, &&yy195, &&yy195, &&yy195, &&yy195, &&yy195, &&yy195, &&yy195,
- &&yy195, &&yy195, &&yy195, &&yy195, &&yy195, &&yy195, &&yy195, &&yy195,
- &&yy195, &&yy195, &&yy195, &&yy195, &&yy195, &&yy195, &&yy195, &&yy195,
- &&yy195, &&yy195, &&yy195, &&yy195, &&yy195, &&yy195, &&yy195, &&yy195,
- &&yy195, &&yy195, &&yy195, &&yy195, &&yy195, &&yy195, &&yy195, &&yy195,
- &&yy195, &&yy195, &&yy195, &&yy195, &&yy195, &&yy195, &&yy195, &&yy195,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy195, &&yy195, &&yy195, &&yy195, &&yy195, &&yy195,
- &&yy195, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy195, &&yy195, &&yy195, &&yy195, &&yy193,
- &&yy195, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy195, &&yy195, &&yy195, &&yy195, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193
- };
- goto *yytarget[yych];
- }
-yy195:
- YYDEBUG(195, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- zendlval->type = IS_STRING;
- return T_VARIABLE;
-}
-yy196:
- YYDEBUG(196, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(197, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_MOD_EQUAL;
-}
-yy198:
- YYDEBUG(198, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '\n') goto yy315;
- if (yych == '\r') goto yy316;
-yy199:
- YYDEBUG(199, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- if (CG(asp_tags)) {
- BEGIN(INITIAL);
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- zendlval->value.str.val = yytext; /* no copying - intentional */
- return T_CLOSE_TAG; /* implicit ';' at php-end tag */
- } else {
- yyless(1);
- return yytext[0];
- }
-}
-yy200:
- YYDEBUG(200, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(201, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_BOOLEAN_AND;
-}
-yy202:
- YYDEBUG(202, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(203, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_AND_EQUAL;
-}
-yy204:
- YYDEBUG(204, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(7);
- yych = *YYCURSOR;
-yy205:
- YYDEBUG(205, *YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy204, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy204, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy207, &&yy208, &&yy206, &&yy209, &&yy206, &&yy210, &&yy206,
- &&yy206, &&yy211, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy212,
- &&yy206, &&yy206, &&yy213, &&yy214, &&yy206, &&yy215, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206
- };
- goto *yytarget[yych];
- }
-yy206:
- YYDEBUG(206, *YYCURSOR);
- YYCURSOR = YYMARKER;
- if (yyaccept <= 2) {
- if (yyaccept <= 1) {
- if (yyaccept == 0) {
- goto yy130;
- } else {
- goto yy148;
- }
- } else {
- goto yy157;
- }
- } else {
- if (yyaccept <= 4) {
- if (yyaccept == 3) {
- goto yy230;
- } else {
- goto yy234;
- }
- } else {
- goto yy244;
- }
- }
-yy207:
- YYDEBUG(207, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'r') goto yy317;
- goto yy206;
-yy208:
- YYDEBUG(208, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'i') goto yy318;
- if (yych == 'o') goto yy319;
- goto yy206;
-yy209:
- YYDEBUG(209, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'o') goto yy320;
- goto yy206;
-yy210:
- YYDEBUG(210, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'l') goto yy321;
- goto yy206;
-yy211:
- YYDEBUG(211, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'n') goto yy322;
- goto yy206;
-yy212:
- YYDEBUG(212, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'b') goto yy323;
- goto yy206;
-yy213:
- YYDEBUG(213, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'e') goto yy324;
- goto yy206;
-yy214:
- YYDEBUG(214, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 't') goto yy325;
- goto yy206;
-yy215:
- YYDEBUG(215, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'n') goto yy326;
- goto yy206;
-yy216:
- YYDEBUG(216, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(217, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_MUL_EQUAL;
-}
-yy218:
- YYDEBUG(218, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(219, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_INC;
-}
-yy220:
- YYDEBUG(220, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(221, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_PLUS_EQUAL;
-}
-yy222:
- YYDEBUG(222, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(223, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_DEC;
-}
-yy224:
- YYDEBUG(224, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(225, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_MINUS_EQUAL;
-}
-yy226:
- YYDEBUG(226, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(227, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
- return T_OBJECT_OPERATOR;
-}
-yy228:
- YYDEBUG(228, *YYCURSOR);
- yyaccept = 3;
- YYMARKER = ++YYCURSOR;
- YYFILL(3);
- yych = *YYCURSOR;
- YYDEBUG(229, *YYCURSOR);
- if (yych <= 'D') {
- if (yych <= '/') goto yy230;
- if (yych <= '9') goto yy228;
- } else {
- if (yych <= 'E') goto yy237;
- if (yych == 'e') goto yy237;
- }
-yy230:
- YYDEBUG(230, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- zendlval->value.dval = zend_strtod(yytext, NULL);
- zendlval->type = IS_DOUBLE;
- return T_DNUMBER;
-}
-yy231:
- YYDEBUG(231, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(232, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_CONCAT_EQUAL;
-}
-yy233:
- YYDEBUG(233, *YYCURSOR);
- yyaccept = 4;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '*') goto yy327;
-yy234:
- YYDEBUG(234, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- int doc_com;
-
- if (yyleng > 2) {
- doc_com = 1;
- RESET_DOC_COMMENT();
- } else {
- doc_com = 0;
- }
-
- while (YYCURSOR < YYLIMIT) {
- if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
- break;
- }
- }
-
- if (YYCURSOR < YYLIMIT) {
- YYCURSOR++;
- } else {
- zend_error(E_COMPILE_WARNING, "Unterminated comment starting line %d", CG(zend_lineno));
- }
-
- yyleng = YYCURSOR - SCNG(yy_text);
- HANDLE_NEWLINES(yytext, yyleng);
-
- if (doc_com) {
- CG(doc_comment) = estrndup(yytext, yyleng);
- CG(doc_comment_len) = yyleng;
- return T_DOC_COMMENT;
- }
-
- return T_COMMENT;
-}
-yy235:
- YYDEBUG(235, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(236, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_DIV_EQUAL;
-}
-yy237:
- YYDEBUG(237, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= ',') {
- if (yych == '+') goto yy328;
- goto yy206;
- } else {
- if (yych <= '-') goto yy328;
- if (yych <= '/') goto yy206;
- if (yych <= '9') goto yy329;
- goto yy206;
- }
-yy238:
- YYDEBUG(238, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yybm[0+yych] & 64) {
- goto yy331;
- }
- goto yy206;
-yy239:
- YYDEBUG(239, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yybm[0+yych] & 128) {
- goto yy334;
- }
- goto yy206;
-yy240:
- YYDEBUG(240, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(241, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_PAAMAYIM_NEKUDOTAYIM;
-}
-yy242:
- YYDEBUG(242, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 's') goto yy337;
- goto yy206;
-yy243:
- YYDEBUG(243, *YYCURSOR);
- yyaccept = 5;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= ';') goto yy244;
- if (yych <= '<') goto yy338;
- if (yych <= '=') goto yy340;
-yy244:
- YYDEBUG(244, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_SL;
-}
-yy245:
- YYDEBUG(245, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(246, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_IS_SMALLER_OR_EQUAL;
-}
-yy247:
- YYDEBUG(247, *YYCURSOR);
- yych = *++YYCURSOR;
- goto yy192;
-yy248:
- YYDEBUG(248, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '=') goto yy342;
- YYDEBUG(249, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_IS_EQUAL;
-}
-yy250:
- YYDEBUG(250, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(251, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_DOUBLE_ARROW;
-}
-yy252:
- YYDEBUG(252, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(253, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_IS_GREATER_OR_EQUAL;
-}
-yy254:
- YYDEBUG(254, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '=') goto yy344;
- YYDEBUG(255, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_SR;
-}
-yy256:
- YYDEBUG(256, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '\n') goto yy346;
- if (yych == '\r') goto yy347;
-yy257:
- YYDEBUG(257, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- BEGIN(INITIAL);
- return T_CLOSE_TAG; /* implicit ';' at php-end tag */
-}
-yy258:
- YYDEBUG(258, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'D') goto yy348;
- goto yy159;
-yy259:
- YYDEBUG(259, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(260, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_LOGICAL_OR;
-}
-yy261:
- YYDEBUG(261, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy350;
- goto yy159;
-yy262:
- YYDEBUG(262, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(263, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_XOR_EQUAL;
-}
-yy264:
- YYDEBUG(264, *YYCURSOR);
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy352, &&yy353, &&yy159, &&yy354, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy355, &&yy356, &&yy357, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy358, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy359, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159
- };
- goto *yytarget[yych];
- }
-yy265:
- YYDEBUG(265, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 's') goto yy360;
- goto yy159;
-yy266:
- YYDEBUG(266, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'r') goto yy361;
- goto yy159;
-yy267:
- YYDEBUG(267, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(268, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_AS;
-}
-yy269:
- YYDEBUG(269, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '<') goto yy362;
- goto yy206;
-yy270:
- YYDEBUG(270, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'e') goto yy363;
- goto yy159;
-yy271:
- YYDEBUG(271, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= 'r') {
- if (yych == 'l') goto yy364;
- goto yy159;
- } else {
- if (yych <= 's') goto yy365;
- if (yych <= 't') goto yy366;
- goto yy159;
- }
-yy272:
- YYDEBUG(272, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'a') goto yy367;
- if (yych == 'o') goto yy368;
- goto yy159;
-yy273:
- YYDEBUG(273, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'n') goto yy369;
- goto yy159;
-yy274:
- YYDEBUG(274, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'c') goto yy370;
- if (yych == 'f') goto yy371;
- goto yy159;
-yy275:
- YYDEBUG(275, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'e') goto yy372;
- goto yy159;
-yy276:
- YYDEBUG(276, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(277, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_DO;
-}
-yy278:
- YYDEBUG(278, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'h') goto yy374;
- goto yy159;
-yy279:
- YYDEBUG(279, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 's') goto yy375;
- goto yy159;
-yy280:
- YYDEBUG(280, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'p') goto yy376;
- goto yy159;
-yy281:
- YYDEBUG(281, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'd') goto yy377;
- goto yy159;
-yy282:
- YYDEBUG(282, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'a') goto yy378;
- goto yy159;
-yy283:
- YYDEBUG(283, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'i') goto yy379;
- if (yych == 't') goto yy380;
- goto yy159;
-yy284:
- YYDEBUG(284, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'n') goto yy381;
- goto yy159;
-yy285:
- YYDEBUG(285, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'r') goto yy382;
- goto yy159;
-yy286:
- YYDEBUG(286, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'n') goto yy384;
- goto yy159;
-yy287:
- YYDEBUG(287, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'o') goto yy385;
- goto yy159;
-yy288:
- YYDEBUG(288, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 't') goto yy386;
- goto yy159;
-yy289:
- YYDEBUG(289, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(290, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_IF;
-}
-yy291:
- YYDEBUG(291, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'p') goto yy387;
- goto yy159;
-yy292:
- YYDEBUG(292, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= 'r') {
- if (yych == 'c') goto yy388;
- goto yy159;
- } else {
- if (yych <= 's') goto yy389;
- if (yych <= 't') goto yy390;
- goto yy159;
- }
-yy293:
- YYDEBUG(293, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 's') goto yy391;
- goto yy159;
-yy294:
- YYDEBUG(294, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 's') goto yy392;
- goto yy159;
-yy295:
- YYDEBUG(295, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'm') goto yy393;
- goto yy159;
-yy296:
- YYDEBUG(296, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'w') goto yy394;
- goto yy159;
-yy297:
- YYDEBUG(297, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'i') goto yy396;
- if (yych == 'o') goto yy397;
- goto yy159;
-yy298:
- YYDEBUG(298, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'b') goto yy398;
- goto yy159;
-yy299:
- YYDEBUG(299, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'q') goto yy399;
- if (yych == 't') goto yy400;
- goto yy159;
-yy300:
- YYDEBUG(300, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'a') goto yy401;
- goto yy159;
-yy301:
- YYDEBUG(301, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'i') goto yy402;
- goto yy159;
-yy302:
- YYDEBUG(302, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'r') goto yy403;
- goto yy159;
-yy303:
- YYDEBUG(303, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'a') goto yy404;
- if (yych == 'y') goto yy405;
- goto yy159;
-yy304:
- YYDEBUG(304, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 's') goto yy407;
- goto yy159;
-yy305:
- YYDEBUG(305, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'e') goto yy408;
- goto yy159;
-yy306:
- YYDEBUG(306, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'r') goto yy410;
- goto yy159;
-yy307:
- YYDEBUG(307, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'i') goto yy412;
- goto yy159;
-yy308:
- YYDEBUG(308, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'e') goto yy413;
- goto yy159;
-yy309:
- YYDEBUG(309, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(310, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_OR_EQUAL;
-}
-yy311:
- YYDEBUG(311, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(312, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_BOOLEAN_OR;
-}
-yy313:
- YYDEBUG(313, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(314, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_IS_NOT_IDENTICAL;
-}
-yy315:
- YYDEBUG(315, *YYCURSOR);
- yych = *++YYCURSOR;
- goto yy199;
-yy316:
- YYDEBUG(316, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '\n') goto yy315;
- goto yy199;
-yy317:
- YYDEBUG(317, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'r') goto yy414;
- goto yy206;
-yy318:
- YYDEBUG(318, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'n') goto yy415;
- goto yy206;
-yy319:
- YYDEBUG(319, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'o') goto yy416;
- goto yy206;
-yy320:
- YYDEBUG(320, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'u') goto yy417;
- goto yy206;
-yy321:
- YYDEBUG(321, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'o') goto yy418;
- goto yy206;
-yy322:
- YYDEBUG(322, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 't') goto yy419;
- goto yy206;
-yy323:
- YYDEBUG(323, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'j') goto yy420;
- goto yy206;
-yy324:
- YYDEBUG(324, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'a') goto yy421;
- goto yy206;
-yy325:
- YYDEBUG(325, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'r') goto yy422;
- goto yy206;
-yy326:
- YYDEBUG(326, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 's') goto yy423;
- goto yy206;
-yy327:
- YYDEBUG(327, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= '\f') {
- if (yych <= 0x08) goto yy206;
- if (yych <= '\n') goto yy424;
- goto yy206;
- } else {
- if (yych <= '\r') goto yy424;
- if (yych == ' ') goto yy424;
- goto yy206;
- }
-yy328:
- YYDEBUG(328, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy206;
- if (yych >= ':') goto yy206;
-yy329:
- YYDEBUG(329, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(330, *YYCURSOR);
- if (yych <= '/') goto yy230;
- if (yych <= '9') goto yy329;
- goto yy230;
-yy331:
- YYDEBUG(331, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(332, *YYCURSOR);
- if (yybm[0+yych] & 64) {
- goto yy331;
- }
- YYDEBUG(333, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- char *bin = yytext + 2; /* Skip "0b" */
- int len = yyleng - 2;
-
- /* Skip any leading 0s */
- while (*bin == '0') {
- ++bin;
- --len;
- }
-
- if (len < SIZEOF_LONG * 8) {
- if (len == 0) {
- zendlval->value.lval = 0;
- } else {
- zendlval->value.lval = strtol(bin, NULL, 2);
- }
- zendlval->type = IS_LONG;
- return T_LNUMBER;
- } else {
- zendlval->value.dval = zend_bin_strtod(bin, NULL);
- zendlval->type = IS_DOUBLE;
- return T_DNUMBER;
- }
-}
-yy334:
- YYDEBUG(334, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(335, *YYCURSOR);
- if (yybm[0+yych] & 128) {
- goto yy334;
- }
- YYDEBUG(336, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- char *hex = yytext + 2; /* Skip "0x" */
- int len = yyleng - 2;
-
- /* Skip any leading 0s */
- while (*hex == '0') {
- hex++;
- len--;
- }
-
- if (len < SIZEOF_LONG * 2 || (len == SIZEOF_LONG * 2 && *hex <= '7')) {
- if (len == 0) {
- zendlval->value.lval = 0;
- } else {
- zendlval->value.lval = strtol(hex, NULL, 16);
- }
- zendlval->type = IS_LONG;
- return T_LNUMBER;
- } else {
- zendlval->value.dval = zend_hex_strtod(hex, NULL);
- zendlval->type = IS_DOUBLE;
- return T_DNUMBER;
- }
-}
-yy337:
- YYDEBUG(337, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'c') goto yy426;
- goto yy206;
-yy338:
- YYDEBUG(338, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(2);
- yych = *YYCURSOR;
- YYDEBUG(339, *YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy338, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy338, &&yy206, &&yy427, &&yy206, &&yy206, &&yy206, &&yy206, &&yy428,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy206, &&yy206, &&yy206, &&yy206, &&yy429,
- &&yy206, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy206, &&yy206, &&yy206, &&yy206, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429
- };
- goto *yytarget[yych];
- }
-yy340:
- YYDEBUG(340, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(341, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_SL_EQUAL;
-}
-yy342:
- YYDEBUG(342, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(343, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_IS_IDENTICAL;
-}
-yy344:
- YYDEBUG(344, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(345, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_SR_EQUAL;
-}
-yy346:
- YYDEBUG(346, *YYCURSOR);
- yych = *++YYCURSOR;
- goto yy257;
-yy347:
- YYDEBUG(347, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '\n') goto yy346;
- goto yy257;
-yy348:
- YYDEBUG(348, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(349, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_LOGICAL_AND;
-}
-yy350:
- YYDEBUG(350, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(351, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_LOGICAL_XOR;
-}
-yy352:
- YYDEBUG(352, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy431;
- goto yy159;
-yy353:
- YYDEBUG(353, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'I') goto yy432;
- goto yy159;
-yy354:
- YYDEBUG(354, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'I') goto yy433;
- if (yych == 'U') goto yy434;
- goto yy159;
-yy355:
- YYDEBUG(355, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'I') goto yy435;
- goto yy159;
-yy356:
- YYDEBUG(356, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy436;
- goto yy159;
-yy357:
- YYDEBUG(357, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy437;
- goto yy159;
-yy358:
- YYDEBUG(358, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy438;
- goto yy159;
-yy359:
- YYDEBUG(359, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'a') goto yy439;
- goto yy159;
-yy360:
- YYDEBUG(360, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 't') goto yy440;
- goto yy159;
-yy361:
- YYDEBUG(361, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'a') goto yy441;
- goto yy159;
-yy362:
- YYDEBUG(362, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '<') goto yy338;
- goto yy206;
-yy363:
- YYDEBUG(363, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'a') goto yy442;
- goto yy159;
-yy364:
- YYDEBUG(364, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'l') goto yy443;
- goto yy159;
-yy365:
- YYDEBUG(365, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'e') goto yy444;
- goto yy159;
-yy366:
- YYDEBUG(366, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'c') goto yy446;
- goto yy159;
-yy367:
- YYDEBUG(367, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 's') goto yy447;
- goto yy159;
-yy368:
- YYDEBUG(368, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'n') goto yy448;
- goto yy159;
-yy369:
- YYDEBUG(369, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= 'r') goto yy159;
- if (yych <= 's') goto yy449;
- if (yych <= 't') goto yy450;
- goto yy159;
-yy370:
- YYDEBUG(370, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'l') goto yy451;
- goto yy159;
-yy371:
- YYDEBUG(371, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'a') goto yy452;
- goto yy159;
-yy372:
- YYDEBUG(372, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(373, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_EXIT;
-}
-yy374:
- YYDEBUG(374, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'o') goto yy453;
- goto yy159;
-yy375:
- YYDEBUG(375, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'e') goto yy455;
- goto yy159;
-yy376:
- YYDEBUG(376, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 't') goto yy457;
- goto yy159;
-yy377:
- YYDEBUG(377, *YYCURSOR);
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy458, &&yy159, &&yy459, &&yy159,
- &&yy159, &&yy460, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy461, &&yy159, &&yy159, &&yy159, &&yy462,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159,
- &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159, &&yy159
- };
- goto *yytarget[yych];
- }
-yy378:
- YYDEBUG(378, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'l') goto yy463;
- goto yy159;
-yy379:
- YYDEBUG(379, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 't') goto yy465;
- goto yy159;
-yy380:
- YYDEBUG(380, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'e') goto yy467;
- goto yy159;
-yy381:
- YYDEBUG(381, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'a') goto yy468;
- goto yy159;
-yy382:
- YYDEBUG(382, *YYCURSOR);
- ++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy383, &&yy383, &&yy383, &&yy383, &&yy383, &&yy383, &&yy383, &&yy383,
- &&yy383, &&yy383, &&yy383, &&yy383, &&yy383, &&yy383, &&yy383, &&yy383,
- &&yy383, &&yy383, &&yy383, &&yy383, &&yy383, &&yy383, &&yy383, &&yy383,
- &&yy383, &&yy383, &&yy383, &&yy383, &&yy383, &&yy383, &&yy383, &&yy383,
- &&yy383, &&yy383, &&yy383, &&yy383, &&yy383, &&yy383, &&yy383, &&yy383,
- &&yy383, &&yy383, &&yy383, &&yy383, &&yy383, &&yy383, &&yy383, &&yy383,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy383, &&yy383, &&yy383, &&yy383, &&yy383, &&yy383,
- &&yy383, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy383, &&yy383, &&yy383, &&yy383, &&yy158,
- &&yy383, &&yy158, &&yy158, &&yy158, &&yy158, &&yy469, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy383, &&yy383, &&yy383, &&yy383, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158
- };
- goto *yytarget[(yych = *YYCURSOR)];
- }
-yy383:
- YYDEBUG(383, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_FOR;
-}
-yy384:
- YYDEBUG(384, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'c') goto yy470;
- goto yy159;
-yy385:
- YYDEBUG(385, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'b') goto yy471;
- goto yy159;
-yy386:
- YYDEBUG(386, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'o') goto yy472;
- goto yy159;
-yy387:
- YYDEBUG(387, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'l') goto yy474;
- goto yy159;
-yy388:
- YYDEBUG(388, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'l') goto yy475;
- goto yy159;
-yy389:
- YYDEBUG(389, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 't') goto yy476;
- goto yy159;
-yy390:
- YYDEBUG(390, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'e') goto yy477;
- goto yy159;
-yy391:
- YYDEBUG(391, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'e') goto yy478;
- goto yy159;
-yy392:
- YYDEBUG(392, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 't') goto yy479;
- goto yy159;
-yy393:
- YYDEBUG(393, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'e') goto yy481;
- goto yy159;
-yy394:
- YYDEBUG(394, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(395, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_NEW;
-}
-yy396:
- YYDEBUG(396, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'n') goto yy482;
- if (yych == 'v') goto yy483;
- goto yy159;
-yy397:
- YYDEBUG(397, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 't') goto yy484;
- goto yy159;
-yy398:
- YYDEBUG(398, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'l') goto yy485;
- goto yy159;
-yy399:
- YYDEBUG(399, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'u') goto yy486;
- goto yy159;
-yy400:
- YYDEBUG(400, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'u') goto yy487;
- goto yy159;
-yy401:
- YYDEBUG(401, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 't') goto yy488;
- goto yy159;
-yy402:
- YYDEBUG(402, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 't') goto yy489;
- goto yy159;
-yy403:
- YYDEBUG(403, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'o') goto yy490;
- goto yy159;
-yy404:
- YYDEBUG(404, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'i') goto yy491;
- goto yy159;
-yy405:
- YYDEBUG(405, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(406, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_TRY;
-}
-yy407:
- YYDEBUG(407, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'e') goto yy492;
- goto yy159;
-yy408:
- YYDEBUG(408, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(409, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_USE;
-}
-yy410:
- YYDEBUG(410, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(411, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_VAR;
-}
-yy412:
- YYDEBUG(412, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'l') goto yy493;
- goto yy159;
-yy413:
- YYDEBUG(413, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'l') goto yy494;
- goto yy159;
-yy414:
- YYDEBUG(414, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'a') goto yy495;
- goto yy206;
-yy415:
- YYDEBUG(415, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'a') goto yy496;
- goto yy206;
-yy416:
- YYDEBUG(416, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'l') goto yy497;
- goto yy206;
-yy417:
- YYDEBUG(417, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'b') goto yy498;
- goto yy206;
-yy418:
- YYDEBUG(418, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'a') goto yy499;
- goto yy206;
-yy419:
- YYDEBUG(419, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'e') goto yy504;
- goto yy501;
-yy420:
- YYDEBUG(420, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'e') goto yy505;
- goto yy206;
-yy421:
- YYDEBUG(421, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'l') goto yy506;
- goto yy206;
-yy422:
- YYDEBUG(422, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'i') goto yy508;
- goto yy206;
-yy423:
- YYDEBUG(423, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'e') goto yy509;
- goto yy206;
-yy424:
- YYDEBUG(424, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(425, *YYCURSOR);
- if (yych <= '\f') {
- if (yych <= 0x08) goto yy234;
- if (yych <= '\n') goto yy424;
- goto yy234;
- } else {
- if (yych <= '\r') goto yy424;
- if (yych == ' ') goto yy424;
- goto yy234;
- }
-yy426:
- YYDEBUG(426, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'r') goto yy510;
- goto yy206;
-yy427:
- YYDEBUG(427, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '"') goto yy206;
- if (yych <= '/') goto yy512;
- if (yych <= '9') goto yy206;
- goto yy512;
-yy428:
- YYDEBUG(428, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '\'') goto yy206;
- if (yych <= '/') goto yy514;
- if (yych <= '9') goto yy206;
- goto yy514;
-yy429:
- YYDEBUG(429, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(2);
- yych = *YYCURSOR;
- YYDEBUG(430, *YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy515, &&yy206, &&yy206, &&yy517, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy206, &&yy206, &&yy206, &&yy206, &&yy429,
- &&yy206, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy206, &&yy206, &&yy206, &&yy206, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429,
- &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429, &&yy429
- };
- goto *yytarget[yych];
- }
-yy431:
- YYDEBUG(431, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy518;
- goto yy159;
-yy432:
- YYDEBUG(432, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy519;
- goto yy159;
-yy433:
- YYDEBUG(433, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy520;
- goto yy159;
-yy434:
- YYDEBUG(434, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy521;
- goto yy159;
-yy435:
- YYDEBUG(435, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy522;
- goto yy159;
-yy436:
- YYDEBUG(436, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy523;
- goto yy159;
-yy437:
- YYDEBUG(437, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'M') goto yy524;
- goto yy159;
-yy438:
- YYDEBUG(438, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy525;
- goto yy159;
-yy439:
- YYDEBUG(439, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'l') goto yy526;
- goto yy159;
-yy440:
- YYDEBUG(440, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'r') goto yy527;
- goto yy159;
-yy441:
- YYDEBUG(441, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'y') goto yy528;
- goto yy159;
-yy442:
- YYDEBUG(442, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'k') goto yy530;
- goto yy159;
-yy443:
- YYDEBUG(443, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'a') goto yy532;
- goto yy159;
-yy444:
- YYDEBUG(444, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(445, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_CASE;
-}
-yy446:
- YYDEBUG(446, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'h') goto yy533;
- goto yy159;
-yy447:
- YYDEBUG(447, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 's') goto yy535;
- goto yy159;
-yy448:
- YYDEBUG(448, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'e') goto yy537;
- goto yy159;
-yy449:
- YYDEBUG(449, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 't') goto yy539;
- goto yy159;
-yy450:
- YYDEBUG(450, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'i') goto yy541;
- goto yy159;
-yy451:
- YYDEBUG(451, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'a') goto yy542;
- goto yy159;
-yy452:
- YYDEBUG(452, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'u') goto yy543;
- goto yy159;
-yy453:
- YYDEBUG(453, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(454, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_ECHO;
-}
-yy455:
- YYDEBUG(455, *YYCURSOR);
- ++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy456, &&yy456, &&yy456, &&yy456, &&yy456, &&yy456, &&yy456, &&yy456,
- &&yy456, &&yy456, &&yy456, &&yy456, &&yy456, &&yy456, &&yy456, &&yy456,
- &&yy456, &&yy456, &&yy456, &&yy456, &&yy456, &&yy456, &&yy456, &&yy456,
- &&yy456, &&yy456, &&yy456, &&yy456, &&yy456, &&yy456, &&yy456, &&yy456,
- &&yy456, &&yy456, &&yy456, &&yy456, &&yy456, &&yy456, &&yy456, &&yy456,
- &&yy456, &&yy456, &&yy456, &&yy456, &&yy456, &&yy456, &&yy456, &&yy456,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy456, &&yy456, &&yy456, &&yy456, &&yy456, &&yy456,
- &&yy456, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy456, &&yy456, &&yy456, &&yy456, &&yy158,
- &&yy456, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy544, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy456, &&yy456, &&yy456, &&yy456, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158
- };
- goto *yytarget[(yych = *YYCURSOR)];
- }
-yy456:
- YYDEBUG(456, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_ELSE;
-}
-yy457:
- YYDEBUG(457, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'y') goto yy545;
- goto yy159;
-yy458:
- YYDEBUG(458, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'e') goto yy547;
- goto yy159;
-yy459:
- YYDEBUG(459, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'o') goto yy548;
- goto yy159;
-yy460:
- YYDEBUG(460, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'f') goto yy549;
- goto yy159;
-yy461:
- YYDEBUG(461, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'w') goto yy551;
- goto yy159;
-yy462:
- YYDEBUG(462, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'h') goto yy552;
- goto yy159;
-yy463:
- YYDEBUG(463, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(464, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_EVAL;
-}
-yy465:
- YYDEBUG(465, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(466, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_EXIT;
-}
-yy467:
- YYDEBUG(467, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'n') goto yy553;
- goto yy159;
-yy468:
- YYDEBUG(468, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'l') goto yy554;
- goto yy159;
-yy469:
- YYDEBUG(469, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'a') goto yy556;
- goto yy159;
-yy470:
- YYDEBUG(470, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 't') goto yy557;
- goto yy159;
-yy471:
- YYDEBUG(471, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'a') goto yy558;
- goto yy159;
-yy472:
- YYDEBUG(472, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(473, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_GOTO;
-}
-yy474:
- YYDEBUG(474, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'e') goto yy559;
- goto yy159;
-yy475:
- YYDEBUG(475, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'u') goto yy560;
- goto yy159;
-yy476:
- YYDEBUG(476, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'a') goto yy561;
- if (yych == 'e') goto yy562;
- goto yy159;
-yy477:
- YYDEBUG(477, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'r') goto yy563;
- goto yy159;
-yy478:
- YYDEBUG(478, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 't') goto yy564;
- goto yy159;
-yy479:
- YYDEBUG(479, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(480, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_LIST;
-}
-yy481:
- YYDEBUG(481, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 's') goto yy566;
- goto yy159;
-yy482:
- YYDEBUG(482, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 't') goto yy567;
- goto yy159;
-yy483:
- YYDEBUG(483, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'a') goto yy569;
- goto yy159;
-yy484:
- YYDEBUG(484, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'e') goto yy570;
- goto yy159;
-yy485:
- YYDEBUG(485, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'i') goto yy571;
- goto yy159;
-yy486:
- YYDEBUG(486, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'i') goto yy572;
- goto yy159;
-yy487:
- YYDEBUG(487, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'r') goto yy573;
- goto yy159;
-yy488:
- YYDEBUG(488, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'i') goto yy574;
- goto yy159;
-yy489:
- YYDEBUG(489, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'c') goto yy575;
- goto yy159;
-yy490:
- YYDEBUG(490, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'w') goto yy576;
- goto yy159;
-yy491:
- YYDEBUG(491, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 't') goto yy578;
- goto yy159;
-yy492:
- YYDEBUG(492, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 't') goto yy580;
- goto yy159;
-yy493:
- YYDEBUG(493, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'e') goto yy582;
- goto yy159;
-yy494:
- YYDEBUG(494, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'd') goto yy584;
- goto yy159;
-yy495:
- YYDEBUG(495, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'y') goto yy586;
- goto yy206;
-yy496:
- YYDEBUG(496, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'r') goto yy588;
- goto yy206;
-yy497:
- YYDEBUG(497, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'e') goto yy593;
- goto yy590;
-yy498:
- YYDEBUG(498, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'l') goto yy594;
- goto yy206;
-yy499:
- YYDEBUG(499, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 't') goto yy506;
- goto yy206;
-yy500:
- YYDEBUG(500, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
-yy501:
- YYDEBUG(501, *YYCURSOR);
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy500;
- goto yy206;
- } else {
- if (yych <= ' ') goto yy500;
- if (yych != ')') goto yy206;
- }
- YYDEBUG(502, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(503, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_INT_CAST;
-}
-yy504:
- YYDEBUG(504, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'g') goto yy595;
- goto yy206;
-yy505:
- YYDEBUG(505, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'c') goto yy596;
- goto yy206;
-yy506:
- YYDEBUG(506, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(507, *YYCURSOR);
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy506;
- goto yy206;
- } else {
- if (yych <= ' ') goto yy506;
- if (yych == ')') goto yy597;
- goto yy206;
- }
-yy508:
- YYDEBUG(508, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'n') goto yy599;
- goto yy206;
-yy509:
- YYDEBUG(509, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 't') goto yy600;
- goto yy206;
-yy510:
- YYDEBUG(510, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'i') goto yy602;
- goto yy206;
-yy511:
- YYDEBUG(511, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(3);
- yych = *YYCURSOR;
-yy512:
- YYDEBUG(512, *YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy603, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy206, &&yy206, &&yy206, &&yy206, &&yy511,
- &&yy206, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy206, &&yy206, &&yy206, &&yy206, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511,
- &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511, &&yy511
- };
- goto *yytarget[yych];
- }
-yy513:
- YYDEBUG(513, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(3);
- yych = *YYCURSOR;
-yy514:
- YYDEBUG(514, *YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy603,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy206, &&yy206, &&yy206, &&yy206, &&yy513,
- &&yy206, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy206, &&yy206, &&yy206, &&yy206, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513,
- &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513, &&yy513
- };
- goto *yytarget[yych];
- }
-yy515:
- YYDEBUG(515, *YYCURSOR);
- ++YYCURSOR;
-yy516:
- YYDEBUG(516, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- char *s;
- int bprefix = (yytext[0] != '<') ? 1 : 0;
- zend_heredoc_label *heredoc_label = emalloc(sizeof(zend_heredoc_label));
-
- CG(zend_lineno)++;
- heredoc_label->length = yyleng-bprefix-3-1-(yytext[yyleng-2]=='\r'?1:0);
- s = yytext+bprefix+3;
- while ((*s == ' ') || (*s == '\t')) {
- s++;
- heredoc_label->length--;
- }
-
- if (*s == '\'') {
- s++;
- heredoc_label->length -= 2;
-
- BEGIN(ST_NOWDOC);
- } else {
- if (*s == '"') {
- s++;
- heredoc_label->length -= 2;
- }
-
- BEGIN(ST_HEREDOC);
- }
-
- heredoc_label->label = estrndup(s, heredoc_label->length);
-
- /* Check for ending label on the next line */
- if (heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, s, heredoc_label->length)) {
- YYCTYPE *end = YYCURSOR + heredoc_label->length;
-
- if (*end == ';') {
- end++;
- }
-
- if (*end == '\n' || *end == '\r') {
- BEGIN(ST_END_HEREDOC);
- }
- }
-
- zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) heredoc_label);
-
- return T_START_HEREDOC;
-}
-yy517:
- YYDEBUG(517, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '\n') goto yy515;
- goto yy516;
-yy518:
- YYDEBUG(518, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'S') goto yy604;
- goto yy159;
-yy519:
- YYDEBUG(519, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '_') goto yy605;
- goto yy159;
-yy520:
- YYDEBUG(520, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy606;
- goto yy159;
-yy521:
- YYDEBUG(521, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy607;
- goto yy159;
-yy522:
- YYDEBUG(522, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy608;
- goto yy159;
-yy523:
- YYDEBUG(523, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'H') goto yy609;
- goto yy159;
-yy524:
- YYDEBUG(524, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy610;
- goto yy159;
-yy525:
- YYDEBUG(525, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'I') goto yy611;
- goto yy159;
-yy526:
- YYDEBUG(526, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 't') goto yy612;
- goto yy159;
-yy527:
- YYDEBUG(527, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'a') goto yy613;
- goto yy159;
-yy528:
- YYDEBUG(528, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(529, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_ARRAY;
-}
-yy530:
- YYDEBUG(530, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(531, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_BREAK;
-}
-yy532:
- YYDEBUG(532, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'b') goto yy614;
- goto yy159;
-yy533:
- YYDEBUG(533, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(534, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_CATCH;
-}
-yy535:
- YYDEBUG(535, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(536, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_CLASS;
-}
-yy537:
- YYDEBUG(537, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(538, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_CLONE;
-}
-yy539:
- YYDEBUG(539, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(540, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_CONST;
-}
-yy541:
- YYDEBUG(541, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'n') goto yy615;
- goto yy159;
-yy542:
- YYDEBUG(542, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'r') goto yy616;
- goto yy159;
-yy543:
- YYDEBUG(543, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'l') goto yy617;
- goto yy159;
-yy544:
- YYDEBUG(544, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'f') goto yy618;
- goto yy159;
-yy545:
- YYDEBUG(545, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(546, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_EMPTY;
-}
-yy547:
- YYDEBUG(547, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'c') goto yy620;
- goto yy159;
-yy548:
- YYDEBUG(548, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'r') goto yy621;
- goto yy159;
-yy549:
- YYDEBUG(549, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(550, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_ENDIF;
-}
-yy551:
- YYDEBUG(551, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'i') goto yy623;
- goto yy159;
-yy552:
- YYDEBUG(552, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'i') goto yy624;
- goto yy159;
-yy553:
- YYDEBUG(553, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'd') goto yy625;
- goto yy159;
-yy554:
- YYDEBUG(554, *YYCURSOR);
- ++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy555, &&yy555, &&yy555, &&yy555, &&yy555, &&yy555, &&yy555, &&yy555,
- &&yy555, &&yy555, &&yy555, &&yy555, &&yy555, &&yy555, &&yy555, &&yy555,
- &&yy555, &&yy555, &&yy555, &&yy555, &&yy555, &&yy555, &&yy555, &&yy555,
- &&yy555, &&yy555, &&yy555, &&yy555, &&yy555, &&yy555, &&yy555, &&yy555,
- &&yy555, &&yy555, &&yy555, &&yy555, &&yy555, &&yy555, &&yy555, &&yy555,
- &&yy555, &&yy555, &&yy555, &&yy555, &&yy555, &&yy555, &&yy555, &&yy555,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy555, &&yy555, &&yy555, &&yy555, &&yy555, &&yy555,
- &&yy555, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy555, &&yy555, &&yy555, &&yy555, &&yy158,
- &&yy555, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy626, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy555, &&yy555, &&yy555, &&yy555, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158
- };
- goto *yytarget[(yych = *YYCURSOR)];
- }
-yy555:
- YYDEBUG(555, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_FINAL;
-}
-yy556:
- YYDEBUG(556, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'c') goto yy627;
- goto yy159;
-yy557:
- YYDEBUG(557, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'i') goto yy628;
- goto yy159;
-yy558:
- YYDEBUG(558, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'l') goto yy629;
- goto yy159;
-yy559:
- YYDEBUG(559, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'm') goto yy631;
- goto yy159;
-yy560:
- YYDEBUG(560, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'd') goto yy632;
- goto yy159;
-yy561:
- YYDEBUG(561, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'n') goto yy633;
- goto yy159;
-yy562:
- YYDEBUG(562, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'a') goto yy634;
- goto yy159;
-yy563:
- YYDEBUG(563, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'f') goto yy635;
- goto yy159;
-yy564:
- YYDEBUG(564, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(565, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_ISSET;
-}
-yy566:
- YYDEBUG(566, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'p') goto yy636;
- goto yy159;
-yy567:
- YYDEBUG(567, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(568, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_PRINT;
-}
-yy569:
- YYDEBUG(569, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 't') goto yy637;
- goto yy159;
-yy570:
- YYDEBUG(570, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'c') goto yy638;
- goto yy159;
-yy571:
- YYDEBUG(571, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'c') goto yy639;
- goto yy159;
-yy572:
- YYDEBUG(572, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'r') goto yy641;
- goto yy159;
-yy573:
- YYDEBUG(573, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'n') goto yy642;
- goto yy159;
-yy574:
- YYDEBUG(574, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'c') goto yy644;
- goto yy159;
-yy575:
- YYDEBUG(575, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'h') goto yy646;
- goto yy159;
-yy576:
- YYDEBUG(576, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(577, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_THROW;
-}
-yy578:
- YYDEBUG(578, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(579, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_TRAIT;
-}
-yy580:
- YYDEBUG(580, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(581, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_UNSET;
-}
-yy582:
- YYDEBUG(582, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(583, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_WHILE;
-}
-yy584:
- YYDEBUG(584, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(585, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_YIELD;
-}
-yy586:
- YYDEBUG(586, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(587, *YYCURSOR);
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy586;
- goto yy206;
- } else {
- if (yych <= ' ') goto yy586;
- if (yych == ')') goto yy648;
- goto yy206;
- }
-yy588:
- YYDEBUG(588, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'y') goto yy650;
- goto yy206;
-yy589:
- YYDEBUG(589, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
-yy590:
- YYDEBUG(590, *YYCURSOR);
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy589;
- goto yy206;
- } else {
- if (yych <= ' ') goto yy589;
- if (yych != ')') goto yy206;
- }
- YYDEBUG(591, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(592, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_BOOL_CAST;
-}
-yy593:
- YYDEBUG(593, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'a') goto yy652;
- goto yy206;
-yy594:
- YYDEBUG(594, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'e') goto yy506;
- goto yy206;
-yy595:
- YYDEBUG(595, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'e') goto yy653;
- goto yy206;
-yy596:
- YYDEBUG(596, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 't') goto yy654;
- goto yy206;
-yy597:
- YYDEBUG(597, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(598, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_DOUBLE_CAST;
-}
-yy599:
- YYDEBUG(599, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'g') goto yy650;
- goto yy206;
-yy600:
- YYDEBUG(600, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(601, *YYCURSOR);
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy600;
- goto yy206;
- } else {
- if (yych <= ' ') goto yy600;
- if (yych == ')') goto yy656;
- goto yy206;
- }
-yy602:
- YYDEBUG(602, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'p') goto yy658;
- goto yy206;
-yy603:
- YYDEBUG(603, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '\n') goto yy515;
- if (yych == '\r') goto yy517;
- goto yy206;
-yy604:
- YYDEBUG(604, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'S') goto yy659;
- goto yy159;
-yy605:
- YYDEBUG(605, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '_') goto yy660;
- goto yy159;
-yy606:
- YYDEBUG(606, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '_') goto yy662;
- goto yy159;
-yy607:
- YYDEBUG(607, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy663;
- goto yy159;
-yy608:
- YYDEBUG(608, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '_') goto yy664;
- goto yy159;
-yy609:
- YYDEBUG(609, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy665;
- goto yy159;
-yy610:
- YYDEBUG(610, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'S') goto yy666;
- goto yy159;
-yy611:
- YYDEBUG(611, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy667;
- goto yy159;
-yy612:
- YYDEBUG(612, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '_') goto yy668;
- goto yy159;
-yy613:
- YYDEBUG(613, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'c') goto yy669;
- goto yy159;
-yy614:
- YYDEBUG(614, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'l') goto yy670;
- goto yy159;
-yy615:
- YYDEBUG(615, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'u') goto yy671;
- goto yy159;
-yy616:
- YYDEBUG(616, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'e') goto yy672;
- goto yy159;
-yy617:
- YYDEBUG(617, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 't') goto yy674;
- goto yy159;
-yy618:
- YYDEBUG(618, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(619, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_ELSEIF;
-}
-yy620:
- YYDEBUG(620, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'l') goto yy676;
- goto yy159;
-yy621:
- YYDEBUG(621, *YYCURSOR);
- ++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy622, &&yy622, &&yy622, &&yy622, &&yy622, &&yy622, &&yy622, &&yy622,
- &&yy622, &&yy622, &&yy622, &&yy622, &&yy622, &&yy622, &&yy622, &&yy622,
- &&yy622, &&yy622, &&yy622, &&yy622, &&yy622, &&yy622, &&yy622, &&yy622,
- &&yy622, &&yy622, &&yy622, &&yy622, &&yy622, &&yy622, &&yy622, &&yy622,
- &&yy622, &&yy622, &&yy622, &&yy622, &&yy622, &&yy622, &&yy622, &&yy622,
- &&yy622, &&yy622, &&yy622, &&yy622, &&yy622, &&yy622, &&yy622, &&yy622,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy622, &&yy622, &&yy622, &&yy622, &&yy622, &&yy622,
- &&yy622, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy622, &&yy622, &&yy622, &&yy622, &&yy158,
- &&yy622, &&yy158, &&yy158, &&yy158, &&yy158, &&yy677, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy622, &&yy622, &&yy622, &&yy622, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158
- };
- goto *yytarget[(yych = *YYCURSOR)];
- }
-yy622:
- YYDEBUG(622, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_ENDFOR;
-}
-yy623:
- YYDEBUG(623, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 't') goto yy678;
- goto yy159;
-yy624:
- YYDEBUG(624, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'l') goto yy679;
- goto yy159;
-yy625:
- YYDEBUG(625, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 's') goto yy680;
- goto yy159;
-yy626:
- YYDEBUG(626, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'y') goto yy682;
- goto yy159;
-yy627:
- YYDEBUG(627, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'h') goto yy684;
- goto yy159;
-yy628:
- YYDEBUG(628, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'o') goto yy686;
- goto yy159;
-yy629:
- YYDEBUG(629, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(630, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_GLOBAL;
-}
-yy631:
- YYDEBUG(631, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'e') goto yy687;
- goto yy159;
-yy632:
- YYDEBUG(632, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'e') goto yy688;
- goto yy159;
-yy633:
- YYDEBUG(633, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'c') goto yy690;
- goto yy159;
-yy634:
- YYDEBUG(634, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'd') goto yy691;
- goto yy159;
-yy635:
- YYDEBUG(635, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'a') goto yy692;
- goto yy159;
-yy636:
- YYDEBUG(636, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'a') goto yy693;
- goto yy159;
-yy637:
- YYDEBUG(637, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'e') goto yy694;
- goto yy159;
-yy638:
- YYDEBUG(638, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 't') goto yy696;
- goto yy159;
-yy639:
- YYDEBUG(639, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(640, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_PUBLIC;
-}
-yy641:
- YYDEBUG(641, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'e') goto yy697;
- goto yy159;
-yy642:
- YYDEBUG(642, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(643, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_RETURN;
-}
-yy644:
- YYDEBUG(644, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(645, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_STATIC;
-}
-yy646:
- YYDEBUG(646, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(647, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_SWITCH;
-}
-yy648:
- YYDEBUG(648, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(649, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_ARRAY_CAST;
-}
-yy650:
- YYDEBUG(650, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(651, *YYCURSOR);
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy650;
- goto yy206;
- } else {
- if (yych <= ' ') goto yy650;
- if (yych == ')') goto yy699;
- goto yy206;
- }
-yy652:
- YYDEBUG(652, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'n') goto yy589;
- goto yy206;
-yy653:
- YYDEBUG(653, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'r') goto yy500;
- goto yy206;
-yy654:
- YYDEBUG(654, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(655, *YYCURSOR);
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy654;
- goto yy206;
- } else {
- if (yych <= ' ') goto yy654;
- if (yych == ')') goto yy701;
- goto yy206;
- }
-yy656:
- YYDEBUG(656, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(657, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_UNSET_CAST;
-}
-yy658:
- YYDEBUG(658, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 't') goto yy703;
- goto yy206;
-yy659:
- YYDEBUG(659, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '_') goto yy705;
- goto yy159;
-yy660:
- YYDEBUG(660, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(661, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- char *filename = zend_get_compiled_filename(TSRMLS_C);
- const size_t filename_len = strlen(filename);
- char *dirname;
-
- if (!filename) {
- filename = "";
- }
-
- dirname = estrndup(filename, filename_len);
- zend_dirname(dirname, filename_len);
-
- if (strcmp(dirname, ".") == 0) {
- dirname = erealloc(dirname, MAXPATHLEN);
-#if HAVE_GETCWD
- VCWD_GETCWD(dirname, MAXPATHLEN);
-#elif HAVE_GETWD
- VCWD_GETWD(dirname);
-#endif
- }
-
- zendlval->value.str.len = strlen(dirname);
- zendlval->value.str.val = dirname;
- zendlval->type = IS_STRING;
- return T_DIR;
-}
-yy662:
- YYDEBUG(662, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '_') goto yy706;
- goto yy159;
-yy663:
- YYDEBUG(663, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'I') goto yy708;
- goto yy159;
-yy664:
- YYDEBUG(664, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '_') goto yy709;
- goto yy159;
-yy665:
- YYDEBUG(665, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'D') goto yy711;
- goto yy159;
-yy666:
- YYDEBUG(666, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'P') goto yy712;
- goto yy159;
-yy667:
- YYDEBUG(667, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '_') goto yy713;
- goto yy159;
-yy668:
- YYDEBUG(668, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'c') goto yy714;
- goto yy159;
-yy669:
- YYDEBUG(669, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 't') goto yy715;
- goto yy159;
-yy670:
- YYDEBUG(670, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'e') goto yy717;
- goto yy159;
-yy671:
- YYDEBUG(671, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'e') goto yy719;
- goto yy159;
-yy672:
- YYDEBUG(672, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(673, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_DECLARE;
-}
-yy674:
- YYDEBUG(674, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(675, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_DEFAULT;
-}
-yy676:
- YYDEBUG(676, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'a') goto yy721;
- goto yy159;
-yy677:
- YYDEBUG(677, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'a') goto yy722;
- goto yy159;
-yy678:
- YYDEBUG(678, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'c') goto yy723;
- goto yy159;
-yy679:
- YYDEBUG(679, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'e') goto yy724;
- goto yy159;
-yy680:
- YYDEBUG(680, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(681, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_EXTENDS;
-}
-yy682:
- YYDEBUG(682, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(683, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_FINALLY;
-}
-yy684:
- YYDEBUG(684, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(685, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_FOREACH;
-}
-yy686:
- YYDEBUG(686, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'n') goto yy726;
- goto yy159;
-yy687:
- YYDEBUG(687, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'n') goto yy728;
- goto yy159;
-yy688:
- YYDEBUG(688, *YYCURSOR);
- ++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689,
- &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689,
- &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689,
- &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689,
- &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689,
- &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689, &&yy689,
- &&yy689, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy689, &&yy689, &&yy689, &&yy689, &&yy729,
- &&yy689, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy689, &&yy689, &&yy689, &&yy689, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158
- };
- goto *yytarget[(yych = *YYCURSOR)];
- }
-yy689:
- YYDEBUG(689, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_INCLUDE;
-}
-yy690:
- YYDEBUG(690, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'e') goto yy730;
- goto yy159;
-yy691:
- YYDEBUG(691, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'o') goto yy731;
- goto yy159;
-yy692:
- YYDEBUG(692, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'c') goto yy732;
- goto yy159;
-yy693:
- YYDEBUG(693, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'c') goto yy733;
- goto yy159;
-yy694:
- YYDEBUG(694, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(695, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_PRIVATE;
-}
-yy696:
- YYDEBUG(696, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'e') goto yy734;
- goto yy159;
-yy697:
- YYDEBUG(697, *YYCURSOR);
- ++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy698, &&yy698, &&yy698, &&yy698, &&yy698, &&yy698, &&yy698, &&yy698,
- &&yy698, &&yy698, &&yy698, &&yy698, &&yy698, &&yy698, &&yy698, &&yy698,
- &&yy698, &&yy698, &&yy698, &&yy698, &&yy698, &&yy698, &&yy698, &&yy698,
- &&yy698, &&yy698, &&yy698, &&yy698, &&yy698, &&yy698, &&yy698, &&yy698,
- &&yy698, &&yy698, &&yy698, &&yy698, &&yy698, &&yy698, &&yy698, &&yy698,
- &&yy698, &&yy698, &&yy698, &&yy698, &&yy698, &&yy698, &&yy698, &&yy698,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy698, &&yy698, &&yy698, &&yy698, &&yy698, &&yy698,
- &&yy698, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy698, &&yy698, &&yy698, &&yy698, &&yy735,
- &&yy698, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy698, &&yy698, &&yy698, &&yy698, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158,
- &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158, &&yy158
- };
- goto *yytarget[(yych = *YYCURSOR)];
- }
-yy698:
- YYDEBUG(698, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_REQUIRE;
-}
-yy699:
- YYDEBUG(699, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(700, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_STRING_CAST;
-}
-yy701:
- YYDEBUG(701, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(702, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_OBJECT_CAST;
-}
-yy703:
- YYDEBUG(703, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(3);
- yych = *YYCURSOR;
- YYDEBUG(704, *YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy703, &&yy703, &&yy206, &&yy206, &&yy703, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy703, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy256, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206, &&yy206
- };
- goto *yytarget[yych];
- }
-yy705:
- YYDEBUG(705, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '_') goto yy736;
- goto yy159;
-yy706:
- YYDEBUG(706, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(707, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- char *filename = zend_get_compiled_filename(TSRMLS_C);
-
- if (!filename) {
- filename = "";
- }
- zendlval->value.str.len = strlen(filename);
- zendlval->value.str.val = estrndup(filename, zendlval->value.str.len);
- zendlval->type = IS_STRING;
- return T_FILE;
-}
-yy708:
- YYDEBUG(708, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy738;
- goto yy159;
-yy709:
- YYDEBUG(709, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(710, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- zendlval->value.lval = CG(zend_lineno);
- zendlval->type = IS_LONG;
- return T_LINE;
-}
-yy711:
- YYDEBUG(711, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '_') goto yy739;
- goto yy159;
-yy712:
- YYDEBUG(712, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy740;
- goto yy159;
-yy713:
- YYDEBUG(713, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '_') goto yy741;
- goto yy159;
-yy714:
- YYDEBUG(714, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'o') goto yy743;
- goto yy159;
-yy715:
- YYDEBUG(715, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(716, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_ABSTRACT;
-}
-yy717:
- YYDEBUG(717, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(718, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_CALLABLE;
-}
-yy719:
- YYDEBUG(719, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(720, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_CONTINUE;
-}
-yy721:
- YYDEBUG(721, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'r') goto yy744;
- goto yy159;
-yy722:
- YYDEBUG(722, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'c') goto yy745;
- goto yy159;
-yy723:
- YYDEBUG(723, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'h') goto yy746;
- goto yy159;
-yy724:
- YYDEBUG(724, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(725, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_ENDWHILE;
-}
-yy726:
- YYDEBUG(726, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(727, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_FUNCTION;
-}
-yy728:
- YYDEBUG(728, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 't') goto yy748;
- goto yy159;
-yy729:
- YYDEBUG(729, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'o') goto yy749;
- goto yy159;
-yy730:
- YYDEBUG(730, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'o') goto yy750;
- goto yy159;
-yy731:
- YYDEBUG(731, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'f') goto yy751;
- goto yy159;
-yy732:
- YYDEBUG(732, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'e') goto yy753;
- goto yy159;
-yy733:
- YYDEBUG(733, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'e') goto yy755;
- goto yy159;
-yy734:
- YYDEBUG(734, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'd') goto yy757;
- goto yy159;
-yy735:
- YYDEBUG(735, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'o') goto yy759;
- goto yy159;
-yy736:
- YYDEBUG(736, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(737, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- const char *class_name = NULL;
-
- if (CG(active_class_entry)
- && (ZEND_ACC_TRAIT ==
- (CG(active_class_entry)->ce_flags & ZEND_ACC_TRAIT))) {
- /* We create a special __CLASS__ constant that is going to be resolved
- at run-time */
- zendlval->value.str.len = sizeof("__CLASS__")-1;
- zendlval->value.str.val = estrndup("__CLASS__", zendlval->value.str.len);
- zendlval->type = IS_CONSTANT;
- } else {
- if (CG(active_class_entry)) {
- class_name = CG(active_class_entry)->name;
- }
-
- if (!class_name) {
- class_name = "";
- }
-
- zendlval->value.str.len = strlen(class_name);
- zendlval->value.str.val = estrndup(class_name, zendlval->value.str.len);
- zendlval->type = IS_STRING;
- }
- return T_CLASS_C;
-}
-yy738:
- YYDEBUG(738, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy760;
- goto yy159;
-yy739:
- YYDEBUG(739, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '_') goto yy761;
- goto yy159;
-yy740:
- YYDEBUG(740, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy763;
- goto yy159;
-yy741:
- YYDEBUG(741, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(742, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- const char *trait_name = NULL;
-
- if (CG(active_class_entry)
- && (ZEND_ACC_TRAIT ==
- (CG(active_class_entry)->ce_flags & ZEND_ACC_TRAIT))) {
- trait_name = CG(active_class_entry)->name;
- }
-
- if (!trait_name) {
- trait_name = "";
- }
-
- zendlval->value.str.len = strlen(trait_name);
- zendlval->value.str.val = estrndup(trait_name, zendlval->value.str.len);
- zendlval->type = IS_STRING;
-
- return T_TRAIT_C;
-}
-yy743:
- YYDEBUG(743, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'm') goto yy764;
- goto yy159;
-yy744:
- YYDEBUG(744, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'e') goto yy765;
- goto yy159;
-yy745:
- YYDEBUG(745, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'h') goto yy767;
- goto yy159;
-yy746:
- YYDEBUG(746, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(747, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_ENDSWITCH;
-}
-yy748:
- YYDEBUG(748, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 's') goto yy769;
- goto yy159;
-yy749:
- YYDEBUG(749, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'n') goto yy771;
- goto yy159;
-yy750:
- YYDEBUG(750, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'f') goto yy772;
- goto yy159;
-yy751:
- YYDEBUG(751, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(752, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_INSTEADOF;
-}
-yy753:
- YYDEBUG(753, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(754, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_INTERFACE;
-}
-yy755:
- YYDEBUG(755, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(756, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_NAMESPACE;
-}
-yy757:
- YYDEBUG(757, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(758, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_PROTECTED;
-}
-yy759:
- YYDEBUG(759, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'n') goto yy774;
- goto yy159;
-yy760:
- YYDEBUG(760, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '_') goto yy775;
- goto yy159;
-yy761:
- YYDEBUG(761, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(762, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- const char *class_name = CG(active_class_entry) ? CG(active_class_entry)->name : NULL;
- const char *func_name = CG(active_op_array)? CG(active_op_array)->function_name : NULL;
- size_t len = 0;
-
- if (class_name) {
- len += strlen(class_name) + 2;
- }
- if (func_name) {
- len += strlen(func_name);
- }
-
- zendlval->value.str.len = zend_spprintf(&zendlval->value.str.val, 0, "%s%s%s",
- class_name ? class_name : "",
- class_name && func_name ? "::" : "",
- func_name ? func_name : ""
- );
- zendlval->type = IS_STRING;
- return T_METHOD_C;
-}
-yy763:
- YYDEBUG(763, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy776;
- goto yy159;
-yy764:
- YYDEBUG(764, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'p') goto yy777;
- goto yy159;
-yy765:
- YYDEBUG(765, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(766, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_ENDDECLARE;
-}
-yy767:
- YYDEBUG(767, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(768, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_ENDFOREACH;
-}
-yy769:
- YYDEBUG(769, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(770, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_IMPLEMENTS;
-}
-yy771:
- YYDEBUG(771, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'c') goto yy778;
- goto yy159;
-yy772:
- YYDEBUG(772, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(773, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_INSTANCEOF;
-}
-yy774:
- YYDEBUG(774, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'c') goto yy779;
- goto yy159;
-yy775:
- YYDEBUG(775, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '_') goto yy780;
- goto yy159;
-yy776:
- YYDEBUG(776, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '_') goto yy782;
- goto yy159;
-yy777:
- YYDEBUG(777, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'i') goto yy783;
- goto yy159;
-yy778:
- YYDEBUG(778, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'e') goto yy784;
- goto yy159;
-yy779:
- YYDEBUG(779, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'e') goto yy786;
- goto yy159;
-yy780:
- YYDEBUG(780, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(781, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- const char *func_name = NULL;
-
- if (CG(active_op_array)) {
- func_name = CG(active_op_array)->function_name;
- }
-
- if (!func_name) {
- func_name = "";
- }
- zendlval->value.str.len = strlen(func_name);
- zendlval->value.str.val = estrndup(func_name, zendlval->value.str.len);
- zendlval->type = IS_STRING;
- return T_FUNC_C;
-}
-yy782:
- YYDEBUG(782, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '_') goto yy788;
- goto yy159;
-yy783:
- YYDEBUG(783, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'l') goto yy790;
- goto yy159;
-yy784:
- YYDEBUG(784, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(785, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_INCLUDE_ONCE;
-}
-yy786:
- YYDEBUG(786, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(787, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_REQUIRE_ONCE;
-}
-yy788:
- YYDEBUG(788, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(789, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- if (CG(current_namespace)) {
- *zendlval = *CG(current_namespace);
- zval_copy_ctor(zendlval);
- } else {
- ZVAL_EMPTY_STRING(zendlval);
- }
- return T_NS_C;
-}
-yy790:
- YYDEBUG(790, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych != 'e') goto yy159;
- YYDEBUG(791, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych != 'r') goto yy159;
- YYDEBUG(792, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy158;
- }
- YYDEBUG(793, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_HALT_COMPILER;
-}
- }
-/* *********************************** */
-yyc_ST_LOOKING_FOR_PROPERTY:
- {
- static const unsigned char yybm[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 64, 64, 0, 0, 64, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 64, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 0, 0, 0, 0, 0, 0,
- 0, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 0, 0, 0, 0, 128,
- 0, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 0, 0, 0, 0, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- };
- YYDEBUG(794, *YYCURSOR);
- YYFILL(2);
- yych = *YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796,
- &&yy796, &&yy798, &&yy798, &&yy796, &&yy796, &&yy798, &&yy796, &&yy796,
- &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796,
- &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796,
- &&yy798, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796,
- &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy801, &&yy796, &&yy796,
- &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796,
- &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796,
- &&yy796, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy796, &&yy796, &&yy796, &&yy796, &&yy802,
- &&yy796, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy796, &&yy796, &&yy796, &&yy796, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802
- };
- goto *yytarget[yych];
- }
-yy796:
- YYDEBUG(796, *YYCURSOR);
- ++YYCURSOR;
-yy797:
- YYDEBUG(797, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- yyless(0);
- yy_pop_state(TSRMLS_C);
- goto restart;
-}
-yy798:
- YYDEBUG(798, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(799, *YYCURSOR);
- if (yybm[0+yych] & 64) {
- goto yy798;
- }
- YYDEBUG(800, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- HANDLE_NEWLINES(yytext, yyleng);
- return T_WHITESPACE;
-}
-yy801:
- YYDEBUG(801, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '>') goto yy805;
- goto yy797;
-yy802:
- YYDEBUG(802, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(803, *YYCURSOR);
- if (yybm[0+yych] & 128) {
- goto yy802;
- }
- YYDEBUG(804, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- yy_pop_state(TSRMLS_C);
- zend_copy_value(zendlval, yytext, yyleng);
- zendlval->type = IS_STRING;
- return T_STRING;
-}
-yy805:
- YYDEBUG(805, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(806, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_OBJECT_OPERATOR;
-}
- }
-/* *********************************** */
-yyc_ST_LOOKING_FOR_VARNAME:
- {
- static const unsigned char yybm[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 0, 0, 0, 0, 0, 0,
- 0, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 0, 0, 0, 0, 128,
- 0, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 0, 0, 0, 0, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- };
- YYDEBUG(807, *YYCURSOR);
- YYFILL(2);
- yych = *YYCURSOR;
- if (yych <= '_') {
- if (yych <= '@') goto yy809;
- if (yych <= 'Z') goto yy811;
- if (yych >= '_') goto yy811;
- } else {
- if (yych <= '`') goto yy809;
- if (yych <= 'z') goto yy811;
- if (yych >= 0x7F) goto yy811;
- }
-yy809:
- YYDEBUG(809, *YYCURSOR);
- ++YYCURSOR;
-yy810:
- YYDEBUG(810, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- yyless(0);
- yy_pop_state(TSRMLS_C);
- yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
- goto restart;
-}
-yy811:
- YYDEBUG(811, *YYCURSOR);
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy810, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810,
- &&yy810, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810,
- &&yy810, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810,
- &&yy810, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810,
- &&yy810, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810,
- &&yy810, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810,
- &&yy810, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy810, &&yy810, &&yy810, &&yy813,
- &&yy810, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy810, &&yy810, &&yy813, &&yy810, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813,
- &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813, &&yy813
- };
- goto *yytarget[yych];
- }
-yy812:
- YYDEBUG(812, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
-yy813:
- YYDEBUG(813, *YYCURSOR);
- if (yybm[0+yych] & 128) {
- goto yy812;
- }
- if (yych <= '@') goto yy814;
- if (yych <= '[') goto yy815;
- if (yych == '}') goto yy815;
-yy814:
- YYDEBUG(814, *YYCURSOR);
- YYCURSOR = YYMARKER;
- goto yy810;
-yy815:
- YYDEBUG(815, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(816, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- yyless(yyleng - 1);
- zend_copy_value(zendlval, yytext, yyleng);
- zendlval->type = IS_STRING;
- yy_pop_state(TSRMLS_C);
- yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
- return T_STRING_VARNAME;
-}
- }
-/* *********************************** */
-yyc_ST_NOWDOC:
- YYDEBUG(817, *YYCURSOR);
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(819, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(820, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- int newline = 0;
-
- zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
-
- if (YYCURSOR > YYLIMIT) {
- return 0;
- }
-
- YYCURSOR--;
-
- while (YYCURSOR < YYLIMIT) {
- switch (*YYCURSOR++) {
- case '\r':
- if (*YYCURSOR == '\n') {
- YYCURSOR++;
- }
- /* fall through */
- case '\n':
- /* Check for ending label on the next line */
- if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
- YYCTYPE *end = YYCURSOR + heredoc_label->length;
-
- if (*end == ';') {
- end++;
- }
-
- if (*end == '\n' || *end == '\r') {
- /* newline before label will be subtracted from returned text, but
- * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
- if (YYCURSOR[-2] == '\r' && YYCURSOR[-1] == '\n') {
- newline = 2; /* Windows newline */
- } else {
- newline = 1;
- }
-
- CG(increment_lineno) = 1; /* For newline before label */
- BEGIN(ST_END_HEREDOC);
-
- goto nowdoc_scan_done;
- }
- }
- /* fall through */
- default:
- continue;
- }
- }
-
-nowdoc_scan_done:
- yyleng = YYCURSOR - SCNG(yy_text);
-
- zend_copy_value(zendlval, yytext, yyleng - newline);
- zendlval->type = IS_STRING;
- HANDLE_NEWLINES(yytext, yyleng - newline);
- return T_ENCAPSED_AND_WHITESPACE;
-}
-/* *********************************** */
-yyc_ST_VAR_OFFSET:
- {
- static const unsigned char yybm[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 240, 240, 176, 176, 176, 176, 176, 176,
- 176, 176, 0, 0, 0, 0, 0, 0,
- 0, 160, 160, 160, 160, 160, 160, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 0, 0, 0, 0, 32,
- 0, 160, 160, 160, 160, 160, 160, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 0, 0, 0, 0, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- };
- YYDEBUG(821, *YYCURSOR);
- YYFILL(3);
- yych = *YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy823, &&yy823, &&yy823, &&yy823, &&yy823, &&yy823, &&yy823, &&yy823,
- &&yy823, &&yy825, &&yy825, &&yy823, &&yy823, &&yy825, &&yy823, &&yy823,
- &&yy823, &&yy823, &&yy823, &&yy823, &&yy823, &&yy823, &&yy823, &&yy823,
- &&yy823, &&yy823, &&yy823, &&yy823, &&yy823, &&yy823, &&yy823, &&yy823,
- &&yy825, &&yy827, &&yy827, &&yy825, &&yy829, &&yy827, &&yy827, &&yy825,
- &&yy827, &&yy827, &&yy827, &&yy827, &&yy827, &&yy827, &&yy827, &&yy827,
- &&yy830, &&yy832, &&yy832, &&yy832, &&yy832, &&yy832, &&yy832, &&yy832,
- &&yy832, &&yy832, &&yy827, &&yy827, &&yy827, &&yy827, &&yy827, &&yy827,
- &&yy827, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy827, &&yy825, &&yy837, &&yy827, &&yy834,
- &&yy827, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy827, &&yy827, &&yy827, &&yy827, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834,
- &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834, &&yy834
- };
- goto *yytarget[yych];
- }
-yy823:
- YYDEBUG(823, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(824, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- if (YYCURSOR > YYLIMIT) {
- return 0;
- }
-
- zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
- goto restart;
-}
-yy825:
- YYDEBUG(825, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(826, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- /* Invalid rule to return a more explicit parse error with proper line number */
- yyless(0);
- yy_pop_state(TSRMLS_C);
- return T_ENCAPSED_AND_WHITESPACE;
-}
-yy827:
- YYDEBUG(827, *YYCURSOR);
- ++YYCURSOR;
-yy828:
- YYDEBUG(828, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- /* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */
- return yytext[0];
-}
-yy829:
- YYDEBUG(829, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= '_') {
- if (yych <= '@') goto yy828;
- if (yych <= 'Z') goto yy839;
- if (yych <= '^') goto yy828;
- goto yy839;
- } else {
- if (yych <= '`') goto yy828;
- if (yych <= 'z') goto yy839;
- if (yych <= '~') goto yy828;
- goto yy839;
- }
-yy830:
- YYDEBUG(830, *YYCURSOR);
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 'a') {
- if (yych <= '/') goto yy831;
- if (yych <= '9') goto yy842;
- } else {
- if (yych <= 'b') goto yy845;
- if (yych == 'x') goto yy847;
- }
-yy831:
- YYDEBUG(831, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- { /* Offset could be treated as a long */
- if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) {
- zendlval->value.lval = strtol(yytext, NULL, 10);
- zendlval->type = IS_LONG;
- } else {
- zendlval->value.str.val = (char *)estrndup(yytext, yyleng);
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- }
- return T_NUM_STRING;
-}
-yy832:
- YYDEBUG(832, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(833, *YYCURSOR);
- if (yybm[0+yych] & 16) {
- goto yy832;
- }
- goto yy831;
-yy834:
- YYDEBUG(834, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(835, *YYCURSOR);
- if (yybm[0+yych] & 32) {
- goto yy834;
- }
- YYDEBUG(836, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- zend_copy_value(zendlval, yytext, yyleng);
- zendlval->type = IS_STRING;
- return T_STRING;
-}
-yy837:
- YYDEBUG(837, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(838, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- yy_pop_state(TSRMLS_C);
- return ']';
-}
-yy839:
- YYDEBUG(839, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(840, *YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy841, &&yy841, &&yy841, &&yy841, &&yy841, &&yy841, &&yy841, &&yy841,
- &&yy841, &&yy841, &&yy841, &&yy841, &&yy841, &&yy841, &&yy841, &&yy841,
- &&yy841, &&yy841, &&yy841, &&yy841, &&yy841, &&yy841, &&yy841, &&yy841,
- &&yy841, &&yy841, &&yy841, &&yy841, &&yy841, &&yy841, &&yy841, &&yy841,
- &&yy841, &&yy841, &&yy841, &&yy841, &&yy841, &&yy841, &&yy841, &&yy841,
- &&yy841, &&yy841, &&yy841, &&yy841, &&yy841, &&yy841, &&yy841, &&yy841,
- &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy841, &&yy841, &&yy841, &&yy841, &&yy841, &&yy841,
- &&yy841, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy841, &&yy841, &&yy841, &&yy841, &&yy839,
- &&yy841, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy841, &&yy841, &&yy841, &&yy841, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839,
- &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839, &&yy839
- };
- goto *yytarget[yych];
- }
-yy841:
- YYDEBUG(841, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- zendlval->type = IS_STRING;
- return T_VARIABLE;
-}
-yy842:
- YYDEBUG(842, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(843, *YYCURSOR);
- if (yych <= '/') goto yy844;
- if (yych <= '9') goto yy842;
-yy844:
- YYDEBUG(844, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- { /* Offset must be treated as a string */
- zendlval->value.str.val = (char *)estrndup(yytext, yyleng);
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- return T_NUM_STRING;
-}
-yy845:
- YYDEBUG(845, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yybm[0+yych] & 64) {
- goto yy848;
- }
-yy846:
- YYDEBUG(846, *YYCURSOR);
- YYCURSOR = YYMARKER;
- goto yy831;
-yy847:
- YYDEBUG(847, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yybm[0+yych] & 128) {
- goto yy850;
- }
- goto yy846;
-yy848:
- YYDEBUG(848, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(849, *YYCURSOR);
- if (yybm[0+yych] & 64) {
- goto yy848;
- }
- goto yy844;
-yy850:
- YYDEBUG(850, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(851, *YYCURSOR);
- if (yybm[0+yych] & 128) {
- goto yy850;
- }
- goto yy844;
- }
-}
-
-}
-
-re2c: warning: line 1016: column 12: escape has no effect: '\[' [-Wuseless-escape]
-re2c: warning: line 2441: looks like you use hardcoded numbers instead of autogenerated condition names: better add '/*!types:re2c*/' directive or '-t, --type-header' option and don't rely on fixed condition order. [-Wcondition-order]
diff --git a/test/php20140822_zend_language_scanner_crlf.igcd--flex-syntax.re b/test/php20140822_zend_language_scanner_crlf.igcd--flex-syntax.re
deleted file mode 100644
index 6b6b878b..00000000
--- a/test/php20140822_zend_language_scanner_crlf.igcd--flex-syntax.re
+++ /dev/null
@@ -1,2443 +0,0 @@
-/*
- +----------------------------------------------------------------------+
- | Zend Engine |
- +----------------------------------------------------------------------+
- | Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) |
- +----------------------------------------------------------------------+
- | This source file is subject to version 2.00 of the Zend license, |
- | that is bundled with this package in the file LICENSE, and is |
- | available through the world-wide-web at the following url: |
- | http://www.zend.com/license/2_00.txt. |
- | If you did not receive a copy of the Zend license and are unable to |
- | obtain it through the world-wide-web, please send a note to |
- | license@zend.com so we can mail you a copy immediately. |
- +----------------------------------------------------------------------+
- | Authors: Marcus Boerger <helly@php.net> |
- | Nuno Lopes <nlopess@php.net> |
- | Scott MacVicar <scottmac@php.net> |
- | Flex version authors: |
- | Andi Gutmans <andi@zend.com> |
- | Zeev Suraski <zeev@zend.com> |
- +----------------------------------------------------------------------+
-*/
-
-/* $Id$ */
-
-#if 0
-# define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c)
-#else
-# define YYDEBUG(s, c)
-#endif
-
-#include "zend_language_scanner_defs.h"
-
-#include <errno.h>
-#include "zend.h"
-#ifdef PHP_WIN32
-# include <Winuser.h>
-#endif
-#include "zend_alloc.h"
-#include <zend_language_parser.h>
-#include "zend_compile.h"
-#include "zend_language_scanner.h"
-#include "zend_highlight.h"
-#include "zend_constants.h"
-#include "zend_variables.h"
-#include "zend_operators.h"
-#include "zend_API.h"
-#include "zend_strtod.h"
-#include "zend_exceptions.h"
-#include "tsrm_virtual_cwd.h"
-#include "tsrm_config_common.h"
-
-#define YYCTYPE unsigned char
-#define YYFILL(n) { if ((YYCURSOR + n) >= (YYLIMIT + ZEND_MMAP_AHEAD)) { return 0; } }
-#define YYCURSOR SCNG(yy_cursor)
-#define YYLIMIT SCNG(yy_limit)
-#define YYMARKER SCNG(yy_marker)
-
-#define YYGETCONDITION() SCNG(yy_state)
-#define YYSETCONDITION(s) SCNG(yy_state) = s
-
-#define STATE(name) yyc##name
-
-/* emulate flex constructs */
-#define BEGIN(state) YYSETCONDITION(STATE(state))
-#define YYSTATE YYGETCONDITION()
-#define yytext ((char*)SCNG(yy_text))
-#define yyleng SCNG(yy_leng)
-#define yyless(x) do { YYCURSOR = (unsigned char*)yytext + x; \
- yyleng = (unsigned int)x; } while(0)
-#define yymore() goto yymore_restart
-
-/* perform sanity check. If this message is triggered you should
- increase the ZEND_MMAP_AHEAD value in the zend_streams.h file */
-/*!max:re2c */
-#if ZEND_MMAP_AHEAD < YYMAXFILL
-# error ZEND_MMAP_AHEAD should be greater than or equal to YYMAXFILL
-#endif
-
-#ifdef HAVE_STDARG_H
-# include <stdarg.h>
-#endif
-
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-
-/* Globals Macros */
-#define SCNG LANG_SCNG
-#ifdef ZTS
-ZEND_API ts_rsrc_id language_scanner_globals_id;
-#else
-ZEND_API zend_php_scanner_globals language_scanner_globals;
-#endif
-
-#define HANDLE_NEWLINES(s, l) \
-do { \
- char *p = (s), *boundary = p+(l); \
- \
- while (p<boundary) { \
- if (*p == '\n' || (*p == '\r' && (*(p+1) != '\n'))) { \
- CG(zend_lineno)++; \
- } \
- p++; \
- } \
-} while (0)
-
-#define HANDLE_NEWLINE(c) \
-{ \
- if (c == '\n' || c == '\r') { \
- CG(zend_lineno)++; \
- } \
-}
-
-/* To save initial string length after scanning to first variable, CG(doc_comment_len) can be reused */
-#define SET_DOUBLE_QUOTES_SCANNED_LENGTH(len) CG(doc_comment_len) = (len)
-#define GET_DOUBLE_QUOTES_SCANNED_LENGTH() CG(doc_comment_len)
-
-#define IS_LABEL_START(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z') || (c) == '_' || (c) >= 0x7F)
-
-#define ZEND_IS_OCT(c) ((c)>='0' && (c)<='7')
-#define ZEND_IS_HEX(c) (((c)>='0' && (c)<='9') || ((c)>='a' && (c)<='f') || ((c)>='A' && (c)<='F'))
-
-BEGIN_EXTERN_C()
-
-static size_t encoding_filter_script_to_internal(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length TSRMLS_DC)
-{
- const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding(TSRMLS_C);
- assert(internal_encoding && zend_multibyte_check_lexer_compatibility(internal_encoding));
- return zend_multibyte_encoding_converter(to, to_length, from, from_length, internal_encoding, LANG_SCNG(script_encoding) TSRMLS_CC);
-}
-
-static size_t encoding_filter_script_to_intermediate(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length TSRMLS_DC)
-{
- return zend_multibyte_encoding_converter(to, to_length, from, from_length, zend_multibyte_encoding_utf8, LANG_SCNG(script_encoding) TSRMLS_CC);
-}
-
-static size_t encoding_filter_intermediate_to_script(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length TSRMLS_DC)
-{
- return zend_multibyte_encoding_converter(to, to_length, from, from_length,
-LANG_SCNG(script_encoding), zend_multibyte_encoding_utf8 TSRMLS_CC);
-}
-
-static size_t encoding_filter_intermediate_to_internal(unsigned char **to, size_t *to_length, const unsigned char *from, size_t from_length TSRMLS_DC)
-{
- const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding(TSRMLS_C);
- assert(internal_encoding && zend_multibyte_check_lexer_compatibility(internal_encoding));
- return zend_multibyte_encoding_converter(to, to_length, from, from_length,
-internal_encoding, zend_multibyte_encoding_utf8 TSRMLS_CC);
-}
-
-
-static void _yy_push_state(int new_state TSRMLS_DC)
-{
- zend_stack_push(&SCNG(state_stack), (void *) &YYGETCONDITION(), sizeof(int));
- YYSETCONDITION(new_state);
-}
-
-#define yy_push_state(state_and_tsrm) _yy_push_state(yyc##state_and_tsrm)
-
-static void yy_pop_state(TSRMLS_D)
-{
- int *stack_state;
- zend_stack_top(&SCNG(state_stack), (void **) &stack_state);
- YYSETCONDITION(*stack_state);
- zend_stack_del_top(&SCNG(state_stack));
-}
-
-static void yy_scan_buffer(char *str, unsigned int len TSRMLS_DC)
-{
- YYCURSOR = (YYCTYPE*)str;
- YYLIMIT = YYCURSOR + len;
- if (!SCNG(yy_start)) {
- SCNG(yy_start) = YYCURSOR;
- }
-}
-
-void startup_scanner(TSRMLS_D)
-{
- CG(parse_error) = 0;
- CG(doc_comment) = NULL;
- CG(doc_comment_len) = 0;
- zend_stack_init(&SCNG(state_stack));
- zend_ptr_stack_init(&SCNG(heredoc_label_stack));
-}
-
-static void heredoc_label_dtor(zend_heredoc_label *heredoc_label) {
- efree(heredoc_label->label);
-}
-
-void shutdown_scanner(TSRMLS_D)
-{
- CG(parse_error) = 0;
- RESET_DOC_COMMENT();
- zend_stack_destroy(&SCNG(state_stack));
- zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
- zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
-}
-
-ZEND_API void zend_save_lexical_state(zend_lex_state *lex_state TSRMLS_DC)
-{
- lex_state->yy_leng = SCNG(yy_leng);
- lex_state->yy_start = SCNG(yy_start);
- lex_state->yy_text = SCNG(yy_text);
- lex_state->yy_cursor = SCNG(yy_cursor);
- lex_state->yy_marker = SCNG(yy_marker);
- lex_state->yy_limit = SCNG(yy_limit);
-
- lex_state->state_stack = SCNG(state_stack);
- zend_stack_init(&SCNG(state_stack));
-
- lex_state->heredoc_label_stack = SCNG(heredoc_label_stack);
- zend_ptr_stack_init(&SCNG(heredoc_label_stack));
-
- lex_state->in = SCNG(yy_in);
- lex_state->yy_state = YYSTATE;
- lex_state->filename = zend_get_compiled_filename(TSRMLS_C);
- lex_state->lineno = CG(zend_lineno);
-
- lex_state->script_org = SCNG(script_org);
- lex_state->script_org_size = SCNG(script_org_size);
- lex_state->script_filtered = SCNG(script_filtered);
- lex_state->script_filtered_size = SCNG(script_filtered_size);
- lex_state->input_filter = SCNG(input_filter);
- lex_state->output_filter = SCNG(output_filter);
- lex_state->script_encoding = SCNG(script_encoding);
-}
-
-ZEND_API void zend_restore_lexical_state(zend_lex_state *lex_state TSRMLS_DC)
-{
- SCNG(yy_leng) = lex_state->yy_leng;
- SCNG(yy_start) = lex_state->yy_start;
- SCNG(yy_text) = lex_state->yy_text;
- SCNG(yy_cursor) = lex_state->yy_cursor;
- SCNG(yy_marker) = lex_state->yy_marker;
- SCNG(yy_limit) = lex_state->yy_limit;
-
- zend_stack_destroy(&SCNG(state_stack));
- SCNG(state_stack) = lex_state->state_stack;
-
- zend_ptr_stack_clean(&SCNG(heredoc_label_stack), (void (*)(void *)) &heredoc_label_dtor, 1);
- zend_ptr_stack_destroy(&SCNG(heredoc_label_stack));
- SCNG(heredoc_label_stack) = lex_state->heredoc_label_stack;
-
- SCNG(yy_in) = lex_state->in;
- YYSETCONDITION(lex_state->yy_state);
- CG(zend_lineno) = lex_state->lineno;
- zend_restore_compiled_filename(lex_state->filename TSRMLS_CC);
-
- if (SCNG(script_filtered)) {
- efree(SCNG(script_filtered));
- SCNG(script_filtered) = NULL;
- }
- SCNG(script_org) = lex_state->script_org;
- SCNG(script_org_size) = lex_state->script_org_size;
- SCNG(script_filtered) = lex_state->script_filtered;
- SCNG(script_filtered_size) = lex_state->script_filtered_size;
- SCNG(input_filter) = lex_state->input_filter;
- SCNG(output_filter) = lex_state->output_filter;
- SCNG(script_encoding) = lex_state->script_encoding;
-
- RESET_DOC_COMMENT();
-}
-
-ZEND_API void zend_destroy_file_handle(zend_file_handle *file_handle TSRMLS_DC)
-{
- zend_llist_del_element(&CG(open_files), file_handle, (int (*)(void *, void *)) zend_compare_file_handles);
- /* zend_file_handle_dtor() operates on the copy, so we have to NULLify the original here */
- file_handle->opened_path = NULL;
- if (file_handle->free_filename) {
- file_handle->filename = NULL;
- }
-}
-
-#define BOM_UTF32_BE "\x00\x00\xfe\xff"
-#define BOM_UTF32_LE "\xff\xfe\x00\x00"
-#define BOM_UTF16_BE "\xfe\xff"
-#define BOM_UTF16_LE "\xff\xfe"
-#define BOM_UTF8 "\xef\xbb\xbf"
-
-static const zend_encoding *zend_multibyte_detect_utf_encoding(const unsigned char *script, size_t script_size TSRMLS_DC)
-{
- const unsigned char *p;
- int wchar_size = 2;
- int le = 0;
-
- /* utf-16 or utf-32? */
- p = script;
- while ((p-script) < script_size) {
- p = memchr(p, 0, script_size-(p-script)-2);
- if (!p) {
- break;
- }
- if (*(p+1) == '\0' && *(p+2) == '\0') {
- wchar_size = 4;
- break;
- }
-
- /* searching for UTF-32 specific byte orders, so this will do */
- p += 4;
- }
-
- /* BE or LE? */
- p = script;
- while ((p-script) < script_size) {
- if (*p == '\0' && *(p+wchar_size-1) != '\0') {
- /* BE */
- le = 0;
- break;
- } else if (*p != '\0' && *(p+wchar_size-1) == '\0') {
- /* LE* */
- le = 1;
- break;
- }
- p += wchar_size;
- }
-
- if (wchar_size == 2) {
- return le ? zend_multibyte_encoding_utf16le : zend_multibyte_encoding_utf16be;
- } else {
- return le ? zend_multibyte_encoding_utf32le : zend_multibyte_encoding_utf32be;
- }
-
- return NULL;
-}
-
-static const zend_encoding* zend_multibyte_detect_unicode(TSRMLS_D)
-{
- const zend_encoding *script_encoding = NULL;
- int bom_size;
- unsigned char *pos1, *pos2;
-
- if (LANG_SCNG(script_org_size) < sizeof(BOM_UTF32_LE)-1) {
- return NULL;
- }
-
- /* check out BOM */
- if (!memcmp(LANG_SCNG(script_org), BOM_UTF32_BE, sizeof(BOM_UTF32_BE)-1)) {
- script_encoding = zend_multibyte_encoding_utf32be;
- bom_size = sizeof(BOM_UTF32_BE)-1;
- } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF32_LE, sizeof(BOM_UTF32_LE)-1)) {
- script_encoding = zend_multibyte_encoding_utf32le;
- bom_size = sizeof(BOM_UTF32_LE)-1;
- } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF16_BE, sizeof(BOM_UTF16_BE)-1)) {
- script_encoding = zend_multibyte_encoding_utf16be;
- bom_size = sizeof(BOM_UTF16_BE)-1;
- } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF16_LE, sizeof(BOM_UTF16_LE)-1)) {
- script_encoding = zend_multibyte_encoding_utf16le;
- bom_size = sizeof(BOM_UTF16_LE)-1;
- } else if (!memcmp(LANG_SCNG(script_org), BOM_UTF8, sizeof(BOM_UTF8)-1)) {
- script_encoding = zend_multibyte_encoding_utf8;
- bom_size = sizeof(BOM_UTF8)-1;
- }
-
- if (script_encoding) {
- /* remove BOM */
- LANG_SCNG(script_org) += bom_size;
- LANG_SCNG(script_org_size) -= bom_size;
-
- return script_encoding;
- }
-
- /* script contains NULL bytes -> auto-detection */
- if ((pos1 = memchr(LANG_SCNG(script_org), 0, LANG_SCNG(script_org_size)))) {
- /* check if the NULL byte is after the __HALT_COMPILER(); */
- pos2 = LANG_SCNG(script_org);
-
- while (pos1 - pos2 >= sizeof("__HALT_COMPILER();")-1) {
- pos2 = memchr(pos2, '_', pos1 - pos2);
- if (!pos2) break;
- pos2++;
- if (strncasecmp((char*)pos2, "_HALT_COMPILER", sizeof("_HALT_COMPILER")-1) == 0) {
- pos2 += sizeof("_HALT_COMPILER")-1;
- while (*pos2 == ' ' ||
- *pos2 == '\t' ||
- *pos2 == '\r' ||
- *pos2 == '\n') {
- pos2++;
- }
- if (*pos2 == '(') {
- pos2++;
- while (*pos2 == ' ' ||
- *pos2 == '\t' ||
- *pos2 == '\r' ||
- *pos2 == '\n') {
- pos2++;
- }
- if (*pos2 == ')') {
- pos2++;
- while (*pos2 == ' ' ||
- *pos2 == '\t' ||
- *pos2 == '\r' ||
- *pos2 == '\n') {
- pos2++;
- }
- if (*pos2 == ';') {
- return NULL;
- }
- }
- }
- }
- }
- /* make best effort if BOM is missing */
- return zend_multibyte_detect_utf_encoding(LANG_SCNG(script_org), LANG_SCNG(script_org_size) TSRMLS_CC);
- }
-
- return NULL;
-}
-
-static const zend_encoding* zend_multibyte_find_script_encoding(TSRMLS_D)
-{
- const zend_encoding *script_encoding;
-
- if (CG(detect_unicode)) {
- /* check out bom(byte order mark) and see if containing wchars */
- script_encoding = zend_multibyte_detect_unicode(TSRMLS_C);
- if (script_encoding != NULL) {
- /* bom or wchar detection is prior to 'script_encoding' option */
- return script_encoding;
- }
- }
-
- /* if no script_encoding specified, just leave alone */
- if (!CG(script_encoding_list) || !CG(script_encoding_list_size)) {
- return NULL;
- }
-
- /* if multiple encodings specified, detect automagically */
- if (CG(script_encoding_list_size) > 1) {
- return zend_multibyte_encoding_detector(LANG_SCNG(script_org), LANG_SCNG(script_org_size), CG(script_encoding_list), CG(script_encoding_list_size) TSRMLS_CC);
- }
-
- return CG(script_encoding_list)[0];
-}
-
-ZEND_API int zend_multibyte_set_filter(const zend_encoding *onetime_encoding TSRMLS_DC)
-{
- const zend_encoding *internal_encoding = zend_multibyte_get_internal_encoding(TSRMLS_C);
- const zend_encoding *script_encoding = onetime_encoding ? onetime_encoding: zend_multibyte_find_script_encoding(TSRMLS_C);
-
- if (!script_encoding) {
- return FAILURE;
- }
-
- /* judge input/output filter */
- LANG_SCNG(script_encoding) = script_encoding;
- LANG_SCNG(input_filter) = NULL;
- LANG_SCNG(output_filter) = NULL;
-
- if (!internal_encoding || LANG_SCNG(script_encoding) == internal_encoding) {
- if (!zend_multibyte_check_lexer_compatibility(LANG_SCNG(script_encoding))) {
- /* and if not, work around w/ script_encoding -> utf-8 -> script_encoding conversion */
- LANG_SCNG(input_filter) = encoding_filter_script_to_intermediate;
- LANG_SCNG(output_filter) = encoding_filter_intermediate_to_script;
- } else {
- LANG_SCNG(input_filter) = NULL;
- LANG_SCNG(output_filter) = NULL;
- }
- return SUCCESS;
- }
-
- if (zend_multibyte_check_lexer_compatibility(internal_encoding)) {
- LANG_SCNG(input_filter) = encoding_filter_script_to_internal;
- LANG_SCNG(output_filter) = NULL;
- } else if (zend_multibyte_check_lexer_compatibility(LANG_SCNG(script_encoding))) {
- LANG_SCNG(input_filter) = NULL;
- LANG_SCNG(output_filter) = encoding_filter_script_to_internal;
- } else {
- /* both script and internal encodings are incompatible w/ flex */
- LANG_SCNG(input_filter) = encoding_filter_script_to_intermediate;
- LANG_SCNG(output_filter) = encoding_filter_intermediate_to_internal;
- }
-
- return 0;
-}
-
-ZEND_API int open_file_for_scanning(zend_file_handle *file_handle TSRMLS_DC)
-{
- const char *file_path = NULL;
- char *buf;
- size_t size, offset = 0;
-
- /* The shebang line was read, get the current position to obtain the buffer start */
- if (CG(start_lineno) == 2 && file_handle->type == ZEND_HANDLE_FP && file_handle->handle.fp) {
- if ((offset = ftell(file_handle->handle.fp)) == -1) {
- offset = 0;
- }
- }
-
- if (zend_stream_fixup(file_handle, &buf, &size TSRMLS_CC) == FAILURE) {
- return FAILURE;
- }
-
- zend_llist_add_element(&CG(open_files), file_handle);
- if (file_handle->handle.stream.handle >= (void*)file_handle && file_handle->handle.stream.handle <= (void*)(file_handle+1)) {
- zend_file_handle *fh = (zend_file_handle*)zend_llist_get_last(&CG(open_files));
- size_t diff = (char*)file_handle->handle.stream.handle - (char*)file_handle;
- fh->handle.stream.handle = (void*)(((char*)fh) + diff);
- file_handle->handle.stream.handle = fh->handle.stream.handle;
- }
-
- /* Reset the scanner for scanning the new file */
- SCNG(yy_in) = file_handle;
- SCNG(yy_start) = NULL;
-
- if (size != -1) {
- if (CG(multibyte)) {
- SCNG(script_org) = (unsigned char*)buf;
- SCNG(script_org_size) = size;
- SCNG(script_filtered) = NULL;
-
- zend_multibyte_set_filter(NULL TSRMLS_CC);
-
- if (SCNG(input_filter)) {
- if ((size_t)-1 == SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size) TSRMLS_CC)) {
- zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
- "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
- }
- buf = (char*)SCNG(script_filtered);
- size = SCNG(script_filtered_size);
- }
- }
- SCNG(yy_start) = (unsigned char *)buf - offset;
- yy_scan_buffer(buf, size TSRMLS_CC);
- } else {
- zend_error_noreturn(E_COMPILE_ERROR, "zend_stream_mmap() failed");
- }
-
- BEGIN(INITIAL);
-
- if (file_handle->opened_path) {
- file_path = file_handle->opened_path;
- } else {
- file_path = file_handle->filename;
- }
-
- zend_set_compiled_filename(file_path TSRMLS_CC);
-
- if (CG(start_lineno)) {
- CG(zend_lineno) = CG(start_lineno);
- CG(start_lineno) = 0;
- } else {
- CG(zend_lineno) = 1;
- }
-
- RESET_DOC_COMMENT();
- CG(increment_lineno) = 0;
- return SUCCESS;
-}
-END_EXTERN_C()
-
-
-ZEND_API zend_op_array *compile_file(zend_file_handle *file_handle, int type TSRMLS_DC)
-{
- zend_lex_state original_lex_state;
- zend_op_array *op_array = (zend_op_array *) emalloc(sizeof(zend_op_array));
- zend_op_array *original_active_op_array = CG(active_op_array);
- zend_op_array *retval=NULL;
- int compiler_result;
- zend_bool compilation_successful=0;
- znode retval_znode;
- zend_bool original_in_compilation = CG(in_compilation);
-
- retval_znode.op_type = IS_CONST;
- retval_znode.u.constant.type = IS_LONG;
- retval_znode.u.constant.value.lval = 1;
- Z_UNSET_ISREF(retval_znode.u.constant);
- Z_SET_REFCOUNT(retval_znode.u.constant, 1);
-
- zend_save_lexical_state(&original_lex_state TSRMLS_CC);
-
- retval = op_array; /* success oriented */
-
- if (open_file_for_scanning(file_handle TSRMLS_CC)==FAILURE) {
- if (type==ZEND_REQUIRE) {
- zend_message_dispatcher(ZMSG_FAILED_REQUIRE_FOPEN, file_handle->filename TSRMLS_CC);
- zend_bailout();
- } else {
- zend_message_dispatcher(ZMSG_FAILED_INCLUDE_FOPEN, file_handle->filename TSRMLS_CC);
- }
- compilation_successful=0;
- } else {
- init_op_array(op_array, ZEND_USER_FUNCTION, INITIAL_OP_ARRAY_SIZE TSRMLS_CC);
- CG(in_compilation) = 1;
- CG(active_op_array) = op_array;
- zend_stack_push(&CG(context_stack), (void *) &CG(context), sizeof(CG(context)));
- zend_init_compiler_context(TSRMLS_C);
- compiler_result = zendparse(TSRMLS_C);
- zend_do_return(&retval_znode, 0 TSRMLS_CC);
- CG(in_compilation) = original_in_compilation;
- if (compiler_result != 0) { /* parser error */
- zend_bailout();
- }
- compilation_successful=1;
- }
-
- if (retval) {
- CG(active_op_array) = original_active_op_array;
- if (compilation_successful) {
- pass_two(op_array TSRMLS_CC);
- zend_release_labels(0 TSRMLS_CC);
- } else {
- efree(op_array);
- retval = NULL;
- }
- }
- zend_restore_lexical_state(&original_lex_state TSRMLS_CC);
- return retval;
-}
-
-
-zend_op_array *compile_filename(int type, zval *filename TSRMLS_DC)
-{
- zend_file_handle file_handle;
- zval tmp;
- zend_op_array *retval;
- char *opened_path = NULL;
-
- if (filename->type != IS_STRING) {
- tmp = *filename;
- zval_copy_ctor(&tmp);
- convert_to_string(&tmp);
- filename = &tmp;
- }
- file_handle.filename = filename->value.str.val;
- file_handle.free_filename = 0;
- file_handle.type = ZEND_HANDLE_FILENAME;
- file_handle.opened_path = NULL;
- file_handle.handle.fp = NULL;
-
- retval = zend_compile_file(&file_handle, type TSRMLS_CC);
- if (retval && file_handle.handle.stream.handle) {
- int dummy = 1;
-
- if (!file_handle.opened_path) {
- file_handle.opened_path = opened_path = estrndup(filename->value.str.val, filename->value.str.len);
- }
-
- zend_hash_add(&EG(included_files), file_handle.opened_path, strlen(file_handle.opened_path)+1, (void *)&dummy, sizeof(int), NULL);
-
- if (opened_path) {
- efree(opened_path);
- }
- }
- zend_destroy_file_handle(&file_handle TSRMLS_CC);
-
- if (filename==&tmp) {
- zval_dtor(&tmp);
- }
- return retval;
-}
-
-ZEND_API int zend_prepare_string_for_scanning(zval *str, char *filename TSRMLS_DC)
-{
- char *buf;
- size_t size;
-
- /* enforce two trailing NULLs for flex... */
- if (IS_INTERNED(str->value.str.val)) {
- char *tmp = safe_emalloc(1, str->value.str.len, ZEND_MMAP_AHEAD);
- memcpy(tmp, str->value.str.val, str->value.str.len + ZEND_MMAP_AHEAD);
- str->value.str.val = tmp;
- } else {
- str->value.str.val = safe_erealloc(str->value.str.val, 1, str->value.str.len, ZEND_MMAP_AHEAD);
- }
-
- memset(str->value.str.val + str->value.str.len, 0, ZEND_MMAP_AHEAD);
-
- SCNG(yy_in) = NULL;
- SCNG(yy_start) = NULL;
-
- buf = str->value.str.val;
- size = str->value.str.len;
-
- if (CG(multibyte)) {
- SCNG(script_org) = (unsigned char*)buf;
- SCNG(script_org_size) = size;
- SCNG(script_filtered) = NULL;
-
- zend_multibyte_set_filter(zend_multibyte_get_internal_encoding(TSRMLS_C) TSRMLS_CC);
-
- if (SCNG(input_filter)) {
- if ((size_t)-1 == SCNG(input_filter)(&SCNG(script_filtered), &SCNG(script_filtered_size), SCNG(script_org), SCNG(script_org_size) TSRMLS_CC)) {
- zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
- "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
- }
- buf = (char*)SCNG(script_filtered);
- size = SCNG(script_filtered_size);
- }
- }
-
- yy_scan_buffer(buf, size TSRMLS_CC);
-
- zend_set_compiled_filename(filename TSRMLS_CC);
- CG(zend_lineno) = 1;
- CG(increment_lineno) = 0;
- RESET_DOC_COMMENT();
- return SUCCESS;
-}
-
-
-ZEND_API size_t zend_get_scanned_file_offset(TSRMLS_D)
-{
- size_t offset = SCNG(yy_cursor) - SCNG(yy_start);
- if (SCNG(input_filter)) {
- size_t original_offset = offset, length = 0;
- do {
- unsigned char *p = NULL;
- if ((size_t)-1 == SCNG(input_filter)(&p, &length, SCNG(script_org), offset TSRMLS_CC)) {
- return (size_t)-1;
- }
- efree(p);
- if (length > original_offset) {
- offset--;
- } else if (length < original_offset) {
- offset++;
- }
- } while (original_offset != length);
- }
- return offset;
-}
-
-
-zend_op_array *compile_string(zval *source_string, char *filename TSRMLS_DC)
-{
- zend_lex_state original_lex_state;
- zend_op_array *op_array = (zend_op_array *) emalloc(sizeof(zend_op_array));
- zend_op_array *original_active_op_array = CG(active_op_array);
- zend_op_array *retval;
- zval tmp;
- int compiler_result;
- zend_bool original_in_compilation = CG(in_compilation);
-
- if (source_string->value.str.len==0) {
- efree(op_array);
- return NULL;
- }
-
- CG(in_compilation) = 1;
-
- tmp = *source_string;
- zval_copy_ctor(&tmp);
- convert_to_string(&tmp);
- source_string = &tmp;
-
- zend_save_lexical_state(&original_lex_state TSRMLS_CC);
- if (zend_prepare_string_for_scanning(source_string, filename TSRMLS_CC)==FAILURE) {
- efree(op_array);
- retval = NULL;
- } else {
- zend_bool orig_interactive = CG(interactive);
-
- CG(interactive) = 0;
- init_op_array(op_array, ZEND_EVAL_CODE, INITIAL_OP_ARRAY_SIZE TSRMLS_CC);
- CG(interactive) = orig_interactive;
- CG(active_op_array) = op_array;
- zend_stack_push(&CG(context_stack), (void *) &CG(context), sizeof(CG(context)));
- zend_init_compiler_context(TSRMLS_C);
- BEGIN(ST_IN_SCRIPTING);
- compiler_result = zendparse(TSRMLS_C);
-
- if (SCNG(script_filtered)) {
- efree(SCNG(script_filtered));
- SCNG(script_filtered) = NULL;
- }
-
- if (compiler_result != 0) {
- CG(active_op_array) = original_active_op_array;
- CG(unclean_shutdown)=1;
- destroy_op_array(op_array TSRMLS_CC);
- efree(op_array);
- retval = NULL;
- } else {
- zend_do_return(NULL, 0 TSRMLS_CC);
- CG(active_op_array) = original_active_op_array;
- pass_two(op_array TSRMLS_CC);
- zend_release_labels(0 TSRMLS_CC);
- retval = op_array;
- }
- }
- zend_restore_lexical_state(&original_lex_state TSRMLS_CC);
- zval_dtor(&tmp);
- CG(in_compilation) = original_in_compilation;
- return retval;
-}
-
-
-BEGIN_EXTERN_C()
-int highlight_file(char *filename, zend_syntax_highlighter_ini *syntax_highlighter_ini TSRMLS_DC)
-{
- zend_lex_state original_lex_state;
- zend_file_handle file_handle;
-
- file_handle.type = ZEND_HANDLE_FILENAME;
- file_handle.filename = filename;
- file_handle.free_filename = 0;
- file_handle.opened_path = NULL;
- zend_save_lexical_state(&original_lex_state TSRMLS_CC);
- if (open_file_for_scanning(&file_handle TSRMLS_CC)==FAILURE) {
- zend_message_dispatcher(ZMSG_FAILED_HIGHLIGHT_FOPEN, filename TSRMLS_CC);
- zend_restore_lexical_state(&original_lex_state TSRMLS_CC);
- return FAILURE;
- }
- zend_highlight(syntax_highlighter_ini TSRMLS_CC);
- if (SCNG(script_filtered)) {
- efree(SCNG(script_filtered));
- SCNG(script_filtered) = NULL;
- }
- zend_destroy_file_handle(&file_handle TSRMLS_CC);
- zend_restore_lexical_state(&original_lex_state TSRMLS_CC);
- return SUCCESS;
-}
-
-int highlight_string(zval *str, zend_syntax_highlighter_ini *syntax_highlighter_ini, char *str_name TSRMLS_DC)
-{
- zend_lex_state original_lex_state;
- zval tmp = *str;
-
- str = &tmp;
- zval_copy_ctor(str);
- zend_save_lexical_state(&original_lex_state TSRMLS_CC);
- if (zend_prepare_string_for_scanning(str, str_name TSRMLS_CC)==FAILURE) {
- zend_restore_lexical_state(&original_lex_state TSRMLS_CC);
- return FAILURE;
- }
- BEGIN(INITIAL);
- zend_highlight(syntax_highlighter_ini TSRMLS_CC);
- if (SCNG(script_filtered)) {
- efree(SCNG(script_filtered));
- SCNG(script_filtered) = NULL;
- }
- zend_restore_lexical_state(&original_lex_state TSRMLS_CC);
- zval_dtor(str);
- return SUCCESS;
-}
-
-ZEND_API void zend_multibyte_yyinput_again(zend_encoding_filter old_input_filter, const zend_encoding *old_encoding TSRMLS_DC)
-{
- size_t length;
- unsigned char *new_yy_start;
-
- /* convert and set */
- if (!SCNG(input_filter)) {
- if (SCNG(script_filtered)) {
- efree(SCNG(script_filtered));
- SCNG(script_filtered) = NULL;
- }
- SCNG(script_filtered_size) = 0;
- length = SCNG(script_org_size);
- new_yy_start = SCNG(script_org);
- } else {
- if ((size_t)-1 == SCNG(input_filter)(&new_yy_start, &length, SCNG(script_org), SCNG(script_org_size) TSRMLS_CC)) {
- zend_error_noreturn(E_COMPILE_ERROR, "Could not convert the script from the detected "
- "encoding \"%s\" to a compatible encoding", zend_multibyte_get_encoding_name(LANG_SCNG(script_encoding)));
- }
- SCNG(script_filtered) = new_yy_start;
- SCNG(script_filtered_size) = length;
- }
-
- SCNG(yy_cursor) = new_yy_start + (SCNG(yy_cursor) - SCNG(yy_start));
- SCNG(yy_marker) = new_yy_start + (SCNG(yy_marker) - SCNG(yy_start));
- SCNG(yy_text) = new_yy_start + (SCNG(yy_text) - SCNG(yy_start));
- SCNG(yy_limit) = new_yy_start + (SCNG(yy_limit) - SCNG(yy_start));
-
- SCNG(yy_start) = new_yy_start;
-}
-
-
-# define zend_copy_value(zendlval, yytext, yyleng) \
- if (SCNG(output_filter)) { \
- size_t sz = 0; \
- SCNG(output_filter)((unsigned char **)&(zendlval->value.str.val), &sz, (unsigned char *)yytext, (size_t)yyleng TSRMLS_CC); \
- zendlval->value.str.len = sz; \
- } else { \
- zendlval->value.str.val = (char *) estrndup(yytext, yyleng); \
- zendlval->value.str.len = yyleng; \
- }
-
-static void zend_scan_escape_string(zval *zendlval, char *str, int len, char quote_type TSRMLS_DC)
-{
- register char *s, *t;
- char *end;
-
- ZVAL_STRINGL(zendlval, str, len, 1);
-
- /* convert escape sequences */
- s = t = zendlval->value.str.val;
- end = s+zendlval->value.str.len;
- while (s<end) {
- if (*s=='\\') {
- s++;
- if (s >= end) {
- *t++ = '\\';
- break;
- }
-
- switch(*s) {
- case 'n':
- *t++ = '\n';
- zendlval->value.str.len--;
- break;
- case 'r':
- *t++ = '\r';
- zendlval->value.str.len--;
- break;
- case 't':
- *t++ = '\t';
- zendlval->value.str.len--;
- break;
- case 'f':
- *t++ = '\f';
- zendlval->value.str.len--;
- break;
- case 'v':
- *t++ = '\v';
- zendlval->value.str.len--;
- break;
- case 'e':
-#ifdef PHP_WIN32
- *t++ = VK_ESCAPE;
-#else
- *t++ = '\e';
-#endif
- zendlval->value.str.len--;
- break;
- case '"':
- case '`':
- if (*s != quote_type) {
- *t++ = '\\';
- *t++ = *s;
- break;
- }
- case '\\':
- case '$':
- *t++ = *s;
- zendlval->value.str.len--;
- break;
- case 'x':
- case 'X':
- if (ZEND_IS_HEX(*(s+1))) {
- char hex_buf[3] = { 0, 0, 0 };
-
- zendlval->value.str.len--; /* for the 'x' */
-
- hex_buf[0] = *(++s);
- zendlval->value.str.len--;
- if (ZEND_IS_HEX(*(s+1))) {
- hex_buf[1] = *(++s);
- zendlval->value.str.len--;
- }
- *t++ = (char) strtol(hex_buf, NULL, 16);
- } else {
- *t++ = '\\';
- *t++ = *s;
- }
- break;
- default:
- /* check for an octal */
- if (ZEND_IS_OCT(*s)) {
- char octal_buf[4] = { 0, 0, 0, 0 };
-
- octal_buf[0] = *s;
- zendlval->value.str.len--;
- if (ZEND_IS_OCT(*(s+1))) {
- octal_buf[1] = *(++s);
- zendlval->value.str.len--;
- if (ZEND_IS_OCT(*(s+1))) {
- octal_buf[2] = *(++s);
- zendlval->value.str.len--;
- }
- }
- *t++ = (char) strtol(octal_buf, NULL, 8);
- } else {
- *t++ = '\\';
- *t++ = *s;
- }
- break;
- }
- } else {
- *t++ = *s;
- }
-
- if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
- CG(zend_lineno)++;
- }
- s++;
- }
- *t = 0;
- if (SCNG(output_filter)) {
- size_t sz = 0;
- s = zendlval->value.str.val;
- SCNG(output_filter)((unsigned char **)&(zendlval->value.str.val), &sz, (unsigned char *)s, (size_t)zendlval->value.str.len TSRMLS_CC);
- zendlval->value.str.len = sz;
- efree(s);
- }
-}
-
-
-int lex_scan(zval *zendlval TSRMLS_DC)
-{
-restart:
- SCNG(yy_text) = YYCURSOR;
-
-yymore_restart:
-
-/*!re2c
-re2c:yyfill:check = 0;
-LNUM [0-9]+
-DNUM ([0-9]*"."[0-9]+)|([0-9]+"."[0-9]*)
-EXPONENT_DNUM (({LNUM}|{DNUM})[eE][+-]?{LNUM})
-HNUM "0x"[0-9a-fA-F]+
-BNUM "0b"[01]+
-LABEL [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*
-WHITESPACE [ \n\r\t]+
-TABS_AND_SPACES [ \t]*
-TOKENS [;:,.\[\]()|^&+-/*=%!~$<>?@]
-ANY_CHAR [^]
-NEWLINE ("\r"|"\n"|"\r\n")
-
-/* compute yyleng before each rule */
-<!*> := yyleng = YYCURSOR - SCNG(yy_text);
-
-
-<ST_IN_SCRIPTING>"exit" {
- return T_EXIT;
-}
-
-<ST_IN_SCRIPTING>"die" {
- return T_EXIT;
-}
-
-<ST_IN_SCRIPTING>"function" {
- return T_FUNCTION;
-}
-
-<ST_IN_SCRIPTING>"const" {
- return T_CONST;
-}
-
-<ST_IN_SCRIPTING>"return" {
- return T_RETURN;
-}
-
-<ST_IN_SCRIPTING>"yield" {
- return T_YIELD;
-}
-
-<ST_IN_SCRIPTING>"try" {
- return T_TRY;
-}
-
-<ST_IN_SCRIPTING>"catch" {
- return T_CATCH;
-}
-
-<ST_IN_SCRIPTING>"finally" {
- return T_FINALLY;
-}
-
-<ST_IN_SCRIPTING>"throw" {
- return T_THROW;
-}
-
-<ST_IN_SCRIPTING>"if" {
- return T_IF;
-}
-
-<ST_IN_SCRIPTING>"elseif" {
- return T_ELSEIF;
-}
-
-<ST_IN_SCRIPTING>"endif" {
- return T_ENDIF;
-}
-
-<ST_IN_SCRIPTING>"else" {
- return T_ELSE;
-}
-
-<ST_IN_SCRIPTING>"while" {
- return T_WHILE;
-}
-
-<ST_IN_SCRIPTING>"endwhile" {
- return T_ENDWHILE;
-}
-
-<ST_IN_SCRIPTING>"do" {
- return T_DO;
-}
-
-<ST_IN_SCRIPTING>"for" {
- return T_FOR;
-}
-
-<ST_IN_SCRIPTING>"endfor" {
- return T_ENDFOR;
-}
-
-<ST_IN_SCRIPTING>"foreach" {
- return T_FOREACH;
-}
-
-<ST_IN_SCRIPTING>"endforeach" {
- return T_ENDFOREACH;
-}
-
-<ST_IN_SCRIPTING>"declare" {
- return T_DECLARE;
-}
-
-<ST_IN_SCRIPTING>"enddeclare" {
- return T_ENDDECLARE;
-}
-
-<ST_IN_SCRIPTING>"instanceof" {
- return T_INSTANCEOF;
-}
-
-<ST_IN_SCRIPTING>"as" {
- return T_AS;
-}
-
-<ST_IN_SCRIPTING>"switch" {
- return T_SWITCH;
-}
-
-<ST_IN_SCRIPTING>"endswitch" {
- return T_ENDSWITCH;
-}
-
-<ST_IN_SCRIPTING>"case" {
- return T_CASE;
-}
-
-<ST_IN_SCRIPTING>"default" {
- return T_DEFAULT;
-}
-
-<ST_IN_SCRIPTING>"break" {
- return T_BREAK;
-}
-
-<ST_IN_SCRIPTING>"continue" {
- return T_CONTINUE;
-}
-
-<ST_IN_SCRIPTING>"goto" {
- return T_GOTO;
-}
-
-<ST_IN_SCRIPTING>"echo" {
- return T_ECHO;
-}
-
-<ST_IN_SCRIPTING>"print" {
- return T_PRINT;
-}
-
-<ST_IN_SCRIPTING>"class" {
- return T_CLASS;
-}
-
-<ST_IN_SCRIPTING>"interface" {
- return T_INTERFACE;
-}
-
-<ST_IN_SCRIPTING>"trait" {
- return T_TRAIT;
-}
-
-<ST_IN_SCRIPTING>"extends" {
- return T_EXTENDS;
-}
-
-<ST_IN_SCRIPTING>"implements" {
- return T_IMPLEMENTS;
-}
-
-<ST_IN_SCRIPTING>"->" {
- yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
- return T_OBJECT_OPERATOR;
-}
-
-<ST_IN_SCRIPTING,ST_LOOKING_FOR_PROPERTY>{WHITESPACE}+ {
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- HANDLE_NEWLINES(yytext, yyleng);
- return T_WHITESPACE;
-}
-
-<ST_LOOKING_FOR_PROPERTY>"->" {
- return T_OBJECT_OPERATOR;
-}
-
-<ST_LOOKING_FOR_PROPERTY>{LABEL} {
- yy_pop_state(TSRMLS_C);
- zend_copy_value(zendlval, yytext, yyleng);
- zendlval->type = IS_STRING;
- return T_STRING;
-}
-
-<ST_LOOKING_FOR_PROPERTY>{ANY_CHAR} {
- yyless(0);
- yy_pop_state(TSRMLS_C);
- goto restart;
-}
-
-<ST_IN_SCRIPTING>"::" {
- return T_PAAMAYIM_NEKUDOTAYIM;
-}
-
-<ST_IN_SCRIPTING>"\\" {
- return T_NS_SEPARATOR;
-}
-
-<ST_IN_SCRIPTING>"new" {
- return T_NEW;
-}
-
-<ST_IN_SCRIPTING>"clone" {
- return T_CLONE;
-}
-
-<ST_IN_SCRIPTING>"var" {
- return T_VAR;
-}
-
-<ST_IN_SCRIPTING>"("{TABS_AND_SPACES}("int"|"integer"){TABS_AND_SPACES}")" {
- return T_INT_CAST;
-}
-
-<ST_IN_SCRIPTING>"("{TABS_AND_SPACES}("real"|"double"|"float"){TABS_AND_SPACES}")" {
- return T_DOUBLE_CAST;
-}
-
-<ST_IN_SCRIPTING>"("{TABS_AND_SPACES}("string"|"binary"){TABS_AND_SPACES}")" {
- return T_STRING_CAST;
-}
-
-<ST_IN_SCRIPTING>"("{TABS_AND_SPACES}"array"{TABS_AND_SPACES}")" {
- return T_ARRAY_CAST;
-}
-
-<ST_IN_SCRIPTING>"("{TABS_AND_SPACES}"object"{TABS_AND_SPACES}")" {
- return T_OBJECT_CAST;
-}
-
-<ST_IN_SCRIPTING>"("{TABS_AND_SPACES}("bool"|"boolean"){TABS_AND_SPACES}")" {
- return T_BOOL_CAST;
-}
-
-<ST_IN_SCRIPTING>"("{TABS_AND_SPACES}("unset"){TABS_AND_SPACES}")" {
- return T_UNSET_CAST;
-}
-
-<ST_IN_SCRIPTING>"eval" {
- return T_EVAL;
-}
-
-<ST_IN_SCRIPTING>"include" {
- return T_INCLUDE;
-}
-
-<ST_IN_SCRIPTING>"include_once" {
- return T_INCLUDE_ONCE;
-}
-
-<ST_IN_SCRIPTING>"require" {
- return T_REQUIRE;
-}
-
-<ST_IN_SCRIPTING>"require_once" {
- return T_REQUIRE_ONCE;
-}
-
-<ST_IN_SCRIPTING>"namespace" {
- return T_NAMESPACE;
-}
-
-<ST_IN_SCRIPTING>"use" {
- return T_USE;
-}
-
-<ST_IN_SCRIPTING>"insteadof" {
- return T_INSTEADOF;
-}
-
-<ST_IN_SCRIPTING>"global" {
- return T_GLOBAL;
-}
-
-<ST_IN_SCRIPTING>"isset" {
- return T_ISSET;
-}
-
-<ST_IN_SCRIPTING>"empty" {
- return T_EMPTY;
-}
-
-<ST_IN_SCRIPTING>"__halt_compiler" {
- return T_HALT_COMPILER;
-}
-
-<ST_IN_SCRIPTING>"static" {
- return T_STATIC;
-}
-
-<ST_IN_SCRIPTING>"abstract" {
- return T_ABSTRACT;
-}
-
-<ST_IN_SCRIPTING>"final" {
- return T_FINAL;
-}
-
-<ST_IN_SCRIPTING>"private" {
- return T_PRIVATE;
-}
-
-<ST_IN_SCRIPTING>"protected" {
- return T_PROTECTED;
-}
-
-<ST_IN_SCRIPTING>"public" {
- return T_PUBLIC;
-}
-
-<ST_IN_SCRIPTING>"unset" {
- return T_UNSET;
-}
-
-<ST_IN_SCRIPTING>"=>" {
- return T_DOUBLE_ARROW;
-}
-
-<ST_IN_SCRIPTING>"list" {
- return T_LIST;
-}
-
-<ST_IN_SCRIPTING>"array" {
- return T_ARRAY;
-}
-
-<ST_IN_SCRIPTING>"callable" {
- return T_CALLABLE;
-}
-
-<ST_IN_SCRIPTING>"++" {
- return T_INC;
-}
-
-<ST_IN_SCRIPTING>"--" {
- return T_DEC;
-}
-
-<ST_IN_SCRIPTING>"===" {
- return T_IS_IDENTICAL;
-}
-
-<ST_IN_SCRIPTING>"!==" {
- return T_IS_NOT_IDENTICAL;
-}
-
-<ST_IN_SCRIPTING>"==" {
- return T_IS_EQUAL;
-}
-
-<ST_IN_SCRIPTING>"!="|"<>" {
- return T_IS_NOT_EQUAL;
-}
-
-<ST_IN_SCRIPTING>"<=" {
- return T_IS_SMALLER_OR_EQUAL;
-}
-
-<ST_IN_SCRIPTING>">=" {
- return T_IS_GREATER_OR_EQUAL;
-}
-
-<ST_IN_SCRIPTING>"+=" {
- return T_PLUS_EQUAL;
-}
-
-<ST_IN_SCRIPTING>"-=" {
- return T_MINUS_EQUAL;
-}
-
-<ST_IN_SCRIPTING>"*=" {
- return T_MUL_EQUAL;
-}
-
-<ST_IN_SCRIPTING>"/=" {
- return T_DIV_EQUAL;
-}
-
-<ST_IN_SCRIPTING>".=" {
- return T_CONCAT_EQUAL;
-}
-
-<ST_IN_SCRIPTING>"%=" {
- return T_MOD_EQUAL;
-}
-
-<ST_IN_SCRIPTING>"<<=" {
- return T_SL_EQUAL;
-}
-
-<ST_IN_SCRIPTING>">>=" {
- return T_SR_EQUAL;
-}
-
-<ST_IN_SCRIPTING>"&=" {
- return T_AND_EQUAL;
-}
-
-<ST_IN_SCRIPTING>"|=" {
- return T_OR_EQUAL;
-}
-
-<ST_IN_SCRIPTING>"^=" {
- return T_XOR_EQUAL;
-}
-
-<ST_IN_SCRIPTING>"||" {
- return T_BOOLEAN_OR;
-}
-
-<ST_IN_SCRIPTING>"&&" {
- return T_BOOLEAN_AND;
-}
-
-<ST_IN_SCRIPTING>"OR" {
- return T_LOGICAL_OR;
-}
-
-<ST_IN_SCRIPTING>"AND" {
- return T_LOGICAL_AND;
-}
-
-<ST_IN_SCRIPTING>"XOR" {
- return T_LOGICAL_XOR;
-}
-
-<ST_IN_SCRIPTING>"<<" {
- return T_SL;
-}
-
-<ST_IN_SCRIPTING>">>" {
- return T_SR;
-}
-
-<ST_IN_SCRIPTING>{TOKENS} {
- return yytext[0];
-}
-
-
-<ST_IN_SCRIPTING>"{" {
- yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
- return '{';
-}
-
-
-<ST_DOUBLE_QUOTES,ST_BACKQUOTE,ST_HEREDOC>"${" {
- yy_push_state(ST_LOOKING_FOR_VARNAME TSRMLS_CC);
- return T_DOLLAR_OPEN_CURLY_BRACES;
-}
-
-
-<ST_IN_SCRIPTING>"}" {
- RESET_DOC_COMMENT();
- if (!zend_stack_is_empty(&SCNG(state_stack))) {
- yy_pop_state(TSRMLS_C);
- }
- return '}';
-}
-
-
-<ST_LOOKING_FOR_VARNAME>{LABEL}[[}] {
- yyless(yyleng - 1);
- zend_copy_value(zendlval, yytext, yyleng);
- zendlval->type = IS_STRING;
- yy_pop_state(TSRMLS_C);
- yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
- return T_STRING_VARNAME;
-}
-
-
-<ST_LOOKING_FOR_VARNAME>{ANY_CHAR} {
- yyless(0);
- yy_pop_state(TSRMLS_C);
- yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
- goto restart;
-}
-
-<ST_IN_SCRIPTING>{BNUM} {
- char *bin = yytext + 2; /* Skip "0b" */
- int len = yyleng - 2;
-
- /* Skip any leading 0s */
- while (*bin == '0') {
- ++bin;
- --len;
- }
-
- if (len < SIZEOF_LONG * 8) {
- if (len == 0) {
- zendlval->value.lval = 0;
- } else {
- zendlval->value.lval = strtol(bin, NULL, 2);
- }
- zendlval->type = IS_LONG;
- return T_LNUMBER;
- } else {
- zendlval->value.dval = zend_bin_strtod(bin, NULL);
- zendlval->type = IS_DOUBLE;
- return T_DNUMBER;
- }
-}
-
-<ST_IN_SCRIPTING>{LNUM} {
- if (yyleng < MAX_LENGTH_OF_LONG - 1) { /* Won't overflow */
- zendlval->value.lval = strtol(yytext, NULL, 0);
- } else {
- errno = 0;
- zendlval->value.lval = strtol(yytext, NULL, 0);
- if (errno == ERANGE) { /* Overflow */
- if (yytext[0] == '0') { /* octal overflow */
- zendlval->value.dval = zend_oct_strtod(yytext, NULL);
- } else {
- zendlval->value.dval = zend_strtod(yytext, NULL);
- }
- zendlval->type = IS_DOUBLE;
- return T_DNUMBER;
- }
- }
-
- zendlval->type = IS_LONG;
- return T_LNUMBER;
-}
-
-<ST_IN_SCRIPTING>{HNUM} {
- char *hex = yytext + 2; /* Skip "0x" */
- int len = yyleng - 2;
-
- /* Skip any leading 0s */
- while (*hex == '0') {
- hex++;
- len--;
- }
-
- if (len < SIZEOF_LONG * 2 || (len == SIZEOF_LONG * 2 && *hex <= '7')) {
- if (len == 0) {
- zendlval->value.lval = 0;
- } else {
- zendlval->value.lval = strtol(hex, NULL, 16);
- }
- zendlval->type = IS_LONG;
- return T_LNUMBER;
- } else {
- zendlval->value.dval = zend_hex_strtod(hex, NULL);
- zendlval->type = IS_DOUBLE;
- return T_DNUMBER;
- }
-}
-
-<ST_VAR_OFFSET>[0]|([1-9][0-9]*) { /* Offset could be treated as a long */
- if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) {
- zendlval->value.lval = strtol(yytext, NULL, 10);
- zendlval->type = IS_LONG;
- } else {
- zendlval->value.str.val = (char *)estrndup(yytext, yyleng);
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- }
- return T_NUM_STRING;
-}
-
-<ST_VAR_OFFSET>{LNUM}|{HNUM}|{BNUM} { /* Offset must be treated as a string */
- zendlval->value.str.val = (char *)estrndup(yytext, yyleng);
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- return T_NUM_STRING;
-}
-
-<ST_IN_SCRIPTING>{DNUM}|{EXPONENT_DNUM} {
- zendlval->value.dval = zend_strtod(yytext, NULL);
- zendlval->type = IS_DOUBLE;
- return T_DNUMBER;
-}
-
-<ST_IN_SCRIPTING>"__CLASS__" {
- const char *class_name = NULL;
-
- if (CG(active_class_entry)
- && (ZEND_ACC_TRAIT ==
- (CG(active_class_entry)->ce_flags & ZEND_ACC_TRAIT))) {
- /* We create a special __CLASS__ constant that is going to be resolved
- at run-time */
- zendlval->value.str.len = sizeof("__CLASS__")-1;
- zendlval->value.str.val = estrndup("__CLASS__", zendlval->value.str.len);
- zendlval->type = IS_CONSTANT;
- } else {
- if (CG(active_class_entry)) {
- class_name = CG(active_class_entry)->name;
- }
-
- if (!class_name) {
- class_name = "";
- }
-
- zendlval->value.str.len = strlen(class_name);
- zendlval->value.str.val = estrndup(class_name, zendlval->value.str.len);
- zendlval->type = IS_STRING;
- }
- return T_CLASS_C;
-}
-
-<ST_IN_SCRIPTING>"__TRAIT__" {
- const char *trait_name = NULL;
-
- if (CG(active_class_entry)
- && (ZEND_ACC_TRAIT ==
- (CG(active_class_entry)->ce_flags & ZEND_ACC_TRAIT))) {
- trait_name = CG(active_class_entry)->name;
- }
-
- if (!trait_name) {
- trait_name = "";
- }
-
- zendlval->value.str.len = strlen(trait_name);
- zendlval->value.str.val = estrndup(trait_name, zendlval->value.str.len);
- zendlval->type = IS_STRING;
-
- return T_TRAIT_C;
-}
-
-<ST_IN_SCRIPTING>"__FUNCTION__" {
- const char *func_name = NULL;
-
- if (CG(active_op_array)) {
- func_name = CG(active_op_array)->function_name;
- }
-
- if (!func_name) {
- func_name = "";
- }
- zendlval->value.str.len = strlen(func_name);
- zendlval->value.str.val = estrndup(func_name, zendlval->value.str.len);
- zendlval->type = IS_STRING;
- return T_FUNC_C;
-}
-
-<ST_IN_SCRIPTING>"__METHOD__" {
- const char *class_name = CG(active_class_entry) ? CG(active_class_entry)->name : NULL;
- const char *func_name = CG(active_op_array)? CG(active_op_array)->function_name : NULL;
- size_t len = 0;
-
- if (class_name) {
- len += strlen(class_name) + 2;
- }
- if (func_name) {
- len += strlen(func_name);
- }
-
- zendlval->value.str.len = zend_spprintf(&zendlval->value.str.val, 0, "%s%s%s",
- class_name ? class_name : "",
- class_name && func_name ? "::" : "",
- func_name ? func_name : ""
- );
- zendlval->type = IS_STRING;
- return T_METHOD_C;
-}
-
-<ST_IN_SCRIPTING>"__LINE__" {
- zendlval->value.lval = CG(zend_lineno);
- zendlval->type = IS_LONG;
- return T_LINE;
-}
-
-<ST_IN_SCRIPTING>"__FILE__" {
- char *filename = zend_get_compiled_filename(TSRMLS_C);
-
- if (!filename) {
- filename = "";
- }
- zendlval->value.str.len = strlen(filename);
- zendlval->value.str.val = estrndup(filename, zendlval->value.str.len);
- zendlval->type = IS_STRING;
- return T_FILE;
-}
-
-<ST_IN_SCRIPTING>"__DIR__" {
- char *filename = zend_get_compiled_filename(TSRMLS_C);
- const size_t filename_len = strlen(filename);
- char *dirname;
-
- if (!filename) {
- filename = "";
- }
-
- dirname = estrndup(filename, filename_len);
- zend_dirname(dirname, filename_len);
-
- if (strcmp(dirname, ".") == 0) {
- dirname = erealloc(dirname, MAXPATHLEN);
-#if HAVE_GETCWD
- VCWD_GETCWD(dirname, MAXPATHLEN);
-#elif HAVE_GETWD
- VCWD_GETWD(dirname);
-#endif
- }
-
- zendlval->value.str.len = strlen(dirname);
- zendlval->value.str.val = dirname;
- zendlval->type = IS_STRING;
- return T_DIR;
-}
-
-<ST_IN_SCRIPTING>"__NAMESPACE__" {
- if (CG(current_namespace)) {
- *zendlval = *CG(current_namespace);
- zval_copy_ctor(zendlval);
- } else {
- ZVAL_EMPTY_STRING(zendlval);
- }
- return T_NS_C;
-}
-
-<INITIAL>"<script"{WHITESPACE}+"language"{WHITESPACE}*"="{WHITESPACE}*("php"|"\"php\""|"'php'"){WHITESPACE}*">" {
- YYCTYPE *bracket = (YYCTYPE*)zend_memrchr(yytext, '<', yyleng - (sizeof("script language=php>") - 1));
-
- if (bracket != SCNG(yy_text)) {
- /* Handle previously scanned HTML, as possible <script> tags found are assumed to not be PHP's */
- YYCURSOR = bracket;
- goto inline_html;
- }
-
- HANDLE_NEWLINES(yytext, yyleng);
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- BEGIN(ST_IN_SCRIPTING);
- return T_OPEN_TAG;
-}
-
-
-<INITIAL>"<%=" {
- if (CG(asp_tags)) {
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- BEGIN(ST_IN_SCRIPTING);
- return T_OPEN_TAG_WITH_ECHO;
- } else {
- goto inline_char_handler;
- }
-}
-
-
-<INITIAL>"<?=" {
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- BEGIN(ST_IN_SCRIPTING);
- return T_OPEN_TAG_WITH_ECHO;
-}
-
-
-<INITIAL>"<%" {
- if (CG(asp_tags)) {
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- BEGIN(ST_IN_SCRIPTING);
- return T_OPEN_TAG;
- } else {
- goto inline_char_handler;
- }
-}
-
-
-<INITIAL>"<?php"([ \t]|{NEWLINE}) {
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- HANDLE_NEWLINE(yytext[yyleng-1]);
- BEGIN(ST_IN_SCRIPTING);
- return T_OPEN_TAG;
-}
-
-
-<INITIAL>"<?" {
- if (CG(short_tags)) {
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- BEGIN(ST_IN_SCRIPTING);
- return T_OPEN_TAG;
- } else {
- goto inline_char_handler;
- }
-}
-
-<INITIAL>{ANY_CHAR} {
- if (YYCURSOR > YYLIMIT) {
- return 0;
- }
-
-inline_char_handler:
-
- while (1) {
- YYCTYPE *ptr = memchr(YYCURSOR, '<', YYLIMIT - YYCURSOR);
-
- YYCURSOR = ptr ? ptr + 1 : YYLIMIT;
-
- if (YYCURSOR < YYLIMIT) {
- switch (*YYCURSOR) {
- case '?':
- if (CG(short_tags) || !strncasecmp((char*)YYCURSOR + 1, "php", 3) || (*(YYCURSOR + 1) == '=')) { /* Assume [ \t\n\r] follows "php" */
- break;
- }
- continue;
- case '%':
- if (CG(asp_tags)) {
- break;
- }
- continue;
- case 's':
- case 'S':
- /* Probably NOT an opening PHP <script> tag, so don't end the HTML chunk yet
- * If it is, the PHP <script> tag rule checks for any HTML scanned before it */
- YYCURSOR--;
- yymore();
- default:
- continue;
- }
-
- YYCURSOR--;
- }
-
- break;
- }
-
-inline_html:
- yyleng = YYCURSOR - SCNG(yy_text);
-
- if (SCNG(output_filter)) {
- int readsize;
- size_t sz = 0;
- readsize = SCNG(output_filter)((unsigned char **)&(zendlval->value.str.val), &sz, (unsigned char *)yytext, (size_t)yyleng TSRMLS_CC);
- zendlval->value.str.len = sz;
- if (readsize < yyleng) {
- yyless(readsize);
- }
- } else {
- zendlval->value.str.val = (char *) estrndup(yytext, yyleng);
- zendlval->value.str.len = yyleng;
- }
- zendlval->type = IS_STRING;
- HANDLE_NEWLINES(yytext, yyleng);
- return T_INLINE_HTML;
-}
-
-
-/* Make sure a label character follows "->", otherwise there is no property
- * and "->" will be taken literally
- */
-<ST_DOUBLE_QUOTES,ST_HEREDOC,ST_BACKQUOTE>"$"{LABEL}"->"[a-zA-Z_\x7f-\xff] {
- yyless(yyleng - 3);
- yy_push_state(ST_LOOKING_FOR_PROPERTY TSRMLS_CC);
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- zendlval->type = IS_STRING;
- return T_VARIABLE;
-}
-
-/* A [ always designates a variable offset, regardless of what follows
- */
-<ST_DOUBLE_QUOTES,ST_HEREDOC,ST_BACKQUOTE>"$"{LABEL}"[" {
- yyless(yyleng - 1);
- yy_push_state(ST_VAR_OFFSET TSRMLS_CC);
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- zendlval->type = IS_STRING;
- return T_VARIABLE;
-}
-
-<ST_IN_SCRIPTING,ST_DOUBLE_QUOTES,ST_HEREDOC,ST_BACKQUOTE,ST_VAR_OFFSET>"$"{LABEL} {
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- zendlval->type = IS_STRING;
- return T_VARIABLE;
-}
-
-<ST_VAR_OFFSET>"]" {
- yy_pop_state(TSRMLS_C);
- return ']';
-}
-
-<ST_VAR_OFFSET>{TOKENS}|[{}"`] {
- /* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */
- return yytext[0];
-}
-
-<ST_VAR_OFFSET>[ \n\r\t\\'#] {
- /* Invalid rule to return a more explicit parse error with proper line number */
- yyless(0);
- yy_pop_state(TSRMLS_C);
- return T_ENCAPSED_AND_WHITESPACE;
-}
-
-<ST_IN_SCRIPTING,ST_VAR_OFFSET>{LABEL} {
- zend_copy_value(zendlval, yytext, yyleng);
- zendlval->type = IS_STRING;
- return T_STRING;
-}
-
-
-<ST_IN_SCRIPTING>"#"|"//" {
- while (YYCURSOR < YYLIMIT) {
- switch (*YYCURSOR++) {
- case '\r':
- if (*YYCURSOR == '\n') {
- YYCURSOR++;
- }
- /* fall through */
- case '\n':
- CG(zend_lineno)++;
- break;
- case '%':
- if (!CG(asp_tags)) {
- continue;
- }
- /* fall through */
- case '?':
- if (*YYCURSOR == '>') {
- YYCURSOR--;
- break;
- }
- /* fall through */
- default:
- continue;
- }
-
- break;
- }
-
- yyleng = YYCURSOR - SCNG(yy_text);
-
- return T_COMMENT;
-}
-
-<ST_IN_SCRIPTING>"/*"|"/**"{WHITESPACE} {
- int doc_com;
-
- if (yyleng > 2) {
- doc_com = 1;
- RESET_DOC_COMMENT();
- } else {
- doc_com = 0;
- }
-
- while (YYCURSOR < YYLIMIT) {
- if (*YYCURSOR++ == '*' && *YYCURSOR == '/') {
- break;
- }
- }
-
- if (YYCURSOR < YYLIMIT) {
- YYCURSOR++;
- } else {
- zend_error(E_COMPILE_WARNING, "Unterminated comment starting line %d", CG(zend_lineno));
- }
-
- yyleng = YYCURSOR - SCNG(yy_text);
- HANDLE_NEWLINES(yytext, yyleng);
-
- if (doc_com) {
- CG(doc_comment) = estrndup(yytext, yyleng);
- CG(doc_comment_len) = yyleng;
- return T_DOC_COMMENT;
- }
-
- return T_COMMENT;
-}
-
-<ST_IN_SCRIPTING>("?>"|"</script"{WHITESPACE}*">"){NEWLINE}? {
- zendlval->value.str.val = yytext; /* no copying - intentional */
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- BEGIN(INITIAL);
- return T_CLOSE_TAG; /* implicit ';' at php-end tag */
-}
-
-
-<ST_IN_SCRIPTING>"%>"{NEWLINE}? {
- if (CG(asp_tags)) {
- BEGIN(INITIAL);
- zendlval->value.str.len = yyleng;
- zendlval->type = IS_STRING;
- zendlval->value.str.val = yytext; /* no copying - intentional */
- return T_CLOSE_TAG; /* implicit ';' at php-end tag */
- } else {
- yyless(1);
- return yytext[0];
- }
-}
-
-
-<ST_IN_SCRIPTING>b?['] {
- register char *s, *t;
- char *end;
- int bprefix = (yytext[0] != '\'') ? 1 : 0;
-
- while (1) {
- if (YYCURSOR < YYLIMIT) {
- if (*YYCURSOR == '\'') {
- YYCURSOR++;
- yyleng = YYCURSOR - SCNG(yy_text);
-
- break;
- } else if (*YYCURSOR++ == '\\' && YYCURSOR < YYLIMIT) {
- YYCURSOR++;
- }
- } else {
- yyleng = YYLIMIT - SCNG(yy_text);
-
- /* Unclosed single quotes; treat similar to double quotes, but without a separate token
- * for ' (unrecognized by parser), instead of old flex fallback to "Unexpected character..."
- * rule, which continued in ST_IN_SCRIPTING state after the quote */
- return T_ENCAPSED_AND_WHITESPACE;
- }
- }
-
- zendlval->value.str.val = estrndup(yytext+bprefix+1, yyleng-bprefix-2);
- zendlval->value.str.len = yyleng-bprefix-2;
- zendlval->type = IS_STRING;
-
- /* convert escape sequences */
- s = t = zendlval->value.str.val;
- end = s+zendlval->value.str.len;
- while (s<end) {
- if (*s=='\\') {
- s++;
-
- switch(*s) {
- case '\\':
- case '\'':
- *t++ = *s;
- zendlval->value.str.len--;
- break;
- default:
- *t++ = '\\';
- *t++ = *s;
- break;
- }
- } else {
- *t++ = *s;
- }
-
- if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
- CG(zend_lineno)++;
- }
- s++;
- }
- *t = 0;
-
- if (SCNG(output_filter)) {
- size_t sz = 0;
- s = zendlval->value.str.val;
- SCNG(output_filter)((unsigned char **)&(zendlval->value.str.val), &sz, (unsigned char *)s, (size_t)zendlval->value.str.len TSRMLS_CC);
- zendlval->value.str.len = sz;
- efree(s);
- }
- return T_CONSTANT_ENCAPSED_STRING;
-}
-
-
-<ST_IN_SCRIPTING>b?["] {
- int bprefix = (yytext[0] != '"') ? 1 : 0;
-
- while (YYCURSOR < YYLIMIT) {
- switch (*YYCURSOR++) {
- case '"':
- yyleng = YYCURSOR - SCNG(yy_text);
- zend_scan_escape_string(zendlval, yytext+bprefix+1, yyleng-bprefix-2, '"' TSRMLS_CC);
- return T_CONSTANT_ENCAPSED_STRING;
- case '$':
- if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
- break;
- }
- continue;
- case '{':
- if (*YYCURSOR == '$') {
- break;
- }
- continue;
- case '\\':
- if (YYCURSOR < YYLIMIT) {
- YYCURSOR++;
- }
- /* fall through */
- default:
- continue;
- }
-
- YYCURSOR--;
- break;
- }
-
- /* Remember how much was scanned to save rescanning */
- SET_DOUBLE_QUOTES_SCANNED_LENGTH(YYCURSOR - SCNG(yy_text) - yyleng);
-
- YYCURSOR = SCNG(yy_text) + yyleng;
-
- BEGIN(ST_DOUBLE_QUOTES);
- return '"';
-}
-
-
-<ST_IN_SCRIPTING>b?"<<<"{TABS_AND_SPACES}({LABEL}|([']{LABEL}['])|(["]{LABEL}["])){NEWLINE} {
- char *s;
- int bprefix = (yytext[0] != '<') ? 1 : 0;
- zend_heredoc_label *heredoc_label = emalloc(sizeof(zend_heredoc_label));
-
- CG(zend_lineno)++;
- heredoc_label->length = yyleng-bprefix-3-1-(yytext[yyleng-2]=='\r'?1:0);
- s = yytext+bprefix+3;
- while ((*s == ' ') || (*s == '\t')) {
- s++;
- heredoc_label->length--;
- }
-
- if (*s == '\'') {
- s++;
- heredoc_label->length -= 2;
-
- BEGIN(ST_NOWDOC);
- } else {
- if (*s == '"') {
- s++;
- heredoc_label->length -= 2;
- }
-
- BEGIN(ST_HEREDOC);
- }
-
- heredoc_label->label = estrndup(s, heredoc_label->length);
-
- /* Check for ending label on the next line */
- if (heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, s, heredoc_label->length)) {
- YYCTYPE *end = YYCURSOR + heredoc_label->length;
-
- if (*end == ';') {
- end++;
- }
-
- if (*end == '\n' || *end == '\r') {
- BEGIN(ST_END_HEREDOC);
- }
- }
-
- zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) heredoc_label);
-
- return T_START_HEREDOC;
-}
-
-
-<ST_IN_SCRIPTING>[`] {
- BEGIN(ST_BACKQUOTE);
- return '`';
-}
-
-
-<ST_END_HEREDOC>{ANY_CHAR} {
- zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack));
-
- YYCURSOR += heredoc_label->length - 1;
- yyleng = heredoc_label->length;
-
- heredoc_label_dtor(heredoc_label);
- efree(heredoc_label);
-
- BEGIN(ST_IN_SCRIPTING);
- return T_END_HEREDOC;
-}
-
-
-<ST_DOUBLE_QUOTES,ST_BACKQUOTE,ST_HEREDOC>"{$" {
- zendlval->value.lval = (long) '{';
- yy_push_state(ST_IN_SCRIPTING TSRMLS_CC);
- yyless(1);
- return T_CURLY_OPEN;
-}
-
-
-<ST_DOUBLE_QUOTES>["] {
- BEGIN(ST_IN_SCRIPTING);
- return '"';
-}
-
-<ST_BACKQUOTE>[`] {
- BEGIN(ST_IN_SCRIPTING);
- return '`';
-}
-
-
-<ST_DOUBLE_QUOTES>{ANY_CHAR} {
- if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {
- YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;
- SET_DOUBLE_QUOTES_SCANNED_LENGTH(0);
-
- goto double_quotes_scan_done;
- }
-
- if (YYCURSOR > YYLIMIT) {
- return 0;
- }
- if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
- YYCURSOR++;
- }
-
- while (YYCURSOR < YYLIMIT) {
- switch (*YYCURSOR++) {
- case '"':
- break;
- case '$':
- if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
- break;
- }
- continue;
- case '{':
- if (*YYCURSOR == '$') {
- break;
- }
- continue;
- case '\\':
- if (YYCURSOR < YYLIMIT) {
- YYCURSOR++;
- }
- /* fall through */
- default:
- continue;
- }
-
- YYCURSOR--;
- break;
- }
-
-double_quotes_scan_done:
- yyleng = YYCURSOR - SCNG(yy_text);
-
- zend_scan_escape_string(zendlval, yytext, yyleng, '"' TSRMLS_CC);
- return T_ENCAPSED_AND_WHITESPACE;
-}
-
-
-<ST_BACKQUOTE>{ANY_CHAR} {
- if (YYCURSOR > YYLIMIT) {
- return 0;
- }
- if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
- YYCURSOR++;
- }
-
- while (YYCURSOR < YYLIMIT) {
- switch (*YYCURSOR++) {
- case '`':
- break;
- case '$':
- if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
- break;
- }
- continue;
- case '{':
- if (*YYCURSOR == '$') {
- break;
- }
- continue;
- case '\\':
- if (YYCURSOR < YYLIMIT) {
- YYCURSOR++;
- }
- /* fall through */
- default:
- continue;
- }
-
- YYCURSOR--;
- break;
- }
-
- yyleng = YYCURSOR - SCNG(yy_text);
-
- zend_scan_escape_string(zendlval, yytext, yyleng, '`' TSRMLS_CC);
- return T_ENCAPSED_AND_WHITESPACE;
-}
-
-
-<ST_HEREDOC>{ANY_CHAR} {
- int newline = 0;
-
- zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
-
- if (YYCURSOR > YYLIMIT) {
- return 0;
- }
-
- YYCURSOR--;
-
- while (YYCURSOR < YYLIMIT) {
- switch (*YYCURSOR++) {
- case '\r':
- if (*YYCURSOR == '\n') {
- YYCURSOR++;
- }
- /* fall through */
- case '\n':
- /* Check for ending label on the next line */
- if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
- YYCTYPE *end = YYCURSOR + heredoc_label->length;
-
- if (*end == ';') {
- end++;
- }
-
- if (*end == '\n' || *end == '\r') {
- /* newline before label will be subtracted from returned text, but
- * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
- if (YYCURSOR[-2] == '\r' && YYCURSOR[-1] == '\n') {
- newline = 2; /* Windows newline */
- } else {
- newline = 1;
- }
-
- CG(increment_lineno) = 1; /* For newline before label */
- BEGIN(ST_END_HEREDOC);
-
- goto heredoc_scan_done;
- }
- }
- continue;
- case '$':
- if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
- break;
- }
- continue;
- case '{':
- if (*YYCURSOR == '$') {
- break;
- }
- continue;
- case '\\':
- if (YYCURSOR < YYLIMIT && *YYCURSOR != '\n' && *YYCURSOR != '\r') {
- YYCURSOR++;
- }
- /* fall through */
- default:
- continue;
- }
-
- YYCURSOR--;
- break;
- }
-
-heredoc_scan_done:
- yyleng = YYCURSOR - SCNG(yy_text);
-
- zend_scan_escape_string(zendlval, yytext, yyleng - newline, 0 TSRMLS_CC);
- return T_ENCAPSED_AND_WHITESPACE;
-}
-
-
-<ST_NOWDOC>{ANY_CHAR} {
- int newline = 0;
-
- zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
-
- if (YYCURSOR > YYLIMIT) {
- return 0;
- }
-
- YYCURSOR--;
-
- while (YYCURSOR < YYLIMIT) {
- switch (*YYCURSOR++) {
- case '\r':
- if (*YYCURSOR == '\n') {
- YYCURSOR++;
- }
- /* fall through */
- case '\n':
- /* Check for ending label on the next line */
- if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
- YYCTYPE *end = YYCURSOR + heredoc_label->length;
-
- if (*end == ';') {
- end++;
- }
-
- if (*end == '\n' || *end == '\r') {
- /* newline before label will be subtracted from returned text, but
- * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
- if (YYCURSOR[-2] == '\r' && YYCURSOR[-1] == '\n') {
- newline = 2; /* Windows newline */
- } else {
- newline = 1;
- }
-
- CG(increment_lineno) = 1; /* For newline before label */
- BEGIN(ST_END_HEREDOC);
-
- goto nowdoc_scan_done;
- }
- }
- /* fall through */
- default:
- continue;
- }
- }
-
-nowdoc_scan_done:
- yyleng = YYCURSOR - SCNG(yy_text);
-
- zend_copy_value(zendlval, yytext, yyleng - newline);
- zendlval->type = IS_STRING;
- HANDLE_NEWLINES(yytext, yyleng - newline);
- return T_ENCAPSED_AND_WHITESPACE;
-}
-
-
-<ST_IN_SCRIPTING,ST_VAR_OFFSET>{ANY_CHAR} {
- if (YYCURSOR > YYLIMIT) {
- return 0;
- }
-
- zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
- goto restart;
-}
-
-*/
-}
-
diff --git a/test/php20150211_json_scanner.igc.c b/test/php20150211_json_scanner.igc.c
index 278a7925..f9dbed61 100644
--- a/test/php20150211_json_scanner.igc.c
+++ b/test/php20150211_json_scanner.igc.c
@@ -200,8 +200,7 @@ yy6:
return PHP_JSON_T_ERROR;
}
yy7:
- ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
yy8:
if (yybm[0+yych] & 64) {
goto yy7;
@@ -209,7 +208,7 @@ yy8:
yy9:
{ goto std; }
yy10:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy9;
yy11:
yych = *++YYCURSOR;
@@ -268,8 +267,7 @@ yy18:
}
yy19:
yyaccept = 0;
- YYMARKER = ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *(YYMARKER = ++YYCURSOR);
if (yybm[0+yych] & 128) {
goto yy19;
}
@@ -351,8 +349,7 @@ yy39:
goto yy35;
yy40:
yyaccept = 2;
- YYMARKER = ++YYCURSOR;
- yych = *YYCURSOR;
+ yych = *(YYMARKER = ++YYCURSOR);
if (yych <= 'D') {
if (yych <= '/') goto yy42;
if (yych <= '9') goto yy40;
@@ -370,8 +367,7 @@ yy43:
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;
diff --git a/test/php20150211_parse_date.ig.c b/test/php20150211_parse_date.ig.c
index c56e7e58..64cc04df 100644
--- a/test/php20150211_parse_date.ig.c
+++ b/test/php20150211_parse_date.ig.c
@@ -965,7 +965,7 @@ yy9:
goto *yytarget[yych];
}
yy10:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy7;
yy11:
yyaccept = 1;
@@ -1175,7 +1175,7 @@ yy16:
if (yych <= '9') goto yy104;
goto yy5;
yy17:
- ++YYCURSOR;
+ yych = *++YYCURSOR;
{
static void *yytarget[256] = {
&&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
@@ -1211,7 +1211,7 @@ yy17:
&&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
&&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
};
- goto *yytarget[(yych = *YYCURSOR)];
+ goto *yytarget[yych];
}
yy18:
{
@@ -3713,7 +3713,7 @@ yy106:
return TIMELIB_RELATIVE;
}
yy107:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy18;
yy108:
yych = *++YYCURSOR;
@@ -7299,8 +7299,8 @@ yy237:
goto *yytarget[yych];
}
yy239:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy240;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy240;
if (yych <= '9') goto yy408;
yy240:
{
@@ -7805,8 +7805,8 @@ yy270:
goto yy18;
}
yy271:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '@') {
+ yych = *++YYCURSOR;
+ if (yych <= '@') {
if (yych == ')') goto yy107;
} else {
if (yych <= 'Z') goto yy443;
@@ -8565,7 +8565,7 @@ yy292:
goto *yytarget[yych];
}
yy293:
- ++YYCURSOR;
+ yych = *++YYCURSOR;
{
static void *yytarget[256] = {
&&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
@@ -8601,7 +8601,7 @@ yy293:
&&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
&&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294
};
- goto *yytarget[(yych = *YYCURSOR)];
+ goto *yytarget[yych];
}
yy294:
{
@@ -9829,8 +9829,8 @@ yy329:
goto *yytarget[yych];
}
yy330:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '@') {
+ yych = *++YYCURSOR;
+ if (yych <= '@') {
if (yych == ')') goto yy107;
} else {
if (yych <= 'Z') goto yy443;
@@ -11720,8 +11720,8 @@ yy400:
goto *yytarget[yych];
}
yy401:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == 'S') goto yy591;
+ yych = *++YYCURSOR;
+ if (yych == 'S') goto yy591;
if (yych == 's') goto yy591;
yy402:
{
@@ -14199,8 +14199,8 @@ yy502:
goto *yytarget[yych];
}
yy503:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '@') {
+ yych = *++YYCURSOR;
+ if (yych <= '@') {
if (yych == ')') goto yy107;
} else {
if (yych <= 'Z') goto yy630;
@@ -16057,8 +16057,8 @@ yy574:
goto *yytarget[yych];
}
yy575:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 'U') {
+ yych = *++YYCURSOR;
+ if (yych <= 'U') {
if (yych == 'I') goto yy766;
} else {
if (yych == 'W') goto yy576;
@@ -16286,7 +16286,7 @@ yy590:
if (yych == 's') goto yy781;
goto yy56;
yy591:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy402;
yy592:
yych = *++YYCURSOR;
@@ -17745,7 +17745,7 @@ yy670:
if (yych == ':') goto yy486;
goto yy669;
yy671:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy669;
yy672:
yyaccept = 17;
@@ -18559,8 +18559,8 @@ yy702:
if (yych <= '6') goto yy859;
goto yy396;
yy703:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '@') {
+ yych = *++YYCURSOR;
+ if (yych <= '@') {
if (yych == ')') goto yy107;
} else {
if (yych <= 'Z') goto yy800;
@@ -19615,7 +19615,7 @@ yy766:
yych = *++YYCURSOR;
if (yych != 'I') goto yy576;
yy767:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy576;
yy768:
yych = *++YYCURSOR;
@@ -19813,7 +19813,7 @@ yy784:
if (yych == 'y') goto yy591;
goto yy56;
yy785:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy240;
yy786:
yych = *++YYCURSOR;
@@ -21635,7 +21635,7 @@ yy872:
if (yych <= '9') goto yy988;
goto yy56;
yy873:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy544;
yy874:
++YYCURSOR;
@@ -22320,7 +22320,7 @@ yy933:
if (yych == 'y') goto yy951;
goto yy925;
yy934:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy136;
yy935:
yyaccept = 17;
@@ -22376,7 +22376,7 @@ yy940:
if (yych == '0') goto yy1039;
goto yy673;
yy941:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy673;
yy942:
yyaccept = 17;
@@ -22675,45 +22675,11 @@ yy974:
goto yy925;
yy975:
yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy810, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy810, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy276, &&yy56, &&yy276,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy276,
- &&yy56, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
+ if (yych == '\t') goto yy810;
+ if (yych == ' ') goto yy810;
+ goto yy925;
yy976:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy755;
yy977:
yych = *++YYCURSOR;
@@ -22721,7 +22687,7 @@ yy977:
if (yych == 'w') goto yy1063;
goto yy56;
yy978:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy294;
yy979:
yych = *++YYCURSOR;
@@ -22824,7 +22790,7 @@ yy988:
return TIMELIB_DATE_FULL_POINTED;
}
yy990:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy213;
yy991:
yych = *++YYCURSOR;
@@ -23127,7 +23093,7 @@ yy1008:
goto yy576;
}
yy1009:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy900;
yy1010:
yyaccept = 26;
@@ -23391,8 +23357,8 @@ yy1033:
if (yych <= '1') goto yy1093;
goto yy56;
yy1034:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy1035;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy1035;
if (yych <= '9') goto yy1095;
yy1035:
{
@@ -23642,8 +23608,8 @@ yy1044:
goto yy56;
}
yy1045:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == 'S') goto yy1116;
+ yych = *++YYCURSOR;
+ if (yych == 'S') goto yy1116;
if (yych == 's') goto yy1116;
yy1046:
{
@@ -24008,7 +23974,7 @@ yy1058:
goto yy1046;
}
yy1059:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy704;
yy1060:
yyaccept = 18;
@@ -24031,43 +23997,9 @@ yy1061:
goto yy56;
yy1062:
yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy685, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy685, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy276, &&yy56, &&yy276,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy276,
- &&yy56, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
+ if (yych == '\t') goto yy685;
+ if (yych == ' ') goto yy685;
+ goto yy925;
yy1063:
++YYCURSOR;
yy1064:
@@ -24872,7 +24804,7 @@ yy1115:
goto yy56;
}
yy1116:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy1046;
yy1117:
yych = *++YYCURSOR;
@@ -25164,7 +25096,7 @@ yy1141:
goto *yytarget[yych];
}
yy1142:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy1011;
yy1143:
yyaccept = 26;
@@ -25614,7 +25546,7 @@ yy1181:
goto yy56;
}
yy1182:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy1035;
yy1183:
yych = *++YYCURSOR;
@@ -25882,7 +25814,7 @@ yy1210:
goto yy56;
}
yy1211:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy1097;
yy1212:
yych = *++YYCURSOR;
@@ -26093,8 +26025,8 @@ yy1229:
if (yych <= '5') goto yy1237;
goto yy56;
yy1230:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy1231;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy1231;
if (yych <= '9') goto yy1233;
yy1231:
{
@@ -26125,7 +26057,7 @@ yy1232:
yych = *++YYCURSOR;
if (yych != '0') goto yy1231;
yy1233:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy1231;
yy1234:
yych = *++YYCURSOR;
@@ -26378,8 +26310,8 @@ yy1256:
goto *yytarget[yych];
}
yy1258:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy1259;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy1259;
if (yych <= '9') goto yy1261;
if (yych <= ':') goto yy1265;
yy1259:
@@ -26445,7 +26377,7 @@ yy1266:
if (yych <= '/') goto yy1259;
if (yych >= ':') goto yy1259;
yy1267:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy1259;
yy1268:
yych = *++YYCURSOR;
@@ -26486,8 +26418,8 @@ yy1273:
if (yych <= '9') goto yy1233;
goto yy1231;
yy1274:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '+') goto yy1263;
+ yych = *++YYCURSOR;
+ if (yych == '+') goto yy1263;
if (yych == '-') goto yy1263;
goto yy56;
}
@@ -26496,6 +26428,7 @@ yy1274:
#define YYMAXFILL 31
+
timelib_time* timelib_strtotime(char *s, size_t len, struct timelib_error_container **errors, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_get_wrapper)
{
Scanner in;
diff --git a/test/php20150211_parse_date_crlf.ig.c b/test/php20150211_parse_date_crlf.ig.c
deleted file mode 100644
index 3207dc2c..00000000
--- a/test/php20150211_parse_date_crlf.ig.c
+++ /dev/null
@@ -1,27020 +0,0 @@
-/* Generated by re2c */
-/*
- +----------------------------------------------------------------------+
- | PHP Version 7 |
- +----------------------------------------------------------------------+
- | Copyright (c) 1997-2015 The PHP Group |
- +----------------------------------------------------------------------+
- | This source file is subject to version 3.01 of the PHP license, |
- | that is bundled with this package in the file LICENSE, and is |
- | available through the world-wide-web at the following url: |
- | http://www.php.net/license/3_01.txt |
- | If you did not receive a copy of the PHP license and are unable to |
- | obtain it through the world-wide-web, please send a note to |
- | license@php.net so we can mail you a copy immediately. |
- +----------------------------------------------------------------------+
- | Authors: Derick Rethans <derick@derickrethans.nl> |
- +----------------------------------------------------------------------+
- */
-
-/* $Id$ */
-
-#include "timelib.h"
-
-#include <stdio.h>
-#include <ctype.h>
-#include <math.h>
-#include <assert.h>
-
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-#ifdef HAVE_STRING_H
-#include <string.h>
-#else
-#include <strings.h>
-#endif
-
-#if defined(_MSC_VER)
-# define strtoll(s, f, b) _atoi64(s)
-#elif !defined(HAVE_STRTOLL)
-# if defined(HAVE_ATOLL)
-# define strtoll(s, f, b) atoll(s)
-# else
-# define strtoll(s, f, b) strtol(s, f, b)
-# endif
-#endif
-
-#define TIMELIB_UNSET -99999
-
-#define TIMELIB_SECOND 1
-#define TIMELIB_MINUTE 2
-#define TIMELIB_HOUR 3
-#define TIMELIB_DAY 4
-#define TIMELIB_MONTH 5
-#define TIMELIB_YEAR 6
-#define TIMELIB_WEEKDAY 7
-#define TIMELIB_SPECIAL 8
-
-#define EOI 257
-#define TIME 258
-#define DATE 259
-
-#define TIMELIB_XMLRPC_SOAP 260
-#define TIMELIB_TIME12 261
-#define TIMELIB_TIME24 262
-#define TIMELIB_GNU_NOCOLON 263
-#define TIMELIB_GNU_NOCOLON_TZ 264
-#define TIMELIB_ISO_NOCOLON 265
-
-#define TIMELIB_AMERICAN 266
-#define TIMELIB_ISO_DATE 267
-#define TIMELIB_DATE_FULL 268
-#define TIMELIB_DATE_TEXT 269
-#define TIMELIB_DATE_NOCOLON 270
-#define TIMELIB_PG_YEARDAY 271
-#define TIMELIB_PG_TEXT 272
-#define TIMELIB_PG_REVERSE 273
-#define TIMELIB_CLF 274
-#define TIMELIB_DATE_NO_DAY 275
-#define TIMELIB_SHORTDATE_WITH_TIME 276
-#define TIMELIB_DATE_FULL_POINTED 277
-#define TIMELIB_TIME24_WITH_ZONE 278
-#define TIMELIB_ISO_WEEK 279
-#define TIMELIB_LF_DAY_OF_MONTH 280
-#define TIMELIB_WEEK_DAY_OF_MONTH 281
-
-#define TIMELIB_TIMEZONE 300
-#define TIMELIB_AGO 301
-
-#define TIMELIB_RELATIVE 310
-
-#define TIMELIB_ERROR 999
-
-/* Some compilers like AIX, defines uchar in sys/types.h */
-#undef uchar
-typedef unsigned char uchar;
-
-#define BSIZE 8192
-
-#define YYCTYPE uchar
-#define YYCURSOR cursor
-#define YYLIMIT s->lim
-#define YYMARKER s->ptr
-#define YYFILL(n) return EOI;
-
-#define RET(i) {s->cur = cursor; return i;}
-
-#define timelib_string_free free
-
-#define TIMELIB_HAVE_TIME() { if (s->time->have_time) { add_error(s, "Double time specification"); timelib_string_free(str); return TIMELIB_ERROR; } else { s->time->have_time = 1; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } }
-#define TIMELIB_UNHAVE_TIME() { s->time->have_time = 0; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; }
-#define TIMELIB_HAVE_DATE() { if (s->time->have_date) { add_error(s, "Double date specification"); timelib_string_free(str); return TIMELIB_ERROR; } else { s->time->have_date = 1; } }
-#define TIMELIB_UNHAVE_DATE() { s->time->have_date = 0; s->time->d = 0; s->time->m = 0; s->time->y = 0; }
-#define TIMELIB_HAVE_RELATIVE() { s->time->have_relative = 1; }
-#define TIMELIB_HAVE_WEEKDAY_RELATIVE() { s->time->have_relative = 1; s->time->relative.have_weekday_relative = 1; }
-#define TIMELIB_HAVE_SPECIAL_RELATIVE() { s->time->have_relative = 1; s->time->relative.have_special_relative = 1; }
-#define TIMELIB_HAVE_TZ() { s->cur = cursor; if (s->time->have_zone) { s->time->have_zone > 1 ? add_error(s, "Double timezone specification") : add_warning(s, "Double timezone specification"); timelib_string_free(str); s->time->have_zone++; return TIMELIB_ERROR; } else { s->time->have_zone++; } }
-
-#define TIMELIB_INIT s->cur = cursor; str = timelib_string(s); ptr = str
-#define TIMELIB_DEINIT timelib_string_free(str)
-#define TIMELIB_ADJUST_RELATIVE_WEEKDAY() if (in->time.have_weekday_relative && (in.rel.d > 0)) { in.rel.d -= 7; }
-
-#define TIMELIB_PROCESS_YEAR(x, l) { \
- if (((x) == TIMELIB_UNSET) || ((l) >= 4)) { \
- /* (x) = 0; */ \
- } else if ((x) < 100) { \
- if ((x) < 70) { \
- (x) += 2000; \
- } else { \
- (x) += 1900; \
- } \
- } \
-}
-
-#ifdef DEBUG_PARSER
-#define DEBUG_OUTPUT(s) printf("%s\n", s);
-#define YYDEBUG(s,c) { if (s != -1) { printf("state: %d ", s); printf("[%c]\n", c); } }
-#else
-#define DEBUG_OUTPUT(s)
-#define YYDEBUG(s,c)
-#endif
-
-#include "timelib_structs.h"
-
-typedef struct timelib_elems {
- unsigned int c; /* Number of elements */
- char **v; /* Values */
-} timelib_elems;
-
-typedef struct Scanner {
- int fd;
- uchar *lim, *str, *ptr, *cur, *tok, *pos;
- unsigned int line, len;
- struct timelib_error_container *errors;
-
- struct timelib_time *time;
- const timelib_tzdb *tzdb;
-} Scanner;
-
-typedef struct _timelib_lookup_table {
- const char *name;
- int type;
- int value;
-} timelib_lookup_table;
-
-typedef struct _timelib_relunit {
- const char *name;
- int unit;
- int multiplier;
-} timelib_relunit;
-
-/* The timezone table. */
-const static timelib_tz_lookup_table timelib_timezone_lookup[] = {
-#include "timezonemap.h"
- { NULL, 0, 0, NULL },
-};
-
-const static timelib_tz_lookup_table timelib_timezone_fallbackmap[] = {
-#include "fallbackmap.h"
- { NULL, 0, 0, NULL },
-};
-
-const static timelib_tz_lookup_table timelib_timezone_utc[] = {
- { "utc", 0, 0, "UTC" },
-};
-
-static timelib_relunit const timelib_relunit_lookup[] = {
- { "sec", TIMELIB_SECOND, 1 },
- { "secs", TIMELIB_SECOND, 1 },
- { "second", TIMELIB_SECOND, 1 },
- { "seconds", TIMELIB_SECOND, 1 },
- { "min", TIMELIB_MINUTE, 1 },
- { "mins", TIMELIB_MINUTE, 1 },
- { "minute", TIMELIB_MINUTE, 1 },
- { "minutes", TIMELIB_MINUTE, 1 },
- { "hour", TIMELIB_HOUR, 1 },
- { "hours", TIMELIB_HOUR, 1 },
- { "day", TIMELIB_DAY, 1 },
- { "days", TIMELIB_DAY, 1 },
- { "week", TIMELIB_DAY, 7 },
- { "weeks", TIMELIB_DAY, 7 },
- { "fortnight", TIMELIB_DAY, 14 },
- { "fortnights", TIMELIB_DAY, 14 },
- { "forthnight", TIMELIB_DAY, 14 },
- { "forthnights", TIMELIB_DAY, 14 },
- { "month", TIMELIB_MONTH, 1 },
- { "months", TIMELIB_MONTH, 1 },
- { "year", TIMELIB_YEAR, 1 },
- { "years", TIMELIB_YEAR, 1 },
-
- { "monday", TIMELIB_WEEKDAY, 1 },
- { "mon", TIMELIB_WEEKDAY, 1 },
- { "tuesday", TIMELIB_WEEKDAY, 2 },
- { "tue", TIMELIB_WEEKDAY, 2 },
- { "wednesday", TIMELIB_WEEKDAY, 3 },
- { "wed", TIMELIB_WEEKDAY, 3 },
- { "thursday", TIMELIB_WEEKDAY, 4 },
- { "thu", TIMELIB_WEEKDAY, 4 },
- { "friday", TIMELIB_WEEKDAY, 5 },
- { "fri", TIMELIB_WEEKDAY, 5 },
- { "saturday", TIMELIB_WEEKDAY, 6 },
- { "sat", TIMELIB_WEEKDAY, 6 },
- { "sunday", TIMELIB_WEEKDAY, 0 },
- { "sun", TIMELIB_WEEKDAY, 0 },
-
- { "weekday", TIMELIB_SPECIAL, TIMELIB_SPECIAL_WEEKDAY },
- { "weekdays", TIMELIB_SPECIAL, TIMELIB_SPECIAL_WEEKDAY },
- { NULL, 0, 0 }
-};
-
-/* The relative text table. */
-static timelib_lookup_table const timelib_reltext_lookup[] = {
- { "first", 0, 1 },
- { "next", 0, 1 },
- { "second", 0, 2 },
- { "third", 0, 3 },
- { "fourth", 0, 4 },
- { "fifth", 0, 5 },
- { "sixth", 0, 6 },
- { "seventh", 0, 7 },
- { "eight", 0, 8 },
- { "eighth", 0, 8 },
- { "ninth", 0, 9 },
- { "tenth", 0, 10 },
- { "eleventh", 0, 11 },
- { "twelfth", 0, 12 },
- { "last", 0, -1 },
- { "previous", 0, -1 },
- { "this", 1, 0 },
- { NULL, 1, 0 }
-};
-
-/* The month table. */
-static timelib_lookup_table const timelib_month_lookup[] = {
- { "jan", 0, 1 },
- { "feb", 0, 2 },
- { "mar", 0, 3 },
- { "apr", 0, 4 },
- { "may", 0, 5 },
- { "jun", 0, 6 },
- { "jul", 0, 7 },
- { "aug", 0, 8 },
- { "sep", 0, 9 },
- { "sept", 0, 9 },
- { "oct", 0, 10 },
- { "nov", 0, 11 },
- { "dec", 0, 12 },
- { "i", 0, 1 },
- { "ii", 0, 2 },
- { "iii", 0, 3 },
- { "iv", 0, 4 },
- { "v", 0, 5 },
- { "vi", 0, 6 },
- { "vii", 0, 7 },
- { "viii", 0, 8 },
- { "ix", 0, 9 },
- { "x", 0, 10 },
- { "xi", 0, 11 },
- { "xii", 0, 12 },
-
- { "january", 0, 1 },
- { "february", 0, 2 },
- { "march", 0, 3 },
- { "april", 0, 4 },
- { "may", 0, 5 },
- { "june", 0, 6 },
- { "july", 0, 7 },
- { "august", 0, 8 },
- { "september", 0, 9 },
- { "october", 0, 10 },
- { "november", 0, 11 },
- { "december", 0, 12 },
- { NULL, 0, 0 }
-};
-
-#if 0
-static char* timelib_ltrim(char *s)
-{
- char *ptr = s;
- while (ptr[0] == ' ' || ptr[0] == '\t') {
- ptr++;
- }
- return ptr;
-}
-#endif
-
-#if 0
-uchar *fill(Scanner *s, uchar *cursor){
- if(!s->eof){
- unsigned int cnt = s->tok - s->bot;
- if(cnt){
- memcpy(s->bot, s->tok, s->lim - s->tok);
- s->tok = s->bot;
- s->ptr -= cnt;
- cursor -= cnt;
- s->pos -= cnt;
- s->lim -= cnt;
- }
- if((s->top - s->lim) < BSIZE){
- uchar *buf = (uchar*) malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar));
- memcpy(buf, s->tok, s->lim - s->tok);
- s->tok = buf;
- s->ptr = &buf[s->ptr - s->bot];
- cursor = &buf[cursor - s->bot];
- s->pos = &buf[s->pos - s->bot];
- s->lim = &buf[s->lim - s->bot];
- s->top = &s->lim[BSIZE];
- free(s->bot);
- s->bot = buf;
- }
- if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){
- s->eof = &s->lim[cnt]; *(s->eof)++ = '\n';
- }
- s->lim += cnt;
- }
- return cursor;
-}
-#endif
-
-static void add_warning(Scanner *s, char *error)
-{
- s->errors->warning_count++;
- s->errors->warning_messages = realloc(s->errors->warning_messages, s->errors->warning_count * sizeof(timelib_error_message));
- s->errors->warning_messages[s->errors->warning_count - 1].position = s->tok ? s->tok - s->str : 0;
- s->errors->warning_messages[s->errors->warning_count - 1].character = s->tok ? *s->tok : 0;
- s->errors->warning_messages[s->errors->warning_count - 1].message = strdup(error);
-}
-
-static void add_error(Scanner *s, char *error)
-{
- s->errors->error_count++;
- s->errors->error_messages = realloc(s->errors->error_messages, s->errors->error_count * sizeof(timelib_error_message));
- s->errors->error_messages[s->errors->error_count - 1].position = s->tok ? s->tok - s->str : 0;
- s->errors->error_messages[s->errors->error_count - 1].character = s->tok ? *s->tok : 0;
- s->errors->error_messages[s->errors->error_count - 1].message = strdup(error);
-}
-
-static void add_pbf_warning(Scanner *s, char *error, char *sptr, char *cptr)
-{
- s->errors->warning_count++;
- s->errors->warning_messages = realloc(s->errors->warning_messages, s->errors->warning_count * sizeof(timelib_error_message));
- s->errors->warning_messages[s->errors->warning_count - 1].position = cptr - sptr;
- s->errors->warning_messages[s->errors->warning_count - 1].character = *cptr;
- s->errors->warning_messages[s->errors->warning_count - 1].message = strdup(error);
-}
-
-static void add_pbf_error(Scanner *s, char *error, char *sptr, char *cptr)
-{
- s->errors->error_count++;
- s->errors->error_messages = realloc(s->errors->error_messages, s->errors->error_count * sizeof(timelib_error_message));
- s->errors->error_messages[s->errors->error_count - 1].position = cptr - sptr;
- s->errors->error_messages[s->errors->error_count - 1].character = *cptr;
- s->errors->error_messages[s->errors->error_count - 1].message = strdup(error);
-}
-
-static timelib_sll timelib_meridian(char **ptr, timelib_sll h)
-{
- timelib_sll retval = 0;
-
- while (!strchr("AaPp", **ptr)) {
- ++*ptr;
- }
- if (**ptr == 'a' || **ptr == 'A') {
- if (h == 12) {
- retval = -12;
- }
- } else if (h != 12) {
- retval = 12;
- }
- ++*ptr;
- if (**ptr == '.') {
- *ptr += 3;
- } else {
- ++*ptr;
- }
- return retval;
-}
-
-static timelib_sll timelib_meridian_with_check(char **ptr, timelib_sll h)
-{
- timelib_sll retval = 0;
-
- while (**ptr && !strchr("AaPp", **ptr)) {
- ++*ptr;
- }
- if(!**ptr) {
- return TIMELIB_UNSET;
- }
- if (**ptr == 'a' || **ptr == 'A') {
- if (h == 12) {
- retval = -12;
- }
- } else if (h != 12) {
- retval = 12;
- }
- ++*ptr;
- if (**ptr == '.') {
- ++*ptr;
- if (**ptr != 'm' && **ptr != 'M') {
- return TIMELIB_UNSET;
- }
- ++*ptr;
- if (**ptr != '.' ) {
- return TIMELIB_UNSET;
- }
- ++*ptr;
- } else if (**ptr == 'm' || **ptr == 'M') {
- ++*ptr;
- } else {
- return TIMELIB_UNSET;
- }
- return retval;
-}
-
-static char *timelib_string(Scanner *s)
-{
- char *tmp = calloc(1, s->cur - s->tok + 1);
- memcpy(tmp, s->tok, s->cur - s->tok);
-
- return tmp;
-}
-
-static timelib_sll timelib_get_nr_ex(char **ptr, int max_length, int *scanned_length)
-{
- char *begin, *end, *str;
- timelib_sll tmp_nr = TIMELIB_UNSET;
- int len = 0;
-
- while ((**ptr < '0') || (**ptr > '9')) {
- if (**ptr == '\0') {
- return TIMELIB_UNSET;
- }
- ++*ptr;
- }
- begin = *ptr;
- while ((**ptr >= '0') && (**ptr <= '9') && len < max_length) {
- ++*ptr;
- ++len;
- }
- end = *ptr;
- if (scanned_length) {
- *scanned_length = end - begin;
- }
- str = calloc(1, end - begin + 1);
- memcpy(str, begin, end - begin);
- tmp_nr = strtoll(str, NULL, 10);
- free(str);
- return tmp_nr;
-}
-
-static timelib_sll timelib_get_nr(char **ptr, int max_length)
-{
- return timelib_get_nr_ex(ptr, max_length, NULL);
-}
-
-static void timelib_skip_day_suffix(char **ptr)
-{
- if (isspace(**ptr)) {
- return;
- }
- if (!strncasecmp(*ptr, "nd", 2) || !strncasecmp(*ptr, "rd", 2) ||!strncasecmp(*ptr, "st", 2) || !strncasecmp(*ptr, "th", 2)) {
- *ptr += 2;
- }
-}
-
-static double timelib_get_frac_nr(char **ptr, int max_length)
-{
- char *begin, *end, *str;
- double tmp_nr = TIMELIB_UNSET;
- int len = 0;
-
- while ((**ptr != '.') && (**ptr != ':') && ((**ptr < '0') || (**ptr > '9'))) {
- if (**ptr == '\0') {
- return TIMELIB_UNSET;
- }
- ++*ptr;
- }
- begin = *ptr;
- while (((**ptr == '.') || (**ptr == ':') || ((**ptr >= '0') && (**ptr <= '9'))) && len < max_length) {
- ++*ptr;
- ++len;
- }
- end = *ptr;
- str = calloc(1, end - begin + 1);
- memcpy(str, begin, end - begin);
- if (str[0] == ':') {
- str[0] = '.';
- }
- tmp_nr = strtod(str, NULL);
- free(str);
- return tmp_nr;
-}
-
-static timelib_ull timelib_get_unsigned_nr(char **ptr, int max_length)
-{
- timelib_ull dir = 1;
-
- while (((**ptr < '0') || (**ptr > '9')) && (**ptr != '+') && (**ptr != '-')) {
- if (**ptr == '\0') {
- return TIMELIB_UNSET;
- }
- ++*ptr;
- }
-
- while (**ptr == '+' || **ptr == '-')
- {
- if (**ptr == '-') {
- dir *= -1;
- }
- ++*ptr;
- }
- return dir * timelib_get_nr(ptr, max_length);
-}
-
-static timelib_sll timelib_lookup_relative_text(char **ptr, int *behavior)
-{
- char *word;
- char *begin = *ptr, *end;
- timelib_sll value = 0;
- const timelib_lookup_table *tp;
-
- while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) {
- ++*ptr;
- }
- end = *ptr;
- word = calloc(1, end - begin + 1);
- memcpy(word, begin, end - begin);
-
- for (tp = timelib_reltext_lookup; tp->name; tp++) {
- if (strcasecmp(word, tp->name) == 0) {
- value = tp->value;
- *behavior = tp->type;
- }
- }
-
- free(word);
- return value;
-}
-
-static timelib_sll timelib_get_relative_text(char **ptr, int *behavior)
-{
- while (**ptr == ' ' || **ptr == '\t' || **ptr == '-' || **ptr == '/') {
- ++*ptr;
- }
- return timelib_lookup_relative_text(ptr, behavior);
-}
-
-static timelib_long timelib_lookup_month(char **ptr)
-{
- char *word;
- char *begin = *ptr, *end;
- timelib_long value = 0;
- const timelib_lookup_table *tp;
-
- while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) {
- ++*ptr;
- }
- end = *ptr;
- word = calloc(1, end - begin + 1);
- memcpy(word, begin, end - begin);
-
- for (tp = timelib_month_lookup; tp->name; tp++) {
- if (strcasecmp(word, tp->name) == 0) {
- value = tp->value;
- }
- }
-
- free(word);
- return value;
-}
-
-static timelib_long timelib_get_month(char **ptr)
-{
- while (**ptr == ' ' || **ptr == '\t' || **ptr == '-' || **ptr == '.' || **ptr == '/') {
- ++*ptr;
- }
- return timelib_lookup_month(ptr);
-}
-
-static void timelib_eat_spaces(char **ptr)
-{
- while (**ptr == ' ' || **ptr == '\t') {
- ++*ptr;
- }
-}
-
-static void timelib_eat_until_separator(char **ptr)
-{
- ++*ptr;
- while (strchr(" \t.,:;/-0123456789", **ptr) == NULL) {
- ++*ptr;
- }
-}
-
-static const timelib_relunit* timelib_lookup_relunit(char **ptr)
-{
- char *word;
- char *begin = *ptr, *end;
- const timelib_relunit *tp, *value = NULL;
-
- while (**ptr != '\0' && **ptr != ' ' && **ptr != ',' && **ptr != '\t' && **ptr != ';' && **ptr != ':' &&
- **ptr != '/' && **ptr != '.' && **ptr != '-' && **ptr != '(' && **ptr != ')' ) {
- ++*ptr;
- }
- end = *ptr;
- word = calloc(1, end - begin + 1);
- memcpy(word, begin, end - begin);
-
- for (tp = timelib_relunit_lookup; tp->name; tp++) {
- if (strcasecmp(word, tp->name) == 0) {
- value = tp;
- break;
- }
- }
-
- free(word);
- return value;
-}
-
-static void timelib_set_relative(char **ptr, timelib_sll amount, int behavior, Scanner *s)
-{
- const timelib_relunit* relunit;
-
- if (!(relunit = timelib_lookup_relunit(ptr))) {
- return;
- }
-
- switch (relunit->unit) {
- case TIMELIB_SECOND: s->time->relative.s += amount * relunit->multiplier; break;
- case TIMELIB_MINUTE: s->time->relative.i += amount * relunit->multiplier; break;
- case TIMELIB_HOUR: s->time->relative.h += amount * relunit->multiplier; break;
- case TIMELIB_DAY: s->time->relative.d += amount * relunit->multiplier; break;
- case TIMELIB_MONTH: s->time->relative.m += amount * relunit->multiplier; break;
- case TIMELIB_YEAR: s->time->relative.y += amount * relunit->multiplier; break;
-
- case TIMELIB_WEEKDAY:
- TIMELIB_HAVE_WEEKDAY_RELATIVE();
- TIMELIB_UNHAVE_TIME();
- s->time->relative.d += (amount > 0 ? amount - 1 : amount) * 7;
- s->time->relative.weekday = relunit->multiplier;
- s->time->relative.weekday_behavior = behavior;
- break;
-
- case TIMELIB_SPECIAL:
- TIMELIB_HAVE_SPECIAL_RELATIVE();
- TIMELIB_UNHAVE_TIME();
- s->time->relative.special.type = relunit->multiplier;
- s->time->relative.special.amount = amount;
- }
-}
-
-const static timelib_tz_lookup_table* abbr_search(const char *word, timelib_long gmtoffset, int isdst)
-{
- int first_found = 0;
- const timelib_tz_lookup_table *tp, *first_found_elem = NULL;
- const timelib_tz_lookup_table *fmp;
-
- if (strcasecmp("utc", word) == 0 || strcasecmp("gmt", word) == 0) {
- return timelib_timezone_utc;
- }
-
- for (tp = timelib_timezone_lookup; tp->name; tp++) {
- if (strcasecmp(word, tp->name) == 0) {
- if (!first_found) {
- first_found = 1;
- first_found_elem = tp;
- if (gmtoffset == -1) {
- return tp;
- }
- }
- if (tp->gmtoffset == gmtoffset) {
- return tp;
- }
- }
- }
- if (first_found) {
- return first_found_elem;
- }
-
- /* Still didn't find anything, let's find the zone solely based on
- * offset/isdst then */
- for (fmp = timelib_timezone_fallbackmap; fmp->name; fmp++) {
- if ((fmp->gmtoffset * 60) == gmtoffset && fmp->type == isdst) {
- return fmp;
- }
- }
- return NULL;
-}
-
-static timelib_long timelib_lookup_abbr(char **ptr, int *dst, char **tz_abbr, int *found)
-{
- char *word;
- char *begin = *ptr, *end;
- timelib_long value = 0;
- const timelib_tz_lookup_table *tp;
-
- while (**ptr != '\0' && **ptr != ')' && **ptr != ' ') {
- ++*ptr;
- }
- end = *ptr;
- word = calloc(1, end - begin + 1);
- memcpy(word, begin, end - begin);
-
- if ((tp = abbr_search(word, -1, 0))) {
- value = -tp->gmtoffset / 60;
- *dst = tp->type;
- value += tp->type * 60;
- *found = 1;
- } else {
- *found = 0;
- }
-
- *tz_abbr = word;
- return value;
-}
-
-timelib_long timelib_parse_zone(char **ptr, int *dst, timelib_time *t, int *tz_not_found, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_wrapper)
-{
- timelib_tzinfo *res;
- timelib_long retval = 0;
-
- *tz_not_found = 0;
-
- while (**ptr == ' ' || **ptr == '\t' || **ptr == '(') {
- ++*ptr;
- }
- if ((*ptr)[0] == 'G' && (*ptr)[1] == 'M' && (*ptr)[2] == 'T' && ((*ptr)[3] == '+' || (*ptr)[3] == '-')) {
- *ptr += 3;
- }
- if (**ptr == '+') {
- ++*ptr;
- t->is_localtime = 1;
- t->zone_type = TIMELIB_ZONETYPE_OFFSET;
- *tz_not_found = 0;
- t->dst = 0;
-
- retval = -1 * timelib_parse_tz_cor(ptr);
- } else if (**ptr == '-') {
- ++*ptr;
- t->is_localtime = 1;
- t->zone_type = TIMELIB_ZONETYPE_OFFSET;
- *tz_not_found = 0;
- t->dst = 0;
-
- retval = timelib_parse_tz_cor(ptr);
- } else {
- int found = 0;
- timelib_long offset = 0;
- char *tz_abbr;
-
- t->is_localtime = 1;
-
- /* First, we lookup by abbreviation only */
- offset = timelib_lookup_abbr(ptr, dst, &tz_abbr, &found);
- if (found) {
- t->zone_type = TIMELIB_ZONETYPE_ABBR;
- timelib_time_tz_abbr_update(t, tz_abbr);
- }
-
- /* Otherwise, we look if we have a TimeZone identifier */
- if (!found || strcmp("UTC", tz_abbr) == 0) {
- if ((res = tz_wrapper(tz_abbr, tzdb)) != NULL) {
- t->tz_info = res;
- t->zone_type = TIMELIB_ZONETYPE_ID;
- found++;
- }
- }
- free(tz_abbr);
- *tz_not_found = (found == 0);
- retval = offset;
- }
- while (**ptr == ')') {
- ++*ptr;
- }
- return retval;
-}
-
-#define timelib_split_free(arg) { \
- int i; \
- for (i = 0; i < arg.c; i++) { \
- free(arg.v[i]); \
- } \
- if (arg.v) { \
- free(arg.v); \
- } \
-}
-
-static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper)
-{
- uchar *cursor = s->cur;
- char *str, *ptr = NULL;
-
-std:
- s->tok = cursor;
- s->len = 0;
-
-
-
-{
- YYCTYPE yych;
- unsigned int yyaccept = 0;
- static const unsigned char yybm[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 50, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 50, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 8, 32, 24, 48, 0,
- 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 0, 0, 0, 0, 0, 0,
- 0, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 0, 0, 0, 0, 0,
- 0, 192, 192, 192, 224, 192, 192, 192,
- 224, 192, 192, 192, 192, 192, 224, 192,
- 192, 192, 224, 224, 224, 192, 192, 192,
- 192, 192, 192, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- };
- if ((YYLIMIT - YYCURSOR) < 31) YYFILL(31);
- yych = *YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy2, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy4, &&yy6, &&yy2, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy6, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy8, &&yy4, &&yy4, &&yy9, &&yy10, &&yy9, &&yy10, &&yy4,
- &&yy11, &&yy12, &&yy13, &&yy14, &&yy15, &&yy15, &&yy15, &&yy15,
- &&yy15, &&yy15, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy16, &&yy17, &&yy19, &&yy20, &&yy21, &&yy22, &&yy23, &&yy24,
- &&yy20, &&yy25, &&yy26, &&yy20, &&yy27, &&yy28, &&yy29, &&yy30,
- &&yy31, &&yy20, &&yy20, &&yy32, &&yy33, &&yy20, &&yy34, &&yy35,
- &&yy36, &&yy37, &&yy20, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy4, &&yy38, &&yy39, &&yy40, &&yy41, &&yy42, &&yy43, &&yy40,
- &&yy40, &&yy40, &&yy44, &&yy40, &&yy45, &&yy46, &&yy47, &&yy48,
- &&yy49, &&yy40, &&yy40, &&yy50, &&yy51, &&yy40, &&yy40, &&yy52,
- &&yy40, &&yy53, &&yy40, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4
- };
- goto *yytarget[yych];
- }
-yy2:
- ++YYCURSOR;
- {
- s->pos = cursor; s->line++;
- goto std;
- }
-yy4:
- ++YYCURSOR;
-yy5:
- {
- add_error(s, "Unexpected character");
- goto std;
- }
-yy6:
- yyaccept = 0;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yybm[0+yych] & 2) {
- goto yy54;
- }
- if (yych <= '/') goto yy7;
- if (yych <= '9') goto yy57;
-yy7:
- {
- goto std;
- }
-yy8:
- yych = *++YYCURSOR;
- if (yych <= '@') goto yy5;
- if (yych <= 'Z') goto yy40;
- if (yych <= '`') goto yy5;
- if (yych <= 'z') goto yy40;
- goto yy5;
-yy9:
- yyaccept = 1;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy54, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy54, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy59, &&yy5, &&yy59, &&yy5, &&yy5,
- &&yy61, &&yy61, &&yy62, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63,
- &&yy63, &&yy63, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5
- };
- goto *yytarget[yych];
- }
-yy10:
- yych = *++YYCURSOR;
- goto yy7;
-yy11:
- yyaccept = 1;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy64, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy66, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy67, &&yy68, &&yy69,
- &&yy70, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
- &&yy71, &&yy71, &&yy72, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy66, &&yy5, &&yy5, &&yy66, &&yy5, &&yy66, &&yy5,
- &&yy66, &&yy66, &&yy66, &&yy5, &&yy5, &&yy66, &&yy66, &&yy66,
- &&yy5, &&yy5, &&yy5, &&yy66, &&yy66, &&yy5, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy66, &&yy5, &&yy5, &&yy66, &&yy5, &&yy66, &&yy5,
- &&yy66, &&yy5, &&yy66, &&yy5, &&yy5, &&yy66, &&yy89, &&yy66,
- &&yy5, &&yy5, &&yy90, &&yy91, &&yy92, &&yy5, &&yy5, &&yy66,
- &&yy5, &&yy66, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5
- };
- goto *yytarget[yych];
- }
-yy12:
- yyaccept = 1;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy93, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy95, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy67, &&yy96, &&yy69,
- &&yy71, &&yy71, &&yy71, &&yy97, &&yy97, &&yy97, &&yy97, &&yy97,
- &&yy97, &&yy97, &&yy98, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy95, &&yy5, &&yy5, &&yy95, &&yy5, &&yy95, &&yy5,
- &&yy95, &&yy95, &&yy95, &&yy5, &&yy5, &&yy95, &&yy95, &&yy95,
- &&yy95, &&yy5, &&yy5, &&yy95, &&yy95, &&yy5, &&yy95, &&yy95,
- &&yy95, &&yy95, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy95, &&yy5, &&yy5, &&yy95, &&yy5, &&yy95, &&yy5,
- &&yy95, &&yy5, &&yy95, &&yy5, &&yy5, &&yy95, &&yy89, &&yy95,
- &&yy95, &&yy5, &&yy90, &&yy91, &&yy92, &&yy5, &&yy5, &&yy95,
- &&yy5, &&yy95, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5
- };
- goto *yytarget[yych];
- }
-yy13:
- yyaccept = 1;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy93, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy95, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy67, &&yy96, &&yy69,
- &&yy97, &&yy97, &&yy97, &&yy97, &&yy97, &&yy101, &&yy101, &&yy101,
- &&yy101, &&yy101, &&yy98, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy95, &&yy5, &&yy5, &&yy95, &&yy5, &&yy95, &&yy5,
- &&yy95, &&yy95, &&yy95, &&yy5, &&yy5, &&yy95, &&yy95, &&yy95,
- &&yy95, &&yy5, &&yy5, &&yy95, &&yy95, &&yy5, &&yy95, &&yy95,
- &&yy95, &&yy95, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy95, &&yy5, &&yy5, &&yy95, &&yy5, &&yy95, &&yy5,
- &&yy95, &&yy5, &&yy95, &&yy5, &&yy5, &&yy95, &&yy89, &&yy95,
- &&yy95, &&yy5, &&yy90, &&yy91, &&yy92, &&yy5, &&yy5, &&yy95,
- &&yy5, &&yy95, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5
- };
- goto *yytarget[yych];
- }
-yy14:
- yyaccept = 1;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy93, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy95, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy67, &&yy96, &&yy69,
- &&yy101, &&yy101, &&yy102, &&yy102, &&yy102, &&yy102, &&yy102, &&yy102,
- &&yy102, &&yy102, &&yy98, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy95, &&yy5, &&yy5, &&yy95, &&yy5, &&yy95, &&yy5,
- &&yy95, &&yy95, &&yy95, &&yy5, &&yy5, &&yy95, &&yy95, &&yy95,
- &&yy95, &&yy5, &&yy5, &&yy95, &&yy95, &&yy5, &&yy95, &&yy95,
- &&yy95, &&yy95, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy95, &&yy5, &&yy5, &&yy95, &&yy5, &&yy95, &&yy5,
- &&yy95, &&yy5, &&yy95, &&yy5, &&yy5, &&yy95, &&yy89, &&yy95,
- &&yy95, &&yy5, &&yy90, &&yy91, &&yy92, &&yy5, &&yy5, &&yy95,
- &&yy5, &&yy95, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5
- };
- goto *yytarget[yych];
- }
-yy15:
- yyaccept = 1;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy93, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy95, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy67, &&yy96, &&yy69,
- &&yy102, &&yy102, &&yy102, &&yy102, &&yy102, &&yy102, &&yy102, &&yy102,
- &&yy102, &&yy102, &&yy98, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy95, &&yy5, &&yy5, &&yy95, &&yy5, &&yy95, &&yy5,
- &&yy95, &&yy95, &&yy95, &&yy5, &&yy5, &&yy95, &&yy95, &&yy95,
- &&yy95, &&yy5, &&yy5, &&yy95, &&yy95, &&yy5, &&yy95, &&yy95,
- &&yy95, &&yy95, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy95, &&yy5, &&yy5, &&yy95, &&yy5, &&yy95, &&yy5,
- &&yy95, &&yy5, &&yy95, &&yy5, &&yy5, &&yy95, &&yy89, &&yy95,
- &&yy95, &&yy5, &&yy90, &&yy91, &&yy92, &&yy5, &&yy5, &&yy95,
- &&yy5, &&yy95, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
- &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5
- };
- goto *yytarget[yych];
- }
-yy16:
- yyaccept = 1;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '-') goto yy103;
- if (yych <= '/') goto yy5;
- if (yych <= '9') goto yy104;
- goto yy5;
-yy17:
- ++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy109,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy110, &&yy108, &&yy108, &&yy108, &&yy108, &&yy111, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy113,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy114, &&yy112, &&yy112, &&yy112, &&yy112, &&yy115, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[(yych = *YYCURSOR)];
- }
-yy18:
- {
- int tz_not_found;
- DEBUG_OUTPUT("tzcorrection | tz");
- TIMELIB_INIT;
- TIMELIB_HAVE_TZ();
- s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
- if (tz_not_found) {
- add_error(s, "The timezone could not be found in the database");
- }
- TIMELIB_DEINIT;
- return TIMELIB_TIMEZONE;
- }
-yy19:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy116, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy117, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy20:
- yych = *++YYCURSOR;
- if (yych <= '@') {
- if (yych == ')') goto yy107;
- goto yy18;
- } else {
- if (yych <= 'Z') goto yy108;
- if (yych <= '`') goto yy18;
- if (yych <= 'z') goto yy112;
- goto yy18;
- }
-yy21:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy118, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy112, &&yy112, &&yy112, &&yy112, &&yy119, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy22:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy120, &&yy108, &&yy108, &&yy121, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy122, &&yy112, &&yy112, &&yy123, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy23:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy124, &&yy108, &&yy108,
- &&yy108, &&yy125, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy126,
- &&yy108, &&yy108, &&yy127, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy112, &&yy112, &&yy112, &&yy112, &&yy128, &&yy112, &&yy112,
- &&yy112, &&yy129, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy130,
- &&yy112, &&yy112, &&yy131, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy24:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy132, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy25:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy134, &&yy134, &&yy18,
- &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134,
- &&yy134, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy139, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy140, &&yy108,
- &&yy140, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy26:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy141, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy142, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy143, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy144, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy27:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy145, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy146, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy28:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy147, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy148, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy149,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy150, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy151, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy152,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy29:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy153, &&yy108, &&yy108,
- &&yy108, &&yy154, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy155,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy112, &&yy112, &&yy112, &&yy112, &&yy156, &&yy112, &&yy112,
- &&yy112, &&yy157, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy158,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy30:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy108, &&yy108, &&yy159, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy112, &&yy112, &&yy160, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy31:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy161, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy162, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy32:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy163, &&yy108, &&yy108, &&yy108, &&yy164, &&yy108, &&yy108,
- &&yy108, &&yy165, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy149, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy166, &&yy112, &&yy112, &&yy112, &&yy167, &&yy112, &&yy112,
- &&yy112, &&yy168, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy152, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy33:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy169, &&yy169, &&yy170, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy154, &&yy108, &&yy108,
- &&yy172, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy173,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy174, &&yy108, &&yy175,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy112, &&yy112, &&yy112, &&yy112, &&yy157, &&yy112, &&yy112,
- &&yy176, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy177,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy178, &&yy112, &&yy179,
- &&yy112, &&yy112, &&yy112, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy34:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy134, &&yy134, &&yy18,
- &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134,
- &&yy134, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy180, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy35:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy181, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy112, &&yy112, &&yy112, &&yy112, &&yy182, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy36:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy134, &&yy134, &&yy18,
- &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134,
- &&yy134, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy139, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy37:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy183, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy112, &&yy112, &&yy112, &&yy112, &&yy184, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy38:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy109,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy110, &&yy108, &&yy108, &&yy108, &&yy108, &&yy111, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy109,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy110, &&yy108, &&yy108, &&yy108, &&yy108, &&yy111, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy39:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy116, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy116, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy40:
- yych = *++YYCURSOR;
- if (yych <= '@') {
- if (yych == ')') goto yy107;
- goto yy18;
- } else {
- if (yych <= 'Z') goto yy108;
- if (yych <= '`') goto yy18;
- if (yych <= 'z') goto yy108;
- goto yy18;
- }
-yy41:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy118, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy118, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy42:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy120, &&yy108, &&yy108, &&yy121, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy120, &&yy108, &&yy108, &&yy121, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy43:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy124, &&yy108, &&yy108,
- &&yy108, &&yy125, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy126,
- &&yy108, &&yy108, &&yy127, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy124, &&yy108, &&yy108,
- &&yy108, &&yy125, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy126,
- &&yy108, &&yy108, &&yy127, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy44:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy141, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy142, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy141, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy142, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy45:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy145, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy145, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy46:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy147, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy148, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy149,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy147, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy148, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy149,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy47:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy153, &&yy108, &&yy108,
- &&yy108, &&yy154, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy155,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy153, &&yy108, &&yy108,
- &&yy108, &&yy154, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy155,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy48:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy108, &&yy108, &&yy159, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy108, &&yy108, &&yy159, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy49:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy161, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy161, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy50:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy163, &&yy108, &&yy108, &&yy108, &&yy164, &&yy108, &&yy108,
- &&yy108, &&yy165, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy149, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy163, &&yy108, &&yy108, &&yy108, &&yy164, &&yy108, &&yy108,
- &&yy108, &&yy165, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy149, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy51:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy169, &&yy169, &&yy170, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy154, &&yy108, &&yy108,
- &&yy172, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy173,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy174, &&yy108, &&yy175,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy154, &&yy108, &&yy108,
- &&yy172, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy173,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy174, &&yy108, &&yy175,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy52:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy181, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy181, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy53:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy183, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy108, &&yy108, &&yy108, &&yy108, &&yy183, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
- &&yy108, &&yy108, &&yy108, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy54:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- if (yybm[0+yych] & 2) {
- goto yy54;
- }
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy57;
-yy56:
- YYCURSOR = YYMARKER;
- {
- static void *yytarget[34] = {
- &&yy7,
- &&yy5,
- &&yy18,
- &&yy78,
- &&yy136,
- &&yy208,
- &&yy213,
- &&yy274,
- &&yy272,
- &&yy294,
- &&yy331,
- &&yy396,
- &&yy398,
- &&yy402,
- &&yy504,
- &&yy544,
- &&yy669,
- &&yy673,
- &&yy704,
- &&yy719,
- &&yy732,
- &&yy755,
- &&yy900,
- &&yy576,
- &&yy915,
- &&yy993,
- &&yy1011,
- &&yy1016,
- &&yy1046,
- &&yy1064,
- &&yy1097,
- &&yy1129,
- &&yy1132,
- &&yy1231,
- };
- goto *yytarget[yyaccept];
- }
-yy57:
- ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
- yych = *YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy185, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy185, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57,
- &&yy57, &&yy57, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy187, &&yy56, &&yy188, &&yy56,
- &&yy76, &&yy56, &&yy56, &&yy56, &&yy56, &&yy189, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy190, &&yy84, &&yy56, &&yy56, &&yy86,
- &&yy56, &&yy88, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy187, &&yy56, &&yy188, &&yy56,
- &&yy76, &&yy56, &&yy56, &&yy56, &&yy56, &&yy189, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy190, &&yy84, &&yy56, &&yy56, &&yy86,
- &&yy56, &&yy88, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy59:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- if (yybm[0+yych] & 2) {
- goto yy54;
- }
- if (yych <= ',') {
- if (yych == '+') goto yy59;
- goto yy56;
- } else {
- if (yych <= '-') goto yy59;
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy57;
- goto yy56;
- }
-yy61:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy191, &&yy191, &&yy191, &&yy191, &&yy191, &&yy191, &&yy191, &&yy191,
- &&yy191, &&yy191, &&yy192, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18,
- &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy186, &&yy186, &&yy18, &&yy18, &&yy186,
- &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18,
- &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy186, &&yy186, &&yy18, &&yy18, &&yy186,
- &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy62:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy191, &&yy191, &&yy191, &&yy191, &&yy191, &&yy193, &&yy194, &&yy194,
- &&yy194, &&yy194, &&yy192, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18,
- &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy186, &&yy186, &&yy18, &&yy18, &&yy186,
- &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18,
- &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy186, &&yy186, &&yy18, &&yy18, &&yy186,
- &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy63:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy193, &&yy194, &&yy194,
- &&yy194, &&yy194, &&yy192, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18,
- &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy186, &&yy186, &&yy18, &&yy18, &&yy186,
- &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18,
- &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy186, &&yy186, &&yy18, &&yy18, &&yy186,
- &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy64:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy66;
- if (yych <= '0') goto yy197;
- if (yych <= '1') goto yy198;
- if (yych <= '9') goto yy199;
- goto yy66;
-yy65:
- ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
- yych = *YYCURSOR;
-yy66:
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy65, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy65, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy195, &&yy195, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy73, &&yy56, &&yy56, &&yy74, &&yy56, &&yy75, &&yy56,
- &&yy76, &&yy77, &&yy79, &&yy56, &&yy56, &&yy80, &&yy81, &&yy82,
- &&yy56, &&yy56, &&yy56, &&yy83, &&yy84, &&yy56, &&yy85, &&yy86,
- &&yy87, &&yy88, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy73, &&yy56, &&yy56, &&yy74, &&yy56, &&yy75, &&yy56,
- &&yy76, &&yy56, &&yy79, &&yy56, &&yy56, &&yy80, &&yy81, &&yy82,
- &&yy56, &&yy56, &&yy56, &&yy83, &&yy84, &&yy56, &&yy56, &&yy86,
- &&yy56, &&yy88, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy67:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy196;
- if (yych <= '0') goto yy200;
- if (yych <= '1') goto yy201;
- if (yych <= '9') goto yy202;
- goto yy196;
-yy68:
- yych = *++YYCURSOR;
- if (yych <= '1') {
- if (yych <= '/') goto yy196;
- if (yych <= '0') goto yy207;
- goto yy209;
- } else {
- if (yych <= '5') goto yy210;
- if (yych <= '9') goto yy211;
- goto yy196;
- }
-yy69:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy212, &&yy212, &&yy212, &&yy214, &&yy215, &&yy215, &&yy215, &&yy215,
- &&yy215, &&yy215, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy216, &&yy56, &&yy56, &&yy217, &&yy56, &&yy218, &&yy56,
- &&yy56, &&yy56, &&yy219, &&yy56, &&yy56, &&yy220, &&yy221, &&yy222,
- &&yy56, &&yy56, &&yy56, &&yy223, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy216, &&yy56, &&yy56, &&yy217, &&yy56, &&yy218, &&yy56,
- &&yy56, &&yy56, &&yy219, &&yy56, &&yy56, &&yy220, &&yy221, &&yy222,
- &&yy56, &&yy56, &&yy56, &&yy223, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy70:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy64, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy224, &&yy68, &&yy69,
- &&yy225, &&yy225, &&yy225, &&yy225, &&yy225, &&yy225, &&yy226, &&yy226,
- &&yy226, &&yy226, &&yy72, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy89, &&yy66,
- &&yy66, &&yy66, &&yy90, &&yy91, &&yy92, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66
- };
- goto *yytarget[yych];
- }
-yy71:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95,
- &&yy95, &&yy93, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95,
- &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95,
- &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95,
- &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95,
- &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy224, &&yy96, &&yy69,
- &&yy225, &&yy225, &&yy225, &&yy225, &&yy225, &&yy225, &&yy226, &&yy226,
- &&yy226, &&yy226, &&yy98, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95,
- &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95,
- &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95,
- &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95,
- &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95,
- &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95,
- &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy89, &&yy95,
- &&yy95, &&yy95, &&yy90, &&yy91, &&yy92, &&yy95, &&yy95, &&yy95,
- &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95,
- &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95,
- &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95,
- &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95,
- &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95,
- &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95,
- &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95,
- &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95,
- &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95,
- &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95,
- &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95,
- &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95,
- &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95,
- &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95,
- &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95,
- &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95,
- &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95, &&yy95
- };
- goto *yytarget[yych];
- }
-yy72:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '5') goto yy227;
- if (yych <= '9') goto yy228;
- goto yy56;
-yy73:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy229, &&yy56, &&yy56, &&yy56, &&yy56, &&yy230, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy229, &&yy56, &&yy56, &&yy56, &&yy56, &&yy230, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy74:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy231, &&yy56, &&yy56, &&yy56, &&yy232, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy231, &&yy56, &&yy56, &&yy56, &&yy232, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy75:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy233, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy234,
- &&yy56, &&yy56, &&yy235, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy233, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy234,
- &&yy56, &&yy56, &&yy235, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy76:
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy236;
- if (yych == 'o') goto yy236;
- goto yy56;
-yy77:
- yyaccept = 3;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy237, &&yy78,
- &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239,
- &&yy239, &&yy239, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy241, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy242, &&yy78,
- &&yy242, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78
- };
- goto *yytarget[yych];
- }
-yy78:
- {
- DEBUG_OUTPUT("datenoyearrev");
- TIMELIB_INIT;
- TIMELIB_HAVE_DATE();
- s->time->d = timelib_get_nr((char **) &ptr, 2);
- timelib_skip_day_suffix((char **) &ptr);
- s->time->m = timelib_get_month((char **) &ptr);
- TIMELIB_DEINIT;
- return TIMELIB_DATE_TEXT;
- }
-yy79:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy243, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy244, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy243, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy244, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy80:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy245, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy246, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy247,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy245, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy246, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy247,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy81:
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy248;
- if (yych == 'o') goto yy248;
- goto yy56;
-yy82:
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy249;
- if (yych == 'c') goto yy249;
- goto yy56;
-yy83:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy250, &&yy56, &&yy56, &&yy56, &&yy251, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy252, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy250, &&yy56, &&yy56, &&yy56, &&yy251, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy252, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy84:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy253, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy254, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy253, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy254, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy85:
- yyaccept = 3;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy237, &&yy78,
- &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239,
- &&yy239, &&yy239, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy87, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78
- };
- goto *yytarget[yych];
- }
-yy86:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy255;
- if (yych == 'e') goto yy255;
- goto yy56;
-yy87:
- yyaccept = 3;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy237, &&yy78,
- &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239,
- &&yy239, &&yy239, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy241, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78
- };
- goto *yytarget[yych];
- }
-yy88:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy256;
- if (yych == 'e') goto yy256;
- goto yy56;
-yy89:
- yych = *++YYCURSOR;
- if (yych <= 'c') {
- if (yych == 'O') goto yy248;
- goto yy56;
- } else {
- if (yych <= 'd') goto yy257;
- if (yych == 'o') goto yy248;
- goto yy56;
- }
-yy90:
- yych = *++YYCURSOR;
- if (yych == 'd') goto yy257;
- goto yy56;
-yy91:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy250, &&yy56, &&yy56, &&yy56, &&yy251, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy252, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy250, &&yy56, &&yy56, &&yy56, &&yy251, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy257, &&yy252, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy92:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy253, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy254, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy258, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy254, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy93:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy95;
- if (yych <= '0') goto yy197;
- if (yych <= '1') goto yy198;
- if (yych <= '9') goto yy199;
- goto yy95;
-yy94:
- ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
- yych = *YYCURSOR;
-yy95:
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy94, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy94, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy195, &&yy195, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy99, &&yy56, &&yy56, &&yy74, &&yy56, &&yy75, &&yy56,
- &&yy76, &&yy77, &&yy79, &&yy56, &&yy56, &&yy80, &&yy81, &&yy82,
- &&yy100, &&yy56, &&yy56, &&yy83, &&yy84, &&yy56, &&yy85, &&yy86,
- &&yy87, &&yy88, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy99, &&yy56, &&yy56, &&yy74, &&yy56, &&yy75, &&yy56,
- &&yy76, &&yy56, &&yy79, &&yy56, &&yy56, &&yy80, &&yy81, &&yy82,
- &&yy100, &&yy56, &&yy56, &&yy83, &&yy84, &&yy56, &&yy56, &&yy86,
- &&yy56, &&yy88, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy96:
- yych = *++YYCURSOR;
- if (yych <= '1') {
- if (yych <= '/') goto yy196;
- if (yych <= '0') goto yy259;
- goto yy260;
- } else {
- if (yych <= '5') goto yy261;
- if (yych <= '9') goto yy262;
- goto yy196;
- }
-yy97:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy64, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy224, &&yy68, &&yy263,
- &&yy225, &&yy225, &&yy225, &&yy225, &&yy225, &&yy225, &&yy226, &&yy226,
- &&yy226, &&yy226, &&yy72, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy89, &&yy66,
- &&yy66, &&yy66, &&yy90, &&yy91, &&yy92, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66
- };
- goto *yytarget[yych];
- }
-yy98:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '5') goto yy264;
- if (yych <= '9') goto yy265;
- goto yy56;
-yy99:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy266, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy267, &&yy56, &&yy56,
- &&yy229, &&yy56, &&yy56, &&yy56, &&yy56, &&yy230, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy267, &&yy56, &&yy56,
- &&yy229, &&yy56, &&yy56, &&yy56, &&yy56, &&yy230, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy100:
- yych = *++YYCURSOR;
- if (yych <= 'L') {
- if (yych == '.') goto yy266;
- goto yy56;
- } else {
- if (yych <= 'M') goto yy267;
- if (yych == 'm') goto yy267;
- goto yy56;
- }
-yy101:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy64, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy224, &&yy268, &&yy263,
- &&yy226, &&yy226, &&yy226, &&yy226, &&yy226, &&yy226, &&yy226, &&yy226,
- &&yy226, &&yy226, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy89, &&yy66,
- &&yy66, &&yy66, &&yy90, &&yy91, &&yy92, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66,
- &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66, &&yy66
- };
- goto *yytarget[yych];
- }
-yy102:
- yych = *++YYCURSOR;
- if (yych == '-') goto yy269;
- if (yych <= '/') goto yy186;
- if (yych <= '9') goto yy226;
- goto yy186;
-yy103:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych >= ':') goto yy56;
-yy104:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- if (yych <= '/') goto yy106;
- if (yych <= '9') goto yy104;
-yy106:
- {
- timelib_ull i;
-
- TIMELIB_INIT;
- TIMELIB_HAVE_RELATIVE();
- TIMELIB_UNHAVE_DATE();
- TIMELIB_UNHAVE_TIME();
- TIMELIB_HAVE_TZ();
-
- i = timelib_get_unsigned_nr((char **) &ptr, 24);
- s->time->y = 1970;
- s->time->m = 1;
- s->time->d = 1;
- s->time->h = s->time->i = s->time->s = 0;
- s->time->f = 0.0;
- s->time->relative.s += i;
- s->time->is_localtime = 1;
- s->time->zone_type = TIMELIB_ZONETYPE_OFFSET;
- s->time->z = 0;
- s->time->dst = 0;
-
- TIMELIB_DEINIT;
- return TIMELIB_RELATIVE;
- }
-yy107:
- yych = *++YYCURSOR;
- goto yy18;
-yy108:
- yych = *++YYCURSOR;
- if (yych <= '@') {
- if (yych == ')') goto yy107;
- goto yy18;
- } else {
- if (yych <= 'Z') goto yy270;
- if (yych <= '`') goto yy18;
- if (yych <= 'z') goto yy270;
- goto yy18;
- }
-yy109:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy271,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy271,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy110:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy273, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy273, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy111:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy275,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy275,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy112:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy113:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy271,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy278,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy114:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy273, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy279, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy115:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy275,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy280,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy116:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy281, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy281, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy117:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy281, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy277, &&yy277, &&yy282, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy118:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy283, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy283, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy119:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy283, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy277, &&yy277, &&yy284, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy120:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy285,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy285,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy121:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy286, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy286, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy122:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy285,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy287,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy123:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy286, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy288, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy124:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy289, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy289, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy125:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy290, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy291, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy290, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy291, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy126:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy292, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy292, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy127:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy293, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy295,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy293, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy295,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy128:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy289, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy277, &&yy296, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy129:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy290, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy291, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy297, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy298, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy130:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy292, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy299, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy131:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy293, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy295,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy300, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy301,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy132:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy302, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy133:
- ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 21) YYFILL(21);
- yych = *YYCURSOR;
-yy134:
- if (yybm[0+yych] & 16) {
- goto yy133;
- }
- if (yych <= '/') goto yy56;
- if (yych <= '2') goto yy135;
- if (yych <= '3') goto yy137;
- if (yych <= '9') goto yy138;
- goto yy56;
-yy135:
- yyaccept = 4;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') goto yy304;
- if (yych <= '0') goto yy305;
- if (yych <= '1') goto yy306;
- if (yych <= '9') goto yy307;
- goto yy304;
-yy136:
- {
- int length = 0;
- DEBUG_OUTPUT("datetextual | datenoyear");
- TIMELIB_INIT;
- TIMELIB_HAVE_DATE();
- s->time->m = timelib_get_month((char **) &ptr);
- s->time->d = timelib_get_nr((char **) &ptr, 2);
- s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
- TIMELIB_PROCESS_YEAR(s->time->y, length);
- TIMELIB_DEINIT;
- return TIMELIB_DATE_TEXT;
- }
-yy137:
- yyaccept = 4;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '1') {
- if (yych <= '/') goto yy304;
- if (yych <= '0') goto yy305;
- goto yy306;
- } else {
- if (yych <= '2') goto yy309;
- if (yych <= '9') goto yy310;
- goto yy304;
- }
-yy138:
- yyaccept = 4;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '1') {
- if (yych <= '/') goto yy304;
- if (yych <= '0') goto yy311;
- goto yy312;
- } else {
- if (yych <= '2') goto yy309;
- if (yych <= '9') goto yy310;
- goto yy304;
- }
-yy139:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy134, &&yy134, &&yy18,
- &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134,
- &&yy134, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy313, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy140:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy134, &&yy134, &&yy18,
- &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134,
- &&yy134, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy141:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy314, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy314, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy142:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy315, &&yy270, &&yy316, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy315, &&yy270, &&yy316, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy143:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy314, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy317, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy144:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy315, &&yy270, &&yy316, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy318, &&yy277, &&yy319, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy145:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy320, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy320, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy146:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy320, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy321, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy147:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy322, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy323, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy322, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy323, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy148:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy324, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy324, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy149:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy293, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy293, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy150:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy322, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy323, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy325, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy326, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy151:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy324, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy277, &&yy277, &&yy277, &&yy327, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy152:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy293, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy300, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy153:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy328, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy328, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy154:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy290, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy290, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy155:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy329,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy283, &&yy330,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy329,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy283, &&yy330,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy156:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy328, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy332, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy157:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy290, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy297, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy158:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy329,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy283, &&yy330,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy333,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy284, &&yy334,
- &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy159:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy335, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy335, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy160:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy335, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy336, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy161:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy337, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy337, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy162:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy337, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy338, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy163:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy339, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy339, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy164:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy340, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy341, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy342, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy340, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy341, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy342, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy165:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy290, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy290, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy166:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy339, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy343, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy167:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy340, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy341, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy342, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy277, &&yy277, &&yy344, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy345, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy346, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy168:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy290, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy297, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy169:
- yych = *++YYCURSOR;
- if (yych <= '/') {
- if (yych == '.') goto yy72;
- goto yy56;
- } else {
- if (yych <= '9') goto yy347;
- if (yych <= ':') goto yy72;
- goto yy56;
- }
-yy170:
- yych = *++YYCURSOR;
- if (yych <= '/') {
- if (yych == '.') goto yy72;
- goto yy56;
- } else {
- if (yych <= '4') goto yy347;
- if (yych == ':') goto yy72;
- goto yy56;
- }
-yy171:
- yych = *++YYCURSOR;
- if (yych == '.') goto yy72;
- if (yych == ':') goto yy72;
- goto yy56;
-yy172:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy348, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy349, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy348, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy349, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy173:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy350, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy351, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy350, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy351, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy174:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy352, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy352, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy175:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy353, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy353, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy176:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy348, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy349, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy354, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy355, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy177:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy350, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy351, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy277, &&yy277, &&yy277, &&yy356, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy357, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy178:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy352, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy358, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy179:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy353, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy359, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy180:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy134, &&yy134, &&yy18,
- &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134,
- &&yy134, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy360, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy181:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy361, &&yy362, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy361, &&yy362, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy182:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy361, &&yy362, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy277, &&yy277, &&yy277, &&yy363, &&yy364, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy183:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy365, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy365, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy184:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy365, &&yy270, &&yy270, &&yy270, &&yy270,
- &&yy270, &&yy270, &&yy270, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy366, &&yy277, &&yy277, &&yy277, &&yy277,
- &&yy277, &&yy277, &&yy277, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy185:
- ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
- yych = *YYCURSOR;
-yy186:
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy185, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy185, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy187, &&yy56, &&yy188, &&yy56,
- &&yy76, &&yy56, &&yy56, &&yy56, &&yy56, &&yy189, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy190, &&yy84, &&yy56, &&yy56, &&yy86,
- &&yy56, &&yy88, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy187, &&yy56, &&yy188, &&yy56,
- &&yy76, &&yy56, &&yy56, &&yy56, &&yy56, &&yy189, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy190, &&yy84, &&yy56, &&yy56, &&yy86,
- &&yy56, &&yy88, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy187:
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy231;
- if (yych == 'a') goto yy231;
- goto yy56;
-yy188:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy234,
- &&yy56, &&yy56, &&yy235, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy234,
- &&yy56, &&yy56, &&yy235, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy189:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy246, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy247,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy246, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy247,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy190:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy250, &&yy56, &&yy56, &&yy56, &&yy367, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy252, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy250, &&yy56, &&yy56, &&yy56, &&yy367, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy252, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy191:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy368, &&yy368, &&yy368, &&yy368, &&yy368, &&yy368, &&yy369, &&yy369,
- &&yy369, &&yy369, &&yy192, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18,
- &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy186, &&yy186, &&yy18, &&yy18, &&yy186,
- &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18,
- &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy186, &&yy186, &&yy18, &&yy18, &&yy186,
- &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy192:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy18;
- if (yych <= '5') goto yy370;
- if (yych <= '9') goto yy107;
- goto yy18;
-yy193:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy369, &&yy369, &&yy369, &&yy369, &&yy369, &&yy369, &&yy369, &&yy369,
- &&yy369, &&yy369, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18,
- &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy186, &&yy186, &&yy18, &&yy18, &&yy186,
- &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18,
- &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy186, &&yy186, &&yy18, &&yy18, &&yy186,
- &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy194:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy371, &&yy371, &&yy371, &&yy371, &&yy371, &&yy371, &&yy371, &&yy371,
- &&yy371, &&yy371, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18,
- &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy186, &&yy186, &&yy18, &&yy18, &&yy186,
- &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18,
- &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy186, &&yy186, &&yy18, &&yy18, &&yy186,
- &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy195:
- ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
- yych = *YYCURSOR;
-yy196:
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy195, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy195, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy195, &&yy195, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy73, &&yy56, &&yy56, &&yy203, &&yy56, &&yy204, &&yy56,
- &&yy56, &&yy77, &&yy79, &&yy56, &&yy56, &&yy205, &&yy81, &&yy82,
- &&yy56, &&yy56, &&yy56, &&yy206, &&yy56, &&yy56, &&yy85, &&yy56,
- &&yy87, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy73, &&yy56, &&yy56, &&yy203, &&yy56, &&yy204, &&yy56,
- &&yy56, &&yy56, &&yy79, &&yy56, &&yy56, &&yy205, &&yy81, &&yy82,
- &&yy56, &&yy56, &&yy56, &&yy206, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy197:
- yych = *++YYCURSOR;
- if (yych <= '.') {
- if (yych <= ',') goto yy56;
- if (yych <= '-') goto yy372;
- goto yy373;
- } else {
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy199;
- goto yy56;
- }
-yy198:
- yych = *++YYCURSOR;
- if (yych <= '.') {
- if (yych <= ',') goto yy56;
- if (yych <= '-') goto yy372;
- goto yy373;
- } else {
- if (yych <= '/') goto yy56;
- if (yych >= '3') goto yy56;
- }
-yy199:
- yych = *++YYCURSOR;
- if (yych <= ',') goto yy56;
- if (yych <= '-') goto yy372;
- if (yych <= '.') goto yy373;
- goto yy56;
-yy200:
- yych = *++YYCURSOR;
- if (yych <= '.') {
- if (yych <= ',') goto yy56;
- if (yych <= '-') goto yy374;
- goto yy372;
- } else {
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy202;
- goto yy56;
- }
-yy201:
- yych = *++YYCURSOR;
- if (yych <= '.') {
- if (yych <= ',') goto yy56;
- if (yych <= '-') goto yy374;
- goto yy372;
- } else {
- if (yych <= '/') goto yy56;
- if (yych >= '3') goto yy56;
- }
-yy202:
- yych = *++YYCURSOR;
- if (yych <= ',') goto yy56;
- if (yych <= '-') goto yy374;
- if (yych <= '.') goto yy372;
- goto yy56;
-yy203:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy232;
- if (yych == 'e') goto yy232;
- goto yy56;
-yy204:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy233;
- if (yych == 'e') goto yy233;
- goto yy56;
-yy205:
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy245;
- if (yych == 'a') goto yy245;
- goto yy56;
-yy206:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy375;
- if (yych == 'e') goto yy375;
- goto yy56;
-yy207:
- yyaccept = 5;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '.') {
- if (yych <= ',') goto yy208;
- if (yych <= '-') goto yy372;
- goto yy376;
- } else {
- if (yych <= '/') goto yy208;
- if (yych <= '9') goto yy211;
- if (yych <= ':') goto yy377;
- }
-yy208:
- {
- int tz_not_found;
- DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long");
- TIMELIB_INIT;
- TIMELIB_HAVE_TIME();
- s->time->h = timelib_get_nr((char **) &ptr, 2);
- s->time->i = timelib_get_nr((char **) &ptr, 2);
- if (*ptr == ':' || *ptr == '.') {
- s->time->s = timelib_get_nr((char **) &ptr, 2);
-
- if (*ptr == '.') {
- s->time->f = timelib_get_frac_nr((char **) &ptr, 8);
- }
- }
-
- if (*ptr != '\0') {
- s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
- if (tz_not_found) {
- add_error(s, "The timezone could not be found in the database");
- }
- }
- TIMELIB_DEINIT;
- return TIMELIB_TIME24_WITH_ZONE;
- }
-yy209:
- yyaccept = 5;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') {
- if (yych <= ',') goto yy208;
- if (yych <= '-') goto yy372;
- if (yych <= '.') goto yy376;
- goto yy208;
- } else {
- if (yych <= '2') goto yy211;
- if (yych <= '9') goto yy228;
- if (yych <= ':') goto yy377;
- goto yy208;
- }
-yy210:
- yyaccept = 5;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '.') {
- if (yych <= ',') goto yy208;
- if (yych <= '-') goto yy372;
- goto yy376;
- } else {
- if (yych <= '/') goto yy208;
- if (yych <= '9') goto yy228;
- if (yych <= ':') goto yy377;
- goto yy208;
- }
-yy211:
- yyaccept = 5;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '.') {
- if (yych <= ',') goto yy208;
- if (yych <= '-') goto yy372;
- goto yy376;
- } else {
- if (yych == ':') goto yy377;
- goto yy208;
- }
-yy212:
- yyaccept = 6;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy378,
- &&yy215, &&yy215, &&yy215, &&yy215, &&yy215, &&yy215, &&yy215, &&yy215,
- &&yy215, &&yy215, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy379, &&yy213,
- &&yy213, &&yy213, &&yy379, &&yy380, &&yy381, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213
- };
- goto *yytarget[yych];
- }
-yy213:
- {
- int length = 0;
- DEBUG_OUTPUT("americanshort | american");
- TIMELIB_INIT;
- TIMELIB_HAVE_DATE();
- s->time->m = timelib_get_nr((char **) &ptr, 2);
- s->time->d = timelib_get_nr((char **) &ptr, 2);
- if (*ptr == '/') {
- s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
- TIMELIB_PROCESS_YEAR(s->time->y, length);
- }
- TIMELIB_DEINIT;
- return TIMELIB_AMERICAN;
- }
-yy214:
- yyaccept = 6;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy378,
- &&yy215, &&yy215, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy379, &&yy213,
- &&yy213, &&yy213, &&yy379, &&yy380, &&yy381, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213
- };
- goto *yytarget[yych];
- }
-yy215:
- yyaccept = 6;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy378,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy379, &&yy213,
- &&yy213, &&yy213, &&yy379, &&yy380, &&yy381, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213,
- &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213, &&yy213
- };
- goto *yytarget[yych];
- }
-yy216:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy382, &&yy56, &&yy56, &&yy56, &&yy56, &&yy383, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy382, &&yy56, &&yy56, &&yy56, &&yy56, &&yy383, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy217:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy384;
- if (yych == 'e') goto yy384;
- goto yy56;
-yy218:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy385;
- if (yych == 'e') goto yy385;
- goto yy56;
-yy219:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy386, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy387, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy386, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy387, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy220:
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy388;
- if (yych == 'a') goto yy388;
- goto yy56;
-yy221:
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy389;
- if (yych == 'o') goto yy389;
- goto yy56;
-yy222:
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy390;
- if (yych == 'c') goto yy390;
- goto yy56;
-yy223:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy391;
- if (yych == 'e') goto yy391;
- goto yy56;
-yy224:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy196;
- if (yych <= '0') goto yy392;
- if (yych <= '1') goto yy393;
- if (yych <= '9') goto yy202;
- goto yy196;
-yy225:
- yych = *++YYCURSOR;
- if (yych == '-') goto yy394;
- if (yych <= '/') goto yy186;
- if (yych <= '9') goto yy395;
- goto yy186;
-yy226:
- yych = *++YYCURSOR;
- if (yych == '-') goto yy394;
- if (yych <= '/') goto yy186;
- if (yych <= '9') goto yy397;
- goto yy186;
-yy227:
- yyaccept = 5;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') {
- if (yych == '.') goto yy377;
- goto yy208;
- } else {
- if (yych <= '9') goto yy228;
- if (yych <= ':') goto yy377;
- goto yy208;
- }
-yy228:
- yyaccept = 5;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '.') goto yy377;
- if (yych == ':') goto yy377;
- goto yy208;
-yy229:
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy399;
- if (yych == 'r') goto yy399;
- goto yy56;
-yy230:
- yych = *++YYCURSOR;
- if (yych == 'G') goto yy400;
- if (yych == 'g') goto yy400;
- goto yy56;
-yy231:
- yych = *++YYCURSOR;
- if (yych == 'Y') goto yy401;
- if (yych == 'y') goto yy401;
- goto yy56;
-yy232:
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy403;
- if (yych == 'c') goto yy403;
- goto yy56;
-yy233:
- yych = *++YYCURSOR;
- if (yych == 'B') goto yy404;
- if (yych == 'b') goto yy404;
- goto yy56;
-yy234:
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy405;
- if (yych == 'r') goto yy405;
- goto yy56;
-yy235:
- yych = *++YYCURSOR;
- if (yych == 'I') goto yy406;
- if (yych == 'i') goto yy406;
- goto yy56;
-yy236:
- yych = *++YYCURSOR;
- if (yych == 'U') goto yy407;
- if (yych == 'u') goto yy407;
- goto yy56;
-yy237:
- ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
- yych = *YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy237, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy237, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy237, &&yy237, &&yy56,
- &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239,
- &&yy239, &&yy239, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy239:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy240;
- if (yych <= '9') goto yy408;
-yy240:
- {
- int length = 0;
- DEBUG_OUTPUT("datefull");
- TIMELIB_INIT;
- TIMELIB_HAVE_DATE();
- s->time->d = timelib_get_nr((char **) &ptr, 2);
- timelib_skip_day_suffix((char **) &ptr);
- s->time->m = timelib_get_month((char **) &ptr);
- s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
- TIMELIB_PROCESS_YEAR(s->time->y, length);
- TIMELIB_DEINIT;
- return TIMELIB_DATE_FULL;
- }
-yy241:
- yyaccept = 3;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy237, &&yy78,
- &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239,
- &&yy239, &&yy239, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy242, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78
- };
- goto *yytarget[yych];
- }
-yy242:
- yyaccept = 3;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy237, &&yy78,
- &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239,
- &&yy239, &&yy239, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78
- };
- goto *yytarget[yych];
- }
-yy243:
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy409;
- if (yych == 'n') goto yy409;
- goto yy56;
-yy244:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy410, &&yy56, &&yy411, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy410, &&yy56, &&yy411, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy245:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy412, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy242, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy412, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy242, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy246:
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy413;
- if (yych == 'n') goto yy413;
- goto yy56;
-yy247:
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy414;
- if (yych == 'n') goto yy414;
- goto yy56;
-yy248:
- yych = *++YYCURSOR;
- if (yych == 'V') goto yy403;
- if (yych == 'v') goto yy403;
- goto yy56;
-yy249:
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy415;
- if (yych == 't') goto yy415;
- goto yy56;
-yy250:
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy416;
- if (yych == 't') goto yy416;
- goto yy56;
-yy251:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy417, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy418, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy417, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy418, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy252:
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy406;
- if (yych == 'n') goto yy406;
- goto yy56;
-yy253:
- yych = *++YYCURSOR;
- if (yych == 'U') goto yy419;
- if (yych == 'u') goto yy419;
- goto yy56;
-yy254:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy420;
- if (yych == 'e') goto yy420;
- goto yy56;
-yy255:
- yych = *++YYCURSOR;
- if (yych <= 'E') {
- if (yych <= 'C') goto yy56;
- if (yych <= 'D') goto yy421;
- goto yy422;
- } else {
- if (yych <= 'c') goto yy56;
- if (yych <= 'd') goto yy421;
- if (yych <= 'e') goto yy422;
- goto yy56;
- }
-yy256:
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy407;
- if (yych == 'a') goto yy407;
- goto yy56;
-yy257:
- yych = *++YYCURSOR;
- if (yych <= ',') {
- if (yych == '\t') goto yy268;
- goto yy196;
- } else {
- if (yych <= '-') goto yy423;
- if (yych <= '.') goto yy268;
- if (yych <= '/') goto yy263;
- goto yy196;
- }
-yy258:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196,
- &&yy196, &&yy268, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196,
- &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196,
- &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196,
- &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196,
- &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy423, &&yy268, &&yy263,
- &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196,
- &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196,
- &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196,
- &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196,
- &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy419, &&yy196, &&yy196,
- &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196,
- &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196,
- &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196,
- &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy419, &&yy196, &&yy196,
- &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196,
- &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196,
- &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196,
- &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196,
- &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196,
- &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196,
- &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196,
- &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196,
- &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196,
- &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196,
- &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196,
- &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196,
- &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196,
- &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196,
- &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196,
- &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196,
- &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196, &&yy196
- };
- goto *yytarget[yych];
- }
-yy259:
- yyaccept = 5;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '.') {
- if (yych <= ',') goto yy208;
- if (yych <= '-') goto yy372;
- goto yy424;
- } else {
- if (yych <= '/') goto yy208;
- if (yych <= '9') goto yy425;
- if (yych <= ':') goto yy426;
- goto yy208;
- }
-yy260:
- yyaccept = 5;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') {
- if (yych <= ',') goto yy208;
- if (yych <= '-') goto yy372;
- if (yych <= '.') goto yy424;
- goto yy208;
- } else {
- if (yych <= '2') goto yy425;
- if (yych <= '9') goto yy427;
- if (yych <= ':') goto yy426;
- goto yy208;
- }
-yy261:
- yyaccept = 5;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '.') {
- if (yych <= ',') goto yy208;
- if (yych <= '-') goto yy372;
- goto yy424;
- } else {
- if (yych <= '/') goto yy208;
- if (yych <= '9') goto yy427;
- if (yych <= ':') goto yy426;
- goto yy208;
- }
-yy262:
- yyaccept = 5;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '.') {
- if (yych <= ',') goto yy208;
- if (yych <= '-') goto yy372;
- goto yy424;
- } else {
- if (yych == ':') goto yy426;
- goto yy208;
- }
-yy263:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy216, &&yy56, &&yy56, &&yy217, &&yy56, &&yy218, &&yy56,
- &&yy56, &&yy56, &&yy219, &&yy56, &&yy56, &&yy220, &&yy221, &&yy222,
- &&yy56, &&yy56, &&yy56, &&yy223, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy216, &&yy56, &&yy56, &&yy217, &&yy56, &&yy218, &&yy56,
- &&yy56, &&yy56, &&yy219, &&yy56, &&yy56, &&yy220, &&yy221, &&yy222,
- &&yy56, &&yy56, &&yy56, &&yy223, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy264:
- yyaccept = 5;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') {
- if (yych == '.') goto yy426;
- goto yy208;
- } else {
- if (yych <= '9') goto yy428;
- if (yych <= ':') goto yy426;
- goto yy208;
- }
-yy265:
- yyaccept = 5;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '.') goto yy426;
- if (yych == ':') goto yy426;
- goto yy208;
-yy266:
- yych = *++YYCURSOR;
- if (yych == 'M') goto yy267;
- if (yych != 'm') goto yy56;
-yy267:
- yych = *++YYCURSOR;
- if (yych <= 0x1F) {
- if (yych <= 0x00) goto yy429;
- if (yych == '\t') goto yy429;
- goto yy56;
- } else {
- if (yych <= ' ') goto yy429;
- if (yych == '.') goto yy431;
- goto yy56;
- }
-yy268:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy196;
- if (yych <= '0') goto yy197;
- if (yych <= '1') goto yy198;
- if (yych <= '9') goto yy199;
- goto yy196;
-yy269:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy432, &&yy433, &&yy434, &&yy434, &&yy434, &&yy434, &&yy434, &&yy434,
- &&yy434, &&yy434, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy435, &&yy56, &&yy56, &&yy436, &&yy56, &&yy437, &&yy56,
- &&yy56, &&yy56, &&yy438, &&yy56, &&yy56, &&yy439, &&yy440, &&yy441,
- &&yy56, &&yy56, &&yy56, &&yy442, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy435, &&yy56, &&yy56, &&yy436, &&yy56, &&yy437, &&yy56,
- &&yy56, &&yy56, &&yy438, &&yy56, &&yy56, &&yy439, &&yy440, &&yy441,
- &&yy56, &&yy56, &&yy56, &&yy442, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy270:
- yych = *++YYCURSOR;
- if (yych <= '@') {
- if (yych == ')') goto yy107;
- goto yy18;
- } else {
- if (yych <= 'Z') goto yy443;
- if (yych <= '`') goto yy18;
- if (yych <= 'z') goto yy443;
- goto yy18;
- }
-yy271:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '@') {
- if (yych == ')') goto yy107;
- } else {
- if (yych <= 'Z') goto yy443;
- if (yych <= '`') goto yy272;
- if (yych <= 'z') goto yy443;
- }
-yy272:
- {
- DEBUG_OUTPUT("ago");
- TIMELIB_INIT;
- s->time->relative.y = 0 - s->time->relative.y;
- s->time->relative.m = 0 - s->time->relative.m;
- s->time->relative.d = 0 - s->time->relative.d;
- s->time->relative.h = 0 - s->time->relative.h;
- s->time->relative.i = 0 - s->time->relative.i;
- s->time->relative.s = 0 - s->time->relative.s;
- s->time->relative.weekday = 0 - s->time->relative.weekday;
- if (s->time->relative.weekday == 0) {
- s->time->relative.weekday = -7;
- }
- if (s->time->relative.have_special_relative && s->time->relative.special.type == TIMELIB_SPECIAL_WEEKDAY) {
- s->time->relative.special.amount = 0 - s->time->relative.special.amount;
- }
- TIMELIB_DEINIT;
- return TIMELIB_AGO;
- }
-yy273:
- yyaccept = 7;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy444, &&yy134, &&yy274,
- &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134,
- &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy445, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy445, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274
- };
- goto *yytarget[yych];
- }
-yy274:
- {
- DEBUG_OUTPUT("monthtext");
- TIMELIB_INIT;
- TIMELIB_HAVE_DATE();
- s->time->m = timelib_lookup_month((char **) &ptr);
- TIMELIB_DEINIT;
- return TIMELIB_DATE_TEXT;
- }
-yy275:
- yyaccept = 7;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy444, &&yy134, &&yy274,
- &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134,
- &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy446, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy446, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274
- };
- goto *yytarget[yych];
- }
-yy276:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- if (yybm[0+yych] & 64) {
- goto yy447;
- }
- goto yy56;
-yy277:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy278:
- yyaccept = 8;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272,
- &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272,
- &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272,
- &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272,
- &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272,
- &&yy272, &&yy107, &&yy272, &&yy272, &&yy272, &&yy276, &&yy272, &&yy276,
- &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272,
- &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272,
- &&yy272, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy272, &&yy272, &&yy272, &&yy272, &&yy276,
- &&yy272, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272,
- &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272,
- &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272,
- &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272,
- &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272,
- &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272,
- &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272,
- &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272,
- &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272,
- &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272,
- &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272,
- &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272,
- &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272,
- &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272,
- &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272,
- &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272,
- &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272, &&yy272
- };
- goto *yytarget[yych];
- }
-yy279:
- yyaccept = 7;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy450, &&yy134, &&yy276,
- &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134,
- &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy445, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy276,
- &&yy274, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy451, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274
- };
- goto *yytarget[yych];
- }
-yy280:
- yyaccept = 7;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy450, &&yy134, &&yy276,
- &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134,
- &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy446, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy276,
- &&yy274, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy452, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274
- };
- goto *yytarget[yych];
- }
-yy281:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy453, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy453, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy282:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy453, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy454, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy283:
- yyaccept = 7;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy444, &&yy134, &&yy274,
- &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134,
- &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy455, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy455, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274
- };
- goto *yytarget[yych];
- }
-yy284:
- yyaccept = 7;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy450, &&yy134, &&yy276,
- &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134,
- &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy455, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy276,
- &&yy274, &&yy449, &&yy449, &&yy449, &&yy449, &&yy456, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274
- };
- goto *yytarget[yych];
- }
-yy285:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy457, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy457, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy286:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy458, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy458, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy287:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy457, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy459, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy288:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy458, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy460, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy289:
- yyaccept = 7;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy444, &&yy134, &&yy274,
- &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134,
- &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy461, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy461, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274
- };
- goto *yytarget[yych];
- }
-yy290:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy462, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy462, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy291:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy463, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy463, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy292:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy464, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy464, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy293:
- ++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy107, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy443, &&yy443, &&yy443, &&yy465, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy443, &&yy443, &&yy443, &&yy465, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294
- };
- goto *yytarget[(yych = *YYCURSOR)];
- }
-yy294:
- {
- const timelib_relunit* relunit;
- DEBUG_OUTPUT("daytext");
- TIMELIB_INIT;
- TIMELIB_HAVE_RELATIVE();
- TIMELIB_HAVE_WEEKDAY_RELATIVE();
- TIMELIB_UNHAVE_TIME();
- relunit = timelib_lookup_relunit((char**) &ptr);
- s->time->relative.weekday = relunit->multiplier;
- if (s->time->relative.weekday_behavior != 2) {
- s->time->relative.weekday_behavior = 1;
- }
-
- TIMELIB_DEINIT;
- return TIMELIB_WEEKDAY;
- }
-yy295:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy466, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy466, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy296:
- yyaccept = 7;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy450, &&yy134, &&yy276,
- &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134,
- &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy461, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy276,
- &&yy274, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy467, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274
- };
- goto *yytarget[yych];
- }
-yy297:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy462, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy468, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy298:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy463, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy469, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy299:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy464, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy470, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy300:
- yyaccept = 9;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy107, &&yy294, &&yy294, &&yy294, &&yy276, &&yy294, &&yy276,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy443, &&yy443, &&yy443, &&yy465, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy294, &&yy294, &&yy294, &&yy294, &&yy276,
- &&yy294, &&yy449, &&yy449, &&yy449, &&yy471, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294
- };
- goto *yytarget[yych];
- }
-yy301:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy466, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy472, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy302:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy473, &&yy18, &&yy473, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy303:
- yyaccept = 4;
- YYMARKER = ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 18) YYFILL(18);
- yych = *YYCURSOR;
-yy304:
- {
- static void *yytarget[256] = {
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy303, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy303, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy303, &&yy136, &&yy303, &&yy136,
- &&yy474, &&yy475, &&yy476, &&yy477, &&yy477, &&yy477, &&yy477, &&yy477,
- &&yy477, &&yy477, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy308, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy303, &&yy136, &&yy136, &&yy136,
- &&yy303, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy303, &&yy136,
- &&yy136, &&yy136, &&yy303, &&yy303, &&yy303, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136
- };
- goto *yytarget[yych];
- }
-yy305:
- yyaccept = 4;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy478, &&yy304,
- &&yy479, &&yy480, &&yy481, &&yy482, &&yy482, &&yy482, &&yy482, &&yy482,
- &&yy482, &&yy482, &&yy483, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304
- };
- goto *yytarget[yych];
- }
-yy306:
- yyaccept = 4;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy484, &&yy304,
- &&yy485, &&yy480, &&yy481, &&yy482, &&yy482, &&yy482, &&yy482, &&yy482,
- &&yy482, &&yy482, &&yy486, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304
- };
- goto *yytarget[yych];
- }
-yy307:
- yyaccept = 4;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy484, &&yy304,
- &&yy479, &&yy480, &&yy481, &&yy482, &&yy482, &&yy482, &&yy482, &&yy482,
- &&yy482, &&yy482, &&yy486, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304
- };
- goto *yytarget[yych];
- }
-yy308:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '1') goto yy487;
- if (yych <= '2') goto yy488;
- if (yych <= '9') goto yy489;
- goto yy56;
-yy309:
- yych = *++YYCURSOR;
- if (yych <= '/') {
- if (yych == '.') goto yy486;
- goto yy56;
- } else {
- if (yych <= '4') goto yy490;
- if (yych <= '9') goto yy491;
- if (yych <= ':') goto yy486;
- goto yy56;
- }
-yy310:
- yych = *++YYCURSOR;
- if (yych <= '/') {
- if (yych == '.') goto yy486;
- goto yy56;
- } else {
- if (yych <= '9') goto yy491;
- if (yych <= ':') goto yy486;
- goto yy56;
- }
-yy311:
- yych = *++YYCURSOR;
- if (yych <= '/') {
- if (yych == '.') goto yy483;
- goto yy56;
- } else {
- if (yych <= '0') goto yy490;
- if (yych <= '9') goto yy482;
- if (yych <= ':') goto yy483;
- goto yy56;
- }
-yy312:
- yych = *++YYCURSOR;
- if (yych <= '/') {
- if (yych == '.') goto yy486;
- goto yy56;
- } else {
- if (yych <= '2') goto yy482;
- if (yych <= '9') goto yy490;
- if (yych <= ':') goto yy486;
- goto yy56;
- }
-yy313:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy134, &&yy134, &&yy18,
- &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134,
- &&yy134, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy314:
- yyaccept = 7;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy444, &&yy134, &&yy274,
- &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134,
- &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy492, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy492, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274
- };
- goto *yytarget[yych];
- }
-yy315:
- yyaccept = 7;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy444, &&yy134, &&yy274,
- &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134,
- &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy493, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy493, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274
- };
- goto *yytarget[yych];
- }
-yy316:
- yyaccept = 7;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy444, &&yy134, &&yy274,
- &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134,
- &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy493, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy493, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274
- };
- goto *yytarget[yych];
- }
-yy317:
- yyaccept = 7;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy450, &&yy134, &&yy276,
- &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134,
- &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy492, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy276,
- &&yy274, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy494, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274
- };
- goto *yytarget[yych];
- }
-yy318:
- yyaccept = 7;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy450, &&yy134, &&yy276,
- &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134,
- &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy493, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy276,
- &&yy274, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy495, &&yy449, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274
- };
- goto *yytarget[yych];
- }
-yy319:
- yyaccept = 7;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy450, &&yy134, &&yy276,
- &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134,
- &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy493, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy276,
- &&yy274, &&yy449, &&yy449, &&yy449, &&yy449, &&yy495, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274
- };
- goto *yytarget[yych];
- }
-yy320:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy496, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy496, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy321:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy496, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy497, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy322:
- yyaccept = 7;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy444, &&yy134, &&yy274,
- &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134,
- &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy443, &&yy443, &&yy498, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy443, &&yy443, &&yy498, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274
- };
- goto *yytarget[yych];
- }
-yy323:
- yyaccept = 7;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy444, &&yy134, &&yy274,
- &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134,
- &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274
- };
- goto *yytarget[yych];
- }
-yy324:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy499, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy499, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy325:
- yyaccept = 7;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy450, &&yy134, &&yy276,
- &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134,
- &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy443, &&yy443, &&yy498, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy276,
- &&yy274, &&yy449, &&yy449, &&yy500, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274
- };
- goto *yytarget[yych];
- }
-yy326:
- yyaccept = 7;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy450, &&yy134, &&yy276,
- &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134,
- &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy276,
- &&yy274, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274
- };
- goto *yytarget[yych];
- }
-yy327:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy499, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy501, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy328:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy502, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy502, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy329:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy503, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy503, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy330:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '@') {
- if (yych == ')') goto yy107;
- } else {
- if (yych <= 'Z') goto yy443;
- if (yych <= '`') goto yy331;
- if (yych <= 'z') goto yy443;
- }
-yy331:
- {
- DEBUG_OUTPUT("now");
- TIMELIB_INIT;
-
- TIMELIB_DEINIT;
- return TIMELIB_RELATIVE;
- }
-yy332:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy502, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy505, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy333:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy503, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy506, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy334:
- yyaccept = 10;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331,
- &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331,
- &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331,
- &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331,
- &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331,
- &&yy331, &&yy107, &&yy331, &&yy331, &&yy331, &&yy276, &&yy331, &&yy276,
- &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331,
- &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331,
- &&yy331, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy331, &&yy331, &&yy331, &&yy331, &&yy276,
- &&yy331, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331,
- &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331,
- &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331,
- &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331,
- &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331,
- &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331,
- &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331,
- &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331,
- &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331,
- &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331,
- &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331,
- &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331,
- &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331,
- &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331,
- &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331,
- &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331,
- &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331, &&yy331
- };
- goto *yytarget[yych];
- }
-yy335:
- yyaccept = 7;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy444, &&yy134, &&yy274,
- &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134,
- &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy507,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy507,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274
- };
- goto *yytarget[yych];
- }
-yy336:
- yyaccept = 7;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy450, &&yy134, &&yy276,
- &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134,
- &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy507,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy276,
- &&yy274, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy508,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274
- };
- goto *yytarget[yych];
- }
-yy337:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy509, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy509, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy338:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy509, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy510, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy339:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy107, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy511, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy511, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294
- };
- goto *yytarget[yych];
- }
-yy340:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy512,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy512,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy341:
- yyaccept = 7;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy444, &&yy134, &&yy274,
- &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134,
- &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy513, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy513, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274
- };
- goto *yytarget[yych];
- }
-yy342:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy514, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy514, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy343:
- yyaccept = 9;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy107, &&yy294, &&yy294, &&yy294, &&yy276, &&yy294, &&yy276,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy511, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy294, &&yy294, &&yy294, &&yy294, &&yy276,
- &&yy294, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy515, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294
- };
- goto *yytarget[yych];
- }
-yy344:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy512,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy516,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy345:
- yyaccept = 7;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy450, &&yy134, &&yy276,
- &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134,
- &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy513, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy274, &&yy274, &&yy274, &&yy274, &&yy276,
- &&yy274, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy517, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274
- };
- goto *yytarget[yych];
- }
-yy346:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy514, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy449, &&yy449, &&yy449, &&yy449, &&yy518, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy347:
- yych = *++YYCURSOR;
- if (yych <= '/') {
- if (yych == '.') goto yy72;
- goto yy56;
- } else {
- if (yych <= '5') goto yy519;
- if (yych == ':') goto yy72;
- goto yy56;
- }
-yy348:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy520, &&yy502, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy520, &&yy502, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy349:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy107, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy521, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy521, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294
- };
- goto *yytarget[yych];
- }
-yy350:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy522, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy522, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy351:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy523,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy523,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy352:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy107, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy524, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy524, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294
- };
- goto *yytarget[yych];
- }
-yy353:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy525, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy525, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy354:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy520, &&yy502, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy526, &&yy505, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy355:
- yyaccept = 9;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy107, &&yy294, &&yy294, &&yy294, &&yy276, &&yy294, &&yy276,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy521, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy294, &&yy294, &&yy294, &&yy294, &&yy276,
- &&yy294, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy527, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294
- };
- goto *yytarget[yych];
- }
-yy356:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy522, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy528, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy357:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy523,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy529,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy358:
- yyaccept = 9;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy107, &&yy294, &&yy294, &&yy294, &&yy276, &&yy294, &&yy276,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy524, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy294, &&yy294, &&yy294, &&yy294, &&yy276,
- &&yy294, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy530, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294
- };
- goto *yytarget[yych];
- }
-yy359:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy525, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy531, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy360:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy134, &&yy134, &&yy18,
- &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134,
- &&yy134, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy532, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy361:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy107, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy533, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy533, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294
- };
- goto *yytarget[yych];
- }
-yy362:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy534, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy534, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy363:
- yyaccept = 9;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy107, &&yy294, &&yy294, &&yy294, &&yy276, &&yy294, &&yy276,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy533, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy294, &&yy294, &&yy294, &&yy294, &&yy276,
- &&yy294, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy535, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294
- };
- goto *yytarget[yych];
- }
-yy364:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy534, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy536, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy365:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy537, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy537, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy366:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy443, &&yy537, &&yy443, &&yy443, &&yy443,
- &&yy443, &&yy443, &&yy443, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy449, &&yy538, &&yy449, &&yy449, &&yy449,
- &&yy449, &&yy449, &&yy449, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy367:
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy417;
- if (yych == 'c') goto yy417;
- goto yy56;
-yy368:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy539, &&yy539, &&yy539, &&yy539, &&yy539, &&yy539, &&yy539, &&yy539,
- &&yy539, &&yy539, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18,
- &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy186, &&yy186, &&yy18, &&yy18, &&yy186,
- &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18,
- &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy186, &&yy186, &&yy18, &&yy18, &&yy186,
- &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy369:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy540, &&yy540, &&yy540, &&yy540, &&yy540, &&yy540, &&yy540, &&yy540,
- &&yy540, &&yy540, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18,
- &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy186, &&yy186, &&yy18, &&yy18, &&yy186,
- &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18,
- &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy186, &&yy186, &&yy18, &&yy18, &&yy186,
- &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy370:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy18;
- if (yych <= '9') goto yy107;
- goto yy18;
-yy371:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy186;
- if (yych <= '9') goto yy540;
- goto yy186;
-yy372:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy541;
- goto yy56;
-yy373:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy542;
- goto yy56;
-yy374:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '2') goto yy543;
- if (yych <= '3') goto yy545;
- if (yych <= '9') goto yy546;
- goto yy56;
-yy375:
- yych = *++YYCURSOR;
- if (yych == 'P') goto yy418;
- if (yych == 'p') goto yy418;
- goto yy56;
-yy376:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '5') goto yy547;
- if (yych <= '6') goto yy548;
- if (yych <= '9') goto yy549;
- goto yy56;
-yy377:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '5') goto yy550;
- if (yych <= '6') goto yy551;
- if (yych <= '9') goto yy552;
- goto yy56;
-yy378:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy553;
- goto yy56;
-yy379:
- yych = *++YYCURSOR;
- if (yych == 'd') goto yy554;
- goto yy56;
-yy380:
- yych = *++YYCURSOR;
- if (yych == 't') goto yy554;
- goto yy56;
-yy381:
- yych = *++YYCURSOR;
- if (yych == 'h') goto yy554;
- goto yy56;
-yy382:
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy555;
- if (yych == 'r') goto yy555;
- goto yy56;
-yy383:
- yych = *++YYCURSOR;
- if (yych == 'G') goto yy555;
- if (yych == 'g') goto yy555;
- goto yy56;
-yy384:
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy555;
- if (yych == 'c') goto yy555;
- goto yy56;
-yy385:
- yych = *++YYCURSOR;
- if (yych == 'B') goto yy555;
- if (yych == 'b') goto yy555;
- goto yy56;
-yy386:
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy555;
- if (yych == 'n') goto yy555;
- goto yy56;
-yy387:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy555, &&yy56, &&yy555, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy555, &&yy56, &&yy555, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy388:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy555, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy555, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy555, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy555, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy389:
- yych = *++YYCURSOR;
- if (yych == 'V') goto yy555;
- if (yych == 'v') goto yy555;
- goto yy56;
-yy390:
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy555;
- if (yych == 't') goto yy555;
- goto yy56;
-yy391:
- yych = *++YYCURSOR;
- if (yych == 'P') goto yy556;
- if (yych == 'p') goto yy556;
- goto yy56;
-yy392:
- yych = *++YYCURSOR;
- if (yych <= '.') {
- if (yych <= ',') goto yy56;
- if (yych <= '-') goto yy374;
- goto yy372;
- } else {
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy557;
- goto yy56;
- }
-yy393:
- yych = *++YYCURSOR;
- if (yych <= '.') {
- if (yych <= ',') goto yy56;
- if (yych <= '-') goto yy374;
- goto yy372;
- } else {
- if (yych <= '/') goto yy56;
- if (yych <= '2') goto yy557;
- goto yy56;
- }
-yy394:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy558, &&yy559, &&yy434, &&yy434, &&yy434, &&yy434, &&yy434, &&yy434,
- &&yy434, &&yy434, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy435, &&yy56, &&yy56, &&yy436, &&yy56, &&yy437, &&yy56,
- &&yy56, &&yy56, &&yy438, &&yy56, &&yy56, &&yy439, &&yy440, &&yy441,
- &&yy56, &&yy56, &&yy56, &&yy442, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy435, &&yy56, &&yy56, &&yy436, &&yy56, &&yy437, &&yy56,
- &&yy56, &&yy56, &&yy438, &&yy56, &&yy56, &&yy439, &&yy440, &&yy441,
- &&yy56, &&yy56, &&yy56, &&yy442, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy395:
- yyaccept = 11;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396,
- &&yy396, &&yy561, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396,
- &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396,
- &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396,
- &&yy561, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396,
- &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy562, &&yy563, &&yy564,
- &&yy565, &&yy566, &&yy567, &&yy568, &&yy569, &&yy569, &&yy570, &&yy57,
- &&yy57, &&yy57, &&yy571, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396,
- &&yy396, &&yy561, &&yy396, &&yy396, &&yy561, &&yy396, &&yy561, &&yy396,
- &&yy561, &&yy561, &&yy561, &&yy396, &&yy396, &&yy561, &&yy561, &&yy561,
- &&yy396, &&yy396, &&yy396, &&yy561, &&yy561, &&yy396, &&yy561, &&yy583,
- &&yy561, &&yy561, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396,
- &&yy396, &&yy561, &&yy396, &&yy396, &&yy561, &&yy396, &&yy561, &&yy396,
- &&yy561, &&yy396, &&yy561, &&yy396, &&yy396, &&yy561, &&yy561, &&yy561,
- &&yy396, &&yy396, &&yy396, &&yy561, &&yy561, &&yy396, &&yy396, &&yy561,
- &&yy396, &&yy561, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396,
- &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396,
- &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396,
- &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396,
- &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396,
- &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396,
- &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396,
- &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396,
- &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396,
- &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396,
- &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396,
- &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396,
- &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396,
- &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396,
- &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396,
- &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396,
- &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396, &&yy396
- };
- goto *yytarget[yych];
- }
-yy396:
- {
- DEBUG_OUTPUT("gnunocolon");
- TIMELIB_INIT;
- switch (s->time->have_time) {
- case 0:
- s->time->h = timelib_get_nr((char **) &ptr, 2);
- s->time->i = timelib_get_nr((char **) &ptr, 2);
- s->time->s = 0;
- break;
- case 1:
- s->time->y = timelib_get_nr((char **) &ptr, 4);
- break;
- default:
- TIMELIB_DEINIT;
- add_error(s, "Double time specification");
- return TIMELIB_ERROR;
- }
- s->time->have_time++;
- TIMELIB_DEINIT;
- return TIMELIB_GNU_NOCOLON;
- }
-yy397:
- yyaccept = 12;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy561, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy561, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy562, &&yy563, &&yy564,
- &&yy585, &&yy586, &&yy587, &&yy588, &&yy57, &&yy57, &&yy57, &&yy57,
- &&yy57, &&yy57, &&yy571, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy561, &&yy398, &&yy398, &&yy561, &&yy398, &&yy561, &&yy398,
- &&yy561, &&yy561, &&yy561, &&yy398, &&yy398, &&yy561, &&yy561, &&yy561,
- &&yy398, &&yy398, &&yy398, &&yy561, &&yy561, &&yy398, &&yy561, &&yy583,
- &&yy561, &&yy561, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy561, &&yy398, &&yy398, &&yy561, &&yy398, &&yy561, &&yy398,
- &&yy561, &&yy398, &&yy561, &&yy398, &&yy398, &&yy561, &&yy561, &&yy561,
- &&yy398, &&yy398, &&yy398, &&yy561, &&yy561, &&yy398, &&yy398, &&yy561,
- &&yy398, &&yy561, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398
- };
- goto *yytarget[yych];
- }
-yy398:
- {
- DEBUG_OUTPUT("year4");
- TIMELIB_INIT;
- s->time->y = timelib_get_nr((char **) &ptr, 4);
- TIMELIB_DEINIT;
- return TIMELIB_CLF;
- }
-yy399:
- yyaccept = 3;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy237, &&yy78,
- &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239,
- &&yy239, &&yy239, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy589, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy589, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78
- };
- goto *yytarget[yych];
- }
-yy400:
- yyaccept = 3;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy237, &&yy78,
- &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239,
- &&yy239, &&yy239, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy590, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy590, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78
- };
- goto *yytarget[yych];
- }
-yy401:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == 'S') goto yy591;
- if (yych == 's') goto yy591;
-yy402:
- {
- timelib_ull i;
- DEBUG_OUTPUT("relative");
- TIMELIB_INIT;
- TIMELIB_HAVE_RELATIVE();
-
- while(*ptr) {
- i = timelib_get_unsigned_nr((char **) &ptr, 24);
- timelib_eat_spaces((char **) &ptr);
- timelib_set_relative((char **) &ptr, i, 1, s);
- }
- TIMELIB_DEINIT;
- return TIMELIB_RELATIVE;
- }
-yy403:
- yyaccept = 3;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy237, &&yy78,
- &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239,
- &&yy239, &&yy239, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy592, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy592, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78
- };
- goto *yytarget[yych];
- }
-yy404:
- yyaccept = 3;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy237, &&yy78,
- &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239,
- &&yy239, &&yy239, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy593, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy593, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78
- };
- goto *yytarget[yych];
- }
-yy405:
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy594;
- if (yych == 't') goto yy594;
- goto yy56;
-yy406:
- yyaccept = 13;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'D') goto yy595;
- if (yych == 'd') goto yy595;
- goto yy402;
-yy407:
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy401;
- if (yych == 'r') goto yy401;
- goto yy56;
-yy408:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy240;
- if (yych <= '9') goto yy596;
- goto yy240;
-yy409:
- yyaccept = 3;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy237, &&yy78,
- &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239,
- &&yy239, &&yy239, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy597, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy597, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78
- };
- goto *yytarget[yych];
- }
-yy410:
- yyaccept = 3;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy237, &&yy78,
- &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239,
- &&yy239, &&yy239, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy242, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy242, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78
- };
- goto *yytarget[yych];
- }
-yy411:
- yyaccept = 3;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy237, &&yy78,
- &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239,
- &&yy239, &&yy239, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy242, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy242, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78
- };
- goto *yytarget[yych];
- }
-yy412:
- yyaccept = 3;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy237, &&yy78,
- &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239,
- &&yy239, &&yy239, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy598, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy598, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78
- };
- goto *yytarget[yych];
- }
-yy413:
- yyaccept = 13;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy591, &&yy402, &&yy599, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy591, &&yy402, &&yy599, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402
- };
- goto *yytarget[yych];
- }
-yy414:
- yyaccept = 13;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy595, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy600, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy595, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy600, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402
- };
- goto *yytarget[yych];
- }
-yy415:
- yyaccept = 3;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy237, &&yy78,
- &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239,
- &&yy239, &&yy239, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy601,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy601,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78
- };
- goto *yytarget[yych];
- }
-yy416:
- yyaccept = 13;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'U') goto yy602;
- if (yych == 'u') goto yy602;
- goto yy402;
-yy417:
- yyaccept = 13;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy603,
- &&yy402, &&yy402, &&yy402, &&yy591, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy603,
- &&yy402, &&yy402, &&yy402, &&yy591, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402
- };
- goto *yytarget[yych];
- }
-yy418:
- yyaccept = 3;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy237, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy237, &&yy237, &&yy78,
- &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239, &&yy239,
- &&yy239, &&yy239, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy403, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy403, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78,
- &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78, &&yy78
- };
- goto *yytarget[yych];
- }
-yy419:
- yyaccept = 13;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'R') goto yy604;
- if (yych == 'r') goto yy604;
- goto yy402;
-yy420:
- yyaccept = 13;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'S') goto yy605;
- if (yych == 's') goto yy605;
- goto yy402;
-yy421:
- yyaccept = 13;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'N') goto yy606;
- if (yych == 'n') goto yy606;
- goto yy402;
-yy422:
- yych = *++YYCURSOR;
- if (yych == 'K') goto yy607;
- if (yych == 'k') goto yy607;
- goto yy56;
-yy423:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy196;
- if (yych <= '0') goto yy608;
- if (yych <= '1') goto yy609;
- if (yych <= '9') goto yy610;
- goto yy196;
-yy424:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '5') goto yy611;
- if (yych <= '6') goto yy612;
- if (yych <= '9') goto yy549;
- goto yy56;
-yy425:
- yyaccept = 5;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy613, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy613, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy372, &&yy424, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy426, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208
- };
- goto *yytarget[yych];
- }
-yy426:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '5') goto yy615;
- if (yych <= '6') goto yy616;
- if (yych <= '9') goto yy552;
- goto yy56;
-yy427:
- yyaccept = 5;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy613, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy613, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy426, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy426, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208
- };
- goto *yytarget[yych];
- }
-yy428:
- yyaccept = 5;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy613, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy613, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy426, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy617, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208
- };
- goto *yytarget[yych];
- }
-yy429:
- ++YYCURSOR;
- {
- DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12");
- TIMELIB_INIT;
- TIMELIB_HAVE_TIME();
- s->time->h = timelib_get_nr((char **) &ptr, 2);
- if (*ptr == ':' || *ptr == '.') {
- s->time->i = timelib_get_nr((char **) &ptr, 2);
- if (*ptr == ':' || *ptr == '.') {
- s->time->s = timelib_get_nr((char **) &ptr, 2);
- }
- }
- s->time->h += timelib_meridian((char **) &ptr, s->time->h);
- TIMELIB_DEINIT;
- return TIMELIB_TIME12;
- }
-yy431:
- yych = *++YYCURSOR;
- if (yych <= '\t') {
- if (yych <= 0x00) goto yy429;
- if (yych <= 0x08) goto yy56;
- goto yy429;
- } else {
- if (yych == ' ') goto yy429;
- goto yy56;
- }
-yy432:
- yych = *++YYCURSOR;
- if (yych == '-') goto yy618;
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy619;
- goto yy56;
-yy433:
- yych = *++YYCURSOR;
- if (yych == '-') goto yy618;
- if (yych <= '/') goto yy56;
- if (yych <= '2') goto yy619;
- goto yy56;
-yy434:
- yych = *++YYCURSOR;
- if (yych == '-') goto yy618;
- goto yy56;
-yy435:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy620, &&yy56, &&yy56, &&yy56, &&yy56, &&yy621, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy620, &&yy56, &&yy56, &&yy56, &&yy56, &&yy621, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy436:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy622;
- if (yych == 'e') goto yy622;
- goto yy56;
-yy437:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy623;
- if (yych == 'e') goto yy623;
- goto yy56;
-yy438:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy624, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy625, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy624, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy625, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy439:
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy626;
- if (yych == 'a') goto yy626;
- goto yy56;
-yy440:
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy627;
- if (yych == 'o') goto yy627;
- goto yy56;
-yy441:
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy628;
- if (yych == 'c') goto yy628;
- goto yy56;
-yy442:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy629;
- if (yych == 'e') goto yy629;
- goto yy56;
-yy443:
- yych = *++YYCURSOR;
- if (yych <= '@') {
- if (yych == ')') goto yy107;
- goto yy18;
- } else {
- if (yych <= 'Z') goto yy630;
- if (yych <= '`') goto yy18;
- if (yych <= 'z') goto yy630;
- goto yy18;
- }
-yy444:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy134;
- if (yych <= '2') goto yy631;
- if (yych <= '3') goto yy632;
- goto yy134;
-yy445:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy633, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy633, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy446:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy634, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy634, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy447:
- yyaccept = 2;
- YYMARKER = ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447,
- &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447,
- &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447,
- &&yy447, &&yy447, &&yy447, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447,
- &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447,
- &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447, &&yy447,
- &&yy447, &&yy447, &&yy447, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy449:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy450:
- yych = *++YYCURSOR;
- if (yybm[0+yych] & 64) {
- goto yy447;
- }
- if (yych <= '/') goto yy134;
- if (yych <= '2') goto yy631;
- if (yych <= '3') goto yy632;
- goto yy134;
-yy451:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy633, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy636, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy452:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy634, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy637, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy453:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy638, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy454:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy638, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy455:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy639, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy639, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy456:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy639, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy640, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy457:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy641, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy641, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy458:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy642, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy642, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy459:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy641, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy643, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy460:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy642, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy644, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy461:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy645, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy645, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy462:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy646, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy646, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy463:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy647, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy647, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy464:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy648, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy648, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy465:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy649, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy649, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy466:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy650, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy650, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy467:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy645, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy651, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy468:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy646, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy652, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy469:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy647, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy653, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy470:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy648, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy654, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy471:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy649, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy655, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy472:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy650, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy656, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy473:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '1') goto yy657;
- if (yych <= '2') goto yy658;
- if (yych <= '9') goto yy659;
- goto yy56;
-yy474:
- yyaccept = 4;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') {
- if (yych == '.') goto yy483;
- goto yy136;
- } else {
- if (yych <= '0') goto yy660;
- if (yych <= '9') goto yy661;
- if (yych <= ':') goto yy483;
- goto yy136;
- }
-yy475:
- yyaccept = 4;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') {
- if (yych == '.') goto yy486;
- goto yy136;
- } else {
- if (yych <= '2') goto yy661;
- if (yych <= '9') goto yy660;
- if (yych <= ':') goto yy486;
- goto yy136;
- }
-yy476:
- yyaccept = 4;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') {
- if (yych == '.') goto yy486;
- goto yy136;
- } else {
- if (yych <= '4') goto yy660;
- if (yych <= '9') goto yy662;
- if (yych <= ':') goto yy486;
- goto yy136;
- }
-yy477:
- yyaccept = 4;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') {
- if (yych == '.') goto yy486;
- goto yy136;
- } else {
- if (yych <= '9') goto yy662;
- if (yych <= ':') goto yy486;
- goto yy136;
- }
-yy478:
- yyaccept = 4;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '1') {
- if (yych <= '/') goto yy304;
- if (yych <= '0') goto yy663;
- goto yy664;
- } else {
- if (yych <= '2') goto yy665;
- if (yych <= '5') goto yy666;
- if (yych <= '9') goto yy667;
- goto yy304;
- }
-yy479:
- yych = *++YYCURSOR;
- if (yych <= '/') {
- if (yych == '.') goto yy483;
- goto yy56;
- } else {
- if (yych <= '0') goto yy668;
- if (yych <= '9') goto yy670;
- if (yych <= ':') goto yy483;
- goto yy56;
- }
-yy480:
- yych = *++YYCURSOR;
- if (yych <= '/') {
- if (yych == '.') goto yy486;
- goto yy56;
- } else {
- if (yych <= '2') goto yy670;
- if (yych <= '9') goto yy668;
- if (yych <= ':') goto yy486;
- goto yy56;
- }
-yy481:
- yych = *++YYCURSOR;
- if (yych <= '/') {
- if (yych == '.') goto yy486;
- goto yy56;
- } else {
- if (yych <= '4') goto yy668;
- if (yych <= '9') goto yy671;
- if (yych <= ':') goto yy486;
- goto yy56;
- }
-yy482:
- yych = *++YYCURSOR;
- if (yych <= '/') {
- if (yych == '.') goto yy486;
- goto yy56;
- } else {
- if (yych <= '9') goto yy671;
- if (yych <= ':') goto yy486;
- goto yy56;
- }
-yy483:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '5') goto yy672;
- if (yych <= '9') goto yy674;
- goto yy56;
-yy484:
- yyaccept = 4;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '1') {
- if (yych <= '/') goto yy304;
- if (yych <= '0') goto yy675;
- goto yy676;
- } else {
- if (yych <= '2') goto yy677;
- if (yych <= '5') goto yy678;
- if (yych <= '9') goto yy679;
- goto yy304;
- }
-yy485:
- yych = *++YYCURSOR;
- if (yych <= '/') {
- if (yych != '.') goto yy56;
- } else {
- if (yych <= '0') goto yy668;
- if (yych <= '9') goto yy670;
- if (yych >= ';') goto yy56;
- }
-yy486:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '5') goto yy680;
- if (yych <= '9') goto yy681;
- goto yy56;
-yy487:
- yych = *++YYCURSOR;
- if (yych <= '/') {
- if (yych == '.') goto yy483;
- goto yy56;
- } else {
- if (yych <= '9') goto yy489;
- if (yych <= ':') goto yy483;
- goto yy56;
- }
-yy488:
- yych = *++YYCURSOR;
- if (yych <= '/') {
- if (yych == '.') goto yy483;
- goto yy56;
- } else {
- if (yych <= '4') goto yy489;
- if (yych == ':') goto yy483;
- goto yy56;
- }
-yy489:
- yych = *++YYCURSOR;
- if (yych == '.') goto yy483;
- if (yych == ':') goto yy483;
- goto yy56;
-yy490:
- yych = *++YYCURSOR;
- if (yych <= '/') {
- if (yych == '.') goto yy483;
- goto yy56;
- } else {
- if (yych <= '9') goto yy671;
- if (yych <= ':') goto yy483;
- goto yy56;
- }
-yy491:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy671;
- goto yy56;
-yy492:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy682, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy682, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy493:
- yyaccept = 7;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy134, &&yy134, &&yy274,
- &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134,
- &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274
- };
- goto *yytarget[yych];
- }
-yy494:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy682, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy683, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy495:
- yyaccept = 7;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy684, &&yy134, &&yy276,
- &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134,
- &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy274, &&yy274, &&yy274, &&yy274, &&yy276,
- &&yy274, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274
- };
- goto *yytarget[yych];
- }
-yy496:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy685, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy687, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy497:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy685, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy687, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy498:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy633, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy633, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy499:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy688, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy688, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy500:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy633, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy636, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy501:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy688, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy689, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy502:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy685, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy685, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy503:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '@') {
- if (yych == ')') goto yy107;
- } else {
- if (yych <= 'Z') goto yy630;
- if (yych <= '`') goto yy504;
- if (yych <= 'z') goto yy630;
- }
-yy504:
- {
- DEBUG_OUTPUT("noon");
- TIMELIB_INIT;
- TIMELIB_UNHAVE_TIME();
- TIMELIB_HAVE_TIME();
- s->time->h = 12;
-
- TIMELIB_DEINIT;
- return TIMELIB_RELATIVE;
- }
-yy505:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy685, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy685, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy506:
- yyaccept = 14;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504,
- &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504,
- &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504,
- &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504,
- &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504,
- &&yy504, &&yy107, &&yy504, &&yy504, &&yy504, &&yy276, &&yy504, &&yy276,
- &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504,
- &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504,
- &&yy504, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy504, &&yy504, &&yy504, &&yy504, &&yy276,
- &&yy504, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504,
- &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504,
- &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504,
- &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504,
- &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504,
- &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504,
- &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504,
- &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504,
- &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504,
- &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504,
- &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504,
- &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504,
- &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504,
- &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504,
- &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504,
- &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504,
- &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504, &&yy504
- };
- goto *yytarget[yych];
- }
-yy507:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy690, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy690, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy508:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy690, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy635, &&yy691, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy509:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy692, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy692, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy510:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy692, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy693, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy511:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy694, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy694, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy512:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy695, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy695, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy513:
- yyaccept = 7;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy444, &&yy134, &&yy274,
- &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134,
- &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy630, &&yy630, &&yy630, &&yy630, &&yy696, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy630, &&yy630, &&yy630, &&yy630, &&yy696, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274
- };
- goto *yytarget[yych];
- }
-yy514:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy697, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy697, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy515:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy694, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy698, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy516:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy695, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy699, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy517:
- yyaccept = 7;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy450, &&yy134, &&yy276,
- &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134,
- &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy630, &&yy630, &&yy630, &&yy630, &&yy696, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy274, &&yy274, &&yy274, &&yy274, &&yy276,
- &&yy274, &&yy635, &&yy635, &&yy635, &&yy635, &&yy700, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274
- };
- goto *yytarget[yych];
- }
-yy518:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy697, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy701, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy519:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy702;
- goto yy56;
-yy520:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy646, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy646, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy521:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy694, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy694, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy522:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy703, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy703, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy523:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy705, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy705, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy524:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy706, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy706, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy525:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy697, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy697, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy526:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy646, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy635, &&yy635, &&yy635, &&yy652, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy527:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy694, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy698, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy528:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy703, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy707, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy529:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy705, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy708, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy530:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy706, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy635, &&yy635, &&yy635, &&yy709, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy531:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy697, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy701, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy532:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy134, &&yy134, &&yy18,
- &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134,
- &&yy134, &&yy134, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy533:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy710, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy710, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy534:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy711, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy711, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy535:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy710, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy712, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy536:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy711, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy635, &&yy635, &&yy635, &&yy713, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy537:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy714, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy714, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy538:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy630, &&yy630, &&yy630, &&yy630, &&yy714, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630, &&yy630,
- &&yy630, &&yy630, &&yy630, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy635, &&yy635, &&yy635, &&yy635, &&yy715, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635, &&yy635,
- &&yy635, &&yy635, &&yy635, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy539:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy716, &&yy18, &&yy18,
- &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57,
- &&yy57, &&yy57, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18,
- &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy186, &&yy186, &&yy18, &&yy18, &&yy186,
- &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy186, &&yy18,
- &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy186, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy186, &&yy186, &&yy18, &&yy18, &&yy186,
- &&yy18, &&yy186, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy540:
- yych = *++YYCURSOR;
- if (yybm[0+yych] & 4) {
- goto yy57;
- }
- if (yych == '-') goto yy716;
- goto yy186;
-yy541:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy717;
- goto yy56;
-yy542:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy718;
- goto yy56;
-yy543:
- yyaccept = 15;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy720, &&yy720, &&yy720, &&yy720, &&yy720, &&yy720, &&yy720, &&yy720,
- &&yy720, &&yy720, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy721, &&yy544,
- &&yy544, &&yy544, &&yy721, &&yy722, &&yy723, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544
- };
- goto *yytarget[yych];
- }
-yy544:
- {
- int length = 0;
- DEBUG_OUTPUT("gnudateshort");
- TIMELIB_INIT;
- TIMELIB_HAVE_DATE();
- s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
- s->time->m = timelib_get_nr((char **) &ptr, 2);
- s->time->d = timelib_get_nr((char **) &ptr, 2);
- TIMELIB_PROCESS_YEAR(s->time->y, length);
- TIMELIB_DEINIT;
- return TIMELIB_ISO_DATE;
- }
-yy545:
- yyaccept = 15;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy720, &&yy720, &&yy717, &&yy717, &&yy717, &&yy717, &&yy717, &&yy717,
- &&yy717, &&yy717, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy721, &&yy544,
- &&yy544, &&yy544, &&yy721, &&yy722, &&yy723, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544
- };
- goto *yytarget[yych];
- }
-yy546:
- yyaccept = 15;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy717, &&yy717, &&yy717, &&yy717, &&yy717, &&yy717, &&yy717, &&yy717,
- &&yy717, &&yy717, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy721, &&yy544,
- &&yy544, &&yy544, &&yy721, &&yy722, &&yy723, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544
- };
- goto *yytarget[yych];
- }
-yy547:
- yyaccept = 5;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '.') goto yy724;
- if (yych <= '/') goto yy208;
- if (yych <= '9') goto yy725;
- goto yy208;
-yy548:
- yyaccept = 5;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') {
- if (yych == '.') goto yy724;
- goto yy208;
- } else {
- if (yych <= '0') goto yy725;
- if (yych <= '9') goto yy718;
- goto yy208;
- }
-yy549:
- yyaccept = 5;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '.') goto yy724;
- if (yych <= '/') goto yy208;
- if (yych <= '9') goto yy718;
- goto yy208;
-yy550:
- yyaccept = 5;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '.') goto yy724;
- if (yych <= '/') goto yy208;
- if (yych <= '9') goto yy552;
- goto yy208;
-yy551:
- yyaccept = 5;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '.') goto yy724;
- if (yych != '0') goto yy208;
-yy552:
- yyaccept = 5;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '.') goto yy724;
- goto yy208;
-yy553:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy213;
- if (yych <= '9') goto yy726;
- goto yy213;
-yy554:
- yyaccept = 6;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '/') goto yy378;
- goto yy213;
-yy555:
- yych = *++YYCURSOR;
- if (yych == '/') goto yy727;
- goto yy56;
-yy556:
- yych = *++YYCURSOR;
- if (yych <= 'S') {
- if (yych == '/') goto yy727;
- goto yy56;
- } else {
- if (yych <= 'T') goto yy555;
- if (yych == 't') goto yy555;
- goto yy56;
- }
-yy557:
- yych = *++YYCURSOR;
- if (yych <= ',') goto yy56;
- if (yych <= '-') goto yy728;
- if (yych <= '.') goto yy372;
- goto yy56;
-yy558:
- yych = *++YYCURSOR;
- if (yych == '-') goto yy618;
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy434;
- goto yy56;
-yy559:
- yych = *++YYCURSOR;
- if (yych == '-') goto yy618;
- if (yych <= '/') goto yy56;
- if (yych <= '2') goto yy434;
- goto yy56;
-yy560:
- ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
- yych = *YYCURSOR;
-yy561:
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy560, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy560, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy729, &&yy729, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy572, &&yy56, &&yy56, &&yy573, &&yy56, &&yy574, &&yy56,
- &&yy76, &&yy575, &&yy577, &&yy56, &&yy56, &&yy578, &&yy579, &&yy580,
- &&yy56, &&yy56, &&yy56, &&yy581, &&yy84, &&yy56, &&yy582, &&yy86,
- &&yy584, &&yy88, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy572, &&yy56, &&yy56, &&yy573, &&yy56, &&yy574, &&yy56,
- &&yy76, &&yy56, &&yy577, &&yy56, &&yy56, &&yy578, &&yy579, &&yy580,
- &&yy56, &&yy56, &&yy56, &&yy581, &&yy84, &&yy56, &&yy56, &&yy86,
- &&yy56, &&yy88, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy562:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730,
- &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730,
- &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730,
- &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730,
- &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730,
- &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730,
- &&yy731, &&yy733, &&yy734, &&yy734, &&yy734, &&yy734, &&yy734, &&yy734,
- &&yy734, &&yy734, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730,
- &&yy730, &&yy735, &&yy730, &&yy730, &&yy736, &&yy730, &&yy737, &&yy730,
- &&yy730, &&yy730, &&yy738, &&yy730, &&yy730, &&yy739, &&yy740, &&yy741,
- &&yy730, &&yy730, &&yy730, &&yy742, &&yy730, &&yy730, &&yy730, &&yy743,
- &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730,
- &&yy730, &&yy735, &&yy730, &&yy730, &&yy736, &&yy730, &&yy737, &&yy730,
- &&yy730, &&yy730, &&yy738, &&yy730, &&yy730, &&yy739, &&yy740, &&yy741,
- &&yy730, &&yy730, &&yy730, &&yy742, &&yy730, &&yy730, &&yy730, &&yy730,
- &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730,
- &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730,
- &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730,
- &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730,
- &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730,
- &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730,
- &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730,
- &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730,
- &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730,
- &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730,
- &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730,
- &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730,
- &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730,
- &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730,
- &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730,
- &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730,
- &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730, &&yy730
- };
- goto *yytarget[yych];
- }
-yy563:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy730;
- if (yych <= '0') goto yy744;
- if (yych <= '2') goto yy745;
- if (yych <= '3') goto yy746;
- goto yy730;
-yy564:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '0') goto yy751;
- if (yych <= '1') goto yy752;
- if (yych <= '9') goto yy753;
- goto yy56;
-yy565:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy186;
- if (yych <= '0') goto yy754;
- if (yych <= '9') goto yy756;
- goto yy186;
-yy566:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy186;
- if (yych <= '2') goto yy756;
- if (yych <= '9') goto yy757;
- goto yy186;
-yy567:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy186;
- if (yych <= '9') goto yy757;
- goto yy186;
-yy568:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy186;
- if (yych <= '5') goto yy757;
- if (yych <= '6') goto yy758;
- if (yych <= '9') goto yy759;
- goto yy186;
-yy569:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy186;
- if (yych <= '9') goto yy759;
- goto yy186;
-yy570:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy186;
- if (yych <= '0') goto yy759;
- if (yych <= '9') goto yy57;
- goto yy186;
-yy571:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '0') goto yy760;
- if (yych <= '1') goto yy761;
- goto yy56;
-yy572:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy762, &&yy56, &&yy56, &&yy56, &&yy56, &&yy763, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy762, &&yy56, &&yy56, &&yy56, &&yy56, &&yy763, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy573:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy231, &&yy56, &&yy56, &&yy56, &&yy764, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy231, &&yy56, &&yy56, &&yy56, &&yy764, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy574:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy765, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy234,
- &&yy56, &&yy56, &&yy235, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy765, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy234,
- &&yy56, &&yy56, &&yy235, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy575:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 'U') {
- if (yych == 'I') goto yy766;
- } else {
- if (yych == 'W') goto yy576;
- if (yych <= 'X') goto yy767;
- }
-yy576:
- {
- int length = 0;
- DEBUG_OUTPUT("datenodayrev");
- TIMELIB_INIT;
- TIMELIB_HAVE_DATE();
- s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
- s->time->m = timelib_get_month((char **) &ptr);
- s->time->d = 1;
- TIMELIB_PROCESS_YEAR(s->time->y, length);
- TIMELIB_DEINIT;
- return TIMELIB_DATE_NO_DAY;
- }
-yy577:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy768, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy769, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy768, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy769, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy578:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy770, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy246, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy247,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy770, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy246, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy247,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy579:
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy771;
- if (yych == 'o') goto yy771;
- goto yy56;
-yy580:
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy772;
- if (yych == 'c') goto yy772;
- goto yy56;
-yy581:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy250, &&yy56, &&yy56, &&yy56, &&yy773, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy252, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy250, &&yy56, &&yy56, &&yy56, &&yy773, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy252, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy582:
- yych = *++YYCURSOR;
- if (yych == 'I') goto yy584;
- goto yy576;
-yy583:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy774, &&yy775, &&yy775, &&yy775, &&yy775, &&yy776, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy255, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy255, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy584:
- yych = *++YYCURSOR;
- if (yych == 'I') goto yy766;
- goto yy576;
-yy585:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy186;
- if (yych <= '0') goto yy777;
- if (yych <= '9') goto yy778;
- goto yy186;
-yy586:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy186;
- if (yych <= '2') goto yy778;
- if (yych <= '9') goto yy779;
- goto yy186;
-yy587:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy186;
- if (yych <= '9') goto yy779;
- goto yy186;
-yy588:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy186;
- if (yych <= '5') goto yy779;
- if (yych <= '6') goto yy780;
- if (yych <= '9') goto yy57;
- goto yy186;
-yy589:
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy242;
- if (yych == 'l') goto yy242;
- goto yy56;
-yy590:
- yych = *++YYCURSOR;
- if (yych == 'S') goto yy781;
- if (yych == 's') goto yy781;
- goto yy56;
-yy591:
- yych = *++YYCURSOR;
- goto yy402;
-yy592:
- yych = *++YYCURSOR;
- if (yych == 'M') goto yy601;
- if (yych == 'm') goto yy601;
- goto yy56;
-yy593:
- yych = *++YYCURSOR;
- if (yych == 'U') goto yy597;
- if (yych == 'u') goto yy597;
- goto yy56;
-yy594:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy782, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy783, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy782, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy783, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy595:
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy784;
- if (yych == 'a') goto yy784;
- goto yy56;
-yy596:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy240;
- if (yych <= '9') goto yy785;
- goto yy240;
-yy597:
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy786;
- if (yych == 'a') goto yy786;
- goto yy56;
-yy598:
- yych = *++YYCURSOR;
- if (yych == 'H') goto yy242;
- if (yych == 'h') goto yy242;
- goto yy56;
-yy599:
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy787;
- if (yych == 't') goto yy787;
- goto yy56;
-yy600:
- yych = *++YYCURSOR;
- if (yych == 'H') goto yy401;
- if (yych == 'h') goto yy401;
- goto yy56;
-yy601:
- yych = *++YYCURSOR;
- if (yych == 'B') goto yy788;
- if (yych == 'b') goto yy788;
- goto yy56;
-yy602:
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy605;
- if (yych == 'r') goto yy605;
- goto yy56;
-yy603:
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy789;
- if (yych == 'n') goto yy789;
- goto yy56;
-yy604:
- yych = *++YYCURSOR;
- if (yych == 'S') goto yy605;
- if (yych != 's') goto yy56;
-yy605:
- yych = *++YYCURSOR;
- if (yych == 'D') goto yy595;
- if (yych == 'd') goto yy595;
- goto yy56;
-yy606:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy604;
- if (yych == 'e') goto yy604;
- goto yy56;
-yy607:
- yyaccept = 13;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy187, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy591, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy187, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy591, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402,
- &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402, &&yy402
- };
- goto *yytarget[yych];
- }
-yy608:
- yych = *++YYCURSOR;
- if (yych <= ',') goto yy56;
- if (yych <= '.') goto yy372;
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy610;
- goto yy56;
-yy609:
- yych = *++YYCURSOR;
- if (yych <= ',') goto yy56;
- if (yych <= '.') goto yy372;
- if (yych <= '/') goto yy56;
- if (yych >= '3') goto yy56;
-yy610:
- yych = *++YYCURSOR;
- if (yych <= ',') goto yy56;
- if (yych <= '.') goto yy372;
- goto yy56;
-yy611:
- yyaccept = 5;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '.') goto yy724;
- if (yych <= '/') goto yy208;
- if (yych <= '9') goto yy790;
- goto yy208;
-yy612:
- yyaccept = 5;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') {
- if (yych == '.') goto yy724;
- goto yy208;
- } else {
- if (yych <= '0') goto yy790;
- if (yych <= '9') goto yy718;
- goto yy208;
- }
-yy613:
- ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
- yych = *YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy613, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy613, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy100, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy100, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy100, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy100, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy615:
- yyaccept = 5;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '.') goto yy724;
- if (yych <= '/') goto yy208;
- if (yych <= '9') goto yy791;
- goto yy208;
-yy616:
- yyaccept = 5;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '.') goto yy724;
- if (yych == '0') goto yy791;
- goto yy208;
-yy617:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '5') goto yy792;
- if (yych <= '6') goto yy793;
- if (yych <= '9') goto yy552;
- goto yy56;
-yy618:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '2') goto yy794;
- if (yych <= '3') goto yy795;
- if (yych <= '9') goto yy796;
- goto yy56;
-yy619:
- yych = *++YYCURSOR;
- if (yych == '-') goto yy797;
- goto yy56;
-yy620:
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy798;
- if (yych == 'r') goto yy798;
- goto yy56;
-yy621:
- yych = *++YYCURSOR;
- if (yych == 'G') goto yy798;
- if (yych == 'g') goto yy798;
- goto yy56;
-yy622:
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy798;
- if (yych == 'c') goto yy798;
- goto yy56;
-yy623:
- yych = *++YYCURSOR;
- if (yych == 'B') goto yy798;
- if (yych == 'b') goto yy798;
- goto yy56;
-yy624:
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy798;
- if (yych == 'n') goto yy798;
- goto yy56;
-yy625:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy798, &&yy56, &&yy798, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy798, &&yy56, &&yy798, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy626:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy798, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy798, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy798, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy798, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy627:
- yych = *++YYCURSOR;
- if (yych == 'V') goto yy798;
- if (yych == 'v') goto yy798;
- goto yy56;
-yy628:
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy798;
- if (yych == 't') goto yy798;
- goto yy56;
-yy629:
- yych = *++YYCURSOR;
- if (yych == 'P') goto yy799;
- if (yych == 'p') goto yy799;
- goto yy56;
-yy630:
- yych = *++YYCURSOR;
- if (yych <= '@') {
- if (yych == ')') goto yy107;
- goto yy18;
- } else {
- if (yych <= 'Z') goto yy800;
- if (yych <= '`') goto yy18;
- if (yych <= 'z') goto yy800;
- goto yy18;
- }
-yy631:
- yyaccept = 4;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') goto yy304;
- if (yych <= '0') goto yy801;
- if (yych <= '1') goto yy802;
- if (yych <= '9') goto yy803;
- goto yy304;
-yy632:
- yyaccept = 4;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '1') {
- if (yych <= '/') goto yy304;
- if (yych <= '0') goto yy801;
- goto yy802;
- } else {
- if (yych <= '2') goto yy309;
- if (yych <= '9') goto yy310;
- goto yy304;
- }
-yy633:
- yyaccept = 7;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy134, &&yy134, &&yy274,
- &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134,
- &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274
- };
- goto *yytarget[yych];
- }
-yy634:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy804, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy804, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy635:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy636:
- yyaccept = 7;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy684, &&yy134, &&yy276,
- &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134,
- &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy274, &&yy274, &&yy274, &&yy274, &&yy276,
- &&yy274, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274
- };
- goto *yytarget[yych];
- }
-yy637:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy804, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy806, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy638:
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy807;
- if (yych == 'o') goto yy807;
- goto yy56;
-yy639:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy808, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy808, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy640:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy808, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy805, &&yy809, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy641:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy810, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy810, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy812, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy812, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy642:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy813, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy813, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy643:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy810, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy810, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy812, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy814, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy644:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy813, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy815, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy645:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy816, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy816, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy646:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy810, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy810, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy647:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy810, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy817, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy648:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy812, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy812, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy649:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy818, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy818, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy650:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy638, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy651:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy816, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy819, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy652:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy810, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy810, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy653:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy810, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy817, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy654:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy812, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy814, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy655:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy818, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy820, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy656:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy638, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy657:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy18;
- if (yych <= '9') goto yy659;
- if (yych <= ':') goto yy192;
- goto yy18;
-yy658:
- yych = *++YYCURSOR;
- if (yych <= '5') {
- if (yych <= '/') goto yy18;
- if (yych >= '5') goto yy370;
- } else {
- if (yych <= '9') goto yy107;
- if (yych <= ':') goto yy192;
- goto yy18;
- }
-yy659:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy18;
- if (yych <= '5') goto yy370;
- if (yych <= '9') goto yy107;
- if (yych <= ':') goto yy192;
- goto yy18;
-yy660:
- yyaccept = 4;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') {
- if (yych == '.') goto yy483;
- goto yy136;
- } else {
- if (yych <= '9') goto yy821;
- if (yych <= ':') goto yy483;
- goto yy136;
- }
-yy661:
- yyaccept = 4;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') {
- if (yych == '.') goto yy486;
- goto yy136;
- } else {
- if (yych <= '9') goto yy821;
- if (yych <= ':') goto yy486;
- goto yy136;
- }
-yy662:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy136;
- if (yych <= '9') goto yy821;
- goto yy136;
-yy663:
- yyaccept = 4;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') {
- if (yych == '.') goto yy822;
- goto yy136;
- } else {
- if (yych <= '0') goto yy823;
- if (yych <= '9') goto yy824;
- if (yych <= ':') goto yy822;
- goto yy136;
- }
-yy664:
- yyaccept = 4;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') {
- if (yych == '.') goto yy825;
- goto yy136;
- } else {
- if (yych <= '2') goto yy824;
- if (yych <= '9') goto yy823;
- if (yych <= ':') goto yy825;
- goto yy136;
- }
-yy665:
- yyaccept = 4;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') {
- if (yych == '.') goto yy825;
- goto yy136;
- } else {
- if (yych <= '4') goto yy823;
- if (yych <= '9') goto yy826;
- if (yych <= ':') goto yy825;
- goto yy136;
- }
-yy666:
- yyaccept = 4;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') {
- if (yych == '.') goto yy825;
- goto yy136;
- } else {
- if (yych <= '9') goto yy826;
- if (yych <= ':') goto yy825;
- goto yy136;
- }
-yy667:
- yyaccept = 4;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') {
- if (yych == '.') goto yy825;
- goto yy136;
- } else {
- if (yych <= '9') goto yy662;
- if (yych <= ':') goto yy825;
- goto yy136;
- }
-yy668:
- yyaccept = 16;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '.') goto yy483;
- if (yych == ':') goto yy483;
-yy669:
- {
- int length = 0;
- DEBUG_OUTPUT("datenoday");
- TIMELIB_INIT;
- TIMELIB_HAVE_DATE();
- s->time->m = timelib_get_month((char **) &ptr);
- s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
- s->time->d = 1;
- TIMELIB_PROCESS_YEAR(s->time->y, length);
- TIMELIB_DEINIT;
- return TIMELIB_DATE_NO_DAY;
- }
-yy670:
- yyaccept = 16;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '.') goto yy486;
- if (yych == ':') goto yy486;
- goto yy669;
-yy671:
- yych = *++YYCURSOR;
- goto yy669;
-yy672:
- yyaccept = 17;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') {
- if (yych == '.') goto yy827;
- } else {
- if (yych <= '9') goto yy674;
- if (yych <= ':') goto yy827;
- }
-yy673:
- {
- int tz_not_found;
- DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz");
- TIMELIB_INIT;
- TIMELIB_HAVE_DATE();
- s->time->m = timelib_get_month((char **) &ptr);
- s->time->d = timelib_get_nr((char **) &ptr, 2);
-
- TIMELIB_HAVE_TIME();
- s->time->h = timelib_get_nr((char **) &ptr, 2);
- s->time->i = timelib_get_nr((char **) &ptr, 2);
- if (*ptr == ':') {
- s->time->s = timelib_get_nr((char **) &ptr, 2);
-
- if (*ptr == '.') {
- s->time->f = timelib_get_frac_nr((char **) &ptr, 8);
- }
- }
-
- if (*ptr != '\0') {
- s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
- if (tz_not_found) {
- add_error(s, "The timezone could not be found in the database");
- }
- }
- TIMELIB_DEINIT;
- return TIMELIB_SHORTDATE_WITH_TIME;
- }
-yy674:
- yyaccept = 17;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '.') goto yy827;
- if (yych == ':') goto yy827;
- goto yy673;
-yy675:
- yyaccept = 4;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') {
- if (yych == '.') goto yy828;
- goto yy136;
- } else {
- if (yych <= '0') goto yy829;
- if (yych <= '9') goto yy830;
- if (yych <= ':') goto yy828;
- goto yy136;
- }
-yy676:
- yyaccept = 4;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') {
- if (yych == '.') goto yy831;
- goto yy136;
- } else {
- if (yych <= '2') goto yy830;
- if (yych <= '9') goto yy829;
- if (yych <= ':') goto yy831;
- goto yy136;
- }
-yy677:
- yyaccept = 4;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') {
- if (yych == '.') goto yy831;
- goto yy136;
- } else {
- if (yych <= '4') goto yy829;
- if (yych <= '9') goto yy832;
- if (yych <= ':') goto yy831;
- goto yy136;
- }
-yy678:
- yyaccept = 4;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') {
- if (yych == '.') goto yy831;
- goto yy136;
- } else {
- if (yych <= '9') goto yy832;
- if (yych <= ':') goto yy831;
- goto yy136;
- }
-yy679:
- yyaccept = 4;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') {
- if (yych == '.') goto yy831;
- goto yy136;
- } else {
- if (yych <= '9') goto yy662;
- if (yych <= ':') goto yy831;
- goto yy136;
- }
-yy680:
- yyaccept = 17;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') {
- if (yych == '.') goto yy833;
- goto yy673;
- } else {
- if (yych <= '9') goto yy834;
- if (yych <= ':') goto yy833;
- goto yy673;
- }
-yy681:
- yyaccept = 17;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '.') goto yy833;
- if (yych == ':') goto yy833;
- goto yy673;
-yy682:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy835, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy835, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy683:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy835, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy836, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy684:
- yych = *++YYCURSOR;
- if (yybm[0+yych] & 64) {
- goto yy447;
- }
- goto yy134;
-yy685:
- ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
- yych = *YYCURSOR;
-yy686:
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy685, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy685, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy837, &&yy56, &&yy838, &&yy56,
- &&yy839, &&yy56, &&yy56, &&yy56, &&yy56, &&yy840, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy841, &&yy842, &&yy56, &&yy56, &&yy843,
- &&yy56, &&yy844, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy837, &&yy56, &&yy838, &&yy56,
- &&yy839, &&yy56, &&yy56, &&yy56, &&yy56, &&yy840, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy841, &&yy842, &&yy56, &&yy56, &&yy843,
- &&yy56, &&yy844, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy687:
- yych = *++YYCURSOR;
- if (yych == 'D') goto yy845;
- if (yych == 'd') goto yy845;
- goto yy686;
-yy688:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy846,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy846,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy689:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy846,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy847,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy690:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy848, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy848, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy691:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy848, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy805, &&yy805, &&yy805, &&yy805, &&yy849, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy692:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy850,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy850,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy693:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy850,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy851,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy694:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy852, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy852, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy695:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy812, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy812, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy696:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy853, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy853, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy697:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy854, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy854, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy698:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy852, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy805, &&yy805, &&yy805, &&yy855, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy699:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy812, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy805, &&yy805, &&yy805, &&yy814, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy700:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy853, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy856, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy701:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy854, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy857, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy702:
- yyaccept = 11;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') goto yy396;
- if (yych <= '5') goto yy858;
- if (yych <= '6') goto yy859;
- goto yy396;
-yy703:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '@') {
- if (yych == ')') goto yy107;
- } else {
- if (yych <= 'Z') goto yy800;
- if (yych <= '`') goto yy704;
- if (yych <= 'z') goto yy800;
- }
-yy704:
- {
- DEBUG_OUTPUT("midnight | today");
- TIMELIB_INIT;
- TIMELIB_UNHAVE_TIME();
-
- TIMELIB_DEINIT;
- return TIMELIB_RELATIVE;
- }
-yy705:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy860, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy860, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy706:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy861, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy861, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy707:
- yyaccept = 18;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704,
- &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704,
- &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704,
- &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704,
- &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704,
- &&yy704, &&yy107, &&yy704, &&yy704, &&yy704, &&yy276, &&yy704, &&yy276,
- &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704,
- &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704,
- &&yy704, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy704, &&yy704, &&yy704, &&yy704, &&yy276,
- &&yy704, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704,
- &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704,
- &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704,
- &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704,
- &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704,
- &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704,
- &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704,
- &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704,
- &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704,
- &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704,
- &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704,
- &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704,
- &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704,
- &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704,
- &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704,
- &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704,
- &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704, &&yy704
- };
- goto *yytarget[yych];
- }
-yy708:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy860, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy862, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy709:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy861, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy863, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy710:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy864, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy864, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy711:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy865, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy865, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy712:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy864, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy866, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy713:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy865, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy867, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy714:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy868, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy868, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy715:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy868, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy869, &&yy805, &&yy805, &&yy805, &&yy805, &&yy805,
- &&yy805, &&yy805, &&yy805, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy716:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '0') goto yy870;
- if (yych <= '1') goto yy871;
- goto yy56;
-yy717:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy872;
- goto yy56;
-yy718:
- yyaccept = 19;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') goto yy719;
- if (yych <= '9') goto yy872;
-yy719:
- {
- int length = 0;
- DEBUG_OUTPUT("pointed date YY");
- TIMELIB_INIT;
- TIMELIB_HAVE_DATE();
- s->time->d = timelib_get_nr((char **) &ptr, 2);
- s->time->m = timelib_get_nr((char **) &ptr, 2);
- s->time->y = timelib_get_nr_ex((char **) &ptr, 2, &length);
- TIMELIB_PROCESS_YEAR(s->time->y, length);
- TIMELIB_DEINIT;
- return TIMELIB_DATE_FULL_POINTED;
- }
-yy720:
- yyaccept = 15;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy872, &&yy872, &&yy872, &&yy872, &&yy872, &&yy872, &&yy872, &&yy872,
- &&yy872, &&yy872, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy721, &&yy544,
- &&yy544, &&yy544, &&yy721, &&yy722, &&yy723, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544
- };
- goto *yytarget[yych];
- }
-yy721:
- yych = *++YYCURSOR;
- if (yych == 'd') goto yy873;
- goto yy56;
-yy722:
- yych = *++YYCURSOR;
- if (yych == 't') goto yy873;
- goto yy56;
-yy723:
- yych = *++YYCURSOR;
- if (yych == 'h') goto yy873;
- goto yy56;
-yy724:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy874;
- goto yy56;
-yy725:
- yyaccept = 5;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '.') goto yy724;
- if (yych <= '/') goto yy208;
- if (yych <= '9') goto yy872;
- goto yy208;
-yy726:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy213;
- if (yych <= '9') goto yy876;
- goto yy213;
-yy727:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy877;
- goto yy56;
-yy728:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '2') goto yy878;
- if (yych <= '3') goto yy879;
- if (yych <= '9') goto yy546;
- goto yy56;
-yy729:
- ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
- yych = *YYCURSOR;
-yy730:
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy729, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy729, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy729, &&yy729, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy572, &&yy56, &&yy56, &&yy747, &&yy56, &&yy748, &&yy56,
- &&yy56, &&yy575, &&yy577, &&yy56, &&yy56, &&yy749, &&yy579, &&yy580,
- &&yy56, &&yy56, &&yy56, &&yy750, &&yy56, &&yy56, &&yy582, &&yy56,
- &&yy584, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy572, &&yy56, &&yy56, &&yy747, &&yy56, &&yy748, &&yy56,
- &&yy56, &&yy56, &&yy577, &&yy56, &&yy56, &&yy749, &&yy579, &&yy580,
- &&yy56, &&yy56, &&yy56, &&yy750, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy731:
- yyaccept = 20;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '-') goto yy880;
- if (yych <= '/') goto yy732;
- if (yych <= '9') goto yy881;
-yy732:
- {
- int length = 0;
- DEBUG_OUTPUT("gnudateshorter");
- TIMELIB_INIT;
- TIMELIB_HAVE_DATE();
- s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
- s->time->m = timelib_get_nr((char **) &ptr, 2);
- s->time->d = 1;
- TIMELIB_PROCESS_YEAR(s->time->y, length);
- TIMELIB_DEINIT;
- return TIMELIB_ISO_DATE;
- }
-yy733:
- yyaccept = 20;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '-') goto yy880;
- if (yych <= '/') goto yy732;
- if (yych <= '2') goto yy881;
- goto yy732;
-yy734:
- yyaccept = 20;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '-') goto yy880;
- goto yy732;
-yy735:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy882, &&yy56, &&yy56, &&yy56, &&yy56, &&yy883, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy882, &&yy56, &&yy56, &&yy56, &&yy56, &&yy883, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy736:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy884;
- if (yych == 'e') goto yy884;
- goto yy56;
-yy737:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy885;
- if (yych == 'e') goto yy885;
- goto yy56;
-yy738:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy886, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy887, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy886, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy887, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy739:
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy888;
- if (yych == 'a') goto yy888;
- goto yy56;
-yy740:
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy889;
- if (yych == 'o') goto yy889;
- goto yy56;
-yy741:
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy890;
- if (yych == 'c') goto yy890;
- goto yy56;
-yy742:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy891;
- if (yych == 'e') goto yy891;
- goto yy56;
-yy743:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '0') goto yy774;
- if (yych <= '4') goto yy775;
- if (yych <= '5') goto yy776;
- goto yy56;
-yy744:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '0') goto yy892;
- if (yych <= '9') goto yy893;
- goto yy56;
-yy745:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy893;
- goto yy56;
-yy746:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '5') goto yy893;
- if (yych <= '6') goto yy894;
- goto yy56;
-yy747:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy764;
- if (yych == 'e') goto yy764;
- goto yy56;
-yy748:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy765;
- if (yych == 'e') goto yy765;
- goto yy56;
-yy749:
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy770;
- if (yych == 'a') goto yy770;
- goto yy56;
-yy750:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy895;
- if (yych == 'e') goto yy895;
- goto yy56;
-yy751:
- yych = *++YYCURSOR;
- if (yych <= '.') goto yy56;
- if (yych <= '/') goto yy896;
- if (yych <= '9') goto yy897;
- goto yy56;
-yy752:
- yych = *++YYCURSOR;
- if (yych <= '.') goto yy56;
- if (yych <= '/') goto yy896;
- if (yych <= '2') goto yy897;
- goto yy56;
-yy753:
- yych = *++YYCURSOR;
- if (yych == '/') goto yy896;
- goto yy56;
-yy754:
- yyaccept = 21;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy898, &&yy899, &&yy899, &&yy901, &&yy902, &&yy902, &&yy902, &&yy902,
- &&yy902, &&yy902, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy186, &&yy755,
- &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy186, &&yy186, &&yy755, &&yy755, &&yy186,
- &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy186, &&yy755,
- &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy186, &&yy186, &&yy755, &&yy755, &&yy186,
- &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755
- };
- goto *yytarget[yych];
- }
-yy755:
- {
- int tz_not_found;
- DEBUG_OUTPUT("iso8601nocolon");
- TIMELIB_INIT;
- TIMELIB_HAVE_TIME();
- s->time->h = timelib_get_nr((char **) &ptr, 2);
- s->time->i = timelib_get_nr((char **) &ptr, 2);
- s->time->s = timelib_get_nr((char **) &ptr, 2);
-
- if (*ptr != '\0') {
- s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
- if (tz_not_found) {
- add_error(s, "The timezone could not be found in the database");
- }
- }
- TIMELIB_DEINIT;
- return TIMELIB_ISO_NOCOLON;
- }
-yy756:
- yyaccept = 21;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy899, &&yy899, &&yy899, &&yy901, &&yy902, &&yy902, &&yy902, &&yy902,
- &&yy902, &&yy902, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy186, &&yy755,
- &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy186, &&yy186, &&yy755, &&yy755, &&yy186,
- &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy186, &&yy755,
- &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy186, &&yy186, &&yy755, &&yy755, &&yy186,
- &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755
- };
- goto *yytarget[yych];
- }
-yy757:
- yyaccept = 21;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy902, &&yy902, &&yy902, &&yy902, &&yy902, &&yy902, &&yy902, &&yy902,
- &&yy902, &&yy902, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy186, &&yy755,
- &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy186, &&yy186, &&yy755, &&yy755, &&yy186,
- &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy186, &&yy755,
- &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy186, &&yy186, &&yy755, &&yy755, &&yy186,
- &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755
- };
- goto *yytarget[yych];
- }
-yy758:
- yyaccept = 21;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy902, &&yy902, &&yy902, &&yy902, &&yy902, &&yy902, &&yy902, &&yy57,
- &&yy57, &&yy57, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy186, &&yy755,
- &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy186, &&yy186, &&yy755, &&yy755, &&yy186,
- &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy186, &&yy755,
- &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy186, &&yy186, &&yy755, &&yy755, &&yy186,
- &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755
- };
- goto *yytarget[yych];
- }
-yy759:
- yyaccept = 21;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57,
- &&yy57, &&yy57, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy186, &&yy755,
- &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy186, &&yy186, &&yy755, &&yy755, &&yy186,
- &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy186, &&yy755,
- &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy186, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy186, &&yy186, &&yy755, &&yy755, &&yy186,
- &&yy755, &&yy186, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755
- };
- goto *yytarget[yych];
- }
-yy760:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy903;
- goto yy56;
-yy761:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '2') goto yy903;
- goto yy56;
-yy762:
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy904;
- if (yych == 'r') goto yy904;
- goto yy56;
-yy763:
- yych = *++YYCURSOR;
- if (yych == 'G') goto yy905;
- if (yych == 'g') goto yy905;
- goto yy56;
-yy764:
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy906;
- if (yych == 'c') goto yy906;
- goto yy56;
-yy765:
- yych = *++YYCURSOR;
- if (yych == 'B') goto yy907;
- if (yych == 'b') goto yy907;
- goto yy56;
-yy766:
- yych = *++YYCURSOR;
- if (yych != 'I') goto yy576;
-yy767:
- yych = *++YYCURSOR;
- goto yy576;
-yy768:
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy908;
- if (yych == 'n') goto yy908;
- goto yy56;
-yy769:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy909, &&yy56, &&yy910, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy909, &&yy56, &&yy910, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy770:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy911, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy767, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy911, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy767, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy771:
- yych = *++YYCURSOR;
- if (yych == 'V') goto yy906;
- if (yych == 'v') goto yy906;
- goto yy56;
-yy772:
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy912;
- if (yych == 't') goto yy912;
- goto yy56;
-yy773:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy417, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy913, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy417, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy913, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy774:
- yych = *++YYCURSOR;
- if (yych <= '0') goto yy56;
- if (yych <= '9') goto yy914;
- goto yy56;
-yy775:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy914;
- goto yy56;
-yy776:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '3') goto yy914;
- goto yy56;
-yy777:
- yych = *++YYCURSOR;
- if (yych <= '2') {
- if (yych <= '/') goto yy186;
- if (yych <= '0') goto yy898;
- goto yy899;
- } else {
- if (yych <= '3') goto yy901;
- if (yych <= '9') goto yy902;
- goto yy186;
- }
-yy778:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy186;
- if (yych <= '2') goto yy899;
- if (yych <= '3') goto yy901;
- if (yych <= '9') goto yy902;
- goto yy186;
-yy779:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy186;
- if (yych <= '9') goto yy902;
- goto yy186;
-yy780:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy186;
- if (yych <= '6') goto yy902;
- if (yych <= '9') goto yy57;
- goto yy186;
-yy781:
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy242;
- if (yych == 't') goto yy242;
- goto yy56;
-yy782:
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy783;
- if (yych != 'n') goto yy56;
-yy783:
- yych = *++YYCURSOR;
- if (yych == 'I') goto yy916;
- if (yych == 'i') goto yy916;
- goto yy56;
-yy784:
- yych = *++YYCURSOR;
- if (yych == 'Y') goto yy591;
- if (yych == 'y') goto yy591;
- goto yy56;
-yy785:
- yych = *++YYCURSOR;
- goto yy240;
-yy786:
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy917;
- if (yych == 'r') goto yy917;
- goto yy56;
-yy787:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy401;
- if (yych == 'e') goto yy401;
- goto yy56;
-yy788:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy918;
- if (yych == 'e') goto yy918;
- goto yy56;
-yy789:
- yych = *++YYCURSOR;
- if (yych == 'D') goto yy401;
- if (yych == 'd') goto yy401;
- goto yy56;
-yy790:
- yyaccept = 5;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy613, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy613, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy724, &&yy208,
- &&yy872, &&yy872, &&yy872, &&yy872, &&yy872, &&yy872, &&yy872, &&yy872,
- &&yy872, &&yy872, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208
- };
- goto *yytarget[yych];
- }
-yy791:
- yyaccept = 5;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy613, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy613, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy724, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208
- };
- goto *yytarget[yych];
- }
-yy792:
- yyaccept = 5;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '.') goto yy724;
- if (yych <= '/') goto yy208;
- if (yych <= '9') goto yy919;
- goto yy208;
-yy793:
- yyaccept = 5;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '.') goto yy724;
- if (yych == '0') goto yy919;
- goto yy208;
-yy794:
- yyaccept = 15;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796, &&yy796,
- &&yy796, &&yy796, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy721, &&yy544,
- &&yy544, &&yy544, &&yy721, &&yy722, &&yy723, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544
- };
- goto *yytarget[yych];
- }
-yy795:
- yyaccept = 15;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy796, &&yy796, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy721, &&yy544,
- &&yy544, &&yy544, &&yy721, &&yy722, &&yy723, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544
- };
- goto *yytarget[yych];
- }
-yy796:
- yyaccept = 15;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 'q') {
- if (yych == 'n') goto yy721;
- goto yy544;
- } else {
- if (yych <= 'r') goto yy721;
- if (yych <= 's') goto yy722;
- if (yych <= 't') goto yy723;
- goto yy544;
- }
-yy797:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '2') goto yy920;
- if (yych <= '3') goto yy921;
- if (yych <= '9') goto yy796;
- goto yy56;
-yy798:
- yych = *++YYCURSOR;
- if (yych == '-') goto yy922;
- goto yy56;
-yy799:
- yych = *++YYCURSOR;
- if (yych <= 'S') {
- if (yych == '-') goto yy922;
- goto yy56;
- } else {
- if (yych <= 'T') goto yy798;
- if (yych == 't') goto yy798;
- goto yy56;
- }
-yy800:
- yych = *++YYCURSOR;
- if (yych == ')') goto yy107;
- goto yy18;
-yy801:
- yyaccept = 4;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy923, &&yy478, &&yy304,
- &&yy479, &&yy480, &&yy481, &&yy482, &&yy482, &&yy482, &&yy482, &&yy482,
- &&yy482, &&yy482, &&yy483, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304
- };
- goto *yytarget[yych];
- }
-yy802:
- yyaccept = 4;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy923, &&yy484, &&yy304,
- &&yy485, &&yy480, &&yy481, &&yy482, &&yy482, &&yy482, &&yy482, &&yy482,
- &&yy482, &&yy482, &&yy486, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304
- };
- goto *yytarget[yych];
- }
-yy803:
- yyaccept = 4;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy923, &&yy484, &&yy304,
- &&yy479, &&yy480, &&yy481, &&yy482, &&yy482, &&yy482, &&yy482, &&yy482,
- &&yy482, &&yy482, &&yy486, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304,
- &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304, &&yy304
- };
- goto *yytarget[yych];
- }
-yy804:
- yyaccept = 7;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy134, &&yy134, &&yy274,
- &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134,
- &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274
- };
- goto *yytarget[yych];
- }
-yy805:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy806:
- yyaccept = 7;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy107, &&yy274, &&yy274, &&yy274, &&yy684, &&yy134, &&yy276,
- &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134,
- &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy276,
- &&yy274, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274
- };
- goto *yytarget[yych];
- }
-yy807:
- yych = *++YYCURSOR;
- if (yych == 'F') goto yy926;
- if (yych == 'f') goto yy926;
- goto yy56;
-yy808:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 'D') {
- if (yych == ')') goto yy107;
- goto yy18;
- } else {
- if (yych <= 'E') goto yy927;
- if (yych == 'e') goto yy927;
- goto yy18;
- }
-yy809:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy927, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy924, &&yy924, &&yy924, &&yy924, &&yy928, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy810:
- ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
- yych = *YYCURSOR;
-yy811:
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy810, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy810, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy837, &&yy56, &&yy838, &&yy56,
- &&yy839, &&yy56, &&yy56, &&yy56, &&yy56, &&yy840, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy841, &&yy842, &&yy56, &&yy56, &&yy929,
- &&yy56, &&yy844, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy837, &&yy56, &&yy838, &&yy56,
- &&yy839, &&yy56, &&yy56, &&yy56, &&yy56, &&yy840, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy841, &&yy842, &&yy56, &&yy56, &&yy929,
- &&yy56, &&yy844, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy812:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy810;
- goto yy18;
- } else {
- if (yych <= ' ') goto yy810;
- if (yych == ')') goto yy107;
- goto yy18;
- }
-yy813:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 'S') {
- if (yych == ')') goto yy107;
- goto yy18;
- } else {
- if (yych <= 'T') goto yy930;
- if (yych == 't') goto yy930;
- goto yy18;
- }
-yy814:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy810, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy810, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy815:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy930, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy931, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy816:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 'Q') {
- if (yych == ')') goto yy107;
- goto yy18;
- } else {
- if (yych <= 'R') goto yy932;
- if (yych == 'r') goto yy932;
- goto yy18;
- }
-yy817:
- yych = *++YYCURSOR;
- if (yych == 'D') goto yy845;
- if (yych == 'd') goto yy845;
- goto yy811;
-yy818:
- yych = *++YYCURSOR;
- if (yych == ')') goto yy107;
- goto yy294;
-yy819:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy932, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy933, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy820:
- yyaccept = 9;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy107, &&yy294, &&yy294, &&yy294, &&yy276, &&yy294, &&yy276,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy276,
- &&yy294, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294
- };
- goto *yytarget[yych];
- }
-yy821:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy136;
- if (yych <= '9') goto yy934;
- goto yy136;
-yy822:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '5') goto yy935;
- if (yych <= '6') goto yy936;
- if (yych <= '9') goto yy674;
- goto yy56;
-yy823:
- yyaccept = 4;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') {
- if (yych == '.') goto yy822;
- goto yy136;
- } else {
- if (yych <= '9') goto yy821;
- if (yych <= ':') goto yy822;
- goto yy136;
- }
-yy824:
- yyaccept = 4;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') {
- if (yych != '.') goto yy136;
- } else {
- if (yych <= '9') goto yy821;
- if (yych >= ';') goto yy136;
- }
-yy825:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '5') goto yy937;
- if (yych <= '6') goto yy938;
- if (yych <= '9') goto yy681;
- goto yy56;
-yy826:
- yyaccept = 4;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') {
- if (yych != '.') goto yy136;
- } else {
- if (yych <= '9') goto yy821;
- if (yych >= ';') goto yy136;
- }
-yy827:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '5') goto yy939;
- if (yych <= '6') goto yy940;
- if (yych <= '9') goto yy941;
- goto yy56;
-yy828:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '5') goto yy942;
- if (yych <= '6') goto yy943;
- if (yych <= '9') goto yy674;
- goto yy56;
-yy829:
- yyaccept = 4;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy944, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy944, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy828, &&yy136,
- &&yy821, &&yy821, &&yy821, &&yy821, &&yy821, &&yy821, &&yy821, &&yy821,
- &&yy821, &&yy821, &&yy828, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy946, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy946, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy946, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy946, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136
- };
- goto *yytarget[yych];
- }
-yy830:
- yyaccept = 4;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy944, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy944, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy831, &&yy136,
- &&yy821, &&yy821, &&yy821, &&yy821, &&yy821, &&yy821, &&yy821, &&yy821,
- &&yy821, &&yy821, &&yy831, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy946, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy946, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy946, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy946, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136
- };
- goto *yytarget[yych];
- }
-yy831:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '5') goto yy937;
- if (yych <= '6') goto yy947;
- if (yych <= '9') goto yy681;
- goto yy56;
-yy832:
- yyaccept = 4;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy944, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy944, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy833, &&yy136,
- &&yy821, &&yy821, &&yy821, &&yy821, &&yy821, &&yy821, &&yy821, &&yy821,
- &&yy821, &&yy821, &&yy833, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy946, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy946, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy946, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy946, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
- &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136
- };
- goto *yytarget[yych];
- }
-yy833:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '5') goto yy948;
- if (yych <= '6') goto yy949;
- if (yych <= '9') goto yy941;
- goto yy56;
-yy834:
- yyaccept = 17;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy944, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy944, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy833, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy833, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy946, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy946, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy946, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy946, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673
- };
- goto *yytarget[yych];
- }
-yy835:
- yych = *++YYCURSOR;
- if (yych <= 'X') {
- if (yych == ')') goto yy107;
- goto yy18;
- } else {
- if (yych <= 'Y') goto yy950;
- if (yych == 'y') goto yy950;
- goto yy18;
- }
-yy836:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy950, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy951, &&yy924, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy837:
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy952;
- if (yych == 'a') goto yy952;
- goto yy56;
-yy838:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy953,
- &&yy56, &&yy56, &&yy954, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy953,
- &&yy56, &&yy56, &&yy954, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy839:
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy955;
- if (yych == 'o') goto yy955;
- goto yy56;
-yy840:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy956, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy957,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy956, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy957,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy841:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy958, &&yy56, &&yy56, &&yy56, &&yy959, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy960, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy958, &&yy56, &&yy56, &&yy56, &&yy959, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy960, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy842:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy961, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy962, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy961, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy962, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy843:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy963;
- if (yych == 'e') goto yy963;
- goto yy56;
-yy844:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy964;
- if (yych == 'e') goto yy964;
- goto yy56;
-yy845:
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy965;
- if (yych == 'a') goto yy965;
- goto yy56;
-yy846:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 'G') {
- if (yych == ')') goto yy107;
- goto yy18;
- } else {
- if (yych <= 'H') goto yy966;
- if (yych == 'h') goto yy966;
- goto yy18;
- }
-yy847:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy966, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy967, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy848:
- yych = *++YYCURSOR;
- if (yych <= 'Q') {
- if (yych == ')') goto yy107;
- goto yy18;
- } else {
- if (yych <= 'R') goto yy950;
- if (yych == 'r') goto yy950;
- goto yy18;
- }
-yy849:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy950, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy951, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy850:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 'T') {
- if (yych == ')') goto yy107;
- goto yy18;
- } else {
- if (yych <= 'U') goto yy968;
- if (yych == 'u') goto yy968;
- goto yy18;
- }
-yy851:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy968, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy969, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy852:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '@') {
- if (yych == ')') goto yy107;
- goto yy18;
- } else {
- if (yych <= 'A') goto yy970;
- if (yych == 'a') goto yy970;
- goto yy18;
- }
-yy853:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 'A') {
- if (yych == ')') goto yy107;
- goto yy18;
- } else {
- if (yych <= 'B') goto yy971;
- if (yych == 'b') goto yy971;
- goto yy18;
- }
-yy854:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 'G') {
- if (yych == ')') goto yy107;
- goto yy18;
- } else {
- if (yych <= 'H') goto yy972;
- if (yych == 'h') goto yy972;
- goto yy18;
- }
-yy855:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy970, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy973, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy856:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy971, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy924, &&yy974, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy857:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy972, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy975, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy858:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy976;
- goto yy56;
-yy859:
- yych = *++YYCURSOR;
- if (yych == '0') goto yy976;
- goto yy56;
-yy860:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 'N') {
- if (yych == ')') goto yy107;
- goto yy18;
- } else {
- if (yych <= 'O') goto yy977;
- if (yych == 'o') goto yy977;
- goto yy18;
- }
-yy861:
- yych = *++YYCURSOR;
- if (yych <= 'X') {
- if (yych == ')') goto yy107;
- goto yy18;
- } else {
- if (yych <= 'Y') goto yy978;
- if (yych == 'y') goto yy978;
- goto yy18;
- }
-yy862:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy977,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy979,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy863:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy978, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy980, &&yy924, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy864:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 'C') {
- if (yych == ')') goto yy107;
- goto yy18;
- } else {
- if (yych <= 'D') goto yy981;
- if (yych == 'd') goto yy981;
- goto yy18;
- }
-yy865:
- yych = *++YYCURSOR;
- if (yych <= 'X') {
- if (yych == ')') goto yy107;
- goto yy18;
- } else {
- if (yych <= 'Y') goto yy982;
- if (yych == 'y') goto yy982;
- goto yy18;
- }
-yy866:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy981, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy924, &&yy924, &&yy924, &&yy983, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy867:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy982, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy984, &&yy924, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy868:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 'C') {
- if (yych == ')') goto yy107;
- goto yy18;
- } else {
- if (yych <= 'D') goto yy985;
- if (yych == 'd') goto yy985;
- goto yy18;
- }
-yy869:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy107, &&yy18, &&yy18, &&yy18, &&yy276, &&yy18, &&yy276,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy985, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy276,
- &&yy18, &&yy924, &&yy924, &&yy924, &&yy986, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18,
- &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18, &&yy18
- };
- goto *yytarget[yych];
- }
-yy870:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy987;
- goto yy56;
-yy871:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '2') goto yy987;
- goto yy56;
-yy872:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy988;
- goto yy56;
-yy873:
- yych = *++YYCURSOR;
- goto yy544;
-yy874:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- if (yych <= '/') goto yy208;
- if (yych <= '9') goto yy874;
- goto yy208;
-yy876:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy213;
- if (yych <= '9') goto yy990;
- goto yy213;
-yy877:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy991;
- goto yy56;
-yy878:
- yyaccept = 15;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy992, &&yy992, &&yy992, &&yy992, &&yy992, &&yy992, &&yy992, &&yy992,
- &&yy992, &&yy992, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy721, &&yy544,
- &&yy544, &&yy544, &&yy721, &&yy722, &&yy723, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544
- };
- goto *yytarget[yych];
- }
-yy879:
- yyaccept = 15;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy992, &&yy992, &&yy717, &&yy717, &&yy717, &&yy717, &&yy717, &&yy717,
- &&yy717, &&yy717, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy721, &&yy544,
- &&yy544, &&yy544, &&yy721, &&yy722, &&yy723, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544
- };
- goto *yytarget[yych];
- }
-yy880:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '2') goto yy994;
- if (yych <= '3') goto yy995;
- if (yych <= '9') goto yy996;
- goto yy56;
-yy881:
- yyaccept = 20;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '-') goto yy997;
- goto yy732;
-yy882:
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy998;
- if (yych == 'r') goto yy998;
- goto yy56;
-yy883:
- yych = *++YYCURSOR;
- if (yych == 'G') goto yy999;
- if (yych == 'g') goto yy999;
- goto yy56;
-yy884:
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy1000;
- if (yych == 'c') goto yy1000;
- goto yy56;
-yy885:
- yych = *++YYCURSOR;
- if (yych == 'B') goto yy1001;
- if (yych == 'b') goto yy1001;
- goto yy56;
-yy886:
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy1002;
- if (yych == 'n') goto yy1002;
- goto yy56;
-yy887:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy1003, &&yy56, &&yy1004, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy1003, &&yy56, &&yy1004, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy888:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy1005, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy1006, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy1005, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy1006, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy889:
- yych = *++YYCURSOR;
- if (yych == 'V') goto yy1000;
- if (yych == 'v') goto yy1000;
- goto yy56;
-yy890:
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy1007;
- if (yych == 't') goto yy1007;
- goto yy56;
-yy891:
- yych = *++YYCURSOR;
- if (yych == 'P') goto yy1008;
- if (yych == 'p') goto yy1008;
- goto yy56;
-yy892:
- yych = *++YYCURSOR;
- if (yych <= '0') goto yy56;
- if (yych <= '9') goto yy1009;
- goto yy56;
-yy893:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy1009;
- goto yy56;
-yy894:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '6') goto yy1009;
- goto yy56;
-yy895:
- yych = *++YYCURSOR;
- if (yych == 'P') goto yy913;
- if (yych == 'p') goto yy913;
- goto yy56;
-yy896:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '2') goto yy1010;
- if (yych <= '3') goto yy1012;
- if (yych <= '9') goto yy1013;
- goto yy56;
-yy897:
- yych = *++YYCURSOR;
- if (yych == '/') goto yy1014;
- goto yy56;
-yy898:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy186;
- if (yych <= '9') goto yy1015;
- goto yy186;
-yy899:
- yyaccept = 22;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy186, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy186, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy1015, &&yy1015, &&yy1015, &&yy1015, &&yy1015, &&yy1015, &&yy1015, &&yy1015,
- &&yy1015, &&yy1015, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy186, &&yy900, &&yy186, &&yy900,
- &&yy186, &&yy900, &&yy900, &&yy900, &&yy900, &&yy186, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy186, &&yy186, &&yy900, &&yy900, &&yy186,
- &&yy900, &&yy186, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy186, &&yy900, &&yy186, &&yy900,
- &&yy186, &&yy900, &&yy900, &&yy900, &&yy900, &&yy186, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy186, &&yy186, &&yy900, &&yy900, &&yy186,
- &&yy900, &&yy186, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900
- };
- goto *yytarget[yych];
- }
-yy900:
- {
- int length = 0;
- DEBUG_OUTPUT("pgydotd");
- TIMELIB_INIT;
- TIMELIB_HAVE_DATE();
- s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
- s->time->d = timelib_get_nr((char **) &ptr, 3);
- s->time->m = 1;
- TIMELIB_PROCESS_YEAR(s->time->y, length);
- TIMELIB_DEINIT;
- return TIMELIB_PG_YEARDAY;
- }
-yy901:
- yyaccept = 22;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy186, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy186, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy1015, &&yy1015, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57,
- &&yy57, &&yy57, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy186, &&yy900, &&yy186, &&yy900,
- &&yy186, &&yy900, &&yy900, &&yy900, &&yy900, &&yy186, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy186, &&yy186, &&yy900, &&yy900, &&yy186,
- &&yy900, &&yy186, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy186, &&yy900, &&yy186, &&yy900,
- &&yy186, &&yy900, &&yy900, &&yy900, &&yy900, &&yy186, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy186, &&yy186, &&yy900, &&yy900, &&yy186,
- &&yy900, &&yy186, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900
- };
- goto *yytarget[yych];
- }
-yy902:
- yyaccept = 22;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy186, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy186, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57,
- &&yy57, &&yy57, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy186, &&yy900, &&yy186, &&yy900,
- &&yy186, &&yy900, &&yy900, &&yy900, &&yy900, &&yy186, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy186, &&yy186, &&yy900, &&yy900, &&yy186,
- &&yy900, &&yy186, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy186, &&yy900, &&yy186, &&yy900,
- &&yy186, &&yy900, &&yy900, &&yy900, &&yy900, &&yy186, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy186, &&yy186, &&yy900, &&yy900, &&yy186,
- &&yy900, &&yy186, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900,
- &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900, &&yy900
- };
- goto *yytarget[yych];
- }
-yy903:
- yych = *++YYCURSOR;
- if (yych == ':') goto yy1017;
- goto yy56;
-yy904:
- yyaccept = 23;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'I') goto yy1018;
- if (yych == 'i') goto yy1018;
- goto yy576;
-yy905:
- yyaccept = 23;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'U') goto yy1019;
- if (yych == 'u') goto yy1019;
- goto yy576;
-yy906:
- yyaccept = 23;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'E') goto yy1020;
- if (yych == 'e') goto yy1020;
- goto yy576;
-yy907:
- yyaccept = 23;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'R') goto yy1021;
- if (yych == 'r') goto yy1021;
- goto yy576;
-yy908:
- yyaccept = 23;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'U') goto yy1022;
- if (yych == 'u') goto yy1022;
- goto yy576;
-yy909:
- yych = *++YYCURSOR;
- if (yych == 'Y') goto yy767;
- if (yych == 'y') goto yy767;
- goto yy576;
-yy910:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy767;
- if (yych == 'e') goto yy767;
- goto yy576;
-yy911:
- yyaccept = 23;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'C') goto yy1023;
- if (yych == 'c') goto yy1023;
- goto yy576;
-yy912:
- yyaccept = 23;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'O') goto yy1024;
- if (yych == 'o') goto yy1024;
- goto yy576;
-yy913:
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy906;
- if (yych == 't') goto yy906;
- goto yy576;
-yy914:
- yyaccept = 24;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '-') goto yy1025;
- if (yych <= '/') goto yy915;
- if (yych <= '7') goto yy1026;
-yy915:
- {
- timelib_sll w, d;
- DEBUG_OUTPUT("isoweek");
- TIMELIB_INIT;
- TIMELIB_HAVE_DATE();
- TIMELIB_HAVE_RELATIVE();
-
- s->time->y = timelib_get_nr((char **) &ptr, 4);
- w = timelib_get_nr((char **) &ptr, 2);
- d = 1;
- s->time->m = 1;
- s->time->d = 1;
- s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d);
-
- TIMELIB_DEINIT;
- return TIMELIB_ISO_WEEK;
- }
-yy916:
- yych = *++YYCURSOR;
- if (yych == 'G') goto yy1028;
- if (yych == 'g') goto yy1028;
- goto yy56;
-yy917:
- yych = *++YYCURSOR;
- if (yych == 'Y') goto yy242;
- if (yych == 'y') goto yy242;
- goto yy56;
-yy918:
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy242;
- if (yych == 'r') goto yy242;
- goto yy56;
-yy919:
- yyaccept = 5;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy613, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy613, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy1029, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy1030, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy100, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208
- };
- goto *yytarget[yych];
- }
-yy920:
- yyaccept = 15;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy1031, &&yy1031, &&yy1031, &&yy1031, &&yy1031, &&yy1031, &&yy1031, &&yy1031,
- &&yy1031, &&yy1031, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy721, &&yy544,
- &&yy544, &&yy544, &&yy721, &&yy722, &&yy723, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544
- };
- goto *yytarget[yych];
- }
-yy921:
- yyaccept = 15;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy1031, &&yy1031, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy721, &&yy544,
- &&yy544, &&yy544, &&yy721, &&yy722, &&yy723, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544
- };
- goto *yytarget[yych];
- }
-yy922:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '2') goto yy1032;
- if (yych <= '3') goto yy1033;
- goto yy56;
-yy923:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy1034;
- goto yy56;
-yy924:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
-yy925:
- if (yybm[0+yych] & 128) {
- goto yy924;
- }
- if (yych <= '.') {
- if (yych == '-') goto yy276;
- goto yy56;
- } else {
- if (yych <= '/') goto yy276;
- if (yych == '_') goto yy276;
- goto yy56;
- }
-yy926:
- yych = *++YYCURSOR;
- if (yych == ' ') goto yy1036;
- goto yy56;
-yy927:
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy950;
- if (yych == 'r') goto yy950;
- goto yy56;
-yy928:
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy950;
- if (yych == 'r') goto yy951;
- goto yy925;
-yy929:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy1037;
- if (yych == 'e') goto yy1037;
- goto yy56;
-yy930:
- yych = *++YYCURSOR;
- if (yych == 'H') goto yy972;
- if (yych == 'h') goto yy972;
- goto yy56;
-yy931:
- yych = *++YYCURSOR;
- if (yych == 'H') goto yy972;
- if (yych == 'h') goto yy975;
- goto yy925;
-yy932:
- yych = *++YYCURSOR;
- if (yych == 'Y') goto yy950;
- if (yych == 'y') goto yy950;
- goto yy56;
-yy933:
- yych = *++YYCURSOR;
- if (yych == 'Y') goto yy950;
- if (yych == 'y') goto yy951;
- goto yy925;
-yy934:
- yych = *++YYCURSOR;
- goto yy136;
-yy935:
- yyaccept = 17;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') {
- if (yych == '.') goto yy827;
- goto yy673;
- } else {
- if (yych <= '9') goto yy1038;
- if (yych <= ':') goto yy827;
- goto yy673;
- }
-yy936:
- yyaccept = 17;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') {
- if (yych == '.') goto yy827;
- goto yy673;
- } else {
- if (yych <= '0') goto yy1039;
- if (yych == ':') goto yy827;
- goto yy673;
- }
-yy937:
- yyaccept = 17;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') {
- if (yych == '.') goto yy833;
- goto yy673;
- } else {
- if (yych <= '9') goto yy1040;
- if (yych <= ':') goto yy833;
- goto yy673;
- }
-yy938:
- yyaccept = 17;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') {
- if (yych == '.') goto yy833;
- goto yy673;
- } else {
- if (yych <= '0') goto yy1039;
- if (yych == ':') goto yy833;
- goto yy673;
- }
-yy939:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy673;
- if (yych <= '9') goto yy1039;
- goto yy673;
-yy940:
- yych = *++YYCURSOR;
- if (yych == '0') goto yy1039;
- goto yy673;
-yy941:
- yych = *++YYCURSOR;
- goto yy673;
-yy942:
- yyaccept = 17;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') {
- if (yych == '.') goto yy827;
- goto yy673;
- } else {
- if (yych <= '9') goto yy1041;
- if (yych <= ':') goto yy827;
- goto yy673;
- }
-yy943:
- yyaccept = 17;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') {
- if (yych == '.') goto yy827;
- goto yy673;
- } else {
- if (yych <= '0') goto yy1042;
- if (yych == ':') goto yy827;
- goto yy673;
- }
-yy944:
- ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
- yych = *YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy944, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy944, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy946, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy946, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy946, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy946, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy946:
- yych = *++YYCURSOR;
- if (yych <= 'L') {
- if (yych == '.') goto yy1043;
- goto yy56;
- } else {
- if (yych <= 'M') goto yy1044;
- if (yych == 'm') goto yy1044;
- goto yy56;
- }
-yy947:
- yyaccept = 17;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') {
- if (yych == '.') goto yy833;
- goto yy673;
- } else {
- if (yych <= '0') goto yy1042;
- if (yych == ':') goto yy833;
- goto yy673;
- }
-yy948:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy673;
- if (yych <= '9') goto yy1042;
- goto yy673;
-yy949:
- yych = *++YYCURSOR;
- if (yych == '0') goto yy1042;
- goto yy673;
-yy950:
- yyaccept = 7;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy134, &&yy134, &&yy274,
- &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134,
- &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274
- };
- goto *yytarget[yych];
- }
-yy951:
- yyaccept = 7;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy684, &&yy134, &&yy276,
- &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134, &&yy134,
- &&yy134, &&yy134, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy276,
- &&yy274, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274,
- &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274, &&yy274
- };
- goto *yytarget[yych];
- }
-yy952:
- yych = *++YYCURSOR;
- if (yych == 'Y') goto yy1045;
- if (yych == 'y') goto yy1045;
- goto yy56;
-yy953:
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy1047;
- if (yych == 'r') goto yy1047;
- goto yy56;
-yy954:
- yych = *++YYCURSOR;
- if (yych == 'I') goto yy1048;
- if (yych == 'i') goto yy1048;
- goto yy56;
-yy955:
- yych = *++YYCURSOR;
- if (yych == 'U') goto yy1049;
- if (yych == 'u') goto yy1049;
- goto yy56;
-yy956:
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy1050;
- if (yych == 'n') goto yy1050;
- goto yy56;
-yy957:
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy1051;
- if (yych == 'n') goto yy1051;
- goto yy56;
-yy958:
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy1052;
- if (yych == 't') goto yy1052;
- goto yy56;
-yy959:
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy1053;
- if (yych == 'c') goto yy1053;
- goto yy56;
-yy960:
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy1048;
- if (yych == 'n') goto yy1048;
- goto yy56;
-yy961:
- yych = *++YYCURSOR;
- if (yych == 'U') goto yy1054;
- if (yych == 'u') goto yy1054;
- goto yy56;
-yy962:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy1055;
- if (yych == 'e') goto yy1055;
- goto yy56;
-yy963:
- yych = *++YYCURSOR;
- if (yych <= 'E') {
- if (yych <= 'C') goto yy56;
- if (yych <= 'D') goto yy1056;
- goto yy1057;
- } else {
- if (yych <= 'c') goto yy56;
- if (yych <= 'd') goto yy1056;
- if (yych <= 'e') goto yy1057;
- goto yy56;
- }
-yy964:
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy1049;
- if (yych == 'a') goto yy1049;
- goto yy56;
-yy965:
- yych = *++YYCURSOR;
- if (yych == 'Y') goto yy1058;
- if (yych == 'y') goto yy1058;
- goto yy56;
-yy966:
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy1059;
- if (yych == 't') goto yy1059;
- goto yy56;
-yy967:
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy1059;
- if (yych == 't') goto yy1060;
- goto yy925;
-yy968:
- yych = *++YYCURSOR;
- if (yych == 'S') goto yy1061;
- if (yych == 's') goto yy1061;
- goto yy56;
-yy969:
- yych = *++YYCURSOR;
- if (yych == 'S') goto yy1061;
- if (yych == 's') goto yy1062;
- goto yy925;
-yy970:
- yych = *++YYCURSOR;
- if (yych == 'Y') goto yy978;
- if (yych == 'y') goto yy978;
- goto yy56;
-yy971:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy927;
- if (yych == 'e') goto yy927;
- goto yy56;
-yy972:
- yych = *++YYCURSOR;
- if (yych == '\t') goto yy810;
- if (yych == ' ') goto yy810;
- goto yy56;
-yy973:
- yych = *++YYCURSOR;
- if (yych == 'Y') goto yy978;
- if (yych == 'y') goto yy980;
- goto yy925;
-yy974:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy927;
- if (yych == 'e') goto yy928;
- goto yy925;
-yy975:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy810, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy810, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy276, &&yy56, &&yy276,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy276,
- &&yy56, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy976:
- yych = *++YYCURSOR;
- goto yy755;
-yy977:
- yych = *++YYCURSOR;
- if (yych == 'W') goto yy1063;
- if (yych == 'w') goto yy1063;
- goto yy56;
-yy978:
- yych = *++YYCURSOR;
- goto yy294;
-yy979:
- yych = *++YYCURSOR;
- if (yych == 'W') goto yy1063;
- if (yych == 'w') goto yy1065;
- goto yy925;
-yy980:
- yyaccept = 9;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yybm[0+yych] & 128) {
- goto yy924;
- }
- if (yych <= '.') {
- if (yych == '-') goto yy276;
- goto yy294;
- } else {
- if (yych <= '/') goto yy276;
- if (yych == '_') goto yy276;
- goto yy294;
- }
-yy981:
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy970;
- if (yych == 'a') goto yy970;
- goto yy56;
-yy982:
- yych = *++YYCURSOR;
- if (yych == 'S') goto yy978;
- if (yych == 's') goto yy978;
- goto yy294;
-yy983:
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy970;
- if (yych == 'a') goto yy973;
- goto yy925;
-yy984:
- yyaccept = 9;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy276, &&yy294, &&yy276,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy978, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy276,
- &&yy294, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy980, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294,
- &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294, &&yy294
- };
- goto *yytarget[yych];
- }
-yy985:
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy1066;
- if (yych == 'a') goto yy1066;
- goto yy56;
-yy986:
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy1066;
- if (yych == 'a') goto yy1067;
- goto yy925;
-yy987:
- yych = *++YYCURSOR;
- if (yych == '-') goto yy1068;
- goto yy56;
-yy988:
- ++YYCURSOR;
- {
- DEBUG_OUTPUT("pointed date YYYY");
- TIMELIB_INIT;
- TIMELIB_HAVE_DATE();
- s->time->d = timelib_get_nr((char **) &ptr, 2);
- s->time->m = timelib_get_nr((char **) &ptr, 2);
- s->time->y = timelib_get_nr((char **) &ptr, 4);
- TIMELIB_DEINIT;
- return TIMELIB_DATE_FULL_POINTED;
- }
-yy990:
- yych = *++YYCURSOR;
- goto yy213;
-yy991:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy1069;
- goto yy56;
-yy992:
- yyaccept = 25;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993,
- &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993,
- &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993,
- &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993,
- &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993,
- &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993,
- &&yy872, &&yy872, &&yy872, &&yy872, &&yy872, &&yy872, &&yy872, &&yy872,
- &&yy872, &&yy872, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993,
- &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993,
- &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993,
- &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993,
- &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993,
- &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993,
- &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy721, &&yy993,
- &&yy993, &&yy993, &&yy721, &&yy722, &&yy723, &&yy993, &&yy993, &&yy993,
- &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993,
- &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993,
- &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993,
- &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993,
- &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993,
- &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993,
- &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993,
- &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993,
- &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993,
- &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993,
- &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993,
- &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993,
- &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993,
- &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993,
- &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993,
- &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993,
- &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993, &&yy993
- };
- goto *yytarget[yych];
- }
-yy993:
- {
- int length = 0;
- DEBUG_OUTPUT("iso8601date2");
- TIMELIB_INIT;
- TIMELIB_HAVE_DATE();
- s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
- s->time->m = timelib_get_nr((char **) &ptr, 2);
- s->time->d = timelib_get_nr((char **) &ptr, 2);
- TIMELIB_PROCESS_YEAR(s->time->y, length);
- TIMELIB_DEINIT;
- return TIMELIB_ISO_DATE;
- }
-yy994:
- yyaccept = 15;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy996, &&yy996, &&yy996, &&yy996, &&yy996, &&yy996, &&yy996, &&yy996,
- &&yy996, &&yy996, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy1070, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy1071, &&yy544,
- &&yy544, &&yy544, &&yy1071, &&yy1072, &&yy1073, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544
- };
- goto *yytarget[yych];
- }
-yy995:
- yyaccept = 15;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy996, &&yy996, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy1070, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy1071, &&yy544,
- &&yy544, &&yy544, &&yy1071, &&yy1072, &&yy1073, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544
- };
- goto *yytarget[yych];
- }
-yy996:
- yyaccept = 15;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy1070, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy1071, &&yy544,
- &&yy544, &&yy544, &&yy1071, &&yy1072, &&yy1073, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544
- };
- goto *yytarget[yych];
- }
-yy997:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '2') goto yy1074;
- if (yych <= '3') goto yy1075;
- if (yych <= '9') goto yy996;
- goto yy56;
-yy998:
- yyaccept = 23;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 'H') {
- if (yych == '-') goto yy922;
- goto yy576;
- } else {
- if (yych <= 'I') goto yy1018;
- if (yych == 'i') goto yy1018;
- goto yy576;
- }
-yy999:
- yyaccept = 23;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 'T') {
- if (yych == '-') goto yy922;
- goto yy576;
- } else {
- if (yych <= 'U') goto yy1019;
- if (yych == 'u') goto yy1019;
- goto yy576;
- }
-yy1000:
- yyaccept = 23;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 'D') {
- if (yych == '-') goto yy922;
- goto yy576;
- } else {
- if (yych <= 'E') goto yy1020;
- if (yych == 'e') goto yy1020;
- goto yy576;
- }
-yy1001:
- yyaccept = 23;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 'Q') {
- if (yych == '-') goto yy922;
- goto yy576;
- } else {
- if (yych <= 'R') goto yy1021;
- if (yych == 'r') goto yy1021;
- goto yy576;
- }
-yy1002:
- yyaccept = 23;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 'T') {
- if (yych == '-') goto yy922;
- goto yy576;
- } else {
- if (yych <= 'U') goto yy1022;
- if (yych == 'u') goto yy1022;
- goto yy576;
- }
-yy1003:
- yyaccept = 23;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 'X') {
- if (yych == '-') goto yy922;
- goto yy576;
- } else {
- if (yych <= 'Y') goto yy767;
- if (yych == 'y') goto yy767;
- goto yy576;
- }
-yy1004:
- yyaccept = 23;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 'D') {
- if (yych == '-') goto yy922;
- goto yy576;
- } else {
- if (yych <= 'E') goto yy767;
- if (yych == 'e') goto yy767;
- goto yy576;
- }
-yy1005:
- yyaccept = 23;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 'B') {
- if (yych == '-') goto yy922;
- goto yy576;
- } else {
- if (yych <= 'C') goto yy1023;
- if (yych == 'c') goto yy1023;
- goto yy576;
- }
-yy1006:
- yyaccept = 23;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '-') goto yy922;
- goto yy576;
-yy1007:
- yyaccept = 23;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 'N') {
- if (yych == '-') goto yy922;
- goto yy576;
- } else {
- if (yych <= 'O') goto yy1024;
- if (yych == 'o') goto yy1024;
- goto yy576;
- }
-yy1008:
- yyaccept = 23;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 'S') {
- if (yych == '-') goto yy922;
- goto yy576;
- } else {
- if (yych <= 'T') goto yy1000;
- if (yych == 't') goto yy1000;
- goto yy576;
- }
-yy1009:
- yych = *++YYCURSOR;
- goto yy900;
-yy1010:
- yyaccept = 26;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1013, &&yy1013, &&yy1013, &&yy1013, &&yy1013, &&yy1013, &&yy1013, &&yy1013,
- &&yy1013, &&yy1013, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1076, &&yy1011,
- &&yy1011, &&yy1011, &&yy1076, &&yy1077, &&yy1078, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011
- };
- goto *yytarget[yych];
- }
-yy1011:
- {
- DEBUG_OUTPUT("iso8601date4 | iso8601date2 | iso8601dateslash | dateslash");
- TIMELIB_INIT;
- TIMELIB_HAVE_DATE();
- s->time->y = timelib_get_unsigned_nr((char **) &ptr, 4);
- s->time->m = timelib_get_nr((char **) &ptr, 2);
- s->time->d = timelib_get_nr((char **) &ptr, 2);
- TIMELIB_DEINIT;
- return TIMELIB_ISO_DATE;
- }
-yy1012:
- yyaccept = 26;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1013, &&yy1013, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1076, &&yy1011,
- &&yy1011, &&yy1011, &&yy1076, &&yy1077, &&yy1078, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011
- };
- goto *yytarget[yych];
- }
-yy1013:
- yyaccept = 26;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 'q') {
- if (yych == 'n') goto yy1076;
- goto yy1011;
- } else {
- if (yych <= 'r') goto yy1076;
- if (yych <= 's') goto yy1077;
- if (yych <= 't') goto yy1078;
- goto yy1011;
- }
-yy1014:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '2') goto yy1079;
- if (yych <= '3') goto yy1080;
- if (yych <= '9') goto yy1013;
- goto yy56;
-yy1015:
- yyaccept = 27;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016,
- &&yy1016, &&yy185, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016,
- &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016,
- &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016,
- &&yy185, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016,
- &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016,
- &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57, &&yy57,
- &&yy57, &&yy57, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016,
- &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy187, &&yy1016, &&yy188, &&yy1016,
- &&yy76, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy189, &&yy1016, &&yy1016,
- &&yy1016, &&yy1016, &&yy1016, &&yy190, &&yy1081, &&yy1016, &&yy1016, &&yy86,
- &&yy1016, &&yy88, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016,
- &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy187, &&yy1016, &&yy188, &&yy1016,
- &&yy76, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy189, &&yy1016, &&yy1016,
- &&yy1016, &&yy1016, &&yy1016, &&yy190, &&yy1082, &&yy1016, &&yy1016, &&yy86,
- &&yy1016, &&yy88, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016,
- &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016,
- &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016,
- &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016,
- &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016,
- &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016,
- &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016,
- &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016,
- &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016,
- &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016,
- &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016,
- &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016,
- &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016,
- &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016,
- &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016,
- &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016,
- &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016, &&yy1016
- };
- goto *yytarget[yych];
- }
-yy1016:
- {
- DEBUG_OUTPUT("datenocolon");
- TIMELIB_INIT;
- TIMELIB_HAVE_DATE();
- s->time->y = timelib_get_nr((char **) &ptr, 4);
- s->time->m = timelib_get_nr((char **) &ptr, 2);
- s->time->d = timelib_get_nr((char **) &ptr, 2);
- TIMELIB_DEINIT;
- return TIMELIB_DATE_NOCOLON;
- }
-yy1017:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '2') goto yy1083;
- if (yych <= '3') goto yy1084;
- goto yy56;
-yy1018:
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy767;
- if (yych == 'l') goto yy767;
- goto yy56;
-yy1019:
- yych = *++YYCURSOR;
- if (yych == 'S') goto yy1085;
- if (yych == 's') goto yy1085;
- goto yy56;
-yy1020:
- yych = *++YYCURSOR;
- if (yych == 'M') goto yy1024;
- if (yych == 'm') goto yy1024;
- goto yy56;
-yy1021:
- yych = *++YYCURSOR;
- if (yych == 'U') goto yy1022;
- if (yych != 'u') goto yy56;
-yy1022:
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy1086;
- if (yych == 'a') goto yy1086;
- goto yy56;
-yy1023:
- yych = *++YYCURSOR;
- if (yych == 'H') goto yy767;
- if (yych == 'h') goto yy767;
- goto yy56;
-yy1024:
- yych = *++YYCURSOR;
- if (yych == 'B') goto yy1087;
- if (yych == 'b') goto yy1087;
- goto yy56;
-yy1025:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych >= '8') goto yy56;
-yy1026:
- ++YYCURSOR;
- {
- timelib_sll w, d;
- DEBUG_OUTPUT("isoweekday");
- TIMELIB_INIT;
- TIMELIB_HAVE_DATE();
- TIMELIB_HAVE_RELATIVE();
-
- s->time->y = timelib_get_nr((char **) &ptr, 4);
- w = timelib_get_nr((char **) &ptr, 2);
- d = timelib_get_nr((char **) &ptr, 1);
- s->time->m = 1;
- s->time->d = 1;
- s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d);
-
- TIMELIB_DEINIT;
- return TIMELIB_ISO_WEEK;
- }
-yy1028:
- yych = *++YYCURSOR;
- if (yych == 'H') goto yy1088;
- if (yych == 'h') goto yy1088;
- goto yy56;
-yy1029:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy1089;
- goto yy56;
-yy1030:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy1091;
- goto yy56;
-yy1031:
- yyaccept = 25;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 'q') {
- if (yych == 'n') goto yy721;
- goto yy993;
- } else {
- if (yych <= 'r') goto yy721;
- if (yych <= 's') goto yy722;
- if (yych <= 't') goto yy723;
- goto yy993;
- }
-yy1032:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy1093;
- goto yy56;
-yy1033:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '1') goto yy1093;
- goto yy56;
-yy1034:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy1035;
- if (yych <= '9') goto yy1095;
-yy1035:
- {
- int length = 0;
- DEBUG_OUTPUT("pgtextshort");
- TIMELIB_INIT;
- TIMELIB_HAVE_DATE();
- s->time->m = timelib_get_month((char **) &ptr);
- s->time->d = timelib_get_nr((char **) &ptr, 2);
- s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
- TIMELIB_PROCESS_YEAR(s->time->y, length);
- TIMELIB_DEINIT;
- return TIMELIB_PG_TEXT;
- }
-yy1036:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '1') goto yy1096;
- if (yych <= '2') goto yy1098;
- if (yych <= '9') goto yy1099;
- goto yy56;
-yy1037:
- yych = *++YYCURSOR;
- if (yych <= 'E') {
- if (yych <= 'C') goto yy56;
- if (yych <= 'D') goto yy1056;
- goto yy1101;
- } else {
- if (yych <= 'c') goto yy56;
- if (yych <= 'd') goto yy1056;
- if (yych <= 'e') goto yy1101;
- goto yy56;
- }
-yy1038:
- yyaccept = 17;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy1103, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy1103, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy1103, &&yy673, &&yy673, &&yy1103, &&yy673, &&yy1103, &&yy827, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy827, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103,
- &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103,
- &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103,
- &&yy1103, &&yy1103, &&yy1103, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103,
- &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103,
- &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103,
- &&yy1103, &&yy1103, &&yy1103, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673
- };
- goto *yytarget[yych];
- }
-yy1039:
- yyaccept = 17;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy1103, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy1103, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy1103, &&yy673, &&yy673, &&yy1103, &&yy673, &&yy1103, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103,
- &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103,
- &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103,
- &&yy1103, &&yy1103, &&yy1103, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103,
- &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103,
- &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103, &&yy1103,
- &&yy1103, &&yy1103, &&yy1103, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673
- };
- goto *yytarget[yych];
- }
-yy1040:
- yyaccept = 17;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy1110, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy1110, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy1110, &&yy673, &&yy673, &&yy1110, &&yy673, &&yy1110, &&yy833, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy833, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110,
- &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110,
- &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110,
- &&yy1110, &&yy1110, &&yy1110, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110,
- &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110,
- &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110,
- &&yy1110, &&yy1110, &&yy1110, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673
- };
- goto *yytarget[yych];
- }
-yy1041:
- yyaccept = 17;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy1110, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy1110, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy1110, &&yy673, &&yy673, &&yy1110, &&yy673, &&yy1110, &&yy827, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy827, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110,
- &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110,
- &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110,
- &&yy1110, &&yy1110, &&yy1110, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110,
- &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110,
- &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110,
- &&yy1110, &&yy1110, &&yy1110, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673
- };
- goto *yytarget[yych];
- }
-yy1042:
- yyaccept = 17;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy1110, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy1110, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy1110, &&yy673, &&yy673, &&yy1110, &&yy673, &&yy1110, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110,
- &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110,
- &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110,
- &&yy1110, &&yy1110, &&yy1110, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110,
- &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110,
- &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110, &&yy1110,
- &&yy1110, &&yy1110, &&yy1110, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673
- };
- goto *yytarget[yych];
- }
-yy1043:
- yych = *++YYCURSOR;
- if (yych == 'M') goto yy1044;
- if (yych != 'm') goto yy56;
-yy1044:
- yych = *++YYCURSOR;
- if (yych <= 0x1F) {
- if (yych <= 0x00) goto yy1113;
- if (yych == '\t') goto yy1113;
- goto yy56;
- } else {
- if (yych <= ' ') goto yy1113;
- if (yych == '.') goto yy1115;
- goto yy56;
- }
-yy1045:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == 'S') goto yy1116;
- if (yych == 's') goto yy1116;
-yy1046:
- {
- timelib_sll i;
- int behavior = 0;
- DEBUG_OUTPUT("relativetext");
- TIMELIB_INIT;
- TIMELIB_HAVE_RELATIVE();
-
- while(*ptr) {
- i = timelib_get_relative_text((char **) &ptr, &behavior);
- timelib_eat_spaces((char **) &ptr);
- timelib_set_relative((char **) &ptr, i, behavior, s);
- }
- TIMELIB_DEINIT;
- return TIMELIB_RELATIVE;
- }
-yy1047:
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy1117;
- if (yych == 't') goto yy1117;
- goto yy56;
-yy1048:
- yyaccept = 28;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1118, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1118, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1120, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1120, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046
- };
- goto *yytarget[yych];
- }
-yy1049:
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy1045;
- if (yych == 'r') goto yy1045;
- goto yy56;
-yy1050:
- yyaccept = 28;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1116, &&yy1046, &&yy1121, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1116, &&yy1046, &&yy1121, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046
- };
- goto *yytarget[yych];
- }
-yy1051:
- yyaccept = 28;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1118, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1118, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1120, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1122, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1120, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1122, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046
- };
- goto *yytarget[yych];
- }
-yy1052:
- yyaccept = 28;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1118, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1118, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1123, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1123, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046
- };
- goto *yytarget[yych];
- }
-yy1053:
- yyaccept = 28;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1124,
- &&yy1046, &&yy1046, &&yy1046, &&yy1116, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1124,
- &&yy1046, &&yy1046, &&yy1046, &&yy1116, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046
- };
- goto *yytarget[yych];
- }
-yy1054:
- yyaccept = 28;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1118, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1118, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1125, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1125, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046
- };
- goto *yytarget[yych];
- }
-yy1055:
- yyaccept = 28;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1118, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1118, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1126, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1126, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046
- };
- goto *yytarget[yych];
- }
-yy1056:
- yyaccept = 28;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1118, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1118, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1127, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1127, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046,
- &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046, &&yy1046
- };
- goto *yytarget[yych];
- }
-yy1057:
- yych = *++YYCURSOR;
- if (yych == 'K') goto yy1128;
- if (yych == 'k') goto yy1128;
- goto yy56;
-yy1058:
- yyaccept = 28;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 'R') {
- if (yych == ' ') goto yy1130;
- goto yy1046;
- } else {
- if (yych <= 'S') goto yy1116;
- if (yych == 's') goto yy1116;
- goto yy1046;
- }
-yy1059:
- yych = *++YYCURSOR;
- goto yy704;
-yy1060:
- yyaccept = 18;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yybm[0+yych] & 128) {
- goto yy924;
- }
- if (yych <= '.') {
- if (yych == '-') goto yy276;
- goto yy704;
- } else {
- if (yych <= '/') goto yy276;
- if (yych == '_') goto yy276;
- goto yy704;
- }
-yy1061:
- yych = *++YYCURSOR;
- if (yych == '\t') goto yy685;
- if (yych == ' ') goto yy685;
- goto yy56;
-yy1062:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy685, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy685, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy276, &&yy56, &&yy276,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy276,
- &&yy56, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924, &&yy924,
- &&yy924, &&yy924, &&yy924, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy1063:
- ++YYCURSOR;
-yy1064:
- {
- DEBUG_OUTPUT("tomorrow");
- TIMELIB_INIT;
- TIMELIB_HAVE_RELATIVE();
- TIMELIB_UNHAVE_TIME();
-
- s->time->relative.d = 1;
- TIMELIB_DEINIT;
- return TIMELIB_RELATIVE;
- }
-yy1065:
- yyaccept = 29;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yybm[0+yych] & 128) {
- goto yy924;
- }
- if (yych <= '.') {
- if (yych == '-') goto yy276;
- goto yy1064;
- } else {
- if (yych <= '/') goto yy276;
- if (yych == '_') goto yy276;
- goto yy1064;
- }
-yy1066:
- yych = *++YYCURSOR;
- if (yych == 'Y') goto yy1131;
- if (yych == 'y') goto yy1131;
- goto yy56;
-yy1067:
- yych = *++YYCURSOR;
- if (yych == 'Y') goto yy1131;
- if (yych == 'y') goto yy1133;
- goto yy925;
-yy1068:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '2') goto yy1134;
- if (yych <= '3') goto yy1135;
- goto yy56;
-yy1069:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy1136;
- goto yy56;
-yy1070:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '1') goto yy1137;
- if (yych <= '2') goto yy1138;
- if (yych <= '9') goto yy1139;
- goto yy56;
-yy1071:
- yych = *++YYCURSOR;
- if (yych == 'd') goto yy1140;
- goto yy56;
-yy1072:
- yych = *++YYCURSOR;
- if (yych == 't') goto yy1140;
- goto yy56;
-yy1073:
- yych = *++YYCURSOR;
- if (yych == 'h') goto yy1140;
- goto yy56;
-yy1074:
- yyaccept = 15;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy1141, &&yy1141, &&yy1141, &&yy1141, &&yy1141, &&yy1141, &&yy1141, &&yy1141,
- &&yy1141, &&yy1141, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy1070, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy1071, &&yy544,
- &&yy544, &&yy544, &&yy1071, &&yy1072, &&yy1073, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544
- };
- goto *yytarget[yych];
- }
-yy1075:
- yyaccept = 15;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy1141, &&yy1141, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy1070, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy1071, &&yy544,
- &&yy544, &&yy544, &&yy1071, &&yy1072, &&yy1073, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544,
- &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544, &&yy544
- };
- goto *yytarget[yych];
- }
-yy1076:
- yych = *++YYCURSOR;
- if (yych == 'd') goto yy1142;
- goto yy56;
-yy1077:
- yych = *++YYCURSOR;
- if (yych == 't') goto yy1142;
- goto yy56;
-yy1078:
- yych = *++YYCURSOR;
- if (yych == 'h') goto yy1142;
- goto yy56;
-yy1079:
- yyaccept = 26;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1143, &&yy1143, &&yy1143, &&yy1143, &&yy1143, &&yy1143, &&yy1143, &&yy1143,
- &&yy1143, &&yy1143, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1076, &&yy1011,
- &&yy1011, &&yy1011, &&yy1076, &&yy1077, &&yy1078, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011
- };
- goto *yytarget[yych];
- }
-yy1080:
- yyaccept = 26;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1143, &&yy1143, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1076, &&yy1011,
- &&yy1011, &&yy1011, &&yy1076, &&yy1077, &&yy1078, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011
- };
- goto *yytarget[yych];
- }
-yy1081:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy1144, &&yy1144, &&yy1145, &&yy1146, &&yy1146, &&yy1146, &&yy1146, &&yy1146,
- &&yy1146, &&yy1146, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy253, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy254, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy253, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy254, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy1082:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy1147, &&yy1147, &&yy1148, &&yy1149, &&yy1149, &&yy1149, &&yy1149, &&yy1149,
- &&yy1149, &&yy1149, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy253, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy254, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy253, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy254, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy1083:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy1150;
- goto yy56;
-yy1084:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '1') goto yy1150;
- goto yy56;
-yy1085:
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy767;
- if (yych == 't') goto yy767;
- goto yy56;
-yy1086:
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy1151;
- if (yych == 'r') goto yy1151;
- goto yy56;
-yy1087:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy1152;
- if (yych == 'e') goto yy1152;
- goto yy56;
-yy1088:
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy401;
- if (yych == 't') goto yy401;
- goto yy56;
-yy1089:
- yyaccept = 5;
- YYMARKER = ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
- yych = *YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy1089, &&yy1089, &&yy1089, &&yy1089, &&yy1089, &&yy1089, &&yy1089, &&yy1089,
- &&yy1089, &&yy1089, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy1153, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy1153, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy1153, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy1153, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208,
- &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208, &&yy208
- };
- goto *yytarget[yych];
- }
-yy1091:
- ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
- yych = *YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy1091, &&yy1091, &&yy1091, &&yy1091, &&yy1091, &&yy1091, &&yy1091, &&yy1091,
- &&yy1091, &&yy1091, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy1153, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy1153, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy1153, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy1153, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy1093:
- ++YYCURSOR;
- {
- int length = 0;
- DEBUG_OUTPUT("pgtextreverse");
- TIMELIB_INIT;
- TIMELIB_HAVE_DATE();
- s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
- s->time->m = timelib_get_month((char **) &ptr);
- s->time->d = timelib_get_nr((char **) &ptr, 2);
- TIMELIB_PROCESS_YEAR(s->time->y, length);
- TIMELIB_DEINIT;
- return TIMELIB_PG_TEXT;
- }
-yy1095:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy1035;
- if (yych <= '9') goto yy1154;
- goto yy1035;
-yy1096:
- yyaccept = 30;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') goto yy1100;
- if (yych <= '9') goto yy1099;
- goto yy1100;
-yy1097:
- {
- DEBUG_OUTPUT("backof | frontof");
- TIMELIB_INIT;
- TIMELIB_UNHAVE_TIME();
- TIMELIB_HAVE_TIME();
-
- if (*ptr == 'b') {
- s->time->h = timelib_get_nr((char **) &ptr, 2);
- s->time->i = 15;
- } else {
- s->time->h = timelib_get_nr((char **) &ptr, 2) - 1;
- s->time->i = 45;
- }
- if (*ptr != '\0' ) {
- timelib_eat_spaces((char **) &ptr);
- s->time->h += timelib_meridian((char **) &ptr, s->time->h);
- }
-
- TIMELIB_DEINIT;
- return TIMELIB_LF_DAY_OF_MONTH;
- }
-yy1098:
- yyaccept = 30;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') goto yy1100;
- if (yych >= '5') goto yy1100;
-yy1099:
- yyaccept = 30;
- YYMARKER = ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
- yych = *YYCURSOR;
-yy1100:
- {
- static void *yytarget[256] = {
- &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097,
- &&yy1097, &&yy1099, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097,
- &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097,
- &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097,
- &&yy1099, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097,
- &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097,
- &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097,
- &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097,
- &&yy1097, &&yy1155, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097,
- &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097,
- &&yy1155, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097,
- &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097,
- &&yy1097, &&yy1155, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097,
- &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097,
- &&yy1155, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097,
- &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097,
- &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097,
- &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097,
- &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097,
- &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097,
- &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097,
- &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097,
- &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097,
- &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097,
- &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097,
- &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097,
- &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097,
- &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097,
- &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097,
- &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097,
- &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097,
- &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097, &&yy1097
- };
- goto *yytarget[yych];
- }
-yy1101:
- yych = *++YYCURSOR;
- if (yych == 'K') goto yy1156;
- if (yych == 'k') goto yy1156;
- goto yy56;
-yy1102:
- ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
- yych = *YYCURSOR;
-yy1103:
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy1102, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy1102, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy1104, &&yy56, &&yy56, &&yy1105, &&yy56, &&yy1105, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1107,
- &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106,
- &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106,
- &&yy1106, &&yy1106, &&yy1106, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108,
- &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108,
- &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108,
- &&yy1108, &&yy1108, &&yy1108, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy1104:
- yych = *++YYCURSOR;
- if (yych <= '@') goto yy56;
- if (yych <= 'Z') goto yy1108;
- if (yych <= '`') goto yy56;
- if (yych <= 'z') goto yy1108;
- goto yy56;
-yy1105:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '1') goto yy1157;
- if (yych <= '2') goto yy1158;
- if (yych <= '9') goto yy1159;
- goto yy56;
-yy1106:
- yych = *++YYCURSOR;
- if (yych <= '@') {
- if (yych == ')') goto yy941;
- goto yy673;
- } else {
- if (yych <= 'Z') goto yy1160;
- if (yych <= '`') goto yy673;
- if (yych <= 'z') goto yy1161;
- goto yy673;
- }
-yy1107:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy941, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160,
- &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1162, &&yy1160, &&yy1160,
- &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160,
- &&yy1160, &&yy1160, &&yy1160, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161,
- &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161,
- &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161,
- &&yy1161, &&yy1161, &&yy1161, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673
- };
- goto *yytarget[yych];
- }
-yy1108:
- yych = *++YYCURSOR;
- if (yych <= '@') {
- if (yych == ')') goto yy941;
- goto yy673;
- } else {
- if (yych <= 'Z') goto yy1160;
- if (yych <= '`') goto yy673;
- if (yych <= 'z') goto yy1160;
- goto yy673;
- }
-yy1109:
- ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
- yych = *YYCURSOR;
-yy1110:
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy1109, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy1109, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy1104, &&yy56, &&yy56, &&yy1105, &&yy56, &&yy1105, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy1111, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1107,
- &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106,
- &&yy1111, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106, &&yy1106,
- &&yy1106, &&yy1106, &&yy1106, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy1112, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108,
- &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108,
- &&yy1112, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108, &&yy1108,
- &&yy1108, &&yy1108, &&yy1108, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy1111:
- yyaccept = 17;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy941, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1043, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160,
- &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1163, &&yy1160, &&yy1160,
- &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160,
- &&yy1160, &&yy1160, &&yy1160, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161,
- &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1164, &&yy1161, &&yy1161,
- &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161, &&yy1161,
- &&yy1161, &&yy1161, &&yy1161, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673
- };
- goto *yytarget[yych];
- }
-yy1112:
- yyaccept = 17;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy941, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1043, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160,
- &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1163, &&yy1160, &&yy1160,
- &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160,
- &&yy1160, &&yy1160, &&yy1160, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160,
- &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1163, &&yy1160, &&yy1160,
- &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160, &&yy1160,
- &&yy1160, &&yy1160, &&yy1160, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673
- };
- goto *yytarget[yych];
- }
-yy1113:
- ++YYCURSOR;
- {
- DEBUG_OUTPUT("dateshortwithtimeshort12 | dateshortwithtimelong12");
- TIMELIB_INIT;
- TIMELIB_HAVE_DATE();
- s->time->m = timelib_get_month((char **) &ptr);
- s->time->d = timelib_get_nr((char **) &ptr, 2);
-
- TIMELIB_HAVE_TIME();
- s->time->h = timelib_get_nr((char **) &ptr, 2);
- s->time->i = timelib_get_nr((char **) &ptr, 2);
- if (*ptr == ':' || *ptr == '.') {
- s->time->s = timelib_get_nr((char **) &ptr, 2);
-
- if (*ptr == '.') {
- s->time->f = timelib_get_frac_nr((char **) &ptr, 8);
- }
- }
-
- s->time->h += timelib_meridian((char **) &ptr, s->time->h);
- TIMELIB_DEINIT;
- return TIMELIB_SHORTDATE_WITH_TIME;
- }
-yy1115:
- yych = *++YYCURSOR;
- if (yych <= '\t') {
- if (yych <= 0x00) goto yy1113;
- if (yych <= 0x08) goto yy56;
- goto yy1113;
- } else {
- if (yych == ' ') goto yy1113;
- goto yy56;
- }
-yy1116:
- yych = *++YYCURSOR;
- goto yy1046;
-yy1117:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy1165, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1166, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy1165, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1166, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy1118:
- ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
- yych = *YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy1118, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy1118, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1167,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1167,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy1120:
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy1168;
- if (yych == 'a') goto yy1168;
- goto yy56;
-yy1121:
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy1169;
- if (yych == 't') goto yy1169;
- goto yy56;
-yy1122:
- yych = *++YYCURSOR;
- if (yych == 'H') goto yy1045;
- if (yych == 'h') goto yy1045;
- goto yy56;
-yy1123:
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy1126;
- if (yych == 'r') goto yy1126;
- goto yy56;
-yy1124:
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy1170;
- if (yych == 'n') goto yy1170;
- goto yy56;
-yy1125:
- yych = *++YYCURSOR;
- if (yych == 'S') goto yy1126;
- if (yych != 's') goto yy56;
-yy1126:
- yych = *++YYCURSOR;
- if (yych == 'D') goto yy1120;
- if (yych == 'd') goto yy1120;
- goto yy56;
-yy1127:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy1125;
- if (yych == 'e') goto yy1125;
- goto yy56;
-yy1128:
- yyaccept = 31;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129,
- &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129,
- &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129,
- &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129,
- &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129,
- &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129,
- &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129,
- &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129,
- &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy837, &&yy1129, &&yy1129, &&yy1129,
- &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129,
- &&yy1129, &&yy1129, &&yy1129, &&yy1116, &&yy1129, &&yy1129, &&yy1129, &&yy1129,
- &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129,
- &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy837, &&yy1129, &&yy1129, &&yy1129,
- &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129,
- &&yy1129, &&yy1129, &&yy1129, &&yy1116, &&yy1129, &&yy1129, &&yy1129, &&yy1129,
- &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129,
- &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129,
- &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129,
- &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129,
- &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129,
- &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129,
- &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129,
- &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129,
- &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129,
- &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129,
- &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129,
- &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129,
- &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129,
- &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129,
- &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129,
- &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129,
- &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129, &&yy1129
- };
- goto *yytarget[yych];
- }
-yy1129:
- {
- timelib_sll i;
- int behavior = 0;
- DEBUG_OUTPUT("relativetextweek");
- TIMELIB_INIT;
- TIMELIB_HAVE_RELATIVE();
-
- while(*ptr) {
- i = timelib_get_relative_text((char **) &ptr, &behavior);
- timelib_eat_spaces((char **) &ptr);
- timelib_set_relative((char **) &ptr, i, behavior, s);
- s->time->relative.weekday_behavior = 2;
-
- /* to handle the format weekday + last/this/next week */
- if (s->time->relative.have_weekday_relative == 0) {
- TIMELIB_HAVE_WEEKDAY_RELATIVE();
- s->time->relative.weekday = 1;
- }
- }
- TIMELIB_DEINIT;
- return TIMELIB_RELATIVE;
- }
-yy1130:
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy1171;
- if (yych == 'o') goto yy1171;
- goto yy56;
-yy1131:
- ++YYCURSOR;
-yy1132:
- {
- DEBUG_OUTPUT("yesterday");
- TIMELIB_INIT;
- TIMELIB_HAVE_RELATIVE();
- TIMELIB_UNHAVE_TIME();
-
- s->time->relative.d = -1;
- TIMELIB_DEINIT;
- return TIMELIB_RELATIVE;
- }
-yy1133:
- yyaccept = 32;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yybm[0+yych] & 128) {
- goto yy924;
- }
- if (yych <= '.') {
- if (yych == '-') goto yy276;
- goto yy1132;
- } else {
- if (yych <= '/') goto yy276;
- if (yych == '_') goto yy276;
- goto yy1132;
- }
-yy1134:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy1142;
- goto yy56;
-yy1135:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '1') goto yy1142;
- goto yy56;
-yy1136:
- yych = *++YYCURSOR;
- if (yych == ':') goto yy1172;
- goto yy56;
-yy1137:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy1139;
- if (yych <= ':') goto yy1173;
- goto yy56;
-yy1138:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '4') goto yy1139;
- if (yych == ':') goto yy1173;
- goto yy56;
-yy1139:
- yych = *++YYCURSOR;
- if (yych == ':') goto yy1173;
- goto yy56;
-yy1140:
- yyaccept = 15;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'T') goto yy1070;
- goto yy544;
-yy1141:
- yyaccept = 26;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1174, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1071, &&yy1011,
- &&yy1011, &&yy1011, &&yy1071, &&yy1072, &&yy1073, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011
- };
- goto *yytarget[yych];
- }
-yy1142:
- yych = *++YYCURSOR;
- goto yy1011;
-yy1143:
- yyaccept = 26;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1142,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1076, &&yy1011,
- &&yy1011, &&yy1011, &&yy1076, &&yy1077, &&yy1078, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011,
- &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011, &&yy1011
- };
- goto *yytarget[yych];
- }
-yy1144:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '5') goto yy1175;
- if (yych <= '9') goto yy1146;
- if (yych <= ':') goto yy1176;
- goto yy56;
-yy1145:
- yych = *++YYCURSOR;
- if (yych <= '5') {
- if (yych <= '/') goto yy56;
- if (yych <= '4') goto yy1175;
- goto yy1177;
- } else {
- if (yych == ':') goto yy1176;
- goto yy56;
- }
-yy1146:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '5') goto yy1177;
- if (yych == ':') goto yy1176;
- goto yy56;
-yy1147:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '5') goto yy1178;
- if (yych <= '9') goto yy1149;
- goto yy56;
-yy1148:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '4') goto yy1178;
- if (yych <= '5') goto yy1177;
- goto yy56;
-yy1149:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '5') goto yy1177;
- goto yy56;
-yy1150:
- yych = *++YYCURSOR;
- if (yych == ' ') goto yy1179;
- goto yy56;
-yy1151:
- yych = *++YYCURSOR;
- if (yych == 'Y') goto yy767;
- if (yych == 'y') goto yy767;
- goto yy56;
-yy1152:
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy767;
- if (yych == 'r') goto yy767;
- goto yy56;
-yy1153:
- yych = *++YYCURSOR;
- if (yych <= 'L') {
- if (yych == '.') goto yy1180;
- goto yy56;
- } else {
- if (yych <= 'M') goto yy1181;
- if (yych == 'm') goto yy1181;
- goto yy56;
- }
-yy1154:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy1035;
- if (yych <= '9') goto yy1182;
- goto yy1035;
-yy1155:
- yych = *++YYCURSOR;
- if (yych <= 'L') {
- if (yych == '.') goto yy1183;
- goto yy56;
- } else {
- if (yych <= 'M') goto yy1184;
- if (yych == 'm') goto yy1184;
- goto yy56;
- }
-yy1156:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy837, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy1116, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy837, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy1116, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy1157:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy673;
- if (yych <= '9') goto yy1159;
- if (yych <= ':') goto yy1185;
- goto yy673;
-yy1158:
- yych = *++YYCURSOR;
- if (yych <= '5') {
- if (yych <= '/') goto yy673;
- if (yych >= '5') goto yy1186;
- } else {
- if (yych <= '9') goto yy941;
- if (yych <= ':') goto yy1185;
- goto yy673;
- }
-yy1159:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy673;
- if (yych <= '5') goto yy1186;
- if (yych <= '9') goto yy941;
- if (yych <= ':') goto yy1185;
- goto yy673;
-yy1160:
- yych = *++YYCURSOR;
- if (yych <= '@') {
- if (yych == ')') goto yy941;
- goto yy673;
- } else {
- if (yych <= 'Z') goto yy1187;
- if (yych <= '`') goto yy673;
- if (yych <= 'z') goto yy1187;
- goto yy673;
- }
-yy1161:
- yyaccept = 17;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy941, &&yy673, &&yy673, &&yy673, &&yy1188, &&yy673, &&yy1188,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187,
- &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187,
- &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187,
- &&yy1187, &&yy1187, &&yy1187, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1188,
- &&yy673, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189,
- &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189,
- &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189,
- &&yy1189, &&yy1189, &&yy1189, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673
- };
- goto *yytarget[yych];
- }
-yy1162:
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy941, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187,
- &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187,
- &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1190, &&yy1187, &&yy1187, &&yy1187,
- &&yy1187, &&yy1187, &&yy1187, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187,
- &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187,
- &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187,
- &&yy1187, &&yy1187, &&yy1187, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673
- };
- goto *yytarget[yych];
- }
-yy1163:
- yyaccept = 17;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy1113, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy1113, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy1113, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy941, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1115, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187,
- &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187,
- &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187,
- &&yy1187, &&yy1187, &&yy1187, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187,
- &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187,
- &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187,
- &&yy1187, &&yy1187, &&yy1187, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673
- };
- goto *yytarget[yych];
- }
-yy1164:
- yyaccept = 17;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy1113, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy1113, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy1113, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy941, &&yy673, &&yy673, &&yy673, &&yy1188, &&yy1115, &&yy1188,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187,
- &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187,
- &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187, &&yy1187,
- &&yy1187, &&yy1187, &&yy1187, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1188,
- &&yy673, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189,
- &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189,
- &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189, &&yy1189,
- &&yy1189, &&yy1189, &&yy1189, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673
- };
- goto *yytarget[yych];
- }
-yy1165:
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy1166;
- if (yych != 'n') goto yy56;
-yy1166:
- yych = *++YYCURSOR;
- if (yych == 'I') goto yy1191;
- if (yych == 'i') goto yy1191;
- goto yy56;
-yy1167:
- yych = *++YYCURSOR;
- if (yych == 'F') goto yy1192;
- if (yych == 'f') goto yy1192;
- goto yy56;
-yy1168:
- yych = *++YYCURSOR;
- if (yych == 'Y') goto yy1194;
- if (yych == 'y') goto yy1194;
- goto yy56;
-yy1169:
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy1045;
- if (yych == 'e') goto yy1045;
- goto yy56;
-yy1170:
- yych = *++YYCURSOR;
- if (yych == 'D') goto yy1045;
- if (yych == 'd') goto yy1045;
- goto yy56;
-yy1171:
- yych = *++YYCURSOR;
- if (yych == 'F') goto yy1195;
- if (yych == 'f') goto yy1195;
- goto yy56;
-yy1172:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '1') goto yy1197;
- if (yych <= '2') goto yy1198;
- goto yy56;
-yy1173:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '5') goto yy1199;
- if (yych <= '9') goto yy1200;
- goto yy56;
-yy1174:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '1') goto yy1201;
- if (yych <= '2') goto yy1202;
- if (yych <= '9') goto yy1139;
- goto yy56;
-yy1175:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '5') goto yy1203;
- if (yych <= '9') goto yy1204;
- if (yych >= ';') goto yy56;
-yy1176:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '5') goto yy1205;
- goto yy56;
-yy1177:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy1204;
- goto yy56;
-yy1178:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '5') goto yy1203;
- if (yych <= '9') goto yy1204;
- goto yy56;
-yy1179:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '1') goto yy1206;
- if (yych <= '2') goto yy1207;
- goto yy56;
-yy1180:
- yych = *++YYCURSOR;
- if (yych == 'M') goto yy1181;
- if (yych != 'm') goto yy56;
-yy1181:
- yych = *++YYCURSOR;
- if (yych <= 0x1F) {
- if (yych <= 0x00) goto yy1208;
- if (yych == '\t') goto yy1208;
- goto yy56;
- } else {
- if (yych <= ' ') goto yy1208;
- if (yych == '.') goto yy1210;
- goto yy56;
- }
-yy1182:
- yych = *++YYCURSOR;
- goto yy1035;
-yy1183:
- yych = *++YYCURSOR;
- if (yych == 'M') goto yy1184;
- if (yych != 'm') goto yy56;
-yy1184:
- yych = *++YYCURSOR;
- if (yych <= 0x1F) {
- if (yych <= 0x00) goto yy1211;
- if (yych == '\t') goto yy1211;
- goto yy56;
- } else {
- if (yych <= ' ') goto yy1211;
- if (yych == '.') goto yy1212;
- goto yy56;
- }
-yy1185:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy673;
- if (yych <= '5') goto yy1186;
- if (yych <= '9') goto yy941;
- goto yy673;
-yy1186:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy673;
- if (yych <= '9') goto yy941;
- goto yy673;
-yy1187:
- yych = *++YYCURSOR;
- if (yych <= '@') {
- if (yych == ')') goto yy941;
- goto yy673;
- } else {
- if (yych <= 'Z') goto yy1213;
- if (yych <= '`') goto yy673;
- if (yych <= 'z') goto yy1213;
- goto yy673;
- }
-yy1188:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- if (yych <= '@') goto yy56;
- if (yych <= 'Z') goto yy1214;
- if (yych <= '`') goto yy56;
- if (yych <= 'z') goto yy1214;
- goto yy56;
-yy1189:
- yyaccept = 17;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy941, &&yy673, &&yy673, &&yy673, &&yy1188, &&yy673, &&yy1188,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213,
- &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213,
- &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213,
- &&yy1213, &&yy1213, &&yy1213, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1188,
- &&yy673, &&yy1216, &&yy1216, &&yy1216, &&yy1216, &&yy1216, &&yy1216, &&yy1216,
- &&yy1216, &&yy1216, &&yy1216, &&yy1216, &&yy1216, &&yy1216, &&yy1216, &&yy1216,
- &&yy1216, &&yy1216, &&yy1216, &&yy1216, &&yy1216, &&yy1216, &&yy1216, &&yy1216,
- &&yy1216, &&yy1216, &&yy1216, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673
- };
- goto *yytarget[yych];
- }
-yy1190:
- yyaccept = 17;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy941, &&yy673, &&yy1105, &&yy673, &&yy1105, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213,
- &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213,
- &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213,
- &&yy1213, &&yy1213, &&yy1213, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213,
- &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213,
- &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213, &&yy1213,
- &&yy1213, &&yy1213, &&yy1213, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673
- };
- goto *yytarget[yych];
- }
-yy1191:
- yych = *++YYCURSOR;
- if (yych == 'G') goto yy1217;
- if (yych == 'g') goto yy1217;
- goto yy56;
-yy1192:
- ++YYCURSOR;
- {
- timelib_sll i;
- int behavior = 0;
- DEBUG_OUTPUT("weekdayof");
- TIMELIB_INIT;
- TIMELIB_HAVE_RELATIVE();
- TIMELIB_HAVE_SPECIAL_RELATIVE();
-
- i = timelib_get_relative_text((char **) &ptr, &behavior);
- timelib_eat_spaces((char **) &ptr);
- if (i > 0) { /* first, second... etc */
- s->time->relative.special.type = TIMELIB_SPECIAL_DAY_OF_WEEK_IN_MONTH;
- timelib_set_relative((char **) &ptr, i, 1, s);
- } else { /* last */
- s->time->relative.special.type = TIMELIB_SPECIAL_LAST_DAY_OF_WEEK_IN_MONTH;
- timelib_set_relative((char **) &ptr, i, behavior, s);
- }
- TIMELIB_DEINIT;
- return TIMELIB_WEEK_DAY_OF_MONTH;
- }
-yy1194:
- yyaccept = 28;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '\t') goto yy1118;
- if (yych == ' ') goto yy1118;
- goto yy1046;
-yy1195:
- ++YYCURSOR;
- {
- DEBUG_OUTPUT("firstdayof | lastdayof");
- TIMELIB_INIT;
- TIMELIB_HAVE_RELATIVE();
-
- /* skip "last day of" or "first day of" */
- if (*ptr == 'l' || *ptr == 'L') {
- s->time->relative.first_last_day_of = 2;
- } else {
- s->time->relative.first_last_day_of = 1;
- }
-
- TIMELIB_DEINIT;
- return TIMELIB_LF_DAY_OF_MONTH;
- }
-yy1197:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy1218;
- goto yy56;
-yy1198:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '4') goto yy1218;
- goto yy56;
-yy1199:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy1200;
- if (yych <= ':') goto yy1219;
- goto yy56;
-yy1200:
- yych = *++YYCURSOR;
- if (yych == ':') goto yy1219;
- goto yy56;
-yy1201:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy1220;
- if (yych <= ':') goto yy1173;
- goto yy56;
-yy1202:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '4') goto yy1220;
- if (yych == ':') goto yy1173;
- goto yy56;
-yy1203:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '5') goto yy1219;
- if (yych <= '6') goto yy1221;
- if (yych >= ':') goto yy56;
-yy1204:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '5') goto yy1222;
- if (yych <= '6') goto yy1223;
- goto yy56;
-yy1205:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy1224;
- goto yy56;
-yy1206:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy1225;
- goto yy56;
-yy1207:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '4') goto yy1225;
- goto yy56;
-yy1208:
- ++YYCURSOR;
- {
- DEBUG_OUTPUT("mssqltime");
- TIMELIB_INIT;
- TIMELIB_HAVE_TIME();
- s->time->h = timelib_get_nr((char **) &ptr, 2);
- s->time->i = timelib_get_nr((char **) &ptr, 2);
- if (*ptr == ':' || *ptr == '.') {
- s->time->s = timelib_get_nr((char **) &ptr, 2);
-
- if (*ptr == ':' || *ptr == '.') {
- s->time->f = timelib_get_frac_nr((char **) &ptr, 8);
- }
- }
- timelib_eat_spaces((char **) &ptr);
- s->time->h += timelib_meridian((char **) &ptr, s->time->h);
- TIMELIB_DEINIT;
- return TIMELIB_TIME24_WITH_ZONE;
- }
-yy1210:
- yych = *++YYCURSOR;
- if (yych <= '\t') {
- if (yych <= 0x00) goto yy1208;
- if (yych <= 0x08) goto yy56;
- goto yy1208;
- } else {
- if (yych == ' ') goto yy1208;
- goto yy56;
- }
-yy1211:
- yych = *++YYCURSOR;
- goto yy1097;
-yy1212:
- yych = *++YYCURSOR;
- if (yych <= '\t') {
- if (yych <= 0x00) goto yy1211;
- if (yych <= 0x08) goto yy56;
- goto yy1211;
- } else {
- if (yych == ' ') goto yy1211;
- goto yy56;
- }
-yy1213:
- yych = *++YYCURSOR;
- if (yych <= '@') {
- if (yych == ')') goto yy941;
- goto yy673;
- } else {
- if (yych <= 'Z') goto yy1226;
- if (yych <= '`') goto yy673;
- if (yych <= 'z') goto yy1226;
- goto yy673;
- }
-yy1214:
- yyaccept = 17;
- YYMARKER = ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1188, &&yy673, &&yy1188,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214,
- &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214,
- &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214,
- &&yy1214, &&yy1214, &&yy1214, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1188,
- &&yy673, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214,
- &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214,
- &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214, &&yy1214,
- &&yy1214, &&yy1214, &&yy1214, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673
- };
- goto *yytarget[yych];
- }
-yy1216:
- yyaccept = 17;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy941, &&yy673, &&yy673, &&yy673, &&yy1188, &&yy673, &&yy1188,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy1226, &&yy1226, &&yy1226, &&yy1226, &&yy1226, &&yy1226, &&yy1226,
- &&yy1226, &&yy1226, &&yy1226, &&yy1226, &&yy1226, &&yy1226, &&yy1226, &&yy1226,
- &&yy1226, &&yy1226, &&yy1226, &&yy1226, &&yy1226, &&yy1226, &&yy1226, &&yy1226,
- &&yy1226, &&yy1226, &&yy1226, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1188,
- &&yy673, &&yy1227, &&yy1227, &&yy1227, &&yy1227, &&yy1227, &&yy1227, &&yy1227,
- &&yy1227, &&yy1227, &&yy1227, &&yy1227, &&yy1227, &&yy1227, &&yy1227, &&yy1227,
- &&yy1227, &&yy1227, &&yy1227, &&yy1227, &&yy1227, &&yy1227, &&yy1227, &&yy1227,
- &&yy1227, &&yy1227, &&yy1227, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673
- };
- goto *yytarget[yych];
- }
-yy1217:
- yych = *++YYCURSOR;
- if (yych == 'H') goto yy1228;
- if (yych == 'h') goto yy1228;
- goto yy56;
-yy1218:
- yych = *++YYCURSOR;
- if (yych == ':') goto yy1229;
- goto yy56;
-yy1219:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '5') goto yy1230;
- if (yych <= '6') goto yy1232;
- if (yych <= '9') goto yy1233;
- goto yy56;
-yy1220:
- yych = *++YYCURSOR;
- if (yych == ':') goto yy1234;
- goto yy56;
-yy1221:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '0') goto yy1230;
- if (yych <= '5') goto yy1222;
- if (yych <= '6') goto yy1223;
- goto yy56;
-yy1222:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy1233;
- goto yy56;
-yy1223:
- yych = *++YYCURSOR;
- if (yych == '0') goto yy1233;
- goto yy56;
-yy1224:
- yych = *++YYCURSOR;
- if (yych == ':') goto yy1204;
- goto yy56;
-yy1225:
- yych = *++YYCURSOR;
- if (yych == ':') goto yy1176;
- goto yy56;
-yy1226:
- yych = *++YYCURSOR;
- if (yych <= '@') {
- if (yych == ')') goto yy941;
- goto yy673;
- } else {
- if (yych <= 'Z') goto yy1235;
- if (yych <= '`') goto yy673;
- if (yych <= 'z') goto yy1235;
- goto yy673;
- }
-yy1227:
- yyaccept = 17;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy941, &&yy673, &&yy673, &&yy673, &&yy1188, &&yy673, &&yy1188,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy1235, &&yy1235, &&yy1235, &&yy1235, &&yy1235, &&yy1235, &&yy1235,
- &&yy1235, &&yy1235, &&yy1235, &&yy1235, &&yy1235, &&yy1235, &&yy1235, &&yy1235,
- &&yy1235, &&yy1235, &&yy1235, &&yy1235, &&yy1235, &&yy1235, &&yy1235, &&yy1235,
- &&yy1235, &&yy1235, &&yy1235, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1188,
- &&yy673, &&yy1236, &&yy1236, &&yy1236, &&yy1236, &&yy1236, &&yy1236, &&yy1236,
- &&yy1236, &&yy1236, &&yy1236, &&yy1236, &&yy1236, &&yy1236, &&yy1236, &&yy1236,
- &&yy1236, &&yy1236, &&yy1236, &&yy1236, &&yy1236, &&yy1236, &&yy1236, &&yy1236,
- &&yy1236, &&yy1236, &&yy1236, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673
- };
- goto *yytarget[yych];
- }
-yy1228:
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy1045;
- if (yych == 't') goto yy1045;
- goto yy56;
-yy1229:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '5') goto yy1237;
- goto yy56;
-yy1230:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy1231;
- if (yych <= '9') goto yy1233;
-yy1231:
- {
- int tz_not_found;
- DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif");
- TIMELIB_INIT;
- TIMELIB_HAVE_TIME();
- TIMELIB_HAVE_DATE();
- s->time->y = timelib_get_nr((char **) &ptr, 4);
- s->time->m = timelib_get_nr((char **) &ptr, 2);
- s->time->d = timelib_get_nr((char **) &ptr, 2);
- s->time->h = timelib_get_nr((char **) &ptr, 2);
- s->time->i = timelib_get_nr((char **) &ptr, 2);
- s->time->s = timelib_get_nr((char **) &ptr, 2);
- if (*ptr == '.') {
- s->time->f = timelib_get_frac_nr((char **) &ptr, 9);
- if (*ptr) { /* timezone is optional */
- s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
- if (tz_not_found) {
- add_error(s, "The timezone could not be found in the database");
- }
- }
- }
- TIMELIB_DEINIT;
- return TIMELIB_XMLRPC_SOAP;
- }
-yy1232:
- yych = *++YYCURSOR;
- if (yych != '0') goto yy1231;
-yy1233:
- yych = *++YYCURSOR;
- goto yy1231;
-yy1234:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '5') goto yy1238;
- if (yych <= '9') goto yy1200;
- goto yy56;
-yy1235:
- yych = *++YYCURSOR;
- if (yych == ')') goto yy941;
- goto yy673;
-yy1236:
- yyaccept = 17;
- yych = *(YYMARKER = ++YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy941, &&yy673, &&yy673, &&yy673, &&yy1188, &&yy673, &&yy1188,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy1188,
- &&yy673, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239,
- &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239,
- &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239,
- &&yy1239, &&yy1239, &&yy1239, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673,
- &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673, &&yy673
- };
- goto *yytarget[yych];
- }
-yy1237:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy1241;
- goto yy56;
-yy1238:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy1242;
- if (yych <= ':') goto yy1219;
- goto yy56;
-yy1239:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1188, &&yy56, &&yy1188,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1188,
- &&yy56, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239,
- &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239,
- &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239, &&yy1239,
- &&yy1239, &&yy1239, &&yy1239, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy1241:
- yych = *++YYCURSOR;
- if (yych == ':') goto yy1243;
- goto yy56;
-yy1242:
- yych = *++YYCURSOR;
- if (yych == ':') goto yy1244;
- goto yy56;
-yy1243:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '5') goto yy1245;
- if (yych <= '6') goto yy1246;
- goto yy56;
-yy1244:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '5') goto yy1247;
- if (yych <= '6') goto yy1248;
- if (yych <= '9') goto yy1233;
- goto yy56;
-yy1245:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy1249;
- goto yy56;
-yy1246:
- yych = *++YYCURSOR;
- if (yych == '0') goto yy1249;
- goto yy56;
-yy1247:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy1231;
- if (yych <= '9') goto yy1250;
- goto yy1231;
-yy1248:
- yych = *++YYCURSOR;
- if (yych == '0') goto yy1250;
- goto yy1231;
-yy1249:
- yych = *++YYCURSOR;
- if (yych == '\t') goto yy1251;
- if (yych == ' ') goto yy1251;
- goto yy56;
-yy1250:
- yyaccept = 33;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '.') goto yy1253;
- goto yy1231;
-yy1251:
- ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
- yych = *YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy1251, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy1251, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy1254, &&yy56, &&yy1254, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy1255,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
- &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56
- };
- goto *yytarget[yych];
- }
-yy1253:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '9') goto yy1256;
- goto yy56;
-yy1254:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '1') goto yy1258;
- if (yych <= '2') goto yy1260;
- if (yych <= '9') goto yy1261;
- goto yy56;
-yy1255:
- yych = *++YYCURSOR;
- if (yych == 'M') goto yy1262;
- goto yy56;
-yy1256:
- yyaccept = 33;
- YYMARKER = ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
- yych = *YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231,
- &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231,
- &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231,
- &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231,
- &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231,
- &&yy1231, &&yy1231, &&yy1231, &&yy1263, &&yy1231, &&yy1263, &&yy1231, &&yy1231,
- &&yy1256, &&yy1256, &&yy1256, &&yy1256, &&yy1256, &&yy1256, &&yy1256, &&yy1256,
- &&yy1256, &&yy1256, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231,
- &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1264,
- &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231,
- &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231,
- &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231,
- &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231,
- &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231,
- &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231,
- &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231,
- &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231,
- &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231,
- &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231,
- &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231,
- &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231,
- &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231,
- &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231,
- &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231,
- &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231,
- &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231,
- &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231,
- &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231,
- &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231,
- &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231,
- &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231,
- &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231, &&yy1231
- };
- goto *yytarget[yych];
- }
-yy1258:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '/') goto yy1259;
- if (yych <= '9') goto yy1261;
- if (yych <= ':') goto yy1265;
-yy1259:
- {
- int tz_not_found;
- DEBUG_OUTPUT("clf");
- TIMELIB_INIT;
- TIMELIB_HAVE_TIME();
- TIMELIB_HAVE_DATE();
- s->time->d = timelib_get_nr((char **) &ptr, 2);
- s->time->m = timelib_get_month((char **) &ptr);
- s->time->y = timelib_get_nr((char **) &ptr, 4);
- s->time->h = timelib_get_nr((char **) &ptr, 2);
- s->time->i = timelib_get_nr((char **) &ptr, 2);
- s->time->s = timelib_get_nr((char **) &ptr, 2);
- s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
- if (tz_not_found) {
- add_error(s, "The timezone could not be found in the database");
- }
- TIMELIB_DEINIT;
- return TIMELIB_CLF;
- }
-yy1260:
- yych = *++YYCURSOR;
- if (yych <= '5') {
- if (yych <= '/') goto yy1259;
- if (yych >= '5') goto yy1266;
- } else {
- if (yych <= '9') goto yy1267;
- if (yych <= ':') goto yy1265;
- goto yy1259;
- }
-yy1261:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy1259;
- if (yych <= '5') goto yy1266;
- if (yych <= '9') goto yy1267;
- if (yych <= ':') goto yy1265;
- goto yy1259;
-yy1262:
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy1268;
- goto yy56;
-yy1263:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy56;
- if (yych <= '1') goto yy1269;
- if (yych <= '2') goto yy1270;
- if (yych <= '9') goto yy1271;
- goto yy56;
-yy1264:
- yych = *++YYCURSOR;
- if (yych == 'M') goto yy1272;
- goto yy56;
-yy1265:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy1259;
- if (yych <= '5') goto yy1266;
- if (yych <= '9') goto yy1267;
- goto yy1259;
-yy1266:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy1259;
- if (yych >= ':') goto yy1259;
-yy1267:
- yych = *++YYCURSOR;
- goto yy1259;
-yy1268:
- yych = *++YYCURSOR;
- if (yych == '+') goto yy1254;
- if (yych == '-') goto yy1254;
- goto yy56;
-yy1269:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy1231;
- if (yych <= '9') goto yy1271;
- if (yych <= ':') goto yy1273;
- goto yy1231;
-yy1270:
- yych = *++YYCURSOR;
- if (yych <= '5') {
- if (yych <= '/') goto yy1231;
- if (yych >= '5') goto yy1230;
- } else {
- if (yych <= '9') goto yy1233;
- if (yych <= ':') goto yy1273;
- goto yy1231;
- }
-yy1271:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy1231;
- if (yych <= '5') goto yy1230;
- if (yych <= '9') goto yy1233;
- if (yych <= ':') goto yy1273;
- goto yy1231;
-yy1272:
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy1274;
- goto yy56;
-yy1273:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy1231;
- if (yych <= '5') goto yy1230;
- if (yych <= '9') goto yy1233;
- goto yy1231;
-yy1274:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '+') goto yy1263;
- if (yych == '-') goto yy1263;
- goto yy56;
-}
-
-}
-
-#define YYMAXFILL 31
-
-timelib_time* timelib_strtotime(char *s, size_t len, struct timelib_error_container **errors, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_get_wrapper)
-{
- Scanner in;
- int t;
- char *e = s + len - 1;
-
- memset(&in, 0, sizeof(in));
- in.errors = malloc(sizeof(struct timelib_error_container));
- in.errors->warning_count = 0;
- in.errors->warning_messages = NULL;
- in.errors->error_count = 0;
- in.errors->error_messages = NULL;
-
- if (len > 0) {
- while (isspace(*s) && s < e) {
- s++;
- }
- while (isspace(*e) && e > s) {
- e--;
- }
- }
- if (e - s < 0) {
- in.time = timelib_time_ctor();
- add_error(&in, "Empty string");
- if (errors) {
- *errors = in.errors;
- } else {
- timelib_error_container_dtor(in.errors);
- }
- in.time->y = in.time->d = in.time->m = in.time->h = in.time->i = in.time->s = in.time->f = in.time->dst = in.time->z = TIMELIB_UNSET;
- in.time->is_localtime = in.time->zone_type = 0;
- return in.time;
- }
- e++;
-
- in.str = malloc((e - s) + YYMAXFILL);
- memset(in.str, 0, (e - s) + YYMAXFILL);
- memcpy(in.str, s, (e - s));
- in.lim = in.str + (e - s) + YYMAXFILL;
- in.cur = in.str;
- in.time = timelib_time_ctor();
- in.time->y = TIMELIB_UNSET;
- in.time->d = TIMELIB_UNSET;
- in.time->m = TIMELIB_UNSET;
- in.time->h = TIMELIB_UNSET;
- in.time->i = TIMELIB_UNSET;
- in.time->s = TIMELIB_UNSET;
- in.time->f = TIMELIB_UNSET;
- in.time->z = TIMELIB_UNSET;
- in.time->dst = TIMELIB_UNSET;
- in.tzdb = tzdb;
- in.time->is_localtime = 0;
- in.time->zone_type = 0;
- in.time->relative.days = TIMELIB_UNSET;
-
- do {
- t = scan(&in, tz_get_wrapper);
-#ifdef DEBUG_PARSER
- printf("%d\n", t);
-#endif
- } while(t != EOI);
-
- /* do funky checking whether the parsed time was valid time */
- if (in.time->have_time && !timelib_valid_time( in.time->h, in.time->i, in.time->s)) {
- add_warning(&in, "The parsed time was invalid");
- }
- /* do funky checking whether the parsed date was valid date */
- if (in.time->have_date && !timelib_valid_date( in.time->y, in.time->m, in.time->d)) {
- add_warning(&in, "The parsed date was invalid");
- }
-
- free(in.str);
- if (errors) {
- *errors = in.errors;
- } else {
- timelib_error_container_dtor(in.errors);
- }
- return in.time;
-}
-
-#define TIMELIB_CHECK_NUMBER \
- if (strchr("0123456789", *ptr) == NULL) \
- { \
- add_pbf_error(s, "Unexpected data found.", string, begin); \
- }
-
-static void timelib_time_reset_fields(timelib_time *time)
-{
- assert(time != NULL);
-
- time->y = 1970;
- time->m = 1;
- time->d = 1;
- time->h = time->i = time->s = 0;
- time->f = 0.0;
- time->tz_info = NULL;
-}
-
-static void timelib_time_reset_unset_fields(timelib_time *time)
-{
- assert(time != NULL);
-
- if (time->y == TIMELIB_UNSET ) time->y = 1970;
- if (time->m == TIMELIB_UNSET ) time->m = 1;
- if (time->d == TIMELIB_UNSET ) time->d = 1;
- if (time->h == TIMELIB_UNSET ) time->h = 0;
- if (time->i == TIMELIB_UNSET ) time->i = 0;
- if (time->s == TIMELIB_UNSET ) time->s = 0;
- if (time->f == TIMELIB_UNSET ) time->f = 0.0;
-}
-
-timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, timelib_error_container **errors, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_get_wrapper)
-{
- char *fptr = format;
- char *ptr = string;
- char *begin;
- timelib_sll tmp;
- Scanner in;
- Scanner *s = &in;
- int allow_extra = 0;
-
- memset(&in, 0, sizeof(in));
- in.errors = malloc(sizeof(struct timelib_error_container));
- in.errors->warning_count = 0;
- in.errors->warning_messages = NULL;
- in.errors->error_count = 0;
- in.errors->error_messages = NULL;
-
- in.time = timelib_time_ctor();
- in.time->y = TIMELIB_UNSET;
- in.time->d = TIMELIB_UNSET;
- in.time->m = TIMELIB_UNSET;
- in.time->h = TIMELIB_UNSET;
- in.time->i = TIMELIB_UNSET;
- in.time->s = TIMELIB_UNSET;
- in.time->f = TIMELIB_UNSET;
- in.time->z = TIMELIB_UNSET;
- in.time->dst = TIMELIB_UNSET;
- in.tzdb = tzdb;
- in.time->is_localtime = 0;
- in.time->zone_type = 0;
-
- /* Loop over the format string */
- while (*fptr && *ptr) {
- begin = ptr;
- switch (*fptr) {
- case 'D': /* three letter day */
- case 'l': /* full day */
- {
- const timelib_relunit* tmprel = 0;
-
- tmprel = timelib_lookup_relunit((char **) &ptr);
- if (!tmprel) {
- add_pbf_error(s, "A textual day could not be found", string, begin);
- break;
- } else {
- in.time->have_relative = 1;
- in.time->relative.have_weekday_relative = 1;
- in.time->relative.weekday = tmprel->multiplier;
- in.time->relative.weekday_behavior = 1;
- }
- }
- break;
- case 'd': /* two digit day, with leading zero */
- case 'j': /* two digit day, without leading zero */
- TIMELIB_CHECK_NUMBER;
- if ((s->time->d = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) {
- add_pbf_error(s, "A two digit day could not be found", string, begin);
- }
- break;
- case 'S': /* day suffix, ignored, nor checked */
- timelib_skip_day_suffix((char **) &ptr);
- break;
- case 'z': /* day of year - resets month (0 based) - also initializes everything else to !TIMELIB_UNSET */
- TIMELIB_CHECK_NUMBER;
- if ((tmp = timelib_get_nr((char **) &ptr, 3)) == TIMELIB_UNSET) {
- add_pbf_error(s, "A three digit day-of-year could not be found", string, begin);
- } else {
- s->time->m = 1;
- s->time->d = tmp + 1;
- timelib_do_normalize(s->time);
- }
- break;
-
- case 'm': /* two digit month, with leading zero */
- case 'n': /* two digit month, without leading zero */
- TIMELIB_CHECK_NUMBER;
- if ((s->time->m = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) {
- add_pbf_error(s, "A two digit month could not be found", string, begin);
- }
- break;
- case 'M': /* three letter month */
- case 'F': /* full month */
- tmp = timelib_lookup_month((char **) &ptr);
- if (!tmp) {
- add_pbf_error(s, "A textual month could not be found", string, begin);
- } else {
- s->time->m = tmp;
- }
- break;
- case 'y': /* two digit year */
- {
- int length = 0;
- TIMELIB_CHECK_NUMBER;
- if ((s->time->y = timelib_get_nr_ex((char **) &ptr, 2, &length)) == TIMELIB_UNSET) {
- add_pbf_error(s, "A two digit year could not be found", string, begin);
- }
- TIMELIB_PROCESS_YEAR(s->time->y, length);
- }
- break;
- case 'Y': /* four digit year */
- TIMELIB_CHECK_NUMBER;
- if ((s->time->y = timelib_get_nr((char **) &ptr, 4)) == TIMELIB_UNSET) {
- add_pbf_error(s, "A four digit year could not be found", string, begin);
- }
- break;
- case 'g': /* two digit hour, with leading zero */
- case 'h': /* two digit hour, without leading zero */
- TIMELIB_CHECK_NUMBER;
- if ((s->time->h = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) {
- add_pbf_error(s, "A two digit hour could not be found", string, begin);
- }
- if (s->time->h > 12) {
- add_pbf_error(s, "Hour can not be higher than 12", string, begin);
- }
- break;
- case 'G': /* two digit hour, with leading zero */
- case 'H': /* two digit hour, without leading zero */
- TIMELIB_CHECK_NUMBER;
- if ((s->time->h = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) {
- add_pbf_error(s, "A two digit hour could not be found", string, begin);
- }
- break;
- case 'a': /* am/pm/a.m./p.m. */
- case 'A': /* AM/PM/A.M./P.M. */
- if (s->time->h == TIMELIB_UNSET) {
- add_pbf_error(s, "Meridian can only come after an hour has been found", string, begin);
- } else if ((tmp = timelib_meridian_with_check((char **) &ptr, s->time->h)) == TIMELIB_UNSET) {
- add_pbf_error(s, "A meridian could not be found", string, begin);
- } else {
- s->time->h += tmp;
- }
- break;
- case 'i': /* two digit minute, with leading zero */
- {
- int length;
- timelib_sll min;
-
- TIMELIB_CHECK_NUMBER;
- min = timelib_get_nr_ex((char **) &ptr, 2, &length);
- if (min == TIMELIB_UNSET || length != 2) {
- add_pbf_error(s, "A two digit minute could not be found", string, begin);
- } else {
- s->time->i = min;
- }
- }
- break;
- case 's': /* two digit second, with leading zero */
- {
- int length;
- timelib_sll sec;
-
- TIMELIB_CHECK_NUMBER;
- sec = timelib_get_nr_ex((char **) &ptr, 2, &length);
- if (sec == TIMELIB_UNSET || length != 2) {
- add_pbf_error(s, "A two digit second could not be found", string, begin);
- } else {
- s->time->s = sec;
- }
- }
- break;
- case 'u': /* up to six digit millisecond */
- {
- double f;
- char *tptr;
-
- TIMELIB_CHECK_NUMBER;
- tptr = ptr;
- if ((f = timelib_get_nr((char **) &ptr, 6)) == TIMELIB_UNSET || (ptr - tptr < 1)) {
- add_pbf_error(s, "A six digit millisecond could not be found", string, begin);
- } else {
- s->time->f = (f / pow(10, (ptr - tptr)));
- }
- }
- break;
- case ' ': /* any sort of whitespace (' ' and \t) */
- timelib_eat_spaces((char **) &ptr);
- break;
- case 'U': /* epoch seconds */
- TIMELIB_CHECK_NUMBER;
- TIMELIB_HAVE_RELATIVE();
- tmp = timelib_get_unsigned_nr((char **) &ptr, 24);
- s->time->y = 1970;
- s->time->m = 1;
- s->time->d = 1;
- s->time->h = s->time->i = s->time->s = 0;
- s->time->f = 0.0;
- s->time->relative.s += tmp;
- s->time->is_localtime = 1;
- s->time->zone_type = TIMELIB_ZONETYPE_OFFSET;
- s->time->z = 0;
- s->time->dst = 0;
- break;
-
- case 'e': /* timezone */
- case 'P': /* timezone */
- case 'T': /* timezone */
- case 'O': /* timezone */
- {
- int tz_not_found;
- s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
- if (tz_not_found) {
- add_pbf_error(s, "The timezone could not be found in the database", string, begin);
- }
- }
- break;
-
- case '#': /* separation symbol */
- if (*ptr == ';' || *ptr == ':' || *ptr == '/' || *ptr == '.' || *ptr == ',' || *ptr == '-' || *ptr == '(' || *ptr == ')') {
- ++ptr;
- } else {
- add_pbf_error(s, "The separation symbol ([;:/.,-]) could not be found", string, begin);
- }
- break;
-
- case ';':
- case ':':
- case '/':
- case '.':
- case ',':
- case '-':
- case '(':
- case ')':
- if (*ptr == *fptr) {
- ++ptr;
- } else {
- add_pbf_error(s, "The separation symbol could not be found", string, begin);
- }
- break;
-
- case '!': /* reset all fields to default */
- timelib_time_reset_fields(s->time);
- break; /* break intentionally not missing */
-
- case '|': /* reset all fields to default when not set */
- timelib_time_reset_unset_fields(s->time);
- break; /* break intentionally not missing */
-
- case '?': /* random char */
- ++ptr;
- break;
-
- case '\\': /* escaped char */
- if(!fptr[1]) {
- add_pbf_error(s, "Escaped character expected", string, begin);
- break;
- }
- fptr++;
- if (*ptr == *fptr) {
- ++ptr;
- } else {
- add_pbf_error(s, "The escaped character could not be found", string, begin);
- }
- break;
-
- case '*': /* random chars until a separator or number ([ \t.,:;/-0123456789]) */
- timelib_eat_until_separator((char **) &ptr);
- break;
-
- case '+': /* allow extra chars in the format */
- allow_extra = 1;
- break;
-
- default:
- if (*fptr != *ptr) {
- add_pbf_error(s, "The format separator does not match", string, begin);
- }
- ptr++;
- }
- fptr++;
- }
- if (*ptr) {
- if (allow_extra) {
- add_pbf_warning(s, "Trailing data", string, ptr);
- } else {
- add_pbf_error(s, "Trailing data", string, ptr);
- }
- }
- /* ignore trailing +'s */
- while (*fptr == '+') {
- fptr++;
- }
- if (*fptr) {
- /* Trailing | and ! specifiers are valid. */
- int done = 0;
- while (*fptr && !done) {
- switch (*fptr++) {
- case '!': /* reset all fields to default */
- timelib_time_reset_fields(s->time);
- break;
-
- case '|': /* reset all fields to default when not set */
- timelib_time_reset_unset_fields(s->time);
- break;
-
- default:
- add_pbf_error(s, "Data missing", string, ptr);
- done = 1;
- }
- }
- }
-
- /* clean up a bit */
- if (s->time->h != TIMELIB_UNSET || s->time->i != TIMELIB_UNSET || s->time->s != TIMELIB_UNSET) {
- if (s->time->h == TIMELIB_UNSET ) {
- s->time->h = 0;
- }
- if (s->time->i == TIMELIB_UNSET ) {
- s->time->i = 0;
- }
- if (s->time->s == TIMELIB_UNSET ) {
- s->time->s = 0;
- }
- }
-
- /* do funky checking whether the parsed time was valid time */
- if (s->time->h != TIMELIB_UNSET && s->time->i != TIMELIB_UNSET &&
- s->time->s != TIMELIB_UNSET &&
- !timelib_valid_time( s->time->h, s->time->i, s->time->s)) {
- add_pbf_warning(s, "The parsed time was invalid", string, ptr);
- }
- /* do funky checking whether the parsed date was valid date */
- if (s->time->y != TIMELIB_UNSET && s->time->m != TIMELIB_UNSET &&
- s->time->d != TIMELIB_UNSET &&
- !timelib_valid_date( s->time->y, s->time->m, s->time->d)) {
- add_pbf_warning(s, "The parsed date was invalid", string, ptr);
- }
-
- if (errors) {
- *errors = in.errors;
- } else {
- timelib_error_container_dtor(in.errors);
- }
- return in.time;
-}
-
-void timelib_fill_holes(timelib_time *parsed, timelib_time *now, int options)
-{
- if (!(options & TIMELIB_OVERRIDE_TIME) && parsed->have_date && !parsed->have_time) {
- parsed->h = 0;
- parsed->i = 0;
- parsed->s = 0;
- parsed->f = 0;
- }
- if (parsed->y == TIMELIB_UNSET) parsed->y = now->y != TIMELIB_UNSET ? now->y : 0;
- if (parsed->d == TIMELIB_UNSET) parsed->d = now->d != TIMELIB_UNSET ? now->d : 0;
- if (parsed->m == TIMELIB_UNSET) parsed->m = now->m != TIMELIB_UNSET ? now->m : 0;
- if (parsed->h == TIMELIB_UNSET) parsed->h = now->h != TIMELIB_UNSET ? now->h : 0;
- if (parsed->i == TIMELIB_UNSET) parsed->i = now->i != TIMELIB_UNSET ? now->i : 0;
- if (parsed->s == TIMELIB_UNSET) parsed->s = now->s != TIMELIB_UNSET ? now->s : 0;
- if (parsed->f == TIMELIB_UNSET) parsed->f = now->f != TIMELIB_UNSET ? now->f : 0;
- if (parsed->z == TIMELIB_UNSET) parsed->z = now->z != TIMELIB_UNSET ? now->z : 0;
- if (parsed->dst == TIMELIB_UNSET) parsed->dst = now->dst != TIMELIB_UNSET ? now->dst : 0;
-
- if (!parsed->tz_abbr) {
- parsed->tz_abbr = now->tz_abbr ? strdup(now->tz_abbr) : NULL;
- }
- if (!parsed->tz_info) {
- parsed->tz_info = now->tz_info ? (!(options & TIMELIB_NO_CLONE) ? timelib_tzinfo_clone(now->tz_info) : now->tz_info) : NULL;
- }
- if (parsed->zone_type == 0 && now->zone_type != 0) {
- parsed->zone_type = now->zone_type;
-/* parsed->tz_abbr = now->tz_abbr ? strdup(now->tz_abbr) : NULL;
- parsed->tz_info = now->tz_info ? timelib_tzinfo_clone(now->tz_info) : NULL;
-*/ parsed->is_localtime = 1;
- }
-/* timelib_dump_date(parsed, 2);
- timelib_dump_date(now, 2);
-*/
-}
-
-char *timelib_timezone_id_from_abbr(const char *abbr, timelib_long gmtoffset, int isdst)
-{
- const timelib_tz_lookup_table *tp;
-
- tp = abbr_search(abbr, gmtoffset, isdst);
- if (tp) {
- return (tp->full_tz_name);
- } else {
- return NULL;
- }
-}
-
-const timelib_tz_lookup_table *timelib_timezone_abbreviations_list(void)
-{
- return timelib_timezone_lookup;
-}
-
-#ifdef DEBUG_PARSER_STUB
-int main(void)
-{
- timelib_time time = timelib_strtotime("May 12");
-
- printf ("%04d-%02d-%02d %02d:%02d:%02d.%-5d %+04d %1d",
- time.y, time.m, time.d, time.h, time.i, time.s, time.f, time.z, time.dst);
- if (time.have_relative) {
- printf ("%3dY %3dM %3dD / %3dH %3dM %3dS",
- time.relative.y, time.relative.m, time.relative.d, time.relative.h, time.relative.i, time.relative.s);
- }
- if (time.have_weekday_relative) {
- printf (" / %d", time.relative.weekday);
- }
- if (time.have_weeknr_day) {
- printf(" / %dW%d", time.relative.weeknr_day.weeknr, time.relative.weeknr_day.dayofweek);
- }
- return 0;
-}
-#endif
-
-/*
- * vim: syntax=c
- */
diff --git a/test/php20150211_parse_date_crlf.ig.re b/test/php20150211_parse_date_crlf.ig.re
deleted file mode 100644
index b8e38d90..00000000
--- a/test/php20150211_parse_date_crlf.ig.re
+++ /dev/null
@@ -1,2245 +0,0 @@
-/*
- +----------------------------------------------------------------------+
- | PHP Version 7 |
- +----------------------------------------------------------------------+
- | Copyright (c) 1997-2015 The PHP Group |
- +----------------------------------------------------------------------+
- | This source file is subject to version 3.01 of the PHP license, |
- | that is bundled with this package in the file LICENSE, and is |
- | available through the world-wide-web at the following url: |
- | http://www.php.net/license/3_01.txt |
- | If you did not receive a copy of the PHP license and are unable to |
- | obtain it through the world-wide-web, please send a note to |
- | license@php.net so we can mail you a copy immediately. |
- +----------------------------------------------------------------------+
- | Authors: Derick Rethans <derick@derickrethans.nl> |
- +----------------------------------------------------------------------+
- */
-
-/* $Id$ */
-
-#include "timelib.h"
-
-#include <stdio.h>
-#include <ctype.h>
-#include <math.h>
-#include <assert.h>
-
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-#ifdef HAVE_STRING_H
-#include <string.h>
-#else
-#include <strings.h>
-#endif
-
-#if defined(_MSC_VER)
-# define strtoll(s, f, b) _atoi64(s)
-#elif !defined(HAVE_STRTOLL)
-# if defined(HAVE_ATOLL)
-# define strtoll(s, f, b) atoll(s)
-# else
-# define strtoll(s, f, b) strtol(s, f, b)
-# endif
-#endif
-
-#define TIMELIB_UNSET -99999
-
-#define TIMELIB_SECOND 1
-#define TIMELIB_MINUTE 2
-#define TIMELIB_HOUR 3
-#define TIMELIB_DAY 4
-#define TIMELIB_MONTH 5
-#define TIMELIB_YEAR 6
-#define TIMELIB_WEEKDAY 7
-#define TIMELIB_SPECIAL 8
-
-#define EOI 257
-#define TIME 258
-#define DATE 259
-
-#define TIMELIB_XMLRPC_SOAP 260
-#define TIMELIB_TIME12 261
-#define TIMELIB_TIME24 262
-#define TIMELIB_GNU_NOCOLON 263
-#define TIMELIB_GNU_NOCOLON_TZ 264
-#define TIMELIB_ISO_NOCOLON 265
-
-#define TIMELIB_AMERICAN 266
-#define TIMELIB_ISO_DATE 267
-#define TIMELIB_DATE_FULL 268
-#define TIMELIB_DATE_TEXT 269
-#define TIMELIB_DATE_NOCOLON 270
-#define TIMELIB_PG_YEARDAY 271
-#define TIMELIB_PG_TEXT 272
-#define TIMELIB_PG_REVERSE 273
-#define TIMELIB_CLF 274
-#define TIMELIB_DATE_NO_DAY 275
-#define TIMELIB_SHORTDATE_WITH_TIME 276
-#define TIMELIB_DATE_FULL_POINTED 277
-#define TIMELIB_TIME24_WITH_ZONE 278
-#define TIMELIB_ISO_WEEK 279
-#define TIMELIB_LF_DAY_OF_MONTH 280
-#define TIMELIB_WEEK_DAY_OF_MONTH 281
-
-#define TIMELIB_TIMEZONE 300
-#define TIMELIB_AGO 301
-
-#define TIMELIB_RELATIVE 310
-
-#define TIMELIB_ERROR 999
-
-/* Some compilers like AIX, defines uchar in sys/types.h */
-#undef uchar
-typedef unsigned char uchar;
-
-#define BSIZE 8192
-
-#define YYCTYPE uchar
-#define YYCURSOR cursor
-#define YYLIMIT s->lim
-#define YYMARKER s->ptr
-#define YYFILL(n) return EOI;
-
-#define RET(i) {s->cur = cursor; return i;}
-
-#define timelib_string_free free
-
-#define TIMELIB_HAVE_TIME() { if (s->time->have_time) { add_error(s, "Double time specification"); timelib_string_free(str); return TIMELIB_ERROR; } else { s->time->have_time = 1; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; } }
-#define TIMELIB_UNHAVE_TIME() { s->time->have_time = 0; s->time->h = 0; s->time->i = 0; s->time->s = 0; s->time->f = 0; }
-#define TIMELIB_HAVE_DATE() { if (s->time->have_date) { add_error(s, "Double date specification"); timelib_string_free(str); return TIMELIB_ERROR; } else { s->time->have_date = 1; } }
-#define TIMELIB_UNHAVE_DATE() { s->time->have_date = 0; s->time->d = 0; s->time->m = 0; s->time->y = 0; }
-#define TIMELIB_HAVE_RELATIVE() { s->time->have_relative = 1; }
-#define TIMELIB_HAVE_WEEKDAY_RELATIVE() { s->time->have_relative = 1; s->time->relative.have_weekday_relative = 1; }
-#define TIMELIB_HAVE_SPECIAL_RELATIVE() { s->time->have_relative = 1; s->time->relative.have_special_relative = 1; }
-#define TIMELIB_HAVE_TZ() { s->cur = cursor; if (s->time->have_zone) { s->time->have_zone > 1 ? add_error(s, "Double timezone specification") : add_warning(s, "Double timezone specification"); timelib_string_free(str); s->time->have_zone++; return TIMELIB_ERROR; } else { s->time->have_zone++; } }
-
-#define TIMELIB_INIT s->cur = cursor; str = timelib_string(s); ptr = str
-#define TIMELIB_DEINIT timelib_string_free(str)
-#define TIMELIB_ADJUST_RELATIVE_WEEKDAY() if (in->time.have_weekday_relative && (in.rel.d > 0)) { in.rel.d -= 7; }
-
-#define TIMELIB_PROCESS_YEAR(x, l) { \
- if (((x) == TIMELIB_UNSET) || ((l) >= 4)) { \
- /* (x) = 0; */ \
- } else if ((x) < 100) { \
- if ((x) < 70) { \
- (x) += 2000; \
- } else { \
- (x) += 1900; \
- } \
- } \
-}
-
-#ifdef DEBUG_PARSER
-#define DEBUG_OUTPUT(s) printf("%s\n", s);
-#define YYDEBUG(s,c) { if (s != -1) { printf("state: %d ", s); printf("[%c]\n", c); } }
-#else
-#define DEBUG_OUTPUT(s)
-#define YYDEBUG(s,c)
-#endif
-
-#include "timelib_structs.h"
-
-typedef struct timelib_elems {
- unsigned int c; /* Number of elements */
- char **v; /* Values */
-} timelib_elems;
-
-typedef struct Scanner {
- int fd;
- uchar *lim, *str, *ptr, *cur, *tok, *pos;
- unsigned int line, len;
- struct timelib_error_container *errors;
-
- struct timelib_time *time;
- const timelib_tzdb *tzdb;
-} Scanner;
-
-typedef struct _timelib_lookup_table {
- const char *name;
- int type;
- int value;
-} timelib_lookup_table;
-
-typedef struct _timelib_relunit {
- const char *name;
- int unit;
- int multiplier;
-} timelib_relunit;
-
-/* The timezone table. */
-const static timelib_tz_lookup_table timelib_timezone_lookup[] = {
-#include "timezonemap.h"
- { NULL, 0, 0, NULL },
-};
-
-const static timelib_tz_lookup_table timelib_timezone_fallbackmap[] = {
-#include "fallbackmap.h"
- { NULL, 0, 0, NULL },
-};
-
-const static timelib_tz_lookup_table timelib_timezone_utc[] = {
- { "utc", 0, 0, "UTC" },
-};
-
-static timelib_relunit const timelib_relunit_lookup[] = {
- { "sec", TIMELIB_SECOND, 1 },
- { "secs", TIMELIB_SECOND, 1 },
- { "second", TIMELIB_SECOND, 1 },
- { "seconds", TIMELIB_SECOND, 1 },
- { "min", TIMELIB_MINUTE, 1 },
- { "mins", TIMELIB_MINUTE, 1 },
- { "minute", TIMELIB_MINUTE, 1 },
- { "minutes", TIMELIB_MINUTE, 1 },
- { "hour", TIMELIB_HOUR, 1 },
- { "hours", TIMELIB_HOUR, 1 },
- { "day", TIMELIB_DAY, 1 },
- { "days", TIMELIB_DAY, 1 },
- { "week", TIMELIB_DAY, 7 },
- { "weeks", TIMELIB_DAY, 7 },
- { "fortnight", TIMELIB_DAY, 14 },
- { "fortnights", TIMELIB_DAY, 14 },
- { "forthnight", TIMELIB_DAY, 14 },
- { "forthnights", TIMELIB_DAY, 14 },
- { "month", TIMELIB_MONTH, 1 },
- { "months", TIMELIB_MONTH, 1 },
- { "year", TIMELIB_YEAR, 1 },
- { "years", TIMELIB_YEAR, 1 },
-
- { "monday", TIMELIB_WEEKDAY, 1 },
- { "mon", TIMELIB_WEEKDAY, 1 },
- { "tuesday", TIMELIB_WEEKDAY, 2 },
- { "tue", TIMELIB_WEEKDAY, 2 },
- { "wednesday", TIMELIB_WEEKDAY, 3 },
- { "wed", TIMELIB_WEEKDAY, 3 },
- { "thursday", TIMELIB_WEEKDAY, 4 },
- { "thu", TIMELIB_WEEKDAY, 4 },
- { "friday", TIMELIB_WEEKDAY, 5 },
- { "fri", TIMELIB_WEEKDAY, 5 },
- { "saturday", TIMELIB_WEEKDAY, 6 },
- { "sat", TIMELIB_WEEKDAY, 6 },
- { "sunday", TIMELIB_WEEKDAY, 0 },
- { "sun", TIMELIB_WEEKDAY, 0 },
-
- { "weekday", TIMELIB_SPECIAL, TIMELIB_SPECIAL_WEEKDAY },
- { "weekdays", TIMELIB_SPECIAL, TIMELIB_SPECIAL_WEEKDAY },
- { NULL, 0, 0 }
-};
-
-/* The relative text table. */
-static timelib_lookup_table const timelib_reltext_lookup[] = {
- { "first", 0, 1 },
- { "next", 0, 1 },
- { "second", 0, 2 },
- { "third", 0, 3 },
- { "fourth", 0, 4 },
- { "fifth", 0, 5 },
- { "sixth", 0, 6 },
- { "seventh", 0, 7 },
- { "eight", 0, 8 },
- { "eighth", 0, 8 },
- { "ninth", 0, 9 },
- { "tenth", 0, 10 },
- { "eleventh", 0, 11 },
- { "twelfth", 0, 12 },
- { "last", 0, -1 },
- { "previous", 0, -1 },
- { "this", 1, 0 },
- { NULL, 1, 0 }
-};
-
-/* The month table. */
-static timelib_lookup_table const timelib_month_lookup[] = {
- { "jan", 0, 1 },
- { "feb", 0, 2 },
- { "mar", 0, 3 },
- { "apr", 0, 4 },
- { "may", 0, 5 },
- { "jun", 0, 6 },
- { "jul", 0, 7 },
- { "aug", 0, 8 },
- { "sep", 0, 9 },
- { "sept", 0, 9 },
- { "oct", 0, 10 },
- { "nov", 0, 11 },
- { "dec", 0, 12 },
- { "i", 0, 1 },
- { "ii", 0, 2 },
- { "iii", 0, 3 },
- { "iv", 0, 4 },
- { "v", 0, 5 },
- { "vi", 0, 6 },
- { "vii", 0, 7 },
- { "viii", 0, 8 },
- { "ix", 0, 9 },
- { "x", 0, 10 },
- { "xi", 0, 11 },
- { "xii", 0, 12 },
-
- { "january", 0, 1 },
- { "february", 0, 2 },
- { "march", 0, 3 },
- { "april", 0, 4 },
- { "may", 0, 5 },
- { "june", 0, 6 },
- { "july", 0, 7 },
- { "august", 0, 8 },
- { "september", 0, 9 },
- { "october", 0, 10 },
- { "november", 0, 11 },
- { "december", 0, 12 },
- { NULL, 0, 0 }
-};
-
-#if 0
-static char* timelib_ltrim(char *s)
-{
- char *ptr = s;
- while (ptr[0] == ' ' || ptr[0] == '\t') {
- ptr++;
- }
- return ptr;
-}
-#endif
-
-#if 0
-uchar *fill(Scanner *s, uchar *cursor){
- if(!s->eof){
- unsigned int cnt = s->tok - s->bot;
- if(cnt){
- memcpy(s->bot, s->tok, s->lim - s->tok);
- s->tok = s->bot;
- s->ptr -= cnt;
- cursor -= cnt;
- s->pos -= cnt;
- s->lim -= cnt;
- }
- if((s->top - s->lim) < BSIZE){
- uchar *buf = (uchar*) malloc(((s->lim - s->bot) + BSIZE)*sizeof(uchar));
- memcpy(buf, s->tok, s->lim - s->tok);
- s->tok = buf;
- s->ptr = &buf[s->ptr - s->bot];
- cursor = &buf[cursor - s->bot];
- s->pos = &buf[s->pos - s->bot];
- s->lim = &buf[s->lim - s->bot];
- s->top = &s->lim[BSIZE];
- free(s->bot);
- s->bot = buf;
- }
- if((cnt = read(s->fd, (char*) s->lim, BSIZE)) != BSIZE){
- s->eof = &s->lim[cnt]; *(s->eof)++ = '\n';
- }
- s->lim += cnt;
- }
- return cursor;
-}
-#endif
-
-static void add_warning(Scanner *s, char *error)
-{
- s->errors->warning_count++;
- s->errors->warning_messages = realloc(s->errors->warning_messages, s->errors->warning_count * sizeof(timelib_error_message));
- s->errors->warning_messages[s->errors->warning_count - 1].position = s->tok ? s->tok - s->str : 0;
- s->errors->warning_messages[s->errors->warning_count - 1].character = s->tok ? *s->tok : 0;
- s->errors->warning_messages[s->errors->warning_count - 1].message = strdup(error);
-}
-
-static void add_error(Scanner *s, char *error)
-{
- s->errors->error_count++;
- s->errors->error_messages = realloc(s->errors->error_messages, s->errors->error_count * sizeof(timelib_error_message));
- s->errors->error_messages[s->errors->error_count - 1].position = s->tok ? s->tok - s->str : 0;
- s->errors->error_messages[s->errors->error_count - 1].character = s->tok ? *s->tok : 0;
- s->errors->error_messages[s->errors->error_count - 1].message = strdup(error);
-}
-
-static void add_pbf_warning(Scanner *s, char *error, char *sptr, char *cptr)
-{
- s->errors->warning_count++;
- s->errors->warning_messages = realloc(s->errors->warning_messages, s->errors->warning_count * sizeof(timelib_error_message));
- s->errors->warning_messages[s->errors->warning_count - 1].position = cptr - sptr;
- s->errors->warning_messages[s->errors->warning_count - 1].character = *cptr;
- s->errors->warning_messages[s->errors->warning_count - 1].message = strdup(error);
-}
-
-static void add_pbf_error(Scanner *s, char *error, char *sptr, char *cptr)
-{
- s->errors->error_count++;
- s->errors->error_messages = realloc(s->errors->error_messages, s->errors->error_count * sizeof(timelib_error_message));
- s->errors->error_messages[s->errors->error_count - 1].position = cptr - sptr;
- s->errors->error_messages[s->errors->error_count - 1].character = *cptr;
- s->errors->error_messages[s->errors->error_count - 1].message = strdup(error);
-}
-
-static timelib_sll timelib_meridian(char **ptr, timelib_sll h)
-{
- timelib_sll retval = 0;
-
- while (!strchr("AaPp", **ptr)) {
- ++*ptr;
- }
- if (**ptr == 'a' || **ptr == 'A') {
- if (h == 12) {
- retval = -12;
- }
- } else if (h != 12) {
- retval = 12;
- }
- ++*ptr;
- if (**ptr == '.') {
- *ptr += 3;
- } else {
- ++*ptr;
- }
- return retval;
-}
-
-static timelib_sll timelib_meridian_with_check(char **ptr, timelib_sll h)
-{
- timelib_sll retval = 0;
-
- while (**ptr && !strchr("AaPp", **ptr)) {
- ++*ptr;
- }
- if(!**ptr) {
- return TIMELIB_UNSET;
- }
- if (**ptr == 'a' || **ptr == 'A') {
- if (h == 12) {
- retval = -12;
- }
- } else if (h != 12) {
- retval = 12;
- }
- ++*ptr;
- if (**ptr == '.') {
- ++*ptr;
- if (**ptr != 'm' && **ptr != 'M') {
- return TIMELIB_UNSET;
- }
- ++*ptr;
- if (**ptr != '.' ) {
- return TIMELIB_UNSET;
- }
- ++*ptr;
- } else if (**ptr == 'm' || **ptr == 'M') {
- ++*ptr;
- } else {
- return TIMELIB_UNSET;
- }
- return retval;
-}
-
-static char *timelib_string(Scanner *s)
-{
- char *tmp = calloc(1, s->cur - s->tok + 1);
- memcpy(tmp, s->tok, s->cur - s->tok);
-
- return tmp;
-}
-
-static timelib_sll timelib_get_nr_ex(char **ptr, int max_length, int *scanned_length)
-{
- char *begin, *end, *str;
- timelib_sll tmp_nr = TIMELIB_UNSET;
- int len = 0;
-
- while ((**ptr < '0') || (**ptr > '9')) {
- if (**ptr == '\0') {
- return TIMELIB_UNSET;
- }
- ++*ptr;
- }
- begin = *ptr;
- while ((**ptr >= '0') && (**ptr <= '9') && len < max_length) {
- ++*ptr;
- ++len;
- }
- end = *ptr;
- if (scanned_length) {
- *scanned_length = end - begin;
- }
- str = calloc(1, end - begin + 1);
- memcpy(str, begin, end - begin);
- tmp_nr = strtoll(str, NULL, 10);
- free(str);
- return tmp_nr;
-}
-
-static timelib_sll timelib_get_nr(char **ptr, int max_length)
-{
- return timelib_get_nr_ex(ptr, max_length, NULL);
-}
-
-static void timelib_skip_day_suffix(char **ptr)
-{
- if (isspace(**ptr)) {
- return;
- }
- if (!strncasecmp(*ptr, "nd", 2) || !strncasecmp(*ptr, "rd", 2) ||!strncasecmp(*ptr, "st", 2) || !strncasecmp(*ptr, "th", 2)) {
- *ptr += 2;
- }
-}
-
-static double timelib_get_frac_nr(char **ptr, int max_length)
-{
- char *begin, *end, *str;
- double tmp_nr = TIMELIB_UNSET;
- int len = 0;
-
- while ((**ptr != '.') && (**ptr != ':') && ((**ptr < '0') || (**ptr > '9'))) {
- if (**ptr == '\0') {
- return TIMELIB_UNSET;
- }
- ++*ptr;
- }
- begin = *ptr;
- while (((**ptr == '.') || (**ptr == ':') || ((**ptr >= '0') && (**ptr <= '9'))) && len < max_length) {
- ++*ptr;
- ++len;
- }
- end = *ptr;
- str = calloc(1, end - begin + 1);
- memcpy(str, begin, end - begin);
- if (str[0] == ':') {
- str[0] = '.';
- }
- tmp_nr = strtod(str, NULL);
- free(str);
- return tmp_nr;
-}
-
-static timelib_ull timelib_get_unsigned_nr(char **ptr, int max_length)
-{
- timelib_ull dir = 1;
-
- while (((**ptr < '0') || (**ptr > '9')) && (**ptr != '+') && (**ptr != '-')) {
- if (**ptr == '\0') {
- return TIMELIB_UNSET;
- }
- ++*ptr;
- }
-
- while (**ptr == '+' || **ptr == '-')
- {
- if (**ptr == '-') {
- dir *= -1;
- }
- ++*ptr;
- }
- return dir * timelib_get_nr(ptr, max_length);
-}
-
-static timelib_sll timelib_lookup_relative_text(char **ptr, int *behavior)
-{
- char *word;
- char *begin = *ptr, *end;
- timelib_sll value = 0;
- const timelib_lookup_table *tp;
-
- while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) {
- ++*ptr;
- }
- end = *ptr;
- word = calloc(1, end - begin + 1);
- memcpy(word, begin, end - begin);
-
- for (tp = timelib_reltext_lookup; tp->name; tp++) {
- if (strcasecmp(word, tp->name) == 0) {
- value = tp->value;
- *behavior = tp->type;
- }
- }
-
- free(word);
- return value;
-}
-
-static timelib_sll timelib_get_relative_text(char **ptr, int *behavior)
-{
- while (**ptr == ' ' || **ptr == '\t' || **ptr == '-' || **ptr == '/') {
- ++*ptr;
- }
- return timelib_lookup_relative_text(ptr, behavior);
-}
-
-static timelib_long timelib_lookup_month(char **ptr)
-{
- char *word;
- char *begin = *ptr, *end;
- timelib_long value = 0;
- const timelib_lookup_table *tp;
-
- while ((**ptr >= 'A' && **ptr <= 'Z') || (**ptr >= 'a' && **ptr <= 'z')) {
- ++*ptr;
- }
- end = *ptr;
- word = calloc(1, end - begin + 1);
- memcpy(word, begin, end - begin);
-
- for (tp = timelib_month_lookup; tp->name; tp++) {
- if (strcasecmp(word, tp->name) == 0) {
- value = tp->value;
- }
- }
-
- free(word);
- return value;
-}
-
-static timelib_long timelib_get_month(char **ptr)
-{
- while (**ptr == ' ' || **ptr == '\t' || **ptr == '-' || **ptr == '.' || **ptr == '/') {
- ++*ptr;
- }
- return timelib_lookup_month(ptr);
-}
-
-static void timelib_eat_spaces(char **ptr)
-{
- while (**ptr == ' ' || **ptr == '\t') {
- ++*ptr;
- }
-}
-
-static void timelib_eat_until_separator(char **ptr)
-{
- ++*ptr;
- while (strchr(" \t.,:;/-0123456789", **ptr) == NULL) {
- ++*ptr;
- }
-}
-
-static const timelib_relunit* timelib_lookup_relunit(char **ptr)
-{
- char *word;
- char *begin = *ptr, *end;
- const timelib_relunit *tp, *value = NULL;
-
- while (**ptr != '\0' && **ptr != ' ' && **ptr != ',' && **ptr != '\t' && **ptr != ';' && **ptr != ':' &&
- **ptr != '/' && **ptr != '.' && **ptr != '-' && **ptr != '(' && **ptr != ')' ) {
- ++*ptr;
- }
- end = *ptr;
- word = calloc(1, end - begin + 1);
- memcpy(word, begin, end - begin);
-
- for (tp = timelib_relunit_lookup; tp->name; tp++) {
- if (strcasecmp(word, tp->name) == 0) {
- value = tp;
- break;
- }
- }
-
- free(word);
- return value;
-}
-
-static void timelib_set_relative(char **ptr, timelib_sll amount, int behavior, Scanner *s)
-{
- const timelib_relunit* relunit;
-
- if (!(relunit = timelib_lookup_relunit(ptr))) {
- return;
- }
-
- switch (relunit->unit) {
- case TIMELIB_SECOND: s->time->relative.s += amount * relunit->multiplier; break;
- case TIMELIB_MINUTE: s->time->relative.i += amount * relunit->multiplier; break;
- case TIMELIB_HOUR: s->time->relative.h += amount * relunit->multiplier; break;
- case TIMELIB_DAY: s->time->relative.d += amount * relunit->multiplier; break;
- case TIMELIB_MONTH: s->time->relative.m += amount * relunit->multiplier; break;
- case TIMELIB_YEAR: s->time->relative.y += amount * relunit->multiplier; break;
-
- case TIMELIB_WEEKDAY:
- TIMELIB_HAVE_WEEKDAY_RELATIVE();
- TIMELIB_UNHAVE_TIME();
- s->time->relative.d += (amount > 0 ? amount - 1 : amount) * 7;
- s->time->relative.weekday = relunit->multiplier;
- s->time->relative.weekday_behavior = behavior;
- break;
-
- case TIMELIB_SPECIAL:
- TIMELIB_HAVE_SPECIAL_RELATIVE();
- TIMELIB_UNHAVE_TIME();
- s->time->relative.special.type = relunit->multiplier;
- s->time->relative.special.amount = amount;
- }
-}
-
-const static timelib_tz_lookup_table* abbr_search(const char *word, timelib_long gmtoffset, int isdst)
-{
- int first_found = 0;
- const timelib_tz_lookup_table *tp, *first_found_elem = NULL;
- const timelib_tz_lookup_table *fmp;
-
- if (strcasecmp("utc", word) == 0 || strcasecmp("gmt", word) == 0) {
- return timelib_timezone_utc;
- }
-
- for (tp = timelib_timezone_lookup; tp->name; tp++) {
- if (strcasecmp(word, tp->name) == 0) {
- if (!first_found) {
- first_found = 1;
- first_found_elem = tp;
- if (gmtoffset == -1) {
- return tp;
- }
- }
- if (tp->gmtoffset == gmtoffset) {
- return tp;
- }
- }
- }
- if (first_found) {
- return first_found_elem;
- }
-
- /* Still didn't find anything, let's find the zone solely based on
- * offset/isdst then */
- for (fmp = timelib_timezone_fallbackmap; fmp->name; fmp++) {
- if ((fmp->gmtoffset * 60) == gmtoffset && fmp->type == isdst) {
- return fmp;
- }
- }
- return NULL;
-}
-
-static timelib_long timelib_lookup_abbr(char **ptr, int *dst, char **tz_abbr, int *found)
-{
- char *word;
- char *begin = *ptr, *end;
- timelib_long value = 0;
- const timelib_tz_lookup_table *tp;
-
- while (**ptr != '\0' && **ptr != ')' && **ptr != ' ') {
- ++*ptr;
- }
- end = *ptr;
- word = calloc(1, end - begin + 1);
- memcpy(word, begin, end - begin);
-
- if ((tp = abbr_search(word, -1, 0))) {
- value = -tp->gmtoffset / 60;
- *dst = tp->type;
- value += tp->type * 60;
- *found = 1;
- } else {
- *found = 0;
- }
-
- *tz_abbr = word;
- return value;
-}
-
-timelib_long timelib_parse_zone(char **ptr, int *dst, timelib_time *t, int *tz_not_found, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_wrapper)
-{
- timelib_tzinfo *res;
- timelib_long retval = 0;
-
- *tz_not_found = 0;
-
- while (**ptr == ' ' || **ptr == '\t' || **ptr == '(') {
- ++*ptr;
- }
- if ((*ptr)[0] == 'G' && (*ptr)[1] == 'M' && (*ptr)[2] == 'T' && ((*ptr)[3] == '+' || (*ptr)[3] == '-')) {
- *ptr += 3;
- }
- if (**ptr == '+') {
- ++*ptr;
- t->is_localtime = 1;
- t->zone_type = TIMELIB_ZONETYPE_OFFSET;
- *tz_not_found = 0;
- t->dst = 0;
-
- retval = -1 * timelib_parse_tz_cor(ptr);
- } else if (**ptr == '-') {
- ++*ptr;
- t->is_localtime = 1;
- t->zone_type = TIMELIB_ZONETYPE_OFFSET;
- *tz_not_found = 0;
- t->dst = 0;
-
- retval = timelib_parse_tz_cor(ptr);
- } else {
- int found = 0;
- timelib_long offset = 0;
- char *tz_abbr;
-
- t->is_localtime = 1;
-
- /* First, we lookup by abbreviation only */
- offset = timelib_lookup_abbr(ptr, dst, &tz_abbr, &found);
- if (found) {
- t->zone_type = TIMELIB_ZONETYPE_ABBR;
- timelib_time_tz_abbr_update(t, tz_abbr);
- }
-
- /* Otherwise, we look if we have a TimeZone identifier */
- if (!found || strcmp("UTC", tz_abbr) == 0) {
- if ((res = tz_wrapper(tz_abbr, tzdb)) != NULL) {
- t->tz_info = res;
- t->zone_type = TIMELIB_ZONETYPE_ID;
- found++;
- }
- }
- free(tz_abbr);
- *tz_not_found = (found == 0);
- retval = offset;
- }
- while (**ptr == ')') {
- ++*ptr;
- }
- return retval;
-}
-
-#define timelib_split_free(arg) { \
- int i; \
- for (i = 0; i < arg.c; i++) { \
- free(arg.v[i]); \
- } \
- if (arg.v) { \
- free(arg.v); \
- } \
-}
-
-static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper)
-{
- uchar *cursor = s->cur;
- char *str, *ptr = NULL;
-
-std:
- s->tok = cursor;
- s->len = 0;
-/*!re2c
-any = [\000-\377];
-
-space = [ \t]+;
-frac = "."[0-9]+;
-
-ago = 'ago';
-
-hour24 = [01]?[0-9] | "2"[0-4];
-hour24lz = [01][0-9] | "2"[0-4];
-hour12 = "0"?[1-9] | "1"[0-2];
-minute = [0-5]?[0-9];
-minutelz = [0-5][0-9];
-second = minute | "60";
-secondlz = minutelz | "60";
-meridian = ([AaPp] "."? [Mm] "."?) [\000\t ];
-tz = "("? [A-Za-z]{1,6} ")"? | [A-Z][a-z]+([_/-][A-Za-z]+)+;
-tzcorrection = "GMT"? [+-] hour24 ":"? minute?;
-
-daysuf = "st" | "nd" | "rd" | "th";
-
-month = "0"? [0-9] | "1"[0-2];
-day = (([0-2]?[0-9]) | ("3"[01])) daysuf?;
-year = [0-9]{1,4};
-year2 = [0-9]{2};
-year4 = [0-9]{4};
-year4withsign = [+-]? [0-9]{4};
-
-dayofyear = "00"[1-9] | "0"[1-9][0-9] | [1-2][0-9][0-9] | "3"[0-5][0-9] | "36"[0-6];
-weekofyear = "0"[1-9] | [1-4][0-9] | "5"[0-3];
-
-monthlz = "0" [0-9] | "1" [0-2];
-daylz = "0" [0-9] | [1-2][0-9] | "3" [01];
-
-dayfull = 'sunday' | 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday';
-dayabbr = 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat' | 'sun';
-dayspecial = 'weekday' | 'weekdays';
-daytext = dayfull | dayabbr | dayspecial;
-
-monthfull = 'january' | 'february' | 'march' | 'april' | 'may' | 'june' | 'july' | 'august' | 'september' | 'october' | 'november' | 'december';
-monthabbr = 'jan' | 'feb' | 'mar' | 'apr' | 'may' | 'jun' | 'jul' | 'aug' | 'sep' | 'sept' | 'oct' | 'nov' | 'dec';
-monthroman = "I" | "II" | "III" | "IV" | "V" | "VI" | "VII" | "VIII" | "IX" | "X" | "XI" | "XII";
-monthtext = monthfull | monthabbr | monthroman;
-
-/* Time formats */
-timetiny12 = hour12 space? meridian;
-timeshort12 = hour12[:.]minutelz space? meridian;
-timelong12 = hour12[:.]minute[:.]secondlz space? meridian;
-
-timeshort24 = 't'? hour24[:.]minute;
-timelong24 = 't'? hour24[:.]minute[:.]second;
-iso8601long = 't'? hour24 [:.] minute [:.] second frac;
-
-/* iso8601shorttz = hour24 [:] minutelz space? (tzcorrection | tz); */
-iso8601normtz = 't'? hour24 [:.] minute [:.] secondlz space? (tzcorrection | tz);
-/* iso8601longtz = hour24 [:] minute [:] secondlz frac space? (tzcorrection | tz); */
-
-gnunocolon = 't'? hour24lz minutelz;
-/* gnunocolontz = hour24lz minutelz space? (tzcorrection | tz); */
-iso8601nocolon = 't'? hour24lz minutelz secondlz;
-/* iso8601nocolontz = hour24lz minutelz secondlz space? (tzcorrection | tz); */
-
-/* Date formats */
-americanshort = month "/" day;
-american = month "/" day "/" year;
-iso8601dateslash = year4 "/" monthlz "/" daylz "/"?;
-dateslash = year4 "/" month "/" day;
-iso8601date4 = year4withsign "-" monthlz "-" daylz;
-iso8601date2 = year2 "-" monthlz "-" daylz;
-gnudateshorter = year4 "-" month;
-gnudateshort = year "-" month "-" day;
-pointeddate4 = day [.\t-] month [.-] year4;
-pointeddate2 = day [.\t] month "." year2;
-datefull = day ([ \t.-])* monthtext ([ \t.-])* year;
-datenoday = monthtext ([ .\t-])* year4;
-datenodayrev = year4 ([ .\t-])* monthtext;
-datetextual = monthtext ([ .\t-])* day [,.stndrh\t ]+ year;
-datenoyear = monthtext ([ .\t-])* day [,.stndrh\t ]*;
-datenoyearrev = day ([ .\t-])* monthtext;
-datenocolon = year4 monthlz daylz;
-
-/* Special formats */
-soap = year4 "-" monthlz "-" daylz "T" hour24lz ":" minutelz ":" secondlz frac tzcorrection?;
-xmlrpc = year4 monthlz daylz "T" hour24 ":" minutelz ":" secondlz;
-xmlrpcnocolon = year4 monthlz daylz 't' hour24 minutelz secondlz;
-wddx = year4 "-" month "-" day "T" hour24 ":" minute ":" second;
-pgydotd = year4 "."? dayofyear;
-pgtextshort = monthabbr "-" daylz "-" year;
-pgtextreverse = year "-" monthabbr "-" daylz;
-mssqltime = hour12 ":" minutelz ":" secondlz [:.] [0-9]+ meridian;
-isoweekday = year4 "-"? "W" weekofyear "-"? [0-7];
-isoweek = year4 "-"? "W" weekofyear;
-exif = year4 ":" monthlz ":" daylz " " hour24lz ":" minutelz ":" secondlz;
-firstdayof = 'first day of';
-lastdayof = 'last day of';
-backof = 'back of ' hour24 space? meridian?;
-frontof = 'front of ' hour24 space? meridian?;
-
-/* Common Log Format: 10/Oct/2000:13:55:36 -0700 */
-clf = day "/" monthabbr "/" year4 ":" hour24lz ":" minutelz ":" secondlz space tzcorrection;
-
-/* Timestamp format: @1126396800 */
-timestamp = "@" "-"? [0-9]+;
-
-/* To fix some ambiguities */
-dateshortwithtimeshort12 = datenoyear timeshort12;
-dateshortwithtimelong12 = datenoyear timelong12;
-dateshortwithtimeshort = datenoyear timeshort24;
-dateshortwithtimelong = datenoyear timelong24;
-dateshortwithtimelongtz = datenoyear iso8601normtz;
-
-/*
- * Relative regexps
- */
-reltextnumber = 'first'|'second'|'third'|'fourth'|'fifth'|'sixth'|'seventh'|'eight'|'eighth'|'ninth'|'tenth'|'eleventh'|'twelfth';
-reltexttext = 'next'|'last'|'previous'|'this';
-reltextunit = (('sec'|'second'|'min'|'minute'|'hour'|'day'|'fortnight'|'forthnight'|'month'|'year') 's'?) | 'weeks' | daytext;
-
-relnumber = ([+-]*[ \t]*[0-9]+);
-relative = relnumber space? (reltextunit | 'week' );
-relativetext = (reltextnumber|reltexttext) space reltextunit;
-relativetextweek = reltexttext space 'week';
-
-weekdayof = (reltextnumber|reltexttext) space (dayfull|dayabbr) space 'of';
-
-*/
-
-/*!re2c
- /* so that vim highlights correctly */
- 'yesterday'
- {
- DEBUG_OUTPUT("yesterday");
- TIMELIB_INIT;
- TIMELIB_HAVE_RELATIVE();
- TIMELIB_UNHAVE_TIME();
-
- s->time->relative.d = -1;
- TIMELIB_DEINIT;
- return TIMELIB_RELATIVE;
- }
-
- 'now'
- {
- DEBUG_OUTPUT("now");
- TIMELIB_INIT;
-
- TIMELIB_DEINIT;
- return TIMELIB_RELATIVE;
- }
-
- 'noon'
- {
- DEBUG_OUTPUT("noon");
- TIMELIB_INIT;
- TIMELIB_UNHAVE_TIME();
- TIMELIB_HAVE_TIME();
- s->time->h = 12;
-
- TIMELIB_DEINIT;
- return TIMELIB_RELATIVE;
- }
-
- 'midnight' | 'today'
- {
- DEBUG_OUTPUT("midnight | today");
- TIMELIB_INIT;
- TIMELIB_UNHAVE_TIME();
-
- TIMELIB_DEINIT;
- return TIMELIB_RELATIVE;
- }
-
- 'tomorrow'
- {
- DEBUG_OUTPUT("tomorrow");
- TIMELIB_INIT;
- TIMELIB_HAVE_RELATIVE();
- TIMELIB_UNHAVE_TIME();
-
- s->time->relative.d = 1;
- TIMELIB_DEINIT;
- return TIMELIB_RELATIVE;
- }
-
- timestamp
- {
- timelib_ull i;
-
- TIMELIB_INIT;
- TIMELIB_HAVE_RELATIVE();
- TIMELIB_UNHAVE_DATE();
- TIMELIB_UNHAVE_TIME();
- TIMELIB_HAVE_TZ();
-
- i = timelib_get_unsigned_nr((char **) &ptr, 24);
- s->time->y = 1970;
- s->time->m = 1;
- s->time->d = 1;
- s->time->h = s->time->i = s->time->s = 0;
- s->time->f = 0.0;
- s->time->relative.s += i;
- s->time->is_localtime = 1;
- s->time->zone_type = TIMELIB_ZONETYPE_OFFSET;
- s->time->z = 0;
- s->time->dst = 0;
-
- TIMELIB_DEINIT;
- return TIMELIB_RELATIVE;
- }
-
- firstdayof | lastdayof
- {
- DEBUG_OUTPUT("firstdayof | lastdayof");
- TIMELIB_INIT;
- TIMELIB_HAVE_RELATIVE();
-
- /* skip "last day of" or "first day of" */
- if (*ptr == 'l' || *ptr == 'L') {
- s->time->relative.first_last_day_of = 2;
- } else {
- s->time->relative.first_last_day_of = 1;
- }
-
- TIMELIB_DEINIT;
- return TIMELIB_LF_DAY_OF_MONTH;
- }
-
- backof | frontof
- {
- DEBUG_OUTPUT("backof | frontof");
- TIMELIB_INIT;
- TIMELIB_UNHAVE_TIME();
- TIMELIB_HAVE_TIME();
-
- if (*ptr == 'b') {
- s->time->h = timelib_get_nr((char **) &ptr, 2);
- s->time->i = 15;
- } else {
- s->time->h = timelib_get_nr((char **) &ptr, 2) - 1;
- s->time->i = 45;
- }
- if (*ptr != '\0' ) {
- timelib_eat_spaces((char **) &ptr);
- s->time->h += timelib_meridian((char **) &ptr, s->time->h);
- }
-
- TIMELIB_DEINIT;
- return TIMELIB_LF_DAY_OF_MONTH;
- }
-
- weekdayof
- {
- timelib_sll i;
- int behavior = 0;
- DEBUG_OUTPUT("weekdayof");
- TIMELIB_INIT;
- TIMELIB_HAVE_RELATIVE();
- TIMELIB_HAVE_SPECIAL_RELATIVE();
-
- i = timelib_get_relative_text((char **) &ptr, &behavior);
- timelib_eat_spaces((char **) &ptr);
- if (i > 0) { /* first, second... etc */
- s->time->relative.special.type = TIMELIB_SPECIAL_DAY_OF_WEEK_IN_MONTH;
- timelib_set_relative((char **) &ptr, i, 1, s);
- } else { /* last */
- s->time->relative.special.type = TIMELIB_SPECIAL_LAST_DAY_OF_WEEK_IN_MONTH;
- timelib_set_relative((char **) &ptr, i, behavior, s);
- }
- TIMELIB_DEINIT;
- return TIMELIB_WEEK_DAY_OF_MONTH;
- }
-
- timetiny12 | timeshort12 | timelong12
- {
- DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12");
- TIMELIB_INIT;
- TIMELIB_HAVE_TIME();
- s->time->h = timelib_get_nr((char **) &ptr, 2);
- if (*ptr == ':' || *ptr == '.') {
- s->time->i = timelib_get_nr((char **) &ptr, 2);
- if (*ptr == ':' || *ptr == '.') {
- s->time->s = timelib_get_nr((char **) &ptr, 2);
- }
- }
- s->time->h += timelib_meridian((char **) &ptr, s->time->h);
- TIMELIB_DEINIT;
- return TIMELIB_TIME12;
- }
-
- mssqltime
- {
- DEBUG_OUTPUT("mssqltime");
- TIMELIB_INIT;
- TIMELIB_HAVE_TIME();
- s->time->h = timelib_get_nr((char **) &ptr, 2);
- s->time->i = timelib_get_nr((char **) &ptr, 2);
- if (*ptr == ':' || *ptr == '.') {
- s->time->s = timelib_get_nr((char **) &ptr, 2);
-
- if (*ptr == ':' || *ptr == '.') {
- s->time->f = timelib_get_frac_nr((char **) &ptr, 8);
- }
- }
- timelib_eat_spaces((char **) &ptr);
- s->time->h += timelib_meridian((char **) &ptr, s->time->h);
- TIMELIB_DEINIT;
- return TIMELIB_TIME24_WITH_ZONE;
- }
-
- timeshort24 | timelong24 /* | iso8601short | iso8601norm */ | iso8601long /*| iso8601shorttz | iso8601normtz | iso8601longtz*/
- {
- int tz_not_found;
- DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long");
- TIMELIB_INIT;
- TIMELIB_HAVE_TIME();
- s->time->h = timelib_get_nr((char **) &ptr, 2);
- s->time->i = timelib_get_nr((char **) &ptr, 2);
- if (*ptr == ':' || *ptr == '.') {
- s->time->s = timelib_get_nr((char **) &ptr, 2);
-
- if (*ptr == '.') {
- s->time->f = timelib_get_frac_nr((char **) &ptr, 8);
- }
- }
-
- if (*ptr != '\0') {
- s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
- if (tz_not_found) {
- add_error(s, "The timezone could not be found in the database");
- }
- }
- TIMELIB_DEINIT;
- return TIMELIB_TIME24_WITH_ZONE;
- }
-
- gnunocolon
- {
- DEBUG_OUTPUT("gnunocolon");
- TIMELIB_INIT;
- switch (s->time->have_time) {
- case 0:
- s->time->h = timelib_get_nr((char **) &ptr, 2);
- s->time->i = timelib_get_nr((char **) &ptr, 2);
- s->time->s = 0;
- break;
- case 1:
- s->time->y = timelib_get_nr((char **) &ptr, 4);
- break;
- default:
- TIMELIB_DEINIT;
- add_error(s, "Double time specification");
- return TIMELIB_ERROR;
- }
- s->time->have_time++;
- TIMELIB_DEINIT;
- return TIMELIB_GNU_NOCOLON;
- }
-/*
- gnunocolontz
- {
- DEBUG_OUTPUT("gnunocolontz");
- TIMELIB_INIT;
- switch (s->time->have_time) {
- case 0:
- s->time->h = timelib_get_nr((char **) &ptr, 2);
- s->time->i = timelib_get_nr((char **) &ptr, 2);
- s->time->s = 0;
- s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, s->tzdb, tz_get_wrapper);
- break;
- case 1:
- s->time->y = timelib_get_nr((char **) &ptr, 4);
- break;
- default:
- TIMELIB_DEINIT;
- return TIMELIB_ERROR;
- }
- s->time->have_time++;
- TIMELIB_DEINIT;
- return TIMELIB_GNU_NOCOLON_TZ;
- }
-*/
- iso8601nocolon /*| iso8601nocolontz*/
- {
- int tz_not_found;
- DEBUG_OUTPUT("iso8601nocolon");
- TIMELIB_INIT;
- TIMELIB_HAVE_TIME();
- s->time->h = timelib_get_nr((char **) &ptr, 2);
- s->time->i = timelib_get_nr((char **) &ptr, 2);
- s->time->s = timelib_get_nr((char **) &ptr, 2);
-
- if (*ptr != '\0') {
- s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
- if (tz_not_found) {
- add_error(s, "The timezone could not be found in the database");
- }
- }
- TIMELIB_DEINIT;
- return TIMELIB_ISO_NOCOLON;
- }
-
- americanshort | american
- {
- int length = 0;
- DEBUG_OUTPUT("americanshort | american");
- TIMELIB_INIT;
- TIMELIB_HAVE_DATE();
- s->time->m = timelib_get_nr((char **) &ptr, 2);
- s->time->d = timelib_get_nr((char **) &ptr, 2);
- if (*ptr == '/') {
- s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
- TIMELIB_PROCESS_YEAR(s->time->y, length);
- }
- TIMELIB_DEINIT;
- return TIMELIB_AMERICAN;
- }
-
- iso8601date4 | iso8601dateslash | dateslash
- {
- DEBUG_OUTPUT("iso8601date4 | iso8601date2 | iso8601dateslash | dateslash");
- TIMELIB_INIT;
- TIMELIB_HAVE_DATE();
- s->time->y = timelib_get_unsigned_nr((char **) &ptr, 4);
- s->time->m = timelib_get_nr((char **) &ptr, 2);
- s->time->d = timelib_get_nr((char **) &ptr, 2);
- TIMELIB_DEINIT;
- return TIMELIB_ISO_DATE;
- }
-
- iso8601date2
- {
- int length = 0;
- DEBUG_OUTPUT("iso8601date2");
- TIMELIB_INIT;
- TIMELIB_HAVE_DATE();
- s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
- s->time->m = timelib_get_nr((char **) &ptr, 2);
- s->time->d = timelib_get_nr((char **) &ptr, 2);
- TIMELIB_PROCESS_YEAR(s->time->y, length);
- TIMELIB_DEINIT;
- return TIMELIB_ISO_DATE;
- }
-
- gnudateshorter
- {
- int length = 0;
- DEBUG_OUTPUT("gnudateshorter");
- TIMELIB_INIT;
- TIMELIB_HAVE_DATE();
- s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
- s->time->m = timelib_get_nr((char **) &ptr, 2);
- s->time->d = 1;
- TIMELIB_PROCESS_YEAR(s->time->y, length);
- TIMELIB_DEINIT;
- return TIMELIB_ISO_DATE;
- }
-
- gnudateshort
- {
- int length = 0;
- DEBUG_OUTPUT("gnudateshort");
- TIMELIB_INIT;
- TIMELIB_HAVE_DATE();
- s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
- s->time->m = timelib_get_nr((char **) &ptr, 2);
- s->time->d = timelib_get_nr((char **) &ptr, 2);
- TIMELIB_PROCESS_YEAR(s->time->y, length);
- TIMELIB_DEINIT;
- return TIMELIB_ISO_DATE;
- }
-
- datefull
- {
- int length = 0;
- DEBUG_OUTPUT("datefull");
- TIMELIB_INIT;
- TIMELIB_HAVE_DATE();
- s->time->d = timelib_get_nr((char **) &ptr, 2);
- timelib_skip_day_suffix((char **) &ptr);
- s->time->m = timelib_get_month((char **) &ptr);
- s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
- TIMELIB_PROCESS_YEAR(s->time->y, length);
- TIMELIB_DEINIT;
- return TIMELIB_DATE_FULL;
- }
-
- pointeddate4
- {
- DEBUG_OUTPUT("pointed date YYYY");
- TIMELIB_INIT;
- TIMELIB_HAVE_DATE();
- s->time->d = timelib_get_nr((char **) &ptr, 2);
- s->time->m = timelib_get_nr((char **) &ptr, 2);
- s->time->y = timelib_get_nr((char **) &ptr, 4);
- TIMELIB_DEINIT;
- return TIMELIB_DATE_FULL_POINTED;
- }
-
- pointeddate2
- {
- int length = 0;
- DEBUG_OUTPUT("pointed date YY");
- TIMELIB_INIT;
- TIMELIB_HAVE_DATE();
- s->time->d = timelib_get_nr((char **) &ptr, 2);
- s->time->m = timelib_get_nr((char **) &ptr, 2);
- s->time->y = timelib_get_nr_ex((char **) &ptr, 2, &length);
- TIMELIB_PROCESS_YEAR(s->time->y, length);
- TIMELIB_DEINIT;
- return TIMELIB_DATE_FULL_POINTED;
- }
-
- datenoday
- {
- int length = 0;
- DEBUG_OUTPUT("datenoday");
- TIMELIB_INIT;
- TIMELIB_HAVE_DATE();
- s->time->m = timelib_get_month((char **) &ptr);
- s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
- s->time->d = 1;
- TIMELIB_PROCESS_YEAR(s->time->y, length);
- TIMELIB_DEINIT;
- return TIMELIB_DATE_NO_DAY;
- }
-
- datenodayrev
- {
- int length = 0;
- DEBUG_OUTPUT("datenodayrev");
- TIMELIB_INIT;
- TIMELIB_HAVE_DATE();
- s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
- s->time->m = timelib_get_month((char **) &ptr);
- s->time->d = 1;
- TIMELIB_PROCESS_YEAR(s->time->y, length);
- TIMELIB_DEINIT;
- return TIMELIB_DATE_NO_DAY;
- }
-
- datetextual | datenoyear
- {
- int length = 0;
- DEBUG_OUTPUT("datetextual | datenoyear");
- TIMELIB_INIT;
- TIMELIB_HAVE_DATE();
- s->time->m = timelib_get_month((char **) &ptr);
- s->time->d = timelib_get_nr((char **) &ptr, 2);
- s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
- TIMELIB_PROCESS_YEAR(s->time->y, length);
- TIMELIB_DEINIT;
- return TIMELIB_DATE_TEXT;
- }
-
- datenoyearrev
- {
- DEBUG_OUTPUT("datenoyearrev");
- TIMELIB_INIT;
- TIMELIB_HAVE_DATE();
- s->time->d = timelib_get_nr((char **) &ptr, 2);
- timelib_skip_day_suffix((char **) &ptr);
- s->time->m = timelib_get_month((char **) &ptr);
- TIMELIB_DEINIT;
- return TIMELIB_DATE_TEXT;
- }
-
- datenocolon
- {
- DEBUG_OUTPUT("datenocolon");
- TIMELIB_INIT;
- TIMELIB_HAVE_DATE();
- s->time->y = timelib_get_nr((char **) &ptr, 4);
- s->time->m = timelib_get_nr((char **) &ptr, 2);
- s->time->d = timelib_get_nr((char **) &ptr, 2);
- TIMELIB_DEINIT;
- return TIMELIB_DATE_NOCOLON;
- }
-
- xmlrpc | xmlrpcnocolon | soap | wddx | exif
- {
- int tz_not_found;
- DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif");
- TIMELIB_INIT;
- TIMELIB_HAVE_TIME();
- TIMELIB_HAVE_DATE();
- s->time->y = timelib_get_nr((char **) &ptr, 4);
- s->time->m = timelib_get_nr((char **) &ptr, 2);
- s->time->d = timelib_get_nr((char **) &ptr, 2);
- s->time->h = timelib_get_nr((char **) &ptr, 2);
- s->time->i = timelib_get_nr((char **) &ptr, 2);
- s->time->s = timelib_get_nr((char **) &ptr, 2);
- if (*ptr == '.') {
- s->time->f = timelib_get_frac_nr((char **) &ptr, 9);
- if (*ptr) { /* timezone is optional */
- s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
- if (tz_not_found) {
- add_error(s, "The timezone could not be found in the database");
- }
- }
- }
- TIMELIB_DEINIT;
- return TIMELIB_XMLRPC_SOAP;
- }
-
- pgydotd
- {
- int length = 0;
- DEBUG_OUTPUT("pgydotd");
- TIMELIB_INIT;
- TIMELIB_HAVE_DATE();
- s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
- s->time->d = timelib_get_nr((char **) &ptr, 3);
- s->time->m = 1;
- TIMELIB_PROCESS_YEAR(s->time->y, length);
- TIMELIB_DEINIT;
- return TIMELIB_PG_YEARDAY;
- }
-
- isoweekday
- {
- timelib_sll w, d;
- DEBUG_OUTPUT("isoweekday");
- TIMELIB_INIT;
- TIMELIB_HAVE_DATE();
- TIMELIB_HAVE_RELATIVE();
-
- s->time->y = timelib_get_nr((char **) &ptr, 4);
- w = timelib_get_nr((char **) &ptr, 2);
- d = timelib_get_nr((char **) &ptr, 1);
- s->time->m = 1;
- s->time->d = 1;
- s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d);
-
- TIMELIB_DEINIT;
- return TIMELIB_ISO_WEEK;
- }
-
- isoweek
- {
- timelib_sll w, d;
- DEBUG_OUTPUT("isoweek");
- TIMELIB_INIT;
- TIMELIB_HAVE_DATE();
- TIMELIB_HAVE_RELATIVE();
-
- s->time->y = timelib_get_nr((char **) &ptr, 4);
- w = timelib_get_nr((char **) &ptr, 2);
- d = 1;
- s->time->m = 1;
- s->time->d = 1;
- s->time->relative.d = timelib_daynr_from_weeknr(s->time->y, w, d);
-
- TIMELIB_DEINIT;
- return TIMELIB_ISO_WEEK;
- }
-
- pgtextshort
- {
- int length = 0;
- DEBUG_OUTPUT("pgtextshort");
- TIMELIB_INIT;
- TIMELIB_HAVE_DATE();
- s->time->m = timelib_get_month((char **) &ptr);
- s->time->d = timelib_get_nr((char **) &ptr, 2);
- s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
- TIMELIB_PROCESS_YEAR(s->time->y, length);
- TIMELIB_DEINIT;
- return TIMELIB_PG_TEXT;
- }
-
- pgtextreverse
- {
- int length = 0;
- DEBUG_OUTPUT("pgtextreverse");
- TIMELIB_INIT;
- TIMELIB_HAVE_DATE();
- s->time->y = timelib_get_nr_ex((char **) &ptr, 4, &length);
- s->time->m = timelib_get_month((char **) &ptr);
- s->time->d = timelib_get_nr((char **) &ptr, 2);
- TIMELIB_PROCESS_YEAR(s->time->y, length);
- TIMELIB_DEINIT;
- return TIMELIB_PG_TEXT;
- }
-
- clf
- {
- int tz_not_found;
- DEBUG_OUTPUT("clf");
- TIMELIB_INIT;
- TIMELIB_HAVE_TIME();
- TIMELIB_HAVE_DATE();
- s->time->d = timelib_get_nr((char **) &ptr, 2);
- s->time->m = timelib_get_month((char **) &ptr);
- s->time->y = timelib_get_nr((char **) &ptr, 4);
- s->time->h = timelib_get_nr((char **) &ptr, 2);
- s->time->i = timelib_get_nr((char **) &ptr, 2);
- s->time->s = timelib_get_nr((char **) &ptr, 2);
- s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
- if (tz_not_found) {
- add_error(s, "The timezone could not be found in the database");
- }
- TIMELIB_DEINIT;
- return TIMELIB_CLF;
- }
-
- year4
- {
- DEBUG_OUTPUT("year4");
- TIMELIB_INIT;
- s->time->y = timelib_get_nr((char **) &ptr, 4);
- TIMELIB_DEINIT;
- return TIMELIB_CLF;
- }
-
- ago
- {
- DEBUG_OUTPUT("ago");
- TIMELIB_INIT;
- s->time->relative.y = 0 - s->time->relative.y;
- s->time->relative.m = 0 - s->time->relative.m;
- s->time->relative.d = 0 - s->time->relative.d;
- s->time->relative.h = 0 - s->time->relative.h;
- s->time->relative.i = 0 - s->time->relative.i;
- s->time->relative.s = 0 - s->time->relative.s;
- s->time->relative.weekday = 0 - s->time->relative.weekday;
- if (s->time->relative.weekday == 0) {
- s->time->relative.weekday = -7;
- }
- if (s->time->relative.have_special_relative && s->time->relative.special.type == TIMELIB_SPECIAL_WEEKDAY) {
- s->time->relative.special.amount = 0 - s->time->relative.special.amount;
- }
- TIMELIB_DEINIT;
- return TIMELIB_AGO;
- }
-
- daytext
- {
- const timelib_relunit* relunit;
- DEBUG_OUTPUT("daytext");
- TIMELIB_INIT;
- TIMELIB_HAVE_RELATIVE();
- TIMELIB_HAVE_WEEKDAY_RELATIVE();
- TIMELIB_UNHAVE_TIME();
- relunit = timelib_lookup_relunit((char**) &ptr);
- s->time->relative.weekday = relunit->multiplier;
- if (s->time->relative.weekday_behavior != 2) {
- s->time->relative.weekday_behavior = 1;
- }
-
- TIMELIB_DEINIT;
- return TIMELIB_WEEKDAY;
- }
-
- relativetextweek
- {
- timelib_sll i;
- int behavior = 0;
- DEBUG_OUTPUT("relativetextweek");
- TIMELIB_INIT;
- TIMELIB_HAVE_RELATIVE();
-
- while(*ptr) {
- i = timelib_get_relative_text((char **) &ptr, &behavior);
- timelib_eat_spaces((char **) &ptr);
- timelib_set_relative((char **) &ptr, i, behavior, s);
- s->time->relative.weekday_behavior = 2;
-
- /* to handle the format weekday + last/this/next week */
- if (s->time->relative.have_weekday_relative == 0) {
- TIMELIB_HAVE_WEEKDAY_RELATIVE();
- s->time->relative.weekday = 1;
- }
- }
- TIMELIB_DEINIT;
- return TIMELIB_RELATIVE;
- }
-
- relativetext
- {
- timelib_sll i;
- int behavior = 0;
- DEBUG_OUTPUT("relativetext");
- TIMELIB_INIT;
- TIMELIB_HAVE_RELATIVE();
-
- while(*ptr) {
- i = timelib_get_relative_text((char **) &ptr, &behavior);
- timelib_eat_spaces((char **) &ptr);
- timelib_set_relative((char **) &ptr, i, behavior, s);
- }
- TIMELIB_DEINIT;
- return TIMELIB_RELATIVE;
- }
-
- monthfull | monthabbr
- {
- DEBUG_OUTPUT("monthtext");
- TIMELIB_INIT;
- TIMELIB_HAVE_DATE();
- s->time->m = timelib_lookup_month((char **) &ptr);
- TIMELIB_DEINIT;
- return TIMELIB_DATE_TEXT;
- }
-
- tzcorrection | tz
- {
- int tz_not_found;
- DEBUG_OUTPUT("tzcorrection | tz");
- TIMELIB_INIT;
- TIMELIB_HAVE_TZ();
- s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
- if (tz_not_found) {
- add_error(s, "The timezone could not be found in the database");
- }
- TIMELIB_DEINIT;
- return TIMELIB_TIMEZONE;
- }
-
- dateshortwithtimeshort12 | dateshortwithtimelong12
- {
- DEBUG_OUTPUT("dateshortwithtimeshort12 | dateshortwithtimelong12");
- TIMELIB_INIT;
- TIMELIB_HAVE_DATE();
- s->time->m = timelib_get_month((char **) &ptr);
- s->time->d = timelib_get_nr((char **) &ptr, 2);
-
- TIMELIB_HAVE_TIME();
- s->time->h = timelib_get_nr((char **) &ptr, 2);
- s->time->i = timelib_get_nr((char **) &ptr, 2);
- if (*ptr == ':' || *ptr == '.') {
- s->time->s = timelib_get_nr((char **) &ptr, 2);
-
- if (*ptr == '.') {
- s->time->f = timelib_get_frac_nr((char **) &ptr, 8);
- }
- }
-
- s->time->h += timelib_meridian((char **) &ptr, s->time->h);
- TIMELIB_DEINIT;
- return TIMELIB_SHORTDATE_WITH_TIME;
- }
-
- dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz
- {
- int tz_not_found;
- DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz");
- TIMELIB_INIT;
- TIMELIB_HAVE_DATE();
- s->time->m = timelib_get_month((char **) &ptr);
- s->time->d = timelib_get_nr((char **) &ptr, 2);
-
- TIMELIB_HAVE_TIME();
- s->time->h = timelib_get_nr((char **) &ptr, 2);
- s->time->i = timelib_get_nr((char **) &ptr, 2);
- if (*ptr == ':') {
- s->time->s = timelib_get_nr((char **) &ptr, 2);
-
- if (*ptr == '.') {
- s->time->f = timelib_get_frac_nr((char **) &ptr, 8);
- }
- }
-
- if (*ptr != '\0') {
- s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
- if (tz_not_found) {
- add_error(s, "The timezone could not be found in the database");
- }
- }
- TIMELIB_DEINIT;
- return TIMELIB_SHORTDATE_WITH_TIME;
- }
-
- relative
- {
- timelib_ull i;
- DEBUG_OUTPUT("relative");
- TIMELIB_INIT;
- TIMELIB_HAVE_RELATIVE();
-
- while(*ptr) {
- i = timelib_get_unsigned_nr((char **) &ptr, 24);
- timelib_eat_spaces((char **) &ptr);
- timelib_set_relative((char **) &ptr, i, 1, s);
- }
- TIMELIB_DEINIT;
- return TIMELIB_RELATIVE;
- }
-
- [ .,\t]
- {
- goto std;
- }
-
- "\000"|"\n"
- {
- s->pos = cursor; s->line++;
- goto std;
- }
-
- any
- {
- add_error(s, "Unexpected character");
- goto std;
- }
-*/
-}
-
-/*!max:re2c */
-
-timelib_time* timelib_strtotime(char *s, size_t len, struct timelib_error_container **errors, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_get_wrapper)
-{
- Scanner in;
- int t;
- char *e = s + len - 1;
-
- memset(&in, 0, sizeof(in));
- in.errors = malloc(sizeof(struct timelib_error_container));
- in.errors->warning_count = 0;
- in.errors->warning_messages = NULL;
- in.errors->error_count = 0;
- in.errors->error_messages = NULL;
-
- if (len > 0) {
- while (isspace(*s) && s < e) {
- s++;
- }
- while (isspace(*e) && e > s) {
- e--;
- }
- }
- if (e - s < 0) {
- in.time = timelib_time_ctor();
- add_error(&in, "Empty string");
- if (errors) {
- *errors = in.errors;
- } else {
- timelib_error_container_dtor(in.errors);
- }
- in.time->y = in.time->d = in.time->m = in.time->h = in.time->i = in.time->s = in.time->f = in.time->dst = in.time->z = TIMELIB_UNSET;
- in.time->is_localtime = in.time->zone_type = 0;
- return in.time;
- }
- e++;
-
- in.str = malloc((e - s) + YYMAXFILL);
- memset(in.str, 0, (e - s) + YYMAXFILL);
- memcpy(in.str, s, (e - s));
- in.lim = in.str + (e - s) + YYMAXFILL;
- in.cur = in.str;
- in.time = timelib_time_ctor();
- in.time->y = TIMELIB_UNSET;
- in.time->d = TIMELIB_UNSET;
- in.time->m = TIMELIB_UNSET;
- in.time->h = TIMELIB_UNSET;
- in.time->i = TIMELIB_UNSET;
- in.time->s = TIMELIB_UNSET;
- in.time->f = TIMELIB_UNSET;
- in.time->z = TIMELIB_UNSET;
- in.time->dst = TIMELIB_UNSET;
- in.tzdb = tzdb;
- in.time->is_localtime = 0;
- in.time->zone_type = 0;
- in.time->relative.days = TIMELIB_UNSET;
-
- do {
- t = scan(&in, tz_get_wrapper);
-#ifdef DEBUG_PARSER
- printf("%d\n", t);
-#endif
- } while(t != EOI);
-
- /* do funky checking whether the parsed time was valid time */
- if (in.time->have_time && !timelib_valid_time( in.time->h, in.time->i, in.time->s)) {
- add_warning(&in, "The parsed time was invalid");
- }
- /* do funky checking whether the parsed date was valid date */
- if (in.time->have_date && !timelib_valid_date( in.time->y, in.time->m, in.time->d)) {
- add_warning(&in, "The parsed date was invalid");
- }
-
- free(in.str);
- if (errors) {
- *errors = in.errors;
- } else {
- timelib_error_container_dtor(in.errors);
- }
- return in.time;
-}
-
-#define TIMELIB_CHECK_NUMBER \
- if (strchr("0123456789", *ptr) == NULL) \
- { \
- add_pbf_error(s, "Unexpected data found.", string, begin); \
- }
-
-static void timelib_time_reset_fields(timelib_time *time)
-{
- assert(time != NULL);
-
- time->y = 1970;
- time->m = 1;
- time->d = 1;
- time->h = time->i = time->s = 0;
- time->f = 0.0;
- time->tz_info = NULL;
-}
-
-static void timelib_time_reset_unset_fields(timelib_time *time)
-{
- assert(time != NULL);
-
- if (time->y == TIMELIB_UNSET ) time->y = 1970;
- if (time->m == TIMELIB_UNSET ) time->m = 1;
- if (time->d == TIMELIB_UNSET ) time->d = 1;
- if (time->h == TIMELIB_UNSET ) time->h = 0;
- if (time->i == TIMELIB_UNSET ) time->i = 0;
- if (time->s == TIMELIB_UNSET ) time->s = 0;
- if (time->f == TIMELIB_UNSET ) time->f = 0.0;
-}
-
-timelib_time *timelib_parse_from_format(char *format, char *string, size_t len, timelib_error_container **errors, const timelib_tzdb *tzdb, timelib_tz_get_wrapper tz_get_wrapper)
-{
- char *fptr = format;
- char *ptr = string;
- char *begin;
- timelib_sll tmp;
- Scanner in;
- Scanner *s = &in;
- int allow_extra = 0;
-
- memset(&in, 0, sizeof(in));
- in.errors = malloc(sizeof(struct timelib_error_container));
- in.errors->warning_count = 0;
- in.errors->warning_messages = NULL;
- in.errors->error_count = 0;
- in.errors->error_messages = NULL;
-
- in.time = timelib_time_ctor();
- in.time->y = TIMELIB_UNSET;
- in.time->d = TIMELIB_UNSET;
- in.time->m = TIMELIB_UNSET;
- in.time->h = TIMELIB_UNSET;
- in.time->i = TIMELIB_UNSET;
- in.time->s = TIMELIB_UNSET;
- in.time->f = TIMELIB_UNSET;
- in.time->z = TIMELIB_UNSET;
- in.time->dst = TIMELIB_UNSET;
- in.tzdb = tzdb;
- in.time->is_localtime = 0;
- in.time->zone_type = 0;
-
- /* Loop over the format string */
- while (*fptr && *ptr) {
- begin = ptr;
- switch (*fptr) {
- case 'D': /* three letter day */
- case 'l': /* full day */
- {
- const timelib_relunit* tmprel = 0;
-
- tmprel = timelib_lookup_relunit((char **) &ptr);
- if (!tmprel) {
- add_pbf_error(s, "A textual day could not be found", string, begin);
- break;
- } else {
- in.time->have_relative = 1;
- in.time->relative.have_weekday_relative = 1;
- in.time->relative.weekday = tmprel->multiplier;
- in.time->relative.weekday_behavior = 1;
- }
- }
- break;
- case 'd': /* two digit day, with leading zero */
- case 'j': /* two digit day, without leading zero */
- TIMELIB_CHECK_NUMBER;
- if ((s->time->d = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) {
- add_pbf_error(s, "A two digit day could not be found", string, begin);
- }
- break;
- case 'S': /* day suffix, ignored, nor checked */
- timelib_skip_day_suffix((char **) &ptr);
- break;
- case 'z': /* day of year - resets month (0 based) - also initializes everything else to !TIMELIB_UNSET */
- TIMELIB_CHECK_NUMBER;
- if ((tmp = timelib_get_nr((char **) &ptr, 3)) == TIMELIB_UNSET) {
- add_pbf_error(s, "A three digit day-of-year could not be found", string, begin);
- } else {
- s->time->m = 1;
- s->time->d = tmp + 1;
- timelib_do_normalize(s->time);
- }
- break;
-
- case 'm': /* two digit month, with leading zero */
- case 'n': /* two digit month, without leading zero */
- TIMELIB_CHECK_NUMBER;
- if ((s->time->m = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) {
- add_pbf_error(s, "A two digit month could not be found", string, begin);
- }
- break;
- case 'M': /* three letter month */
- case 'F': /* full month */
- tmp = timelib_lookup_month((char **) &ptr);
- if (!tmp) {
- add_pbf_error(s, "A textual month could not be found", string, begin);
- } else {
- s->time->m = tmp;
- }
- break;
- case 'y': /* two digit year */
- {
- int length = 0;
- TIMELIB_CHECK_NUMBER;
- if ((s->time->y = timelib_get_nr_ex((char **) &ptr, 2, &length)) == TIMELIB_UNSET) {
- add_pbf_error(s, "A two digit year could not be found", string, begin);
- }
- TIMELIB_PROCESS_YEAR(s->time->y, length);
- }
- break;
- case 'Y': /* four digit year */
- TIMELIB_CHECK_NUMBER;
- if ((s->time->y = timelib_get_nr((char **) &ptr, 4)) == TIMELIB_UNSET) {
- add_pbf_error(s, "A four digit year could not be found", string, begin);
- }
- break;
- case 'g': /* two digit hour, with leading zero */
- case 'h': /* two digit hour, without leading zero */
- TIMELIB_CHECK_NUMBER;
- if ((s->time->h = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) {
- add_pbf_error(s, "A two digit hour could not be found", string, begin);
- }
- if (s->time->h > 12) {
- add_pbf_error(s, "Hour can not be higher than 12", string, begin);
- }
- break;
- case 'G': /* two digit hour, with leading zero */
- case 'H': /* two digit hour, without leading zero */
- TIMELIB_CHECK_NUMBER;
- if ((s->time->h = timelib_get_nr((char **) &ptr, 2)) == TIMELIB_UNSET) {
- add_pbf_error(s, "A two digit hour could not be found", string, begin);
- }
- break;
- case 'a': /* am/pm/a.m./p.m. */
- case 'A': /* AM/PM/A.M./P.M. */
- if (s->time->h == TIMELIB_UNSET) {
- add_pbf_error(s, "Meridian can only come after an hour has been found", string, begin);
- } else if ((tmp = timelib_meridian_with_check((char **) &ptr, s->time->h)) == TIMELIB_UNSET) {
- add_pbf_error(s, "A meridian could not be found", string, begin);
- } else {
- s->time->h += tmp;
- }
- break;
- case 'i': /* two digit minute, with leading zero */
- {
- int length;
- timelib_sll min;
-
- TIMELIB_CHECK_NUMBER;
- min = timelib_get_nr_ex((char **) &ptr, 2, &length);
- if (min == TIMELIB_UNSET || length != 2) {
- add_pbf_error(s, "A two digit minute could not be found", string, begin);
- } else {
- s->time->i = min;
- }
- }
- break;
- case 's': /* two digit second, with leading zero */
- {
- int length;
- timelib_sll sec;
-
- TIMELIB_CHECK_NUMBER;
- sec = timelib_get_nr_ex((char **) &ptr, 2, &length);
- if (sec == TIMELIB_UNSET || length != 2) {
- add_pbf_error(s, "A two digit second could not be found", string, begin);
- } else {
- s->time->s = sec;
- }
- }
- break;
- case 'u': /* up to six digit millisecond */
- {
- double f;
- char *tptr;
-
- TIMELIB_CHECK_NUMBER;
- tptr = ptr;
- if ((f = timelib_get_nr((char **) &ptr, 6)) == TIMELIB_UNSET || (ptr - tptr < 1)) {
- add_pbf_error(s, "A six digit millisecond could not be found", string, begin);
- } else {
- s->time->f = (f / pow(10, (ptr - tptr)));
- }
- }
- break;
- case ' ': /* any sort of whitespace (' ' and \t) */
- timelib_eat_spaces((char **) &ptr);
- break;
- case 'U': /* epoch seconds */
- TIMELIB_CHECK_NUMBER;
- TIMELIB_HAVE_RELATIVE();
- tmp = timelib_get_unsigned_nr((char **) &ptr, 24);
- s->time->y = 1970;
- s->time->m = 1;
- s->time->d = 1;
- s->time->h = s->time->i = s->time->s = 0;
- s->time->f = 0.0;
- s->time->relative.s += tmp;
- s->time->is_localtime = 1;
- s->time->zone_type = TIMELIB_ZONETYPE_OFFSET;
- s->time->z = 0;
- s->time->dst = 0;
- break;
-
- case 'e': /* timezone */
- case 'P': /* timezone */
- case 'T': /* timezone */
- case 'O': /* timezone */
- {
- int tz_not_found;
- s->time->z = timelib_parse_zone((char **) &ptr, &s->time->dst, s->time, &tz_not_found, s->tzdb, tz_get_wrapper);
- if (tz_not_found) {
- add_pbf_error(s, "The timezone could not be found in the database", string, begin);
- }
- }
- break;
-
- case '#': /* separation symbol */
- if (*ptr == ';' || *ptr == ':' || *ptr == '/' || *ptr == '.' || *ptr == ',' || *ptr == '-' || *ptr == '(' || *ptr == ')') {
- ++ptr;
- } else {
- add_pbf_error(s, "The separation symbol ([;:/.,-]) could not be found", string, begin);
- }
- break;
-
- case ';':
- case ':':
- case '/':
- case '.':
- case ',':
- case '-':
- case '(':
- case ')':
- if (*ptr == *fptr) {
- ++ptr;
- } else {
- add_pbf_error(s, "The separation symbol could not be found", string, begin);
- }
- break;
-
- case '!': /* reset all fields to default */
- timelib_time_reset_fields(s->time);
- break; /* break intentionally not missing */
-
- case '|': /* reset all fields to default when not set */
- timelib_time_reset_unset_fields(s->time);
- break; /* break intentionally not missing */
-
- case '?': /* random char */
- ++ptr;
- break;
-
- case '\\': /* escaped char */
- if(!fptr[1]) {
- add_pbf_error(s, "Escaped character expected", string, begin);
- break;
- }
- fptr++;
- if (*ptr == *fptr) {
- ++ptr;
- } else {
- add_pbf_error(s, "The escaped character could not be found", string, begin);
- }
- break;
-
- case '*': /* random chars until a separator or number ([ \t.,:;/-0123456789]) */
- timelib_eat_until_separator((char **) &ptr);
- break;
-
- case '+': /* allow extra chars in the format */
- allow_extra = 1;
- break;
-
- default:
- if (*fptr != *ptr) {
- add_pbf_error(s, "The format separator does not match", string, begin);
- }
- ptr++;
- }
- fptr++;
- }
- if (*ptr) {
- if (allow_extra) {
- add_pbf_warning(s, "Trailing data", string, ptr);
- } else {
- add_pbf_error(s, "Trailing data", string, ptr);
- }
- }
- /* ignore trailing +'s */
- while (*fptr == '+') {
- fptr++;
- }
- if (*fptr) {
- /* Trailing | and ! specifiers are valid. */
- int done = 0;
- while (*fptr && !done) {
- switch (*fptr++) {
- case '!': /* reset all fields to default */
- timelib_time_reset_fields(s->time);
- break;
-
- case '|': /* reset all fields to default when not set */
- timelib_time_reset_unset_fields(s->time);
- break;
-
- default:
- add_pbf_error(s, "Data missing", string, ptr);
- done = 1;
- }
- }
- }
-
- /* clean up a bit */
- if (s->time->h != TIMELIB_UNSET || s->time->i != TIMELIB_UNSET || s->time->s != TIMELIB_UNSET) {
- if (s->time->h == TIMELIB_UNSET ) {
- s->time->h = 0;
- }
- if (s->time->i == TIMELIB_UNSET ) {
- s->time->i = 0;
- }
- if (s->time->s == TIMELIB_UNSET ) {
- s->time->s = 0;
- }
- }
-
- /* do funky checking whether the parsed time was valid time */
- if (s->time->h != TIMELIB_UNSET && s->time->i != TIMELIB_UNSET &&
- s->time->s != TIMELIB_UNSET &&
- !timelib_valid_time( s->time->h, s->time->i, s->time->s)) {
- add_pbf_warning(s, "The parsed time was invalid", string, ptr);
- }
- /* do funky checking whether the parsed date was valid date */
- if (s->time->y != TIMELIB_UNSET && s->time->m != TIMELIB_UNSET &&
- s->time->d != TIMELIB_UNSET &&
- !timelib_valid_date( s->time->y, s->time->m, s->time->d)) {
- add_pbf_warning(s, "The parsed date was invalid", string, ptr);
- }
-
- if (errors) {
- *errors = in.errors;
- } else {
- timelib_error_container_dtor(in.errors);
- }
- return in.time;
-}
-
-void timelib_fill_holes(timelib_time *parsed, timelib_time *now, int options)
-{
- if (!(options & TIMELIB_OVERRIDE_TIME) && parsed->have_date && !parsed->have_time) {
- parsed->h = 0;
- parsed->i = 0;
- parsed->s = 0;
- parsed->f = 0;
- }
- if (parsed->y == TIMELIB_UNSET) parsed->y = now->y != TIMELIB_UNSET ? now->y : 0;
- if (parsed->d == TIMELIB_UNSET) parsed->d = now->d != TIMELIB_UNSET ? now->d : 0;
- if (parsed->m == TIMELIB_UNSET) parsed->m = now->m != TIMELIB_UNSET ? now->m : 0;
- if (parsed->h == TIMELIB_UNSET) parsed->h = now->h != TIMELIB_UNSET ? now->h : 0;
- if (parsed->i == TIMELIB_UNSET) parsed->i = now->i != TIMELIB_UNSET ? now->i : 0;
- if (parsed->s == TIMELIB_UNSET) parsed->s = now->s != TIMELIB_UNSET ? now->s : 0;
- if (parsed->f == TIMELIB_UNSET) parsed->f = now->f != TIMELIB_UNSET ? now->f : 0;
- if (parsed->z == TIMELIB_UNSET) parsed->z = now->z != TIMELIB_UNSET ? now->z : 0;
- if (parsed->dst == TIMELIB_UNSET) parsed->dst = now->dst != TIMELIB_UNSET ? now->dst : 0;
-
- if (!parsed->tz_abbr) {
- parsed->tz_abbr = now->tz_abbr ? strdup(now->tz_abbr) : NULL;
- }
- if (!parsed->tz_info) {
- parsed->tz_info = now->tz_info ? (!(options & TIMELIB_NO_CLONE) ? timelib_tzinfo_clone(now->tz_info) : now->tz_info) : NULL;
- }
- if (parsed->zone_type == 0 && now->zone_type != 0) {
- parsed->zone_type = now->zone_type;
-/* parsed->tz_abbr = now->tz_abbr ? strdup(now->tz_abbr) : NULL;
- parsed->tz_info = now->tz_info ? timelib_tzinfo_clone(now->tz_info) : NULL;
-*/ parsed->is_localtime = 1;
- }
-/* timelib_dump_date(parsed, 2);
- timelib_dump_date(now, 2);
-*/
-}
-
-char *timelib_timezone_id_from_abbr(const char *abbr, timelib_long gmtoffset, int isdst)
-{
- const timelib_tz_lookup_table *tp;
-
- tp = abbr_search(abbr, gmtoffset, isdst);
- if (tp) {
- return (tp->full_tz_name);
- } else {
- return NULL;
- }
-}
-
-const timelib_tz_lookup_table *timelib_timezone_abbreviations_list(void)
-{
- return timelib_timezone_lookup;
-}
-
-#ifdef DEBUG_PARSER_STUB
-int main(void)
-{
- timelib_time time = timelib_strtotime("May 12");
-
- printf ("%04d-%02d-%02d %02d:%02d:%02d.%-5d %+04d %1d",
- time.y, time.m, time.d, time.h, time.i, time.s, time.f, time.z, time.dst);
- if (time.have_relative) {
- printf ("%3dY %3dM %3dD / %3dH %3dM %3dS",
- time.relative.y, time.relative.m, time.relative.d, time.relative.h, time.relative.i, time.relative.s);
- }
- if (time.have_weekday_relative) {
- printf (" / %d", time.relative.weekday);
- }
- if (time.have_weeknr_day) {
- printf(" / %dW%d", time.relative.weeknr_day.weeknr, time.relative.weeknr_day.dayofweek);
- }
- return 0;
-}
-#endif
-
-/*
- * vim: syntax=c
- */
diff --git a/test/php20150211_parse_iso_intervals.ig--skeleton.c b/test/php20150211_parse_iso_intervals.ig--skeleton.c
index c11bcec6..b0ae216b 100644
--- a/test/php20150211_parse_iso_intervals.ig--skeleton.c
+++ b/test/php20150211_parse_iso_intervals.ig--skeleton.c
@@ -1,7 +1,9 @@
/* Generated by re2c */
+#include <stddef.h> /* size_t */
#include <stdio.h>
#include <stdlib.h> /* malloc, free */
+#include <string.h> /* memcpy */
static void *read_file
( const char *fname
@@ -58,7 +60,7 @@ error:
#define YYFILL(n) { break; }
static int action_line393
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -66,10 +68,12 @@ static int action_line393
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -79,17 +83,17 @@ static int action_line393
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line393: at position %ld (iteration %u):\n"
+ , "error: lex_line393: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -99,6 +103,13 @@ static int action_line393
}
}
+static int check_key_count_line393(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line393: not enough keys\n");
+ return 1;
+}
+
int lex_line393()
{
const size_t padding = 20; /* YYMAXFILL */
@@ -126,7 +137,7 @@ int lex_line393()
keys = (YYKEYTYPE *) read_file
("php20150211_parse_iso_intervals.ig--skeleton.c.line393.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -139,7 +150,7 @@ int lex_line393()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -220,16 +231,19 @@ int lex_line393()
}
yy2:
YYSKIP ();
- status = action_line393(i, keys, input, token, &cursor, 5);
+ status = check_key_count_line393(keys_count, i, 3)
+ || action_line393(&i, keys, input, token, &cursor, 5);
continue;
yy4:
YYSKIP ();
yy5:
- status = action_line393(i, keys, input, token, &cursor, 6);
+ status = check_key_count_line393(keys_count, i, 3)
+ || action_line393(&i, keys, input, token, &cursor, 6);
continue;
yy6:
YYSKIP ();
- status = action_line393(i, keys, input, token, &cursor, 4);
+ status = check_key_count_line393(keys_count, i, 3)
+ || action_line393(&i, keys, input, token, &cursor, 4);
continue;
yy8:
yyaccept = 0;
@@ -248,7 +262,8 @@ yy9:
if (yych <= '9') goto yy14;
if (yych == 'T') goto yy15;
yy10:
- status = action_line393(i, keys, input, token, &cursor, 2);
+ status = check_key_count_line393(keys_count, i, 3)
+ || action_line393(&i, keys, input, token, &cursor, 2);
continue;
yy11:
YYSKIP ();
@@ -324,7 +339,8 @@ yy16:
if (yybm[0+yych] & 128) {
goto yy16;
}
- status = action_line393(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line393(keys_count, i, 3)
+ || action_line393(&i, keys, input, token, &cursor, 0);
continue;
yy19:
YYSKIP ();
@@ -576,7 +592,6 @@ yy36:
goto yy10;
yy37:
YYSKIP ();
- yych = YYPEEK ();
goto yy10;
yy38:
YYSKIP ();
@@ -913,7 +928,8 @@ yy88:
goto yy13;
yy89:
YYSKIP ();
- status = action_line393(i, keys, input, token, &cursor, 1);
+ status = check_key_count_line393(keys_count, i, 3)
+ || action_line393(&i, keys, input, token, &cursor, 1);
continue;
yy91:
YYSKIP ();
@@ -932,7 +948,8 @@ yy91:
if (yych <= '/') goto yy13;
if (yych >= ':') goto yy13;
YYSKIP ();
- status = action_line393(i, keys, input, token, &cursor, 3);
+ status = check_key_count_line393(keys_count, i, 3)
+ || action_line393(&i, keys, input, token, &cursor, 3);
continue;
}
@@ -944,7 +961,7 @@ yy91:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line393: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line393: unused keys left after %u keys\n", i);
}
}
@@ -963,7 +980,6 @@ end:
#undef YYRESTORE
#undef YYLESSTHAN
#undef YYFILL
-#define YYMAXFILL 20
int main()
{
diff --git a/test/php20150211_parse_iso_intervals.ig.c b/test/php20150211_parse_iso_intervals.ig.c
index 70b06e7b..b86ca923 100644
--- a/test/php20150211_parse_iso_intervals.ig.c
+++ b/test/php20150211_parse_iso_intervals.ig.c
@@ -709,7 +709,7 @@ yy36:
if (yych <= '9') goto yy44;
goto yy10;
yy37:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy10;
yy38:
yych = *++YYCURSOR;
@@ -1063,6 +1063,7 @@ yy91:
#define YYMAXFILL 20
+
void timelib_strtointerval(char *s, size_t len,
timelib_time **begin, timelib_time **end,
timelib_rel_time **period, int *recurrences,
diff --git a/test/php20150211_pdo_sql_parser.ig--skeleton.c b/test/php20150211_pdo_sql_parser.ig--skeleton.c
index ea218169..2d5ace6a 100644
--- a/test/php20150211_pdo_sql_parser.ig--skeleton.c
+++ b/test/php20150211_pdo_sql_parser.ig--skeleton.c
@@ -1,7 +1,9 @@
/* Generated by re2c */
+#include <stddef.h> /* size_t */
#include <stdio.h>
#include <stdlib.h> /* malloc, free */
+#include <string.h> /* memcpy */
static void *read_file
( const char *fname
@@ -58,7 +60,7 @@ error:
#define YYFILL(n) { break; }
static int action_line66
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -66,10 +68,12 @@ static int action_line66
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -79,17 +83,17 @@ static int action_line66
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line66: at position %ld (iteration %u):\n"
+ , "error: lex_line66: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -99,6 +103,13 @@ static int action_line66
}
}
+static int check_key_count_line66(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line66: not enough keys\n");
+ return 1;
+}
+
int lex_line66()
{
const size_t padding = 2; /* YYMAXFILL */
@@ -126,7 +137,7 @@ int lex_line66()
keys = (YYKEYTYPE *) read_file
("php20150211_pdo_sql_parser.ig--skeleton.c.line66.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -139,11 +150,10 @@ int lex_line66()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
- unsigned int yyaccept = 0;
static const unsigned char yybm[] = {
/* table 1 .. 8: 0 */
96, 99, 99, 99, 99, 99, 99, 99,
@@ -254,11 +264,7 @@ int lex_line66()
}
yy2:
YYRESTORE ();
- if (yyaccept == 0) {
- goto yy7;
- } else {
- goto yy5;
- }
+ goto yy7;
yy3:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
@@ -267,20 +273,19 @@ yy4:
if (yybm[256+yych] & 32) {
goto yy3;
}
-yy5:
- status = action_line66(i, keys, input, token, &cursor, 7);
+ status = check_key_count_line66(keys_count, i, 3)
+ || action_line66(&i, keys, input, token, &cursor, 7);
continue;
yy6:
- yyaccept = 0;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
if (yych >= 0x01) goto yy15;
yy7:
- status = action_line66(i, keys, input, token, &cursor, 5);
+ status = check_key_count_line66(keys_count, i, 3)
+ || action_line66(&i, keys, input, token, &cursor, 5);
continue;
yy8:
- yyaccept = 0;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
@@ -294,23 +299,25 @@ yy9:
yy10:
YYSKIP ();
yych = YYPEEK ();
- if (yych == '*') goto yy27;
+ if (yych == '*') goto yy26;
goto yy4;
yy11:
YYSKIP ();
yych = YYPEEK ();
if (yybm[0+yych] & 4) {
- goto yy29;
+ goto yy28;
}
if (yych <= '/') goto yy7;
- if (yych <= ':') goto yy32;
+ if (yych <= ':') goto yy31;
goto yy7;
yy12:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy35;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy34;
}
- status = action_line66(i, keys, input, token, &cursor, 4);
+ status = check_key_count_line66(keys_count, i, 3)
+ || action_line66(&i, keys, input, token, &cursor, 4);
continue;
yy14:
YYSKIP ();
@@ -323,7 +330,8 @@ yy15:
if (yych <= 0x00) goto yy2;
if (yych >= '#') goto yy18;
YYSKIP ();
- status = action_line66(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line66(keys_count, i, 3)
+ || action_line66(&i, keys, input, token, &cursor, 0);
continue;
yy18:
YYSKIP ();
@@ -342,7 +350,8 @@ yy20:
if (yych <= 0x00) goto yy2;
if (yych >= '(') goto yy23;
YYSKIP ();
- status = action_line66(i, keys, input, token, &cursor, 1);
+ status = check_key_count_line66(keys_count, i, 3)
+ || action_line66(&i, keys, input, token, &cursor, 1);
continue;
yy23:
YYSKIP ();
@@ -357,59 +366,59 @@ yy24:
if (yybm[0+yych] & 1) {
goto yy24;
}
- if (yych <= 0x00) goto yy37;
+ if (yych <= 0x00) goto yy36;
if (yych <= '\r') goto yy3;
- goto yy37;
+ goto yy36;
yy26:
- status = action_line66(i, keys, input, token, &cursor, 6);
- continue;
-yy27:
- yyaccept = 1;
YYSKIP ();
- YYBACKUP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
if (yybm[0+yych] & 2) {
- goto yy27;
+ goto yy26;
}
if (yych <= '\'') goto yy39;
if (yych <= '*') goto yy41;
goto yy39;
-yy29:
+yy28:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
if (yybm[0+yych] & 4) {
- goto yy29;
+ goto yy28;
}
- status = action_line66(i, keys, input, token, &cursor, 3);
+ status = check_key_count_line66(keys_count, i, 3)
+ || action_line66(&i, keys, input, token, &cursor, 3);
continue;
-yy32:
+yy31:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
if (yybm[0+yych] & 8) {
- goto yy32;
+ goto yy31;
}
-yy34:
- status = action_line66(i, keys, input, token, &cursor, 2);
+yy33:
+ status = check_key_count_line66(keys_count, i, 3)
+ || action_line66(&i, keys, input, token, &cursor, 2);
continue;
-yy35:
+yy34:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
if (yybm[0+yych] & 16) {
- goto yy35;
+ goto yy34;
}
- goto yy34;
-yy37:
+ goto yy33;
+yy36:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
if (yybm[0+yych] & 32) {
- goto yy37;
+ goto yy36;
}
- goto yy26;
+yy38:
+ status = check_key_count_line66(keys_count, i, 3)
+ || action_line66(&i, keys, input, token, &cursor, 6);
+ continue;
yy39:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
@@ -419,45 +428,43 @@ yy39:
}
goto yy43;
yy41:
- yyaccept = 1;
YYSKIP ();
- YYBACKUP ();
if (YYLESSTHAN (2)) YYFILL(2);
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy39, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy39, &&yy27, &&yy27, &&yy27, &&yy27, &&yy39,
- &&yy27, &&yy27, &&yy41, &&yy27, &&yy27, &&yy27, &&yy27, &&yy45,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy39, &&yy27, &&yy27, &&yy27, &&yy27, &&yy39,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27
+ &&yy39, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy39, &&yy26, &&yy26, &&yy26, &&yy26, &&yy39,
+ &&yy26, &&yy26, &&yy41, &&yy26, &&yy26, &&yy26, &&yy26, &&yy45,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy39, &&yy26, &&yy26, &&yy26, &&yy26, &&yy39,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26
};
goto *yytarget[yych];
}
@@ -474,11 +481,10 @@ yy45:
if (yybm[256+yych] & 32) {
goto yy3;
}
- goto yy26;
+ goto yy38;
yy46:
YYSKIP ();
- yych = YYPEEK ();
- goto yy26;
+ goto yy38;
}
if (status == 0) {
@@ -489,7 +495,7 @@ yy46:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line66: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line66: unused keys left after %u keys\n", i);
}
}
diff --git a/test/php20150211_pdo_sql_parser.ig.c b/test/php20150211_pdo_sql_parser.ig.c
index 04ddaf4b..37e96b90 100644
--- a/test/php20150211_pdo_sql_parser.ig.c
+++ b/test/php20150211_pdo_sql_parser.ig.c
@@ -51,7 +51,6 @@ static int scan(Scanner *s)
{
YYCTYPE yych;
- unsigned int yyaccept = 0;
static const unsigned char yybm[] = {
/* table 1 .. 8: 0 */
96, 99, 99, 99, 99, 99, 99, 99,
@@ -161,11 +160,7 @@ static int scan(Scanner *s)
}
yy2:
YYCURSOR = YYMARKER;
- if (yyaccept == 0) {
- goto yy7;
- } else {
- goto yy5;
- }
+ goto yy7;
yy3:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -174,16 +169,13 @@ yy4:
if (yybm[256+yych] & 32) {
goto yy3;
}
-yy5:
{ RET(PDO_PARSER_TEXT); }
yy6:
- yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if (yych >= 0x01) goto yy15;
yy7:
{ SKIP_ONE(PDO_PARSER_TEXT); }
yy8:
- yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= 0x00) goto yy7;
goto yy20;
@@ -193,20 +185,20 @@ yy9:
goto yy4;
yy10:
yych = *++YYCURSOR;
- if (yych == '*') goto yy27;
+ if (yych == '*') goto yy26;
goto yy4;
yy11:
yych = *++YYCURSOR;
if (yybm[0+yych] & 4) {
- goto yy29;
+ goto yy28;
}
if (yych <= '/') goto yy7;
- if (yych <= ':') goto yy32;
+ if (yych <= ':') goto yy31;
goto yy7;
yy12:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy35;
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy34;
}
{ RET(PDO_PARSER_BIND_POS); }
yy14:
@@ -252,55 +244,53 @@ yy24:
if (yybm[0+yych] & 1) {
goto yy24;
}
- if (yych <= 0x00) goto yy37;
+ if (yych <= 0x00) goto yy36;
if (yych <= '\r') goto yy3;
- goto yy37;
+ goto yy36;
yy26:
- { RET(PDO_PARSER_TEXT); }
-yy27:
- yyaccept = 1;
- YYMARKER = ++YYCURSOR;
+ ++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 2) {
- goto yy27;
+ goto yy26;
}
if (yych <= '\'') goto yy39;
if (yych <= '*') goto yy41;
goto yy39;
-yy29:
+yy28:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 4) {
- goto yy29;
+ goto yy28;
}
{ RET(PDO_PARSER_BIND); }
-yy32:
+yy31:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 8) {
- goto yy32;
+ goto yy31;
}
-yy34:
+yy33:
{ RET(PDO_PARSER_TEXT); }
-yy35:
+yy34:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 16) {
- goto yy35;
+ goto yy34;
}
- goto yy34;
-yy37:
+ goto yy33;
+yy36:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 32) {
- goto yy37;
+ goto yy36;
}
- goto yy26;
+yy38:
+ { RET(PDO_PARSER_TEXT); }
yy39:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -310,44 +300,43 @@ yy39:
}
goto yy43;
yy41:
- yyaccept = 1;
- YYMARKER = ++YYCURSOR;
+ ++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
{
static void *yytarget[256] = {
- &&yy39, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy39, &&yy27, &&yy27, &&yy27, &&yy27, &&yy39,
- &&yy27, &&yy27, &&yy41, &&yy27, &&yy27, &&yy27, &&yy27, &&yy45,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy39, &&yy27, &&yy27, &&yy27, &&yy27, &&yy39,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27,
- &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27, &&yy27
+ &&yy39, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy39, &&yy26, &&yy26, &&yy26, &&yy26, &&yy39,
+ &&yy26, &&yy26, &&yy41, &&yy26, &&yy26, &&yy26, &&yy26, &&yy45,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy39, &&yy26, &&yy26, &&yy26, &&yy26, &&yy39,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
+ &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26
};
goto *yytarget[yych];
}
@@ -363,11 +352,10 @@ yy45:
if (yybm[256+yych] & 32) {
goto yy3;
}
- goto yy26;
+ goto yy38;
yy46:
++YYCURSOR;
- yych = *YYCURSOR;
- goto yy26;
+ goto yy38;
}
}
diff --git a/test/php20150211_pdo_sql_parser_trimmed.ig--skeleton.c b/test/php20150211_pdo_sql_parser_trimmed.ig--skeleton.c
new file mode 100644
index 00000000..91607066
--- /dev/null
+++ b/test/php20150211_pdo_sql_parser_trimmed.ig--skeleton.c
@@ -0,0 +1,845 @@
+/* Generated by re2c */
+
+#include <stddef.h> /* size_t */
+#include <stdio.h>
+#include <stdlib.h> /* malloc, free */
+#include <string.h> /* memcpy */
+
+static void *read_file
+ ( const char *fname
+ , size_t unit
+ , size_t padding
+ , size_t *pfsize
+ )
+{
+ void *buffer = NULL;
+ size_t fsize = 0;
+
+ /* open file */
+ FILE *f = fopen(fname, "rb");
+ if(f == NULL) {
+ goto error;
+ }
+
+ /* get file size */
+ fseek(f, 0, SEEK_END);
+ fsize = (size_t) ftell(f) / unit;
+ fseek(f, 0, SEEK_SET);
+
+ /* allocate memory for file and padding */
+ buffer = malloc(unit * (fsize + padding));
+ if (buffer == NULL) {
+ goto error;
+ }
+
+ /* read the whole file in memory */
+ if (fread(buffer, unit, fsize, f) != fsize) {
+ goto error;
+ }
+
+ fclose(f);
+ *pfsize = fsize;
+ return buffer;
+
+error:
+ fprintf(stderr, "error: cannot read file '%s'\n", fname);
+ free(buffer);
+ if (f != NULL) {
+ fclose(f);
+ }
+ return NULL;
+}
+
+#define YYCTYPE unsigned char
+#define YYKEYTYPE unsigned char
+#define YYPEEK() *cursor
+#define YYSKIP() ++cursor
+#define YYBACKUP() marker = cursor
+#define YYRESTORE() cursor = marker
+#define YYLESSTHAN(n) (limit - cursor) < n
+#define YYFILL(n) { break; }
+
+static int action_line20
+ ( unsigned *pkix
+ , const YYKEYTYPE *keys
+ , const YYCTYPE *start
+ , const YYCTYPE *token
+ , const YYCTYPE **cursor
+ , YYKEYTYPE rule_act
+ )
+{
+ const unsigned kix = *pkix;
+ const long pos = token - start;
+ const long len_act = *cursor - token;
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
+ if (rule_exp == 255) {
+ fprintf
+ ( stderr
+ , "warning: lex_line20: control flow is undefined for input"
+ " at position %ld, rerun re2c with '-W'\n"
+ , pos
+ );
+ }
+ if (len_act == len_exp && rule_act == rule_exp) {
+ const YYKEYTYPE offset = keys[kix];
+ *cursor = token + offset;
+ return 0;
+ } else {
+ fprintf
+ ( stderr
+ , "error: lex_line20: at position %ld (key %u):\n"
+ "\texpected: match length %ld, rule %u\n"
+ "\tactual: match length %ld, rule %u\n"
+ , pos
+ , kix
+ , len_exp
+ , rule_exp
+ , len_act
+ , rule_act
+ );
+ return 1;
+ }
+}
+
+static int check_key_count_line20(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line20: not enough keys\n");
+ return 1;
+}
+
+int lex_line20()
+{
+ const size_t padding = 2; /* YYMAXFILL */
+ int status = 0;
+ size_t input_len = 0;
+ size_t keys_count = 0;
+ YYCTYPE *input = NULL;
+ YYKEYTYPE *keys = NULL;
+ const YYCTYPE *cursor = NULL;
+ const YYCTYPE *limit = NULL;
+ const YYCTYPE *token = NULL;
+ const YYCTYPE *eof = NULL;
+ unsigned int i = 0;
+
+ input = (YYCTYPE *) read_file
+ ("php20150211_pdo_sql_parser_trimmed.ig--skeleton.c.line20.input"
+ , sizeof (YYCTYPE)
+ , padding
+ , &input_len
+ );
+ if (input == NULL) {
+ status = 1;
+ goto end;
+ }
+
+ keys = (YYKEYTYPE *) read_file
+ ("php20150211_pdo_sql_parser_trimmed.ig--skeleton.c.line20.keys"
+ , sizeof (YYKEYTYPE)
+ , 0
+ , &keys_count
+ );
+ if (keys == NULL) {
+ status = 1;
+ goto end;
+ }
+
+ cursor = input;
+ limit = input + input_len + padding;
+ eof = input + input_len;
+
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
+ token = cursor;
+ const YYCTYPE *marker = NULL;
+ YYCTYPE yych;
+ static const unsigned char yybm[] = {
+ /* table 1 .. 8: 0 */
+ 96, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 66, 99, 99, 66, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 96, 99, 99, 99, 99, 96,
+ 99, 99, 161, 99, 99, 99, 99, 99,
+ 103, 103, 103, 103, 103, 103, 103, 103,
+ 103, 103, 104, 99, 99, 99, 99, 112,
+ 99, 103, 103, 103, 103, 103, 103, 103,
+ 103, 103, 103, 103, 103, 103, 103, 103,
+ 103, 103, 103, 103, 103, 103, 103, 103,
+ 103, 103, 103, 99, 99, 99, 99, 103,
+ 99, 103, 103, 103, 103, 103, 103, 103,
+ 103, 103, 103, 103, 103, 103, 103, 103,
+ 103, 103, 103, 103, 103, 103, 103, 103,
+ 103, 103, 103, 99, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99,
+ /* table 9 .. 11: 256 */
+ 0, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 128, 224, 224, 224, 224, 64,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 192, 224, 224, 224, 224, 192,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 32, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ };
+
+ if (YYLESSTHAN (2)) YYFILL(2);
+ yych = YYPEEK ();
+ {
+ static void *yytarget[256] = {
+ &&yy2, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy7, &&yy4, &&yy4, &&yy4, &&yy4, &&yy9,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy10, &&yy4, &&yy11,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy12, &&yy4, &&yy4, &&yy4, &&yy4, &&yy13,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4
+ };
+ goto *yytarget[yych];
+ }
+yy2:
+ YYSKIP ();
+ status = check_key_count_line20(keys_count, i, 3)
+ || action_line20(&i, keys, input, token, &cursor, 254);
+ continue;
+yy4:
+ YYSKIP ();
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+yy5:
+ if (yybm[256+yych] & 32) {
+ goto yy4;
+ }
+ status = check_key_count_line20(keys_count, i, 3)
+ || action_line20(&i, keys, input, token, &cursor, 7);
+ continue;
+yy7:
+ YYSKIP ();
+ YYBACKUP ();
+ yych = YYPEEK ();
+ if (yych >= 0x01) goto yy16;
+yy8:
+ status = check_key_count_line20(keys_count, i, 3)
+ || action_line20(&i, keys, input, token, &cursor, 5);
+ continue;
+yy9:
+ YYSKIP ();
+ YYBACKUP ();
+ yych = YYPEEK ();
+ if (yych <= 0x00) goto yy8;
+ goto yy22;
+yy10:
+ YYSKIP ();
+ yych = YYPEEK ();
+ if (yych == '-') goto yy26;
+ goto yy5;
+yy11:
+ YYSKIP ();
+ yych = YYPEEK ();
+ if (yych == '*') goto yy28;
+ goto yy5;
+yy12:
+ YYSKIP ();
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 4) {
+ goto yy30;
+ }
+ if (yych <= '/') goto yy8;
+ if (yych <= ':') goto yy33;
+ goto yy8;
+yy13:
+ YYSKIP ();
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy36;
+ }
+ status = check_key_count_line20(keys_count, i, 3)
+ || action_line20(&i, keys, input, token, &cursor, 4);
+ continue;
+yy15:
+ YYSKIP ();
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+yy16:
+ if (yybm[256+yych] & 64) {
+ goto yy15;
+ }
+ if (yych <= 0x00) goto yy17;
+ if (yych <= '"') goto yy18;
+ goto yy20;
+yy17:
+ YYRESTORE ();
+ goto yy8;
+yy18:
+ YYSKIP ();
+ status = check_key_count_line20(keys_count, i, 3)
+ || action_line20(&i, keys, input, token, &cursor, 0);
+ continue;
+yy20:
+ YYSKIP ();
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ if (yych <= 0x00) goto yy17;
+ goto yy15;
+yy21:
+ YYSKIP ();
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+yy22:
+ if (yybm[256+yych] & 128) {
+ goto yy21;
+ }
+ if (yych <= 0x00) goto yy17;
+ if (yych >= '(') goto yy25;
+ YYSKIP ();
+ status = check_key_count_line20(keys_count, i, 3)
+ || action_line20(&i, keys, input, token, &cursor, 1);
+ continue;
+yy25:
+ YYSKIP ();
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ if (yych <= 0x00) goto yy17;
+ goto yy21;
+yy26:
+ YYSKIP ();
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 1) {
+ goto yy26;
+ }
+ if (yych <= 0x00) goto yy38;
+ if (yych <= '\r') goto yy4;
+ goto yy38;
+yy28:
+ YYSKIP ();
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 2) {
+ goto yy28;
+ }
+ if (yych <= '\'') goto yy41;
+ if (yych <= '*') goto yy43;
+ goto yy41;
+yy30:
+ YYSKIP ();
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 4) {
+ goto yy30;
+ }
+ status = check_key_count_line20(keys_count, i, 3)
+ || action_line20(&i, keys, input, token, &cursor, 3);
+ continue;
+yy33:
+ YYSKIP ();
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 8) {
+ goto yy33;
+ }
+yy35:
+ status = check_key_count_line20(keys_count, i, 3)
+ || action_line20(&i, keys, input, token, &cursor, 2);
+ continue;
+yy36:
+ YYSKIP ();
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy36;
+ }
+ goto yy35;
+yy38:
+ YYSKIP ();
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 32) {
+ goto yy38;
+ }
+yy40:
+ status = check_key_count_line20(keys_count, i, 3)
+ || action_line20(&i, keys, input, token, &cursor, 6);
+ continue;
+yy41:
+ YYSKIP ();
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 64) {
+ goto yy41;
+ }
+ goto yy45;
+yy43:
+ YYSKIP ();
+ if (YYLESSTHAN (2)) YYFILL(2);
+ yych = YYPEEK ();
+ {
+ static void *yytarget[256] = {
+ &&yy41, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy41, &&yy28, &&yy28, &&yy28, &&yy28, &&yy41,
+ &&yy28, &&yy28, &&yy43, &&yy28, &&yy28, &&yy28, &&yy28, &&yy47,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy41, &&yy28, &&yy28, &&yy28, &&yy28, &&yy41,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28
+ };
+ goto *yytarget[yych];
+ }
+yy45:
+ YYSKIP ();
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ if (yych == '*') goto yy45;
+ if (yych == '/') goto yy48;
+ goto yy41;
+yy47:
+ YYSKIP ();
+ yych = YYPEEK ();
+ if (yybm[256+yych] & 32) {
+ goto yy4;
+ }
+ goto yy40;
+yy48:
+ YYSKIP ();
+ goto yy40;
+
+ }
+ if (status == 0) {
+ if (cursor != eof) {
+ status = 1;
+ const long pos = token - input;
+ fprintf(stderr, "error: lex_line20: unused input strings left at position %ld\n", pos);
+ }
+ if (i != keys_count) {
+ status = 1;
+ fprintf(stderr, "error: lex_line20: unused keys left after %u keys\n", i);
+ }
+ }
+
+end:
+ free(input);
+ free(keys);
+
+ return status;
+}
+
+#undef YYCTYPE
+#undef YYKEYTYPE
+#undef YYPEEK
+#undef YYSKIP
+#undef YYBACKUP
+#undef YYRESTORE
+#undef YYLESSTHAN
+#undef YYFILL
+
+int main()
+{
+ if(lex_line20() != 0) {
+ return 1;
+ }
+ return 0;
+}
+
+
+?
+?
+
+"" "" "" """""""""""""""""""""""""""""""""""""" ""!!""##""$$""%%""&&""''""((""))""**""++"",,""--""..""//""00""11""22""33""44""55""66""77""88""99""::"";;""<<""=="">>""??""@@""AA""BB""CC""DD""EE""FF""GG""HH""II""JJ""KK""LL""MM""NN""OO""PP""QQ""RR""SS""TT""UU""VV""WW""XX""YY""ZZ""[[""]]""^^""__""``""aa""bb""cc""dd""ee""ff""gg""hh""ii""jj""kk""ll""mm""nn""oo""pp""qq""rr""ss""tt""uu""vv""ww""xx""yy""zz""{{""||""}}""~~""""€€""""‚‚""ƒƒ""„„""……""††""‡‡""ˆˆ""‰‰""ŠŠ""‹‹""ŒŒ""""ŽŽ""""""‘‘""’’""““""””""••""––""——""˜˜""™™""šš""››""œœ""""žž""ŸŸ""  ""¡¡""¢¢""££""¤¤""¥¥""¦¦""§§""¨¨""©©""ªª""««""¬¬""­­""®®""¯¯""°°""±±""²²""³³""´´""µµ""¶¶""··""¸¸""¹¹""ºº""»»""¼¼""½½""¾¾""¿¿""ÀÀ""ÁÁ""ÂÂ""ÃÃ""ÄÄ""ÅÅ""ÆÆ""ÇÇ""ÈÈ""ÉÉ""ÊÊ""ËË""ÌÌ""ÍÍ""ÎÎ""ÏÏ""ÐÐ""ÑÑ""ÒÒ""ÓÓ""ÔÔ""ÕÕ""ÖÖ""××""ØØ""ÙÙ""ÚÚ""ÛÛ""ÜÜ""ÝÝ""ÞÞ""ßß""àà""áá""ââ""ãã""ää""åå""ææ""çç""èè""éé""êê""ëë""ìì""íí""îî""ïï""ðð""ññ""òò""óó""ôô""õõ""öö""÷÷""øø""ùù""úú""ûû""üü""ýý""þþ""ÿÿ""\""\""\""\""\""\""\""\"" \ ""
+
+\
+"" \ "" \ "" \ ""\""\""\""\""\""\""\""\""\""\""\""\""\""\""\""\""\""\"" \ ""!!\!""##\"""$$\#""%%\$""&&\%""''\&""((\'""))\(""**\)""++\*"",,\+""--\,""..\-""//\.""00\/""11\0""22\1""33\2""44\3""55\4""66\5""77\6""88\7""99\8""::\9"";;\:""<<\;""==\<"">>\=""??\>""@@\?""AA\@""BB\A""CC\B""DD\C""EE\D""FF\E""GG\F""HH\G""II\H""JJ\I""KK\J""LL\K""MM\L""NN\M""OO\N""PP\O""QQ\P""RR\Q""SS\R""TT\S""UU\T""VV\U""WW\V""XX\W""YY\X""ZZ\Y""[[\Z""]]\[""^^\\""__\]""``\^""aa\_""bb\`""cc\a""dd\b""ee\c""ff\d""gg\e""hh\f""ii\g""jj\h""kk\i""ll\j""mm\k""nn\l""oo\m""pp\n""qq\o""rr\p""ss\q""tt\r""uu\s""vv\t""ww\u""xx\v""yy\w""zz\x""{{\y""||\z""}}\{""~~\|""\}""€€\~""\""‚‚\€""ƒƒ\""„„\‚""……\ƒ""††\„""‡‡\…""ˆˆ\†""‰‰\‡""ŠŠ\ˆ""‹‹\‰""ŒŒ\Š""\‹""ŽŽ\Œ""\""\Ž""‘‘\""’’\""““\‘""””\’""••\“""––\”""——\•""˜˜\–""™™\—""šš\˜""››\™""œœ\š""\›""žž\œ""ŸŸ\""  \ž""¡¡\Ÿ""¢¢\ ""££\¡""¤¤\¢""¥¥\£""¦¦\¤""§§\¥""¨¨\¦""©©\§""ªª\¨""««\©""¬¬\ª""­­\«""®®\¬""¯¯\­""°°\®""±±\¯""²²\°""³³\±""´´\²""µµ\³""¶¶\´""··\µ""¸¸\¶""¹¹\·""ºº\¸""»»\¹""¼¼\º""½½\»""¾¾\¼""¿¿\½""ÀÀ\¾""ÁÁ\¿""ÂÂ\À""ÃÃ\Á""ÄÄ\Â""ÅÅ\Ã""ÆÆ\Ä""ÇÇ\Å""ÈÈ\Æ""ÉÉ\Ç""ÊÊ\È""ËË\É""ÌÌ\Ê""ÍÍ\Ë""ÎÎ\Ì""ÏÏ\Í""ÐÐ\Î""ÑÑ\Ï""ÒÒ\Ð""ÓÓ\Ñ""ÔÔ\Ò""ÕÕ\Ó""ÖÖ\Ô""××\Õ""ØØ\Ö""ÙÙ\×""ÚÚ\Ø""ÛÛ\Ù""ÜÜ\Ú""ÝÝ\Û""ÞÞ\Ü""ßß\Ý""àà\Þ""áá\ß""ââ\à""ãã\á""ää\â""åå\ã""ææ\ä""çç\å""èè\æ""éé\ç""êê\è""ëë\é""ìì\ê""íí\ë""îî\ì""ïï\í""ðð\î""ññ\ï""òò\ð""óó\ñ""ôô\ò""õõ\ó""öö\ô""÷÷\õ""øø\ö""ùù\÷""úú\ø""ûû\ù""üü\ú""ýý\û""þþ\ü""ÿÿ\ý""\þ""\ÿ""\
+
+\
+
+
+"" "" "" """""""""""""""""""""""""""""""""""""" ""!""#""$""%""&""'""("")""*""+"",""-"".""/""0""1""2""3""4""5""6""7""8""9"":"";""<""="">""?""@""A""B""C""D""E""F""G""H""I""J""K""L""M""N""O""P""Q""R""S""T""U""V""W""X""Y""Z""[""]""^""_""`""a""b""c""d""e""f""g""h""i""j""k""l""m""n""o""p""q""r""s""t""u""v""w""x""y""z""{""|""}""~""""€""""‚""ƒ""„""…""†""‡""ˆ""‰""Š""‹""Œ""""Ž""""""‘""’""“""”""•""–""—""˜""™""š""›""œ""""ž""Ÿ"" ""¡""¢""£""¤""¥""¦""§""¨""©""ª""«""¬""­""®""¯""°""±""²""³""´""µ""¶""·""¸""¹""º""»""¼""½""¾""¿""À""Á""Â""Ã""Ä""Å""Æ""Ç""È""É""Ê""Ë""Ì""Í""Î""Ï""Ð""Ñ""Ò""Ó""Ô""Õ""Ö""×""Ø""Ù""Ú""Û""Ü""Ý""Þ""ß""à""á""â""ã""ä""å""æ""ç""è""é""ê""ë""ì""í""î""ï""ð""ñ""ò""ó""ô""õ""ö""÷""ø""ù""ú""û""ü""ý""þ""ÿ""\""\""\""\""\""\""\""\"" \ ""
+\
+"" \ "" \ "" \ ""\""\""\""\""\""\""\""\""\""\""\""\""\""\""\""\""\""\"" \ ""!\!""#\"""$\#""%\$""&\%""'\&""(\'"")\(""*\)""+\*"",\+""-\,"".\-""/\.""0\/""1\0""2\1""3\2""4\3""5\4""6\5""7\6""8\7""9\8"":\9"";\:""<\;""=\<"">\=""?\>""@\?""A\@""B\A""C\B""D\C""E\D""F\E""G\F""H\G""I\H""J\I""K\J""L\K""M\L""N\M""O\N""P\O""Q\P""R\Q""S\R""T\S""U\T""V\U""W\V""X\W""Y\X""Z\Y""[\Z""]\[""^\\""_\]""`\^""a\_""b\`""c\a""d\b""e\c""f\d""g\e""h\f""i\g""j\h""k\i""l\j""m\k""n\l""o\m""p\n""q\o""r\p""s\q""t\r""u\s""v\t""w\u""x\v""y\w""z\x""{\y""|\z""}\{""~\|""\}""€\~""\""‚\€""ƒ\""„\‚""…\ƒ""†\„""‡\…""ˆ\†""‰\‡""Š\ˆ""‹\‰""Œ\Š""\‹""Ž\Œ""\""\Ž""‘\""’\""“\‘""”\’""•\“""–\”""—\•""˜\–""™\—""š\˜""›\™""œ\š""\›""ž\œ""Ÿ\"" \ž""¡\Ÿ""¢\ ""£\¡""¤\¢""¥\£""¦\¤""§\¥""¨\¦""©\§""ª\¨""«\©""¬\ª""­\«""®\¬""¯\­""°\®""±\¯""²\°""³\±""´\²""µ\³""¶\´""·\µ""¸\¶""¹\·""º\¸""»\¹""¼\º""½\»""¾\¼""¿\½""À\¾""Á\¿""Â\À""Ã\Á""Ä\Â""Å\Ã""Æ\Ä""Ç\Å""È\Æ""É\Ç""Ê\È""Ë\É""Ì\Ê""Í\Ë""Î\Ì""Ï\Í""Ð\Î""Ñ\Ï""Ò\Ð""Ó\Ñ""Ô\Ò""Õ\Ó""Ö\Ô""×\Õ""Ø\Ö""Ù\×""Ú\Ø""Û\Ù""Ü\Ú""Ý\Û""Þ\Ü""ß\Ý""à\Þ""á\ß""â\à""ã\á""ä\â""å\ã""æ\ä""ç\å""è\æ""é\ç""ê\è""ë\é""ì\ê""í\ë""î\ì""ï\í""ð\î""ñ\ï""ò\ð""ó\ñ""ô\ò""õ\ó""ö\ô""÷\õ""ø\ö""ù\÷""ú\ø""û\ù""ü\ú""ý\û""þ\ü""ÿ\ý""\þ""\ÿ""
+
+""\ ""\ ""\ ""\""\""\""\""\""\""\""\""\""\""\""\""\""\""\""\""\""\""\ ""\!""\"""\#""\$""\%""\&""\'""\(""\)""\*""\+""\,""\-""\.""\/""\0""\1""\2""\3""\4""\5""\6""\7""\8""\9""\:""\;""\<""\=""\>""\?""\@""\A""\B""\C""\D""\E""\F""\G""\H""\I""\J""\K""\L""\M""\N""\O""\P""\Q""\R""\S""\T""\U""\V""\W""\X""\Y""\Z""\[""\\""\]""\^""\_""\`""\a""\b""\c""\d""\e""\f""\g""\h""\i""\j""\k""\l""\m""\n""\o""\p""\q""\r""\s""\t""\u""\v""\w""\x""\y""\z""\{""\|""\}""\~""\""\€""\""\‚""\ƒ""\„""\…""\†""\‡""\ˆ""\‰""\Š""\‹""\Œ""\""\Ž""\""\""\‘""\’""\“""\”""\•""\–""\—""\˜""\™""\š""\›""\œ""\""\ž""\Ÿ""\ ""\¡""\¢""\£""\¤""\¥""\¦""\§""\¨""\©""\ª""\«""\¬""\­""\®""\¯""\°""\±""\²""\³""\´""\µ""\¶""\·""\¸""\¹""\º""\»""\¼""\½""\¾""\¿""\À""\Á""\Â""\Ã""\Ä""\Å""\Æ""\Ç""\È""\É""\Ê""\Ë""\Ì""\Í""\Î""\Ï""\Ð""\Ñ""\Ò""\Ó""\Ô""\Õ""\Ö""\×""\Ø""\Ù""\Ú""\Û""\Ü""\Ý""\Þ""\ß""\à""\á""\â""\ã""\ä""\å""\æ""\ç""\è""\é""\ê""\ë""\ì""\í""\î""\ï""\ð""\ñ""\ò""\ó""\ô""\õ""\ö""\÷""\ø""\ù""\ú""\û""\ü""\ý""\þ""\ÿ""
+
+'' '' '' '''''''''''''''''''''''''''''''''''''' ''!!''""''##''$$''%%''&&''((''))''**''++'',,''--''..''//''00''11''22''33''44''55''66''77''88''99''::'';;''<<''==''>>''??''@@''AA''BB''CC''DD''EE''FF''GG''HH''II''JJ''KK''LL''MM''NN''OO''PP''QQ''RR''SS''TT''UU''VV''WW''XX''YY''ZZ''[['']]''^^''__''``''aa''bb''cc''dd''ee''ff''gg''hh''ii''jj''kk''ll''mm''nn''oo''pp''qq''rr''ss''tt''uu''vv''ww''xx''yy''zz''{{''||''}}''~~''''€€''''‚‚''ƒƒ''„„''……''††''‡‡''ˆˆ''‰‰''ŠŠ''‹‹''ŒŒ''''ŽŽ''''''‘‘''’’''““''””''••''––''——''˜˜''™™''šš''››''œœ''''žž''ŸŸ''  ''¡¡''¢¢''££''¤¤''¥¥''¦¦''§§''¨¨''©©''ªª''««''¬¬''­­''®®''¯¯''°°''±±''²²''³³''´´''µµ''¶¶''··''¸¸''¹¹''ºº''»»''¼¼''½½''¾¾''¿¿''ÀÀ''ÁÁ''ÂÂ''ÃÃ''ÄÄ''ÅÅ''ÆÆ''ÇÇ''ÈÈ''ÉÉ''ÊÊ''ËË''ÌÌ''ÍÍ''ÎÎ''ÏÏ''ÐÐ''ÑÑ''ÒÒ''ÓÓ''ÔÔ''ÕÕ''ÖÖ''××''ØØ''ÙÙ''ÚÚ''ÛÛ''ÜÜ''ÝÝ''ÞÞ''ßß''àà''áá''ââ''ãã''ää''åå''ææ''çç''èè''éé''êê''ëë''ìì''íí''îî''ïï''ðð''ññ''òò''óó''ôô''õõ''öö''÷÷''øø''ùù''úú''ûû''üü''ýý''þþ''ÿÿ''\''\''\''\''\''\''\''\'' \ ''
+
+\
+'' \ '' \ '' \ ''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\'' \ ''!!\!''""\"''##\#''$$\$''%%\%''&&\&''((\'''))\(''**\)''++\*'',,\+''--\,''..\-''//\.''00\/''11\0''22\1''33\2''44\3''55\4''66\5''77\6''88\7''99\8''::\9'';;\:''<<\;''==\<''>>\=''??\>''@@\?''AA\@''BB\A''CC\B''DD\C''EE\D''FF\E''GG\F''HH\G''II\H''JJ\I''KK\J''LL\K''MM\L''NN\M''OO\N''PP\O''QQ\P''RR\Q''SS\R''TT\S''UU\T''VV\U''WW\V''XX\W''YY\X''ZZ\Y''[[\Z'']]\[''^^\\''__\]''``\^''aa\_''bb\`''cc\a''dd\b''ee\c''ff\d''gg\e''hh\f''ii\g''jj\h''kk\i''ll\j''mm\k''nn\l''oo\m''pp\n''qq\o''rr\p''ss\q''tt\r''uu\s''vv\t''ww\u''xx\v''yy\w''zz\x''{{\y''||\z''}}\{''~~\|''\}''€€\~''\''‚‚\€''ƒƒ\''„„\‚''……\ƒ''††\„''‡‡\…''ˆˆ\†''‰‰\‡''ŠŠ\ˆ''‹‹\‰''ŒŒ\Š''\‹''ŽŽ\Œ''\''\Ž''‘‘\''’’\''““\‘''””\’''••\“''––\”''——\•''˜˜\–''™™\—''šš\˜''››\™''œœ\š''\›''žž\œ''ŸŸ\''  \ž''¡¡\Ÿ''¢¢\ ''££\¡''¤¤\¢''¥¥\£''¦¦\¤''§§\¥''¨¨\¦''©©\§''ªª\¨''««\©''¬¬\ª''­­\«''®®\¬''¯¯\­''°°\®''±±\¯''²²\°''³³\±''´´\²''µµ\³''¶¶\´''··\µ''¸¸\¶''¹¹\·''ºº\¸''»»\¹''¼¼\º''½½\»''¾¾\¼''¿¿\½''ÀÀ\¾''ÁÁ\¿''ÂÂ\À''ÃÃ\Á''ÄÄ\Â''ÅÅ\Ã''ÆÆ\Ä''ÇÇ\Å''ÈÈ\Æ''ÉÉ\Ç''ÊÊ\È''ËË\É''ÌÌ\Ê''ÍÍ\Ë''ÎÎ\Ì''ÏÏ\Í''ÐÐ\Î''ÑÑ\Ï''ÒÒ\Ð''ÓÓ\Ñ''ÔÔ\Ò''ÕÕ\Ó''ÖÖ\Ô''××\Õ''ØØ\Ö''ÙÙ\×''ÚÚ\Ø''ÛÛ\Ù''ÜÜ\Ú''ÝÝ\Û''ÞÞ\Ü''ßß\Ý''àà\Þ''áá\ß''ââ\à''ãã\á''ää\â''åå\ã''ææ\ä''çç\å''èè\æ''éé\ç''êê\è''ëë\é''ìì\ê''íí\ë''îî\ì''ïï\í''ðð\î''ññ\ï''òò\ð''óó\ñ''ôô\ò''õõ\ó''öö\ô''÷÷\õ''øø\ö''ùù\÷''úú\ø''ûû\ù''üü\ú''ýý\û''þþ\ü''ÿÿ\ý''\þ''\ÿ''\
+
+\
+
+
+'' '' '' '''''''''''''''''''''''''''''''''''''' ''!''"''#''$''%''&''('')''*''+'',''-''.''/''0''1''2''3''4''5''6''7''8''9'':'';''<''=''>''?''@''A''B''C''D''E''F''G''H''I''J''K''L''M''N''O''P''Q''R''S''T''U''V''W''X''Y''Z''['']''^''_''`''a''b''c''d''e''f''g''h''i''j''k''l''m''n''o''p''q''r''s''t''u''v''w''x''y''z''{''|''}''~''''€''''‚''ƒ''„''…''†''‡''ˆ''‰''Š''‹''Œ''''Ž''''''‘''’''“''”''•''–''—''˜''™''š''›''œ''''ž''Ÿ'' ''¡''¢''£''¤''¥''¦''§''¨''©''ª''«''¬''­''®''¯''°''±''²''³''´''µ''¶''·''¸''¹''º''»''¼''½''¾''¿''À''Á''Â''Ã''Ä''Å''Æ''Ç''È''É''Ê''Ë''Ì''Í''Î''Ï''Ð''Ñ''Ò''Ó''Ô''Õ''Ö''×''Ø''Ù''Ú''Û''Ü''Ý''Þ''ß''à''á''â''ã''ä''å''æ''ç''è''é''ê''ë''ì''í''î''ï''ð''ñ''ò''ó''ô''õ''ö''÷''ø''ù''ú''û''ü''ý''þ''ÿ''\''\''\''\''\''\''\''\'' \ ''
+\
+'' \ '' \ '' \ ''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\'' \ ''!\!''"\"''#\#''$\$''%\%''&\&''(\''')\(''*\)''+\*'',\+''-\,''.\-''/\.''0\/''1\0''2\1''3\2''4\3''5\4''6\5''7\6''8\7''9\8'':\9'';\:''<\;''=\<''>\=''?\>''@\?''A\@''B\A''C\B''D\C''E\D''F\E''G\F''H\G''I\H''J\I''K\J''L\K''M\L''N\M''O\N''P\O''Q\P''R\Q''S\R''T\S''U\T''V\U''W\V''X\W''Y\X''Z\Y''[\Z'']\[''^\\''_\]''`\^''a\_''b\`''c\a''d\b''e\c''f\d''g\e''h\f''i\g''j\h''k\i''l\j''m\k''n\l''o\m''p\n''q\o''r\p''s\q''t\r''u\s''v\t''w\u''x\v''y\w''z\x''{\y''|\z''}\{''~\|''\}''€\~''\''‚\€''ƒ\''„\‚''…\ƒ''†\„''‡\…''ˆ\†''‰\‡''Š\ˆ''‹\‰''Œ\Š''\‹''Ž\Œ''\''\Ž''‘\''’\''“\‘''”\’''•\“''–\”''—\•''˜\–''™\—''š\˜''›\™''œ\š''\›''ž\œ''Ÿ\'' \ž''¡\Ÿ''¢\ ''£\¡''¤\¢''¥\£''¦\¤''§\¥''¨\¦''©\§''ª\¨''«\©''¬\ª''­\«''®\¬''¯\­''°\®''±\¯''²\°''³\±''´\²''µ\³''¶\´''·\µ''¸\¶''¹\·''º\¸''»\¹''¼\º''½\»''¾\¼''¿\½''À\¾''Á\¿''Â\À''Ã\Á''Ä\Â''Å\Ã''Æ\Ä''Ç\Å''È\Æ''É\Ç''Ê\È''Ë\É''Ì\Ê''Í\Ë''Î\Ì''Ï\Í''Ð\Î''Ñ\Ï''Ò\Ð''Ó\Ñ''Ô\Ò''Õ\Ó''Ö\Ô''×\Õ''Ø\Ö''Ù\×''Ú\Ø''Û\Ù''Ü\Ú''Ý\Û''Þ\Ü''ß\Ý''à\Þ''á\ß''â\à''ã\á''ä\â''å\ã''æ\ä''ç\å''è\æ''é\ç''ê\è''ë\é''ì\ê''í\ë''î\ì''ï\í''ð\î''ñ\ï''ò\ð''ó\ñ''ô\ò''õ\ó''ö\ô''÷\õ''ø\ö''ù\÷''ú\ø''û\ù''ü\ú''ý\û''þ\ü''ÿ\ý''\þ''\ÿ''
+
+''\ ''\ ''\ ''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\''\ ''\!''\"''\#''\$''\%''\&''\'''\(''\)''\*''\+''\,''\-''\.''\/''\0''\1''\2''\3''\4''\5''\6''\7''\8''\9''\:''\;''\<''\=''\>''\?''\@''\A''\B''\C''\D''\E''\F''\G''\H''\I''\J''\K''\L''\M''\N''\O''\P''\Q''\R''\S''\T''\U''\V''\W''\X''\Y''\Z''\[''\\''\]''\^''\_''\`''\a''\b''\c''\d''\e''\f''\g''\h''\i''\j''\k''\l''\m''\n''\o''\p''\q''\r''\s''\t''\u''\v''\w''\x''\y''\z''\{''\|''\}''\~''\''\€''\''\‚''\ƒ''\„''\…''\†''\‡''\ˆ''\‰''\Š''\‹''\Œ''\''\Ž''\''\''\‘''\’''\“''\”''\•''\–''\—''\˜''\™''\š''\›''\œ''\''\ž''\Ÿ''\ ''\¡''\¢''\£''\¤''\¥''\¦''\§''\¨''\©''\ª''\«''\¬''\­''\®''\¯''\°''\±''\²''\³''\´''\µ''\¶''\·''\¸''\¹''\º''\»''\¼''\½''\¾''\¿''\À''\Á''\Â''\Ã''\Ä''\Å''\Æ''\Ç''\È''\É''\Ê''\Ë''\Ì''\Í''\Î''\Ï''\Ð''\Ñ''\Ò''\Ó''\Ô''\Õ''\Ö''\×''\Ø''\Ù''\Ú''\Û''\Ü''\Ý''\Þ''\ß''\à''\á''\â''\ã''\ä''\å''\æ''\ç''\è''\é''\ê''\ë''\ì''\í''\î''\ï''\ð''\ñ''\ò''\ó''\ô''\õ''\ö''\÷''\ø''\ù''\ú''\û''\ü''\ý''\þ''\ÿ''
+?-
+
+'-- :--
+?--
+
+'-- :--
+?--
+"-- '--
+:-- ?--
+
+'-- :--
+?--
+"-- '--
+:-- ?--
+
+'-- :--
+?--
+"-- '--
+:-- ?--!
+
+'--% :--&
+?--(
+"--* '--+
+:--, ?---
+
+'--0 :--1
+?--2
+"--4 '--5
+:--6 ?--7
+
+'--; :--<
+?--=
+"--@ '--A
+:--B ?--C
+
+'--F :--G
+?--H
+"--J '--K
+:--L ?--M
+
+'--P :--Q
+?--R
+"--T '--U
+:--V ?--W
+
+'--Z :--[
+?--\
+"--^ '--_
+:--` ?--a
+
+'--d :--e
+?--f
+"--h '--i
+:--j ?--k
+
+'--n :--o
+?--p
+"--r '--s
+:--t ?--u
+
+'--x :--y
+?--z
+"--| '--}
+:--~ ?--
+
+'--‚ :--ƒ
+?--„
+"--† '--‡
+:--ˆ ?--‰
+
+'--Œ :--
+?--Ž
+"-- '--‘
+:--’ ?--“
+
+'--– :--—
+?--˜
+"--š '--›
+:--œ ?--
+
+'--  :--¡
+?--¢
+"--¤ '--¥
+:--¦ ?--§
+
+'--ª :--«
+?--¬
+"--® '--¯
+:--° ?--±
+
+'--´ :--µ
+?--¶
+"--¸ '--¹
+:--º ?--»
+
+'--¾ :--¿
+?--À
+"--Â '--Ã
+:--Ä ?--Å
+
+'--È :--É
+?--Ê
+"--Ì '--Í
+:--Î ?--Ï
+
+'--Ò :--Ó
+?--Ô
+"--Ö '--×
+:--Ø ?--Ù
+
+'--Ü :--Ý
+?--Þ
+"--à '--á
+:--â ?--ã
+
+'--æ :--ç
+?--è
+"--ê '--ë
+:--ì ?--í
+
+'--ð :--ñ
+?--ò
+"--ô '--õ
+:--ö ?--÷
+
+'--ú :--û
+?--ü
+"--þ '--ÿ
+:--
+--" --'
+--: --?
+--
+--' --:
+--? --
+--" --'
+--: --?
+--
+--' --:
+--? --
+--" --'
+--: --?
+--
+--' --:
+--? --
+--"! --'"
+--:# --?$
+--
+--'' --:(
+--?) --
+--"+ --',
+--:- --?.
+--
+--'1 --:2
+--?3 --
+--"5 --'6
+--:7 --?8
+--
+--'; --:<
+--?= --
+--"? --'@
+--:A --?B
+--
+--'E --:F
+--?G --
+--"I --'J
+--:K --?L
+--
+--'O --:P
+--?Q --
+--"S --'T
+--:U --?V
+--
+--'Y --:Z
+--?[ --
+--"] --'^
+--:_ --?`
+--
+--'c --:d
+--?e --
+--"g --'h
+--:i --?j
+--
+--'m --:n
+--?o --
+--"q --'r
+--:s --?t
+--
+--'w --:x
+--?y --
+--"{ --'|
+--:} --?~
+--
+--' --:‚
+--?ƒ --
+--"… --'†
+--:‡ --?ˆ
+--
+--'‹ --:Œ
+--? --
+--" --'
+--:‘ --?’
+--
+--'• --:–
+--?— --
+--"™ --'š
+--:› --?œ
+--
+--'Ÿ --: 
+--?¡ --
+--"£ --'¤
+--:¥ --?¦
+--
+--'© --:ª
+--?« --
+--"­ --'®
+--:¯ --?°
+--
+--'³ --:´
+--?µ --
+--"· --'¸
+--:¹ --?º
+--
+--'½ --:¾
+--?¿ --
+--"Á --'Â
+--:Ã --?Ä
+--
+--'Ç --:È
+--?É --
+--"Ë --'Ì
+--:Í --?Î
+--
+--'Ñ --:Ò
+--?Ó --
+--"Õ --'Ö
+--:× --?Ø
+--
+--'Û --:Ü
+--?Ý --
+--"ß --'à
+--:á --?â
+--
+--'å --:æ
+--?ç --
+--"é --'ê
+--:ë --?ì
+--
+--'ï --:ð
+--?ñ --
+--"ó --'ô
+--:õ --?ö
+--
+--'ù --:ú
+--?û --
+--"ý --'þ
+--:ÿ --
+--" --'
+--: --?
+-
+?/
+? **//*
+**//* " **//* ' **//*: **//*?**//*
+? *//*
+*//* " *//* ' *//*: *//*?*//*
+?*//*
+*
+?*//* *
+*?*//* *
+**
+?*//* **
+*/
+?/* */
+*/?/* */
+?*//**
+:BB :CC :DD :EE:FF:GG:HH:II:JJ:KK:LL:MM:NN:OO:PP:QQ:RR:SS:TT:UU:VV:WW :XX!:YY":ZZ#:__$:aa%:bb&:cc':dd(:ee):ff*:gg+:hh,:ii-:jj.:kk/:ll::mm;:nn<:oo=:pp>:qq?:rr@:ss[:tt\:uu]:vv^:ww`:xx{:yy|:zz}:00~:11:22€:33:44‚:55ƒ:66„:77…:88†:99‡:AAˆ:BB‰:CCŠ:DD‹:EEŒ:FF:GGŽ:HH:II:JJ‘:KK’:LL“:MM”:NN•:OO–:PP—:QQ˜:RR™:SSš:TT›:UUœ:VV:WWž:XXŸ:YY :ZZ¡:__¢:aa£:bb¤:cc¥:dd¦:ee§:ff¨:gg©:hhª:ii«:jj¬:kk­:ll®:mm¯:nn°:oo±:pp²:qq³:rr´:ssµ:tt¶:uu·:vv¸:ww¹:xxº:yy»:zz¼:00½:11¾:22¿:33À:44Á:55Â:66Ã:77Ä:88Å:99Æ:AAÇ:BBÈ:CCÉ:DDÊ:EEË:FFÌ:GGÍ:HHÎ:IIÏ:JJÐ:KKÑ:LLÒ:MMÓ:NNÔ:OOÕ:PPÖ:QQ×:RRØ:SSÙ:TTÚ:UUÛ:VVÜ:WWÝ:XXÞ:YYß:ZZà:__á:aaâ:bbã:ccä:ddå:eeæ:ffç:ggè:hhé:iiê:jjë:kkì:llí:mmî:nnï:ooð:ppñ:qqò:rró:ssô:ttõ:uuö:vv÷:wwø:xxù:yyú:zzû:00ü:11ý:22þ:33ÿ:0
+:B :C :D :E:F:G:H:I:J:K:L:M:N:O:P:Q:R:S:T:U:V:W :X!:Y":Z#:_$:a%:b&:c':d(:e):f*:g+:h,:i-:j.:k/:l::m;:n<:o=:p>:q?:r@:s[:t\:u]:v^:w`:x{:y|:z}:0~:1:2€:3:4‚:5ƒ:6„:7…:8†:9‡:Aˆ:B‰:CŠ:D‹:EŒ:F:GŽ:H:I:J‘:K’:L“:M”:N•:O–:P—:Q˜:R™:Sš:T›:Uœ:V:Wž:XŸ:Y :Z¡:_¢:a£:b¤:c¥:d¦:e§:f¨:g©:hª:i«:j¬:k­:l®:m¯:n°:o±:p²:q³:r´:sµ:t¶:u·:v¸:w¹:xº:y»:z¼:0½:1¾:2¿:3À:4Á:5Â:6Ã:7Ä:8Å:9Æ:AÇ:BÈ:CÉ:DÊ:EË:FÌ:GÍ:HÎ:IÏ:JÐ:KÑ:LÒ:MÓ:NÔ:OÕ:PÖ:Q×:RØ:SÙ:TÚ:UÛ:VÜ:WÝ:XÞ:Yß:Zà:_á:aâ:bã:cä:då:eæ:fç:gè:hé:iê:jë:kì:lí:mî:nï:oð:pñ:qò:ró:sô:tõ:uö:v÷:wø:xù:yú:zû:0ü:1ý:2þ:3ÿ:::
+::: ::: ::: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::!:::":::#:::$:::%:::&:::':::(:::):::*:::+:::,:::-:::.:::/:::0:::1:::2:::3:::4:::5:::6:::7:::8:::9:::;:::<:::=:::>:::?:::@:::A:::B:::C:::D:::E:::F:::G:::H:::I:::J:::K:::L:::M:::N:::O:::P:::Q:::R:::S:::T:::U:::V:::W:::X:::Y:::Z:::[:::\:::]:::^:::_:::`:::a:::b:::c:::d:::e:::f:::g:::h:::i:::j:::k:::l:::m:::n:::o:::p:::q:::r:::s:::t:::u:::v:::w:::x:::y:::z:::{:::|:::}:::~::::::€::::::‚:::ƒ:::„:::…:::†:::‡:::ˆ:::‰:::Š:::‹:::Œ::::::Ž:::::::::‘:::’:::“:::”:::•:::–:::—:::˜:::™:::š:::›:::œ::::::ž:::Ÿ::: :::¡:::¢:::£:::¤:::¥:::¦:::§:::¨:::©:::ª:::«:::¬:::­:::®:::¯:::°:::±:::²:::³:::´:::µ:::¶:::·:::¸:::¹:::º:::»:::¼:::½:::¾:::¿:::À:::Á:::Â:::Ã:::Ä:::Å:::Æ:::Ç:::È:::É:::Ê:::Ë:::Ì:::Í:::Î:::Ï:::Ð:::Ñ:::Ò:::Ó:::Ô:::Õ:::Ö:::×:::Ø:::Ù:::Ú:::Û:::Ü:::Ý:::Þ:::ß:::à:::á:::â:::ã:::ä:::å:::æ:::ç:::è:::é:::ê:::ë:::ì:::í:::î:::ï:::ð:::ñ:::ò:::ó:::ô:::õ:::ö:::÷:::ø:::ù:::ú:::û:::ü:::ý:::þ:::ÿ::
+:: :: :: :::::::::::::::::::::::::::::::::::::: ::!::"::#::$::%::&::'::(::)::*::+::,::-::.::/::0::1::2::3::4::5::6::7::8::9::;::<::=::>::?::@::A::B::C::D::E::F::G::H::I::J::K::L::M::N::O::P::Q::R::S::T::U::V::W::X::Y::Z::[::\::]::^::_::`::a::b::c::d::e::f::g::h::i::j::k::l::m::n::o::p::q::r::s::t::u::v::w::x::y::z::{::|::}::~::::€::::‚::ƒ::„::…::†::‡::ˆ::‰::Š::‹::Œ::::Ž::::::‘::’::“::”::•::–::—::˜::™::š::›::œ::::ž::Ÿ:: ::¡::¢::£::¤::¥::¦::§::¨::©::ª::«::¬::­::®::¯::°::±::²::³::´::µ::¶::·::¸::¹::º::»::¼::½::¾::¿::À::Á::Â::Ã::Ä::Å::Æ::Ç::È::É::Ê::Ë::Ì::Í::Î::Ï::Ð::Ñ::Ò::Ó::Ô::Õ::Ö::×::Ø::Ù::Ú::Û::Ü::Ý::Þ::ß::à::á::â::ã::ä::å::æ::ç::è::é::ê::ë::ì::í::î::ï::ð::ñ::ò::ó::ô::õ::ö::÷::ø::ù::ú::û::ü::ý::þ::ÿ:
+: : : ::::::::::::::::::: :!:":#:$:%:&:':(:):*:+:,:-:.:/:;:<:=:>:?:@:[:\:]:^:`:{:|:}:~::€::‚:ƒ:„:…:†:‡:ˆ:‰:Š:‹:Œ::Ž:::‘:’:“:”:•:–:—:˜:™:š:›:œ::ž:Ÿ: :¡:¢:£:¤:¥:¦:§:¨:©:ª:«:¬:­:®:¯:°:±:²:³:´:µ:¶:·:¸:¹:º:»:¼:½:¾:¿:À:Á:Â:Ã:Ä:Å:Æ:Ç:È:É:Ê:Ë:Ì:Í:Î:Ï:Ð:Ñ:Ò:Ó:Ô:Õ:Ö:×:Ø:Ù:Ú:Û:Ü:Ý:Þ:ß:à:á:â:ã:ä:å:æ:ç:è:é:ê:ë:ì:í:î:ï:ð:ñ:ò:ó:ô:õ:ö:÷:ø:ù:ú:û:ü:ý:þ:ÿ???
+??? ??? ??? ????????????????????????????????????????????????????????? ???!???"???#???$???%???&???'???(???)???*???+???,???-???.???/???0???1???2???3???4???5???6???7???8???9???:???;???<???=???>???@???A???B???C???D???E???F???G???H???I???J???K???L???M???N???O???P???Q???R???S???T???U???V???W???X???Y???Z???[???\???]???^???_???`???a???b???c???d???e???f???g???h???i???j???k???l???m???n???o???p???q???r???s???t???u???v???w???x???y???z???{???|???}???~??????€??????‚???ƒ???„???…???†???‡???ˆ???‰???Š???‹???Œ??????Ž?????????‘???’???“???”???•???–???—???˜???™???š???›???œ??????ž???Ÿ??? ???¡???¢???£???¤???¥???¦???§???¨???©???ª???«???¬???­???®???¯???°???±???²???³???´???µ???¶???·???¸???¹???º???»???¼???½???¾???¿???À???Á???Â???Ã???Ä???Å???Æ???Ç???È???É???Ê???Ë???Ì???Í???Î???Ï???Ð???Ñ???Ò???Ó???Ô???Õ???Ö???×???Ø???Ù???Ú???Û???Ü???Ý???Þ???ß???à???á???â???ã???ä???å???æ???ç???è???é???ê???ë???ì???í???î???ï???ð???ñ???ò???ó???ô???õ???ö???÷???ø???ù???ú???û???ü???ý???þ???ÿ??
+?? ?? ?? ?????????????????????????????????????? ??!??"??#??$??%??&??'??(??)??*??+??,??-??.??/??0??1??2??3??4??5??6??7??8??9??:??;??<??=??>??@??A??B??C??D??E??F??G??H??I??J??K??L??M??N??O??P??Q??R??S??T??U??V??W??X??Y??Z??[??\??]??^??_??`??a??b??c??d??e??f??g??h??i??j??k??l??m??n??o??p??q??r??s??t??u??v??w??x??y??z??{??|??}??~????€????‚??ƒ??„??…??†??‡??ˆ??‰??Š??‹??Œ????Ž??????‘??’??“??”??•??–??—??˜??™??š??›??œ????ž??Ÿ?? ??¡??¢??£??¤??¥??¦??§??¨??©??ª??«??¬??­??®??¯??°??±??²??³??´??µ??¶??·??¸??¹??º??»??¼??½??¾??¿??À??Á??Â??Ã??Ä??Å??Æ??Ç??È??É??Ê??Ë??Ì??Í??Î??Ï??Ð??Ñ??Ò??Ó??Ô??Õ??Ö??×??Ø??Ù??Ú??Û??Ü??Ý??Þ??ß??à??á??â??ã??ä??å??æ??ç??è??é??ê??ë??ì??í??î??ï??ð??ñ??ò??ó??ô??õ??ö??÷??ø??ù??ú??û??ü??ý??þ??ÿ?
+? ? ? ??????????????????? ?!?"?#?$?%?&?'?(?)?*?+?,?-?.?/?0?1?2?3?4?5?6?7?8?9?:?;?<?=?>?@?A?B?C?D?E?F?G?H?I?J?K?L?M?N?O?P?Q?R?S?T?U?V?W?X?Y?Z?[?\?]?^?_?`?a?b?c?d?e?f?g?h?i?j?k?l?m?n?o?p?q?r?s?t?u?v?w?x?y?z?{?|?}?~??€??‚?ƒ?„?…?†?‡?ˆ?‰?Š?‹?Œ??Ž???‘?’?“?”?•?–?—?˜?™?š?›?œ??ž?Ÿ? ?¡?¢?£?¤?¥?¦?§?¨?©?ª?«?¬?­?®?¯?°?±?²?³?´?µ?¶?·?¸?¹?º?»?¼?½?¾?¿?À?Á?Â?Ã?Ä?Å?Æ?Ç?È?É?Ê?Ë?Ì?Í?Î?Ï?Ð?Ñ?Ò?Ó?Ô?Õ?Ö?×?Ø?Ù?Ú?Û?Ü?Ý?Þ?ß?à?á?â?ã?ä?å?æ?ç?è?é?ê?ë?ì?í?î?ï?ð?ñ?ò?ó?ô?õ?ö?÷?ø?ù?ú?û?ü?ý?þ?ÿþ
diff --git a/test/php20150211_pdo_sql_parser_trimmed.ig--skeleton.re b/test/php20150211_pdo_sql_parser_trimmed.ig--skeleton.re
new file mode 100644
index 00000000..1c3ec29e
--- /dev/null
+++ b/test/php20150211_pdo_sql_parser_trimmed.ig--skeleton.re
@@ -0,0 +1,20 @@
+/*!re2c
+ BINDCHR = [:][a-zA-Z0-9_]+;
+ QUESTION = [?];
+ COMMENTS = ("/*"([^*]+|[*]+[^/*])*[*]*"*/"|"--"[^\r\n]*);
+ SPECIALS = [:?"'];
+ MULTICHAR = ([:]{2,}|[?]{2,});
+ ANYNOEOF = [\001-\377];
+
+ (["](([\\]ANYNOEOF)|ANYNOEOF\["\\])*["]) { RET(PDO_PARSER_TEXT); }
+ (['](([\\]ANYNOEOF)|ANYNOEOF\['\\])*[']) { RET(PDO_PARSER_TEXT); }
+ MULTICHAR { RET(PDO_PARSER_TEXT); }
+ BINDCHR { RET(PDO_PARSER_BIND); }
+ QUESTION { RET(PDO_PARSER_BIND_POS); }
+ SPECIALS { SKIP_ONE(PDO_PARSER_TEXT); }
+ COMMENTS { RET(PDO_PARSER_TEXT); }
+ (ANYNOEOF\SPECIALS)+ { RET(PDO_PARSER_TEXT); }
+
+ // default rule added to enable skeleton test
+ * {}
+*/
diff --git a/test/php20150211_pdo_sql_parser_trimmed.ig.c b/test/php20150211_pdo_sql_parser_trimmed.ig.c
new file mode 100644
index 00000000..2156949e
--- /dev/null
+++ b/test/php20150211_pdo_sql_parser_trimmed.ig.c
@@ -0,0 +1,316 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ static const unsigned char yybm[] = {
+ /* table 1 .. 8: 0 */
+ 96, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 66, 99, 99, 66, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 96, 99, 99, 99, 99, 96,
+ 99, 99, 161, 99, 99, 99, 99, 99,
+ 103, 103, 103, 103, 103, 103, 103, 103,
+ 103, 103, 104, 99, 99, 99, 99, 112,
+ 99, 103, 103, 103, 103, 103, 103, 103,
+ 103, 103, 103, 103, 103, 103, 103, 103,
+ 103, 103, 103, 103, 103, 103, 103, 103,
+ 103, 103, 103, 99, 99, 99, 99, 103,
+ 99, 103, 103, 103, 103, 103, 103, 103,
+ 103, 103, 103, 103, 103, 103, 103, 103,
+ 103, 103, 103, 103, 103, 103, 103, 103,
+ 103, 103, 103, 99, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99,
+ 99, 99, 99, 99, 99, 99, 99, 99,
+ /* table 9 .. 11: 256 */
+ 0, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 128, 224, 224, 224, 224, 64,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 192, 224, 224, 224, 224, 192,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 32, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ 224, 224, 224, 224, 224, 224, 224, 224,
+ };
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ {
+ static void *yytarget[256] = {
+ &&yy2, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy7, &&yy4, &&yy4, &&yy4, &&yy4, &&yy9,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy10, &&yy4, &&yy11,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy12, &&yy4, &&yy4, &&yy4, &&yy4, &&yy13,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4
+ };
+ goto *yytarget[yych];
+ }
+yy2:
+ ++YYCURSOR;
+ {}
+yy4:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy5:
+ if (yybm[256+yych] & 32) {
+ goto yy4;
+ }
+ { RET(PDO_PARSER_TEXT); }
+yy7:
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych >= 0x01) goto yy16;
+yy8:
+ { SKIP_ONE(PDO_PARSER_TEXT); }
+yy9:
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 0x00) goto yy8;
+ goto yy22;
+yy10:
+ yych = *++YYCURSOR;
+ if (yych == '-') goto yy26;
+ goto yy5;
+yy11:
+ yych = *++YYCURSOR;
+ if (yych == '*') goto yy28;
+ goto yy5;
+yy12:
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 4) {
+ goto yy30;
+ }
+ if (yych <= '/') goto yy8;
+ if (yych <= ':') goto yy33;
+ goto yy8;
+yy13:
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy36;
+ }
+ { RET(PDO_PARSER_BIND_POS); }
+yy15:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy16:
+ if (yybm[256+yych] & 64) {
+ goto yy15;
+ }
+ if (yych <= 0x00) goto yy17;
+ if (yych <= '"') goto yy18;
+ goto yy20;
+yy17:
+ YYCURSOR = YYMARKER;
+ goto yy8;
+yy18:
+ ++YYCURSOR;
+ { RET(PDO_PARSER_TEXT); }
+yy20:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) goto yy17;
+ goto yy15;
+yy21:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy22:
+ if (yybm[256+yych] & 128) {
+ goto yy21;
+ }
+ if (yych <= 0x00) goto yy17;
+ if (yych >= '(') goto yy25;
+ ++YYCURSOR;
+ { RET(PDO_PARSER_TEXT); }
+yy25:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) goto yy17;
+ goto yy21;
+yy26:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yybm[0+yych] & 1) {
+ goto yy26;
+ }
+ if (yych <= 0x00) goto yy38;
+ if (yych <= '\r') goto yy4;
+ goto yy38;
+yy28:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yybm[0+yych] & 2) {
+ goto yy28;
+ }
+ if (yych <= '\'') goto yy41;
+ if (yych <= '*') goto yy43;
+ goto yy41;
+yy30:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yybm[0+yych] & 4) {
+ goto yy30;
+ }
+ { RET(PDO_PARSER_BIND); }
+yy33:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yybm[0+yych] & 8) {
+ goto yy33;
+ }
+yy35:
+ { RET(PDO_PARSER_TEXT); }
+yy36:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy36;
+ }
+ goto yy35;
+yy38:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yybm[0+yych] & 32) {
+ goto yy38;
+ }
+yy40:
+ { RET(PDO_PARSER_TEXT); }
+yy41:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yybm[0+yych] & 64) {
+ goto yy41;
+ }
+ goto yy45;
+yy43:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ {
+ static void *yytarget[256] = {
+ &&yy41, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy41, &&yy28, &&yy28, &&yy28, &&yy28, &&yy41,
+ &&yy28, &&yy28, &&yy43, &&yy28, &&yy28, &&yy28, &&yy28, &&yy47,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy41, &&yy28, &&yy28, &&yy28, &&yy28, &&yy41,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28
+ };
+ goto *yytarget[yych];
+ }
+yy45:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych == '*') goto yy45;
+ if (yych == '/') goto yy48;
+ goto yy41;
+yy47:
+ yych = *++YYCURSOR;
+ if (yybm[256+yych] & 32) {
+ goto yy4;
+ }
+ goto yy40;
+yy48:
+ ++YYCURSOR;
+ goto yy40;
+}
+
diff --git a/test/php20150211_pdo_sql_parser_trimmed.ig.re b/test/php20150211_pdo_sql_parser_trimmed.ig.re
new file mode 100644
index 00000000..1c3ec29e
--- /dev/null
+++ b/test/php20150211_pdo_sql_parser_trimmed.ig.re
@@ -0,0 +1,20 @@
+/*!re2c
+ BINDCHR = [:][a-zA-Z0-9_]+;
+ QUESTION = [?];
+ COMMENTS = ("/*"([^*]+|[*]+[^/*])*[*]*"*/"|"--"[^\r\n]*);
+ SPECIALS = [:?"'];
+ MULTICHAR = ([:]{2,}|[?]{2,});
+ ANYNOEOF = [\001-\377];
+
+ (["](([\\]ANYNOEOF)|ANYNOEOF\["\\])*["]) { RET(PDO_PARSER_TEXT); }
+ (['](([\\]ANYNOEOF)|ANYNOEOF\['\\])*[']) { RET(PDO_PARSER_TEXT); }
+ MULTICHAR { RET(PDO_PARSER_TEXT); }
+ BINDCHR { RET(PDO_PARSER_BIND); }
+ QUESTION { RET(PDO_PARSER_BIND_POS); }
+ SPECIALS { SKIP_ONE(PDO_PARSER_TEXT); }
+ COMMENTS { RET(PDO_PARSER_TEXT); }
+ (ANYNOEOF\SPECIALS)+ { RET(PDO_PARSER_TEXT); }
+
+ // default rule added to enable skeleton test
+ * {}
+*/
diff --git a/test/php20150211_phar_path_check.ig--skeleton.c b/test/php20150211_phar_path_check.ig--skeleton.c
index 8015faf7..fe5f74db 100644
--- a/test/php20150211_phar_path_check.ig--skeleton.c
+++ b/test/php20150211_phar_path_check.ig--skeleton.c
@@ -1,7 +1,9 @@
/* Generated by re2c */
+#include <stddef.h> /* size_t */
#include <stdio.h>
#include <stdlib.h> /* malloc, free */
+#include <string.h> /* memcpy */
static void *read_file
( const char *fname
@@ -58,7 +60,7 @@ error:
#define YYFILL(n) { break; }
static int action_line108
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -66,10 +68,12 @@ static int action_line108
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -79,17 +83,17 @@ static int action_line108
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line108: at position %ld (iteration %u):\n"
+ , "error: lex_line108: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -99,6 +103,13 @@ static int action_line108
}
}
+static int check_key_count_line108(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line108: not enough keys\n");
+ return 1;
+}
+
int lex_line108()
{
const size_t padding = 4; /* YYMAXFILL */
@@ -126,7 +137,7 @@ int lex_line108()
keys = (YYKEYTYPE *) read_file
("php20150211_phar_path_check.ig--skeleton.c.line108.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -139,7 +150,7 @@ int lex_line108()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -193,21 +204,25 @@ yy2:
}
yy3:
YYSKIP ();
- status = action_line108(i, keys, input, token, &cursor, 7);
+ status = check_key_count_line108(keys_count, i, 3)
+ || action_line108(&i, keys, input, token, &cursor, 7);
continue;
yy5:
YYSKIP ();
yy6:
- status = action_line108(i, keys, input, token, &cursor, 8);
+ status = check_key_count_line108(keys_count, i, 3)
+ || action_line108(&i, keys, input, token, &cursor, 8);
continue;
yy7:
YYSKIP ();
yy8:
- status = action_line108(i, keys, input, token, &cursor, 6);
+ status = check_key_count_line108(keys_count, i, 3)
+ || action_line108(&i, keys, input, token, &cursor, 6);
continue;
yy9:
YYSKIP ();
- status = action_line108(i, keys, input, token, &cursor, 4);
+ status = check_key_count_line108(keys_count, i, 3)
+ || action_line108(&i, keys, input, token, &cursor, 4);
continue;
yy11:
yyaccept = 0;
@@ -220,11 +235,13 @@ yy11:
goto yy8;
yy12:
YYSKIP ();
- status = action_line108(i, keys, input, token, &cursor, 5);
+ status = check_key_count_line108(keys_count, i, 3)
+ || action_line108(&i, keys, input, token, &cursor, 5);
continue;
yy14:
YYSKIP ();
- status = action_line108(i, keys, input, token, &cursor, 3);
+ status = check_key_count_line108(keys_count, i, 3)
+ || action_line108(&i, keys, input, token, &cursor, 3);
continue;
yy16:
YYSKIP ();
@@ -290,7 +307,8 @@ yy23:
goto yy2;
yy24:
YYSKIP ();
- status = action_line108(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line108(keys_count, i, 3)
+ || action_line108(&i, keys, input, token, &cursor, 0);
continue;
yy26:
YYSKIP ();
@@ -306,7 +324,8 @@ yy27:
goto yy2;
yy28:
YYSKIP ();
- status = action_line108(i, keys, input, token, &cursor, 2);
+ status = check_key_count_line108(keys_count, i, 3)
+ || action_line108(&i, keys, input, token, &cursor, 2);
continue;
yy30:
YYSKIP ();
@@ -315,7 +334,8 @@ yy30:
if (yych != '/') goto yy2;
yy31:
YYSKIP ();
- status = action_line108(i, keys, input, token, &cursor, 1);
+ status = check_key_count_line108(keys_count, i, 3)
+ || action_line108(&i, keys, input, token, &cursor, 1);
continue;
}
@@ -327,7 +347,7 @@ yy31:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line108: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line108: unused keys left after %u keys\n", i);
}
}
diff --git a/test/php20150211_phpdbg_lexer.igcd--flex-syntax.c b/test/php20150211_phpdbg_lexer.igcd--flex-syntax.c
index 4f6c73c6..84964410 100644
--- a/test/php20150211_phpdbg_lexer.igcd--flex-syntax.c
+++ b/test/php20150211_phpdbg_lexer.igcd--flex-syntax.c
@@ -54,276 +54,6 @@ restart:
};
goto *yyctable[YYGETCONDITION()];
/* *********************************** */
-yyc_INITIAL:
- {
- static const unsigned char yybm[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 192, 160, 0, 0, 192, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 192, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- };
- YYDEBUG(1, *YYCURSOR);
- YYFILL(4);
- yych = *YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy5, &&yy6, &&yy3, &&yy3, &&yy5, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy5, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy9, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy10, &&yy11, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy9, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy12, &&yy11, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3
- };
- goto *yytarget[yych];
- }
-yy3:
- YYDEBUG(3, *YYCURSOR);
- ++YYCURSOR;
-yy4:
- YYDEBUG(4, *YYCURSOR);
- yyleng = (size_t) YYCURSOR - (size_t) yytext;
- {
- YYSETCONDITION(NORMAL);
-
- YYCURSOR = LEX(text);
- goto restart;
-}
-yy5:
- YYDEBUG(5, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= '\f') {
- if (yych <= 0x00) goto yy15;
- if (yych <= 0x08) goto yy4;
- if (yych <= '\n') goto yy15;
- goto yy4;
- } else {
- if (yych <= '\r') goto yy15;
- if (yych == ' ') goto yy15;
- goto yy4;
- }
-yy6:
- YYDEBUG(6, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(7, *YYCURSOR);
- if (yybm[0+yych] & 64) {
- goto yy14;
- }
- if (yych <= 0x00) goto yy13;
- if (yych <= 0x08) goto yy8;
- if (yych <= '\n') goto yy6;
-yy8:
- YYDEBUG(8, *YYCURSOR);
- yyleng = (size_t) YYCURSOR - (size_t) yytext;
- {
- return 0;
-}
-yy9:
- YYDEBUG(9, *YYCURSOR);
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'V') goto yy17;
- if (yych == 'v') goto yy17;
- goto yy4;
-yy10:
- YYDEBUG(10, *YYCURSOR);
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'U') goto yy19;
- if (yych == 'u') goto yy19;
- goto yy4;
-yy11:
- YYDEBUG(11, *YYCURSOR);
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'H') goto yy20;
- if (yych == 'h') goto yy20;
- goto yy4;
-yy12:
- YYDEBUG(12, *YYCURSOR);
- yych = *(YYMARKER = ++YYCURSOR);
- if (yybm[0+yych] & 128) {
- goto yy21;
- }
- if (yych == 'U') goto yy19;
- if (yych == 'u') goto yy19;
- goto yy4;
-yy13:
- YYDEBUG(13, *YYCURSOR);
- yych = *++YYCURSOR;
- goto yy8;
-yy14:
- YYDEBUG(14, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
-yy15:
- YYDEBUG(15, *YYCURSOR);
- if (yybm[0+yych] & 64) {
- goto yy14;
- }
- if (yych <= 0x00) goto yy13;
- if (yych <= 0x08) goto yy16;
- if (yych <= '\n') goto yy6;
-yy16:
- YYDEBUG(16, *YYCURSOR);
- yyleng = (size_t) YYCURSOR - (size_t) yytext;
- {
- /* ignore whitespace */
-
- goto restart;
-}
-yy17:
- YYDEBUG(17, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= '\f') {
- if (yych <= 0x08) goto yy18;
- if (yych <= '\n') goto yy24;
- } else {
- if (yych <= '\r') goto yy24;
- if (yych == ' ') goto yy24;
- }
-yy18:
- YYDEBUG(18, *YYCURSOR);
- YYCURSOR = YYMARKER;
- goto yy4;
-yy19:
- YYDEBUG(19, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy27;
- if (yych == 'n') goto yy27;
- goto yy18;
-yy20:
- YYDEBUG(20, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= '\f') {
- if (yych <= 0x08) goto yy18;
- if (yych <= '\n') goto yy28;
- goto yy18;
- } else {
- if (yych <= '\r') goto yy28;
- if (yych == ' ') goto yy28;
- goto yy18;
- }
-yy21:
- YYDEBUG(21, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(22, *YYCURSOR);
- if (yybm[0+yych] & 128) {
- goto yy21;
- }
- YYDEBUG(23, *YYCURSOR);
- yyleng = (size_t) YYCURSOR - (size_t) yytext;
- {
- YYSETCONDITION(PRE_RAW);
- phpdbg_init_param(yylval, EMPTY_PARAM);
- return T_RUN;
-}
-yy24:
- YYDEBUG(24, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(25, *YYCURSOR);
- if (yych <= '\f') {
- if (yych <= 0x08) goto yy26;
- if (yych <= '\n') goto yy24;
- } else {
- if (yych <= '\r') goto yy24;
- if (yych == ' ') goto yy24;
- }
-yy26:
- YYDEBUG(26, *YYCURSOR);
- yyleng = (size_t) YYCURSOR - (size_t) yytext;
- {
- YYSETCONDITION(PRE_RAW);
- phpdbg_init_param(yylval, EMPTY_PARAM);
- return T_EVAL;
-}
-yy27:
- YYDEBUG(27, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yybm[0+yych] & 128) {
- goto yy21;
- }
- goto yy18;
-yy28:
- YYDEBUG(28, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(29, *YYCURSOR);
- if (yych <= '\f') {
- if (yych <= 0x08) goto yy30;
- if (yych <= '\n') goto yy28;
- } else {
- if (yych <= '\r') goto yy28;
- if (yych == ' ') goto yy28;
- }
-yy30:
- YYDEBUG(30, *YYCURSOR);
- yyleng = (size_t) YYCURSOR - (size_t) yytext;
- {
- YYSETCONDITION(PRE_RAW);
- phpdbg_init_param(yylval, EMPTY_PARAM);
- return T_SHELL;
-}
- }
-/* *********************************** */
yyc_NORMAL:
{
static const unsigned char yybm[] = {
@@ -360,69 +90,69 @@ yyc_NORMAL:
2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2,
};
- YYDEBUG(31, *YYCURSOR);
+ YYDEBUG(1, *YYCURSOR);
YYFILL(11);
yych = *YYCURSOR;
{
static void *yytarget[256] = {
- &&yy33, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy38, &&yy41, &&yy35, &&yy35, &&yy38, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy38, &&yy35, &&yy35, &&yy43, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy45, &&yy46, &&yy35,
- &&yy49, &&yy46, &&yy46, &&yy46, &&yy46, &&yy46, &&yy46, &&yy46,
- &&yy46, &&yy46, &&yy50, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy52, &&yy53, &&yy54, &&yy35,
- &&yy35, &&yy55, &&yy35, &&yy35, &&yy35, &&yy35, &&yy56, &&yy57,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy58, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy59, &&yy60, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy52, &&yy53, &&yy54, &&yy35,
- &&yy35, &&yy55, &&yy35, &&yy35, &&yy35, &&yy35, &&yy56, &&yy57,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy58, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy59, &&yy61, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35
+ &&yy3, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy8, &&yy11, &&yy5, &&yy5, &&yy8, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy8, &&yy5, &&yy5, &&yy13, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy15, &&yy16, &&yy5,
+ &&yy19, &&yy16, &&yy16, &&yy16, &&yy16, &&yy16, &&yy16, &&yy16,
+ &&yy16, &&yy16, &&yy20, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy22, &&yy23, &&yy24, &&yy5,
+ &&yy5, &&yy25, &&yy5, &&yy5, &&yy5, &&yy5, &&yy26, &&yy27,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy28, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy29, &&yy30, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy22, &&yy23, &&yy24, &&yy5,
+ &&yy5, &&yy25, &&yy5, &&yy5, &&yy5, &&yy5, &&yy26, &&yy27,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy28, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy29, &&yy31, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5
};
goto *yytarget[yych];
}
-yy33:
- YYDEBUG(33, *YYCURSOR);
+yy3:
+ YYDEBUG(3, *YYCURSOR);
++YYCURSOR;
-yy34:
- YYDEBUG(34, *YYCURSOR);
+yy4:
+ YYDEBUG(4, *YYCURSOR);
yyleng = (size_t) YYCURSOR - (size_t) yytext;
{
return 0;
}
-yy35:
- YYDEBUG(35, *YYCURSOR);
+yy5:
+ YYDEBUG(5, *YYCURSOR);
yyaccept = 0;
YYMARKER = ++YYCURSOR;
YYFILL(3);
yych = *YYCURSOR;
-yy36:
- YYDEBUG(36, *YYCURSOR);
+yy6:
+ YYDEBUG(6, *YYCURSOR);
if (yybm[0+yych] & 2) {
- goto yy35;
+ goto yy5;
}
- if (yych >= '$') goto yy62;
-yy37:
- YYDEBUG(37, *YYCURSOR);
+ if (yych >= '$') goto yy32;
+yy7:
+ YYDEBUG(7, *YYCURSOR);
yyleng = (size_t) YYCURSOR - (size_t) yytext;
{
phpdbg_init_param(yylval, STR_PARAM);
@@ -430,535 +160,535 @@ yy37:
yylval->len = yyleng;
return T_ID;
}
-yy38:
- YYDEBUG(38, *YYCURSOR);
+yy8:
+ YYDEBUG(8, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(39, *YYCURSOR);
+ YYDEBUG(9, *YYCURSOR);
if (yybm[0+yych] & 4) {
- goto yy38;
+ goto yy8;
}
- if (yych <= 0x00) goto yy33;
- if (yych <= 0x08) goto yy40;
- if (yych <= '\n') goto yy41;
-yy40:
- YYDEBUG(40, *YYCURSOR);
+ if (yych <= 0x00) goto yy3;
+ if (yych <= 0x08) goto yy10;
+ if (yych <= '\n') goto yy11;
+yy10:
+ YYDEBUG(10, *YYCURSOR);
yyleng = (size_t) YYCURSOR - (size_t) yytext;
{
/* ignore whitespace */
goto restart;
}
-yy41:
- YYDEBUG(41, *YYCURSOR);
+yy11:
+ YYDEBUG(11, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(42, *YYCURSOR);
+ YYDEBUG(12, *YYCURSOR);
if (yybm[0+yych] & 4) {
- goto yy38;
+ goto yy8;
}
- if (yych <= 0x00) goto yy33;
- if (yych <= 0x08) goto yy34;
- if (yych <= '\n') goto yy41;
- goto yy34;
-yy43:
- YYDEBUG(43, *YYCURSOR);
+ if (yych <= 0x00) goto yy3;
+ if (yych <= 0x08) goto yy4;
+ if (yych <= '\n') goto yy11;
+ goto yy4;
+yy13:
+ YYDEBUG(13, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(44, *YYCURSOR);
+ YYDEBUG(14, *YYCURSOR);
yyleng = (size_t) YYCURSOR - (size_t) yytext;
{
return T_POUND;
}
-yy45:
- YYDEBUG(45, *YYCURSOR);
+yy15:
+ YYDEBUG(15, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if (yybm[0+yych] & 16) {
- goto yy46;
+ goto yy16;
}
- if (yych == 'r') goto yy64;
- goto yy36;
-yy46:
- YYDEBUG(46, *YYCURSOR);
+ if (yych == 'r') goto yy34;
+ goto yy6;
+yy16:
+ YYDEBUG(16, *YYCURSOR);
yyaccept = 1;
YYMARKER = ++YYCURSOR;
YYFILL(3);
yych = *YYCURSOR;
- YYDEBUG(47, *YYCURSOR);
+ YYDEBUG(17, *YYCURSOR);
{
static void *yytarget[256] = {
- &&yy48, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy48, &&yy48, &&yy35, &&yy35, &&yy48, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy48, &&yy35, &&yy35, &&yy48, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy46, &&yy35,
- &&yy46, &&yy46, &&yy46, &&yy46, &&yy46, &&yy46, &&yy46, &&yy46,
- &&yy46, &&yy46, &&yy62, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35
+ &&yy18, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy18, &&yy18, &&yy5, &&yy5, &&yy18, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy18, &&yy5, &&yy5, &&yy18, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy16, &&yy5,
+ &&yy16, &&yy16, &&yy16, &&yy16, &&yy16, &&yy16, &&yy16, &&yy16,
+ &&yy16, &&yy16, &&yy32, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5
};
goto *yytarget[yych];
}
-yy48:
- YYDEBUG(48, *YYCURSOR);
+yy18:
+ YYDEBUG(18, *YYCURSOR);
yyleng = (size_t) YYCURSOR - (size_t) yytext;
{
phpdbg_init_param(yylval, NUMERIC_PARAM);
yylval->num = atoi(yytext);
return T_DIGITS;
}
-yy49:
- YYDEBUG(49, *YYCURSOR);
+yy19:
+ YYDEBUG(19, *YYCURSOR);
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
{
static void *yytarget[256] = {
- &&yy48, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy48, &&yy48, &&yy36, &&yy36, &&yy48, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy48, &&yy36, &&yy36, &&yy48, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy46, &&yy36,
- &&yy46, &&yy46, &&yy46, &&yy46, &&yy46, &&yy46, &&yy46, &&yy46,
- &&yy46, &&yy46, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy65, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36
+ &&yy18, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy18, &&yy18, &&yy6, &&yy6, &&yy18, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy18, &&yy6, &&yy6, &&yy18, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy16, &&yy6,
+ &&yy16, &&yy16, &&yy16, &&yy16, &&yy16, &&yy16, &&yy16, &&yy16,
+ &&yy16, &&yy16, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy35, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6
};
goto *yytarget[yych];
}
-yy50:
- YYDEBUG(50, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == ':') goto yy66;
- YYDEBUG(51, *YYCURSOR);
+yy20:
+ YYDEBUG(20, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == ':') goto yy36;
+ YYDEBUG(21, *YYCURSOR);
yyleng = (size_t) YYCURSOR - (size_t) yytext;
{
return T_COLON;
}
-yy52:
- YYDEBUG(52, *YYCURSOR);
+yy22:
+ YYDEBUG(22, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'I') goto yy68;
- if (yych == 'i') goto yy68;
- goto yy36;
-yy53:
- YYDEBUG(53, *YYCURSOR);
+ if (yych == 'I') goto yy38;
+ if (yych == 'i') goto yy38;
+ goto yy6;
+yy23:
+ YYDEBUG(23, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'N') goto yy69;
- if (yych == 'n') goto yy69;
- goto yy36;
-yy54:
- YYDEBUG(54, *YYCURSOR);
+ if (yych == 'N') goto yy39;
+ if (yych == 'n') goto yy39;
+ goto yy6;
+yy24:
+ YYDEBUG(24, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'A') goto yy70;
- if (yych == 'a') goto yy70;
- goto yy36;
-yy55:
- YYDEBUG(55, *YYCURSOR);
+ if (yych == 'A') goto yy40;
+ if (yych == 'a') goto yy40;
+ goto yy6;
+yy25:
+ YYDEBUG(25, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'F') goto yy71;
- if (yych == 'f') goto yy71;
- goto yy36;
-yy56:
- YYDEBUG(56, *YYCURSOR);
+ if (yych == 'F') goto yy41;
+ if (yych == 'f') goto yy41;
+ goto yy6;
+yy26:
+ YYDEBUG(26, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'O') goto yy72;
- if (yych == 'o') goto yy72;
- goto yy36;
-yy57:
- YYDEBUG(57, *YYCURSOR);
+ if (yych == 'O') goto yy42;
+ if (yych == 'o') goto yy42;
+ goto yy6;
+yy27:
+ YYDEBUG(27, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
{
static void *yytarget[256] = {
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy73, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy74, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy73, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy74, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy43, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy44, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy43, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy44, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6
};
goto *yytarget[yych];
}
-yy58:
- YYDEBUG(58, *YYCURSOR);
+yy28:
+ YYDEBUG(28, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'R') goto yy75;
- if (yych == 'r') goto yy75;
- goto yy36;
-yy59:
- YYDEBUG(59, *YYCURSOR);
+ if (yych == 'R') goto yy45;
+ if (yych == 'r') goto yy45;
+ goto yy6;
+yy29:
+ YYDEBUG(29, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'E') goto yy76;
- if (yych == 'e') goto yy76;
- goto yy36;
-yy60:
- YYDEBUG(60, *YYCURSOR);
+ if (yych == 'E') goto yy46;
+ if (yych == 'e') goto yy46;
+ goto yy6;
+yy30:
+ YYDEBUG(30, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'E') goto yy77;
- goto yy36;
-yy61:
- YYDEBUG(61, *YYCURSOR);
+ if (yych == 'E') goto yy47;
+ goto yy6;
+yy31:
+ YYDEBUG(31, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'e') goto yy78;
- goto yy36;
-yy62:
- YYDEBUG(62, *YYCURSOR);
+ if (yych == 'e') goto yy48;
+ goto yy6;
+yy32:
+ YYDEBUG(32, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '/') goto yy79;
-yy63:
- YYDEBUG(63, *YYCURSOR);
+ if (yych == '/') goto yy49;
+yy33:
+ YYDEBUG(33, *YYCURSOR);
YYCURSOR = YYMARKER;
if (yyaccept <= 2) {
if (yyaccept <= 1) {
if (yyaccept == 0) {
- goto yy37;
+ goto yy7;
} else {
- goto yy48;
+ goto yy18;
}
} else {
- goto yy85;
+ goto yy55;
}
} else {
if (yyaccept == 3) {
- goto yy88;
+ goto yy58;
} else {
- goto yy120;
+ goto yy90;
}
}
-yy64:
- YYDEBUG(64, *YYCURSOR);
+yy34:
+ YYDEBUG(34, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
{
static void *yytarget[256] = {
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy80, &&yy80, &&yy36, &&yy36, &&yy80, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy80, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy82, &&yy83, &&yy36,
- &&yy83, &&yy83, &&yy83, &&yy83, &&yy83, &&yy83, &&yy83, &&yy83,
- &&yy83, &&yy83, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36,
- &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36, &&yy36
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy50, &&yy50, &&yy6, &&yy6, &&yy50, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy50, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy52, &&yy53, &&yy6,
+ &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53,
+ &&yy53, &&yy53, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6,
+ &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6, &&yy6
};
goto *yytarget[yych];
}
-yy65:
- YYDEBUG(65, *YYCURSOR);
+yy35:
+ YYDEBUG(35, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if (yybm[0+yych] & 64) {
- goto yy86;
+ goto yy56;
}
- goto yy36;
-yy66:
- YYDEBUG(66, *YYCURSOR);
+ goto yy6;
+yy36:
+ YYDEBUG(36, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(67, *YYCURSOR);
+ YYDEBUG(37, *YYCURSOR);
yyleng = (size_t) YYCURSOR - (size_t) yytext;
{
return T_DCOLON;
}
-yy68:
- YYDEBUG(68, *YYCURSOR);
+yy38:
+ YYDEBUG(38, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'S') goto yy89;
- if (yych == 's') goto yy89;
- goto yy36;
-yy69:
- YYDEBUG(69, *YYCURSOR);
+ if (yych == 'S') goto yy59;
+ if (yych == 's') goto yy59;
+ goto yy6;
+yy39:
+ YYDEBUG(39, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'A') goto yy90;
- if (yych == 'a') goto yy90;
- goto yy36;
-yy70:
- YYDEBUG(70, *YYCURSOR);
+ if (yych == 'A') goto yy60;
+ if (yych == 'a') goto yy60;
+ goto yy6;
+yy40:
+ YYDEBUG(40, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'L') goto yy91;
- if (yych == 'l') goto yy91;
- goto yy36;
-yy71:
- YYDEBUG(71, *YYCURSOR);
+ if (yych == 'L') goto yy61;
+ if (yych == 'l') goto yy61;
+ goto yy6;
+yy41:
+ YYDEBUG(41, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '\f') {
- if (yych <= 0x08) goto yy36;
- if (yych <= '\n') goto yy92;
- goto yy36;
+ if (yych <= 0x08) goto yy6;
+ if (yych <= '\n') goto yy62;
+ goto yy6;
} else {
- if (yych <= '\r') goto yy92;
- if (yych == ' ') goto yy92;
- goto yy36;
+ if (yych <= '\r') goto yy62;
+ if (yych == ' ') goto yy62;
+ goto yy6;
}
-yy72:
- YYDEBUG(72, *YYCURSOR);
+yy42:
+ YYDEBUG(42, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '\f') {
- if (yych <= 0x08) goto yy36;
- if (yych <= '\n') goto yy95;
- goto yy36;
+ if (yych <= 0x08) goto yy6;
+ if (yych <= '\n') goto yy65;
+ goto yy6;
} else {
- if (yych <= '\r') goto yy95;
- if (yych == ' ') goto yy95;
- goto yy36;
+ if (yych <= '\r') goto yy65;
+ if (yych == ' ') goto yy65;
+ goto yy6;
}
-yy73:
- YYDEBUG(73, *YYCURSOR);
+yy43:
+ YYDEBUG(43, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'F') goto yy72;
- if (yych == 'f') goto yy72;
- goto yy36;
-yy74:
- YYDEBUG(74, *YYCURSOR);
+ if (yych == 'F') goto yy42;
+ if (yych == 'f') goto yy42;
+ goto yy6;
+yy44:
+ YYDEBUG(44, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '\f') {
- if (yych <= 0x08) goto yy36;
- if (yych <= '\n') goto yy98;
- goto yy36;
+ if (yych <= 0x08) goto yy6;
+ if (yych <= '\n') goto yy68;
+ goto yy6;
} else {
- if (yych <= '\r') goto yy98;
- if (yych == ' ') goto yy98;
- goto yy36;
+ if (yych <= '\r') goto yy68;
+ if (yych == ' ') goto yy68;
+ goto yy6;
}
-yy75:
- YYDEBUG(75, *YYCURSOR);
+yy45:
+ YYDEBUG(45, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'U') goto yy101;
- if (yych == 'u') goto yy101;
- goto yy36;
-yy76:
- YYDEBUG(76, *YYCURSOR);
+ if (yych == 'U') goto yy71;
+ if (yych == 'u') goto yy71;
+ goto yy6;
+yy46:
+ YYDEBUG(46, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'S') goto yy74;
- if (yych == 's') goto yy74;
- goto yy36;
-yy77:
- YYDEBUG(77, *YYCURSOR);
+ if (yych == 'S') goto yy44;
+ if (yych == 's') goto yy44;
+ goto yy6;
+yy47:
+ YYDEBUG(47, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'N') goto yy102;
- goto yy36;
-yy78:
- YYDEBUG(78, *YYCURSOR);
+ if (yych == 'N') goto yy72;
+ goto yy6;
+yy48:
+ YYDEBUG(48, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'n') goto yy103;
- goto yy36;
-yy79:
- YYDEBUG(79, *YYCURSOR);
+ if (yych == 'n') goto yy73;
+ goto yy6;
+yy49:
+ YYDEBUG(49, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '/') goto yy104;
- goto yy63;
-yy80:
- YYDEBUG(80, *YYCURSOR);
+ if (yych == '/') goto yy74;
+ goto yy33;
+yy50:
+ YYDEBUG(50, *YYCURSOR);
++YYCURSOR;
YYFILL(2);
yych = *YYCURSOR;
- YYDEBUG(81, *YYCURSOR);
+ YYDEBUG(51, *YYCURSOR);
{
static void *yytarget[256] = {
- &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63,
- &&yy63, &&yy80, &&yy80, &&yy63, &&yy63, &&yy80, &&yy63, &&yy63,
- &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63,
- &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63,
- &&yy80, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63,
- &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy106, &&yy107, &&yy63,
- &&yy107, &&yy107, &&yy107, &&yy107, &&yy107, &&yy107, &&yy107, &&yy107,
- &&yy107, &&yy107, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63,
- &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63,
- &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63,
- &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63,
- &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63,
- &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63,
- &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63,
- &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63,
- &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63,
- &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63,
- &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63,
- &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63,
- &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63,
- &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63,
- &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63,
- &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63,
- &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63,
- &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63,
- &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63,
- &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63,
- &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63,
- &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63,
- &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63,
- &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63,
- &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63, &&yy63
+ &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33,
+ &&yy33, &&yy50, &&yy50, &&yy33, &&yy33, &&yy50, &&yy33, &&yy33,
+ &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33,
+ &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33,
+ &&yy50, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33,
+ &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy76, &&yy77, &&yy33,
+ &&yy77, &&yy77, &&yy77, &&yy77, &&yy77, &&yy77, &&yy77, &&yy77,
+ &&yy77, &&yy77, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33,
+ &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33,
+ &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33,
+ &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33,
+ &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33,
+ &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33,
+ &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33,
+ &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33,
+ &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33,
+ &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33,
+ &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33,
+ &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33,
+ &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33,
+ &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33,
+ &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33,
+ &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33,
+ &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33,
+ &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33,
+ &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33,
+ &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33,
+ &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33,
+ &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33,
+ &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33,
+ &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33,
+ &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33, &&yy33
};
goto *yytarget[yych];
}
-yy82:
- YYDEBUG(82, *YYCURSOR);
+yy52:
+ YYDEBUG(52, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '.') goto yy83;
- if (yych <= '/') goto yy36;
- if (yych >= ':') goto yy36;
-yy83:
- YYDEBUG(83, *YYCURSOR);
+ if (yych == '.') goto yy53;
+ if (yych <= '/') goto yy6;
+ if (yych >= ':') goto yy6;
+yy53:
+ YYDEBUG(53, *YYCURSOR);
yyaccept = 2;
YYMARKER = ++YYCURSOR;
YYFILL(3);
yych = *YYCURSOR;
- YYDEBUG(84, *YYCURSOR);
+ YYDEBUG(54, *YYCURSOR);
{
static void *yytarget[256] = {
- &&yy85, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy85, &&yy85, &&yy35, &&yy35, &&yy85, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy85, &&yy35, &&yy35, &&yy85, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy83, &&yy35,
- &&yy83, &&yy83, &&yy83, &&yy83, &&yy83, &&yy83, &&yy83, &&yy83,
- &&yy83, &&yy83, &&yy62, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35
+ &&yy55, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy55, &&yy55, &&yy5, &&yy5, &&yy55, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy55, &&yy5, &&yy5, &&yy55, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy53, &&yy5,
+ &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53, &&yy53,
+ &&yy53, &&yy53, &&yy32, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5
};
goto *yytarget[yych];
}
-yy85:
- YYDEBUG(85, *YYCURSOR);
+yy55:
+ YYDEBUG(55, *YYCURSOR);
yyleng = (size_t) YYCURSOR - (size_t) yytext;
{
char *text = yytext + 2;
@@ -966,165 +696,165 @@ yy85:
yylval->num = atoi(text);
return T_REQ_ID;
}
-yy86:
- YYDEBUG(86, *YYCURSOR);
+yy56:
+ YYDEBUG(56, *YYCURSOR);
yyaccept = 3;
YYMARKER = ++YYCURSOR;
YYFILL(3);
yych = *YYCURSOR;
- YYDEBUG(87, *YYCURSOR);
+ YYDEBUG(57, *YYCURSOR);
{
static void *yytarget[256] = {
- &&yy88, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy88, &&yy88, &&yy35, &&yy35, &&yy88, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy88, &&yy35, &&yy35, &&yy88, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy86, &&yy86, &&yy86, &&yy86, &&yy86, &&yy86, &&yy86, &&yy86,
- &&yy86, &&yy86, &&yy62, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy86, &&yy86, &&yy86, &&yy86, &&yy86, &&yy86, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy86, &&yy86, &&yy86, &&yy86, &&yy86, &&yy86, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35
+ &&yy58, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy58, &&yy58, &&yy5, &&yy5, &&yy58, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy58, &&yy5, &&yy5, &&yy58, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56,
+ &&yy56, &&yy56, &&yy32, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy56, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5
};
goto *yytarget[yych];
}
-yy88:
- YYDEBUG(88, *YYCURSOR);
+yy58:
+ YYDEBUG(58, *YYCURSOR);
yyleng = (size_t) YYCURSOR - (size_t) yytext;
{
phpdbg_init_param(yylval, ADDR_PARAM);
yylval->addr = strtoul(yytext, 0, 16);
return T_ADDR;
}
-yy89:
- YYDEBUG(89, *YYCURSOR);
+yy59:
+ YYDEBUG(59, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'A') goto yy109;
- if (yych == 'a') goto yy109;
- goto yy36;
-yy90:
- YYDEBUG(90, *YYCURSOR);
+ if (yych == 'A') goto yy79;
+ if (yych == 'a') goto yy79;
+ goto yy6;
+yy60:
+ YYDEBUG(60, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'B') goto yy110;
- if (yych == 'b') goto yy110;
- goto yy36;
-yy91:
- YYDEBUG(91, *YYCURSOR);
+ if (yych == 'B') goto yy80;
+ if (yych == 'b') goto yy80;
+ goto yy6;
+yy61:
+ YYDEBUG(61, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'S') goto yy111;
- if (yych == 's') goto yy111;
- goto yy36;
-yy92:
- YYDEBUG(92, *YYCURSOR);
+ if (yych == 'S') goto yy81;
+ if (yych == 's') goto yy81;
+ goto yy6;
+yy62:
+ YYDEBUG(62, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(93, *YYCURSOR);
+ YYDEBUG(63, *YYCURSOR);
if (yych <= '\f') {
- if (yych <= 0x08) goto yy94;
- if (yych <= '\n') goto yy92;
+ if (yych <= 0x08) goto yy64;
+ if (yych <= '\n') goto yy62;
} else {
- if (yych <= '\r') goto yy92;
- if (yych == ' ') goto yy92;
+ if (yych <= '\r') goto yy62;
+ if (yych == ' ') goto yy62;
}
-yy94:
- YYDEBUG(94, *YYCURSOR);
+yy64:
+ YYDEBUG(64, *YYCURSOR);
yyleng = (size_t) YYCURSOR - (size_t) yytext;
{
YYSETCONDITION(RAW);
phpdbg_init_param(yylval, EMPTY_PARAM);
return T_IF;
}
-yy95:
- YYDEBUG(95, *YYCURSOR);
+yy65:
+ YYDEBUG(65, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(96, *YYCURSOR);
+ YYDEBUG(66, *YYCURSOR);
if (yych <= '\f') {
- if (yych <= 0x08) goto yy97;
- if (yych <= '\n') goto yy95;
+ if (yych <= 0x08) goto yy67;
+ if (yych <= '\n') goto yy65;
} else {
- if (yych <= '\r') goto yy95;
- if (yych == ' ') goto yy95;
+ if (yych <= '\r') goto yy65;
+ if (yych == ' ') goto yy65;
}
-yy97:
- YYDEBUG(97, *YYCURSOR);
+yy67:
+ YYDEBUG(67, *YYCURSOR);
yyleng = (size_t) YYCURSOR - (size_t) yytext;
{
phpdbg_init_param(yylval, NUMERIC_PARAM);
yylval->num = 0;
return T_FALSY;
}
-yy98:
- YYDEBUG(98, *YYCURSOR);
+yy68:
+ YYDEBUG(68, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(99, *YYCURSOR);
+ YYDEBUG(69, *YYCURSOR);
if (yych <= '\f') {
- if (yych <= 0x08) goto yy100;
- if (yych <= '\n') goto yy98;
+ if (yych <= 0x08) goto yy70;
+ if (yych <= '\n') goto yy68;
} else {
- if (yych <= '\r') goto yy98;
- if (yych == ' ') goto yy98;
+ if (yych <= '\r') goto yy68;
+ if (yych == ' ') goto yy68;
}
-yy100:
- YYDEBUG(100, *YYCURSOR);
+yy70:
+ YYDEBUG(70, *YYCURSOR);
yyleng = (size_t) YYCURSOR - (size_t) yytext;
{
phpdbg_init_param(yylval, NUMERIC_PARAM);
yylval->num = 1;
return T_TRUTHY;
}
-yy101:
- YYDEBUG(101, *YYCURSOR);
+yy71:
+ YYDEBUG(71, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'E') goto yy74;
- if (yych == 'e') goto yy74;
- goto yy36;
-yy102:
- YYDEBUG(102, *YYCURSOR);
+ if (yych == 'E') goto yy44;
+ if (yych == 'e') goto yy44;
+ goto yy6;
+yy72:
+ YYDEBUG(72, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'D') goto yy112;
- goto yy36;
-yy103:
- YYDEBUG(103, *YYCURSOR);
+ if (yych == 'D') goto yy82;
+ goto yy6;
+yy73:
+ YYDEBUG(73, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'd') goto yy112;
- goto yy36;
-yy104:
- YYDEBUG(104, *YYCURSOR);
+ if (yych == 'd') goto yy82;
+ goto yy6;
+yy74:
+ YYDEBUG(74, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(105, *YYCURSOR);
+ YYDEBUG(75, *YYCURSOR);
yyleng = (size_t) YYCURSOR - (size_t) yytext;
{
phpdbg_init_param(yylval, STR_PARAM);
@@ -1132,131 +862,131 @@ yy104:
yylval->len = yyleng;
return T_PROTO;
}
-yy106:
- YYDEBUG(106, *YYCURSOR);
+yy76:
+ YYDEBUG(76, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '.') goto yy107;
- if (yych <= '/') goto yy63;
- if (yych >= ':') goto yy63;
-yy107:
- YYDEBUG(107, *YYCURSOR);
+ if (yych == '.') goto yy77;
+ if (yych <= '/') goto yy33;
+ if (yych >= ':') goto yy33;
+yy77:
+ YYDEBUG(77, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(108, *YYCURSOR);
- if (yych == '.') goto yy107;
- if (yych <= '/') goto yy85;
- if (yych <= '9') goto yy107;
- goto yy85;
-yy109:
- YYDEBUG(109, *YYCURSOR);
+ YYDEBUG(78, *YYCURSOR);
+ if (yych == '.') goto yy77;
+ if (yych <= '/') goto yy55;
+ if (yych <= '9') goto yy77;
+ goto yy55;
+yy79:
+ YYDEBUG(79, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'B') goto yy113;
- if (yych == 'b') goto yy113;
- goto yy36;
-yy110:
- YYDEBUG(110, *YYCURSOR);
+ if (yych == 'B') goto yy83;
+ if (yych == 'b') goto yy83;
+ goto yy6;
+yy80:
+ YYDEBUG(80, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'L') goto yy114;
- if (yych == 'l') goto yy114;
- goto yy36;
-yy111:
- YYDEBUG(111, *YYCURSOR);
+ if (yych == 'L') goto yy84;
+ if (yych == 'l') goto yy84;
+ goto yy6;
+yy81:
+ YYDEBUG(81, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'E') goto yy72;
- if (yych == 'e') goto yy72;
- goto yy36;
-yy112:
- YYDEBUG(112, *YYCURSOR);
+ if (yych == 'E') goto yy42;
+ if (yych == 'e') goto yy42;
+ goto yy6;
+yy82:
+ YYDEBUG(82, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '_') goto yy115;
- goto yy36;
-yy113:
- YYDEBUG(113, *YYCURSOR);
+ if (yych == '_') goto yy85;
+ goto yy6;
+yy83:
+ YYDEBUG(83, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'L') goto yy116;
- if (yych == 'l') goto yy116;
- goto yy36;
-yy114:
- YYDEBUG(114, *YYCURSOR);
+ if (yych == 'L') goto yy86;
+ if (yych == 'l') goto yy86;
+ goto yy6;
+yy84:
+ YYDEBUG(84, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'E') goto yy117;
- if (yych == 'e') goto yy117;
- goto yy36;
-yy115:
- YYDEBUG(115, *YYCURSOR);
+ if (yych == 'E') goto yy87;
+ if (yych == 'e') goto yy87;
+ goto yy6;
+yy85:
+ YYDEBUG(85, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if (yybm[0+yych] & 128) {
- goto yy118;
+ goto yy88;
}
- goto yy36;
-yy116:
- YYDEBUG(116, *YYCURSOR);
+ goto yy6;
+yy86:
+ YYDEBUG(86, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'E') goto yy121;
- if (yych == 'e') goto yy121;
- goto yy36;
-yy117:
- YYDEBUG(117, *YYCURSOR);
+ if (yych == 'E') goto yy91;
+ if (yych == 'e') goto yy91;
+ goto yy6;
+yy87:
+ YYDEBUG(87, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'D') goto yy74;
- if (yych == 'd') goto yy74;
- goto yy36;
-yy118:
- YYDEBUG(118, *YYCURSOR);
+ if (yych == 'D') goto yy44;
+ if (yych == 'd') goto yy44;
+ goto yy6;
+yy88:
+ YYDEBUG(88, *YYCURSOR);
yyaccept = 4;
YYMARKER = ++YYCURSOR;
YYFILL(3);
yych = *YYCURSOR;
- YYDEBUG(119, *YYCURSOR);
+ YYDEBUG(89, *YYCURSOR);
{
static void *yytarget[256] = {
- &&yy120, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy120, &&yy120, &&yy35, &&yy35, &&yy120, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy120, &&yy35, &&yy35, &&yy120, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy62, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy118, &&yy118, &&yy118, &&yy118, &&yy118, &&yy118, &&yy118,
- &&yy118, &&yy118, &&yy118, &&yy118, &&yy118, &&yy118, &&yy118, &&yy118,
- &&yy118, &&yy118, &&yy118, &&yy118, &&yy118, &&yy118, &&yy118, &&yy118,
- &&yy118, &&yy118, &&yy118, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy118, &&yy118, &&yy118, &&yy118, &&yy118, &&yy118, &&yy118,
- &&yy118, &&yy118, &&yy118, &&yy118, &&yy118, &&yy118, &&yy118, &&yy118,
- &&yy118, &&yy118, &&yy118, &&yy118, &&yy118, &&yy118, &&yy118, &&yy118,
- &&yy118, &&yy118, &&yy118, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35,
- &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35, &&yy35
+ &&yy90, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy90, &&yy90, &&yy5, &&yy5, &&yy90, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy90, &&yy5, &&yy5, &&yy90, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy32, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88,
+ &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88,
+ &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88,
+ &&yy88, &&yy88, &&yy88, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88,
+ &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88,
+ &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88,
+ &&yy88, &&yy88, &&yy88, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5,
+ &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5, &&yy5
};
goto *yytarget[yych];
}
-yy120:
- YYDEBUG(120, *YYCURSOR);
+yy90:
+ YYDEBUG(90, *YYCURSOR);
yyleng = (size_t) YYCURSOR - (size_t) yytext;
{
phpdbg_init_param(yylval, OP_PARAM);
@@ -1264,13 +994,13 @@ yy120:
yylval->len = yyleng;
return T_OPCODE;
}
-yy121:
- YYDEBUG(121, *YYCURSOR);
+yy91:
+ YYDEBUG(91, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'D') goto yy72;
- if (yych == 'd') goto yy72;
- goto yy36;
+ if (yych == 'D') goto yy42;
+ if (yych == 'd') goto yy42;
+ goto yy6;
}
/* *********************************** */
yyc_PRE_RAW:
@@ -1309,51 +1039,51 @@ yyc_PRE_RAW:
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
};
- YYDEBUG(122, *YYCURSOR);
+ YYDEBUG(92, *YYCURSOR);
YYFILL(2);
yych = *YYCURSOR;
{
static void *yytarget[256] = {
- &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124,
- &&yy124, &&yy126, &&yy127, &&yy124, &&yy124, &&yy126, &&yy124, &&yy124,
- &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124,
- &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124,
- &&yy126, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124,
- &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy130, &&yy124, &&yy124,
- &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124,
- &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124,
- &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124,
- &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124,
- &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124,
- &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124,
- &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124,
- &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124,
- &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124,
- &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124,
- &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124,
- &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124,
- &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124,
- &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124,
- &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124,
- &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124,
- &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124,
- &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124,
- &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124,
- &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124,
- &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124,
- &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124,
- &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124,
- &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124,
- &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124,
- &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124, &&yy124
+ &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94,
+ &&yy94, &&yy96, &&yy97, &&yy94, &&yy94, &&yy96, &&yy94, &&yy94,
+ &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94,
+ &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94,
+ &&yy96, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94,
+ &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy100, &&yy94, &&yy94,
+ &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94,
+ &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94,
+ &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94,
+ &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94,
+ &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94,
+ &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94,
+ &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94,
+ &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94,
+ &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94,
+ &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94,
+ &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94,
+ &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94,
+ &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94,
+ &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94,
+ &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94,
+ &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94,
+ &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94,
+ &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94,
+ &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94,
+ &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94,
+ &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94,
+ &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94,
+ &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94,
+ &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94,
+ &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94,
+ &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94, &&yy94
};
goto *yytarget[yych];
}
-yy124:
- YYDEBUG(124, *YYCURSOR);
+yy94:
+ YYDEBUG(94, *YYCURSOR);
++YYCURSOR;
-yy125:
- YYDEBUG(125, *YYCURSOR);
+yy95:
+ YYDEBUG(95, *YYCURSOR);
yyleng = (size_t) YYCURSOR - (size_t) yytext;
{
YYSETCONDITION(RAW);
@@ -1361,105 +1091,105 @@ yy125:
YYCURSOR = LEX(text);
goto restart;
}
-yy126:
- YYDEBUG(126, *YYCURSOR);
+yy96:
+ YYDEBUG(96, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= '\f') {
- if (yych <= 0x00) goto yy133;
- if (yych <= 0x08) goto yy125;
- if (yych <= '\n') goto yy133;
- goto yy125;
+ if (yych <= 0x00) goto yy103;
+ if (yych <= 0x08) goto yy95;
+ if (yych <= '\n') goto yy103;
+ goto yy95;
} else {
- if (yych <= '\r') goto yy133;
- if (yych == ' ') goto yy133;
- goto yy125;
+ if (yych <= '\r') goto yy103;
+ if (yych == ' ') goto yy103;
+ goto yy95;
}
-yy127:
- YYDEBUG(127, *YYCURSOR);
+yy97:
+ YYDEBUG(97, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(128, *YYCURSOR);
+ YYDEBUG(98, *YYCURSOR);
if (yybm[0+yych] & 32) {
- goto yy132;
+ goto yy102;
}
- if (yych <= 0x00) goto yy131;
- if (yych <= 0x08) goto yy129;
- if (yych <= '\n') goto yy127;
-yy129:
- YYDEBUG(129, *YYCURSOR);
+ if (yych <= 0x00) goto yy101;
+ if (yych <= 0x08) goto yy99;
+ if (yych <= '\n') goto yy97;
+yy99:
+ YYDEBUG(99, *YYCURSOR);
yyleng = (size_t) YYCURSOR - (size_t) yytext;
{
return 0;
}
-yy130:
- YYDEBUG(130, *YYCURSOR);
+yy100:
+ YYDEBUG(100, *YYCURSOR);
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'r') goto yy135;
- goto yy125;
-yy131:
- YYDEBUG(131, *YYCURSOR);
- yych = *++YYCURSOR;
- goto yy129;
-yy132:
- YYDEBUG(132, *YYCURSOR);
+ if (yych == 'r') goto yy105;
+ goto yy95;
+yy101:
+ YYDEBUG(101, *YYCURSOR);
+ ++YYCURSOR;
+ goto yy99;
+yy102:
+ YYDEBUG(102, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
-yy133:
- YYDEBUG(133, *YYCURSOR);
+yy103:
+ YYDEBUG(103, *YYCURSOR);
if (yybm[0+yych] & 32) {
- goto yy132;
+ goto yy102;
}
- if (yych <= 0x00) goto yy131;
- if (yych <= 0x08) goto yy134;
- if (yych <= '\n') goto yy127;
-yy134:
- YYDEBUG(134, *YYCURSOR);
+ if (yych <= 0x00) goto yy101;
+ if (yych <= 0x08) goto yy104;
+ if (yych <= '\n') goto yy97;
+yy104:
+ YYDEBUG(104, *YYCURSOR);
yyleng = (size_t) YYCURSOR - (size_t) yytext;
{
/* ignore whitespace */
goto restart;
}
-yy135:
- YYDEBUG(135, *YYCURSOR);
+yy105:
+ YYDEBUG(105, *YYCURSOR);
++YYCURSOR;
YYFILL(2);
yych = *YYCURSOR;
- YYDEBUG(136, *YYCURSOR);
+ YYDEBUG(106, *YYCURSOR);
if (yybm[0+yych] & 64) {
- goto yy135;
+ goto yy105;
}
if (yych <= '.') {
- if (yych <= ',') goto yy137;
- if (yych <= '-') goto yy138;
- goto yy139;
+ if (yych <= ',') goto yy107;
+ if (yych <= '-') goto yy108;
+ goto yy109;
} else {
- if (yych <= '/') goto yy137;
- if (yych <= '9') goto yy139;
+ if (yych <= '/') goto yy107;
+ if (yych <= '9') goto yy109;
}
-yy137:
- YYDEBUG(137, *YYCURSOR);
+yy107:
+ YYDEBUG(107, *YYCURSOR);
YYCURSOR = YYMARKER;
- goto yy125;
-yy138:
- YYDEBUG(138, *YYCURSOR);
+ goto yy95;
+yy108:
+ YYDEBUG(108, *YYCURSOR);
yych = *++YYCURSOR;
if (yybm[0+yych] & 128) {
- goto yy139;
+ goto yy109;
}
- goto yy137;
-yy139:
- YYDEBUG(139, *YYCURSOR);
+ goto yy107;
+yy109:
+ YYDEBUG(109, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(140, *YYCURSOR);
+ YYDEBUG(110, *YYCURSOR);
if (yybm[0+yych] & 128) {
- goto yy139;
+ goto yy109;
}
- YYDEBUG(141, *YYCURSOR);
+ YYDEBUG(111, *YYCURSOR);
yyleng = (size_t) YYCURSOR - (size_t) yytext;
{
char *text = yytext + 2;
@@ -1472,68 +1202,73 @@ yy139:
yyc_RAW:
{
static const unsigned char yybm[] = {
- 0, 32, 32, 32, 32, 32, 32, 32,
- 32, 96, 128, 32, 32, 96, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 96, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32, 32, 32, 32, 32, 32,
+ 0, 64, 64, 64, 64, 64, 64, 64,
+ 64, 96, 128, 64, 64, 96, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 96, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
};
- YYDEBUG(142, *YYCURSOR);
+ goto yy112;
+yy113:
+ ++YYCURSOR;
+yy112:
+ YYDEBUG(112, *YYCURSOR);
YYFILL(1);
yych = *YYCURSOR;
- if (yybm[0+yych] & 64) {
- goto yy149;
+ YYDEBUG(114, *YYCURSOR);
+ if (yybm[0+yych] & 32) {
+ goto yy113;
}
- if (yych <= 0x00) goto yy144;
- if (yych <= 0x08) goto yy146;
- if (yych <= '\n') goto yy151;
- goto yy146;
-yy144:
- YYDEBUG(144, *YYCURSOR);
+ if (yych <= 0x00) goto yy115;
+ if (yych <= 0x08) goto yy117;
+ if (yych <= '\n') goto yy120;
+ goto yy117;
+yy115:
+ YYDEBUG(115, *YYCURSOR);
++YYCURSOR;
-yy145:
- YYDEBUG(145, *YYCURSOR);
+yy116:
+ YYDEBUG(116, *YYCURSOR);
yyleng = (size_t) YYCURSOR - (size_t) yytext;
{
return 0;
}
-yy146:
- YYDEBUG(146, *YYCURSOR);
+yy117:
+ YYDEBUG(117, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(147, *YYCURSOR);
- if (yybm[0+yych] & 32) {
- goto yy146;
+ YYDEBUG(118, *YYCURSOR);
+ if (yybm[0+yych] & 64) {
+ goto yy117;
}
- YYDEBUG(148, *YYCURSOR);
+ YYDEBUG(119, *YYCURSOR);
yyleng = (size_t) YYCURSOR - (size_t) yytext;
{
phpdbg_init_param(yylval, STR_PARAM);
@@ -1541,57 +1276,315 @@ yy146:
yylval->len = yyleng;
return T_INPUT;
}
-yy149:
- YYDEBUG(149, *YYCURSOR);
+yy120:
+ YYDEBUG(120, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(150, *YYCURSOR);
- if (yybm[0+yych] & 64) {
- goto yy149;
+ YYDEBUG(121, *YYCURSOR);
+ if (yybm[0+yych] & 128) {
+ goto yy120;
}
- if (yych <= 0x00) goto yy144;
- if (yych <= 0x08) goto yy146;
- if (yych >= '\v') goto yy146;
-yy151:
- YYDEBUG(151, *YYCURSOR);
+ if (yych <= '\f') {
+ if (yych <= 0x00) goto yy115;
+ if (yych != '\t') goto yy116;
+ } else {
+ if (yych <= '\r') goto yy122;
+ if (yych != ' ') goto yy116;
+ }
+yy122:
+ YYDEBUG(122, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(152, *YYCURSOR);
+ YYDEBUG(123, *YYCURSOR);
if (yybm[0+yych] & 128) {
- goto yy151;
+ goto yy120;
}
if (yych <= '\f') {
- if (yych <= 0x00) goto yy144;
- if (yych != '\t') goto yy145;
+ if (yych <= 0x00) goto yy115;
+ if (yych == '\t') goto yy122;
} else {
- if (yych <= '\r') goto yy153;
- if (yych != ' ') goto yy145;
+ if (yych <= '\r') goto yy122;
+ if (yych == ' ') goto yy122;
}
-yy153:
- YYDEBUG(153, *YYCURSOR);
+ YYDEBUG(124, *YYCURSOR);
+ yyleng = (size_t) YYCURSOR - (size_t) yytext;
+ {
+ /* ignore whitespace */
+
+ goto restart;
+}
+ }
+/* *********************************** */
+yyc_INITIAL:
+ {
+ static const unsigned char yybm[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 192, 160, 0, 0, 192, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 192, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ };
+ YYDEBUG(125, *YYCURSOR);
+ YYFILL(4);
+ yych = *YYCURSOR;
+ {
+ static void *yytarget[256] = {
+ &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
+ &&yy127, &&yy129, &&yy130, &&yy127, &&yy127, &&yy129, &&yy127, &&yy127,
+ &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
+ &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
+ &&yy129, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
+ &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
+ &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
+ &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
+ &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy133, &&yy127, &&yy127,
+ &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
+ &&yy127, &&yy127, &&yy134, &&yy135, &&yy127, &&yy127, &&yy127, &&yy127,
+ &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
+ &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy133, &&yy127, &&yy127,
+ &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
+ &&yy127, &&yy127, &&yy136, &&yy135, &&yy127, &&yy127, &&yy127, &&yy127,
+ &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
+ &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
+ &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
+ &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
+ &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
+ &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
+ &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
+ &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
+ &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
+ &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
+ &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
+ &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
+ &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
+ &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
+ &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
+ &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
+ &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127
+ };
+ goto *yytarget[yych];
+ }
+yy127:
+ YYDEBUG(127, *YYCURSOR);
+ ++YYCURSOR;
+yy128:
+ YYDEBUG(128, *YYCURSOR);
+ yyleng = (size_t) YYCURSOR - (size_t) yytext;
+ {
+ YYSETCONDITION(NORMAL);
+
+ YYCURSOR = LEX(text);
+ goto restart;
+}
+yy129:
+ YYDEBUG(129, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= '\f') {
+ if (yych <= 0x00) goto yy139;
+ if (yych <= 0x08) goto yy128;
+ if (yych <= '\n') goto yy139;
+ goto yy128;
+ } else {
+ if (yych <= '\r') goto yy139;
+ if (yych == ' ') goto yy139;
+ goto yy128;
+ }
+yy130:
+ YYDEBUG(130, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(154, *YYCURSOR);
+ YYDEBUG(131, *YYCURSOR);
+ if (yybm[0+yych] & 64) {
+ goto yy138;
+ }
+ if (yych <= 0x00) goto yy137;
+ if (yych <= 0x08) goto yy132;
+ if (yych <= '\n') goto yy130;
+yy132:
+ YYDEBUG(132, *YYCURSOR);
+ yyleng = (size_t) YYCURSOR - (size_t) yytext;
+ {
+ return 0;
+}
+yy133:
+ YYDEBUG(133, *YYCURSOR);
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych == 'V') goto yy141;
+ if (yych == 'v') goto yy141;
+ goto yy128;
+yy134:
+ YYDEBUG(134, *YYCURSOR);
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych == 'U') goto yy143;
+ if (yych == 'u') goto yy143;
+ goto yy128;
+yy135:
+ YYDEBUG(135, *YYCURSOR);
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych == 'H') goto yy144;
+ if (yych == 'h') goto yy144;
+ goto yy128;
+yy136:
+ YYDEBUG(136, *YYCURSOR);
+ yych = *(YYMARKER = ++YYCURSOR);
if (yybm[0+yych] & 128) {
- goto yy151;
+ goto yy145;
}
- if (yych <= '\f') {
- if (yych <= 0x00) goto yy144;
- if (yych == '\t') goto yy153;
- } else {
- if (yych <= '\r') goto yy153;
- if (yych == ' ') goto yy153;
+ if (yych == 'U') goto yy143;
+ if (yych == 'u') goto yy143;
+ goto yy128;
+yy137:
+ YYDEBUG(137, *YYCURSOR);
+ ++YYCURSOR;
+ goto yy132;
+yy138:
+ YYDEBUG(138, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
+yy139:
+ YYDEBUG(139, *YYCURSOR);
+ if (yybm[0+yych] & 64) {
+ goto yy138;
}
- YYDEBUG(155, *YYCURSOR);
+ if (yych <= 0x00) goto yy137;
+ if (yych <= 0x08) goto yy140;
+ if (yych <= '\n') goto yy130;
+yy140:
+ YYDEBUG(140, *YYCURSOR);
yyleng = (size_t) YYCURSOR - (size_t) yytext;
{
/* ignore whitespace */
goto restart;
}
+yy141:
+ YYDEBUG(141, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= '\f') {
+ if (yych <= 0x08) goto yy142;
+ if (yych <= '\n') goto yy148;
+ } else {
+ if (yych <= '\r') goto yy148;
+ if (yych == ' ') goto yy148;
+ }
+yy142:
+ YYDEBUG(142, *YYCURSOR);
+ YYCURSOR = YYMARKER;
+ goto yy128;
+yy143:
+ YYDEBUG(143, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'N') goto yy151;
+ if (yych == 'n') goto yy151;
+ goto yy142;
+yy144:
+ YYDEBUG(144, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= '\f') {
+ if (yych <= 0x08) goto yy142;
+ if (yych <= '\n') goto yy152;
+ goto yy142;
+ } else {
+ if (yych <= '\r') goto yy152;
+ if (yych == ' ') goto yy152;
+ goto yy142;
+ }
+yy145:
+ YYDEBUG(145, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
+ YYDEBUG(146, *YYCURSOR);
+ if (yybm[0+yych] & 128) {
+ goto yy145;
+ }
+ YYDEBUG(147, *YYCURSOR);
+ yyleng = (size_t) YYCURSOR - (size_t) yytext;
+ {
+ YYSETCONDITION(PRE_RAW);
+ phpdbg_init_param(yylval, EMPTY_PARAM);
+ return T_RUN;
+}
+yy148:
+ YYDEBUG(148, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
+ YYDEBUG(149, *YYCURSOR);
+ if (yych <= '\f') {
+ if (yych <= 0x08) goto yy150;
+ if (yych <= '\n') goto yy148;
+ } else {
+ if (yych <= '\r') goto yy148;
+ if (yych == ' ') goto yy148;
+ }
+yy150:
+ YYDEBUG(150, *YYCURSOR);
+ yyleng = (size_t) YYCURSOR - (size_t) yytext;
+ {
+ YYSETCONDITION(PRE_RAW);
+ phpdbg_init_param(yylval, EMPTY_PARAM);
+ return T_EVAL;
+}
+yy151:
+ YYDEBUG(151, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 128) {
+ goto yy145;
+ }
+ goto yy142;
+yy152:
+ YYDEBUG(152, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
+ YYDEBUG(153, *YYCURSOR);
+ if (yych <= '\f') {
+ if (yych <= 0x08) goto yy154;
+ if (yych <= '\n') goto yy152;
+ } else {
+ if (yych <= '\r') goto yy152;
+ if (yych == ' ') goto yy152;
+ }
+yy154:
+ YYDEBUG(154, *YYCURSOR);
+ yyleng = (size_t) YYCURSOR - (size_t) yytext;
+ {
+ YYSETCONDITION(PRE_RAW);
+ phpdbg_init_param(yylval, EMPTY_PARAM);
+ return T_SHELL;
+}
}
}
diff --git a/test/php20150211_url_scanner_ex.ig--skeleton.c b/test/php20150211_url_scanner_ex.ig--skeleton.c
index 76fc2b2b..159b2e9d 100644
--- a/test/php20150211_url_scanner_ex.ig--skeleton.c
+++ b/test/php20150211_url_scanner_ex.ig--skeleton.c
@@ -1,7 +1,9 @@
/* Generated by re2c */
+#include <stddef.h> /* size_t */
#include <stdio.h>
#include <stdlib.h> /* malloc, free */
+#include <string.h> /* memcpy */
static void *read_file
( const char *fname
@@ -56,7 +58,7 @@ error:
#define YYFILL(n) { break; }
static int action_line129
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -64,10 +66,12 @@ static int action_line129
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -77,17 +81,17 @@ static int action_line129
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line129: at position %ld (iteration %u):\n"
+ , "error: lex_line129: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -97,6 +101,13 @@ static int action_line129
}
}
+static int check_key_count_line129(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line129: not enough keys\n");
+ return 1;
+}
+
int lex_line129()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -124,7 +135,7 @@ int lex_line129()
keys = (YYKEYTYPE *) read_file
("php20150211_url_scanner_ex.ig--skeleton.c.line129.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -137,7 +148,7 @@ int lex_line129()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
static const unsigned char yybm[] = {
@@ -190,19 +201,23 @@ yy2:
if (yybm[0+yych] & 128) {
goto yy2;
}
- status = action_line129(i, keys, input, token, &cursor, 3);
+ status = check_key_count_line129(keys_count, i, 3)
+ || action_line129(&i, keys, input, token, &cursor, 3);
continue;
yy5:
YYSKIP ();
- status = action_line129(i, keys, input, token, &cursor, 2);
+ status = check_key_count_line129(keys_count, i, 3)
+ || action_line129(&i, keys, input, token, &cursor, 2);
continue;
yy7:
YYSKIP ();
- status = action_line129(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line129(keys_count, i, 3)
+ || action_line129(&i, keys, input, token, &cursor, 0);
continue;
yy9:
YYSKIP ();
- status = action_line129(i, keys, input, token, &cursor, 1);
+ status = check_key_count_line129(keys_count, i, 3)
+ || action_line129(&i, keys, input, token, &cursor, 1);
continue;
}
@@ -214,7 +229,7 @@ yy9:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line129: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line129: unused keys left after %u keys\n", i);
}
}
@@ -240,7 +255,7 @@ end:
#define YYFILL(n) { break; }
static int action_line315
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -248,10 +263,12 @@ static int action_line315
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -261,17 +278,17 @@ static int action_line315
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line315: at position %ld (iteration %u):\n"
+ , "error: lex_line315: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -281,6 +298,13 @@ static int action_line315
}
}
+static int check_key_count_line315(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line315: not enough keys\n");
+ return 1;
+}
+
int lex_line315()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -308,7 +332,7 @@ int lex_line315()
keys = (YYKEYTYPE *) read_file
("php20150211_url_scanner_ex.ig--skeleton.c.line315.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -321,7 +345,7 @@ int lex_line315()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
static const unsigned char yybm[] = {
@@ -372,11 +396,13 @@ yy13:
if (yybm[0+yych] & 128) {
goto yy13;
}
- status = action_line315(i, keys, input, token, &cursor, 1);
+ status = check_key_count_line315(keys_count, i, 3)
+ || action_line315(&i, keys, input, token, &cursor, 1);
continue;
yy16:
YYSKIP ();
- status = action_line315(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line315(keys_count, i, 3)
+ || action_line315(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -388,7 +414,7 @@ yy16:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line315: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line315: unused keys left after %u keys\n", i);
}
}
@@ -414,7 +440,7 @@ end:
#define YYFILL(n) { break; }
static int action_line322
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -422,10 +448,12 @@ static int action_line322
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -435,17 +463,17 @@ static int action_line322
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line322: at position %ld (iteration %u):\n"
+ , "error: lex_line322: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -455,6 +483,13 @@ static int action_line322
}
}
+static int check_key_count_line322(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line322: not enough keys\n");
+ return 1;
+}
+
int lex_line322()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -482,7 +517,7 @@ int lex_line322()
keys = (YYKEYTYPE *) read_file
("php20150211_url_scanner_ex.ig--skeleton.c.line322.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -495,7 +530,7 @@ int lex_line322()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
static const unsigned char yybm[] = {
@@ -539,7 +574,8 @@ int lex_line322()
goto yy22;
}
YYSKIP ();
- status = action_line322(i, keys, input, token, &cursor, 1);
+ status = check_key_count_line322(keys_count, i, 3)
+ || action_line322(&i, keys, input, token, &cursor, 1);
continue;
yy22:
YYSKIP ();
@@ -548,7 +584,8 @@ yy22:
if (yybm[0+yych] & 128) {
goto yy22;
}
- status = action_line322(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line322(keys_count, i, 3)
+ || action_line322(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -560,7 +597,7 @@ yy22:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line322: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line322: unused keys left after %u keys\n", i);
}
}
@@ -586,7 +623,7 @@ end:
#define YYFILL(n) { break; }
static int action_line334
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -594,10 +631,12 @@ static int action_line334
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -607,17 +646,17 @@ static int action_line334
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line334: at position %ld (iteration %u):\n"
+ , "error: lex_line334: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -627,6 +666,13 @@ static int action_line334
}
}
+static int check_key_count_line334(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line334: not enough keys\n");
+ return 1;
+}
+
int lex_line334()
{
const size_t padding = 2; /* YYMAXFILL */
@@ -654,7 +700,7 @@ int lex_line334()
keys = (YYKEYTYPE *) read_file
("php20150211_url_scanner_ex.ig--skeleton.c.line334.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -667,7 +713,7 @@ int lex_line334()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
static const unsigned char yybm[] = {
@@ -747,7 +793,8 @@ int lex_line334()
yy27:
YYSKIP ();
yy28:
- status = action_line334(i, keys, input, token, &cursor, 3);
+ status = check_key_count_line334(keys_count, i, 3)
+ || action_line334(&i, keys, input, token, &cursor, 3);
continue;
yy29:
YYSKIP ();
@@ -756,7 +803,8 @@ yy29:
if (yybm[0+yych] & 128) {
goto yy29;
}
- status = action_line334(i, keys, input, token, &cursor, 1);
+ status = check_key_count_line334(keys_count, i, 3)
+ || action_line334(&i, keys, input, token, &cursor, 1);
continue;
yy32:
YYSKIP ();
@@ -764,11 +812,13 @@ yy32:
if (yych != '>') goto yy28;
yy33:
YYSKIP ();
- status = action_line334(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line334(keys_count, i, 3)
+ || action_line334(&i, keys, input, token, &cursor, 0);
continue;
yy35:
YYSKIP ();
- status = action_line334(i, keys, input, token, &cursor, 2);
+ status = check_key_count_line334(keys_count, i, 3)
+ || action_line334(&i, keys, input, token, &cursor, 2);
continue;
}
@@ -780,7 +830,7 @@ yy35:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line334: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line334: unused keys left after %u keys\n", i);
}
}
@@ -806,7 +856,7 @@ end:
#define YYFILL(n) { break; }
static int action_line341
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -814,10 +864,12 @@ static int action_line341
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -827,17 +879,17 @@ static int action_line341
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line341: at position %ld (iteration %u):\n"
+ , "error: lex_line341: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -847,6 +899,13 @@ static int action_line341
}
}
+static int check_key_count_line341(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line341: not enough keys\n");
+ return 1;
+}
+
int lex_line341()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -874,7 +933,7 @@ int lex_line341()
keys = (YYKEYTYPE *) read_file
("php20150211_url_scanner_ex.ig--skeleton.c.line341.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -887,7 +946,7 @@ int lex_line341()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
static const unsigned char yybm[] = {
@@ -933,7 +992,8 @@ int lex_line341()
if (yych <= 'z') goto yy41;
yy39:
YYSKIP ();
- status = action_line341(i, keys, input, token, &cursor, 1);
+ status = check_key_count_line341(keys_count, i, 3)
+ || action_line341(&i, keys, input, token, &cursor, 1);
continue;
yy41:
YYSKIP ();
@@ -942,7 +1002,8 @@ yy41:
if (yybm[0+yych] & 128) {
goto yy41;
}
- status = action_line341(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line341(keys_count, i, 3)
+ || action_line341(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -954,7 +1015,7 @@ yy41:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line341: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line341: unused keys left after %u keys\n", i);
}
}
@@ -982,7 +1043,7 @@ end:
#define YYFILL(n) { break; }
static int action_line348
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -990,10 +1051,12 @@ static int action_line348
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -1003,17 +1066,17 @@ static int action_line348
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line348: at position %ld (iteration %u):\n"
+ , "error: lex_line348: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -1023,6 +1086,13 @@ static int action_line348
}
}
+static int check_key_count_line348(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line348: not enough keys\n");
+ return 1;
+}
+
int lex_line348()
{
const size_t padding = 2; /* YYMAXFILL */
@@ -1050,7 +1120,7 @@ int lex_line348()
keys = (YYKEYTYPE *) read_file
("php20150211_url_scanner_ex.ig--skeleton.c.line348.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -1063,7 +1133,7 @@ int lex_line348()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -1108,7 +1178,8 @@ int lex_line348()
if (yych == '=') goto yy49;
YYSKIP ();
yy47:
- status = action_line348(i, keys, input, token, &cursor, 1);
+ status = check_key_count_line348(keys_count, i, 3)
+ || action_line348(&i, keys, input, token, &cursor, 1);
continue;
yy48:
YYSKIP ();
@@ -1123,7 +1194,8 @@ yy49:
if (yybm[0+yych] & 128) {
goto yy49;
}
- status = action_line348(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line348(keys_count, i, 3)
+ || action_line348(&i, keys, input, token, &cursor, 0);
continue;
yy52:
YYSKIP ();
@@ -1143,7 +1215,7 @@ yy52:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line348: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line348: unused keys left after %u keys\n", i);
}
}
@@ -1173,7 +1245,7 @@ end:
#define YYFILL(n) { break; }
static int action_line358
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -1181,10 +1253,12 @@ static int action_line358
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -1194,17 +1268,17 @@ static int action_line358
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line358: at position %ld (iteration %u):\n"
+ , "error: lex_line358: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -1214,6 +1288,13 @@ static int action_line358
}
}
+static int check_key_count_line358(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line358: not enough keys\n");
+ return 1;
+}
+
int lex_line358()
{
const size_t padding = 2; /* YYMAXFILL */
@@ -1241,7 +1322,7 @@ int lex_line358()
keys = (YYKEYTYPE *) read_file
("php20150211_url_scanner_ex.ig--skeleton.c.line358.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -1254,7 +1335,7 @@ int lex_line358()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -1309,12 +1390,14 @@ yy57:
if (yybm[0+yych] & 32) {
goto yy57;
}
- status = action_line358(i, keys, input, token, &cursor, 2);
+ status = check_key_count_line358(keys_count, i, 3)
+ || action_line358(&i, keys, input, token, &cursor, 2);
continue;
yy60:
YYSKIP ();
yy61:
- status = action_line358(i, keys, input, token, &cursor, 3);
+ status = check_key_count_line358(keys_count, i, 3)
+ || action_line358(&i, keys, input, token, &cursor, 3);
continue;
yy62:
YYSKIP ();
@@ -1342,7 +1425,8 @@ yy66:
goto yy61;
yy67:
YYSKIP ();
- status = action_line358(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line358(keys_count, i, 3)
+ || action_line358(&i, keys, input, token, &cursor, 0);
continue;
yy69:
YYSKIP ();
@@ -1354,7 +1438,8 @@ yy70:
}
if (yych >= '(') goto yy66;
YYSKIP ();
- status = action_line358(i, keys, input, token, &cursor, 1);
+ status = check_key_count_line358(keys_count, i, 3)
+ || action_line358(&i, keys, input, token, &cursor, 1);
continue;
}
@@ -1366,7 +1451,7 @@ yy70:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line358: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line358: unused keys left after %u keys\n", i);
}
}
@@ -1418,160 +1503,9 @@ int main()
< < < <<<<<<<<<<<<<<<<<<< <!!<""<##<$$<%%<&&<''<((<))<**<++<,,<--<..<//<00<11<22<33<44<55<66<77<88<99<::<;;<==<>><??<@@<AA<BB<CC<DD<EE<FF<GG<HH<II<JJ<KK<LL<MM<NN<OO<PP<QQ<RR<SS<TT<UU<VV<WW<XX<YY<ZZ<[[<\\<]]<^^<__<``<aa<bb<cc<dd<ee<ff<gg<hh<ii<jj<kk<ll<mm<nn<oo<pp<qq<rr<ss<tt<uu<vv<ww<xx<yy<zz<{{<||<}}<~~<<€€<<‚‚<ƒƒ<„„<……<††<‡‡<ˆˆ<‰‰<ŠŠ<‹‹<ŒŒ<<ŽŽ<<<‘‘<’’<““<””<••<––<——<˜˜<™™<šš<››<œœ<<žž<ŸŸ<  <¡¡<¢¢<££<¤¤<¥¥<¦¦<§§<¨¨<©©<ªª<««<¬¬<­­<®®<¯¯<°°<±±<²²<³³<´´<µµ<¶¶<··<¸¸<¹¹<ºº<»»<¼¼<½½<¾¾<¿¿<ÀÀ<ÁÁ<ÂÂ<ÃÃ<ÄÄ<ÅÅ<ÆÆ<ÇÇ<ÈÈ<ÉÉ<ÊÊ<ËË<ÌÌ<ÍÍ<ÎÎ<ÏÏ<ÐÐ<ÑÑ<ÒÒ<ÓÓ<ÔÔ<ÕÕ<ÖÖ<××<ØØ<ÙÙ<ÚÚ<ÛÛ<ÜÜ<ÝÝ<ÞÞ<ßß<àà<áá<ââ<ãã<ää<åå<ææ<çç<èè<éé<êê<ëë<ìì<íí<îî<ïï<ðð<ññ<òò<óó<ôô<õõ<öö<÷÷<øø<ùù<úú<ûû<üü<ýý<þþ<ÿÿ<
< < < <<<<<<<<<<<<<<<<<<< <!<"<#<$<%<&<'<(<)<*<+<,<-<.</<0<1<2<3<4<5<6<7<8<9<:<;<=<><?<@<A<B<C<D<E<F<G<H<I<J<K<L<M<N<O<P<Q<R<S<T<U<V<W<X<Y<Z<[<\<]<^<_<`<a<b<c<d<e<f<g<h<i<j<k<l<m<n<o<p<q<r<s<t<u<v<w<x<y<z<{<|<}<~<<€<<‚<ƒ<„<…<†<‡<ˆ<‰<Š<‹<Œ<<Ž<<<‘<’<“<”<•<–<—<˜<™<š<›<œ<<ž<Ÿ< <¡<¢<£<¤<¥<¦<§<¨<©<ª<«<¬<­<®<¯<°<±<²<³<´<µ<¶<·<¸<¹<º<»<¼<½<¾<¿<À<Á<Â<Ã<Ä<Å<Æ<Ç<È<É<Ê<Ë<Ì<Í<Î<Ï<Ð<Ñ<Ò<Ó<Ô<Õ<Ö<×<Ø<Ù<Ú<Û<Ü<Ý<Þ<ß<à<á<â<ã<ä<å<æ<ç<è<é<ê<ë<ì<í<î<ï<ð<ñ<ò<ó<ô<õ<ö<÷<ø<ù<ú<û<ü<ý<þ<ÿ<<
-  !"#$%&'()*+,-./0123456789;<=>?@[\]^_`{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ:::
-KKK LLL MMM NNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZaaabbbcccdddeeefff ggg!hhh"iii#jjj$kkk%lll&mmm'nnn(ooo)ppp*qqq+rrr,sss-ttt.uuu/vvv0www1xxx2yyy3zzz4:::5AAA6BBB7CCC8DDD9EEE;FFF<GGG=HHH>III?JJJ@KKK[LLL\MMM]NNN^OOO_PPP`QQQ{RRR|SSS}TTT~UUUVVV€WWWXXX‚YYYƒZZZ„aaa…bbb†ccc‡dddˆeee‰fffŠggg‹hhhŒiiijjjŽkkklllmmm‘nnn’ooo“ppp”qqq•rrr–sss—ttt˜uuu™vvvšwww›xxxœyyyzzzž:::ŸAAA BBB¡CCC¢DDD£EEE¤FFF¥GGG¦HHH§III¨JJJ©KKKªLLL«MMM¬NNN­OOO®PPP¯QQQ°RRR±SSS²TTT³UUU´VVVµWWW¶XXX·YYY¸ZZZ¹aaaºbbb»ccc¼ddd½eee¾fff¿gggÀhhhÁiiiÂjjjÃkkkÄlllÅmmmÆnnnÇoooÈpppÉqqqÊrrrËsssÌtttÍuuuÎvvvÏwwwÐxxxÑyyyÒzzzÓ:::ÔAAAÕBBBÖCCC×DDDØEEEÙFFFÚGGGÛHHHÜIIIÝJJJÞKKKßLLLàMMMáNNNâOOOãPPPäQQQåRRRæSSSçTTTèUUUéVVVêWWWëXXXìYYYíZZZîaaaïbbbðcccñdddòeeeófffôgggõhhhöiii÷jjjøkkkùlllúmmmûnnnüoooýpppþqqqÿ::
+  !"#$%&'()*+,-./0123456789;<=>?@[\]^_`{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ::
KK LL MM NNOOPPQQRRSSTTUUVVWWXXYYZZaabbccddeeff gg!hh"ii#jj$kk%ll&mm'nn(oo)pp*qq+rr,ss-tt.uu/vv0ww1xx2yy3zz4::5AA6BB7CC8DD9EE;FF<GG=HH>II?JJ@KK[LL\MM]NN^OO_PP`QQ{RR|SS}TT~UUVV€WWXX‚YYƒZZ„aa…bb†cc‡ddˆee‰ffŠgg‹hhŒiijjŽkkllmm‘nn’oo“pp”qq•rr–ss—tt˜uu™vvšww›xxœyyzzž::ŸAA BB¡CC¢DD£EE¤FF¥GG¦HH§II¨JJ©KKªLL«MM¬NN­OO®PP¯QQ°RR±SS²TT³UU´VVµWW¶XX·YY¸ZZ¹aaºbb»cc¼dd½ee¾ff¿ggÀhhÁiiÂjjÃkkÄllÅmmÆnnÇooÈppÉqqÊrrËssÌttÍuuÎvvÏwwÐxxÑyyÒzzÓ::ÔAAÕBBÖCC×DDØEEÙFFÚGGÛHHÜIIÝJJÞKKßLLàMMáNNâOOãPPäQQåRRæSSçTTèUUéVVêWWëXXìYYíZZîaaïbbðccñddòeeóffôggõhhöii÷jjøkkùllúmmûnnüooýppþqqÿ:
-K L M NOPQRSTUVWXYZabcdef g!h"i#j$k%l&m'n(o)p*q+r,s-t.u/v0w1x2y3z4:5A6B7C8D9E;F<G=H>I?J@K[L\M]N^O_P`Q{R|S}T~UV€WX‚YƒZ„a…b†c‡dˆe‰fŠg‹hŒijŽklm‘n’o“p”q•r–s—t˜u™všw›xœyzž:ŸA B¡C¢D£E¤F¥G¦H§I¨J©KªL«M¬N­O®P¯Q°R±S²T³U´VµW¶X·Y¸Z¹aºb»c¼d½e¾f¿gÀhÁiÂjÃkÄlÅmÆnÇoÈpÉqÊrËsÌtÍuÎvÏwÐxÑyÒzÓ:ÔAÕBÖC×DØEÙFÚGÛHÜIÝJÞKßLàMáNâOãPäQåRæSçTèUéVêWëXìYíZîaïbðcñdòeófôgõhöi÷jøkùlúmûnüoýpþqÿ
-
-
-    
-
-
-   
-
-
-    
-
-
-    
-
-
-    
-
-
-  ! " #
-
-
-$ % & ' (
-
-
-) * + , -
-
-
-. / 0 1 2
-
-
-3 4 5 6 7
-
-
-8 9 : ; <
-
-
-= > ? @ A
-
-
-B C D E F
-
-
-G H I J K
-
-
-L M N O P
-
-
-Q R S T U
-
-
-V W X Y Z
-
-
-[ \ ] ^ _
-
-
-` a b c d
-
-
-e f g h i
-
-
-j k l m n
-
-
-o p q r s
-
-
-t u v w x
-
-
-y z { | }
-
-
-~  € ‚
-
-
-ƒ „ … † ‡
-
-
-ˆ ‰ Š ‹ Œ
-
-
- Ž ‘
-
-
-’ “ ” • –
-
-
-— ˜ ™ š ›
-
-
-œ ž Ÿ  
-
-
-¡ ¢ £ ¤ ¥
-
-
-¦ § ¨ © ª
-
-
-« ¬ ­ ® ¯
-
-
-° ± ² ³ ´
-
-
-µ ¶ · ¸ ¹
-
-
-º » ¼ ½ ¾
-
-
-¿ À Á Â Ã
-
-
-Ä Å Æ Ç È
-
-
-É Ê Ë Ì Í
-
-
-Î Ï Ð Ñ Ò
-
-
-Ó Ô Õ Ö ×
-
-
-Ø Ù Ú Û Ü
-
-
-Ý Þ ß à á
-
-
-â ã ä å æ
-
-
-ç è é ê ë
-
-
-ì í î ï ð
-
-
-ñ ò ó ô õ
-
-
-ö ÷ ø ù ú
-
-
-û ü ý þ ÿ
+K L M NOPQRSTUVWXYZabcdef g!h"i#j$k%l&m'n(o)p*q+r,s-t.u/v0w1x2y3z4:5A6B7C8D9E;F<G=H>I?J@K[L\M]N^O_P`Q{R|S}T~UV€WX‚YƒZ„a…b†c‡dˆe‰fŠg‹hŒijŽklm‘n’o“p”q•r–s—t˜u™všw›xœyzž:ŸA B¡C¢D£E¤F¥G¦H§I¨J©KªL«M¬N­O®P¯Q°R±S²T³U´VµW¶X·Y¸Z¹aºb»c¼d½e¾f¿gÀhÁiÂjÃkÄlÅmÆnÇoÈpÉqÊrËsÌtÍuÎvÏwÐxÑyÒzÓ:ÔAÕBÖC×DØEÙFÚGÛHÜIÝJÞKßLàMáNâOãPäQåRæSçTèUéVêWëXìYíZîaïbðcñdòeófôgõhöi÷jøkùlúmûnüoýpþqÿ
    
@@ -1722,57 +1656,18 @@ y z { | }
ñ ò ó ô õ
ö ÷ ø ù ú
û ü ý þ ÿ/>/
-/ / / /////////////////// /!/"/#/$/%/&/'/(/)/*/+/,/-/.///0/1/2/3/4/5/6/7/8/9/:/;/</=/?/@/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/[/\/]/^/_/`/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/{/|/}/~//€//‚/ƒ/„/…/†/‡/ˆ/‰/Š/‹/Œ//Ž///‘/’/“/”/•/–/—/˜/™/š/›/œ//ž/Ÿ/ /¡/¢/£/¤/¥/¦/§/¨/©/ª/«/¬/­/®/¯/°/±/²/³/´/µ/¶/·/¸/¹/º/»/¼/½/¾/¿/À/Á/Â/Ã/Ä/Å/Æ/Ç/È/É/Ê/Ë/Ì/Í/Î/Ï/Ð/Ñ/Ò/Ó/Ô/Õ/Ö/×/Ø/Ù/Ú/Û/Ü/Ý/Þ/ß/à/á/â/ã/ä/å/æ/ç/è/é/ê/ë/ì/í/î/ï/ð/ñ/ò/ó/ô/õ/ö/÷/ø/ù/ú/û/ü/ý/þ/ÿ>ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
-  !"#$%&'()*+,-./0123456789:;<=>?@[\]^_`{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿA--
-LKK MLL NMM ONNPOOQPPRQQSRRTSSUTTVUUWVVXWWYXXZYYaZZbaacbbdcceddfeegff hgg!ihh"jii#kjj$lkk%mll&nmm'onn(poo)qpp*rqq+srr,tss.utt/vuu0wvv1xww2yxx3zyy4Azz5B--6CAA7DBB8ECC9FDD:GEE;HFF<IGG=JHH>KII?LJJ@MKK[NLL\OMM]PNN^QOO_RPP`SQQ{TRR|USS}VTT~WUUXVV€YWWZXX‚aYYƒbZZ„caa…dbb†ecc‡fddˆgee‰hffŠigg‹jhhŒkiiljjŽmkknllomm‘pnn’qoo“rpp”sqq•trr–uss—vtt˜wuu™xvvšyww›zxxœAyyBzzžC--ŸDAA EBB¡FCC¢GDD£HEE¤IFF¥JGG¦KHH§LII¨MJJ©NKKªOLL«PMM¬QNN­ROO®SPP¯TQQ°URR±VSS²WTT³XUU´YVVµZWW¶aXX·bYY¸cZZ¹daaºebb»fcc¼gdd½hee¾iff¿jggÀkhhÁliiÂmjjÃnkkÄollÅpmmÆqnnÇrooÈsppÉtqqÊurrËvssÌwttÍxuuÎyvvÏzwwÐAxxÑByyÒCzzÓD--ÔEAAÕFBBÖGCC×HDDØIEEÙJFFÚKGGÛLHHÜMIIÝNJJÞOKKßPLLàQMMáRNNâSOOãTPPäUQQåVRRæWSSçXTTèYUUéZVVêaWWëbXXìcYYídZZîeaaïfbbðgccñhddòieeójffôkggõlhhömii÷njjøokkùpllúqmmûrnnüsooýtppþuqqÿA-
+/ / / /////////////////// /!/"/#/$/%/&/'/(/)/*/+/,/-/.///0/1/2/3/4/5/6/7/8/9/:/;/</=/?/@/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/[/\/]/^/_/`/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/{/|/}/~//€//‚/ƒ/„/…/†/‡/ˆ/‰/Š/‹/Œ//Ž///‘/’/“/”/•/–/—/˜/™/š/›/œ//ž/Ÿ/ /¡/¢/£/¤/¥/¦/§/¨/©/ª/«/¬/­/®/¯/°/±/²/³/´/µ/¶/·/¸/¹/º/»/¼/½/¾/¿/À/Á/Â/Ã/Ä/Å/Æ/Ç/È/É/Ê/Ë/Ì/Í/Î/Ï/Ð/Ñ/Ò/Ó/Ô/Õ/Ö/×/Ø/Ù/Ú/Û/Ü/Ý/Þ/ß/à/á/â/ã/ä/å/æ/ç/è/é/ê/ë/ì/í/î/ï/ð/ñ/ò/ó/ô/õ/ö/÷/ø/ù/ú/û/ü/ý/þ/ÿ>ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
+  !"#$%&'()*+,-./0123456789:;<=>?@[\]^_`{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿA-
LK ML NM ONPOQPRQSRTSUTVUWVXWYXZYaZbacbdcedfegf hg!ih"ji#kj$lk%ml&nm'on(po)qp*rq+sr,ts.ut/vu0wv1xw2yx3zy4Az5B-6CA7DB8EC9FD:GE;HF<IG=JH>KI?LJ@MK[NL\OM]PN^QO_RP`SQ{TR|US}VT~WUXV€YWZX‚aYƒbZ„ca…db†ec‡fdˆge‰hfŠig‹jhŒkiljŽmknlom‘pn’qo“rp”sq•tr–us—vt˜wu™xvšyw›zxœAyBzžC-ŸDA EB¡FC¢GD£HE¤IF¥JG¦KH§LI¨MJ©NKªOL«PM¬QN­RO®SP¯TQ°UR±VS²WT³XU´YVµZW¶aX·bY¸cZ¹daºeb»fc¼gd½he¾if¿jgÀkhÁliÂmjÃnkÄolÅpmÆqnÇroÈspÉtqÊurËvsÌwtÍxuÎyvÏzwÐAxÑByÒCzÓD-ÔEAÕFBÖGC×HDØIEÙJFÚKGÛLHÜMIÝNJÞOKßPLàQMáRNâSOãTPäUQåVRæWSçXTèYUéZVêaWëbXìcYídZîeaïfbðgcñhdòieójfôkgõlhömi÷njøokùplúqmûrnüsoýtpþuqÿA
-L M N OPQRSTUVWXYZabcdefg h!i"j#k$l%m&n'o(p)q*r+s,t.u/v0w1x2y3z4A5B6C7D8E9F:G;H<I=J>K?L@M[N\O]P^Q_R`S{T|U}V~WX€YZ‚aƒb„c…d†e‡fˆg‰hŠi‹jŒklŽmno‘p’q“r”s•t–u—v˜w™xšy›zœABžCŸD E¡F¢G£H¤I¥J¦K§L¨M©NªO«P¬Q­R®S¯T°U±V²W³X´YµZ¶a·b¸c¹dºe»f¼g½h¾i¿jÀkÁlÂmÃnÄoÅpÆqÇrÈsÉtÊuËvÌwÍxÎyÏzÐAÑBÒCÓDÔEÕFÖG×HØIÙJÚKÛLÜMÝNÞOßPàQáRâSãTäUåVæWçXèYéZêaëbìcídîeïfðgñhòiójôkõlöm÷nøoùpúqûrüsýtþuÿ
- !"#$%&'()*+,-./0123456789:;<>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ =
- = = = =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  = ! = " = # = $ = % = & = ' = ( = ) = * = + = , = - = . = / = 0 = 1 = 2 = 3 = 4 = 5 = 6 = 7 = 8 = 9 = : = ; = < = = = > = ? = @ = A = B = C = D = E = F = G = H = I = J = K = L = M = N = O = P = Q = R = S = T = U = V = W = X = Y = Z = [ = \ = ] = ^ = _ = ` = a = b = c = d = e = f = g = h = i = j = k = l = m = n = o = p = q = r = s = t = u = v = w = x = y = z = { = | = } = ~ =  = € = = ‚ = ƒ = „ = … = † = ‡ = ˆ = ‰ = Š = ‹ = Œ = = Ž = = = ‘ = ’ = “ = ” = • = – = — = ˜ = ™ = š = › = œ = = ž = Ÿ =   = ¡ = ¢ = £ = ¤ = ¥ = ¦ = § = ¨ = © = ª = « = ¬ = ­ = ® = ¯ = ° = ± = ² = ³ = ´ = µ = ¶ = · = ¸ = ¹ = º = » = ¼ = ½ = ¾ = ¿ = À = Á =  = à = Ä = Å = Æ = Ç = È = É = Ê = Ë = Ì = Í = Î = Ï = Ð = Ñ = Ò = Ó = Ô = Õ = Ö = × = Ø = Ù = Ú = Û = Ü = Ý = Þ = ß = à = á = â = ã = ä = å = æ = ç = è = é = ê = ë = ì = í = î = ï = ð = ñ = ò = ó = ô = õ = ö = ÷ = ø = ù = ú = û = ü = ý = þ = ÿ =
- = = = = = = = = = = = = = = = = = = = = = =! =" =# =$ =% =& =' =( =) =* =+ =, =- =. =/ =0 =1 =2 =3 =4 =5 =6 =7 =8 =9 =: =; =< == => =? =@ =A =B =C =D =E =F =G =H =I =J =K =L =M =N =O =P =Q =R =S =T =U =V =W =X =Y =Z =[ =\ =] =^ =_ =` =a =b =c =d =e =f =g =h =i =j =k =l =m =n =o =p =q =r =s =t =u =v =w =x =y =z ={ =| =} =~ = =€ = =‚ =ƒ =„ =… =† =‡ =ˆ =‰ =Š =‹ =Œ = =Ž = = =‘ =’ =“ =” =• =– =— =˜ =™ =š =› =œ = =ž =Ÿ =  =¡ =¢ =£ =¤ =¥ =¦ =§ =¨ =© =ª =« =¬ =­ =® =¯ =° =± =² =³ =´ =µ =¶ =· =¸ =¹ =º =» =¼ =½ =¾ =¿ =À =Á = =à =Ä =Å =Æ =Ç =È =É =Ê =Ë =Ì =Í =Î =Ï =Ð =Ñ =Ò =Ó =Ô =Õ =Ö =× =Ø =Ù =Ú =Û =Ü =Ý =Þ =ß =à =á =â =ã =ä =å =æ =ç =è =é =ê =ë =ì =í =î =ï =ð =ñ =ò =ó =ô =õ =ö =÷ =ø =ù =ú =û =ü =ý =þ =ÿ
-                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ =
- = = = = = = = = = = = = = = = = = = = = = =! =" =# =$ =% =& =' =( =) =* =+ =, =- =. =/ =0 =1 =2 =3 =4 =5 =6 =7 =8 =9 =: =; =< == => =? =@ =A =B =C =D =E =F =G =H =I =J =K =L =M =N =O =P =Q =R =S =T =U =V =W =X =Y =Z =[ =\ =] =^ =_ =` =a =b =c =d =e =f =g =h =i =j =k =l =m =n =o =p =q =r =s =t =u =v =w =x =y =z ={ =| =} =~ = =€ = =‚ =ƒ =„ =… =† =‡ =ˆ =‰ =Š =‹ =Œ = =Ž = = =‘ =’ =“ =” =• =– =— =˜ =™ =š =› =œ = =ž =Ÿ =  =¡ =¢ =£ =¤ =¥ =¦ =§ =¨ =© =ª =« =¬ =­ =® =¯ =° =± =² =³ =´ =µ =¶ =· =¸ =¹ =º =» =¼ =½ =¾ =¿ =À =Á = =à =Ä =Å =Æ =Ç =È =É =Ê =Ë =Ì =Í =Î =Ï =Ð =Ñ =Ò =Ó =Ô =Õ =Ö =× =Ø =Ù =Ú =Û =Ü =Ý =Þ =ß =à =á =â =ã =ä =å =æ =ç =è =é =ê =ë =ì =í =î =ï =ð =ñ =ò =ó =ô =õ =ö =÷ =ø =ù =ú =û =ü =ý =þ =ÿ
-                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ =
- = = = = = = = = = = = = = = = = = = = = = =! =" =# =$ =% =& =' =( =) =* =+ =, =- =. =/ =0 =1 =2 =3 =4 =5 =6 =7 =8 =9 =: =; =< == => =? =@ =A =B =C =D =E =F =G =H =I =J =K =L =M =N =O =P =Q =R =S =T =U =V =W =X =Y =Z =[ =\ =] =^ =_ =` =a =b =c =d =e =f =g =h =i =j =k =l =m =n =o =p =q =r =s =t =u =v =w =x =y =z ={ =| =} =~ = =€ = =‚ =ƒ =„ =… =† =‡ =ˆ =‰ =Š =‹ =Œ = =Ž = = =‘ =’ =“ =” =• =– =— =˜ =™ =š =› =œ = =ž =Ÿ =  =¡ =¢ =£ =¤ =¥ =¦ =§ =¨ =© =ª =« =¬ =­ =® =¯ =° =± =² =³ =´ =µ =¶ =· =¸ =¹ =º =» =¼ =½ =¾ =¿ =À =Á = =à =Ä =Å =Æ =Ç =È =É =Ê =Ë =Ì =Í =Î =Ï =Ð =Ñ =Ò =Ó =Ô =Õ =Ö =× =Ø =Ù =Ú =Û =Ü =Ý =Þ =ß =à =á =â =ã =ä =å =æ =ç =è =é =ê =ë =ì =í =î =ï =ð =ñ =ò =ó =ô =õ =ö =÷ =ø =ù =ú =û =ü =ý =þ =ÿ
-                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ=
-= = = = = = = = = = = = = = = = = = = = = = != "= #= $= %= &= '= (= )= *= += ,= -= .= /= 0= 1= 2= 3= 4= 5= 6= 7= 8= 9= := ;= <= == >= ?= @= A= B= C= D= E= F= G= H= I= J= K= L= M= N= O= P= Q= R= S= T= U= V= W= X= Y= Z= [= \= ]= ^= _= `= a= b= c= d= e= f= g= h= i= j= k= l= m= n= o= p= q= r= s= t= u= v= w= x= y= z= {= |= }= ~= = €= = ‚= ƒ= „= …= †= ‡= ˆ= ‰= Š= ‹= Œ= = Ž= = = ‘= ’= “= ”= •= –= —= ˜= ™= š= ›= œ= = ž= Ÿ=  = ¡= ¢= £= ¤= ¥= ¦= §= ¨= ©= ª= «= ¬= ­= ®= ¯= °= ±= ²= ³= ´= µ= ¶= ·= ¸= ¹= º= »= ¼= ½= ¾= ¿= À= Á= Â= Ã= Ä= Å= Æ= Ç= È= É= Ê= Ë= Ì= Í= Î= Ï= Ð= Ñ= Ò= Ó= Ô= Õ= Ö= ×= Ø= Ù= Ú= Û= Ü= Ý= Þ= ß= à= á= â= ã= ä= å= æ= ç= è= é= ê= ë= ì= í= î= ï= ð= ñ= ò= ó= ô= õ= ö= ÷= ø= ù= ú= û= ü= ý= þ= ÿ=
-= = = ===================!="=#=$=%=&='=(=)=*=+=,=-=.=/=0=1=2=3=4=5=6=7=8=9=:=;=<===>=?=@=A=B=C=D=E=F=G=H=I=J=K=L=M=N=O=P=Q=R=S=T=U=V=W=X=Y=Z=[=\=]=^=_=`=a=b=c=d=e=f=g=h=i=j=k=l=m=n=o=p=q=r=s=t=u=v=w=x=y=z={=|=}=~==€==‚=ƒ=„=…=†=‡=ˆ=‰=Š=‹=Œ==Ž===‘=’=“=”=•=–=—=˜=™=š=›=œ==ž=Ÿ= =¡=¢=£=¤=¥=¦=§=¨=©=ª=«=¬=­=®=¯=°=±=²=³=´=µ=¶=·=¸=¹=º=»=¼=½=¾=¿=À=Á=Â=Ã=Ä=Å=Æ=Ç=È=É=Ê=Ë=Ì=Í=Î=Ï=Ð=Ñ=Ò=Ó=Ô=Õ=Ö=×=Ø=Ù=Ú=Û=Ü=Ý=Þ=ß=à=á=â=ã=ä=å=æ=ç=è=é=ê=ë=ì=í=î=ï=ð=ñ=ò=ó=ô=õ=ö=÷=ø=ù=ú=û=ü=ý=þ=ÿ
-  "'> 
- "'> 
-  "'> 
-  "'> !!!
-### $$$ %%%"&&&'(((>))) ***
-+++ ,,, ---"...'///>000 111
-222 333 444"555'666>777 888
-999 ::: ;;;"<<<'===>??? @@@
-AAA BBB CCC"DDD'EEE>FFF GGG
-HHH III JJJ"KKK'LLL>MMM NNN
-OOO PPP QQQ"RRR'SSS>TTT UUU
-VVV WWW XXX"YYY'ZZZ>[[[ \\\
-]]] ^^^ ___"```'aaa>bbb ccc
-ddd eee fff"ggg'hhh>iii jjj
-kkk lll mmm"nnn'ooo>ppp qqq
-rrr sss ttt"uuu'vvv>www xxx
-yyy zzz {{{"|||'}}}>~~~ 
-€€€ ‚‚‚"ƒƒƒ'„„„>……… †††
-‡‡‡ ˆˆˆ ‰‰‰"ŠŠŠ'‹‹‹>ŒŒŒ
-ŽŽŽ "‘‘‘'’’’>“““ ”””
-••• ––– ———"˜˜˜'™™™>ššš ›››
-œœœ žžž"ŸŸŸ'   >¡¡¡ ¢¢¢
-£££ ¤¤¤ ¥¥¥"¦¦¦'§§§>¨¨¨ ©©©
-ªªª ««« ¬¬¬"­­­'®®®>¯¯¯ °°°
-±±± ²²² ³³³"´´´'µµµ>¶¶¶ ···
-¸¸¸ ¹¹¹ ººº"»»»'¼¼¼>½½½ ¾¾¾
-¿¿¿ ÀÀÀ ÁÁÁ"ÂÂÂ'ÃÃÃ>ÄÄÄ ÅÅÅ
-ÆÆÆ ÇÇÇ ÈÈÈ"ÉÉÉ'ÊÊÊ>ËËË ÌÌÌ
-ÍÍÍ ÎÎÎ ÏÏÏ"ÐÐÐ'ÑÑÑ>ÒÒÒ ÓÓÓ
-ÔÔÔ ÕÕÕ ÖÖÖ"×××'ØØØ>ÙÙÙ ÚÚÚ
-ÛÛÛ ÜÜÜ ÝÝÝ"ÞÞÞ'ßßß>ààà ááá
-âââ ããã äää"ååå'æææ>ççç èèè
-ééé êêê ëëë"ììì'ííí>îîî ïïï
-ððð ñññ òòò"óóó'ôôô>õõõ ööö
-÷÷÷ øøø ùùù"úúú'ûûû>üüü ýýý
-þþþ ÿÿÿ
+L M N OPQRSTUVWXYZabcdefg h!i"j#k$l%m&n'o(p)q*r+s,t.u/v0w1x2y3z4A5B6C7D8E9F:G;H<I=J>K?L@M[N\O]P^Q_R`S{T|U}V~WX€YZ‚aƒb„c…d†e‡fˆg‰hŠi‹jŒklŽmno‘p’q“r”s•t–u—v˜w™xšy›zœABžCŸD E¡F¢G£H¤I¥J¦K§L¨M©NªO«P¬Q­R®S¯T°U±V²W³X´YµZ¶a·b¸c¹dºe»f¼g½h¾i¿jÀkÁlÂmÃnÄoÅpÆqÇrÈsÉtÊuËvÌwÍxÎyÏzÐAÑBÒCÓDÔEÕFÖG×HØIÙJÚKÛLÜMÝNÞOßPàQáRâSãTäUåVæWçXèYéZêaëbìcídîeïfðgñhòiójôkõlöm÷nøoùpúqûrüsýtþuÿ
+ !"#$%&'()*+,-./0123456789:;<>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ =
+ = = = =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  = ! = " = # = $ = % = & = ' = ( = ) = * = + = , = - = . = / = 0 = 1 = 2 = 3 = 4 = 5 = 6 = 7 = 8 = 9 = : = ; = < = = = > = ? = @ = A = B = C = D = E = F = G = H = I = J = K = L = M = N = O = P = Q = R = S = T = U = V = W = X = Y = Z = [ = \ = ] = ^ = _ = ` = a = b = c = d = e = f = g = h = i = j = k = l = m = n = o = p = q = r = s = t = u = v = w = x = y = z = { = | = } = ~ =  = € = = ‚ = ƒ = „ = … = † = ‡ = ˆ = ‰ = Š = ‹ = Œ = = Ž = = = ‘ = ’ = “ = ” = • = – = — = ˜ = ™ = š = › = œ = = ž = Ÿ =   = ¡ = ¢ = £ = ¤ = ¥ = ¦ = § = ¨ = © = ª = « = ¬ = ­ = ® = ¯ = ° = ± = ² = ³ = ´ = µ = ¶ = · = ¸ = ¹ = º = » = ¼ = ½ = ¾ = ¿ = À = Á =  = à = Ä = Å = Æ = Ç = È = É = Ê = Ë = Ì = Í = Î = Ï = Ð = Ñ = Ò = Ó = Ô = Õ = Ö = × = Ø = Ù = Ú = Û = Ü = Ý = Þ = ß = à = á = â = ã = ä = å = æ = ç = è = é = ê = ë = ì = í = î = ï = ð = ñ = ò = ó = ô = õ = ö = ÷ = ø = ù = ú = û = ü = ý = þ = ÿ =
+ = = = = = = = = = = = = = = = = = = = = = =! =" =# =$ =% =& =' =( =) =* =+ =, =- =. =/ =0 =1 =2 =3 =4 =5 =6 =7 =8 =9 =: =; =< == => =? =@ =A =B =C =D =E =F =G =H =I =J =K =L =M =N =O =P =Q =R =S =T =U =V =W =X =Y =Z =[ =\ =] =^ =_ =` =a =b =c =d =e =f =g =h =i =j =k =l =m =n =o =p =q =r =s =t =u =v =w =x =y =z ={ =| =} =~ = =€ = =‚ =ƒ =„ =… =† =‡ =ˆ =‰ =Š =‹ =Œ = =Ž = = =‘ =’ =“ =” =• =– =— =˜ =™ =š =› =œ = =ž =Ÿ =  =¡ =¢ =£ =¤ =¥ =¦ =§ =¨ =© =ª =« =¬ =­ =® =¯ =° =± =² =³ =´ =µ =¶ =· =¸ =¹ =º =» =¼ =½ =¾ =¿ =À =Á = =à =Ä =Å =Æ =Ç =È =É =Ê =Ë =Ì =Í =Î =Ï =Ð =Ñ =Ò =Ó =Ô =Õ =Ö =× =Ø =Ù =Ú =Û =Ü =Ý =Þ =ß =à =á =â =ã =ä =å =æ =ç =è =é =ê =ë =ì =í =î =ï =ð =ñ =ò =ó =ô =õ =ö =÷ =ø =ù =ú =û =ü =ý =þ =ÿ =
+ = = = = = = = = = = = = = = = = = = = = = =! =" =# =$ =% =& =' =( =) =* =+ =, =- =. =/ =0 =1 =2 =3 =4 =5 =6 =7 =8 =9 =: =; =< == => =? =@ =A =B =C =D =E =F =G =H =I =J =K =L =M =N =O =P =Q =R =S =T =U =V =W =X =Y =Z =[ =\ =] =^ =_ =` =a =b =c =d =e =f =g =h =i =j =k =l =m =n =o =p =q =r =s =t =u =v =w =x =y =z ={ =| =} =~ = =€ = =‚ =ƒ =„ =… =† =‡ =ˆ =‰ =Š =‹ =Œ = =Ž = = =‘ =’ =“ =” =• =– =— =˜ =™ =š =› =œ = =ž =Ÿ =  =¡ =¢ =£ =¤ =¥ =¦ =§ =¨ =© =ª =« =¬ =­ =® =¯ =° =± =² =³ =´ =µ =¶ =· =¸ =¹ =º =» =¼ =½ =¾ =¿ =À =Á = =à =Ä =Å =Æ =Ç =È =É =Ê =Ë =Ì =Í =Î =Ï =Ð =Ñ =Ò =Ó =Ô =Õ =Ö =× =Ø =Ù =Ú =Û =Ü =Ý =Þ =ß =à =á =â =ã =ä =å =æ =ç =è =é =ê =ë =ì =í =î =ï =ð =ñ =ò =ó =ô =õ =ö =÷ =ø =ù =ú =û =ü =ý =þ =ÿ =
+ = = = = = = = = = = = = = = = = = = = = = =! =" =# =$ =% =& =' =( =) =* =+ =, =- =. =/ =0 =1 =2 =3 =4 =5 =6 =7 =8 =9 =: =; =< == => =? =@ =A =B =C =D =E =F =G =H =I =J =K =L =M =N =O =P =Q =R =S =T =U =V =W =X =Y =Z =[ =\ =] =^ =_ =` =a =b =c =d =e =f =g =h =i =j =k =l =m =n =o =p =q =r =s =t =u =v =w =x =y =z ={ =| =} =~ = =€ = =‚ =ƒ =„ =… =† =‡ =ˆ =‰ =Š =‹ =Œ = =Ž = = =‘ =’ =“ =” =• =– =— =˜ =™ =š =› =œ = =ž =Ÿ =  =¡ =¢ =£ =¤ =¥ =¦ =§ =¨ =© =ª =« =¬ =­ =® =¯ =° =± =² =³ =´ =µ =¶ =· =¸ =¹ =º =» =¼ =½ =¾ =¿ =À =Á = =à =Ä =Å =Æ =Ç =È =É =Ê =Ë =Ì =Í =Î =Ï =Ð =Ñ =Ò =Ó =Ô =Õ =Ö =× =Ø =Ù =Ú =Û =Ü =Ý =Þ =ß =à =á =â =ã =ä =å =æ =ç =è =é =ê =ë =ì =í =î =ï =ð =ñ =ò =ó =ô =õ =ö =÷ =ø =ù =ú =û =ü =ý =þ =ÿ
+                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ
+                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ=
+= = = ===================!="=#=$=%=&='=(=)=*=+=,=-=.=/=0=1=2=3=4=5=6=7=8=9=:=;=<===>=?=@=A=B=C=D=E=F=G=H=I=J=K=L=M=N=O=P=Q=R=S=T=U=V=W=X=Y=Z=[=\=]=^=_=`=a=b=c=d=e=f=g=h=i=j=k=l=m=n=o=p=q=r=s=t=u=v=w=x=y=z={=|=}=~==€==‚=ƒ=„=…=†=‡=ˆ=‰=Š=‹=Œ==Ž===‘=’=“=”=•=–=—=˜=™=š=›=œ==ž=Ÿ= =¡=¢=£=¤=¥=¦=§=¨=©=ª=«=¬=­=®=¯=°=±=²=³=´=µ=¶=·=¸=¹=º=»=¼=½=¾=¿=À=Á=Â=Ã=Ä=Å=Æ=Ç=È=É=Ê=Ë=Ì=Í=Î=Ï=Ð=Ñ=Ò=Ó=Ô=Õ=Ö=×=Ø=Ù=Ú=Û=Ü=Ý=Þ=ß=à=á=â=ã=ä=å=æ=ç=è=é=ê=ë=ì=í=î=ï=ð=ñ=ò=ó=ô=õ=ö=÷=ø=ù=ú=û=ü=ý=þ=ÿ
  "'> 
"'> 
  "'> 
@@ -1857,4 +1752,4 @@ y z {"|'}>~ 
>' >' >' >'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>' >'!!>'"">'##>'$$>'%%>'&&>'((>'))>'**>'++>',,>'-->'..>'//>'00>'11>'22>'33>'44>'55>'66>'77>'88>'99>'::>';;>'<<>'==>'??>'@@>'AA>'BB>'CC>'DD>'EE>'FF>'GG>'HH>'II>'JJ>'KK>'LL>'MM>'NN>'OO>'PP>'QQ>'RR>'SS>'TT>'UU>'VV>'WW>'XX>'YY>'ZZ>'[[>'\\>']]>'^^>'__>'``>'aa>'bb>'cc>'dd>'ee>'ff>'gg>'hh>'ii>'jj>'kk>'ll>'mm>'nn>'oo>'pp>'qq>'rr>'ss>'tt>'uu>'vv>'ww>'xx>'yy>'zz>'{{>'||>'}}>'~~>'>'€€>'>'‚‚>'ƒƒ>'„„>'……>'††>'‡‡>'ˆˆ>'‰‰>'ŠŠ>'‹‹>'ŒŒ>'>'ŽŽ>'>'>'‘‘>'’’>'““>'””>'••>'––>'——>'˜˜>'™™>'šš>'››>'œœ>'>'žž>'ŸŸ>'  >'¡¡>'¢¢>'££>'¤¤>'¥¥>'¦¦>'§§>'¨¨>'©©>'ªª>'««>'¬¬>'­­>'®®>'¯¯>'°°>'±±>'²²>'³³>'´´>'µµ>'¶¶>'··>'¸¸>'¹¹>'ºº>'»»>'¼¼>'½½>'¾¾>'¿¿>'ÀÀ>'ÁÁ>'ÂÂ>'ÃÃ>'ÄÄ>'ÅÅ>'ÆÆ>'ÇÇ>'ÈÈ>'ÉÉ>'ÊÊ>'ËË>'ÌÌ>'ÍÍ>'ÎÎ>'ÏÏ>'ÐÐ>'ÑÑ>'ÒÒ>'ÓÓ>'ÔÔ>'ÕÕ>'ÖÖ>'××>'ØØ>'ÙÙ>'ÚÚ>'ÛÛ>'ÜÜ>'ÝÝ>'ÞÞ>'ßß>'àà>'áá>'ââ>'ãã>'ää>'åå>'ææ>'çç>'èè>'éé>'êê>'ëë>'ìì>'íí>'îî>'ïï>'ðð>'ññ>'òò>'óó>'ôô>'õõ>'öö>'÷÷>'øø>'ùù>'úú>'ûû>'üü>'ýý>'þþ>'ÿÿ>'
'' '' '' '''''''''''''''''''''''''''''''''''''' ''!''"''#''$''%''&''('')''*''+'',''-''.''/''0''1''2''3''4''5''6''7''8''9'':'';''<''=''?''@''A''B''C''D''E''F''G''H''I''J''K''L''M''N''O''P''Q''R''S''T''U''V''W''X''Y''Z''[''\'']''^''_''`''a''b''c''d''e''f''g''h''i''j''k''l''m''n''o''p''q''r''s''t''u''v''w''x''y''z''{''|''}''~''''€''''‚''ƒ''„''…''†''‡''ˆ''‰''Š''‹''Œ''''Ž''''''‘''’''“''”''•''–''—''˜''™''š''›''œ''''ž''Ÿ'' ''¡''¢''£''¤''¥''¦''§''¨''©''ª''«''¬''­''®''¯''°''±''²''³''´''µ''¶''·''¸''¹''º''»''¼''½''¾''¿''À''Á''Â''Ã''Ä''Å''Æ''Ç''È''É''Ê''Ë''Ì''Í''Î''Ï''Ð''Ñ''Ò''Ó''Ô''Õ''Ö''×''Ø''Ù''Ú''Û''Ü''Ý''Þ''ß''à''á''â''ã''ä''å''æ''ç''è''é''ê''ë''ì''í''î''ï''ð''ñ''ò''ó''ô''õ''ö''÷''ø''ù''ú''û''ü''ý''þ''ÿ''
->' >' >' >'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>' >'!>'">'#>'$>'%>'&>'(>')>'*>'+>',>'->'.>'/>'0>'1>'2>'3>'4>'5>'6>'7>'8>'9>':>';>'<>'=>'?>'@>'A>'B>'C>'D>'E>'F>'G>'H>'I>'J>'K>'L>'M>'N>'O>'P>'Q>'R>'S>'T>'U>'V>'W>'X>'Y>'Z>'[>'\>']>'^>'_>'`>'a>'b>'c>'d>'e>'f>'g>'h>'i>'j>'k>'l>'m>'n>'o>'p>'q>'r>'s>'t>'u>'v>'w>'x>'y>'z>'{>'|>'}>'~>'>'€>'>'‚>'ƒ>'„>'…>'†>'‡>'ˆ>'‰>'Š>'‹>'Œ>'>'Ž>'>'>'‘>'’>'“>'”>'•>'–>'—>'˜>'™>'š>'›>'œ>'>'ž>'Ÿ>' >'¡>'¢>'£>'¤>'¥>'¦>'§>'¨>'©>'ª>'«>'¬>'­>'®>'¯>'°>'±>'²>'³>'´>'µ>'¶>'·>'¸>'¹>'º>'»>'¼>'½>'¾>'¿>'À>'Á>'Â>'Ã>'Ä>'Å>'Æ>'Ç>'È>'É>'Ê>'Ë>'Ì>'Í>'Î>'Ï>'Ð>'Ñ>'Ò>'Ó>'Ô>'Õ>'Ö>'×>'Ø>'Ù>'Ú>'Û>'Ü>'Ý>'Þ>'ß>'à>'á>'â>'ã>'ä>'å>'æ>'ç>'è>'é>'ê>'ë>'ì>'í>'î>'ï>'ð>'ñ>'ò>'ó>'ô>'õ>'ö>'÷>'ø>'ù>'ú>'û>'ü>'ý>'þ>'ÿ>'''>
+>' >' >' >'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>'>' >'!>'">'#>'$>'%>'&>'(>')>'*>'+>',>'->'.>'/>'0>'1>'2>'3>'4>'5>'6>'7>'8>'9>':>';>'<>'=>'?>'@>'A>'B>'C>'D>'E>'F>'G>'H>'I>'J>'K>'L>'M>'N>'O>'P>'Q>'R>'S>'T>'U>'V>'W>'X>'Y>'Z>'[>'\>']>'^>'_>'`>'a>'b>'c>'d>'e>'f>'g>'h>'i>'j>'k>'l>'m>'n>'o>'p>'q>'r>'s>'t>'u>'v>'w>'x>'y>'z>'{>'|>'}>'~>'>'€>'>'‚>'ƒ>'„>'…>'†>'‡>'ˆ>'‰>'Š>'‹>'Œ>'>'Ž>'>'>'‘>'’>'“>'”>'•>'–>'—>'˜>'™>'š>'›>'œ>'>'ž>'Ÿ>' >'¡>'¢>'£>'¤>'¥>'¦>'§>'¨>'©>'ª>'«>'¬>'­>'®>'¯>'°>'±>'²>'³>'´>'µ>'¶>'·>'¸>'¹>'º>'»>'¼>'½>'¾>'¿>'À>'Á>'Â>'Ã>'Ä>'Å>'Æ>'Ç>'È>'É>'Ê>'Ë>'Ì>'Í>'Î>'Ï>'Ð>'Ñ>'Ò>'Ó>'Ô>'Õ>'Ö>'×>'Ø>'Ù>'Ú>'Û>'Ü>'Ý>'Þ>'ß>'à>'á>'â>'ã>'ä>'å>'æ>'ç>'è>'é>'ê>'ë>'ì>'í>'î>'ï>'ð>'ñ>'ò>'ó>'ô>'õ>'ö>'÷>'ø>'ù>'ú>'û>'ü>'ý>'þ>'ÿ>'''>
diff --git a/test/php20150211_var_unserializer.ig--skeleton.c b/test/php20150211_var_unserializer.ig--skeleton.c
index 9df27799..b8f85b04 100644
--- a/test/php20150211_var_unserializer.ig--skeleton.c
+++ b/test/php20150211_var_unserializer.ig--skeleton.c
@@ -1,7 +1,9 @@
/* Generated by re2c */
+#include <stddef.h> /* size_t */
#include <stdio.h>
#include <stdlib.h> /* malloc, free */
+#include <string.h> /* memcpy */
static void *read_file
( const char *fname
@@ -58,7 +60,7 @@ error:
#define YYFILL(n) { break; }
static int action_line875
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -66,10 +68,12 @@ static int action_line875
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -79,17 +83,17 @@ static int action_line875
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line875: at position %ld (iteration %u):\n"
+ , "error: lex_line875: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -99,6 +103,13 @@ static int action_line875
}
}
+static int check_key_count_line875(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line875: not enough keys\n");
+ return 1;
+}
+
int lex_line875()
{
const size_t padding = 7; /* YYMAXFILL */
@@ -126,7 +137,7 @@ int lex_line875()
keys = (YYKEYTYPE *) read_file
("php20150211_var_unserializer.ig--skeleton.c.line875.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -139,7 +150,7 @@ int lex_line875()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -220,7 +231,8 @@ int lex_line875()
yy2:
YYSKIP ();
yy3:
- status = action_line875(i, keys, input, token, &cursor, 13);
+ status = check_key_count_line875(keys_count, i, 3)
+ || action_line875(&i, keys, input, token, &cursor, 13);
continue;
yy4:
YYSKIP ();
@@ -289,7 +301,8 @@ yy14:
goto yy3;
yy15:
YYSKIP ();
- status = action_line875(i, keys, input, token, &cursor, 12);
+ status = check_key_count_line875(keys_count, i, 3)
+ || action_line875(&i, keys, input, token, &cursor, 12);
continue;
yy17:
YYSKIP ();
@@ -303,7 +316,8 @@ yy18:
goto yy3;
yy19:
YYSKIP ();
- status = action_line875(i, keys, input, token, &cursor, 2);
+ status = check_key_count_line875(keys_count, i, 3)
+ || action_line875(&i, keys, input, token, &cursor, 2);
continue;
yy21:
YYSKIP ();
@@ -614,7 +628,8 @@ yy62:
goto yy18;
yy63:
YYSKIP ();
- status = action_line875(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line875(keys_count, i, 3)
+ || action_line875(&i, keys, input, token, &cursor, 0);
continue;
yy65:
YYSKIP ();
@@ -628,7 +643,8 @@ yy66:
goto yy18;
yy67:
YYSKIP ();
- status = action_line875(i, keys, input, token, &cursor, 3);
+ status = check_key_count_line875(keys_count, i, 3)
+ || action_line875(&i, keys, input, token, &cursor, 3);
continue;
yy69:
YYSKIP ();
@@ -673,7 +689,8 @@ yy69:
}
yy71:
YYSKIP ();
- status = action_line875(i, keys, input, token, &cursor, 6);
+ status = check_key_count_line875(keys_count, i, 3)
+ || action_line875(&i, keys, input, token, &cursor, 6);
continue;
yy73:
YYSKIP ();
@@ -699,7 +716,8 @@ yy75:
goto yy18;
yy76:
YYSKIP ();
- status = action_line875(i, keys, input, token, &cursor, 4);
+ status = check_key_count_line875(keys_count, i, 3)
+ || action_line875(&i, keys, input, token, &cursor, 4);
continue;
yy78:
YYSKIP ();
@@ -708,7 +726,8 @@ yy78:
goto yy18;
yy79:
YYSKIP ();
- status = action_line875(i, keys, input, token, &cursor, 1);
+ status = check_key_count_line875(keys_count, i, 3)
+ || action_line875(&i, keys, input, token, &cursor, 1);
continue;
yy81:
YYSKIP ();
@@ -717,15 +736,18 @@ yy81:
goto yy18;
yy82:
YYSKIP ();
- status = action_line875(i, keys, input, token, &cursor, 11);
+ status = check_key_count_line875(keys_count, i, 3)
+ || action_line875(&i, keys, input, token, &cursor, 11);
continue;
yy84:
YYSKIP ();
- status = action_line875(i, keys, input, token, &cursor, 8);
+ status = check_key_count_line875(keys_count, i, 3)
+ || action_line875(&i, keys, input, token, &cursor, 8);
continue;
yy86:
YYSKIP ();
- status = action_line875(i, keys, input, token, &cursor, 9);
+ status = check_key_count_line875(keys_count, i, 3)
+ || action_line875(&i, keys, input, token, &cursor, 9);
continue;
yy88:
YYSKIP ();
@@ -753,11 +775,13 @@ yy91:
goto yy18;
yy92:
YYSKIP ();
- status = action_line875(i, keys, input, token, &cursor, 10);
+ status = check_key_count_line875(keys_count, i, 3)
+ || action_line875(&i, keys, input, token, &cursor, 10);
continue;
yy94:
YYSKIP ();
- status = action_line875(i, keys, input, token, &cursor, 7);
+ status = check_key_count_line875(keys_count, i, 3)
+ || action_line875(&i, keys, input, token, &cursor, 7);
continue;
yy96:
YYSKIP ();
@@ -767,7 +791,8 @@ yy96:
goto yy18;
yy97:
YYSKIP ();
- status = action_line875(i, keys, input, token, &cursor, 5);
+ status = check_key_count_line875(keys_count, i, 3)
+ || action_line875(&i, keys, input, token, &cursor, 5);
continue;
}
@@ -779,7 +804,7 @@ yy97:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line875: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line875: unused keys left after %u keys\n", i);
}
}
@@ -841,8 +866,8 @@ d:+.11e- d:+.22E+ d:+.33e- d:+.44E+d:+.55e-d:+.66E+d:+.77e-d:+.88E+d:+.99e-
d:+.11e d:+.22E d:+.33e d:+.44Ed:+.55ed:+.66Ed:+.77ed:+.88Ed:+.99ed:+.00Ed:+.11ed:+.22Ed:+.33ed:+.44Ed:+.55ed:+.66Ed:+.77ed:+.88Ed:+.99ed:+.00Ed:+.11ed:+.22E d:+.33e!d:+.44E"d:+.55e#d:+.66E$d:+.77e%d:+.88E&d:+.99e'd:+.00E(d:+.11e)d:+.22E*d:+.33e,d:+.44E.d:+.55e/d:+.66E:d:+.77e;d:+.88E<d:+.99e=d:+.00E>d:+.11e?d:+.22E@d:+.33eAd:+.44EBd:+.55eCd:+.66EDd:+.77eEd:+.88EFd:+.99eGd:+.00EHd:+.11eId:+.22EJd:+.33eKd:+.44ELd:+.55eMd:+.66ENd:+.77eOd:+.88EPd:+.99eQd:+.00ERd:+.11eSd:+.22ETd:+.33eUd:+.44EVd:+.55eWd:+.66EXd:+.77eYd:+.88EZd:+.99e[d:+.00E\d:+.11e]d:+.22E^d:+.33e_d:+.44E`d:+.55ead:+.66Ebd:+.77ecd:+.88Edd:+.99eed:+.00Efd:+.11egd:+.22Ehd:+.33eid:+.44Ejd:+.55ekd:+.66Eld:+.77emd:+.88End:+.99eod:+.00Epd:+.11eqd:+.22Erd:+.33esd:+.44Etd:+.55eud:+.66Evd:+.77ewd:+.88Exd:+.99eyd:+.00Ezd:+.11e{d:+.22E|d:+.33e}d:+.44E~d:+.55ed:+.66E€d:+.77ed:+.88E‚d:+.99eƒd:+.00E„d:+.11e…d:+.22E†d:+.33e‡d:+.44Eˆd:+.55e‰d:+.66EŠd:+.77e‹d:+.88EŒd:+.99ed:+.00EŽd:+.11ed:+.22Ed:+.33e‘d:+.44E’d:+.55e“d:+.66E”d:+.77e•d:+.88E–d:+.99e—d:+.00E˜d:+.11e™d:+.22Ešd:+.33e›d:+.44Eœd:+.55ed:+.66Ežd:+.77eŸd:+.88E d:+.99e¡d:+.00E¢d:+.11e£d:+.22E¤d:+.33e¥d:+.44E¦d:+.55e§d:+.66E¨d:+.77e©d:+.88Eªd:+.99e«d:+.00E¬d:+.11e­d:+.22E®d:+.33e¯d:+.44E°d:+.55e±d:+.66E²d:+.77e³d:+.88E´d:+.99eµd:+.00E¶d:+.11e·d:+.22E¸d:+.33e¹d:+.44Eºd:+.55e»d:+.66E¼d:+.77e½d:+.88E¾d:+.99e¿d:+.00EÀd:+.11eÁd:+.22EÂd:+.33eÃd:+.44EÄd:+.55eÅd:+.66EÆd:+.77eÇd:+.88EÈd:+.99eÉd:+.00EÊd:+.11eËd:+.22EÌd:+.33eÍd:+.44EÎd:+.55eÏd:+.66EÐd:+.77eÑd:+.88EÒd:+.99eÓd:+.00EÔd:+.11eÕd:+.22EÖd:+.33e×d:+.44EØd:+.55eÙd:+.66EÚd:+.77eÛd:+.88EÜd:+.99eÝd:+.00EÞd:+.11eßd:+.22Eàd:+.33eád:+.44Eâd:+.55eãd:+.66Eäd:+.77eåd:+.88Eæd:+.99eçd:+.00Eèd:+.11eéd:+.22Eêd:+.33eëd:+.44Eìd:+.55eíd:+.66Eîd:+.77eïd:+.88Eðd:+.99eñd:+.00Eòd:+.11eód:+.22Eôd:+.33eõd:+.44Eöd:+.55e÷d:+.66Eød:+.77eùd:+.88Eúd:+.99eûd:+.00Eüd:+.11eýd:+.22Eþd:+.33eÿd:+.00
d:+.11 d:+.22 d:+.33 d:+.44d:+.55d:+.66d:+.77d:+.88d:+.99d:+.00d:+.11d:+.22d:+.33d:+.44d:+.55d:+.66d:+.77d:+.88d:+.99d:+.00d:+.11d:+.22 d:+.33!d:+.44"d:+.55#d:+.66$d:+.77%d:+.88&d:+.99'd:+.00(d:+.11)d:+.22*d:+.33+d:+.44,d:+.55-d:+.66.d:+.77/d:+.88:d:+.99<d:+.00=d:+.11>d:+.22?d:+.33@d:+.44Ad:+.55Bd:+.66Cd:+.77Dd:+.88Fd:+.99Gd:+.00Hd:+.11Id:+.22Jd:+.33Kd:+.44Ld:+.55Md:+.66Nd:+.77Od:+.88Pd:+.99Qd:+.00Rd:+.11Sd:+.22Td:+.33Ud:+.44Vd:+.55Wd:+.66Xd:+.77Yd:+.88Zd:+.99[d:+.00\d:+.11]d:+.22^d:+.33_d:+.44`d:+.55ad:+.66bd:+.77cd:+.88dd:+.99fd:+.00gd:+.11hd:+.22id:+.33jd:+.44kd:+.55ld:+.66md:+.77nd:+.88od:+.99pd:+.00qd:+.11rd:+.22sd:+.33td:+.44ud:+.55vd:+.66wd:+.77xd:+.88yd:+.99zd:+.00{d:+.11|d:+.22}d:+.33~d:+.44d:+.55€d:+.66d:+.77‚d:+.88ƒd:+.99„d:+.00…d:+.11†d:+.22‡d:+.33ˆd:+.44‰d:+.55Šd:+.66‹d:+.77Œd:+.88d:+.99Žd:+.00d:+.11d:+.22‘d:+.33’d:+.44“d:+.55”d:+.66•d:+.77–d:+.88—d:+.99˜d:+.00™d:+.11šd:+.22›d:+.33œd:+.44d:+.55žd:+.66Ÿd:+.77 d:+.88¡d:+.99¢d:+.00£d:+.11¤d:+.22¥d:+.33¦d:+.44§d:+.55¨d:+.66©d:+.77ªd:+.88«d:+.99¬d:+.00­d:+.11®d:+.22¯d:+.33°d:+.44±d:+.55²d:+.66³d:+.77´d:+.88µd:+.99¶d:+.00·d:+.11¸d:+.22¹d:+.33ºd:+.44»d:+.55¼d:+.66½d:+.77¾d:+.88¿d:+.99Àd:+.00Ád:+.11Âd:+.22Ãd:+.33Äd:+.44Åd:+.55Æd:+.66Çd:+.77Èd:+.88Éd:+.99Êd:+.00Ëd:+.11Ìd:+.22Íd:+.33Îd:+.44Ïd:+.55Ðd:+.66Ñd:+.77Òd:+.88Ód:+.99Ôd:+.00Õd:+.11Öd:+.22×d:+.33Ød:+.44Ùd:+.55Úd:+.66Ûd:+.77Üd:+.88Ýd:+.99Þd:+.00ßd:+.11àd:+.22ád:+.33âd:+.44ãd:+.55äd:+.66åd:+.77æd:+.88çd:+.99èd:+.00éd:+.11êd:+.22ëd:+.33ìd:+.44íd:+.55îd:+.66ïd:+.77ðd:+.88ñd:+.99òd:+.00ód:+.11ôd:+.22õd:+.33öd:+.44÷d:+.55ød:+.66ùd:+.77úd:+.88ûd:+.99üd:+.00ýd:+.11þd:+.22ÿd:+.0;d:+.1;d:+.2;d:+.3;d:+.4;d:+.5;d:+.6;d:+.7;d:+.8;d:+.9;d:+.0E+0;d:+.1e-1;d:+.2E+2;d:+.3e-3;d:+.4E+4;d:+.5e-5;d:+.6E+6;d:+.7e-7;d:+.8E+8;d:+.9e-9;d:+.0
d:+.1 d:+.2 d:+.3 d:+.4d:+.5d:+.6d:+.7d:+.8d:+.9d:+.0d:+.1d:+.2d:+.3d:+.4d:+.5d:+.6d:+.7d:+.8d:+.9d:+.0d:+.1d:+.2 d:+.3!d:+.4"d:+.5#d:+.6$d:+.7%d:+.8&d:+.9'd:+.0(d:+.1)d:+.2*d:+.3+d:+.4,d:+.5-d:+.6.d:+.7/d:+.8:d:+.9<d:+.0=d:+.1>d:+.2?d:+.3@d:+.4Ad:+.5Bd:+.6Cd:+.7Dd:+.8Fd:+.9Gd:+.0Hd:+.1Id:+.2Jd:+.3Kd:+.4Ld:+.5Md:+.6Nd:+.7Od:+.8Pd:+.9Qd:+.0Rd:+.1Sd:+.2Td:+.3Ud:+.4Vd:+.5Wd:+.6Xd:+.7Yd:+.8Zd:+.9[d:+.0\d:+.1]d:+.2^d:+.3_d:+.4`d:+.5ad:+.6bd:+.7cd:+.8dd:+.9fd:+.0gd:+.1hd:+.2id:+.3jd:+.4kd:+.5ld:+.6md:+.7nd:+.8od:+.9pd:+.0qd:+.1rd:+.2sd:+.3td:+.4ud:+.5vd:+.6wd:+.7xd:+.8yd:+.9zd:+.0{d:+.1|d:+.2}d:+.3~d:+.4d:+.5€d:+.6d:+.7‚d:+.8ƒd:+.9„d:+.0…d:+.1†d:+.2‡d:+.3ˆd:+.4‰d:+.5Šd:+.6‹d:+.7Œd:+.8d:+.9Žd:+.0d:+.1d:+.2‘d:+.3’d:+.4“d:+.5”d:+.6•d:+.7–d:+.8—d:+.9˜d:+.0™d:+.1šd:+.2›d:+.3œd:+.4d:+.5žd:+.6Ÿd:+.7 d:+.8¡d:+.9¢d:+.0£d:+.1¤d:+.2¥d:+.3¦d:+.4§d:+.5¨d:+.6©d:+.7ªd:+.8«d:+.9¬d:+.0­d:+.1®d:+.2¯d:+.3°d:+.4±d:+.5²d:+.6³d:+.7´d:+.8µd:+.9¶d:+.0·d:+.1¸d:+.2¹d:+.3ºd:+.4»d:+.5¼d:+.6½d:+.7¾d:+.8¿d:+.9Àd:+.0Ád:+.1Âd:+.2Ãd:+.3Äd:+.4Åd:+.5Æd:+.6Çd:+.7Èd:+.8Éd:+.9Êd:+.0Ëd:+.1Ìd:+.2Íd:+.3Îd:+.4Ïd:+.5Ðd:+.6Ñd:+.7Òd:+.8Ód:+.9Ôd:+.0Õd:+.1Öd:+.2×d:+.3Ød:+.4Ùd:+.5Úd:+.6Ûd:+.7Üd:+.8Ýd:+.9Þd:+.0ßd:+.1àd:+.2ád:+.3âd:+.4ãd:+.5äd:+.6åd:+.7æd:+.8çd:+.9èd:+.0éd:+.1êd:+.2ëd:+.3ìd:+.4íd:+.5îd:+.6ïd:+.7ðd:+.8ñd:+.9òd:+.0ód:+.1ôd:+.2õd:+.3öd:+.4÷d:+.5ød:+.6ùd:+.7úd:+.8ûd:+.9üd:+.0ýd:+.1þd:+.2ÿd:+.
-d:+. d:+. d:+. d:+.d:+.d:+.d:+.d:+.d:+.d:+.d:+.d:+.d:+.d:+.d:+.d:+.d:+.d:+.d:+.d:+.d:+.d:+. d:+.!d:+."d:+.#d:+.$d:+.%d:+.&d:+.'d:+.(d:+.)d:+.*d:+.+d:+.,d:+.-d:+..d:+./d:+.:d:+.;d:+.<d:+.=d:+.>d:+.?d:+.@d:+.Ad:+.Bd:+.Cd:+.Dd:+.Ed:+.Fd:+.Gd:+.Hd:+.Id:+.Jd:+.Kd:+.Ld:+.Md:+.Nd:+.Od:+.Pd:+.Qd:+.Rd:+.Sd:+.Td:+.Ud:+.Vd:+.Wd:+.Xd:+.Yd:+.Zd:+.[d:+.\d:+.]d:+.^d:+._d:+.`d:+.ad:+.bd:+.cd:+.dd:+.ed:+.fd:+.gd:+.hd:+.id:+.jd:+.kd:+.ld:+.md:+.nd:+.od:+.pd:+.qd:+.rd:+.sd:+.td:+.ud:+.vd:+.wd:+.xd:+.yd:+.zd:+.{d:+.|d:+.}d:+.~d:+.d:+.€d:+.d:+.‚d:+.ƒd:+.„d:+.…d:+.†d:+.‡d:+.ˆd:+.‰d:+.Šd:+.‹d:+.Œd:+.d:+.Žd:+.d:+.d:+.‘d:+.’d:+.“d:+.”d:+.•d:+.–d:+.—d:+.˜d:+.™d:+.šd:+.›d:+.œd:+.d:+.žd:+.Ÿd:+. d:+.¡d:+.¢d:+.£d:+.¤d:+.¥d:+.¦d:+.§d:+.¨d:+.©d:+.ªd:+.«d:+.¬d:+.­d:+.®d:+.¯d:+.°d:+.±d:+.²d:+.³d:+.´d:+.µd:+.¶d:+.·d:+.¸d:+.¹d:+.ºd:+.»d:+.¼d:+.½d:+.¾d:+.¿d:+.Àd:+.Ád:+.Âd:+.Ãd:+.Äd:+.Åd:+.Æd:+.Çd:+.Èd:+.Éd:+.Êd:+.Ëd:+.Ìd:+.Íd:+.Îd:+.Ïd:+.Ðd:+.Ñd:+.Òd:+.Ód:+.Ôd:+.Õd:+.Öd:+.×d:+.Ød:+.Ùd:+.Úd:+.Ûd:+.Üd:+.Ýd:+.Þd:+.ßd:+.àd:+.ád:+.âd:+.ãd:+.äd:+.åd:+.æd:+.çd:+.èd:+.éd:+.êd:+.ëd:+.ìd:+.íd:+.îd:+.ïd:+.ðd:+.ñd:+.òd:+.ód:+.ôd:+.õd:+.öd:+.÷d:+.ød:+.ùd:+.úd:+.ûd:+.üd:+.ýd:+.þd:+.ÿd:+00.0;d:+11.1;d:+22.2;d:+33.3;d:+44.4;d:+55.5;d:+66.6;d:+77.7;d:+88.8;d:+99.9;d:+00.0E+0;d:+11.1e-1;d:+22.2E+2;d:+33.3e-3;d:+44.4E+4;d:+55.5e-5;d:+66.6E+6;d:+77.7e-7;d:+88.8E+8;d:+99.9e-9;d:+00.0
-d:+11.1 d:+22.2 d:+33.3 d:+44.4d:+55.5d:+66.6d:+77.7d:+88.8d:+99.9d:+00.0d:+11.1d:+22.2d:+33.3d:+44.4d:+55.5d:+66.6d:+77.7d:+88.8d:+99.9d:+00.0d:+11.1d:+22.2 d:+33.3!d:+44.4"d:+55.5#d:+66.6$d:+77.7%d:+88.8&d:+99.9'd:+00.0(d:+11.1)d:+22.2*d:+33.3+d:+44.4,d:+55.5-d:+66.6.d:+77.7/d:+88.8:d:+99.9<d:+00.0=d:+11.1>d:+22.2?d:+33.3@d:+44.4Ad:+55.5Bd:+66.6Cd:+77.7Dd:+88.8Fd:+99.9Gd:+00.0Hd:+11.1Id:+22.2Jd:+33.3Kd:+44.4Ld:+55.5Md:+66.6Nd:+77.7Od:+88.8Pd:+99.9Qd:+00.0Rd:+11.1Sd:+22.2Td:+33.3Ud:+44.4Vd:+55.5Wd:+66.6Xd:+77.7Yd:+88.8Zd:+99.9[d:+00.0\d:+11.1]d:+22.2^d:+33.3_d:+44.4`d:+55.5ad:+66.6bd:+77.7cd:+88.8dd:+99.9fd:+00.0gd:+11.1hd:+22.2id:+33.3jd:+44.4kd:+55.5ld:+66.6md:+77.7nd:+88.8od:+99.9pd:+00.0qd:+11.1rd:+22.2sd:+33.3td:+44.4ud:+55.5vd:+66.6wd:+77.7xd:+88.8yd:+99.9zd:+00.0{d:+11.1|d:+22.2}d:+33.3~d:+44.4d:+55.5€d:+66.6d:+77.7‚d:+88.8ƒd:+99.9„d:+00.0…d:+11.1†d:+22.2‡d:+33.3ˆd:+44.4‰d:+55.5Šd:+66.6‹d:+77.7Œd:+88.8d:+99.9Žd:+00.0d:+11.1d:+22.2‘d:+33.3’d:+44.4“d:+55.5”d:+66.6•d:+77.7–d:+88.8—d:+99.9˜d:+00.0™d:+11.1šd:+22.2›d:+33.3œd:+44.4d:+55.5žd:+66.6Ÿd:+77.7 d:+88.8¡d:+99.9¢d:+00.0£d:+11.1¤d:+22.2¥d:+33.3¦d:+44.4§d:+55.5¨d:+66.6©d:+77.7ªd:+88.8«d:+99.9¬d:+00.0­d:+11.1®d:+22.2¯d:+33.3°d:+44.4±d:+55.5²d:+66.6³d:+77.7´d:+88.8µd:+99.9¶d:+00.0·d:+11.1¸d:+22.2¹d:+33.3ºd:+44.4»d:+55.5¼d:+66.6½d:+77.7¾d:+88.8¿d:+99.9Àd:+00.0Ád:+11.1Âd:+22.2Ãd:+33.3Äd:+44.4Åd:+55.5Æd:+66.6Çd:+77.7Èd:+88.8Éd:+99.9Êd:+00.0Ëd:+11.1Ìd:+22.2Íd:+33.3Îd:+44.4Ïd:+55.5Ðd:+66.6Ñd:+77.7Òd:+88.8Ód:+99.9Ôd:+00.0Õd:+11.1Öd:+22.2×d:+33.3Ød:+44.4Ùd:+55.5Úd:+66.6Ûd:+77.7Üd:+88.8Ýd:+99.9Þd:+00.0ßd:+11.1àd:+22.2ád:+33.3âd:+44.4ãd:+55.5äd:+66.6åd:+77.7æd:+88.8çd:+99.9èd:+00.0éd:+11.1êd:+22.2ëd:+33.3ìd:+44.4íd:+55.5îd:+66.6ïd:+77.7ðd:+88.8ñd:+99.9òd:+00.0ód:+11.1ôd:+22.2õd:+33.3öd:+44.4÷d:+55.5ød:+66.6ùd:+77.7úd:+88.8ûd:+99.9üd:+00.0ýd:+11.1þd:+22.2ÿd:+00.;d:+11.;d:+22.;d:+33.;d:+44.;d:+55.;d:+66.;d:+77.;d:+88.;d:+99.;d:+00.E+0;d:+11.e-1;d:+22.E+2;d:+33.e-3;d:+44.E+4;d:+55.e-5;d:+66.E+6;d:+77.e-7;d:+88.E+8;d:+99.e-9;d:+00.
+d:+. d:+. d:+. d:+.d:+.d:+.d:+.d:+.d:+.d:+.d:+.d:+.d:+.d:+.d:+.d:+.d:+.d:+.d:+.d:+.d:+.d:+. d:+.!d:+."d:+.#d:+.$d:+.%d:+.&d:+.'d:+.(d:+.)d:+.*d:+.+d:+.,d:+.-d:+..d:+./d:+.:d:+.;d:+.<d:+.=d:+.>d:+.?d:+.@d:+.Ad:+.Bd:+.Cd:+.Dd:+.Ed:+.Fd:+.Gd:+.Hd:+.Id:+.Jd:+.Kd:+.Ld:+.Md:+.Nd:+.Od:+.Pd:+.Qd:+.Rd:+.Sd:+.Td:+.Ud:+.Vd:+.Wd:+.Xd:+.Yd:+.Zd:+.[d:+.\d:+.]d:+.^d:+._d:+.`d:+.ad:+.bd:+.cd:+.dd:+.ed:+.fd:+.gd:+.hd:+.id:+.jd:+.kd:+.ld:+.md:+.nd:+.od:+.pd:+.qd:+.rd:+.sd:+.td:+.ud:+.vd:+.wd:+.xd:+.yd:+.zd:+.{d:+.|d:+.}d:+.~d:+.d:+.€d:+.d:+.‚d:+.ƒd:+.„d:+.…d:+.†d:+.‡d:+.ˆd:+.‰d:+.Šd:+.‹d:+.Œd:+.d:+.Žd:+.d:+.d:+.‘d:+.’d:+.“d:+.”d:+.•d:+.–d:+.—d:+.˜d:+.™d:+.šd:+.›d:+.œd:+.d:+.žd:+.Ÿd:+. d:+.¡d:+.¢d:+.£d:+.¤d:+.¥d:+.¦d:+.§d:+.¨d:+.©d:+.ªd:+.«d:+.¬d:+.­d:+.®d:+.¯d:+.°d:+.±d:+.²d:+.³d:+.´d:+.µd:+.¶d:+.·d:+.¸d:+.¹d:+.ºd:+.»d:+.¼d:+.½d:+.¾d:+.¿d:+.Àd:+.Ád:+.Âd:+.Ãd:+.Äd:+.Åd:+.Æd:+.Çd:+.Èd:+.Éd:+.Êd:+.Ëd:+.Ìd:+.Íd:+.Îd:+.Ïd:+.Ðd:+.Ñd:+.Òd:+.Ód:+.Ôd:+.Õd:+.Öd:+.×d:+.Ød:+.Ùd:+.Úd:+.Ûd:+.Üd:+.Ýd:+.Þd:+.ßd:+.àd:+.ád:+.âd:+.ãd:+.äd:+.åd:+.æd:+.çd:+.èd:+.éd:+.êd:+.ëd:+.ìd:+.íd:+.îd:+.ïd:+.ðd:+.ñd:+.òd:+.ód:+.ôd:+.õd:+.öd:+.÷d:+.ød:+.ùd:+.úd:+.ûd:+.üd:+.ýd:+.þd:+.ÿd:+00.;d:+11.;d:+22.;d:+33.;d:+44.;d:+55.;d:+66.;d:+77.;d:+88.;d:+99.;d:+00.E+0;d:+11.e-1;d:+22.E+2;d:+33.e-3;d:+44.E+4;d:+55.e-5;d:+66.E+6;d:+77.e-7;d:+88.E+8;d:+99.e-9;d:+00.0;d:+11.1;d:+22.2;d:+33.3;d:+44.4;d:+55.5;d:+66.6;d:+77.7;d:+88.8;d:+99.9;d:+00.0E+0;d:+11.1e-1;d:+22.2E+2;d:+33.3e-3;d:+44.4E+4;d:+55.5e-5;d:+66.6E+6;d:+77.7e-7;d:+88.8E+8;d:+99.9e-9;d:+00.00;d:+11.11;d:+22.22;d:+33.33;d:+44.44;d:+55.55;d:+66.66;d:+77.77;d:+88.88;d:+99.99;d:+00.0
+d:+11.1 d:+22.2 d:+33.3 d:+44.4d:+55.5d:+66.6d:+77.7d:+88.8d:+99.9d:+00.0d:+11.1d:+22.2d:+33.3d:+44.4d:+55.5d:+66.6d:+77.7d:+88.8d:+99.9d:+00.0d:+11.1d:+22.2 d:+33.3!d:+44.4"d:+55.5#d:+66.6$d:+77.7%d:+88.8&d:+99.9'd:+00.0(d:+11.1)d:+22.2*d:+33.3+d:+44.4,d:+55.5-d:+66.6.d:+77.7/d:+88.8:d:+99.9<d:+00.0=d:+11.1>d:+22.2?d:+33.3@d:+44.4Ad:+55.5Bd:+66.6Cd:+77.7Dd:+88.8Fd:+99.9Gd:+00.0Hd:+11.1Id:+22.2Jd:+33.3Kd:+44.4Ld:+55.5Md:+66.6Nd:+77.7Od:+88.8Pd:+99.9Qd:+00.0Rd:+11.1Sd:+22.2Td:+33.3Ud:+44.4Vd:+55.5Wd:+66.6Xd:+77.7Yd:+88.8Zd:+99.9[d:+00.0\d:+11.1]d:+22.2^d:+33.3_d:+44.4`d:+55.5ad:+66.6bd:+77.7cd:+88.8dd:+99.9fd:+00.0gd:+11.1hd:+22.2id:+33.3jd:+44.4kd:+55.5ld:+66.6md:+77.7nd:+88.8od:+99.9pd:+00.0qd:+11.1rd:+22.2sd:+33.3td:+44.4ud:+55.5vd:+66.6wd:+77.7xd:+88.8yd:+99.9zd:+00.0{d:+11.1|d:+22.2}d:+33.3~d:+44.4d:+55.5€d:+66.6d:+77.7‚d:+88.8ƒd:+99.9„d:+00.0…d:+11.1†d:+22.2‡d:+33.3ˆd:+44.4‰d:+55.5Šd:+66.6‹d:+77.7Œd:+88.8d:+99.9Žd:+00.0d:+11.1d:+22.2‘d:+33.3’d:+44.4“d:+55.5”d:+66.6•d:+77.7–d:+88.8—d:+99.9˜d:+00.0™d:+11.1šd:+22.2›d:+33.3œd:+44.4d:+55.5žd:+66.6Ÿd:+77.7 d:+88.8¡d:+99.9¢d:+00.0£d:+11.1¤d:+22.2¥d:+33.3¦d:+44.4§d:+55.5¨d:+66.6©d:+77.7ªd:+88.8«d:+99.9¬d:+00.0­d:+11.1®d:+22.2¯d:+33.3°d:+44.4±d:+55.5²d:+66.6³d:+77.7´d:+88.8µd:+99.9¶d:+00.0·d:+11.1¸d:+22.2¹d:+33.3ºd:+44.4»d:+55.5¼d:+66.6½d:+77.7¾d:+88.8¿d:+99.9Àd:+00.0Ád:+11.1Âd:+22.2Ãd:+33.3Äd:+44.4Åd:+55.5Æd:+66.6Çd:+77.7Èd:+88.8Éd:+99.9Êd:+00.0Ëd:+11.1Ìd:+22.2Íd:+33.3Îd:+44.4Ïd:+55.5Ðd:+66.6Ñd:+77.7Òd:+88.8Ód:+99.9Ôd:+00.0Õd:+11.1Öd:+22.2×d:+33.3Ød:+44.4Ùd:+55.5Úd:+66.6Ûd:+77.7Üd:+88.8Ýd:+99.9Þd:+00.0ßd:+11.1àd:+22.2ád:+33.3âd:+44.4ãd:+55.5äd:+66.6åd:+77.7æd:+88.8çd:+99.9èd:+00.0éd:+11.1êd:+22.2ëd:+33.3ìd:+44.4íd:+55.5îd:+66.6ïd:+77.7ðd:+88.8ñd:+99.9òd:+00.0ód:+11.1ôd:+22.2õd:+33.3öd:+44.4÷d:+55.5ød:+66.6ùd:+77.7úd:+88.8ûd:+99.9üd:+00.0ýd:+11.1þd:+22.2ÿd:+00.
d:+11. d:+22. d:+33. d:+44.d:+55.d:+66.d:+77.d:+88.d:+99.d:+00.d:+11.d:+22.d:+33.d:+44.d:+55.d:+66.d:+77.d:+88.d:+99.d:+00.d:+11.d:+22. d:+33.!d:+44."d:+55.#d:+66.$d:+77.%d:+88.&d:+99.'d:+00.(d:+11.)d:+22.*d:+33.+d:+44.,d:+55.-d:+66..d:+77./d:+88.:d:+99.<d:+00.=d:+11.>d:+22.?d:+33.@d:+44.Ad:+55.Bd:+66.Cd:+77.Dd:+88.Fd:+99.Gd:+00.Hd:+11.Id:+22.Jd:+33.Kd:+44.Ld:+55.Md:+66.Nd:+77.Od:+88.Pd:+99.Qd:+00.Rd:+11.Sd:+22.Td:+33.Ud:+44.Vd:+55.Wd:+66.Xd:+77.Yd:+88.Zd:+99.[d:+00.\d:+11.]d:+22.^d:+33._d:+44.`d:+55.ad:+66.bd:+77.cd:+88.dd:+99.fd:+00.gd:+11.hd:+22.id:+33.jd:+44.kd:+55.ld:+66.md:+77.nd:+88.od:+99.pd:+00.qd:+11.rd:+22.sd:+33.td:+44.ud:+55.vd:+66.wd:+77.xd:+88.yd:+99.zd:+00.{d:+11.|d:+22.}d:+33.~d:+44.d:+55.€d:+66.d:+77.‚d:+88.ƒd:+99.„d:+00.…d:+11.†d:+22.‡d:+33.ˆd:+44.‰d:+55.Šd:+66.‹d:+77.Œd:+88.d:+99.Žd:+00.d:+11.d:+22.‘d:+33.’d:+44.“d:+55.”d:+66.•d:+77.–d:+88.—d:+99.˜d:+00.™d:+11.šd:+22.›d:+33.œd:+44.d:+55.žd:+66.Ÿd:+77. d:+88.¡d:+99.¢d:+00.£d:+11.¤d:+22.¥d:+33.¦d:+44.§d:+55.¨d:+66.©d:+77.ªd:+88.«d:+99.¬d:+00.­d:+11.®d:+22.¯d:+33.°d:+44.±d:+55.²d:+66.³d:+77.´d:+88.µd:+99.¶d:+00.·d:+11.¸d:+22.¹d:+33.ºd:+44.»d:+55.¼d:+66.½d:+77.¾d:+88.¿d:+99.Àd:+00.Ád:+11.Âd:+22.Ãd:+33.Äd:+44.Åd:+55.Æd:+66.Çd:+77.Èd:+88.Éd:+99.Êd:+00.Ëd:+11.Ìd:+22.Íd:+33.Îd:+44.Ïd:+55.Ðd:+66.Ñd:+77.Òd:+88.Ód:+99.Ôd:+00.Õd:+11.Öd:+22.×d:+33.Ød:+44.Ùd:+55.Úd:+66.Ûd:+77.Üd:+88.Ýd:+99.Þd:+00.ßd:+11.àd:+22.ád:+33.âd:+44.ãd:+55.äd:+66.åd:+77.æd:+88.çd:+99.èd:+00.éd:+11.êd:+22.ëd:+33.ìd:+44.íd:+55.îd:+66.ïd:+77.ðd:+88.ñd:+99.òd:+00.ód:+11.ôd:+22.õd:+33.öd:+44.÷d:+55.ød:+66.ùd:+77.úd:+88.ûd:+99.üd:+00.ýd:+11.þd:+22.ÿd:+00;d:+11;d:+22;d:+33;d:+44;d:+55;d:+66;d:+77;d:+88;d:+99;d:+00E+0;d:+11e-1;d:+22E+2;d:+33e-3;d:+44E+4;d:+55e-5;d:+66E+6;d:+77e-7;d:+88E+8;d:+99e-9;d:+00
d:+11 d:+22 d:+33 d:+44d:+55d:+66d:+77d:+88d:+99d:+00d:+11d:+22d:+33d:+44d:+55d:+66d:+77d:+88d:+99d:+00d:+11d:+22 d:+33!d:+44"d:+55#d:+66$d:+77%d:+88&d:+99'd:+00(d:+11)d:+22*d:+33+d:+44,d:+55-d:+66/d:+77:d:+88<d:+99=d:+00>d:+11?d:+22@d:+33Ad:+44Bd:+55Cd:+66Dd:+77Fd:+88Gd:+99Hd:+00Id:+11Jd:+22Kd:+33Ld:+44Md:+55Nd:+66Od:+77Pd:+88Qd:+99Rd:+00Sd:+11Td:+22Ud:+33Vd:+44Wd:+55Xd:+66Yd:+77Zd:+88[d:+99\d:+00]d:+11^d:+22_d:+33`d:+44ad:+55bd:+66cd:+77dd:+88fd:+99gd:+00hd:+11id:+22jd:+33kd:+44ld:+55md:+66nd:+77od:+88pd:+99qd:+00rd:+11sd:+22td:+33ud:+44vd:+55wd:+66xd:+77yd:+88zd:+99{d:+00|d:+11}d:+22~d:+33d:+44€d:+55d:+66‚d:+77ƒd:+88„d:+99…d:+00†d:+11‡d:+22ˆd:+33‰d:+44Šd:+55‹d:+66Œd:+77d:+88Žd:+99d:+00d:+11‘d:+22’d:+33“d:+44”d:+55•d:+66–d:+77—d:+88˜d:+99™d:+00šd:+11›d:+22œd:+33d:+44žd:+55Ÿd:+66 d:+77¡d:+88¢d:+99£d:+00¤d:+11¥d:+22¦d:+33§d:+44¨d:+55©d:+66ªd:+77«d:+88¬d:+99­d:+00®d:+11¯d:+22°d:+33±d:+44²d:+55³d:+66´d:+77µd:+88¶d:+99·d:+00¸d:+11¹d:+22ºd:+33»d:+44¼d:+55½d:+66¾d:+77¿d:+88Àd:+99Ád:+00Âd:+11Ãd:+22Äd:+33Åd:+44Æd:+55Çd:+66Èd:+77Éd:+88Êd:+99Ëd:+00Ìd:+11Íd:+22Îd:+33Ïd:+44Ðd:+55Ñd:+66Òd:+77Ód:+88Ôd:+99Õd:+00Öd:+11×d:+22Ød:+33Ùd:+44Úd:+55Ûd:+66Üd:+77Ýd:+88Þd:+99ßd:+00àd:+11ád:+22âd:+33ãd:+44äd:+55åd:+66æd:+77çd:+88èd:+99éd:+00êd:+11ëd:+22ìd:+33íd:+44îd:+55ïd:+66ðd:+77ñd:+88òd:+99ód:+00ôd:+11õd:+22öd:+33÷d:+44ød:+55ùd:+66úd:+77ûd:+88üd:+99ýd:+00þd:+11ÿd:+0.;d:+1.;d:+2.;d:+3.;d:+4.;d:+5.;d:+6.;d:+7.;d:+8.;d:+9.;d:+0;d:+1;d:+2;d:+3;d:+4;d:+5;d:+6;d:+7;d:+8;d:+9;d:+0E+0;d:+1e-1;d:+2E+2;d:+3e-3;d:+4E+4;d:+5e-5;d:+6E+6;d:+7e-7;d:+8E+8;d:+9e-9;d:+0
d:+1 d:+2 d:+3 d:+4d:+5d:+6d:+7d:+8d:+9d:+0d:+1d:+2d:+3d:+4d:+5d:+6d:+7d:+8d:+9d:+0d:+1d:+2 d:+3!d:+4"d:+5#d:+6$d:+7%d:+8&d:+9'd:+0(d:+1)d:+2*d:+3+d:+4,d:+5-d:+6/d:+7:d:+8<d:+9=d:+0>d:+1?d:+2@d:+3Ad:+4Bd:+5Cd:+6Dd:+7Fd:+8Gd:+9Hd:+0Id:+1Jd:+2Kd:+3Ld:+4Md:+5Nd:+6Od:+7Pd:+8Qd:+9Rd:+0Sd:+1Td:+2Ud:+3Vd:+4Wd:+5Xd:+6Yd:+7Zd:+8[d:+9\d:+0]d:+1^d:+2_d:+3`d:+4ad:+5bd:+6cd:+7dd:+8fd:+9gd:+0hd:+1id:+2jd:+3kd:+4ld:+5md:+6nd:+7od:+8pd:+9qd:+0rd:+1sd:+2td:+3ud:+4vd:+5wd:+6xd:+7yd:+8zd:+9{d:+0|d:+1}d:+2~d:+3d:+4€d:+5d:+6‚d:+7ƒd:+8„d:+9…d:+0†d:+1‡d:+2ˆd:+3‰d:+4Šd:+5‹d:+6Œd:+7d:+8Žd:+9d:+0d:+1‘d:+2’d:+3“d:+4”d:+5•d:+6–d:+7—d:+8˜d:+9™d:+0šd:+1›d:+2œd:+3d:+4žd:+5Ÿd:+6 d:+7¡d:+8¢d:+9£d:+0¤d:+1¥d:+2¦d:+3§d:+4¨d:+5©d:+6ªd:+7«d:+8¬d:+9­d:+0®d:+1¯d:+2°d:+3±d:+4²d:+5³d:+6´d:+7µd:+8¶d:+9·d:+0¸d:+1¹d:+2ºd:+3»d:+4¼d:+5½d:+6¾d:+7¿d:+8Àd:+9Ád:+0Âd:+1Ãd:+2Äd:+3Åd:+4Æd:+5Çd:+6Èd:+7Éd:+8Êd:+9Ëd:+0Ìd:+1Íd:+2Îd:+3Ïd:+4Ðd:+5Ñd:+6Òd:+7Ód:+8Ôd:+9Õd:+0Öd:+1×d:+2Ød:+3Ùd:+4Úd:+5Ûd:+6Üd:+7Ýd:+8Þd:+9ßd:+0àd:+1ád:+2âd:+3ãd:+4äd:+5åd:+6æd:+7çd:+8èd:+9éd:+0êd:+1ëd:+2ìd:+3íd:+4îd:+5ïd:+6ðd:+7ñd:+8òd:+9ód:+0ôd:+1õd:+2öd:+3÷d:+4ød:+5ùd:+6úd:+7ûd:+8üd:+9ýd:+0þd:+1ÿd:+
@@ -1387,7 +1412,7 @@ s s s sssssssssssssssssss s!s"s#s$s%s&s's(s)s*s+s,s-s.s/s0s1s2



-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        

@@ -1407,7 +1432,7 @@ s s s sssssssssssssssssss s!s"s#s$s%s&s's(s)s*s+s,s-s.s/s0s1s2

-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               



diff --git a/test/php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.c b/test/php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.c
index 3897c854..57d14549 100644
--- a/test/php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.c
+++ b/test/php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.c
@@ -1,7 +1,5 @@
/* Generated by re2c */
-
digraph re2c {
-
0 -> INITIAL [label="state=INITIAL"]
0 -> ST_OFFSET [label="state=ST_OFFSET"]
0 -> ST_SECTION_VALUE [label="state=ST_SECTION_VALUE"]
@@ -10,7 +8,6 @@ digraph re2c {
0 -> ST_DOUBLE_QUOTES [label="state=ST_DOUBLE_QUOTES"]
0 -> ST_VARNAME [label="state=ST_VARNAME"]
0 -> ST_RAW [label="state=ST_RAW"]
-/* *********************************** */
INITIAL -> 2
2 -> 3 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][#][%]['][*-:][<][>-E][G-M][P-S][U-X][Z][\\-0x5D][_-e][g-m][p-s][u-x][z][0x7F-0xFF]"]
2 -> 6 [label="[0x09]"]
@@ -36,7 +33,7 @@ INITIAL -> 2
7 -> 6 [label="[0x09][ ]"]
7 -> 9 [label="[0x0A]"]
7 -> 11 [label="[0x0D]"]
-7 -> 31 [label="[;]"]
+7 -> 16 [label="[;]"]
7 -> 18 [label="[=]"]
8 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:627"]
9 -> 10
@@ -50,29 +47,31 @@ INITIAL -> 2
13 -> 11 [label="[0x0D]"]
13 -> 12 [label="[ ]"]
13 -> 5 [label="[!-\"][$][&][(-)][^][{-~]"]
-13 -> 31 [label="[;]"]
+13 -> 16 [label="[;]"]
13 -> 18 [label="[=]"]
13 -> 28 [label="[[]"]
14 -> 15
15 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:555"]
-16 -> 32
-17 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:648"]
+16 -> 17
+17 -> 16 [label="[0x00-0x09][0x0B-0x0C][0x0E-0xFF]"]
+17 -> 31 [label="[0x0A]"]
+17 -> 33 [label="[0x0D]"]
18 -> 19
19 -> 20 [label="[0x00-0x08][0x0A-0x1F][!-0xFF]"]
19 -> 18 [label="[0x09][ ]"]
20 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:491"]
21 -> 4 [label="[0x00-@][B-`][b-0xFF]"]
-21 -> 36 [label="[A][a]"]
+21 -> 34 [label="[A][a]"]
22 -> 4 [label="[0x00-N][P-T][V-n][p-t][v-0xFF]"]
-22 -> 37 [label="[O][o]"]
-22 -> 39 [label="[U][u]"]
+22 -> 35 [label="[O][o]"]
+22 -> 37 [label="[U][u]"]
23 -> 4 [label="[0x00-E][G-M][O-e][g-m][o-0xFF]"]
-23 -> 40 [label="[F][f]"]
-23 -> 41 [label="[N][n]"]
+23 -> 38 [label="[F][f]"]
+23 -> 39 [label="[N][n]"]
24 -> 4 [label="[0x00-Q][S-q][s-0xFF]"]
-24 -> 44 [label="[R][r]"]
+24 -> 42 [label="[R][r]"]
25 -> 4 [label="[0x00-D][F-d][f-0xFF]"]
-25 -> 45 [label="[E][e]"]
+25 -> 43 [label="[E][e]"]
26 -> 27
27 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:406"]
28 -> 29
@@ -80,518 +79,500 @@ INITIAL -> 2
29 -> 28 [label="[0x09][ ]"]
30 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:431"]
31 -> 32
-32 -> 31 [label="[0x00-0x09][0x0B-0x0C][0x0E-0xFF]"]
-32 -> 33 [label="[0x0A]"]
-32 -> 35 [label="[0x0D]"]
-33 -> 34
-34 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:637"]
-35 -> 34 [label="[0x00-0x09][0x0B-0xFF]"]
-35 -> 33 [label="[0x0A]"]
-36 -> 4 [label="[0x00-K][M-k][m-0xFF]"]
-36 -> 46 [label="[L][l]"]
-37 -> 4 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][#][%]['][*-:][<][>-M][O-0x5D][_-m][o-z][0x7F-0xFF]"]
-37 -> 47 [label="[0x09]"]
-37 -> 38 [label="[0x0A][0x0D][!-\"][$][&][(-)][;][=][^][{-~]"]
-37 -> 49 [label="[ ]"]
-37 -> 51 [label="[N][n]"]
-38 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:473"]
-39 -> 4 [label="[0x00-K][M-k][m-0xFF]"]
-39 -> 52 [label="[L][l]"]
-40 -> 4 [label="[0x00-E][G-e][g-0xFF]"]
-40 -> 49 [label="[F][f]"]
-41 -> 42
-42 -> 3 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][#][%]['][*-:][<][>-Z][\\-0x5D][_-z][0x7F-0xFF]"]
-42 -> 53 [label="[0x09]"]
-42 -> 43 [label="[0x0A][0x0D][!-\"][$][&][(-)][;][=][^][{-~]"]
-42 -> 41 [label="[ ]"]
-42 -> 28 [label="[[]"]
-43 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:469"]
-44 -> 4 [label="[0x00-T][V-t][v-0xFF]"]
-44 -> 55 [label="[U][u]"]
-45 -> 4 [label="[0x00-R][T-r][t-0xFF]"]
-45 -> 41 [label="[S][s]"]
-46 -> 4 [label="[0x00-R][T-r][t-0xFF]"]
-46 -> 51 [label="[S][s]"]
+32 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:637"]
+33 -> 32 [label="[0x00-0x09][0x0B-0xFF]"]
+33 -> 31 [label="[0x0A]"]
+34 -> 4 [label="[0x00-K][M-k][m-0xFF]"]
+34 -> 44 [label="[L][l]"]
+35 -> 4 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][#][%]['][*-:][<][>-M][O-0x5D][_-m][o-z][0x7F-0xFF]"]
+35 -> 45 [label="[0x09]"]
+35 -> 36 [label="[0x0A][0x0D][!-\"][$][&][(-)][;][=][^][{-~]"]
+35 -> 47 [label="[ ]"]
+35 -> 49 [label="[N][n]"]
+36 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:473"]
+37 -> 4 [label="[0x00-K][M-k][m-0xFF]"]
+37 -> 50 [label="[L][l]"]
+38 -> 4 [label="[0x00-E][G-e][g-0xFF]"]
+38 -> 47 [label="[F][f]"]
+39 -> 40
+40 -> 3 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][#][%]['][*-:][<][>-Z][\\-0x5D][_-z][0x7F-0xFF]"]
+40 -> 51 [label="[0x09]"]
+40 -> 41 [label="[0x0A][0x0D][!-\"][$][&][(-)][;][=][^][{-~]"]
+40 -> 39 [label="[ ]"]
+40 -> 28 [label="[[]"]
+41 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:469"]
+42 -> 4 [label="[0x00-T][V-t][v-0xFF]"]
+42 -> 53 [label="[U][u]"]
+43 -> 4 [label="[0x00-R][T-r][t-0xFF]"]
+43 -> 39 [label="[S][s]"]
+44 -> 4 [label="[0x00-R][T-r][t-0xFF]"]
+44 -> 49 [label="[S][s]"]
+45 -> 46
+46 -> 36 [label="[0x00-0x08][0x0A-0x1F][!-0xFF]"]
+46 -> 45 [label="[0x09][ ]"]
47 -> 48
-48 -> 38 [label="[0x00-0x08][0x0A-0x1F][!-0xFF]"]
-48 -> 47 [label="[0x09][ ]"]
-49 -> 50
-50 -> 3 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][#][%]['][*-:][<][>-Z][\\-0x5D][_-z][0x7F-0xFF]"]
-50 -> 47 [label="[0x09]"]
-50 -> 38 [label="[0x0A][0x0D][!-\"][$][&][(-)][;][=][^][{-~]"]
-50 -> 49 [label="[ ]"]
-50 -> 28 [label="[[]"]
-51 -> 4 [label="[0x00-D][F-d][f-0xFF]"]
-51 -> 49 [label="[E][e]"]
-52 -> 4 [label="[0x00-K][M-k][m-0xFF]"]
-52 -> 56 [label="[L][l]"]
-53 -> 54
-54 -> 43 [label="[0x00-0x08][0x0A-0x1F][!-0xFF]"]
-54 -> 53 [label="[0x09][ ]"]
-55 -> 4 [label="[0x00-D][F-d][f-0xFF]"]
-55 -> 41 [label="[E][e]"]
-56 -> 57
-57 -> 3 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][#][%]['][*-:][<][>-Z][\\-0x5D][_-z][0x7F-0xFF]"]
-57 -> 59 [label="[0x09]"]
-57 -> 58 [label="[0x0A][0x0D][!-\"][$][&][(-)][;][=][^][{-~]"]
-57 -> 56 [label="[ ]"]
-57 -> 28 [label="[[]"]
-58 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:477"]
-59 -> 60
-60 -> 58 [label="[0x00-0x08][0x0A-0x1F][!-0xFF]"]
-60 -> 59 [label="[0x09][ ]"]
-/* *********************************** */
-ST_DOUBLE_QUOTES -> 62
-62 -> 63 [label="[0x00-!][#][%-0xFF]"]
-62 -> 65 [label="[\"]"]
-62 -> 68 [label="[$]"]
-63 -> 64
-64 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:587"]
-65 -> 66
-66 -> 67 [label="[0x00-0x08][0x0A-0x1F][!-0xFF]"]
-66 -> 65 [label="[0x09][ ]"]
-67 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:582"]
-68 -> 64 [label="[0x00-z][|-0xFF]"]
-68 -> 69 [label="[{]"]
-69 -> 70
-70 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:449"]
-/* *********************************** */
-ST_OFFSET -> 72
-72 -> 73 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!][#][%-&][(-,][/][:][<-@][[][^][`][{-0xFF]"]
-72 -> 76 [label="[0x09][ ]"]
-72 -> 78 [label="[0x0A][0x0D][;]"]
-72 -> 80 [label="[\"]"]
-72 -> 82 [label="[$]"]
-72 -> 83 [label="[']"]
-72 -> 84 [label="[--.]"]
-72 -> 85 [label="[0-9]"]
-72 -> 88 [label="[A-Z][_][a-z]"]
-72 -> 91 [label="[\\]"]
-72 -> 92 [label="[0x5D]"]
+48 -> 3 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][#][%]['][*-:][<][>-Z][\\-0x5D][_-z][0x7F-0xFF]"]
+48 -> 45 [label="[0x09]"]
+48 -> 36 [label="[0x0A][0x0D][!-\"][$][&][(-)][;][=][^][{-~]"]
+48 -> 47 [label="[ ]"]
+48 -> 28 [label="[[]"]
+49 -> 4 [label="[0x00-D][F-d][f-0xFF]"]
+49 -> 47 [label="[E][e]"]
+50 -> 4 [label="[0x00-K][M-k][m-0xFF]"]
+50 -> 54 [label="[L][l]"]
+51 -> 52
+52 -> 41 [label="[0x00-0x08][0x0A-0x1F][!-0xFF]"]
+52 -> 51 [label="[0x09][ ]"]
+53 -> 4 [label="[0x00-D][F-d][f-0xFF]"]
+53 -> 39 [label="[E][e]"]
+54 -> 55
+55 -> 3 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][#][%]['][*-:][<][>-Z][\\-0x5D][_-z][0x7F-0xFF]"]
+55 -> 57 [label="[0x09]"]
+55 -> 56 [label="[0x0A][0x0D][!-\"][$][&][(-)][;][=][^][{-~]"]
+55 -> 54 [label="[ ]"]
+55 -> 28 [label="[[]"]
+56 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:477"]
+57 -> 58
+58 -> 56 [label="[0x00-0x08][0x0A-0x1F][!-0xFF]"]
+58 -> 57 [label="[0x09][ ]"]
+ST_OFFSET -> 60
+60 -> 61 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!][#][%-&][(-,][/][:][<-@][[][^][`][{-0xFF]"]
+60 -> 64 [label="[0x09][ ]"]
+60 -> 66 [label="[0x0A][0x0D][;]"]
+60 -> 68 [label="[\"]"]
+60 -> 70 [label="[$]"]
+60 -> 71 [label="[']"]
+60 -> 72 [label="[--.]"]
+60 -> 73 [label="[0-9]"]
+60 -> 76 [label="[A-Z][_][a-z]"]
+60 -> 79 [label="[\\]"]
+60 -> 80 [label="[0x5D]"]
+61 -> 62
+62 -> 61 [label="[0x00-0x09][0x0B-0x0C][0x0E-!][#][%-&][(-:][<-[][^-0xFF]"]
+62 -> 63 [label="[0x0A][0x0D][\"]['][;][0x5D]"]
+62 -> 82 [label="[$]"]
+62 -> 79 [label="[\\]"]
+63 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:573"]
+64 -> 65
+65 -> 61 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!][#][%-&][(-:][<-[][^-0xFF]"]
+65 -> 64 [label="[0x09][ ]"]
+65 -> 63 [label="[0x0A][0x0D]['][;]"]
+65 -> 68 [label="[\"]"]
+65 -> 82 [label="[$]"]
+65 -> 79 [label="[\\]"]
+65 -> 80 [label="[0x5D]"]
+66 -> 67
+67 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:648"]
+68 -> 69
+69 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:577"]
+70 -> 61 [label="[0x01-[][0x5D-z][|-0xFF]"]
+70 -> 67 [label="[0x00]"]
+70 -> 84 [label="[\\]"]
+70 -> 86 [label="[{]"]
+71 -> 88 [label="[0x00-&][(-0xFF]"]
+71 -> 67 [label="[']"]
+72 -> 62 [label="[0x00-/][:-0xFF]"]
+72 -> 90 [label="[0-9]"]
73 -> 74
-74 -> 73 [label="[0x00-0x09][0x0B-0x0C][0x0E-!][#][%-&][(-:][<-[][^-0xFF]"]
+74 -> 61 [label="[0x00-0x09][0x0B-0x0C][0x0E-!][#][%-&][(--][/][:][<-[][^-0xFF]"]
74 -> 75 [label="[0x0A][0x0D][\"]['][;][0x5D]"]
-74 -> 94 [label="[$]"]
-74 -> 96 [label="[\\]"]
-75 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:573"]
+74 -> 82 [label="[$]"]
+74 -> 90 [label="[.]"]
+74 -> 73 [label="[0-9]"]
+74 -> 79 [label="[\\]"]
+75 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:551"]
76 -> 77
-77 -> 73 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!][#][%-&][(-:][<-[][^-0xFF]"]
-77 -> 76 [label="[0x09][ ]"]
-77 -> 75 [label="[0x0A][0x0D]['][;]"]
-77 -> 80 [label="[\"]"]
-77 -> 94 [label="[$]"]
-77 -> 96 [label="[\\]"]
-77 -> 92 [label="[0x5D]"]
-78 -> 79
-79 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:648"]
+77 -> 61 [label="[0x00-0x09][0x0B-0x0C][0x0E-!][#][%-&][(-/][:][<-@][[][^][`][{-0xFF]"]
+77 -> 78 [label="[0x0A][0x0D][\"]['][;][0x5D]"]
+77 -> 82 [label="[$]"]
+77 -> 76 [label="[0-9][A-Z][_][a-z]"]
+77 -> 79 [label="[\\]"]
+78 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:547"]
+79 -> 61
80 -> 81
-81 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:577"]
-82 -> 79 [label="[0x00]"]
-82 -> 73 [label="[0x01-[][0x5D-z][|-0xFF]"]
-82 -> 97 [label="[\\]"]
-82 -> 99 [label="[{]"]
-83 -> 101 [label="[0x00-&][(-0xFF]"]
-83 -> 79 [label="[']"]
-84 -> 74 [label="[0x00-/][:-0xFF]"]
-84 -> 103 [label="[0-9]"]
-85 -> 86
-86 -> 73 [label="[0x00-0x09][0x0B-0x0C][0x0E-!][#][%-&][(--][/][:][<-[][^-0xFF]"]
-86 -> 87 [label="[0x0A][0x0D][\"]['][;][0x5D]"]
-86 -> 94 [label="[$]"]
-86 -> 103 [label="[.]"]
-86 -> 85 [label="[0-9]"]
-86 -> 96 [label="[\\]"]
-87 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:551"]
+81 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:444"]
+82 -> 61 [label="[0x01-[][0x5D-z][|-0xFF]"]
+82 -> 83 [label="[0x00][{]"]
+82 -> 84 [label="[\\]"]
+83 -> 63 [label="yyaccept=0"]
+83 -> 75 [label="yyaccept=1"]
+83 -> 78 [label="yyaccept=2"]
+84 -> 85
+85 -> 61 [label="[0x00-#][%-[][0x5D-0xFF]"]
+85 -> 84 [label="[$][\\]"]
+86 -> 87
+87 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:449"]
88 -> 89
-89 -> 73 [label="[0x00-0x09][0x0B-0x0C][0x0E-!][#][%-&][(-/][:][<-@][[][^][`][{-0xFF]"]
-89 -> 90 [label="[0x0A][0x0D][\"]['][;][0x5D]"]
-89 -> 94 [label="[$]"]
-89 -> 88 [label="[0-9][A-Z][_][a-z]"]
-89 -> 96 [label="[\\]"]
-90 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:547"]
-91 -> 73
+89 -> 88 [label="[0x00-&][(-0xFF]"]
+89 -> 92 [label="[']"]
+90 -> 91
+91 -> 61 [label="[0x00-0x09][0x0B-0x0C][0x0E-!][#][%-&][(-/][:][<-[][^-0xFF]"]
+91 -> 75 [label="[0x0A][0x0D][\"]['][;][0x5D]"]
+91 -> 82 [label="[$]"]
+91 -> 90 [label="[0-9]"]
+91 -> 79 [label="[\\]"]
92 -> 93
-93 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:444"]
-94 -> 95 [label="[0x00][{]"]
-94 -> 73 [label="[0x01-[][0x5D-z][|-0xFF]"]
-94 -> 97 [label="[\\]"]
-95 -> 75 [label="yyaccept=0"]
-95 -> 79 [label="yyaccept=1"]
-95 -> 87 [label="yyaccept=2"]
-95 -> 90 [label="yyaccept=3"]
-96 -> 73
-97 -> 98
-98 -> 73 [label="[0x00-#][%-[][0x5D-0xFF]"]
-98 -> 97 [label="[$][\\]"]
+93 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:416"]
+ST_SECTION_VALUE -> 95
+95 -> 96 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!][#][%-&][(-,][/][:][<-@][[][^][`][{-0xFF]"]
+95 -> 99 [label="[0x09][ ]"]
+95 -> 101 [label="[0x0A][0x0D][;]"]
+95 -> 103 [label="[\"]"]
+95 -> 105 [label="[$]"]
+95 -> 106 [label="[']"]
+95 -> 107 [label="[--.]"]
+95 -> 108 [label="[0-9]"]
+95 -> 111 [label="[A-Z][_][a-z]"]
+95 -> 114 [label="[\\]"]
+95 -> 115 [label="[0x5D]"]
+96 -> 97
+97 -> 96 [label="[0x00-0x09][0x0B-0x0C][0x0E-!][#][%-&][(-:][<-[][^-0xFF]"]
+97 -> 98 [label="[0x0A][0x0D][\"]['][;][0x5D]"]
+97 -> 118 [label="[$]"]
+97 -> 114 [label="[\\]"]
+98 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:573"]
99 -> 100
-100 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:449"]
+100 -> 96 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!][#][%-&][(-:][<-[][^-0xFF]"]
+100 -> 99 [label="[0x09][ ]"]
+100 -> 98 [label="[0x0A][0x0D]['][;][0x5D]"]
+100 -> 103 [label="[\"]"]
+100 -> 118 [label="[$]"]
+100 -> 114 [label="[\\]"]
101 -> 102
-102 -> 101 [label="[0x00-&][(-0xFF]"]
-102 -> 105 [label="[']"]
+102 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:648"]
103 -> 104
-104 -> 73 [label="[0x00-0x09][0x0B-0x0C][0x0E-!][#][%-&][(-/][:][<-[][^-0xFF]"]
-104 -> 87 [label="[0x0A][0x0D][\"]['][;][0x5D]"]
-104 -> 94 [label="[$]"]
-104 -> 103 [label="[0-9]"]
-104 -> 96 [label="[\\]"]
-105 -> 106
-106 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:416"]
-/* *********************************** */
-ST_RAW -> 108
-108 -> 109 [label="[0x00]"]
-108 -> 111 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][!-:][<-0xFF]"]
-108 -> 113 [label="[0x09][ ]"]
-108 -> 114 [label="[0x0A]"]
-108 -> 116 [label="[0x0D]"]
-108 -> 117 [label="[;]"]
-109 -> 110
-110 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:643"]
+104 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:577"]
+105 -> 96 [label="[0x01-[][0x5D-z][|-0xFF]"]
+105 -> 102 [label="[0x00]"]
+105 -> 120 [label="[\\]"]
+105 -> 122 [label="[{]"]
+106 -> 124 [label="[0x00-&][(-0xFF]"]
+106 -> 102 [label="[']"]
+107 -> 97 [label="[0x00-/][:-0xFF]"]
+107 -> 126 [label="[0-9]"]
+108 -> 109
+109 -> 96 [label="[0x00-0x09][0x0B-0x0C][0x0E-!][#][%-&][(--][/][:][<-[][^-0xFF]"]
+109 -> 110 [label="[0x0A][0x0D][\"]['][;][0x5D]"]
+109 -> 118 [label="[$]"]
+109 -> 126 [label="[.]"]
+109 -> 108 [label="[0-9]"]
+109 -> 114 [label="[\\]"]
+110 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:551"]
111 -> 112
-112 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:500"]
-113 -> 112 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!-:][<-0xFF]"]
-113 -> 119 [label="[0x09-0x0A][0x0D][ ][;]"]
-114 -> 115
-115 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:541"]
-116 -> 115 [label="[0x00-0x09][0x0B-0xFF]"]
-116 -> 114 [label="[0x0A]"]
-117 -> 122
-118 -> 119
-119 -> 120 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!-:][<-0xFF]"]
-119 -> 118 [label="[0x09][ ]"]
-119 -> 114 [label="[0x0A]"]
-119 -> 116 [label="[0x0D]"]
-119 -> 121 [label="[;]"]
-120 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:627"]
-121 -> 122
-122 -> 121 [label="[0x00-0x09][0x0B-0x0C][0x0E-0xFF]"]
-122 -> 123 [label="[0x0A]"]
-122 -> 125 [label="[0x0D]"]
-123 -> 124
-124 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:637"]
-125 -> 124 [label="[0x00-0x09][0x0B-0xFF]"]
-125 -> 123 [label="[0x0A]"]
-/* *********************************** */
-ST_SECTION_RAW -> 127
-127 -> 128 [label="[0x00-0x09][0x0B-0x0C][0x0E-\\][^-0xFF]"]
-127 -> 131 [label="[0x0A][0x0D]"]
-127 -> 133 [label="[0x5D]"]
-128 -> 129
-129 -> 128 [label="[0x00-0x09][0x0B-0x0C][0x0E-\\][^-0xFF]"]
-129 -> 130 [label="[0x0A][0x0D][0x5D]"]
-130 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:537"]
-131 -> 132
-132 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:648"]
-133 -> 134
-134 -> 135 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!-0xFF]"]
-134 -> 133 [label="[0x09][ ]"]
-134 -> 136 [label="[0x0A]"]
-134 -> 137 [label="[0x0D]"]
-135 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:425"]
-136 -> 135
-137 -> 135 [label="[0x00-0x09][0x0B-0xFF]"]
-137 -> 136 [label="[0x0A]"]
-/* *********************************** */
-ST_SECTION_VALUE -> 139
-139 -> 140 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!][#][%-&][(-,][/][:][<-@][[][^][`][{-0xFF]"]
-139 -> 143 [label="[0x09][ ]"]
-139 -> 145 [label="[0x0A][0x0D][;]"]
-139 -> 147 [label="[\"]"]
-139 -> 149 [label="[$]"]
-139 -> 150 [label="[']"]
-139 -> 151 [label="[--.]"]
-139 -> 152 [label="[0-9]"]
-139 -> 155 [label="[A-Z][_][a-z]"]
-139 -> 158 [label="[\\]"]
-139 -> 159 [label="[0x5D]"]
-140 -> 141
-141 -> 140 [label="[0x00-0x09][0x0B-0x0C][0x0E-!][#][%-&][(-:][<-[][^-0xFF]"]
-141 -> 142 [label="[0x0A][0x0D][\"]['][;][0x5D]"]
-141 -> 162 [label="[$]"]
-141 -> 164 [label="[\\]"]
-142 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:573"]
-143 -> 144
-144 -> 140 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!][#][%-&][(-:][<-[][^-0xFF]"]
-144 -> 143 [label="[0x09][ ]"]
-144 -> 142 [label="[0x0A][0x0D]['][;][0x5D]"]
-144 -> 147 [label="[\"]"]
-144 -> 162 [label="[$]"]
-144 -> 164 [label="[\\]"]
+112 -> 96 [label="[0x00-0x09][0x0B-0x0C][0x0E-!][#][%-&][(-/][:][<-@][[][^][`][{-0xFF]"]
+112 -> 113 [label="[0x0A][0x0D][\"]['][;][0x5D]"]
+112 -> 118 [label="[$]"]
+112 -> 111 [label="[0-9][A-Z][_][a-z]"]
+112 -> 114 [label="[\\]"]
+113 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:547"]
+114 -> 96
+115 -> 116
+116 -> 117 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!-0xFF]"]
+116 -> 115 [label="[0x09][ ]"]
+116 -> 128 [label="[0x0A]"]
+116 -> 129 [label="[0x0D]"]
+117 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:425"]
+118 -> 96 [label="[0x01-[][0x5D-z][|-0xFF]"]
+118 -> 119 [label="[0x00][{]"]
+118 -> 120 [label="[\\]"]
+119 -> 98 [label="yyaccept=0"]
+119 -> 110 [label="yyaccept=1"]
+119 -> 113 [label="yyaccept=2"]
+120 -> 121
+121 -> 96 [label="[0x00-#][%-[][0x5D-0xFF]"]
+121 -> 120 [label="[$][\\]"]
+122 -> 123
+123 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:449"]
+124 -> 125
+125 -> 124 [label="[0x00-&][(-0xFF]"]
+125 -> 130 [label="[']"]
+126 -> 127
+127 -> 96 [label="[0x00-0x09][0x0B-0x0C][0x0E-!][#][%-&][(-/][:][<-[][^-0xFF]"]
+127 -> 110 [label="[0x0A][0x0D][\"]['][;][0x5D]"]
+127 -> 118 [label="[$]"]
+127 -> 126 [label="[0-9]"]
+127 -> 114 [label="[\\]"]
+128 -> 117
+129 -> 117 [label="[0x00-0x09][0x0B-0xFF]"]
+129 -> 128 [label="[0x0A]"]
+130 -> 131
+131 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:416"]
+ST_VALUE -> 133
+133 -> 136 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#][%][*-,][/][:][<][>-@][[-0x5D][`][{][}][0x7F-0xFF]"]
+133 -> 134 [label="[0x00]"]
+133 -> 139 [label="[0x09][ ]"]
+133 -> 142 [label="[0x0A]"]
+133 -> 144 [label="[0x0D]"]
+133 -> 145 [label="[!][&][(-)][^][|][~]"]
+133 -> 148 [label="[\"]"]
+133 -> 150 [label="[$]"]
+133 -> 151 [label="[']"]
+133 -> 152 [label="[--.]"]
+133 -> 153 [label="[0-9]"]
+133 -> 156 [label="[;]"]
+133 -> 158 [label="[=]"]
+133 -> 160 [label="[A-E][G-M][P-S][U-X][Z][_][a-e][g-m][p-s][u-x][z]"]
+133 -> 163 [label="[F][f]"]
+133 -> 164 [label="[N][n]"]
+133 -> 165 [label="[O][o]"]
+133 -> 166 [label="[T][t]"]
+133 -> 167 [label="[Y][y]"]
+134 -> 135
+135 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:643"]
+136 -> 137
+137 -> 136 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#][%][*-:][<][>-0x5D][_-{][}][0x7F-0xFF]"]
+137 -> 138 [label="[0x00][0x09-0x0A][0x0D][ -\"][&-)][;][=][^][|][~]"]
+137 -> 168 [label="[$]"]
+138 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:569"]
+139 -> 140
+140 -> 141 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!][#-:][<-0xFF]"]
+140 -> 139 [label="[0x09][ ]"]
+140 -> 142 [label="[0x0A]"]
+140 -> 144 [label="[0x0D]"]
+140 -> 148 [label="[\"]"]
+140 -> 156 [label="[;]"]
+141 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:623"]
+142 -> 143
+143 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:541"]
+144 -> 143 [label="[0x00-0x09][0x0B-0xFF]"]
+144 -> 142 [label="[0x0A]"]
145 -> 146
-146 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:648"]
-147 -> 148
-148 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:577"]
-149 -> 146 [label="[0x00]"]
-149 -> 140 [label="[0x01-[][0x5D-z][|-0xFF]"]
-149 -> 165 [label="[\\]"]
-149 -> 167 [label="[{]"]
-150 -> 169 [label="[0x00-&][(-0xFF]"]
-150 -> 146 [label="[']"]
-151 -> 141 [label="[0x00-/][:-0xFF]"]
-151 -> 171 [label="[0-9]"]
-152 -> 153
-153 -> 140 [label="[0x00-0x09][0x0B-0x0C][0x0E-!][#][%-&][(--][/][:][<-[][^-0xFF]"]
-153 -> 154 [label="[0x0A][0x0D][\"]['][;][0x5D]"]
-153 -> 162 [label="[$]"]
-153 -> 171 [label="[.]"]
-153 -> 152 [label="[0-9]"]
-153 -> 164 [label="[\\]"]
-154 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:551"]
-155 -> 156
-156 -> 140 [label="[0x00-0x09][0x0B-0x0C][0x0E-!][#][%-&][(-/][:][<-@][[][^][`][{-0xFF]"]
-156 -> 157 [label="[0x0A][0x0D][\"]['][;][0x5D]"]
-156 -> 162 [label="[$]"]
-156 -> 155 [label="[0-9][A-Z][_][a-z]"]
-156 -> 164 [label="[\\]"]
-157 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:547"]
-158 -> 140
-159 -> 160
-160 -> 161 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!-0xFF]"]
-160 -> 159 [label="[0x09][ ]"]
-160 -> 173 [label="[0x0A]"]
-160 -> 174 [label="[0x0D]"]
-161 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:425"]
-162 -> 163 [label="[0x00][{]"]
-162 -> 140 [label="[0x01-[][0x5D-z][|-0xFF]"]
-162 -> 165 [label="[\\]"]
-163 -> 142 [label="yyaccept=0"]
-163 -> 146 [label="yyaccept=1"]
-163 -> 154 [label="yyaccept=2"]
-163 -> 157 [label="yyaccept=3"]
-164 -> 140
-165 -> 166
-166 -> 140 [label="[0x00-#][%-[][0x5D-0xFF]"]
-166 -> 165 [label="[$][\\]"]
-167 -> 168
-168 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:449"]
-169 -> 170
-170 -> 169 [label="[0x00-&][(-0xFF]"]
-170 -> 175 [label="[']"]
+146 -> 147 [label="[0x00-0x08][0x0A-0x1F][!-0xFF]"]
+146 -> 145 [label="[0x09][ ]"]
+147 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:559"]
+148 -> 149
+149 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:577"]
+150 -> 136 [label="[0x01-[][0x5D-z][|-0xFF]"]
+150 -> 135 [label="[0x00]"]
+150 -> 170 [label="[\\]"]
+150 -> 171 [label="[{]"]
+151 -> 173 [label="[0x00-&][(-0xFF]"]
+151 -> 135 [label="[']"]
+152 -> 137 [label="[0x00-/][:-0xFF]"]
+152 -> 175 [label="[0-9]"]
+153 -> 154
+154 -> 136 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#][%][*--][/][:][<][>-0x5D][_-{][}][0x7F-0xFF]"]
+154 -> 155 [label="[0x00][0x09-0x0A][0x0D][ -\"][&-)][;][=][^][|][~]"]
+154 -> 168 [label="[$]"]
+154 -> 175 [label="[.]"]
+154 -> 153 [label="[0-9]"]
+155 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:551"]
+156 -> 157
+157 -> 156 [label="[0x00-0x09][0x0B-0x0C][0x0E-0xFF]"]
+157 -> 177 [label="[0x0A]"]
+157 -> 179 [label="[0x0D]"]
+158 -> 159
+159 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:563"]
+160 -> 161
+161 -> 136 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#][%][*-/][:][<][>-@][[-0x5D][`][{][}][0x7F-0xFF]"]
+161 -> 162 [label="[0x00][0x09-0x0A][0x0D][ -\"][&-)][;][=][^][|][~]"]
+161 -> 168 [label="[$]"]
+161 -> 160 [label="[0-9][A-Z][_][a-z]"]
+162 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:547"]
+163 -> 137 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#-%][*-/][:][<][>-@][[-0x5D][`][{][}][0x7F-0xFF]"]
+163 -> 162 [label="[0x00][0x09-0x0A][0x0D][ -\"][&-)][;][=][^][|][~]"]
+163 -> 160 [label="[0-9][B-Z][_][b-z]"]
+163 -> 180 [label="[A][a]"]
+164 -> 137 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#-%][*-/][:][<][>-@][[-0x5D][`][{][}][0x7F-0xFF]"]
+164 -> 162 [label="[0x00][0x09-0x0A][0x0D][ -\"][&-)][;][=][^][|][~]"]
+164 -> 160 [label="[0-9][A-N][P-T][V-Z][_][a-n][p-t][v-z]"]
+164 -> 181 [label="[O][o]"]
+164 -> 183 [label="[U][u]"]
+165 -> 137 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#-%][*-/][:][<][>-@][[-0x5D][`][{][}][0x7F-0xFF]"]
+165 -> 162 [label="[0x00][0x09-0x0A][0x0D][ -\"][&-)][;][=][^][|][~]"]
+165 -> 160 [label="[0-9][A-E][G-M][O-Z][_][a-e][g-m][o-z]"]
+165 -> 184 [label="[F][f]"]
+165 -> 185 [label="[N][n]"]
+166 -> 137 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#-%][*-/][:][<][>-@][[-0x5D][`][{][}][0x7F-0xFF]"]
+166 -> 162 [label="[0x00][0x09-0x0A][0x0D][ -\"][&-)][;][=][^][|][~]"]
+166 -> 160 [label="[0-9][A-Q][S-Z][_][a-q][s-z]"]
+166 -> 187 [label="[R][r]"]
+167 -> 137 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#-%][*-/][:][<][>-@][[-0x5D][`][{][}][0x7F-0xFF]"]
+167 -> 162 [label="[0x00][0x09-0x0A][0x0D][ -\"][&-)][;][=][^][|][~]"]
+167 -> 160 [label="[0-9][A-D][F-Z][_][a-d][f-z]"]
+167 -> 188 [label="[E][e]"]
+168 -> 136 [label="[0x01-[][0x5D-z][|-0xFF]"]
+168 -> 169 [label="[0x00][{]"]
+168 -> 170 [label="[\\]"]
+169 -> 138 [label="yyaccept=0"]
+169 -> 155 [label="yyaccept=1"]
+169 -> 162 [label="yyaccept=2"]
+169 -> 182 [label="yyaccept=3"]
+169 -> 186 [label="yyaccept=4"]
+169 -> 203 [label="yyaccept=5"]
+170 -> 136 [label="[0x00-#][%-0xFF]"]
+170 -> 189 [label="[$]"]
171 -> 172
-172 -> 140 [label="[0x00-0x09][0x0B-0x0C][0x0E-!][#][%-&][(-/][:][<-[][^-0xFF]"]
-172 -> 154 [label="[0x0A][0x0D][\"]['][;][0x5D]"]
-172 -> 162 [label="[$]"]
-172 -> 171 [label="[0-9]"]
-172 -> 164 [label="[\\]"]
-173 -> 161
-174 -> 161 [label="[0x00-0x09][0x0B-0xFF]"]
-174 -> 173 [label="[0x0A]"]
+172 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:449"]
+173 -> 174
+174 -> 173 [label="[0x00-&][(-0xFF]"]
+174 -> 191 [label="[']"]
175 -> 176
-176 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:416"]
-/* *********************************** */
-ST_VALUE -> 178
-178 -> 179 [label="[0x00]"]
-178 -> 181 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#][%][*-,][/][:][<][>-@][[-0x5D][`][{][}][0x7F-0xFF]"]
-178 -> 184 [label="[0x09][ ]"]
-178 -> 187 [label="[0x0A]"]
-178 -> 189 [label="[0x0D]"]
-178 -> 190 [label="[!][&][(-)][^][|][~]"]
-178 -> 193 [label="[\"]"]
-178 -> 195 [label="[$]"]
-178 -> 196 [label="[']"]
-178 -> 197 [label="[--.]"]
-178 -> 198 [label="[0-9]"]
-178 -> 201 [label="[;]"]
-178 -> 202 [label="[=]"]
-178 -> 204 [label="[A-E][G-M][P-S][U-X][Z][_][a-e][g-m][p-s][u-x][z]"]
-178 -> 207 [label="[F][f]"]
-178 -> 208 [label="[N][n]"]
-178 -> 209 [label="[O][o]"]
-178 -> 210 [label="[T][t]"]
-178 -> 211 [label="[Y][y]"]
-179 -> 180
-180 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:643"]
-181 -> 182
-182 -> 183 [label="[0x00][0x09-0x0A][0x0D][ -\"][&-)][;][=][^][|][~]"]
-182 -> 181 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#][%][*-:][<][>-0x5D][_-{][}][0x7F-0xFF]"]
-182 -> 212 [label="[$]"]
-183 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:569"]
-184 -> 185
-185 -> 186 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!][#-:][<-0xFF]"]
-185 -> 184 [label="[0x09][ ]"]
-185 -> 187 [label="[0x0A]"]
-185 -> 189 [label="[0x0D]"]
-185 -> 193 [label="[\"]"]
-185 -> 214 [label="[;]"]
-186 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:623"]
-187 -> 188
-188 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:541"]
-189 -> 188 [label="[0x00-0x09][0x0B-0xFF]"]
-189 -> 187 [label="[0x0A]"]
-190 -> 191
-191 -> 192 [label="[0x00-0x08][0x0A-0x1F][!-0xFF]"]
-191 -> 190 [label="[0x09][ ]"]
-192 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:559"]
-193 -> 194
-194 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:577"]
-195 -> 180 [label="[0x00]"]
-195 -> 181 [label="[0x01-[][0x5D-z][|-0xFF]"]
-195 -> 216 [label="[\\]"]
-195 -> 217 [label="[{]"]
-196 -> 219 [label="[0x00-&][(-0xFF]"]
-196 -> 180 [label="[']"]
-197 -> 182 [label="[0x00-/][:-0xFF]"]
-197 -> 221 [label="[0-9]"]
-198 -> 199
-199 -> 200 [label="[0x00][0x09-0x0A][0x0D][ -\"][&-)][;][=][^][|][~]"]
-199 -> 181 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#][%][*--][/][:][<][>-0x5D][_-{][}][0x7F-0xFF]"]
-199 -> 212 [label="[$]"]
-199 -> 221 [label="[.]"]
-199 -> 198 [label="[0-9]"]
-200 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:551"]
-201 -> 215
-202 -> 203
-203 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:563"]
+176 -> 136 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#][%][*-/][:][<][>-0x5D][_-{][}][0x7F-0xFF]"]
+176 -> 155 [label="[0x00][0x09-0x0A][0x0D][ -\"][&-)][;][=][^][|][~]"]
+176 -> 168 [label="[$]"]
+176 -> 175 [label="[0-9]"]
+177 -> 178
+178 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:637"]
+179 -> 178 [label="[0x00-0x09][0x0B-0xFF]"]
+179 -> 177 [label="[0x0A]"]
+180 -> 137 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#-%][*-/][:][<][>-@][[-0x5D][`][{][}][0x7F-0xFF]"]
+180 -> 162 [label="[0x00][0x09-0x0A][0x0D][ -\"][&-)][;][=][^][|][~]"]
+180 -> 160 [label="[0-9][A-K][M-Z][_][a-k][m-z]"]
+180 -> 193 [label="[L][l]"]
+181 -> 137 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#-%][*-/][:][<][>-@][[-0x5D][`][{][}][0x7F-0xFF]"]
+181 -> 182 [label="[0x00][0x0A][0x0D][!-\"][&-)][;][=][^][|][~]"]
+181 -> 194 [label="[0x09][ ]"]
+181 -> 160 [label="[0-9][A-M][O-Z][_][a-m][o-z]"]
+181 -> 196 [label="[N][n]"]
+182 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:473"]
+183 -> 137 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#-%][*-/][:][<][>-@][[-0x5D][`][{][}][0x7F-0xFF]"]
+183 -> 162 [label="[0x00][0x09-0x0A][0x0D][ -\"][&-)][;][=][^][|][~]"]
+183 -> 160 [label="[0-9][A-K][M-Z][_][a-k][m-z]"]
+183 -> 197 [label="[L][l]"]
+184 -> 137 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#-%][*-/][:][<][>-@][[-0x5D][`][{][}][0x7F-0xFF]"]
+184 -> 162 [label="[0x00][0x09-0x0A][0x0D][ -\"][&-)][;][=][^][|][~]"]
+184 -> 160 [label="[0-9][A-E][G-Z][_][a-e][g-z]"]
+184 -> 198 [label="[F][f]"]
+185 -> 137 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#-%][*-/][:][<][>-@][[-0x5D][`][{][}][0x7F-0xFF]"]
+185 -> 186 [label="[0x00][0x0A][0x0D][!-\"][&-)][;][=][^][|][~]"]
+185 -> 199 [label="[0x09][ ]"]
+185 -> 160 [label="[0-9][A-Z][_][a-z]"]
+186 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:469"]
+187 -> 137 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#-%][*-/][:][<][>-@][[-0x5D][`][{][}][0x7F-0xFF]"]
+187 -> 162 [label="[0x00][0x09-0x0A][0x0D][ -\"][&-)][;][=][^][|][~]"]
+187 -> 160 [label="[0-9][A-T][V-Z][_][a-t][v-z]"]
+187 -> 201 [label="[U][u]"]
+188 -> 137 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#-%][*-/][:][<][>-@][[-0x5D][`][{][}][0x7F-0xFF]"]
+188 -> 162 [label="[0x00][0x09-0x0A][0x0D][ -\"][&-)][;][=][^][|][~]"]
+188 -> 160 [label="[0-9][A-R][T-Z][_][a-r][t-z]"]
+188 -> 185 [label="[S][s]"]
+189 -> 190
+190 -> 136 [label="[0x01-#][%-[][0x5D-0xFF]"]
+190 -> 138 [label="[0x00]"]
+190 -> 189 [label="[$]"]
+190 -> 170 [label="[\\]"]
+191 -> 192
+192 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:416"]
+193 -> 137 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#-%][*-/][:][<][>-@][[-0x5D][`][{][}][0x7F-0xFF]"]
+193 -> 162 [label="[0x00][0x09-0x0A][0x0D][ -\"][&-)][;][=][^][|][~]"]
+193 -> 160 [label="[0-9][A-R][T-Z][_][a-r][t-z]"]
+193 -> 196 [label="[S][s]"]
+194 -> 195
+195 -> 182 [label="[0x00-0x08][0x0A-0x1F][!-0xFF]"]
+195 -> 194 [label="[0x09][ ]"]
+196 -> 137 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#-%][*-/][:][<][>-@][[-0x5D][`][{][}][0x7F-0xFF]"]
+196 -> 162 [label="[0x00][0x09-0x0A][0x0D][ -\"][&-)][;][=][^][|][~]"]
+196 -> 160 [label="[0-9][A-D][F-Z][_][a-d][f-z]"]
+196 -> 198 [label="[E][e]"]
+197 -> 137 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#-%][*-/][:][<][>-@][[-0x5D][`][{][}][0x7F-0xFF]"]
+197 -> 162 [label="[0x00][0x09-0x0A][0x0D][ -\"][&-)][;][=][^][|][~]"]
+197 -> 160 [label="[0-9][A-K][M-Z][_][a-k][m-z]"]
+197 -> 202 [label="[L][l]"]
+198 -> 137 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#-%][*-/][:][<][>-@][[-0x5D][`][{][}][0x7F-0xFF]"]
+198 -> 182 [label="[0x00][0x0A][0x0D][!-\"][&-)][;][=][^][|][~]"]
+198 -> 194 [label="[0x09][ ]"]
+198 -> 160 [label="[0-9][A-Z][_][a-z]"]
+199 -> 200
+200 -> 186 [label="[0x00-0x08][0x0A-0x1F][!-0xFF]"]
+200 -> 199 [label="[0x09][ ]"]
+201 -> 137 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#-%][*-/][:][<][>-@][[-0x5D][`][{][}][0x7F-0xFF]"]
+201 -> 162 [label="[0x00][0x09-0x0A][0x0D][ -\"][&-)][;][=][^][|][~]"]
+201 -> 160 [label="[0-9][A-D][F-Z][_][a-d][f-z]"]
+201 -> 185 [label="[E][e]"]
+202 -> 137 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#-%][*-/][:][<][>-@][[-0x5D][`][{][}][0x7F-0xFF]"]
+202 -> 203 [label="[0x00][0x0A][0x0D][!-\"][&-)][;][=][^][|][~]"]
+202 -> 204 [label="[0x09][ ]"]
+202 -> 160 [label="[0-9][A-Z][_][a-z]"]
+203 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:477"]
204 -> 205
-205 -> 206 [label="[0x00][0x09-0x0A][0x0D][ -\"][&-)][;][=][^][|][~]"]
-205 -> 181 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#][%][*-/][:][<][>-@][[-0x5D][`][{][}][0x7F-0xFF]"]
-205 -> 212 [label="[$]"]
-205 -> 204 [label="[0-9][A-Z][_][a-z]"]
-206 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:547"]
-207 -> 206 [label="[0x00][0x09-0x0A][0x0D][ -\"][&-)][;][=][^][|][~]"]
-207 -> 182 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#-%][*-/][:][<][>-@][[-0x5D][`][{][}][0x7F-0xFF]"]
-207 -> 204 [label="[0-9][B-Z][_][b-z]"]
-207 -> 226 [label="[A][a]"]
-208 -> 206 [label="[0x00][0x09-0x0A][0x0D][ -\"][&-)][;][=][^][|][~]"]
-208 -> 182 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#-%][*-/][:][<][>-@][[-0x5D][`][{][}][0x7F-0xFF]"]
-208 -> 204 [label="[0-9][A-N][P-T][V-Z][_][a-n][p-t][v-z]"]
-208 -> 227 [label="[O][o]"]
-208 -> 229 [label="[U][u]"]
-209 -> 206 [label="[0x00][0x09-0x0A][0x0D][ -\"][&-)][;][=][^][|][~]"]
-209 -> 182 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#-%][*-/][:][<][>-@][[-0x5D][`][{][}][0x7F-0xFF]"]
-209 -> 204 [label="[0-9][A-E][G-M][O-Z][_][a-e][g-m][o-z]"]
-209 -> 230 [label="[F][f]"]
-209 -> 231 [label="[N][n]"]
-210 -> 206 [label="[0x00][0x09-0x0A][0x0D][ -\"][&-)][;][=][^][|][~]"]
-210 -> 182 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#-%][*-/][:][<][>-@][[-0x5D][`][{][}][0x7F-0xFF]"]
-210 -> 204 [label="[0-9][A-Q][S-Z][_][a-q][s-z]"]
-210 -> 233 [label="[R][r]"]
-211 -> 206 [label="[0x00][0x09-0x0A][0x0D][ -\"][&-)][;][=][^][|][~]"]
-211 -> 182 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#-%][*-/][:][<][>-@][[-0x5D][`][{][}][0x7F-0xFF]"]
-211 -> 204 [label="[0-9][A-D][F-Z][_][a-d][f-z]"]
-211 -> 234 [label="[E][e]"]
-212 -> 213 [label="[0x00][{]"]
-212 -> 181 [label="[0x01-[][0x5D-z][|-0xFF]"]
-212 -> 216 [label="[\\]"]
-213 -> 183 [label="yyaccept=0"]
-213 -> 186 [label="yyaccept=1"]
-213 -> 180 [label="yyaccept=2"]
-213 -> 200 [label="yyaccept=3"]
-213 -> 206 [label="yyaccept=4"]
-213 -> 228 [label="yyaccept=5"]
-213 -> 232 [label="yyaccept=6"]
-213 -> 249 [label="yyaccept=7"]
-214 -> 215
-215 -> 214 [label="[0x00-0x09][0x0B-0x0C][0x0E-0xFF]"]
-215 -> 223 [label="[0x0A]"]
-215 -> 225 [label="[0x0D]"]
-216 -> 181 [label="[0x00-#][%-0xFF]"]
-216 -> 235 [label="[$]"]
-217 -> 218
-218 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:449"]
-219 -> 220
-220 -> 219 [label="[0x00-&][(-0xFF]"]
-220 -> 237 [label="[']"]
-221 -> 222
-222 -> 200 [label="[0x00][0x09-0x0A][0x0D][ -\"][&-)][;][=][^][|][~]"]
-222 -> 181 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#][%][*-/][:][<][>-0x5D][_-{][}][0x7F-0xFF]"]
-222 -> 212 [label="[$]"]
-222 -> 221 [label="[0-9]"]
-223 -> 224
-224 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:637"]
-225 -> 224 [label="[0x00-0x09][0x0B-0xFF]"]
-225 -> 223 [label="[0x0A]"]
-226 -> 206 [label="[0x00][0x09-0x0A][0x0D][ -\"][&-)][;][=][^][|][~]"]
-226 -> 182 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#-%][*-/][:][<][>-@][[-0x5D][`][{][}][0x7F-0xFF]"]
-226 -> 204 [label="[0-9][A-K][M-Z][_][a-k][m-z]"]
-226 -> 239 [label="[L][l]"]
-227 -> 228 [label="[0x00][0x0A][0x0D][!-\"][&-)][;][=][^][|][~]"]
-227 -> 182 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#-%][*-/][:][<][>-@][[-0x5D][`][{][}][0x7F-0xFF]"]
-227 -> 240 [label="[0x09][ ]"]
-227 -> 204 [label="[0-9][A-M][O-Z][_][a-m][o-z]"]
-227 -> 242 [label="[N][n]"]
-228 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:473"]
-229 -> 206 [label="[0x00][0x09-0x0A][0x0D][ -\"][&-)][;][=][^][|][~]"]
-229 -> 182 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#-%][*-/][:][<][>-@][[-0x5D][`][{][}][0x7F-0xFF]"]
-229 -> 204 [label="[0-9][A-K][M-Z][_][a-k][m-z]"]
-229 -> 243 [label="[L][l]"]
-230 -> 206 [label="[0x00][0x09-0x0A][0x0D][ -\"][&-)][;][=][^][|][~]"]
-230 -> 182 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#-%][*-/][:][<][>-@][[-0x5D][`][{][}][0x7F-0xFF]"]
-230 -> 204 [label="[0-9][A-E][G-Z][_][a-e][g-z]"]
-230 -> 244 [label="[F][f]"]
-231 -> 232 [label="[0x00][0x0A][0x0D][!-\"][&-)][;][=][^][|][~]"]
-231 -> 182 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#-%][*-/][:][<][>-@][[-0x5D][`][{][}][0x7F-0xFF]"]
-231 -> 245 [label="[0x09][ ]"]
-231 -> 204 [label="[0-9][A-Z][_][a-z]"]
-232 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:469"]
-233 -> 206 [label="[0x00][0x09-0x0A][0x0D][ -\"][&-)][;][=][^][|][~]"]
-233 -> 182 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#-%][*-/][:][<][>-@][[-0x5D][`][{][}][0x7F-0xFF]"]
-233 -> 204 [label="[0-9][A-T][V-Z][_][a-t][v-z]"]
-233 -> 247 [label="[U][u]"]
-234 -> 206 [label="[0x00][0x09-0x0A][0x0D][ -\"][&-)][;][=][^][|][~]"]
-234 -> 182 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#-%][*-/][:][<][>-@][[-0x5D][`][{][}][0x7F-0xFF]"]
-234 -> 204 [label="[0-9][A-R][T-Z][_][a-r][t-z]"]
-234 -> 231 [label="[S][s]"]
+205 -> 203 [label="[0x00-0x08][0x0A-0x1F][!-0xFF]"]
+205 -> 204 [label="[0x09][ ]"]
+ST_SECTION_RAW -> 207
+207 -> 208 [label="[0x00-0x09][0x0B-0x0C][0x0E-\\][^-0xFF]"]
+207 -> 211 [label="[0x0A][0x0D]"]
+207 -> 213 [label="[0x5D]"]
+208 -> 209
+209 -> 208 [label="[0x00-0x09][0x0B-0x0C][0x0E-\\][^-0xFF]"]
+209 -> 210 [label="[0x0A][0x0D][0x5D]"]
+210 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:537"]
+211 -> 212
+212 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:648"]
+213 -> 214
+214 -> 215 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!-0xFF]"]
+214 -> 213 [label="[0x09][ ]"]
+214 -> 216 [label="[0x0A]"]
+214 -> 217 [label="[0x0D]"]
+215 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:425"]
+216 -> 215
+217 -> 215 [label="[0x00-0x09][0x0B-0xFF]"]
+217 -> 216 [label="[0x0A]"]
+ST_DOUBLE_QUOTES -> 219
+219 -> 220 [label="[0x00-!][#][%-0xFF]"]
+219 -> 222 [label="[\"]"]
+219 -> 225 [label="[$]"]
+220 -> 221
+221 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:587"]
+222 -> 223
+223 -> 224 [label="[0x00-0x08][0x0A-0x1F][!-0xFF]"]
+223 -> 222 [label="[0x09][ ]"]
+224 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:582"]
+225 -> 221 [label="[0x00-z][|-0xFF]"]
+225 -> 226 [label="[{]"]
+226 -> 227
+227 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:449"]
+ST_VARNAME -> 229
+229 -> 230 [label="[0x00-0x08][0x0B-0x0C][0x0E- ][#][%]['][*-:][<][>-Z][\\-0x5D][_-z][0x7F-0xFF]"]
+229 -> 233 [label="[0x09-0x0A][0x0D][!-\"][$][&][(-)][;][=][[][^][{-|][~]"]
+229 -> 235 [label="[}]"]
+230 -> 231
+231 -> 230 [label="[0x00-0x08][0x0B-0x0C][0x0E- ][#][%]['][*-:][<][>-Z][\\-0x5D][_-z][0x7F-0xFF]"]
+231 -> 232 [label="[0x09-0x0A][0x0D][!-\"][$][&][(-)][;][=][[][^][{-~]"]
+232 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:454"]
+233 -> 234
+234 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:648"]
235 -> 236
-236 -> 183 [label="[0x00]"]
-236 -> 181 [label="[0x01-#][%-[][0x5D-0xFF]"]
-236 -> 235 [label="[$]"]
-236 -> 216 [label="[\\]"]
-237 -> 238
-238 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:416"]
-239 -> 206 [label="[0x00][0x09-0x0A][0x0D][ -\"][&-)][;][=][^][|][~]"]
-239 -> 182 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#-%][*-/][:][<][>-@][[-0x5D][`][{][}][0x7F-0xFF]"]
-239 -> 204 [label="[0-9][A-R][T-Z][_][a-r][t-z]"]
-239 -> 242 [label="[S][s]"]
-240 -> 241
-241 -> 228 [label="[0x00-0x08][0x0A-0x1F][!-0xFF]"]
-241 -> 240 [label="[0x09][ ]"]
-242 -> 206 [label="[0x00][0x09-0x0A][0x0D][ -\"][&-)][;][=][^][|][~]"]
-242 -> 182 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#-%][*-/][:][<][>-@][[-0x5D][`][{][}][0x7F-0xFF]"]
-242 -> 204 [label="[0-9][A-D][F-Z][_][a-d][f-z]"]
-242 -> 244 [label="[E][e]"]
-243 -> 206 [label="[0x00][0x09-0x0A][0x0D][ -\"][&-)][;][=][^][|][~]"]
-243 -> 182 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#-%][*-/][:][<][>-@][[-0x5D][`][{][}][0x7F-0xFF]"]
-243 -> 204 [label="[0-9][A-K][M-Z][_][a-k][m-z]"]
-243 -> 248 [label="[L][l]"]
-244 -> 228 [label="[0x00][0x0A][0x0D][!-\"][&-)][;][=][^][|][~]"]
-244 -> 182 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#-%][*-/][:][<][>-@][[-0x5D][`][{][}][0x7F-0xFF]"]
-244 -> 240 [label="[0x09][ ]"]
-244 -> 204 [label="[0-9][A-Z][_][a-z]"]
-245 -> 246
-246 -> 232 [label="[0x00-0x08][0x0A-0x1F][!-0xFF]"]
-246 -> 245 [label="[0x09][ ]"]
-247 -> 206 [label="[0x00][0x09-0x0A][0x0D][ -\"][&-)][;][=][^][|][~]"]
-247 -> 182 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#-%][*-/][:][<][>-@][[-0x5D][`][{][}][0x7F-0xFF]"]
-247 -> 204 [label="[0-9][A-D][F-Z][_][a-d][f-z]"]
-247 -> 231 [label="[E][e]"]
-248 -> 249 [label="[0x00][0x0A][0x0D][!-\"][&-)][;][=][^][|][~]"]
-248 -> 182 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][#-%][*-/][:][<][>-@][[-0x5D][`][{][}][0x7F-0xFF]"]
-248 -> 250 [label="[0x09][ ]"]
-248 -> 204 [label="[0-9][A-Z][_][a-z]"]
-249 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:477"]
-250 -> 251
-251 -> 249 [label="[0x00-0x08][0x0A-0x1F][!-0xFF]"]
-251 -> 250 [label="[0x09][ ]"]
-/* *********************************** */
-ST_VARNAME -> 253
-253 -> 254 [label="[0x00-0x08][0x0B-0x0C][0x0E- ][#][%]['][*-:][<][>-Z][\\-0x5D][_-z][0x7F-0xFF]"]
-253 -> 257 [label="[0x09-0x0A][0x0D][!-\"][$][&][(-)][;][=][[][^][{-|][~]"]
-253 -> 259 [label="[}]"]
-254 -> 255
-255 -> 254 [label="[0x00-0x08][0x0B-0x0C][0x0E- ][#][%]['][*-:][<][>-Z][\\-0x5D][_-z][0x7F-0xFF]"]
-255 -> 256 [label="[0x09-0x0A][0x0D][!-\"][$][&][(-)][;][=][[][^][{-~]"]
-256 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:454"]
-257 -> 258
-258 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:648"]
-259 -> 260
-260 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:464"]
+236 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:464"]
+ST_RAW -> 238
+238 -> 241 [label="[0x01-0x08][0x0B-0x0C][0x0E-0x1F][!-:][<-0xFF]"]
+238 -> 239 [label="[0x00]"]
+238 -> 243 [label="[0x09][ ]"]
+238 -> 244 [label="[0x0A]"]
+238 -> 246 [label="[0x0D]"]
+238 -> 247 [label="[;]"]
+239 -> 240
+240 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:643"]
+241 -> 242
+242 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:500"]
+243 -> 242 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!-:][<-0xFF]"]
+243 -> 250 [label="[0x09-0x0A][0x0D][ ][;]"]
+244 -> 245
+245 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:541"]
+246 -> 245 [label="[0x00-0x09][0x0B-0xFF]"]
+246 -> 244 [label="[0x0A]"]
+247 -> 248
+248 -> 247 [label="[0x00-0x09][0x0B-0x0C][0x0E-0xFF]"]
+248 -> 252 [label="[0x0A]"]
+248 -> 254 [label="[0x0D]"]
+249 -> 250
+250 -> 251 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!-:][<-0xFF]"]
+250 -> 249 [label="[0x09][ ]"]
+250 -> 244 [label="[0x0A]"]
+250 -> 246 [label="[0x0D]"]
+250 -> 247 [label="[;]"]
+251 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:627"]
+252 -> 253
+253 [label="php20150211_zend_ini_scanner.c--emit-dot--flex-syntax--case-inverted.re:637"]
+254 -> 253 [label="[0x00-0x09][0x0B-0xFF]"]
+254 -> 252 [label="[0x0A]"]
}
re2c: warning: line 384: column 13: escape has no effect: '\.' [-Wuseless-escape]
re2c: warning: line 384: column 32: escape has no effect: '\.' [-Wuseless-escape]
re2c: warning: line 391: column 27: escape has no effect: '\[' [-Wuseless-escape]
re2c: warning: line 392: column 11: escape has no effect: '\[' [-Wuseless-escape]
-re2c: warning: line 648: unreachable rule in condition 'ST_DOUBLE_QUOTES' (shadowed by rules at lines 582, 587) [-Wunreachable-rules]
+re2c: warning: line 648: unreachable rule in condition 'INITIAL' (shadowed by rules at lines 406, 481, 491, 555, 627, 632, 637) [-Wunreachable-rules]
re2c: warning: line 623: unreachable rule in condition 'ST_OFFSET' (shadowed by rule at line 573) [-Wunreachable-rules]
-re2c: warning: line 648: unreachable rule in condition 'ST_RAW' (shadowed by rules at lines 500, 541, 643) [-Wunreachable-rules]
re2c: warning: line 623: unreachable rule in condition 'ST_SECTION_VALUE' (shadowed by rule at line 573) [-Wunreachable-rules]
re2c: warning: line 648: unreachable rule in condition 'ST_VALUE' (shadowed by rules at lines 541, 547, 551, 559, 563, 569, 577, 623, 643) [-Wunreachable-rules]
+re2c: warning: line 648: unreachable rule in condition 'ST_DOUBLE_QUOTES' (shadowed by rules at lines 582, 587) [-Wunreachable-rules]
+re2c: warning: line 648: unreachable rule in condition 'ST_RAW' (shadowed by rules at lines 500, 541, 643) [-Wunreachable-rules]
diff --git a/test/php20150211_zend_ini_scanner.igcd--flex-syntax--case-inverted.c b/test/php20150211_zend_ini_scanner.igcd--flex-syntax--case-inverted.c
index 51aa1a8d..d76038f9 100644
--- a/test/php20150211_zend_ini_scanner.igcd--flex-syntax--case-inverted.c
+++ b/test/php20150211_zend_ini_scanner.igcd--flex-syntax--case-inverted.c
@@ -68,6 +68,7 @@
/* perform sanity check. If this message is triggered you should
increase the ZEND_MMAP_AHEAD value in the zend_streams.h file */
#define YYMAXFILL 6
+
#if ZEND_MMAP_AHEAD < (YYMAXFILL + 1)
# error ZEND_MMAP_AHEAD should be greater than YYMAXFILL
#endif
@@ -542,7 +543,7 @@ yy6:
&&yy6, &&yy8, &&yy8, &&yy8, &&yy8, &&yy8, &&yy8, &&yy8,
&&yy8, &&yy8, &&yy8, &&yy8, &&yy8, &&yy8, &&yy8, &&yy8,
&&yy8, &&yy8, &&yy8, &&yy8, &&yy8, &&yy8, &&yy8, &&yy8,
- &&yy8, &&yy8, &&yy8, &&yy31, &&yy8, &&yy18, &&yy8, &&yy8,
+ &&yy8, &&yy8, &&yy8, &&yy16, &&yy8, &&yy18, &&yy8, &&yy8,
&&yy8, &&yy8, &&yy8, &&yy8, &&yy8, &&yy8, &&yy8, &&yy8,
&&yy8, &&yy8, &&yy8, &&yy8, &&yy8, &&yy8, &&yy8, &&yy8,
&&yy8, &&yy8, &&yy8, &&yy8, &&yy8, &&yy8, &&yy8, &&yy8,
@@ -607,7 +608,7 @@ yy12:
&&yy12, &&yy5, &&yy5, &&yy3, &&yy5, &&yy3, &&yy5, &&yy3,
&&yy5, &&yy5, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy31, &&yy3, &&yy18, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy16, &&yy3, &&yy18, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
@@ -646,13 +647,14 @@ yy14:
yy16:
YYDEBUG(16, *YYCURSOR);
++YYCURSOR;
+ YYFILL(2);
yych = *YYCURSOR;
- goto yy32;
YYDEBUG(17, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return 0;
-}
+ if (yybm[0+yych] & 128) {
+ goto yy16;
+ }
+ if (yych <= '\n') goto yy31;
+ goto yy33;
yy18:
YYDEBUG(18, *YYCURSOR);
++YYCURSOR;
@@ -674,8 +676,8 @@ yy18:
yy21:
YYDEBUG(21, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy36;
- if (yych == 'a') goto yy36;
+ if (yych == 'A') goto yy34;
+ if (yych == 'a') goto yy34;
goto yy4;
yy22:
YYDEBUG(22, *YYCURSOR);
@@ -691,12 +693,12 @@ yy22:
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy37,
- &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy39, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy35,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy37, &&yy4, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy37,
- &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy39, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy35,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy37, &&yy4, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
@@ -730,12 +732,12 @@ yy23:
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy40, &&yy4,
- &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy41, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy38, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy39, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy40, &&yy4,
- &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy41, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy38, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy39, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
@@ -760,14 +762,14 @@ yy23:
yy24:
YYDEBUG(24, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'R') goto yy44;
- if (yych == 'r') goto yy44;
+ if (yych == 'R') goto yy42;
+ if (yych == 'r') goto yy42;
goto yy4;
yy25:
YYDEBUG(25, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy45;
- if (yych == 'e') goto yy45;
+ if (yych == 'E') goto yy43;
+ if (yych == 'e') goto yy43;
goto yy4;
yy26:
YYDEBUG(26, *YYCURSOR);
@@ -808,57 +810,46 @@ yy28:
yy31:
YYDEBUG(31, *YYCURSOR);
++YYCURSOR;
- YYFILL(2);
- yych = *YYCURSOR;
yy32:
YYDEBUG(32, *YYCURSOR);
- if (yybm[0+yych] & 128) {
- goto yy31;
- }
- if (yych >= '\v') goto yy35;
-yy33:
- YYDEBUG(33, *YYCURSOR);
- ++YYCURSOR;
-yy34:
- YYDEBUG(34, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{ /* Comment */
BEGIN(INITIAL);
SCNG(lineno)++;
return END_OF_LINE;
}
-yy35:
- YYDEBUG(35, *YYCURSOR);
+yy33:
+ YYDEBUG(33, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '\n') goto yy33;
- goto yy34;
-yy36:
- YYDEBUG(36, *YYCURSOR);
+ if (yych == '\n') goto yy31;
+ goto yy32;
+yy34:
+ YYDEBUG(34, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'L') goto yy46;
- if (yych == 'l') goto yy46;
+ if (yych == 'L') goto yy44;
+ if (yych == 'l') goto yy44;
goto yy4;
-yy37:
- YYDEBUG(37, *YYCURSOR);
- ++YYCURSOR;
+yy35:
+ YYDEBUG(35, *YYCURSOR);
+ yych = *++YYCURSOR;
{
static void *yytarget[256] = {
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy4, &&yy47, &&yy38, &&yy4, &&yy4, &&yy38, &&yy4, &&yy4,
+ &&yy4, &&yy45, &&yy36, &&yy4, &&yy4, &&yy36, &&yy4, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy49, &&yy38, &&yy38, &&yy4, &&yy38, &&yy4, &&yy38, &&yy4,
- &&yy38, &&yy38, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy47, &&yy36, &&yy36, &&yy4, &&yy36, &&yy4, &&yy36, &&yy4,
+ &&yy36, &&yy36, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy4, &&yy4, &&yy4, &&yy38, &&yy4, &&yy38, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy36, &&yy4, &&yy36, &&yy4, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy51, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy49, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy38, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy36, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy51, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy49, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy4, &&yy4, &&yy4, &&yy38, &&yy38, &&yy38, &&yy38, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy36, &&yy36, &&yy36, &&yy36, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
@@ -876,50 +867,50 @@ yy37:
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4
};
- goto *yytarget[(yych = *YYCURSOR)];
+ goto *yytarget[yych];
}
-yy38:
- YYDEBUG(38, *YYCURSOR);
+yy36:
+ YYDEBUG(36, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{ /* FALSE value (when used outside option value/offset this causes parse error!)*/
RETURN_TOKEN(BOOL_FALSE, "", 0);
}
-yy39:
- YYDEBUG(39, *YYCURSOR);
+yy37:
+ YYDEBUG(37, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'L') goto yy52;
- if (yych == 'l') goto yy52;
+ if (yych == 'L') goto yy50;
+ if (yych == 'l') goto yy50;
goto yy4;
-yy40:
- YYDEBUG(40, *YYCURSOR);
+yy38:
+ YYDEBUG(38, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'F') goto yy49;
- if (yych == 'f') goto yy49;
+ if (yych == 'F') goto yy47;
+ if (yych == 'f') goto yy47;
goto yy4;
-yy41:
- YYDEBUG(41, *YYCURSOR);
+yy39:
+ YYDEBUG(39, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(42, *YYCURSOR);
+ YYDEBUG(40, *YYCURSOR);
{
static void *yytarget[256] = {
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy53, &&yy43, &&yy3, &&yy3, &&yy43, &&yy3, &&yy3,
+ &&yy3, &&yy51, &&yy41, &&yy3, &&yy3, &&yy41, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy41, &&yy43, &&yy43, &&yy3, &&yy43, &&yy3, &&yy43, &&yy3,
- &&yy43, &&yy43, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy39, &&yy41, &&yy41, &&yy3, &&yy41, &&yy3, &&yy41, &&yy3,
+ &&yy41, &&yy41, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy43, &&yy3, &&yy43, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy41, &&yy3, &&yy41, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy28, &&yy3, &&yy3, &&yy43, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy28, &&yy3, &&yy3, &&yy41, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy43, &&yy43, &&yy43, &&yy43, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy41, &&yy41, &&yy41, &&yy41, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
@@ -939,63 +930,63 @@ yy41:
};
goto *yytarget[yych];
}
-yy43:
- YYDEBUG(43, *YYCURSOR);
+yy41:
+ YYDEBUG(41, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{ /* TRUE value (when used outside option value/offset this causes parse error!) */
RETURN_TOKEN(BOOL_TRUE, "1", 1);
}
+yy42:
+ YYDEBUG(42, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'U') goto yy53;
+ if (yych == 'u') goto yy53;
+ goto yy4;
+yy43:
+ YYDEBUG(43, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'S') goto yy39;
+ if (yych == 's') goto yy39;
+ goto yy4;
yy44:
YYDEBUG(44, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'U') goto yy55;
- if (yych == 'u') goto yy55;
+ if (yych == 'S') goto yy49;
+ if (yych == 's') goto yy49;
goto yy4;
yy45:
YYDEBUG(45, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'S') goto yy41;
- if (yych == 's') goto yy41;
- goto yy4;
-yy46:
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
YYDEBUG(46, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'S') goto yy51;
- if (yych == 's') goto yy51;
- goto yy4;
+ if (yych == '\t') goto yy45;
+ if (yych == ' ') goto yy45;
+ goto yy36;
yy47:
YYDEBUG(47, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
YYDEBUG(48, *YYCURSOR);
- if (yych == '\t') goto yy47;
- if (yych == ' ') goto yy47;
- goto yy38;
-yy49:
- YYDEBUG(49, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(50, *YYCURSOR);
{
static void *yytarget[256] = {
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy47, &&yy38, &&yy3, &&yy3, &&yy38, &&yy3, &&yy3,
+ &&yy3, &&yy45, &&yy36, &&yy3, &&yy3, &&yy36, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy49, &&yy38, &&yy38, &&yy3, &&yy38, &&yy3, &&yy38, &&yy3,
- &&yy38, &&yy38, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy47, &&yy36, &&yy36, &&yy3, &&yy36, &&yy3, &&yy36, &&yy3,
+ &&yy36, &&yy36, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy38, &&yy3, &&yy38, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy36, &&yy3, &&yy36, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy28, &&yy3, &&yy3, &&yy38, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy28, &&yy3, &&yy3, &&yy36, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy38, &&yy38, &&yy38, &&yy38, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy36, &&yy36, &&yy36, &&yy36, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
@@ -1015,57 +1006,57 @@ yy49:
};
goto *yytarget[yych];
}
-yy51:
- YYDEBUG(51, *YYCURSOR);
+yy49:
+ YYDEBUG(49, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy49;
- if (yych == 'e') goto yy49;
+ if (yych == 'E') goto yy47;
+ if (yych == 'e') goto yy47;
goto yy4;
-yy52:
- YYDEBUG(52, *YYCURSOR);
+yy50:
+ YYDEBUG(50, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'L') goto yy56;
- if (yych == 'l') goto yy56;
+ if (yych == 'L') goto yy54;
+ if (yych == 'l') goto yy54;
goto yy4;
-yy53:
- YYDEBUG(53, *YYCURSOR);
+yy51:
+ YYDEBUG(51, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(54, *YYCURSOR);
- if (yych == '\t') goto yy53;
- if (yych == ' ') goto yy53;
- goto yy43;
-yy55:
- YYDEBUG(55, *YYCURSOR);
+ YYDEBUG(52, *YYCURSOR);
+ if (yych == '\t') goto yy51;
+ if (yych == ' ') goto yy51;
+ goto yy41;
+yy53:
+ YYDEBUG(53, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy41;
- if (yych == 'e') goto yy41;
+ if (yych == 'E') goto yy39;
+ if (yych == 'e') goto yy39;
goto yy4;
-yy56:
- YYDEBUG(56, *YYCURSOR);
+yy54:
+ YYDEBUG(54, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(57, *YYCURSOR);
+ YYDEBUG(55, *YYCURSOR);
{
static void *yytarget[256] = {
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy59, &&yy58, &&yy3, &&yy3, &&yy58, &&yy3, &&yy3,
+ &&yy3, &&yy57, &&yy56, &&yy3, &&yy3, &&yy56, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy56, &&yy58, &&yy58, &&yy3, &&yy58, &&yy3, &&yy58, &&yy3,
- &&yy58, &&yy58, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy54, &&yy56, &&yy56, &&yy3, &&yy56, &&yy3, &&yy56, &&yy3,
+ &&yy56, &&yy56, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy58, &&yy3, &&yy58, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy56, &&yy3, &&yy56, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy28, &&yy3, &&yy3, &&yy58, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy28, &&yy3, &&yy3, &&yy56, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy58, &&yy58, &&yy58, &&yy58, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy56, &&yy56, &&yy56, &&yy56, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
@@ -1085,131 +1076,21 @@ yy56:
};
goto *yytarget[yych];
}
-yy58:
- YYDEBUG(58, *YYCURSOR);
+yy56:
+ YYDEBUG(56, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
RETURN_TOKEN(NULL_NULL, "", 0);
}
-yy59:
- YYDEBUG(59, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(60, *YYCURSOR);
- if (yych == '\t') goto yy59;
- if (yych == ' ') goto yy59;
- goto yy58;
- }
-/* *********************************** */
-yyc_ST_DOUBLE_QUOTES:
- {
- static const unsigned char yybm[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 128, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 128, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- };
- YYDEBUG(61, *YYCURSOR);
- YYFILL(2);
- yych = *YYCURSOR;
- if (yych == '"') goto yy65;
- if (yych == '$') goto yy68;
- YYDEBUG(63, *YYCURSOR);
- ++YYCURSOR;
-yy64:
- YYDEBUG(64, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- { /* Escape double quoted string contents */
- if (YYCURSOR > YYLIMIT) {
- return 0;
- }
-
- while (YYCURSOR < YYLIMIT) {
- switch (*YYCURSOR++) {
- case '"':
- if (YYCURSOR < YYLIMIT && YYCURSOR[-2] == '\\' && *YYCURSOR != '\r' && *YYCURSOR != '\n') {
- continue;
- }
- break;
- case '$':
- if (*YYCURSOR == '{') {
- break;
- }
- continue;
- case '\\':
- if (YYCURSOR < YYLIMIT && *YYCURSOR != '"') {
- YYCURSOR++;
- }
- /* fall through */
- default:
- continue;
- }
-
- YYCURSOR--;
- break;
- }
-
- yyleng = YYCURSOR - SCNG(yy_text);
-
- zend_ini_escape_string(ini_lval, yytext, yyleng, '"');
- return TC_QUOTED_STRING;
-}
-yy65:
- YYDEBUG(65, *YYCURSOR);
+yy57:
+ YYDEBUG(57, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(66, *YYCURSOR);
- if (yybm[0+yych] & 128) {
- goto yy65;
- }
- YYDEBUG(67, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- { /* Double quoted '"' string ends */
- yy_pop_state();
- return '"';
-}
-yy68:
- YYDEBUG(68, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych != '{') goto yy64;
- YYDEBUG(69, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(70, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- { /* Variable start */
- yy_push_state(ST_VARNAME);
- return TC_DOLLAR_CURLY;
-}
+ YYDEBUG(58, *YYCURSOR);
+ if (yych == '\t') goto yy57;
+ if (yych == ' ') goto yy57;
+ goto yy56;
}
/* *********************************** */
yyc_ST_OFFSET:
@@ -1248,379 +1129,370 @@ yyc_ST_OFFSET:
132, 132, 132, 132, 132, 132, 132, 132,
132, 132, 132, 132, 132, 132, 132, 132,
};
- YYDEBUG(71, *YYCURSOR);
+ YYDEBUG(59, *YYCURSOR);
YYFILL(2);
yych = *YYCURSOR;
{
static void *yytarget[256] = {
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy76, &&yy78, &&yy73, &&yy73, &&yy78, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy76, &&yy73, &&yy80, &&yy73, &&yy82, &&yy73, &&yy73, &&yy83,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy84, &&yy84, &&yy73,
- &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
- &&yy85, &&yy85, &&yy73, &&yy78, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88,
- &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88,
- &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88,
- &&yy88, &&yy88, &&yy88, &&yy73, &&yy91, &&yy92, &&yy73, &&yy88,
- &&yy73, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88,
- &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88,
- &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88,
- &&yy88, &&yy88, &&yy88, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy64, &&yy66, &&yy61, &&yy61, &&yy66, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy64, &&yy61, &&yy68, &&yy61, &&yy70, &&yy61, &&yy61, &&yy71,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy72, &&yy72, &&yy61,
+ &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
+ &&yy73, &&yy73, &&yy61, &&yy66, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy76, &&yy76, &&yy76, &&yy76, &&yy76, &&yy76, &&yy76,
+ &&yy76, &&yy76, &&yy76, &&yy76, &&yy76, &&yy76, &&yy76, &&yy76,
+ &&yy76, &&yy76, &&yy76, &&yy76, &&yy76, &&yy76, &&yy76, &&yy76,
+ &&yy76, &&yy76, &&yy76, &&yy61, &&yy79, &&yy80, &&yy61, &&yy76,
+ &&yy61, &&yy76, &&yy76, &&yy76, &&yy76, &&yy76, &&yy76, &&yy76,
+ &&yy76, &&yy76, &&yy76, &&yy76, &&yy76, &&yy76, &&yy76, &&yy76,
+ &&yy76, &&yy76, &&yy76, &&yy76, &&yy76, &&yy76, &&yy76, &&yy76,
+ &&yy76, &&yy76, &&yy76, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61
};
goto *yytarget[yych];
}
-yy73:
- YYDEBUG(73, *YYCURSOR);
+yy61:
+ YYDEBUG(61, *YYCURSOR);
yyaccept = 0;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
-yy74:
- YYDEBUG(74, *YYCURSOR);
+yy62:
+ YYDEBUG(62, *YYCURSOR);
if (yybm[0+yych] & 4) {
- goto yy73;
+ goto yy61;
}
- if (yych <= '"') goto yy75;
- if (yych <= '$') goto yy94;
- if (yych <= ';') goto yy75;
- if (yych <= '\\') goto yy96;
-yy75:
- YYDEBUG(75, *YYCURSOR);
+ if (yych <= '"') goto yy63;
+ if (yych <= '$') goto yy82;
+ if (yych <= ';') goto yy63;
+ if (yych <= '\\') goto yy79;
+yy63:
+ YYDEBUG(63, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{ /* Get rest as section/offset value */
RETURN_TOKEN(TC_STRING, yytext, yyleng);
}
-yy76:
- YYDEBUG(76, *YYCURSOR);
+yy64:
+ YYDEBUG(64, *YYCURSOR);
yyaccept = 0;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(77, *YYCURSOR);
+ YYDEBUG(65, *YYCURSOR);
{
static void *yytarget[256] = {
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy76, &&yy75, &&yy73, &&yy73, &&yy75, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy76, &&yy73, &&yy80, &&yy73, &&yy94, &&yy73, &&yy73, &&yy75,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy75, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy96, &&yy92, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy64, &&yy63, &&yy61, &&yy61, &&yy63, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy64, &&yy61, &&yy68, &&yy61, &&yy82, &&yy61, &&yy61, &&yy63,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy63, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy79, &&yy80, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61
};
goto *yytarget[yych];
}
-yy78:
- YYDEBUG(78, *YYCURSOR);
+yy66:
+ YYDEBUG(66, *YYCURSOR);
++YYCURSOR;
-yy79:
- YYDEBUG(79, *YYCURSOR);
+yy67:
+ YYDEBUG(67, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return 0;
}
-yy80:
- YYDEBUG(80, *YYCURSOR);
+yy68:
+ YYDEBUG(68, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(81, *YYCURSOR);
+ YYDEBUG(69, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{ /* Double quoted '"' string start */
yy_push_state(ST_DOUBLE_QUOTES);
return '"';
}
-yy82:
- YYDEBUG(82, *YYCURSOR);
+yy70:
+ YYDEBUG(70, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= '\\') {
- if (yych <= 0x00) goto yy79;
- if (yych <= '[') goto yy73;
- goto yy97;
+ if (yych <= 0x00) goto yy67;
+ if (yych <= '[') goto yy61;
+ goto yy84;
} else {
- if (yych == '{') goto yy99;
- goto yy73;
+ if (yych == '{') goto yy86;
+ goto yy61;
}
-yy83:
- YYDEBUG(83, *YYCURSOR);
- yyaccept = 1;
- yych = *(YYMARKER = ++YYCURSOR);
+yy71:
+ YYDEBUG(71, *YYCURSOR);
+ yych = *++YYCURSOR;
if (yybm[0+yych] & 128) {
- goto yy101;
+ goto yy88;
}
- goto yy79;
-yy84:
- YYDEBUG(84, *YYCURSOR);
+ goto yy67;
+yy72:
+ YYDEBUG(72, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') goto yy74;
- if (yych <= '9') goto yy103;
- goto yy74;
-yy85:
- YYDEBUG(85, *YYCURSOR);
- yyaccept = 2;
+ if (yych <= '/') goto yy62;
+ if (yych <= '9') goto yy90;
+ goto yy62;
+yy73:
+ YYDEBUG(73, *YYCURSOR);
+ yyaccept = 1;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(86, *YYCURSOR);
+ YYDEBUG(74, *YYCURSOR);
{
static void *yytarget[256] = {
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy87, &&yy73, &&yy73, &&yy87, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy87, &&yy73, &&yy94, &&yy73, &&yy73, &&yy87,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy103, &&yy73,
- &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85, &&yy85,
- &&yy85, &&yy85, &&yy73, &&yy87, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy96, &&yy87, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy75, &&yy61, &&yy61, &&yy75, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy75, &&yy61, &&yy82, &&yy61, &&yy61, &&yy75,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy90, &&yy61,
+ &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
+ &&yy73, &&yy73, &&yy61, &&yy75, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy79, &&yy75, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61
};
goto *yytarget[yych];
}
-yy87:
- YYDEBUG(87, *YYCURSOR);
+yy75:
+ YYDEBUG(75, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{ /* Get number option value as string */
RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
}
-yy88:
- YYDEBUG(88, *YYCURSOR);
- yyaccept = 3;
+yy76:
+ YYDEBUG(76, *YYCURSOR);
+ yyaccept = 2;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(89, *YYCURSOR);
+ YYDEBUG(77, *YYCURSOR);
{
static void *yytarget[256] = {
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy90, &&yy73, &&yy73, &&yy90, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy90, &&yy73, &&yy94, &&yy73, &&yy73, &&yy90,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88,
- &&yy88, &&yy88, &&yy73, &&yy90, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88,
- &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88,
- &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88,
- &&yy88, &&yy88, &&yy88, &&yy73, &&yy96, &&yy90, &&yy73, &&yy88,
- &&yy73, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88,
- &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88,
- &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88, &&yy88,
- &&yy88, &&yy88, &&yy88, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy78, &&yy61, &&yy61, &&yy78, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy78, &&yy61, &&yy82, &&yy61, &&yy61, &&yy78,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy76, &&yy76, &&yy76, &&yy76, &&yy76, &&yy76, &&yy76, &&yy76,
+ &&yy76, &&yy76, &&yy61, &&yy78, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy76, &&yy76, &&yy76, &&yy76, &&yy76, &&yy76, &&yy76,
+ &&yy76, &&yy76, &&yy76, &&yy76, &&yy76, &&yy76, &&yy76, &&yy76,
+ &&yy76, &&yy76, &&yy76, &&yy76, &&yy76, &&yy76, &&yy76, &&yy76,
+ &&yy76, &&yy76, &&yy76, &&yy61, &&yy79, &&yy78, &&yy61, &&yy76,
+ &&yy61, &&yy76, &&yy76, &&yy76, &&yy76, &&yy76, &&yy76, &&yy76,
+ &&yy76, &&yy76, &&yy76, &&yy76, &&yy76, &&yy76, &&yy76, &&yy76,
+ &&yy76, &&yy76, &&yy76, &&yy76, &&yy76, &&yy76, &&yy76, &&yy76,
+ &&yy76, &&yy76, &&yy76, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61
};
goto *yytarget[yych];
}
-yy90:
- YYDEBUG(90, *YYCURSOR);
+yy78:
+ YYDEBUG(78, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{ /* Get constant option value */
RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
}
-yy91:
- YYDEBUG(91, *YYCURSOR);
- yych = *++YYCURSOR;
- goto yy73;
-yy92:
- YYDEBUG(92, *YYCURSOR);
+yy79:
+ YYDEBUG(79, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(93, *YYCURSOR);
+ YYFILL(1);
+ yych = *YYCURSOR;
+ goto yy61;
+yy80:
+ YYDEBUG(80, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(81, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{ /* End of section or an option offset */
BEGIN(INITIAL);
return ']';
}
-yy94:
- YYDEBUG(94, *YYCURSOR);
+yy82:
+ YYDEBUG(82, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
if (yych <= '\\') {
- if (yych <= 0x00) goto yy95;
- if (yych <= '[') goto yy73;
- goto yy97;
+ if (yych <= 0x00) goto yy83;
+ if (yych <= '[') goto yy61;
+ goto yy84;
} else {
- if (yych != '{') goto yy73;
+ if (yych != '{') goto yy61;
}
-yy95:
- YYDEBUG(95, *YYCURSOR);
+yy83:
+ YYDEBUG(83, *YYCURSOR);
YYCURSOR = YYMARKER;
if (yyaccept <= 1) {
if (yyaccept == 0) {
- goto yy75;
+ goto yy63;
} else {
- goto yy79;
+ goto yy75;
}
} else {
- if (yyaccept == 2) {
- goto yy87;
- } else {
- goto yy90;
- }
+ goto yy78;
}
-yy96:
- YYDEBUG(96, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- goto yy73;
-yy97:
- YYDEBUG(97, *YYCURSOR);
+yy84:
+ YYDEBUG(84, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(98, *YYCURSOR);
+ YYDEBUG(85, *YYCURSOR);
if (yybm[0+yych] & 64) {
- goto yy97;
+ goto yy84;
}
- goto yy73;
-yy99:
- YYDEBUG(99, *YYCURSOR);
+ goto yy61;
+yy86:
+ YYDEBUG(86, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(100, *YYCURSOR);
+ YYDEBUG(87, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{ /* Variable start */
yy_push_state(ST_VARNAME);
return TC_DOLLAR_CURLY;
}
-yy101:
- YYDEBUG(101, *YYCURSOR);
+yy88:
+ YYDEBUG(88, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(102, *YYCURSOR);
+ YYDEBUG(89, *YYCURSOR);
if (yybm[0+yych] & 128) {
- goto yy101;
+ goto yy88;
}
- goto yy105;
-yy103:
- YYDEBUG(103, *YYCURSOR);
- yyaccept = 2;
+ goto yy92;
+yy90:
+ YYDEBUG(90, *YYCURSOR);
+ yyaccept = 1;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(104, *YYCURSOR);
+ YYDEBUG(91, *YYCURSOR);
{
static void *yytarget[256] = {
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy87, &&yy73, &&yy73, &&yy87, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy87, &&yy73, &&yy94, &&yy73, &&yy73, &&yy87,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy103, &&yy103, &&yy103, &&yy103, &&yy103, &&yy103, &&yy103, &&yy103,
- &&yy103, &&yy103, &&yy73, &&yy87, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy96, &&yy87, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
- &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy75, &&yy61, &&yy61, &&yy75, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy75, &&yy61, &&yy82, &&yy61, &&yy61, &&yy75,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy90, &&yy90, &&yy90, &&yy90, &&yy90, &&yy90, &&yy90, &&yy90,
+ &&yy90, &&yy90, &&yy61, &&yy75, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy79, &&yy75, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61,
+ &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61, &&yy61
};
goto *yytarget[yych];
}
-yy105:
- YYDEBUG(105, *YYCURSOR);
+yy92:
+ YYDEBUG(92, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(106, *YYCURSOR);
+ YYDEBUG(93, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{ /* Raw string */
/* Eat leading and trailing single quotes */
@@ -1632,343 +1504,6 @@ yy105:
}
}
/* *********************************** */
-yyc_ST_RAW:
- {
- static const unsigned char yybm[] = {
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 192, 0, 128, 128, 0, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 192, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- };
- YYDEBUG(107, *YYCURSOR);
- YYFILL(3);
- yych = *YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy109, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy113, &&yy114, &&yy111, &&yy111, &&yy116, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy113, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy117, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111
- };
- goto *yytarget[yych];
- }
-yy109:
- YYDEBUG(109, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(110, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- { /* End of option value (if EOF is reached before EOL */
- BEGIN(INITIAL);
- return END_OF_LINE;
-}
-yy111:
- YYDEBUG(111, *YYCURSOR);
- ++YYCURSOR;
-yy112:
- YYDEBUG(112, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */
- unsigned char *sc = NULL;
- while (YYCURSOR < YYLIMIT) {
- switch (*YYCURSOR) {
- case '\n':
- case '\r':
- goto end_raw_value_chars;
- break;
- case ';':
- if (sc == NULL) {
- sc = YYCURSOR;
- }
- /* no break */
- default:
- YYCURSOR++;
- break;
- }
- }
-end_raw_value_chars:
- yyleng = YYCURSOR - SCNG(yy_text);
-
- /* Eat trailing semicolons */
- while (yytext[yyleng - 1] == ';') {
- yyleng--;
- }
-
- /* Eat leading and trailing double quotes */
- if (yytext[0] == '"' && yytext[yyleng - 1] == '"') {
- SCNG(yy_text)++;
- yyleng = yyleng - 2;
- } else if (sc) {
- YYCURSOR = sc;
- yyleng = YYCURSOR - SCNG(yy_text);
- }
- RETURN_TOKEN(TC_RAW, yytext, yyleng);
-}
-yy113:
- YYDEBUG(113, *YYCURSOR);
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy119, &&yy119, &&yy112, &&yy112, &&yy119, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy119, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy119, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112
- };
- goto *yytarget[yych];
- }
-yy114:
- YYDEBUG(114, *YYCURSOR);
- ++YYCURSOR;
-yy115:
- YYDEBUG(115, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- { /* End of option value */
- BEGIN(INITIAL);
- SCNG(lineno)++;
- return END_OF_LINE;
-}
-yy116:
- YYDEBUG(116, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '\n') goto yy114;
- goto yy115;
-yy117:
- YYDEBUG(117, *YYCURSOR);
- yych = *++YYCURSOR;
- goto yy122;
-yy118:
- YYDEBUG(118, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(2);
- yych = *YYCURSOR;
-yy119:
- YYDEBUG(119, *YYCURSOR);
- if (yybm[0+yych] & 64) {
- goto yy118;
- }
- if (yych <= '\f') {
- if (yych <= 0x08) goto yy120;
- if (yych <= '\n') goto yy114;
- } else {
- if (yych <= '\r') goto yy116;
- if (yych == ';') goto yy121;
- }
-yy120:
- YYDEBUG(120, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- /* eat whitespace */
- goto restart;
-}
-yy121:
- YYDEBUG(121, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(2);
- yych = *YYCURSOR;
-yy122:
- YYDEBUG(122, *YYCURSOR);
- if (yybm[0+yych] & 128) {
- goto yy121;
- }
- if (yych >= '\v') goto yy125;
-yy123:
- YYDEBUG(123, *YYCURSOR);
- ++YYCURSOR;
-yy124:
- YYDEBUG(124, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- { /* Comment */
- BEGIN(INITIAL);
- SCNG(lineno)++;
- return END_OF_LINE;
-}
-yy125:
- YYDEBUG(125, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '\n') goto yy123;
- goto yy124;
- }
-/* *********************************** */
-yyc_ST_SECTION_RAW:
- {
- static const unsigned char yybm[] = {
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 192, 0, 64, 64, 0, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 192, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 0, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- };
- YYDEBUG(126, *YYCURSOR);
- YYFILL(1);
- yych = *YYCURSOR;
- if (yybm[0+yych] & 64) {
- goto yy128;
- }
- if (yych <= '\r') goto yy131;
- goto yy133;
-yy128:
- YYDEBUG(128, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(129, *YYCURSOR);
- if (yybm[0+yych] & 64) {
- goto yy128;
- }
- YYDEBUG(130, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */
- RETURN_TOKEN(TC_RAW, yytext, yyleng);
-}
-yy131:
- YYDEBUG(131, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(132, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return 0;
-}
-yy133:
- YYDEBUG(133, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(2);
- yych = *YYCURSOR;
- YYDEBUG(134, *YYCURSOR);
- if (yybm[0+yych] & 128) {
- goto yy133;
- }
- if (yych <= 0x08) goto yy135;
- if (yych <= '\n') goto yy136;
- if (yych == '\r') goto yy137;
-yy135:
- YYDEBUG(135, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- { /* End of section */
- BEGIN(INITIAL);
- SCNG(lineno)++;
- return ']';
-}
-yy136:
- YYDEBUG(136, *YYCURSOR);
- yych = *++YYCURSOR;
- goto yy135;
-yy137:
- YYDEBUG(137, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '\n') goto yy136;
- goto yy135;
- }
-/* *********************************** */
yyc_ST_SECTION_VALUE:
{
static const unsigned char yybm[] = {
@@ -2005,401 +1540,392 @@ yyc_ST_SECTION_VALUE:
132, 132, 132, 132, 132, 132, 132, 132,
132, 132, 132, 132, 132, 132, 132, 132,
};
- YYDEBUG(138, *YYCURSOR);
+ YYDEBUG(94, *YYCURSOR);
YYFILL(2);
yych = *YYCURSOR;
{
static void *yytarget[256] = {
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy143, &&yy145, &&yy140, &&yy140, &&yy145, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy143, &&yy140, &&yy147, &&yy140, &&yy149, &&yy140, &&yy140, &&yy150,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy151, &&yy151, &&yy140,
- &&yy152, &&yy152, &&yy152, &&yy152, &&yy152, &&yy152, &&yy152, &&yy152,
- &&yy152, &&yy152, &&yy140, &&yy145, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155,
- &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155,
- &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155,
- &&yy155, &&yy155, &&yy155, &&yy140, &&yy158, &&yy159, &&yy140, &&yy155,
- &&yy140, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155,
- &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155,
- &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155,
- &&yy155, &&yy155, &&yy155, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy99, &&yy101, &&yy96, &&yy96, &&yy101, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy99, &&yy96, &&yy103, &&yy96, &&yy105, &&yy96, &&yy96, &&yy106,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy107, &&yy107, &&yy96,
+ &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
+ &&yy108, &&yy108, &&yy96, &&yy101, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
+ &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
+ &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
+ &&yy111, &&yy111, &&yy111, &&yy96, &&yy114, &&yy115, &&yy96, &&yy111,
+ &&yy96, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
+ &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
+ &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
+ &&yy111, &&yy111, &&yy111, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96
};
goto *yytarget[yych];
}
-yy140:
- YYDEBUG(140, *YYCURSOR);
+yy96:
+ YYDEBUG(96, *YYCURSOR);
yyaccept = 0;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
-yy141:
- YYDEBUG(141, *YYCURSOR);
+yy97:
+ YYDEBUG(97, *YYCURSOR);
if (yybm[0+yych] & 4) {
- goto yy140;
+ goto yy96;
}
- if (yych <= '"') goto yy142;
- if (yych <= '$') goto yy162;
- if (yych <= ';') goto yy142;
- if (yych <= '\\') goto yy164;
-yy142:
- YYDEBUG(142, *YYCURSOR);
+ if (yych <= '"') goto yy98;
+ if (yych <= '$') goto yy118;
+ if (yych <= ';') goto yy98;
+ if (yych <= '\\') goto yy114;
+yy98:
+ YYDEBUG(98, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{ /* Get rest as section/offset value */
RETURN_TOKEN(TC_STRING, yytext, yyleng);
}
-yy143:
- YYDEBUG(143, *YYCURSOR);
+yy99:
+ YYDEBUG(99, *YYCURSOR);
yyaccept = 0;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(144, *YYCURSOR);
+ YYDEBUG(100, *YYCURSOR);
{
static void *yytarget[256] = {
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy143, &&yy142, &&yy140, &&yy140, &&yy142, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy143, &&yy140, &&yy147, &&yy140, &&yy162, &&yy140, &&yy140, &&yy142,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy142, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy164, &&yy142, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy99, &&yy98, &&yy96, &&yy96, &&yy98, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy99, &&yy96, &&yy103, &&yy96, &&yy118, &&yy96, &&yy96, &&yy98,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy98, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy114, &&yy98, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96
};
goto *yytarget[yych];
}
-yy145:
- YYDEBUG(145, *YYCURSOR);
+yy101:
+ YYDEBUG(101, *YYCURSOR);
++YYCURSOR;
-yy146:
- YYDEBUG(146, *YYCURSOR);
+yy102:
+ YYDEBUG(102, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return 0;
}
-yy147:
- YYDEBUG(147, *YYCURSOR);
+yy103:
+ YYDEBUG(103, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(148, *YYCURSOR);
+ YYDEBUG(104, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{ /* Double quoted '"' string start */
yy_push_state(ST_DOUBLE_QUOTES);
return '"';
}
-yy149:
- YYDEBUG(149, *YYCURSOR);
+yy105:
+ YYDEBUG(105, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= '\\') {
- if (yych <= 0x00) goto yy146;
- if (yych <= '[') goto yy140;
- goto yy165;
+ if (yych <= 0x00) goto yy102;
+ if (yych <= '[') goto yy96;
+ goto yy120;
} else {
- if (yych == '{') goto yy167;
- goto yy140;
+ if (yych == '{') goto yy122;
+ goto yy96;
}
-yy150:
- YYDEBUG(150, *YYCURSOR);
- yyaccept = 1;
- yych = *(YYMARKER = ++YYCURSOR);
+yy106:
+ YYDEBUG(106, *YYCURSOR);
+ yych = *++YYCURSOR;
if (yybm[0+yych] & 128) {
- goto yy169;
+ goto yy124;
}
- goto yy146;
-yy151:
- YYDEBUG(151, *YYCURSOR);
+ goto yy102;
+yy107:
+ YYDEBUG(107, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') goto yy141;
- if (yych <= '9') goto yy171;
- goto yy141;
-yy152:
- YYDEBUG(152, *YYCURSOR);
- yyaccept = 2;
+ if (yych <= '/') goto yy97;
+ if (yych <= '9') goto yy126;
+ goto yy97;
+yy108:
+ YYDEBUG(108, *YYCURSOR);
+ yyaccept = 1;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(153, *YYCURSOR);
+ YYDEBUG(109, *YYCURSOR);
{
static void *yytarget[256] = {
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy154, &&yy140, &&yy140, &&yy154, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy154, &&yy140, &&yy162, &&yy140, &&yy140, &&yy154,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy171, &&yy140,
- &&yy152, &&yy152, &&yy152, &&yy152, &&yy152, &&yy152, &&yy152, &&yy152,
- &&yy152, &&yy152, &&yy140, &&yy154, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy164, &&yy154, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy110, &&yy96, &&yy96, &&yy110, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy110, &&yy96, &&yy118, &&yy96, &&yy96, &&yy110,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy126, &&yy96,
+ &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108, &&yy108,
+ &&yy108, &&yy108, &&yy96, &&yy110, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy114, &&yy110, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96
};
goto *yytarget[yych];
}
-yy154:
- YYDEBUG(154, *YYCURSOR);
+yy110:
+ YYDEBUG(110, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{ /* Get number option value as string */
RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
}
-yy155:
- YYDEBUG(155, *YYCURSOR);
- yyaccept = 3;
+yy111:
+ YYDEBUG(111, *YYCURSOR);
+ yyaccept = 2;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(156, *YYCURSOR);
+ YYDEBUG(112, *YYCURSOR);
{
static void *yytarget[256] = {
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy157, &&yy140, &&yy140, &&yy157, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy157, &&yy140, &&yy162, &&yy140, &&yy140, &&yy157,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155,
- &&yy155, &&yy155, &&yy140, &&yy157, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155,
- &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155,
- &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155,
- &&yy155, &&yy155, &&yy155, &&yy140, &&yy164, &&yy157, &&yy140, &&yy155,
- &&yy140, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155,
- &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155,
- &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155,
- &&yy155, &&yy155, &&yy155, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy113, &&yy96, &&yy96, &&yy113, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy113, &&yy96, &&yy118, &&yy96, &&yy96, &&yy113,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
+ &&yy111, &&yy111, &&yy96, &&yy113, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
+ &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
+ &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
+ &&yy111, &&yy111, &&yy111, &&yy96, &&yy114, &&yy113, &&yy96, &&yy111,
+ &&yy96, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
+ &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
+ &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
+ &&yy111, &&yy111, &&yy111, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96
};
goto *yytarget[yych];
}
-yy157:
- YYDEBUG(157, *YYCURSOR);
+yy113:
+ YYDEBUG(113, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{ /* Get constant option value */
RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
}
-yy158:
- YYDEBUG(158, *YYCURSOR);
- yych = *++YYCURSOR;
- goto yy140;
-yy159:
- YYDEBUG(159, *YYCURSOR);
+yy114:
+ YYDEBUG(114, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
+ goto yy96;
+yy115:
+ YYDEBUG(115, *YYCURSOR);
++YYCURSOR;
YYFILL(2);
yych = *YYCURSOR;
- YYDEBUG(160, *YYCURSOR);
+ YYDEBUG(116, *YYCURSOR);
if (yych <= '\f') {
- if (yych <= 0x08) goto yy161;
- if (yych <= '\t') goto yy159;
- if (yych <= '\n') goto yy173;
+ if (yych <= 0x08) goto yy117;
+ if (yych <= '\t') goto yy115;
+ if (yych <= '\n') goto yy128;
} else {
- if (yych <= '\r') goto yy174;
- if (yych == ' ') goto yy159;
+ if (yych <= '\r') goto yy129;
+ if (yych == ' ') goto yy115;
}
-yy161:
- YYDEBUG(161, *YYCURSOR);
+yy117:
+ YYDEBUG(117, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{ /* End of section */
BEGIN(INITIAL);
SCNG(lineno)++;
return ']';
}
-yy162:
- YYDEBUG(162, *YYCURSOR);
+yy118:
+ YYDEBUG(118, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
if (yych <= '\\') {
- if (yych <= 0x00) goto yy163;
- if (yych <= '[') goto yy140;
- goto yy165;
+ if (yych <= 0x00) goto yy119;
+ if (yych <= '[') goto yy96;
+ goto yy120;
} else {
- if (yych != '{') goto yy140;
+ if (yych != '{') goto yy96;
}
-yy163:
- YYDEBUG(163, *YYCURSOR);
+yy119:
+ YYDEBUG(119, *YYCURSOR);
YYCURSOR = YYMARKER;
if (yyaccept <= 1) {
if (yyaccept == 0) {
- goto yy142;
+ goto yy98;
} else {
- goto yy146;
+ goto yy110;
}
} else {
- if (yyaccept == 2) {
- goto yy154;
- } else {
- goto yy157;
- }
+ goto yy113;
}
-yy164:
- YYDEBUG(164, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- goto yy140;
-yy165:
- YYDEBUG(165, *YYCURSOR);
+yy120:
+ YYDEBUG(120, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(166, *YYCURSOR);
+ YYDEBUG(121, *YYCURSOR);
if (yybm[0+yych] & 64) {
- goto yy165;
+ goto yy120;
}
- goto yy140;
-yy167:
- YYDEBUG(167, *YYCURSOR);
+ goto yy96;
+yy122:
+ YYDEBUG(122, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(168, *YYCURSOR);
+ YYDEBUG(123, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{ /* Variable start */
yy_push_state(ST_VARNAME);
return TC_DOLLAR_CURLY;
}
-yy169:
- YYDEBUG(169, *YYCURSOR);
+yy124:
+ YYDEBUG(124, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(170, *YYCURSOR);
+ YYDEBUG(125, *YYCURSOR);
if (yybm[0+yych] & 128) {
- goto yy169;
+ goto yy124;
}
- goto yy175;
-yy171:
- YYDEBUG(171, *YYCURSOR);
- yyaccept = 2;
+ goto yy130;
+yy126:
+ YYDEBUG(126, *YYCURSOR);
+ yyaccept = 1;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(172, *YYCURSOR);
+ YYDEBUG(127, *YYCURSOR);
{
static void *yytarget[256] = {
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy154, &&yy140, &&yy140, &&yy154, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy154, &&yy140, &&yy162, &&yy140, &&yy140, &&yy154,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy140, &&yy154, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy164, &&yy154, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
- &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy110, &&yy96, &&yy96, &&yy110, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy110, &&yy96, &&yy118, &&yy96, &&yy96, &&yy110,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy126, &&yy126, &&yy126, &&yy126, &&yy126, &&yy126, &&yy126, &&yy126,
+ &&yy126, &&yy126, &&yy96, &&yy110, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy114, &&yy110, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96,
+ &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96, &&yy96
};
goto *yytarget[yych];
}
-yy173:
- YYDEBUG(173, *YYCURSOR);
- yych = *++YYCURSOR;
- goto yy161;
-yy174:
- YYDEBUG(174, *YYCURSOR);
+yy128:
+ YYDEBUG(128, *YYCURSOR);
+ ++YYCURSOR;
+ goto yy117;
+yy129:
+ YYDEBUG(129, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '\n') goto yy173;
- goto yy161;
-yy175:
- YYDEBUG(175, *YYCURSOR);
+ if (yych == '\n') goto yy128;
+ goto yy117;
+yy130:
+ YYDEBUG(130, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(176, *YYCURSOR);
+ YYDEBUG(131, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{ /* Raw string */
/* Eat leading and trailing single quotes */
@@ -2414,1033 +1940,1017 @@ yy175:
yyc_ST_VALUE:
{
static const unsigned char yybm[] = {
- 96, 98, 98, 98, 98, 98, 98, 98,
- 98, 100, 64, 98, 98, 64, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 100, 96, 96, 98, 224, 98, 96, 32,
- 96, 96, 98, 98, 98, 98, 98, 98,
+ 80, 82, 82, 82, 82, 82, 82, 82,
+ 82, 84, 64, 82, 82, 64, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 84, 80, 80, 82, 208, 82, 80, 16,
+ 80, 80, 82, 82, 82, 82, 82, 82,
122, 122, 122, 122, 122, 122, 122, 122,
- 122, 122, 98, 96, 98, 96, 98, 98,
- 98, 114, 114, 114, 114, 114, 114, 114,
+ 122, 122, 82, 80, 82, 80, 82, 82,
+ 82, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
- 114, 114, 114, 98, 98, 98, 96, 114,
- 98, 114, 114, 114, 114, 114, 114, 114,
+ 114, 114, 114, 82, 82, 82, 80, 114,
+ 82, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
- 114, 114, 114, 98, 96, 98, 96, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
+ 114, 114, 114, 82, 80, 82, 80, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
};
- YYDEBUG(177, *YYCURSOR);
+ YYDEBUG(132, *YYCURSOR);
YYFILL(6);
yych = *YYCURSOR;
{
static void *yytarget[256] = {
- &&yy179, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy184, &&yy187, &&yy181, &&yy181, &&yy189, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy184, &&yy190, &&yy193, &&yy181, &&yy195, &&yy181, &&yy190, &&yy196,
- &&yy190, &&yy190, &&yy181, &&yy181, &&yy181, &&yy197, &&yy197, &&yy181,
- &&yy198, &&yy198, &&yy198, &&yy198, &&yy198, &&yy198, &&yy198, &&yy198,
- &&yy198, &&yy198, &&yy181, &&yy201, &&yy181, &&yy202, &&yy181, &&yy181,
- &&yy181, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy207, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy208, &&yy209,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy210, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy211, &&yy204, &&yy181, &&yy181, &&yy181, &&yy190, &&yy204,
- &&yy181, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy207, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy208, &&yy209,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy210, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy211, &&yy204, &&yy181, &&yy190, &&yy181, &&yy190, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181
+ &&yy134, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy139, &&yy142, &&yy136, &&yy136, &&yy144, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy139, &&yy145, &&yy148, &&yy136, &&yy150, &&yy136, &&yy145, &&yy151,
+ &&yy145, &&yy145, &&yy136, &&yy136, &&yy136, &&yy152, &&yy152, &&yy136,
+ &&yy153, &&yy153, &&yy153, &&yy153, &&yy153, &&yy153, &&yy153, &&yy153,
+ &&yy153, &&yy153, &&yy136, &&yy156, &&yy136, &&yy158, &&yy136, &&yy136,
+ &&yy136, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy163, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy164, &&yy165,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy166, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy167, &&yy160, &&yy136, &&yy136, &&yy136, &&yy145, &&yy160,
+ &&yy136, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy163, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy164, &&yy165,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy166, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy167, &&yy160, &&yy136, &&yy145, &&yy136, &&yy145, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136
};
goto *yytarget[yych];
}
-yy179:
- YYDEBUG(179, *YYCURSOR);
+yy134:
+ YYDEBUG(134, *YYCURSOR);
++YYCURSOR;
-yy180:
- YYDEBUG(180, *YYCURSOR);
+yy135:
+ YYDEBUG(135, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{ /* End of option value (if EOF is reached before EOL */
BEGIN(INITIAL);
return END_OF_LINE;
}
-yy181:
- YYDEBUG(181, *YYCURSOR);
+yy136:
+ YYDEBUG(136, *YYCURSOR);
yyaccept = 0;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
-yy182:
- YYDEBUG(182, *YYCURSOR);
+yy137:
+ YYDEBUG(137, *YYCURSOR);
{
static void *yytarget[256] = {
- &&yy183, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy183, &&yy183, &&yy181, &&yy181, &&yy183, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy183, &&yy183, &&yy183, &&yy181, &&yy212, &&yy181, &&yy183, &&yy183,
- &&yy183, &&yy183, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy183, &&yy181, &&yy183, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy183, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy183, &&yy181, &&yy183, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181
+ &&yy138, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy138, &&yy138, &&yy136, &&yy136, &&yy138, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy138, &&yy138, &&yy138, &&yy136, &&yy168, &&yy136, &&yy138, &&yy138,
+ &&yy138, &&yy138, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy138, &&yy136, &&yy138, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy138, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy138, &&yy136, &&yy138, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136
};
goto *yytarget[yych];
}
-yy183:
- YYDEBUG(183, *YYCURSOR);
+yy138:
+ YYDEBUG(138, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{ /* Get everything else as option/offset value */
RETURN_TOKEN(TC_STRING, yytext, yyleng);
}
-yy184:
- YYDEBUG(184, *YYCURSOR);
- yyaccept = 1;
- YYMARKER = ++YYCURSOR;
+yy139:
+ YYDEBUG(139, *YYCURSOR);
+ ++YYCURSOR;
YYFILL(2);
yych = *YYCURSOR;
- YYDEBUG(185, *YYCURSOR);
+ YYDEBUG(140, *YYCURSOR);
{
static void *yytarget[256] = {
- &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186,
- &&yy186, &&yy184, &&yy187, &&yy186, &&yy186, &&yy189, &&yy186, &&yy186,
- &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186,
- &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186,
- &&yy184, &&yy186, &&yy193, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186,
- &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186,
- &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186,
- &&yy186, &&yy186, &&yy186, &&yy214, &&yy186, &&yy186, &&yy186, &&yy186,
- &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186,
- &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186,
- &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186,
- &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186,
- &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186,
- &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186,
- &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186,
- &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186,
- &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186,
- &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186,
- &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186,
- &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186,
- &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186,
- &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186,
- &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186,
- &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186,
- &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186,
- &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186,
- &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186,
- &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186,
- &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186,
- &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186,
- &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186,
- &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186, &&yy186
+ &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141,
+ &&yy141, &&yy139, &&yy142, &&yy141, &&yy141, &&yy144, &&yy141, &&yy141,
+ &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141,
+ &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141,
+ &&yy139, &&yy141, &&yy148, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141,
+ &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141,
+ &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141,
+ &&yy141, &&yy141, &&yy141, &&yy156, &&yy141, &&yy141, &&yy141, &&yy141,
+ &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141,
+ &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141,
+ &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141,
+ &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141,
+ &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141,
+ &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141,
+ &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141,
+ &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141,
+ &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141,
+ &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141,
+ &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141,
+ &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141,
+ &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141,
+ &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141,
+ &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141,
+ &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141,
+ &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141,
+ &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141,
+ &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141,
+ &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141,
+ &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141,
+ &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141,
+ &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141,
+ &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141, &&yy141
};
goto *yytarget[yych];
}
-yy186:
- YYDEBUG(186, *YYCURSOR);
+yy141:
+ YYDEBUG(141, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
RETURN_TOKEN(TC_WHITESPACE, yytext, yyleng);
}
-yy187:
- YYDEBUG(187, *YYCURSOR);
+yy142:
+ YYDEBUG(142, *YYCURSOR);
++YYCURSOR;
-yy188:
- YYDEBUG(188, *YYCURSOR);
+yy143:
+ YYDEBUG(143, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{ /* End of option value */
BEGIN(INITIAL);
SCNG(lineno)++;
return END_OF_LINE;
}
-yy189:
- YYDEBUG(189, *YYCURSOR);
+yy144:
+ YYDEBUG(144, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '\n') goto yy187;
- goto yy188;
-yy190:
- YYDEBUG(190, *YYCURSOR);
+ if (yych == '\n') goto yy142;
+ goto yy143;
+yy145:
+ YYDEBUG(145, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(191, *YYCURSOR);
- if (yych == '\t') goto yy190;
- if (yych == ' ') goto yy190;
- YYDEBUG(192, *YYCURSOR);
+ YYDEBUG(146, *YYCURSOR);
+ if (yych == '\t') goto yy145;
+ if (yych == ' ') goto yy145;
+ YYDEBUG(147, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{ /* Boolean operators */
return yytext[0];
}
-yy193:
- YYDEBUG(193, *YYCURSOR);
+yy148:
+ YYDEBUG(148, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(194, *YYCURSOR);
+ YYDEBUG(149, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{ /* Double quoted '"' string start */
yy_push_state(ST_DOUBLE_QUOTES);
return '"';
}
-yy195:
- YYDEBUG(195, *YYCURSOR);
+yy150:
+ YYDEBUG(150, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= '\\') {
- if (yych <= 0x00) goto yy180;
- if (yych <= '[') goto yy181;
- goto yy216;
+ if (yych <= 0x00) goto yy135;
+ if (yych <= '[') goto yy136;
+ goto yy170;
} else {
- if (yych == '{') goto yy217;
- goto yy181;
+ if (yych == '{') goto yy171;
+ goto yy136;
}
-yy196:
- YYDEBUG(196, *YYCURSOR);
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
+yy151:
+ YYDEBUG(151, *YYCURSOR);
+ yych = *++YYCURSOR;
if (yybm[0+yych] & 64) {
- goto yy219;
+ goto yy173;
}
- goto yy180;
-yy197:
- YYDEBUG(197, *YYCURSOR);
+ goto yy135;
+yy152:
+ YYDEBUG(152, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') goto yy182;
- if (yych <= '9') goto yy221;
- goto yy182;
-yy198:
- YYDEBUG(198, *YYCURSOR);
- yyaccept = 3;
+ if (yych <= '/') goto yy137;
+ if (yych <= '9') goto yy175;
+ goto yy137;
+yy153:
+ YYDEBUG(153, *YYCURSOR);
+ yyaccept = 1;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(199, *YYCURSOR);
+ YYDEBUG(154, *YYCURSOR);
{
static void *yytarget[256] = {
- &&yy200, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy200, &&yy200, &&yy181, &&yy181, &&yy200, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy200, &&yy200, &&yy200, &&yy181, &&yy212, &&yy181, &&yy200, &&yy200,
- &&yy200, &&yy200, &&yy181, &&yy181, &&yy181, &&yy181, &&yy221, &&yy181,
- &&yy198, &&yy198, &&yy198, &&yy198, &&yy198, &&yy198, &&yy198, &&yy198,
- &&yy198, &&yy198, &&yy181, &&yy200, &&yy181, &&yy200, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy200, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy200, &&yy181, &&yy200, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181
+ &&yy155, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy155, &&yy155, &&yy136, &&yy136, &&yy155, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy155, &&yy155, &&yy155, &&yy136, &&yy168, &&yy136, &&yy155, &&yy155,
+ &&yy155, &&yy155, &&yy136, &&yy136, &&yy136, &&yy136, &&yy175, &&yy136,
+ &&yy153, &&yy153, &&yy153, &&yy153, &&yy153, &&yy153, &&yy153, &&yy153,
+ &&yy153, &&yy153, &&yy136, &&yy155, &&yy136, &&yy155, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy155, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy155, &&yy136, &&yy155, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136
};
goto *yytarget[yych];
}
-yy200:
- YYDEBUG(200, *YYCURSOR);
+yy155:
+ YYDEBUG(155, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{ /* Get number option value as string */
RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
}
-yy201:
- YYDEBUG(201, *YYCURSOR);
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- goto yy215;
-yy202:
- YYDEBUG(202, *YYCURSOR);
+yy156:
+ YYDEBUG(156, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(203, *YYCURSOR);
+ YYFILL(2);
+ yych = *YYCURSOR;
+ YYDEBUG(157, *YYCURSOR);
+ if (yybm[0+yych] & 16) {
+ goto yy156;
+ }
+ if (yych <= '\n') goto yy177;
+ goto yy179;
+yy158:
+ YYDEBUG(158, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(159, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{ /* Make = used in option value to trigger error */
yyless(0);
BEGIN(INITIAL);
return END_OF_LINE;
}
-yy204:
- YYDEBUG(204, *YYCURSOR);
- yyaccept = 4;
+yy160:
+ YYDEBUG(160, *YYCURSOR);
+ yyaccept = 2;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(205, *YYCURSOR);
+ YYDEBUG(161, *YYCURSOR);
{
static void *yytarget[256] = {
- &&yy206, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy206, &&yy206, &&yy181, &&yy181, &&yy206, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy206, &&yy206, &&yy206, &&yy181, &&yy212, &&yy181, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy181, &&yy206, &&yy181, &&yy206, &&yy181, &&yy181,
- &&yy181, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy181, &&yy181, &&yy181, &&yy206, &&yy204,
- &&yy181, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy181, &&yy206, &&yy181, &&yy206, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181
+ &&yy162, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy162, &&yy162, &&yy136, &&yy136, &&yy162, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy162, &&yy162, &&yy162, &&yy136, &&yy168, &&yy136, &&yy162, &&yy162,
+ &&yy162, &&yy162, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy136, &&yy162, &&yy136, &&yy162, &&yy136, &&yy136,
+ &&yy136, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy136, &&yy136, &&yy136, &&yy162, &&yy160,
+ &&yy136, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy136, &&yy162, &&yy136, &&yy162, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136
};
goto *yytarget[yych];
}
-yy206:
- YYDEBUG(206, *YYCURSOR);
+yy162:
+ YYDEBUG(162, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{ /* Get constant option value */
RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
}
-yy207:
- YYDEBUG(207, *YYCURSOR);
- yyaccept = 4;
+yy163:
+ YYDEBUG(163, *YYCURSOR);
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
{
static void *yytarget[256] = {
- &&yy206, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy206, &&yy206, &&yy182, &&yy182, &&yy206, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy206, &&yy206, &&yy206, &&yy182, &&yy182, &&yy182, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy182, &&yy206, &&yy182, &&yy206, &&yy182, &&yy182,
- &&yy182, &&yy226, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy182, &&yy182, &&yy182, &&yy206, &&yy204,
- &&yy182, &&yy226, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy182, &&yy206, &&yy182, &&yy206, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182
+ &&yy162, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy162, &&yy162, &&yy137, &&yy137, &&yy162, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy162, &&yy162, &&yy162, &&yy137, &&yy137, &&yy137, &&yy162, &&yy162,
+ &&yy162, &&yy162, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy137, &&yy162, &&yy137, &&yy162, &&yy137, &&yy137,
+ &&yy137, &&yy180, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy137, &&yy137, &&yy137, &&yy162, &&yy160,
+ &&yy137, &&yy180, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy137, &&yy162, &&yy137, &&yy162, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137
};
goto *yytarget[yych];
}
-yy208:
- YYDEBUG(208, *YYCURSOR);
- yyaccept = 4;
+yy164:
+ YYDEBUG(164, *YYCURSOR);
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
{
static void *yytarget[256] = {
- &&yy206, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy206, &&yy206, &&yy182, &&yy182, &&yy206, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy206, &&yy206, &&yy206, &&yy182, &&yy182, &&yy182, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy182, &&yy206, &&yy182, &&yy206, &&yy182, &&yy182,
- &&yy182, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy227,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy229, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy182, &&yy182, &&yy182, &&yy206, &&yy204,
- &&yy182, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy227,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy229, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy182, &&yy206, &&yy182, &&yy206, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182
+ &&yy162, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy162, &&yy162, &&yy137, &&yy137, &&yy162, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy162, &&yy162, &&yy162, &&yy137, &&yy137, &&yy137, &&yy162, &&yy162,
+ &&yy162, &&yy162, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy137, &&yy162, &&yy137, &&yy162, &&yy137, &&yy137,
+ &&yy137, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy181,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy183, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy137, &&yy137, &&yy137, &&yy162, &&yy160,
+ &&yy137, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy181,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy183, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy137, &&yy162, &&yy137, &&yy162, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137
};
goto *yytarget[yych];
}
-yy209:
- YYDEBUG(209, *YYCURSOR);
- yyaccept = 4;
+yy165:
+ YYDEBUG(165, *YYCURSOR);
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
{
static void *yytarget[256] = {
- &&yy206, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy206, &&yy206, &&yy182, &&yy182, &&yy206, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy206, &&yy206, &&yy206, &&yy182, &&yy182, &&yy182, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy182, &&yy206, &&yy182, &&yy206, &&yy182, &&yy182,
- &&yy182, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy230, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy231, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy182, &&yy182, &&yy182, &&yy206, &&yy204,
- &&yy182, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy230, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy231, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy182, &&yy206, &&yy182, &&yy206, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182
+ &&yy162, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy162, &&yy162, &&yy137, &&yy137, &&yy162, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy162, &&yy162, &&yy162, &&yy137, &&yy137, &&yy137, &&yy162, &&yy162,
+ &&yy162, &&yy162, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy137, &&yy162, &&yy137, &&yy162, &&yy137, &&yy137,
+ &&yy137, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy184, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy185, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy137, &&yy137, &&yy137, &&yy162, &&yy160,
+ &&yy137, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy184, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy185, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy137, &&yy162, &&yy137, &&yy162, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137
};
goto *yytarget[yych];
}
-yy210:
- YYDEBUG(210, *YYCURSOR);
- yyaccept = 4;
+yy166:
+ YYDEBUG(166, *YYCURSOR);
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
{
static void *yytarget[256] = {
- &&yy206, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy206, &&yy206, &&yy182, &&yy182, &&yy206, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy206, &&yy206, &&yy206, &&yy182, &&yy182, &&yy182, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy182, &&yy206, &&yy182, &&yy206, &&yy182, &&yy182,
- &&yy182, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy233, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy182, &&yy182, &&yy182, &&yy206, &&yy204,
- &&yy182, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy233, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy182, &&yy206, &&yy182, &&yy206, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182
+ &&yy162, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy162, &&yy162, &&yy137, &&yy137, &&yy162, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy162, &&yy162, &&yy162, &&yy137, &&yy137, &&yy137, &&yy162, &&yy162,
+ &&yy162, &&yy162, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy137, &&yy162, &&yy137, &&yy162, &&yy137, &&yy137,
+ &&yy137, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy187, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy137, &&yy137, &&yy137, &&yy162, &&yy160,
+ &&yy137, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy187, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy137, &&yy162, &&yy137, &&yy162, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137
};
goto *yytarget[yych];
}
-yy211:
- YYDEBUG(211, *YYCURSOR);
- yyaccept = 4;
+yy167:
+ YYDEBUG(167, *YYCURSOR);
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
{
static void *yytarget[256] = {
- &&yy206, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy206, &&yy206, &&yy182, &&yy182, &&yy206, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy206, &&yy206, &&yy206, &&yy182, &&yy182, &&yy182, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy182, &&yy206, &&yy182, &&yy206, &&yy182, &&yy182,
- &&yy182, &&yy204, &&yy204, &&yy204, &&yy204, &&yy234, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy182, &&yy182, &&yy182, &&yy206, &&yy204,
- &&yy182, &&yy204, &&yy204, &&yy204, &&yy204, &&yy234, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy182, &&yy206, &&yy182, &&yy206, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182
+ &&yy162, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy162, &&yy162, &&yy137, &&yy137, &&yy162, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy162, &&yy162, &&yy162, &&yy137, &&yy137, &&yy137, &&yy162, &&yy162,
+ &&yy162, &&yy162, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy137, &&yy162, &&yy137, &&yy162, &&yy137, &&yy137,
+ &&yy137, &&yy160, &&yy160, &&yy160, &&yy160, &&yy188, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy137, &&yy137, &&yy137, &&yy162, &&yy160,
+ &&yy137, &&yy160, &&yy160, &&yy160, &&yy160, &&yy188, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy137, &&yy162, &&yy137, &&yy162, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137
};
goto *yytarget[yych];
}
-yy212:
- YYDEBUG(212, *YYCURSOR);
+yy168:
+ YYDEBUG(168, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
if (yych <= '\\') {
- if (yych <= 0x00) goto yy213;
- if (yych <= '[') goto yy181;
- goto yy216;
+ if (yych <= 0x00) goto yy169;
+ if (yych <= '[') goto yy136;
+ goto yy170;
} else {
- if (yych != '{') goto yy181;
+ if (yych != '{') goto yy136;
}
-yy213:
- YYDEBUG(213, *YYCURSOR);
+yy169:
+ YYDEBUG(169, *YYCURSOR);
YYCURSOR = YYMARKER;
- if (yyaccept <= 3) {
+ if (yyaccept <= 2) {
if (yyaccept <= 1) {
if (yyaccept == 0) {
- goto yy183;
+ goto yy138;
} else {
- goto yy186;
+ goto yy155;
}
} else {
- if (yyaccept == 2) {
- goto yy180;
- } else {
- goto yy200;
- }
+ goto yy162;
}
} else {
- if (yyaccept <= 5) {
- if (yyaccept == 4) {
- goto yy206;
+ if (yyaccept <= 4) {
+ if (yyaccept == 3) {
+ goto yy182;
} else {
- goto yy228;
+ goto yy186;
}
} else {
- if (yyaccept == 6) {
- goto yy232;
- } else {
- goto yy249;
- }
+ goto yy203;
}
}
-yy214:
- YYDEBUG(214, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(2);
- yych = *YYCURSOR;
-yy215:
- YYDEBUG(215, *YYCURSOR);
- if (yybm[0+yych] & 32) {
- goto yy214;
- }
- if (yych <= '\n') goto yy223;
- goto yy225;
-yy216:
- YYDEBUG(216, *YYCURSOR);
+yy170:
+ YYDEBUG(170, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 128) {
- goto yy235;
+ goto yy189;
}
- goto yy181;
-yy217:
- YYDEBUG(217, *YYCURSOR);
+ goto yy136;
+yy171:
+ YYDEBUG(171, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(218, *YYCURSOR);
+ YYDEBUG(172, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{ /* Variable start */
yy_push_state(ST_VARNAME);
return TC_DOLLAR_CURLY;
}
-yy219:
- YYDEBUG(219, *YYCURSOR);
+yy173:
+ YYDEBUG(173, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(220, *YYCURSOR);
+ YYDEBUG(174, *YYCURSOR);
if (yybm[0+yych] & 64) {
- goto yy219;
+ goto yy173;
}
- goto yy237;
-yy221:
- YYDEBUG(221, *YYCURSOR);
- yyaccept = 3;
+ goto yy191;
+yy175:
+ YYDEBUG(175, *YYCURSOR);
+ yyaccept = 1;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(222, *YYCURSOR);
+ YYDEBUG(176, *YYCURSOR);
{
static void *yytarget[256] = {
- &&yy200, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy200, &&yy200, &&yy181, &&yy181, &&yy200, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy200, &&yy200, &&yy200, &&yy181, &&yy212, &&yy181, &&yy200, &&yy200,
- &&yy200, &&yy200, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy221, &&yy221, &&yy221, &&yy221, &&yy221, &&yy221, &&yy221, &&yy221,
- &&yy221, &&yy221, &&yy181, &&yy200, &&yy181, &&yy200, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy200, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy200, &&yy181, &&yy200, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181,
- &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181, &&yy181
+ &&yy155, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy155, &&yy155, &&yy136, &&yy136, &&yy155, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy155, &&yy155, &&yy155, &&yy136, &&yy168, &&yy136, &&yy155, &&yy155,
+ &&yy155, &&yy155, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy175, &&yy175, &&yy175, &&yy175, &&yy175, &&yy175, &&yy175, &&yy175,
+ &&yy175, &&yy175, &&yy136, &&yy155, &&yy136, &&yy155, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy155, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy155, &&yy136, &&yy155, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136,
+ &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136, &&yy136
};
goto *yytarget[yych];
}
-yy223:
- YYDEBUG(223, *YYCURSOR);
+yy177:
+ YYDEBUG(177, *YYCURSOR);
++YYCURSOR;
-yy224:
- YYDEBUG(224, *YYCURSOR);
+yy178:
+ YYDEBUG(178, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{ /* Comment */
BEGIN(INITIAL);
SCNG(lineno)++;
return END_OF_LINE;
}
-yy225:
- YYDEBUG(225, *YYCURSOR);
+yy179:
+ YYDEBUG(179, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '\n') goto yy223;
- goto yy224;
-yy226:
- YYDEBUG(226, *YYCURSOR);
- yyaccept = 4;
+ if (yych == '\n') goto yy177;
+ goto yy178;
+yy180:
+ YYDEBUG(180, *YYCURSOR);
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
{
static void *yytarget[256] = {
- &&yy206, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy206, &&yy206, &&yy182, &&yy182, &&yy206, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy206, &&yy206, &&yy206, &&yy182, &&yy182, &&yy182, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy182, &&yy206, &&yy182, &&yy206, &&yy182, &&yy182,
- &&yy182, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy239, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy182, &&yy182, &&yy182, &&yy206, &&yy204,
- &&yy182, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy239, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy182, &&yy206, &&yy182, &&yy206, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182
+ &&yy162, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy162, &&yy162, &&yy137, &&yy137, &&yy162, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy162, &&yy162, &&yy162, &&yy137, &&yy137, &&yy137, &&yy162, &&yy162,
+ &&yy162, &&yy162, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy137, &&yy162, &&yy137, &&yy162, &&yy137, &&yy137,
+ &&yy137, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy193, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy137, &&yy137, &&yy137, &&yy162, &&yy160,
+ &&yy137, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy193, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy137, &&yy162, &&yy137, &&yy162, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137
};
goto *yytarget[yych];
}
-yy227:
- YYDEBUG(227, *YYCURSOR);
- yyaccept = 5;
+yy181:
+ YYDEBUG(181, *YYCURSOR);
+ yyaccept = 3;
yych = *(YYMARKER = ++YYCURSOR);
{
static void *yytarget[256] = {
- &&yy228, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy240, &&yy228, &&yy182, &&yy182, &&yy228, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy240, &&yy228, &&yy228, &&yy182, &&yy182, &&yy182, &&yy228, &&yy228,
- &&yy228, &&yy228, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy182, &&yy228, &&yy182, &&yy228, &&yy182, &&yy182,
- &&yy182, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy242, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy182, &&yy182, &&yy182, &&yy228, &&yy204,
- &&yy182, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy242, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy182, &&yy228, &&yy182, &&yy228, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182
+ &&yy182, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy194, &&yy182, &&yy137, &&yy137, &&yy182, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy194, &&yy182, &&yy182, &&yy137, &&yy137, &&yy137, &&yy182, &&yy182,
+ &&yy182, &&yy182, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy137, &&yy182, &&yy137, &&yy182, &&yy137, &&yy137,
+ &&yy137, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy196, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy137, &&yy137, &&yy137, &&yy182, &&yy160,
+ &&yy137, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy196, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy137, &&yy182, &&yy137, &&yy182, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137
};
goto *yytarget[yych];
}
-yy228:
- YYDEBUG(228, *YYCURSOR);
+yy182:
+ YYDEBUG(182, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{ /* FALSE value (when used outside option value/offset this causes parse error!)*/
RETURN_TOKEN(BOOL_FALSE, "", 0);
}
-yy229:
- YYDEBUG(229, *YYCURSOR);
- yyaccept = 4;
+yy183:
+ YYDEBUG(183, *YYCURSOR);
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
{
static void *yytarget[256] = {
- &&yy206, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy206, &&yy206, &&yy182, &&yy182, &&yy206, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy206, &&yy206, &&yy206, &&yy182, &&yy182, &&yy182, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy182, &&yy206, &&yy182, &&yy206, &&yy182, &&yy182,
- &&yy182, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy243, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy182, &&yy182, &&yy182, &&yy206, &&yy204,
- &&yy182, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy243, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy182, &&yy206, &&yy182, &&yy206, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182
+ &&yy162, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy162, &&yy162, &&yy137, &&yy137, &&yy162, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy162, &&yy162, &&yy162, &&yy137, &&yy137, &&yy137, &&yy162, &&yy162,
+ &&yy162, &&yy162, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy137, &&yy162, &&yy137, &&yy162, &&yy137, &&yy137,
+ &&yy137, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy197, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy137, &&yy137, &&yy137, &&yy162, &&yy160,
+ &&yy137, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy197, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy137, &&yy162, &&yy137, &&yy162, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137
};
goto *yytarget[yych];
}
-yy230:
- YYDEBUG(230, *YYCURSOR);
- yyaccept = 4;
+yy184:
+ YYDEBUG(184, *YYCURSOR);
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
{
static void *yytarget[256] = {
- &&yy206, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy206, &&yy206, &&yy182, &&yy182, &&yy206, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy206, &&yy206, &&yy206, &&yy182, &&yy182, &&yy182, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy182, &&yy206, &&yy182, &&yy206, &&yy182, &&yy182,
- &&yy182, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy244, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy182, &&yy182, &&yy182, &&yy206, &&yy204,
- &&yy182, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy244, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy182, &&yy206, &&yy182, &&yy206, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182
+ &&yy162, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy162, &&yy162, &&yy137, &&yy137, &&yy162, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy162, &&yy162, &&yy162, &&yy137, &&yy137, &&yy137, &&yy162, &&yy162,
+ &&yy162, &&yy162, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy137, &&yy162, &&yy137, &&yy162, &&yy137, &&yy137,
+ &&yy137, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy198, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy137, &&yy137, &&yy137, &&yy162, &&yy160,
+ &&yy137, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy198, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy137, &&yy162, &&yy137, &&yy162, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137
};
goto *yytarget[yych];
}
-yy231:
- YYDEBUG(231, *YYCURSOR);
- yyaccept = 6;
+yy185:
+ YYDEBUG(185, *YYCURSOR);
+ yyaccept = 4;
yych = *(YYMARKER = ++YYCURSOR);
{
static void *yytarget[256] = {
- &&yy232, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy245, &&yy232, &&yy182, &&yy182, &&yy232, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy245, &&yy232, &&yy232, &&yy182, &&yy182, &&yy182, &&yy232, &&yy232,
- &&yy232, &&yy232, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy182, &&yy232, &&yy182, &&yy232, &&yy182, &&yy182,
- &&yy182, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy182, &&yy182, &&yy182, &&yy232, &&yy204,
- &&yy182, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy182, &&yy232, &&yy182, &&yy232, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182
+ &&yy186, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy199, &&yy186, &&yy137, &&yy137, &&yy186, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy199, &&yy186, &&yy186, &&yy137, &&yy137, &&yy137, &&yy186, &&yy186,
+ &&yy186, &&yy186, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy137, &&yy186, &&yy137, &&yy186, &&yy137, &&yy137,
+ &&yy137, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy137, &&yy137, &&yy137, &&yy186, &&yy160,
+ &&yy137, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy137, &&yy186, &&yy137, &&yy186, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137
};
goto *yytarget[yych];
}
-yy232:
- YYDEBUG(232, *YYCURSOR);
+yy186:
+ YYDEBUG(186, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{ /* TRUE value (when used outside option value/offset this causes parse error!) */
RETURN_TOKEN(BOOL_TRUE, "1", 1);
}
-yy233:
- YYDEBUG(233, *YYCURSOR);
- yyaccept = 4;
+yy187:
+ YYDEBUG(187, *YYCURSOR);
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
{
static void *yytarget[256] = {
- &&yy206, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy206, &&yy206, &&yy182, &&yy182, &&yy206, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy206, &&yy206, &&yy206, &&yy182, &&yy182, &&yy182, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy182, &&yy206, &&yy182, &&yy206, &&yy182, &&yy182,
- &&yy182, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy247, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy182, &&yy182, &&yy182, &&yy206, &&yy204,
- &&yy182, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy247, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy182, &&yy206, &&yy182, &&yy206, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182
+ &&yy162, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy162, &&yy162, &&yy137, &&yy137, &&yy162, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy162, &&yy162, &&yy162, &&yy137, &&yy137, &&yy137, &&yy162, &&yy162,
+ &&yy162, &&yy162, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy137, &&yy162, &&yy137, &&yy162, &&yy137, &&yy137,
+ &&yy137, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy201, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy137, &&yy137, &&yy137, &&yy162, &&yy160,
+ &&yy137, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy201, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy137, &&yy162, &&yy137, &&yy162, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137
};
goto *yytarget[yych];
}
-yy234:
- YYDEBUG(234, *YYCURSOR);
- yyaccept = 4;
+yy188:
+ YYDEBUG(188, *YYCURSOR);
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
{
static void *yytarget[256] = {
- &&yy206, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy206, &&yy206, &&yy182, &&yy182, &&yy206, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy206, &&yy206, &&yy206, &&yy182, &&yy182, &&yy182, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy182, &&yy206, &&yy182, &&yy206, &&yy182, &&yy182,
- &&yy182, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy231, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy182, &&yy182, &&yy182, &&yy206, &&yy204,
- &&yy182, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy231, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy182, &&yy206, &&yy182, &&yy206, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182
+ &&yy162, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy162, &&yy162, &&yy137, &&yy137, &&yy162, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy162, &&yy162, &&yy162, &&yy137, &&yy137, &&yy137, &&yy162, &&yy162,
+ &&yy162, &&yy162, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy137, &&yy162, &&yy137, &&yy162, &&yy137, &&yy137,
+ &&yy137, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy185, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy137, &&yy137, &&yy137, &&yy162, &&yy160,
+ &&yy137, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy185, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy137, &&yy162, &&yy137, &&yy162, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137
};
goto *yytarget[yych];
}
-yy235:
- YYDEBUG(235, *YYCURSOR);
+yy189:
+ YYDEBUG(189, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(236, *YYCURSOR);
+ YYDEBUG(190, *YYCURSOR);
if (yybm[0+yych] & 128) {
- goto yy235;
+ goto yy189;
}
- if (yych <= 0x00) goto yy183;
- if (yych == '\\') goto yy216;
- goto yy181;
-yy237:
- YYDEBUG(237, *YYCURSOR);
+ if (yych <= 0x00) goto yy138;
+ if (yych == '\\') goto yy170;
+ goto yy136;
+yy191:
+ YYDEBUG(191, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(238, *YYCURSOR);
+ YYDEBUG(192, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{ /* Raw string */
/* Eat leading and trailing single quotes */
@@ -3450,374 +2960,581 @@ yy237:
}
RETURN_TOKEN(TC_RAW, yytext, yyleng);
}
-yy239:
- YYDEBUG(239, *YYCURSOR);
- yyaccept = 4;
+yy193:
+ YYDEBUG(193, *YYCURSOR);
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
{
static void *yytarget[256] = {
- &&yy206, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy206, &&yy206, &&yy182, &&yy182, &&yy206, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy206, &&yy206, &&yy206, &&yy182, &&yy182, &&yy182, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy182, &&yy206, &&yy182, &&yy206, &&yy182, &&yy182,
- &&yy182, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy242, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy182, &&yy182, &&yy182, &&yy206, &&yy204,
- &&yy182, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy242, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy182, &&yy206, &&yy182, &&yy206, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182
+ &&yy162, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy162, &&yy162, &&yy137, &&yy137, &&yy162, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy162, &&yy162, &&yy162, &&yy137, &&yy137, &&yy137, &&yy162, &&yy162,
+ &&yy162, &&yy162, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy137, &&yy162, &&yy137, &&yy162, &&yy137, &&yy137,
+ &&yy137, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy196, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy137, &&yy137, &&yy137, &&yy162, &&yy160,
+ &&yy137, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy196, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy137, &&yy162, &&yy137, &&yy162, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137
};
goto *yytarget[yych];
}
-yy240:
- YYDEBUG(240, *YYCURSOR);
+yy194:
+ YYDEBUG(194, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(241, *YYCURSOR);
- if (yych == '\t') goto yy240;
- if (yych == ' ') goto yy240;
- goto yy228;
-yy242:
- YYDEBUG(242, *YYCURSOR);
- yyaccept = 4;
+ YYDEBUG(195, *YYCURSOR);
+ if (yych == '\t') goto yy194;
+ if (yych == ' ') goto yy194;
+ goto yy182;
+yy196:
+ YYDEBUG(196, *YYCURSOR);
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
{
static void *yytarget[256] = {
- &&yy206, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy206, &&yy206, &&yy182, &&yy182, &&yy206, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy206, &&yy206, &&yy206, &&yy182, &&yy182, &&yy182, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy182, &&yy206, &&yy182, &&yy206, &&yy182, &&yy182,
- &&yy182, &&yy204, &&yy204, &&yy204, &&yy204, &&yy244, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy182, &&yy182, &&yy182, &&yy206, &&yy204,
- &&yy182, &&yy204, &&yy204, &&yy204, &&yy204, &&yy244, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy182, &&yy206, &&yy182, &&yy206, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182
+ &&yy162, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy162, &&yy162, &&yy137, &&yy137, &&yy162, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy162, &&yy162, &&yy162, &&yy137, &&yy137, &&yy137, &&yy162, &&yy162,
+ &&yy162, &&yy162, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy137, &&yy162, &&yy137, &&yy162, &&yy137, &&yy137,
+ &&yy137, &&yy160, &&yy160, &&yy160, &&yy160, &&yy198, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy137, &&yy137, &&yy137, &&yy162, &&yy160,
+ &&yy137, &&yy160, &&yy160, &&yy160, &&yy160, &&yy198, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy137, &&yy162, &&yy137, &&yy162, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137
};
goto *yytarget[yych];
}
-yy243:
- YYDEBUG(243, *YYCURSOR);
- yyaccept = 4;
+yy197:
+ YYDEBUG(197, *YYCURSOR);
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
{
static void *yytarget[256] = {
- &&yy206, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy206, &&yy206, &&yy182, &&yy182, &&yy206, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy206, &&yy206, &&yy206, &&yy182, &&yy182, &&yy182, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy182, &&yy206, &&yy182, &&yy206, &&yy182, &&yy182,
- &&yy182, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy248, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy182, &&yy182, &&yy182, &&yy206, &&yy204,
- &&yy182, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy248, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy182, &&yy206, &&yy182, &&yy206, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182
+ &&yy162, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy162, &&yy162, &&yy137, &&yy137, &&yy162, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy162, &&yy162, &&yy162, &&yy137, &&yy137, &&yy137, &&yy162, &&yy162,
+ &&yy162, &&yy162, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy137, &&yy162, &&yy137, &&yy162, &&yy137, &&yy137,
+ &&yy137, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy202, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy137, &&yy137, &&yy137, &&yy162, &&yy160,
+ &&yy137, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy202, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy137, &&yy162, &&yy137, &&yy162, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137
};
goto *yytarget[yych];
}
-yy244:
- YYDEBUG(244, *YYCURSOR);
- yyaccept = 5;
+yy198:
+ YYDEBUG(198, *YYCURSOR);
+ yyaccept = 3;
yych = *(YYMARKER = ++YYCURSOR);
{
static void *yytarget[256] = {
- &&yy228, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy240, &&yy228, &&yy182, &&yy182, &&yy228, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy240, &&yy228, &&yy228, &&yy182, &&yy182, &&yy182, &&yy228, &&yy228,
- &&yy228, &&yy228, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy182, &&yy228, &&yy182, &&yy228, &&yy182, &&yy182,
- &&yy182, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy182, &&yy182, &&yy182, &&yy228, &&yy204,
- &&yy182, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy182, &&yy228, &&yy182, &&yy228, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182
+ &&yy182, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy194, &&yy182, &&yy137, &&yy137, &&yy182, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy194, &&yy182, &&yy182, &&yy137, &&yy137, &&yy137, &&yy182, &&yy182,
+ &&yy182, &&yy182, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy137, &&yy182, &&yy137, &&yy182, &&yy137, &&yy137,
+ &&yy137, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy137, &&yy137, &&yy137, &&yy182, &&yy160,
+ &&yy137, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy137, &&yy182, &&yy137, &&yy182, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137
};
goto *yytarget[yych];
}
-yy245:
- YYDEBUG(245, *YYCURSOR);
+yy199:
+ YYDEBUG(199, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(246, *YYCURSOR);
- if (yych == '\t') goto yy245;
- if (yych == ' ') goto yy245;
- goto yy232;
-yy247:
- YYDEBUG(247, *YYCURSOR);
- yyaccept = 4;
+ YYDEBUG(200, *YYCURSOR);
+ if (yych == '\t') goto yy199;
+ if (yych == ' ') goto yy199;
+ goto yy186;
+yy201:
+ YYDEBUG(201, *YYCURSOR);
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
{
static void *yytarget[256] = {
- &&yy206, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy206, &&yy206, &&yy182, &&yy182, &&yy206, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy206, &&yy206, &&yy206, &&yy182, &&yy182, &&yy182, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy182, &&yy206, &&yy182, &&yy206, &&yy182, &&yy182,
- &&yy182, &&yy204, &&yy204, &&yy204, &&yy204, &&yy231, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy182, &&yy182, &&yy182, &&yy206, &&yy204,
- &&yy182, &&yy204, &&yy204, &&yy204, &&yy204, &&yy231, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy182, &&yy206, &&yy182, &&yy206, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182
+ &&yy162, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy162, &&yy162, &&yy137, &&yy137, &&yy162, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy162, &&yy162, &&yy162, &&yy137, &&yy137, &&yy137, &&yy162, &&yy162,
+ &&yy162, &&yy162, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy137, &&yy162, &&yy137, &&yy162, &&yy137, &&yy137,
+ &&yy137, &&yy160, &&yy160, &&yy160, &&yy160, &&yy185, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy137, &&yy137, &&yy137, &&yy162, &&yy160,
+ &&yy137, &&yy160, &&yy160, &&yy160, &&yy160, &&yy185, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy137, &&yy162, &&yy137, &&yy162, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137
};
goto *yytarget[yych];
}
-yy248:
- YYDEBUG(248, *YYCURSOR);
- yyaccept = 7;
+yy202:
+ YYDEBUG(202, *YYCURSOR);
+ yyaccept = 5;
yych = *(YYMARKER = ++YYCURSOR);
{
static void *yytarget[256] = {
- &&yy249, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy250, &&yy249, &&yy182, &&yy182, &&yy249, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy250, &&yy249, &&yy249, &&yy182, &&yy182, &&yy182, &&yy249, &&yy249,
- &&yy249, &&yy249, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy182, &&yy249, &&yy182, &&yy249, &&yy182, &&yy182,
- &&yy182, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy182, &&yy182, &&yy182, &&yy249, &&yy204,
- &&yy182, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy204, &&yy182, &&yy249, &&yy182, &&yy249, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182,
- &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182, &&yy182
+ &&yy203, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy204, &&yy203, &&yy137, &&yy137, &&yy203, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy204, &&yy203, &&yy203, &&yy137, &&yy137, &&yy137, &&yy203, &&yy203,
+ &&yy203, &&yy203, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy137, &&yy203, &&yy137, &&yy203, &&yy137, &&yy137,
+ &&yy137, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy137, &&yy137, &&yy137, &&yy203, &&yy160,
+ &&yy137, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
+ &&yy160, &&yy160, &&yy160, &&yy137, &&yy203, &&yy137, &&yy203, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137,
+ &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137, &&yy137
};
goto *yytarget[yych];
}
-yy249:
- YYDEBUG(249, *YYCURSOR);
+yy203:
+ YYDEBUG(203, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
RETURN_TOKEN(NULL_NULL, "", 0);
}
-yy250:
- YYDEBUG(250, *YYCURSOR);
+yy204:
+ YYDEBUG(204, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(251, *YYCURSOR);
- if (yych == '\t') goto yy250;
- if (yych == ' ') goto yy250;
- goto yy249;
+ YYDEBUG(205, *YYCURSOR);
+ if (yych == '\t') goto yy204;
+ if (yych == ' ') goto yy204;
+ goto yy203;
+ }
+/* *********************************** */
+yyc_ST_SECTION_RAW:
+ {
+ static const unsigned char yybm[] = {
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 192, 0, 64, 64, 0, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 192, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 0, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ };
+ YYDEBUG(206, *YYCURSOR);
+ YYFILL(1);
+ yych = *YYCURSOR;
+ if (yybm[0+yych] & 64) {
+ goto yy208;
+ }
+ if (yych <= '\r') goto yy211;
+ goto yy213;
+yy208:
+ YYDEBUG(208, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
+ YYDEBUG(209, *YYCURSOR);
+ if (yybm[0+yych] & 64) {
+ goto yy208;
+ }
+ YYDEBUG(210, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */
+ RETURN_TOKEN(TC_RAW, yytext, yyleng);
+}
+yy211:
+ YYDEBUG(211, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(212, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return 0;
+}
+yy213:
+ YYDEBUG(213, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(2);
+ yych = *YYCURSOR;
+ YYDEBUG(214, *YYCURSOR);
+ if (yybm[0+yych] & 128) {
+ goto yy213;
+ }
+ if (yych <= 0x08) goto yy215;
+ if (yych <= '\n') goto yy216;
+ if (yych == '\r') goto yy217;
+yy215:
+ YYDEBUG(215, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ { /* End of section */
+ BEGIN(INITIAL);
+ SCNG(lineno)++;
+ return ']';
+}
+yy216:
+ YYDEBUG(216, *YYCURSOR);
+ ++YYCURSOR;
+ goto yy215;
+yy217:
+ YYDEBUG(217, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '\n') goto yy216;
+ goto yy215;
+ }
+/* *********************************** */
+yyc_ST_DOUBLE_QUOTES:
+ {
+ static const unsigned char yybm[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 128, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 128, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ };
+ YYDEBUG(218, *YYCURSOR);
+ YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych == '"') goto yy222;
+ if (yych == '$') goto yy225;
+ YYDEBUG(220, *YYCURSOR);
+ ++YYCURSOR;
+yy221:
+ YYDEBUG(221, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ { /* Escape double quoted string contents */
+ if (YYCURSOR > YYLIMIT) {
+ return 0;
+ }
+
+ while (YYCURSOR < YYLIMIT) {
+ switch (*YYCURSOR++) {
+ case '"':
+ if (YYCURSOR < YYLIMIT && YYCURSOR[-2] == '\\' && *YYCURSOR != '\r' && *YYCURSOR != '\n') {
+ continue;
+ }
+ break;
+ case '$':
+ if (*YYCURSOR == '{') {
+ break;
+ }
+ continue;
+ case '\\':
+ if (YYCURSOR < YYLIMIT && *YYCURSOR != '"') {
+ YYCURSOR++;
+ }
+ /* fall through */
+ default:
+ continue;
+ }
+
+ YYCURSOR--;
+ break;
+ }
+
+ yyleng = YYCURSOR - SCNG(yy_text);
+
+ zend_ini_escape_string(ini_lval, yytext, yyleng, '"');
+ return TC_QUOTED_STRING;
+}
+yy222:
+ YYDEBUG(222, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
+ YYDEBUG(223, *YYCURSOR);
+ if (yybm[0+yych] & 128) {
+ goto yy222;
+ }
+ YYDEBUG(224, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ { /* Double quoted '"' string ends */
+ yy_pop_state();
+ return '"';
+}
+yy225:
+ YYDEBUG(225, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych != '{') goto yy221;
+ YYDEBUG(226, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(227, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ { /* Variable start */
+ yy_push_state(ST_VARNAME);
+ return TC_DOLLAR_CURLY;
+}
}
/* *********************************** */
yyc_ST_VARNAME:
{
- YYDEBUG(252, *YYCURSOR);
+ YYDEBUG(228, *YYCURSOR);
YYFILL(1);
yych = *YYCURSOR;
{
static void *yytarget[256] = {
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy257, &&yy257, &&yy254, &&yy254, &&yy257, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy257, &&yy257, &&yy254, &&yy257, &&yy254, &&yy257, &&yy254,
- &&yy257, &&yy257, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy257, &&yy254, &&yy257, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy257, &&yy254, &&yy254, &&yy257, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy257, &&yy257, &&yy259, &&yy257, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy233, &&yy233, &&yy230, &&yy230, &&yy233, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy233, &&yy233, &&yy230, &&yy233, &&yy230, &&yy233, &&yy230,
+ &&yy233, &&yy233, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy233, &&yy230, &&yy233, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy233, &&yy230, &&yy230, &&yy233, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy233, &&yy233, &&yy235, &&yy233, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230
};
goto *yytarget[yych];
}
-yy254:
- YYDEBUG(254, *YYCURSOR);
+yy230:
+ YYDEBUG(230, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(255, *YYCURSOR);
+ YYDEBUG(231, *YYCURSOR);
{
static void *yytarget[256] = {
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy256, &&yy256, &&yy254, &&yy254, &&yy256, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy256, &&yy256, &&yy254, &&yy256, &&yy254, &&yy256, &&yy254,
- &&yy256, &&yy256, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy256, &&yy254, &&yy256, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy256, &&yy254, &&yy254, &&yy256, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy256, &&yy256, &&yy256, &&yy256, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
- &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy232, &&yy232, &&yy230, &&yy230, &&yy232, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy232, &&yy232, &&yy230, &&yy232, &&yy230, &&yy232, &&yy230,
+ &&yy232, &&yy232, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy232, &&yy230, &&yy232, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy232, &&yy230, &&yy230, &&yy232, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy232, &&yy232, &&yy232, &&yy232, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230,
+ &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230, &&yy230
};
goto *yytarget[yych];
}
-yy256:
- YYDEBUG(256, *YYCURSOR);
+yy232:
+ YYDEBUG(232, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{ /* Variable name */
/* Eat leading whitespace */
@@ -3828,24 +3545,260 @@ yy256:
RETURN_TOKEN(TC_VARNAME, yytext, yyleng);
}
-yy257:
- YYDEBUG(257, *YYCURSOR);
+yy233:
+ YYDEBUG(233, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(258, *YYCURSOR);
+ YYDEBUG(234, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return 0;
}
-yy259:
- YYDEBUG(259, *YYCURSOR);
+yy235:
+ YYDEBUG(235, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(260, *YYCURSOR);
+ YYDEBUG(236, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{ /* Variable end */
yy_pop_state();
return '}';
}
}
+/* *********************************** */
+yyc_ST_RAW:
+ {
+ static const unsigned char yybm[] = {
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 192, 0, 64, 64, 0, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 192, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ };
+ YYDEBUG(237, *YYCURSOR);
+ YYFILL(3);
+ yych = *YYCURSOR;
+ {
+ static void *yytarget[256] = {
+ &&yy239, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241,
+ &&yy241, &&yy243, &&yy244, &&yy241, &&yy241, &&yy246, &&yy241, &&yy241,
+ &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241,
+ &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241,
+ &&yy243, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241,
+ &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241,
+ &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241,
+ &&yy241, &&yy241, &&yy241, &&yy247, &&yy241, &&yy241, &&yy241, &&yy241,
+ &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241,
+ &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241,
+ &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241,
+ &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241,
+ &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241,
+ &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241,
+ &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241,
+ &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241,
+ &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241,
+ &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241,
+ &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241,
+ &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241,
+ &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241,
+ &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241,
+ &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241,
+ &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241,
+ &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241,
+ &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241,
+ &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241,
+ &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241,
+ &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241,
+ &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241,
+ &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241,
+ &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241, &&yy241
+ };
+ goto *yytarget[yych];
+ }
+yy239:
+ YYDEBUG(239, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(240, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ { /* End of option value (if EOF is reached before EOL */
+ BEGIN(INITIAL);
+ return END_OF_LINE;
+}
+yy241:
+ YYDEBUG(241, *YYCURSOR);
+ ++YYCURSOR;
+yy242:
+ YYDEBUG(242, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */
+ unsigned char *sc = NULL;
+ while (YYCURSOR < YYLIMIT) {
+ switch (*YYCURSOR) {
+ case '\n':
+ case '\r':
+ goto end_raw_value_chars;
+ break;
+ case ';':
+ if (sc == NULL) {
+ sc = YYCURSOR;
+ }
+ /* no break */
+ default:
+ YYCURSOR++;
+ break;
+ }
+ }
+end_raw_value_chars:
+ yyleng = YYCURSOR - SCNG(yy_text);
+
+ /* Eat trailing semicolons */
+ while (yytext[yyleng - 1] == ';') {
+ yyleng--;
+ }
+
+ /* Eat leading and trailing double quotes */
+ if (yytext[0] == '"' && yytext[yyleng - 1] == '"') {
+ SCNG(yy_text)++;
+ yyleng = yyleng - 2;
+ } else if (sc) {
+ YYCURSOR = sc;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ }
+ RETURN_TOKEN(TC_RAW, yytext, yyleng);
+}
+yy243:
+ YYDEBUG(243, *YYCURSOR);
+ yych = *++YYCURSOR;
+ {
+ static void *yytarget[256] = {
+ &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242,
+ &&yy242, &&yy250, &&yy250, &&yy242, &&yy242, &&yy250, &&yy242, &&yy242,
+ &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242,
+ &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242,
+ &&yy250, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242,
+ &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242,
+ &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242,
+ &&yy242, &&yy242, &&yy242, &&yy250, &&yy242, &&yy242, &&yy242, &&yy242,
+ &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242,
+ &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242,
+ &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242,
+ &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242,
+ &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242,
+ &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242,
+ &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242,
+ &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242,
+ &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242,
+ &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242,
+ &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242,
+ &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242,
+ &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242,
+ &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242,
+ &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242,
+ &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242,
+ &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242,
+ &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242,
+ &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242,
+ &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242,
+ &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242,
+ &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242,
+ &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242,
+ &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242, &&yy242
+ };
+ goto *yytarget[yych];
+ }
+yy244:
+ YYDEBUG(244, *YYCURSOR);
+ ++YYCURSOR;
+yy245:
+ YYDEBUG(245, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ { /* End of option value */
+ BEGIN(INITIAL);
+ SCNG(lineno)++;
+ return END_OF_LINE;
+}
+yy246:
+ YYDEBUG(246, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '\n') goto yy244;
+ goto yy245;
+yy247:
+ YYDEBUG(247, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(2);
+ yych = *YYCURSOR;
+ YYDEBUG(248, *YYCURSOR);
+ if (yybm[0+yych] & 64) {
+ goto yy247;
+ }
+ if (yych <= '\n') goto yy252;
+ goto yy254;
+yy249:
+ YYDEBUG(249, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(2);
+ yych = *YYCURSOR;
+yy250:
+ YYDEBUG(250, *YYCURSOR);
+ if (yybm[0+yych] & 128) {
+ goto yy249;
+ }
+ if (yych <= '\f') {
+ if (yych <= 0x08) goto yy251;
+ if (yych <= '\n') goto yy244;
+ } else {
+ if (yych <= '\r') goto yy246;
+ if (yych == ';') goto yy247;
+ }
+yy251:
+ YYDEBUG(251, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ /* eat whitespace */
+ goto restart;
+}
+yy252:
+ YYDEBUG(252, *YYCURSOR);
+ ++YYCURSOR;
+yy253:
+ YYDEBUG(253, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ { /* Comment */
+ BEGIN(INITIAL);
+ SCNG(lineno)++;
+ return END_OF_LINE;
+}
+yy254:
+ YYDEBUG(254, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '\n') goto yy252;
+ goto yy253;
+ }
}
}
@@ -3853,9 +3806,10 @@ re2c: warning: line 384: column 13: escape has no effect: '\.' [-Wuseless-escape
re2c: warning: line 384: column 32: escape has no effect: '\.' [-Wuseless-escape]
re2c: warning: line 391: column 27: escape has no effect: '\[' [-Wuseless-escape]
re2c: warning: line 392: column 11: escape has no effect: '\[' [-Wuseless-escape]
-re2c: warning: line 648: unreachable rule in condition 'ST_DOUBLE_QUOTES' (shadowed by rules at lines 582, 587) [-Wunreachable-rules]
+re2c: warning: line 648: unreachable rule in condition 'INITIAL' (shadowed by rules at lines 406, 481, 491, 555, 627, 632, 637) [-Wunreachable-rules]
re2c: warning: line 623: unreachable rule in condition 'ST_OFFSET' (shadowed by rule at line 573) [-Wunreachable-rules]
-re2c: warning: line 648: unreachable rule in condition 'ST_RAW' (shadowed by rules at lines 500, 541, 643) [-Wunreachable-rules]
re2c: warning: line 623: unreachable rule in condition 'ST_SECTION_VALUE' (shadowed by rule at line 573) [-Wunreachable-rules]
re2c: warning: line 648: unreachable rule in condition 'ST_VALUE' (shadowed by rules at lines 541, 547, 551, 559, 563, 569, 577, 623, 643) [-Wunreachable-rules]
+re2c: warning: line 648: unreachable rule in condition 'ST_DOUBLE_QUOTES' (shadowed by rules at lines 582, 587) [-Wunreachable-rules]
+re2c: warning: line 648: unreachable rule in condition 'ST_RAW' (shadowed by rules at lines 500, 541, 643) [-Wunreachable-rules]
re2c: warning: line 652: looks like you use hardcoded numbers instead of autogenerated condition names: better add '/*!types:re2c*/' directive or '-t, --type-header' option and don't rely on fixed condition order. [-Wcondition-order]
diff --git a/test/php20150211_zend_ini_scanner.igcd--skeleton--flex-syntax--case-inverted.c b/test/php20150211_zend_ini_scanner.igcd--skeleton--flex-syntax--case-inverted.c
index c0abe029..b01dc416 100644
--- a/test/php20150211_zend_ini_scanner.igcd--skeleton--flex-syntax--case-inverted.c
+++ b/test/php20150211_zend_ini_scanner.igcd--skeleton--flex-syntax--case-inverted.c
@@ -1,7 +1,9 @@
/* Generated by re2c */
+#include <stddef.h> /* size_t */
#include <stdio.h>
#include <stdlib.h> /* malloc, free */
+#include <string.h> /* memcpy */
static void *read_file
( const char *fname
@@ -47,7 +49,6 @@ error:
}
return NULL;
}
-#define YYMAXFILL 6
#define YYCTYPE unsigned char
#define YYKEYTYPE unsigned char
@@ -57,7 +58,7 @@ error:
#define YYFILL(n) { break; }
static int action_line652_INITIAL
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -65,10 +66,12 @@ static int action_line652_INITIAL
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -78,17 +81,17 @@ static int action_line652_INITIAL
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line652_INITIAL: at position %ld (iteration %u):\n"
+ , "error: lex_line652_INITIAL: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -98,6 +101,13 @@ static int action_line652_INITIAL
}
}
+static int check_key_count_line652_INITIAL(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line652_INITIAL: not enough keys\n");
+ return 1;
+}
+
int lex_line652_INITIAL()
{
const size_t padding = 5; /* YYMAXFILL */
@@ -125,7 +135,7 @@ int lex_line652_INITIAL()
keys = (YYKEYTYPE *) read_file
("php20150211_zend_ini_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line652_INITIAL.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -138,7 +148,7 @@ int lex_line652_INITIAL()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
static const unsigned char yybm[] = {
@@ -258,7 +268,8 @@ yy4:
goto *yytarget[yych];
}
yy5:
- status = action_line652_INITIAL(i, keys, input, token, &cursor, 20);
+ status = check_key_count_line652_INITIAL(keys_count, i, 3)
+ || action_line652_INITIAL(&i, keys, input, token, &cursor, 5);
continue;
yy6:
YYSKIP ();
@@ -273,7 +284,7 @@ yy6:
&&yy6, &&yy8, &&yy8, &&yy8, &&yy8, &&yy8, &&yy8, &&yy8,
&&yy8, &&yy8, &&yy8, &&yy8, &&yy8, &&yy8, &&yy8, &&yy8,
&&yy8, &&yy8, &&yy8, &&yy8, &&yy8, &&yy8, &&yy8, &&yy8,
- &&yy8, &&yy8, &&yy8, &&yy31, &&yy8, &&yy18, &&yy8, &&yy8,
+ &&yy8, &&yy8, &&yy8, &&yy16, &&yy8, &&yy18, &&yy8, &&yy8,
&&yy8, &&yy8, &&yy8, &&yy8, &&yy8, &&yy8, &&yy8, &&yy8,
&&yy8, &&yy8, &&yy8, &&yy8, &&yy8, &&yy8, &&yy8, &&yy8,
&&yy8, &&yy8, &&yy8, &&yy8, &&yy8, &&yy8, &&yy8, &&yy8,
@@ -302,12 +313,14 @@ yy6:
goto *yytarget[yych];
}
yy8:
- status = action_line652_INITIAL(i, keys, input, token, &cursor, 46);
+ status = check_key_count_line652_INITIAL(keys_count, i, 3)
+ || action_line652_INITIAL(&i, keys, input, token, &cursor, 8);
continue;
yy9:
YYSKIP ();
yy10:
- status = action_line652_INITIAL(i, keys, input, token, &cursor, 48);
+ status = check_key_count_line652_INITIAL(keys_count, i, 3)
+ || action_line652_INITIAL(&i, keys, input, token, &cursor, 9);
continue;
yy11:
YYSKIP ();
@@ -327,7 +340,7 @@ yy12:
&&yy12, &&yy5, &&yy5, &&yy3, &&yy5, &&yy3, &&yy5, &&yy3,
&&yy5, &&yy5, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy31, &&yy3, &&yy18, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy16, &&yy3, &&yy18, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
@@ -357,27 +370,32 @@ yy12:
}
yy14:
YYSKIP ();
- status = action_line652_INITIAL(i, keys, input, token, &cursor, 32);
+ status = check_key_count_line652_INITIAL(keys_count, i, 3)
+ || action_line652_INITIAL(&i, keys, input, token, &cursor, 7);
continue;
yy16:
YYSKIP ();
+ if (YYLESSTHAN (2)) YYFILL(2);
yych = YYPEEK ();
- goto yy32;
- status = action_line652_INITIAL(i, keys, input, token, &cursor, 55);
- continue;
+ if (yybm[0+yych] & 128) {
+ goto yy16;
+ }
+ if (yych <= '\n') goto yy31;
+ goto yy33;
yy18:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
if (yych == '\t') goto yy18;
if (yych == ' ') goto yy18;
- status = action_line652_INITIAL(i, keys, input, token, &cursor, 21);
+ status = check_key_count_line652_INITIAL(keys_count, i, 3)
+ || action_line652_INITIAL(&i, keys, input, token, &cursor, 6);
continue;
yy21:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'A') goto yy36;
- if (yych == 'a') goto yy36;
+ if (yych == 'A') goto yy34;
+ if (yych == 'a') goto yy34;
goto yy4;
yy22:
YYSKIP ();
@@ -393,12 +411,12 @@ yy22:
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy37,
- &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy39, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy35,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy37, &&yy4, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy37,
- &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy39, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy35,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy37, &&yy4, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
@@ -432,12 +450,12 @@ yy23:
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy40, &&yy4,
- &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy41, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy38, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy39, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy40, &&yy4,
- &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy41, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy38, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy39, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
@@ -462,18 +480,19 @@ yy23:
yy24:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'R') goto yy44;
- if (yych == 'r') goto yy44;
+ if (yych == 'R') goto yy42;
+ if (yych == 'r') goto yy42;
goto yy4;
yy25:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy45;
- if (yych == 'e') goto yy45;
+ if (yych == 'E') goto yy43;
+ if (yych == 'e') goto yy43;
goto yy4;
yy26:
YYSKIP ();
- status = action_line652_INITIAL(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line652_INITIAL(keys_count, i, 3)
+ || action_line652_INITIAL(&i, keys, input, token, &cursor, 0);
continue;
yy28:
YYSKIP ();
@@ -481,53 +500,47 @@ yy28:
yych = YYPEEK ();
if (yych == '\t') goto yy28;
if (yych == ' ') goto yy28;
- status = action_line652_INITIAL(i, keys, input, token, &cursor, 6);
+ status = check_key_count_line652_INITIAL(keys_count, i, 3)
+ || action_line652_INITIAL(&i, keys, input, token, &cursor, 1);
continue;
yy31:
YYSKIP ();
- if (YYLESSTHAN (2)) YYFILL(2);
- yych = YYPEEK ();
yy32:
- if (yybm[0+yych] & 128) {
- goto yy31;
- }
- if (yych >= '\v') goto yy35;
-yy33:
- YYSKIP ();
-yy34:
- status = action_line652_INITIAL(i, keys, input, token, &cursor, 49);
+ status = check_key_count_line652_INITIAL(keys_count, i, 3)
+ || action_line652_INITIAL(&i, keys, input, token, &cursor, 10);
continue;
-yy35:
+yy33:
YYSKIP ();
yych = YYPEEK ();
- if (yych == '\n') goto yy33;
- goto yy34;
-yy36:
+ if (yych == '\n') goto yy31;
+ goto yy32;
+yy34:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'L') goto yy46;
- if (yych == 'l') goto yy46;
+ if (yych == 'L') goto yy44;
+ if (yych == 'l') goto yy44;
goto yy4;
-yy37:
+yy35:
YYSKIP ();
+ yych = YYPEEK ();
{
static void *yytarget[256] = {
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy4, &&yy47, &&yy38, &&yy4, &&yy4, &&yy38, &&yy4, &&yy4,
+ &&yy4, &&yy45, &&yy36, &&yy4, &&yy4, &&yy36, &&yy4, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy49, &&yy38, &&yy38, &&yy4, &&yy38, &&yy4, &&yy38, &&yy4,
- &&yy38, &&yy38, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy47, &&yy36, &&yy36, &&yy4, &&yy36, &&yy4, &&yy36, &&yy4,
+ &&yy36, &&yy36, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy4, &&yy4, &&yy4, &&yy38, &&yy4, &&yy38, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy36, &&yy4, &&yy36, &&yy4, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy51, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy49, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy38, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy36, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy51, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy49, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
- &&yy4, &&yy4, &&yy4, &&yy38, &&yy38, &&yy38, &&yy38, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy36, &&yy36, &&yy36, &&yy36, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
@@ -545,45 +558,46 @@ yy37:
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
&&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4
};
- goto *yytarget[(yych = YYPEEK ())];
+ goto *yytarget[yych];
}
-yy38:
- status = action_line652_INITIAL(i, keys, input, token, &cursor, 16);
+yy36:
+ status = check_key_count_line652_INITIAL(keys_count, i, 3)
+ || action_line652_INITIAL(&i, keys, input, token, &cursor, 3);
continue;
-yy39:
+yy37:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'L') goto yy52;
- if (yych == 'l') goto yy52;
+ if (yych == 'L') goto yy50;
+ if (yych == 'l') goto yy50;
goto yy4;
-yy40:
+yy38:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'F') goto yy49;
- if (yych == 'f') goto yy49;
+ if (yych == 'F') goto yy47;
+ if (yych == 'f') goto yy47;
goto yy4;
-yy41:
+yy39:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
{
static void *yytarget[256] = {
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy53, &&yy43, &&yy3, &&yy3, &&yy43, &&yy3, &&yy3,
+ &&yy3, &&yy51, &&yy41, &&yy3, &&yy3, &&yy41, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy41, &&yy43, &&yy43, &&yy3, &&yy43, &&yy3, &&yy43, &&yy3,
- &&yy43, &&yy43, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy39, &&yy41, &&yy41, &&yy3, &&yy41, &&yy3, &&yy41, &&yy3,
+ &&yy41, &&yy41, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy43, &&yy3, &&yy43, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy41, &&yy3, &&yy41, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy28, &&yy3, &&yy3, &&yy43, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy28, &&yy3, &&yy3, &&yy41, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy43, &&yy43, &&yy43, &&yy43, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy41, &&yy41, &&yy41, &&yy41, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
@@ -603,56 +617,57 @@ yy41:
};
goto *yytarget[yych];
}
-yy43:
- status = action_line652_INITIAL(i, keys, input, token, &cursor, 14);
+yy41:
+ status = check_key_count_line652_INITIAL(keys_count, i, 3)
+ || action_line652_INITIAL(&i, keys, input, token, &cursor, 2);
continue;
-yy44:
+yy42:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'U') goto yy55;
- if (yych == 'u') goto yy55;
+ if (yych == 'U') goto yy53;
+ if (yych == 'u') goto yy53;
goto yy4;
-yy45:
+yy43:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'S') goto yy41;
- if (yych == 's') goto yy41;
+ if (yych == 'S') goto yy39;
+ if (yych == 's') goto yy39;
goto yy4;
-yy46:
+yy44:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'S') goto yy51;
- if (yych == 's') goto yy51;
+ if (yych == 'S') goto yy49;
+ if (yych == 's') goto yy49;
goto yy4;
-yy47:
+yy45:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
- if (yych == '\t') goto yy47;
- if (yych == ' ') goto yy47;
- goto yy38;
-yy49:
+ if (yych == '\t') goto yy45;
+ if (yych == ' ') goto yy45;
+ goto yy36;
+yy47:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
{
static void *yytarget[256] = {
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy47, &&yy38, &&yy3, &&yy3, &&yy38, &&yy3, &&yy3,
+ &&yy3, &&yy45, &&yy36, &&yy3, &&yy3, &&yy36, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy49, &&yy38, &&yy38, &&yy3, &&yy38, &&yy3, &&yy38, &&yy3,
- &&yy38, &&yy38, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy47, &&yy36, &&yy36, &&yy3, &&yy36, &&yy3, &&yy36, &&yy3,
+ &&yy36, &&yy36, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy38, &&yy3, &&yy38, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy36, &&yy3, &&yy36, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy28, &&yy3, &&yy3, &&yy38, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy28, &&yy3, &&yy3, &&yy36, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy38, &&yy38, &&yy38, &&yy38, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy36, &&yy36, &&yy36, &&yy36, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
@@ -672,53 +687,53 @@ yy49:
};
goto *yytarget[yych];
}
-yy51:
+yy49:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy49;
- if (yych == 'e') goto yy49;
+ if (yych == 'E') goto yy47;
+ if (yych == 'e') goto yy47;
goto yy4;
-yy52:
+yy50:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'L') goto yy56;
- if (yych == 'l') goto yy56;
+ if (yych == 'L') goto yy54;
+ if (yych == 'l') goto yy54;
goto yy4;
-yy53:
+yy51:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
- if (yych == '\t') goto yy53;
- if (yych == ' ') goto yy53;
- goto yy43;
-yy55:
+ if (yych == '\t') goto yy51;
+ if (yych == ' ') goto yy51;
+ goto yy41;
+yy53:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy41;
- if (yych == 'e') goto yy41;
+ if (yych == 'E') goto yy39;
+ if (yych == 'e') goto yy39;
goto yy4;
-yy56:
+yy54:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
{
static void *yytarget[256] = {
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy59, &&yy58, &&yy3, &&yy3, &&yy58, &&yy3, &&yy3,
+ &&yy3, &&yy57, &&yy56, &&yy3, &&yy3, &&yy56, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy56, &&yy58, &&yy58, &&yy3, &&yy58, &&yy3, &&yy58, &&yy3,
- &&yy58, &&yy58, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy54, &&yy56, &&yy56, &&yy3, &&yy56, &&yy3, &&yy56, &&yy3,
+ &&yy56, &&yy56, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy58, &&yy3, &&yy58, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy56, &&yy3, &&yy56, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy28, &&yy3, &&yy3, &&yy58, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy28, &&yy3, &&yy3, &&yy56, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
- &&yy3, &&yy3, &&yy3, &&yy58, &&yy58, &&yy58, &&yy58, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy56, &&yy56, &&yy56, &&yy56, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
&&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
@@ -738,16 +753,17 @@ yy56:
};
goto *yytarget[yych];
}
-yy58:
- status = action_line652_INITIAL(i, keys, input, token, &cursor, 18);
+yy56:
+ status = check_key_count_line652_INITIAL(keys_count, i, 3)
+ || action_line652_INITIAL(&i, keys, input, token, &cursor, 4);
continue;
-yy59:
+yy57:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
- if (yych == '\t') goto yy59;
- if (yych == ' ') goto yy59;
- goto yy58;
+ if (yych == '\t') goto yy57;
+ if (yych == ' ') goto yy57;
+ goto yy56;
}
if (status == 0) {
@@ -758,186 +774,7 @@ yy59:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line652_INITIAL: unused keys left after %u iterations\n", i);
- }
- }
-
-end:
- free(input);
- free(keys);
-
- return status;
-}
-
-#undef YYCTYPE
-#undef YYKEYTYPE
-#undef YYPEEK
-#undef YYSKIP
-#undef YYLESSTHAN
-#undef YYFILL
-
-#define YYCTYPE unsigned char
-#define YYKEYTYPE unsigned char
-#define YYPEEK() *cursor
-#define YYSKIP() ++cursor
-#define YYLESSTHAN(n) (limit - cursor) < n
-#define YYFILL(n) { break; }
-
-static int action_line652_ST_DOUBLE_QUOTES
- ( unsigned int i
- , const YYKEYTYPE *keys
- , const YYCTYPE *start
- , const YYCTYPE *token
- , const YYCTYPE **cursor
- , YYKEYTYPE rule_act
- )
-{
- const long pos = token - start;
- const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
- if (rule_exp == 255) {
- fprintf
- ( stderr
- , "warning: lex_line652_ST_DOUBLE_QUOTES: control flow is undefined for input"
- " at position %ld, rerun re2c with '-W'\n"
- , pos
- );
- }
- if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
- *cursor = token + offset;
- return 0;
- } else {
- fprintf
- ( stderr
- , "error: lex_line652_ST_DOUBLE_QUOTES: at position %ld (iteration %u):\n"
- "\texpected: match length %ld, rule %u\n"
- "\tactual: match length %ld, rule %u\n"
- , pos
- , i
- , len_exp
- , rule_exp
- , len_act
- , rule_act
- );
- return 1;
- }
-}
-
-int lex_line652_ST_DOUBLE_QUOTES()
-{
- const size_t padding = 2; /* YYMAXFILL */
- int status = 0;
- size_t input_len = 0;
- size_t keys_count = 0;
- YYCTYPE *input = NULL;
- YYKEYTYPE *keys = NULL;
- const YYCTYPE *cursor = NULL;
- const YYCTYPE *limit = NULL;
- const YYCTYPE *token = NULL;
- const YYCTYPE *eof = NULL;
- unsigned int i = 0;
-
- input = (YYCTYPE *) read_file
- ("php20150211_zend_ini_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line652_ST_DOUBLE_QUOTES.input"
- , sizeof (YYCTYPE)
- , padding
- , &input_len
- );
- if (input == NULL) {
- status = 1;
- goto end;
- }
-
- keys = (YYKEYTYPE *) read_file
- ("php20150211_zend_ini_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line652_ST_DOUBLE_QUOTES.keys"
- , 3 * sizeof (YYKEYTYPE)
- , 0
- , &keys_count
- );
- if (keys == NULL) {
- status = 1;
- goto end;
- }
-
- cursor = input;
- limit = input + input_len + padding;
- eof = input + input_len;
-
- for (i = 0; status == 0 && i < keys_count; ++i) {
- token = cursor;
- YYCTYPE yych;
- static const unsigned char yybm[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 128, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 128, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- };
-
- if (YYLESSTHAN (2)) YYFILL(2);
- yych = YYPEEK ();
- if (yych == '"') goto yy66;
- if (yych == '$') goto yy69;
- YYSKIP ();
-yy65:
- status = action_line652_ST_DOUBLE_QUOTES(i, keys, input, token, &cursor, 42);
- continue;
-yy66:
- YYSKIP ();
- if (YYLESSTHAN (1)) YYFILL(1);
- yych = YYPEEK ();
- if (yybm[0+yych] & 128) {
- goto yy66;
- }
- status = action_line652_ST_DOUBLE_QUOTES(i, keys, input, token, &cursor, 41);
- continue;
-yy69:
- YYSKIP ();
- yych = YYPEEK ();
- if (yych != '{') goto yy65;
- YYSKIP ();
- status = action_line652_ST_DOUBLE_QUOTES(i, keys, input, token, &cursor, 8);
- continue;
-
- }
- if (status == 0) {
- if (cursor != eof) {
- status = 1;
- const long pos = token - input;
- fprintf(stderr, "error: lex_line652_ST_DOUBLE_QUOTES: unused input strings left at position %ld\n", pos);
- }
- if (i != keys_count) {
- status = 1;
- fprintf(stderr, "error: lex_line652_ST_DOUBLE_QUOTES: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line652_INITIAL: unused keys left after %u keys\n", i);
}
}
@@ -965,7 +802,7 @@ end:
#define YYFILL(n) { break; }
static int action_line652_ST_OFFSET
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -973,10 +810,12 @@ static int action_line652_ST_OFFSET
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -986,17 +825,17 @@ static int action_line652_ST_OFFSET
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line652_ST_OFFSET: at position %ld (iteration %u):\n"
+ , "error: lex_line652_ST_OFFSET: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -1006,6 +845,13 @@ static int action_line652_ST_OFFSET
}
}
+static int check_key_count_line652_ST_OFFSET(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line652_ST_OFFSET: not enough keys\n");
+ return 1;
+}
+
int lex_line652_ST_OFFSET()
{
const size_t padding = 2; /* YYMAXFILL */
@@ -1033,7 +879,7 @@ int lex_line652_ST_OFFSET()
keys = (YYKEYTYPE *) read_file
("php20150211_zend_ini_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line652_ST_OFFSET.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -1046,7 +892,7 @@ int lex_line652_ST_OFFSET()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -1090,59 +936,60 @@ int lex_line652_ST_OFFSET()
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy78, &&yy80, &&yy75, &&yy75, &&yy80, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy78, &&yy75, &&yy82, &&yy75, &&yy84, &&yy75, &&yy75, &&yy85,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy86, &&yy86, &&yy75,
- &&yy87, &&yy87, &&yy87, &&yy87, &&yy87, &&yy87, &&yy87, &&yy87,
- &&yy87, &&yy87, &&yy75, &&yy80, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy90, &&yy90, &&yy90, &&yy90, &&yy90, &&yy90, &&yy90,
- &&yy90, &&yy90, &&yy90, &&yy90, &&yy90, &&yy90, &&yy90, &&yy90,
- &&yy90, &&yy90, &&yy90, &&yy90, &&yy90, &&yy90, &&yy90, &&yy90,
- &&yy90, &&yy90, &&yy90, &&yy75, &&yy93, &&yy94, &&yy75, &&yy90,
- &&yy75, &&yy90, &&yy90, &&yy90, &&yy90, &&yy90, &&yy90, &&yy90,
- &&yy90, &&yy90, &&yy90, &&yy90, &&yy90, &&yy90, &&yy90, &&yy90,
- &&yy90, &&yy90, &&yy90, &&yy90, &&yy90, &&yy90, &&yy90, &&yy90,
- &&yy90, &&yy90, &&yy90, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy65, &&yy67, &&yy62, &&yy62, &&yy67, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy65, &&yy62, &&yy69, &&yy62, &&yy71, &&yy62, &&yy62, &&yy72,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy73, &&yy73, &&yy62,
+ &&yy74, &&yy74, &&yy74, &&yy74, &&yy74, &&yy74, &&yy74, &&yy74,
+ &&yy74, &&yy74, &&yy62, &&yy67, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy77, &&yy77, &&yy77, &&yy77, &&yy77, &&yy77, &&yy77,
+ &&yy77, &&yy77, &&yy77, &&yy77, &&yy77, &&yy77, &&yy77, &&yy77,
+ &&yy77, &&yy77, &&yy77, &&yy77, &&yy77, &&yy77, &&yy77, &&yy77,
+ &&yy77, &&yy77, &&yy77, &&yy62, &&yy80, &&yy81, &&yy62, &&yy77,
+ &&yy62, &&yy77, &&yy77, &&yy77, &&yy77, &&yy77, &&yy77, &&yy77,
+ &&yy77, &&yy77, &&yy77, &&yy77, &&yy77, &&yy77, &&yy77, &&yy77,
+ &&yy77, &&yy77, &&yy77, &&yy77, &&yy77, &&yy77, &&yy77, &&yy77,
+ &&yy77, &&yy77, &&yy77, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62
};
goto *yytarget[yych];
}
-yy75:
+yy62:
yyaccept = 0;
YYSKIP ();
YYBACKUP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
-yy76:
+yy63:
if (yybm[0+yych] & 4) {
- goto yy75;
+ goto yy62;
}
- if (yych <= '"') goto yy77;
- if (yych <= '$') goto yy96;
- if (yych <= ';') goto yy77;
- if (yych <= '\\') goto yy98;
-yy77:
- status = action_line652_ST_OFFSET(i, keys, input, token, &cursor, 36);
+ if (yych <= '"') goto yy64;
+ if (yych <= '$') goto yy83;
+ if (yych <= ';') goto yy64;
+ if (yych <= '\\') goto yy80;
+yy64:
+ status = check_key_count_line652_ST_OFFSET(keys_count, i, 3)
+ || action_line652_ST_OFFSET(&i, keys, input, token, &cursor, 5);
continue;
-yy78:
+yy65:
yyaccept = 0;
YYSKIP ();
YYBACKUP ();
@@ -1150,275 +997,272 @@ yy78:
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy78, &&yy77, &&yy75, &&yy75, &&yy77, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy78, &&yy75, &&yy82, &&yy75, &&yy96, &&yy75, &&yy75, &&yy77,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy77, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy98, &&yy94, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy65, &&yy64, &&yy62, &&yy62, &&yy64, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy65, &&yy62, &&yy69, &&yy62, &&yy83, &&yy62, &&yy62, &&yy64,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy64, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy80, &&yy81, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62
};
goto *yytarget[yych];
}
-yy80:
+yy67:
YYSKIP ();
-yy81:
- status = action_line652_ST_OFFSET(i, keys, input, token, &cursor, 55);
+yy68:
+ status = check_key_count_line652_ST_OFFSET(keys_count, i, 3)
+ || action_line652_ST_OFFSET(&i, keys, input, token, &cursor, 8);
continue;
-yy82:
+yy69:
YYSKIP ();
- status = action_line652_ST_OFFSET(i, keys, input, token, &cursor, 38);
+ status = check_key_count_line652_ST_OFFSET(keys_count, i, 3)
+ || action_line652_ST_OFFSET(&i, keys, input, token, &cursor, 6);
continue;
-yy84:
+yy71:
YYSKIP ();
yych = YYPEEK ();
if (yych <= '\\') {
- if (yych <= 0x00) goto yy81;
- if (yych <= '[') goto yy75;
- goto yy99;
+ if (yych <= 0x00) goto yy68;
+ if (yych <= '[') goto yy62;
+ goto yy85;
} else {
- if (yych == '{') goto yy101;
- goto yy75;
+ if (yych == '{') goto yy87;
+ goto yy62;
}
-yy85:
- yyaccept = 1;
+yy72:
YYSKIP ();
- YYBACKUP ();
yych = YYPEEK ();
if (yybm[0+yych] & 128) {
- goto yy103;
+ goto yy89;
}
- goto yy81;
-yy86:
+ goto yy68;
+yy73:
yyaccept = 0;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
- if (yych <= '/') goto yy76;
- if (yych <= '9') goto yy105;
- goto yy76;
-yy87:
- yyaccept = 2;
+ if (yych <= '/') goto yy63;
+ if (yych <= '9') goto yy91;
+ goto yy63;
+yy74:
+ yyaccept = 1;
YYSKIP ();
YYBACKUP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy89, &&yy75, &&yy75, &&yy89, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy89, &&yy75, &&yy96, &&yy75, &&yy75, &&yy89,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy105, &&yy75,
- &&yy87, &&yy87, &&yy87, &&yy87, &&yy87, &&yy87, &&yy87, &&yy87,
- &&yy87, &&yy87, &&yy75, &&yy89, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy98, &&yy89, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy76, &&yy62, &&yy62, &&yy76, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy76, &&yy62, &&yy83, &&yy62, &&yy62, &&yy76,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy91, &&yy62,
+ &&yy74, &&yy74, &&yy74, &&yy74, &&yy74, &&yy74, &&yy74, &&yy74,
+ &&yy74, &&yy74, &&yy62, &&yy76, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy80, &&yy76, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62
};
goto *yytarget[yych];
}
-yy89:
- status = action_line652_ST_OFFSET(i, keys, input, token, &cursor, 29);
+yy76:
+ status = check_key_count_line652_ST_OFFSET(keys_count, i, 3)
+ || action_line652_ST_OFFSET(&i, keys, input, token, &cursor, 4);
continue;
-yy90:
- yyaccept = 3;
+yy77:
+ yyaccept = 2;
YYSKIP ();
YYBACKUP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy92, &&yy75, &&yy75, &&yy92, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy92, &&yy75, &&yy96, &&yy75, &&yy75, &&yy92,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy90, &&yy90, &&yy90, &&yy90, &&yy90, &&yy90, &&yy90, &&yy90,
- &&yy90, &&yy90, &&yy75, &&yy92, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy90, &&yy90, &&yy90, &&yy90, &&yy90, &&yy90, &&yy90,
- &&yy90, &&yy90, &&yy90, &&yy90, &&yy90, &&yy90, &&yy90, &&yy90,
- &&yy90, &&yy90, &&yy90, &&yy90, &&yy90, &&yy90, &&yy90, &&yy90,
- &&yy90, &&yy90, &&yy90, &&yy75, &&yy98, &&yy92, &&yy75, &&yy90,
- &&yy75, &&yy90, &&yy90, &&yy90, &&yy90, &&yy90, &&yy90, &&yy90,
- &&yy90, &&yy90, &&yy90, &&yy90, &&yy90, &&yy90, &&yy90, &&yy90,
- &&yy90, &&yy90, &&yy90, &&yy90, &&yy90, &&yy90, &&yy90, &&yy90,
- &&yy90, &&yy90, &&yy90, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy79, &&yy62, &&yy62, &&yy79, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy79, &&yy62, &&yy83, &&yy62, &&yy62, &&yy79,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy77, &&yy77, &&yy77, &&yy77, &&yy77, &&yy77, &&yy77, &&yy77,
+ &&yy77, &&yy77, &&yy62, &&yy79, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy77, &&yy77, &&yy77, &&yy77, &&yy77, &&yy77, &&yy77,
+ &&yy77, &&yy77, &&yy77, &&yy77, &&yy77, &&yy77, &&yy77, &&yy77,
+ &&yy77, &&yy77, &&yy77, &&yy77, &&yy77, &&yy77, &&yy77, &&yy77,
+ &&yy77, &&yy77, &&yy77, &&yy62, &&yy80, &&yy79, &&yy62, &&yy77,
+ &&yy62, &&yy77, &&yy77, &&yy77, &&yy77, &&yy77, &&yy77, &&yy77,
+ &&yy77, &&yy77, &&yy77, &&yy77, &&yy77, &&yy77, &&yy77, &&yy77,
+ &&yy77, &&yy77, &&yy77, &&yy77, &&yy77, &&yy77, &&yy77, &&yy77,
+ &&yy77, &&yy77, &&yy77, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62
};
goto *yytarget[yych];
}
-yy92:
- status = action_line652_ST_OFFSET(i, keys, input, token, &cursor, 26);
+yy79:
+ status = check_key_count_line652_ST_OFFSET(keys_count, i, 3)
+ || action_line652_ST_OFFSET(&i, keys, input, token, &cursor, 3);
continue;
-yy93:
+yy80:
YYSKIP ();
+ if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
- goto yy75;
-yy94:
+ goto yy62;
+yy81:
YYSKIP ();
- status = action_line652_ST_OFFSET(i, keys, input, token, &cursor, 7);
+ status = check_key_count_line652_ST_OFFSET(keys_count, i, 3)
+ || action_line652_ST_OFFSET(&i, keys, input, token, &cursor, 1);
continue;
-yy96:
+yy83:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
if (yych <= '\\') {
- if (yych <= 0x00) goto yy97;
- if (yych <= '[') goto yy75;
- goto yy99;
+ if (yych <= 0x00) goto yy84;
+ if (yych <= '[') goto yy62;
+ goto yy85;
} else {
- if (yych != '{') goto yy75;
+ if (yych != '{') goto yy62;
}
-yy97:
+yy84:
YYRESTORE ();
if (yyaccept <= 1) {
if (yyaccept == 0) {
- goto yy77;
+ goto yy64;
} else {
- goto yy81;
+ goto yy76;
}
} else {
- if (yyaccept == 2) {
- goto yy89;
- } else {
- goto yy92;
- }
+ goto yy79;
}
-yy98:
- YYSKIP ();
- if (YYLESSTHAN (1)) YYFILL(1);
- yych = YYPEEK ();
- goto yy75;
-yy99:
+yy85:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
if (yybm[0+yych] & 64) {
- goto yy99;
+ goto yy85;
}
- goto yy75;
-yy101:
+ goto yy62;
+yy87:
YYSKIP ();
- status = action_line652_ST_OFFSET(i, keys, input, token, &cursor, 9);
+ status = check_key_count_line652_ST_OFFSET(keys_count, i, 3)
+ || action_line652_ST_OFFSET(&i, keys, input, token, &cursor, 2);
continue;
-yy103:
+yy89:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
if (yybm[0+yych] & 128) {
- goto yy103;
+ goto yy89;
}
- goto yy107;
-yy105:
- yyaccept = 2;
+ goto yy93;
+yy91:
+ yyaccept = 1;
YYSKIP ();
YYBACKUP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy89, &&yy75, &&yy75, &&yy89, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy89, &&yy75, &&yy96, &&yy75, &&yy75, &&yy89,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105, &&yy105,
- &&yy105, &&yy105, &&yy75, &&yy89, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy98, &&yy89, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy76, &&yy62, &&yy62, &&yy76, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy76, &&yy62, &&yy83, &&yy62, &&yy62, &&yy76,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy91, &&yy91, &&yy91, &&yy91, &&yy91, &&yy91, &&yy91, &&yy91,
+ &&yy91, &&yy91, &&yy62, &&yy76, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy80, &&yy76, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62,
+ &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62, &&yy62
};
goto *yytarget[yych];
}
-yy107:
+yy93:
YYSKIP ();
- status = action_line652_ST_OFFSET(i, keys, input, token, &cursor, 1);
+ status = check_key_count_line652_ST_OFFSET(keys_count, i, 3)
+ || action_line652_ST_OFFSET(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -1430,7 +1274,7 @@ yy107:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line652_ST_OFFSET: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line652_ST_OFFSET: unused keys left after %u keys\n", i);
}
}
@@ -1454,502 +1298,13 @@ end:
#define YYKEYTYPE unsigned char
#define YYPEEK() *cursor
#define YYSKIP() ++cursor
-#define YYLESSTHAN(n) (limit - cursor) < n
-#define YYFILL(n) { break; }
-
-static int action_line652_ST_RAW
- ( unsigned int i
- , const YYKEYTYPE *keys
- , const YYCTYPE *start
- , const YYCTYPE *token
- , const YYCTYPE **cursor
- , YYKEYTYPE rule_act
- )
-{
- const long pos = token - start;
- const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
- if (rule_exp == 255) {
- fprintf
- ( stderr
- , "warning: lex_line652_ST_RAW: control flow is undefined for input"
- " at position %ld, rerun re2c with '-W'\n"
- , pos
- );
- }
- if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
- *cursor = token + offset;
- return 0;
- } else {
- fprintf
- ( stderr
- , "error: lex_line652_ST_RAW: at position %ld (iteration %u):\n"
- "\texpected: match length %ld, rule %u\n"
- "\tactual: match length %ld, rule %u\n"
- , pos
- , i
- , len_exp
- , rule_exp
- , len_act
- , rule_act
- );
- return 1;
- }
-}
-
-int lex_line652_ST_RAW()
-{
- const size_t padding = 3; /* YYMAXFILL */
- int status = 0;
- size_t input_len = 0;
- size_t keys_count = 0;
- YYCTYPE *input = NULL;
- YYKEYTYPE *keys = NULL;
- const YYCTYPE *cursor = NULL;
- const YYCTYPE *limit = NULL;
- const YYCTYPE *token = NULL;
- const YYCTYPE *eof = NULL;
- unsigned int i = 0;
-
- input = (YYCTYPE *) read_file
- ("php20150211_zend_ini_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line652_ST_RAW.input"
- , sizeof (YYCTYPE)
- , padding
- , &input_len
- );
- if (input == NULL) {
- status = 1;
- goto end;
- }
-
- keys = (YYKEYTYPE *) read_file
- ("php20150211_zend_ini_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line652_ST_RAW.keys"
- , 3 * sizeof (YYKEYTYPE)
- , 0
- , &keys_count
- );
- if (keys == NULL) {
- status = 1;
- goto end;
- }
-
- cursor = input;
- limit = input + input_len + padding;
- eof = input + input_len;
-
- for (i = 0; status == 0 && i < keys_count; ++i) {
- token = cursor;
- YYCTYPE yych;
- static const unsigned char yybm[] = {
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 192, 0, 128, 128, 0, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 192, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- };
-
- if (YYLESSTHAN (3)) YYFILL(3);
- yych = YYPEEK ();
- {
- static void *yytarget[256] = {
- &&yy112, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114,
- &&yy114, &&yy116, &&yy117, &&yy114, &&yy114, &&yy119, &&yy114, &&yy114,
- &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114,
- &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114,
- &&yy116, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114,
- &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114,
- &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114,
- &&yy114, &&yy114, &&yy114, &&yy120, &&yy114, &&yy114, &&yy114, &&yy114,
- &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114,
- &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114,
- &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114,
- &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114,
- &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114,
- &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114,
- &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114,
- &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114,
- &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114,
- &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114,
- &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114,
- &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114,
- &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114,
- &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114,
- &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114,
- &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114,
- &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114,
- &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114,
- &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114,
- &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114,
- &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114,
- &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114,
- &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114,
- &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114, &&yy114
- };
- goto *yytarget[yych];
- }
-yy112:
- YYSKIP ();
- status = action_line652_ST_RAW(i, keys, input, token, &cursor, 52);
- continue;
-yy114:
- YYSKIP ();
-yy115:
- status = action_line652_ST_RAW(i, keys, input, token, &cursor, 22);
- continue;
-yy116:
- YYSKIP ();
- yych = YYPEEK ();
- {
- static void *yytarget[256] = {
- &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115,
- &&yy115, &&yy122, &&yy122, &&yy115, &&yy115, &&yy122, &&yy115, &&yy115,
- &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115,
- &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115,
- &&yy122, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115,
- &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115,
- &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115,
- &&yy115, &&yy115, &&yy115, &&yy122, &&yy115, &&yy115, &&yy115, &&yy115,
- &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115,
- &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115,
- &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115,
- &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115,
- &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115,
- &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115,
- &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115,
- &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115,
- &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115,
- &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115,
- &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115,
- &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115,
- &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115,
- &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115,
- &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115,
- &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115,
- &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115,
- &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115,
- &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115,
- &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115,
- &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115,
- &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115,
- &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115,
- &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115, &&yy115
- };
- goto *yytarget[yych];
- }
-yy117:
- YYSKIP ();
-yy118:
- status = action_line652_ST_RAW(i, keys, input, token, &cursor, 24);
- continue;
-yy119:
- YYSKIP ();
- yych = YYPEEK ();
- if (yych == '\n') goto yy117;
- goto yy118;
-yy120:
- YYSKIP ();
- yych = YYPEEK ();
- goto yy125;
-yy121:
- YYSKIP ();
- if (YYLESSTHAN (2)) YYFILL(2);
- yych = YYPEEK ();
-yy122:
- if (yybm[0+yych] & 64) {
- goto yy121;
- }
- if (yych <= '\f') {
- if (yych <= 0x08) goto yy123;
- if (yych <= '\n') goto yy117;
- } else {
- if (yych <= '\r') goto yy119;
- if (yych == ';') goto yy124;
- }
-yy123:
- status = action_line652_ST_RAW(i, keys, input, token, &cursor, 47);
- continue;
-yy124:
- YYSKIP ();
- if (YYLESSTHAN (2)) YYFILL(2);
- yych = YYPEEK ();
-yy125:
- if (yybm[0+yych] & 128) {
- goto yy124;
- }
- if (yych >= '\v') goto yy128;
-yy126:
- YYSKIP ();
-yy127:
- status = action_line652_ST_RAW(i, keys, input, token, &cursor, 50);
- continue;
-yy128:
- YYSKIP ();
- if ((yych = YYPEEK ()) == '\n') goto yy126;
- goto yy127;
-
- }
- if (status == 0) {
- if (cursor != eof) {
- status = 1;
- const long pos = token - input;
- fprintf(stderr, "error: lex_line652_ST_RAW: unused input strings left at position %ld\n", pos);
- }
- if (i != keys_count) {
- status = 1;
- fprintf(stderr, "error: lex_line652_ST_RAW: unused keys left after %u iterations\n", i);
- }
- }
-
-end:
- free(input);
- free(keys);
-
- return status;
-}
-
-#undef YYCTYPE
-#undef YYKEYTYPE
-#undef YYPEEK
-#undef YYSKIP
-#undef YYLESSTHAN
-#undef YYFILL
-
-#define YYCTYPE unsigned char
-#define YYKEYTYPE unsigned char
-#define YYPEEK() *cursor
-#define YYSKIP() ++cursor
-#define YYLESSTHAN(n) (limit - cursor) < n
-#define YYFILL(n) { break; }
-
-static int action_line652_ST_SECTION_RAW
- ( unsigned int i
- , const YYKEYTYPE *keys
- , const YYCTYPE *start
- , const YYCTYPE *token
- , const YYCTYPE **cursor
- , YYKEYTYPE rule_act
- )
-{
- const long pos = token - start;
- const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
- if (rule_exp == 255) {
- fprintf
- ( stderr
- , "warning: lex_line652_ST_SECTION_RAW: control flow is undefined for input"
- " at position %ld, rerun re2c with '-W'\n"
- , pos
- );
- }
- if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
- *cursor = token + offset;
- return 0;
- } else {
- fprintf
- ( stderr
- , "error: lex_line652_ST_SECTION_RAW: at position %ld (iteration %u):\n"
- "\texpected: match length %ld, rule %u\n"
- "\tactual: match length %ld, rule %u\n"
- , pos
- , i
- , len_exp
- , rule_exp
- , len_act
- , rule_act
- );
- return 1;
- }
-}
-
-int lex_line652_ST_SECTION_RAW()
-{
- const size_t padding = 2; /* YYMAXFILL */
- int status = 0;
- size_t input_len = 0;
- size_t keys_count = 0;
- YYCTYPE *input = NULL;
- YYKEYTYPE *keys = NULL;
- const YYCTYPE *cursor = NULL;
- const YYCTYPE *limit = NULL;
- const YYCTYPE *token = NULL;
- const YYCTYPE *eof = NULL;
- unsigned int i = 0;
-
- input = (YYCTYPE *) read_file
- ("php20150211_zend_ini_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line652_ST_SECTION_RAW.input"
- , sizeof (YYCTYPE)
- , padding
- , &input_len
- );
- if (input == NULL) {
- status = 1;
- goto end;
- }
-
- keys = (YYKEYTYPE *) read_file
- ("php20150211_zend_ini_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line652_ST_SECTION_RAW.keys"
- , 3 * sizeof (YYKEYTYPE)
- , 0
- , &keys_count
- );
- if (keys == NULL) {
- status = 1;
- goto end;
- }
-
- cursor = input;
- limit = input + input_len + padding;
- eof = input + input_len;
-
- for (i = 0; status == 0 && i < keys_count; ++i) {
- token = cursor;
- YYCTYPE yych;
- static const unsigned char yybm[] = {
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 192, 0, 64, 64, 0, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 192, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 0, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- };
-
- if (YYLESSTHAN (1)) YYFILL(1);
- yych = YYPEEK ();
- if (yybm[0+yych] & 64) {
- goto yy132;
- }
- if (yych <= '\r') goto yy135;
- goto yy137;
-yy132:
- YYSKIP ();
- if (YYLESSTHAN (1)) YYFILL(1);
- yych = YYPEEK ();
- if (yybm[0+yych] & 64) {
- goto yy132;
- }
- status = action_line652_ST_SECTION_RAW(i, keys, input, token, &cursor, 23);
- continue;
-yy135:
- YYSKIP ();
- status = action_line652_ST_SECTION_RAW(i, keys, input, token, &cursor, 55);
- continue;
-yy137:
- YYSKIP ();
- if (YYLESSTHAN (2)) YYFILL(2);
- yych = YYPEEK ();
- if (yybm[0+yych] & 128) {
- goto yy137;
- }
- if (yych <= 0x08) goto yy139;
- if (yych <= '\n') goto yy140;
- if (yych == '\r') goto yy141;
-yy139:
- status = action_line652_ST_SECTION_RAW(i, keys, input, token, &cursor, 4);
- continue;
-yy140:
- YYSKIP ();
- yych = YYPEEK ();
- goto yy139;
-yy141:
- YYSKIP ();
- if ((yych = YYPEEK ()) == '\n') goto yy140;
- goto yy139;
-
- }
- if (status == 0) {
- if (cursor != eof) {
- status = 1;
- const long pos = token - input;
- fprintf(stderr, "error: lex_line652_ST_SECTION_RAW: unused input strings left at position %ld\n", pos);
- }
- if (i != keys_count) {
- status = 1;
- fprintf(stderr, "error: lex_line652_ST_SECTION_RAW: unused keys left after %u iterations\n", i);
- }
- }
-
-end:
- free(input);
- free(keys);
-
- return status;
-}
-
-#undef YYCTYPE
-#undef YYKEYTYPE
-#undef YYPEEK
-#undef YYSKIP
-#undef YYLESSTHAN
-#undef YYFILL
-
-#define YYCTYPE unsigned char
-#define YYKEYTYPE unsigned char
-#define YYPEEK() *cursor
-#define YYSKIP() ++cursor
#define YYBACKUP() marker = cursor
#define YYRESTORE() cursor = marker
#define YYLESSTHAN(n) (limit - cursor) < n
#define YYFILL(n) { break; }
static int action_line652_ST_SECTION_VALUE
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -1957,10 +1312,12 @@ static int action_line652_ST_SECTION_VALUE
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -1970,17 +1327,17 @@ static int action_line652_ST_SECTION_VALUE
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line652_ST_SECTION_VALUE: at position %ld (iteration %u):\n"
+ , "error: lex_line652_ST_SECTION_VALUE: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -1990,6 +1347,13 @@ static int action_line652_ST_SECTION_VALUE
}
}
+static int check_key_count_line652_ST_SECTION_VALUE(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line652_ST_SECTION_VALUE: not enough keys\n");
+ return 1;
+}
+
int lex_line652_ST_SECTION_VALUE()
{
const size_t padding = 2; /* YYMAXFILL */
@@ -2017,7 +1381,7 @@ int lex_line652_ST_SECTION_VALUE()
keys = (YYKEYTYPE *) read_file
("php20150211_zend_ini_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line652_ST_SECTION_VALUE.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -2030,7 +1394,7 @@ int lex_line652_ST_SECTION_VALUE()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -2074,59 +1438,60 @@ int lex_line652_ST_SECTION_VALUE()
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy148, &&yy150, &&yy145, &&yy145, &&yy150, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy148, &&yy145, &&yy152, &&yy145, &&yy154, &&yy145, &&yy145, &&yy155,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy156, &&yy156, &&yy145,
- &&yy157, &&yy157, &&yy157, &&yy157, &&yy157, &&yy157, &&yy157, &&yy157,
- &&yy157, &&yy157, &&yy145, &&yy150, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
- &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
- &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
- &&yy160, &&yy160, &&yy160, &&yy145, &&yy163, &&yy164, &&yy145, &&yy160,
- &&yy145, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
- &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
- &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
- &&yy160, &&yy160, &&yy160, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy101, &&yy103, &&yy98, &&yy98, &&yy103, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy101, &&yy98, &&yy105, &&yy98, &&yy107, &&yy98, &&yy98, &&yy108,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy109, &&yy109, &&yy98,
+ &&yy110, &&yy110, &&yy110, &&yy110, &&yy110, &&yy110, &&yy110, &&yy110,
+ &&yy110, &&yy110, &&yy98, &&yy103, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy113, &&yy113, &&yy113, &&yy113, &&yy113, &&yy113, &&yy113,
+ &&yy113, &&yy113, &&yy113, &&yy113, &&yy113, &&yy113, &&yy113, &&yy113,
+ &&yy113, &&yy113, &&yy113, &&yy113, &&yy113, &&yy113, &&yy113, &&yy113,
+ &&yy113, &&yy113, &&yy113, &&yy98, &&yy116, &&yy117, &&yy98, &&yy113,
+ &&yy98, &&yy113, &&yy113, &&yy113, &&yy113, &&yy113, &&yy113, &&yy113,
+ &&yy113, &&yy113, &&yy113, &&yy113, &&yy113, &&yy113, &&yy113, &&yy113,
+ &&yy113, &&yy113, &&yy113, &&yy113, &&yy113, &&yy113, &&yy113, &&yy113,
+ &&yy113, &&yy113, &&yy113, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98
};
goto *yytarget[yych];
}
-yy145:
+yy98:
yyaccept = 0;
YYSKIP ();
YYBACKUP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
-yy146:
+yy99:
if (yybm[0+yych] & 4) {
- goto yy145;
+ goto yy98;
}
- if (yych <= '"') goto yy147;
- if (yych <= '$') goto yy167;
- if (yych <= ';') goto yy147;
- if (yych <= '\\') goto yy169;
-yy147:
- status = action_line652_ST_SECTION_VALUE(i, keys, input, token, &cursor, 37);
+ if (yych <= '"') goto yy100;
+ if (yych <= '$') goto yy120;
+ if (yych <= ';') goto yy100;
+ if (yych <= '\\') goto yy116;
+yy100:
+ status = check_key_count_line652_ST_SECTION_VALUE(keys_count, i, 3)
+ || action_line652_ST_SECTION_VALUE(&i, keys, input, token, &cursor, 5);
continue;
-yy148:
+yy101:
yyaccept = 0;
YYSKIP ();
YYBACKUP ();
@@ -2134,295 +1499,291 @@ yy148:
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy148, &&yy147, &&yy145, &&yy145, &&yy147, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy148, &&yy145, &&yy152, &&yy145, &&yy167, &&yy145, &&yy145, &&yy147,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy147, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy169, &&yy147, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy101, &&yy100, &&yy98, &&yy98, &&yy100, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy101, &&yy98, &&yy105, &&yy98, &&yy120, &&yy98, &&yy98, &&yy100,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy100, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy116, &&yy100, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98
};
goto *yytarget[yych];
}
-yy150:
+yy103:
YYSKIP ();
-yy151:
- status = action_line652_ST_SECTION_VALUE(i, keys, input, token, &cursor, 55);
+yy104:
+ status = check_key_count_line652_ST_SECTION_VALUE(keys_count, i, 3)
+ || action_line652_ST_SECTION_VALUE(&i, keys, input, token, &cursor, 8);
continue;
-yy152:
+yy105:
YYSKIP ();
- status = action_line652_ST_SECTION_VALUE(i, keys, input, token, &cursor, 39);
+ status = check_key_count_line652_ST_SECTION_VALUE(keys_count, i, 3)
+ || action_line652_ST_SECTION_VALUE(&i, keys, input, token, &cursor, 6);
continue;
-yy154:
+yy107:
YYSKIP ();
yych = YYPEEK ();
if (yych <= '\\') {
- if (yych <= 0x00) goto yy151;
- if (yych <= '[') goto yy145;
- goto yy170;
+ if (yych <= 0x00) goto yy104;
+ if (yych <= '[') goto yy98;
+ goto yy122;
} else {
- if (yych == '{') goto yy172;
- goto yy145;
+ if (yych == '{') goto yy124;
+ goto yy98;
}
-yy155:
- yyaccept = 1;
+yy108:
YYSKIP ();
- YYBACKUP ();
yych = YYPEEK ();
if (yybm[0+yych] & 128) {
- goto yy174;
+ goto yy126;
}
- goto yy151;
-yy156:
+ goto yy104;
+yy109:
yyaccept = 0;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
- if (yych <= '/') goto yy146;
- if (yych <= '9') goto yy176;
- goto yy146;
-yy157:
- yyaccept = 2;
+ if (yych <= '/') goto yy99;
+ if (yych <= '9') goto yy128;
+ goto yy99;
+yy110:
+ yyaccept = 1;
YYSKIP ();
YYBACKUP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy159, &&yy145, &&yy145, &&yy159, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy159, &&yy145, &&yy167, &&yy145, &&yy145, &&yy159,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy176, &&yy145,
- &&yy157, &&yy157, &&yy157, &&yy157, &&yy157, &&yy157, &&yy157, &&yy157,
- &&yy157, &&yy157, &&yy145, &&yy159, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy169, &&yy159, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy112, &&yy98, &&yy98, &&yy112, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy112, &&yy98, &&yy120, &&yy98, &&yy98, &&yy112,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy128, &&yy98,
+ &&yy110, &&yy110, &&yy110, &&yy110, &&yy110, &&yy110, &&yy110, &&yy110,
+ &&yy110, &&yy110, &&yy98, &&yy112, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy116, &&yy112, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98
};
goto *yytarget[yych];
}
-yy159:
- status = action_line652_ST_SECTION_VALUE(i, keys, input, token, &cursor, 30);
+yy112:
+ status = check_key_count_line652_ST_SECTION_VALUE(keys_count, i, 3)
+ || action_line652_ST_SECTION_VALUE(&i, keys, input, token, &cursor, 4);
continue;
-yy160:
- yyaccept = 3;
+yy113:
+ yyaccept = 2;
YYSKIP ();
YYBACKUP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy162, &&yy145, &&yy145, &&yy162, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy162, &&yy145, &&yy167, &&yy145, &&yy145, &&yy162,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
- &&yy160, &&yy160, &&yy145, &&yy162, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
- &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
- &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
- &&yy160, &&yy160, &&yy160, &&yy145, &&yy169, &&yy162, &&yy145, &&yy160,
- &&yy145, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
- &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
- &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
- &&yy160, &&yy160, &&yy160, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy115, &&yy98, &&yy98, &&yy115, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy115, &&yy98, &&yy120, &&yy98, &&yy98, &&yy115,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy113, &&yy113, &&yy113, &&yy113, &&yy113, &&yy113, &&yy113, &&yy113,
+ &&yy113, &&yy113, &&yy98, &&yy115, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy113, &&yy113, &&yy113, &&yy113, &&yy113, &&yy113, &&yy113,
+ &&yy113, &&yy113, &&yy113, &&yy113, &&yy113, &&yy113, &&yy113, &&yy113,
+ &&yy113, &&yy113, &&yy113, &&yy113, &&yy113, &&yy113, &&yy113, &&yy113,
+ &&yy113, &&yy113, &&yy113, &&yy98, &&yy116, &&yy115, &&yy98, &&yy113,
+ &&yy98, &&yy113, &&yy113, &&yy113, &&yy113, &&yy113, &&yy113, &&yy113,
+ &&yy113, &&yy113, &&yy113, &&yy113, &&yy113, &&yy113, &&yy113, &&yy113,
+ &&yy113, &&yy113, &&yy113, &&yy113, &&yy113, &&yy113, &&yy113, &&yy113,
+ &&yy113, &&yy113, &&yy113, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98
};
goto *yytarget[yych];
}
-yy162:
- status = action_line652_ST_SECTION_VALUE(i, keys, input, token, &cursor, 27);
+yy115:
+ status = check_key_count_line652_ST_SECTION_VALUE(keys_count, i, 3)
+ || action_line652_ST_SECTION_VALUE(&i, keys, input, token, &cursor, 3);
continue;
-yy163:
+yy116:
YYSKIP ();
+ if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
- goto yy145;
-yy164:
+ goto yy98;
+yy117:
YYSKIP ();
if (YYLESSTHAN (2)) YYFILL(2);
yych = YYPEEK ();
if (yych <= '\f') {
- if (yych <= 0x08) goto yy166;
- if (yych <= '\t') goto yy164;
- if (yych <= '\n') goto yy178;
+ if (yych <= 0x08) goto yy119;
+ if (yych <= '\t') goto yy117;
+ if (yych <= '\n') goto yy130;
} else {
- if (yych <= '\r') goto yy179;
- if (yych == ' ') goto yy164;
+ if (yych <= '\r') goto yy131;
+ if (yych == ' ') goto yy117;
}
-yy166:
- status = action_line652_ST_SECTION_VALUE(i, keys, input, token, &cursor, 5);
+yy119:
+ status = check_key_count_line652_ST_SECTION_VALUE(keys_count, i, 3)
+ || action_line652_ST_SECTION_VALUE(&i, keys, input, token, &cursor, 1);
continue;
-yy167:
+yy120:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
if (yych <= '\\') {
- if (yych <= 0x00) goto yy168;
- if (yych <= '[') goto yy145;
- goto yy170;
+ if (yych <= 0x00) goto yy121;
+ if (yych <= '[') goto yy98;
+ goto yy122;
} else {
- if (yych != '{') goto yy145;
+ if (yych != '{') goto yy98;
}
-yy168:
+yy121:
YYRESTORE ();
if (yyaccept <= 1) {
if (yyaccept == 0) {
- goto yy147;
+ goto yy100;
} else {
- goto yy151;
+ goto yy112;
}
} else {
- if (yyaccept == 2) {
- goto yy159;
- } else {
- goto yy162;
- }
+ goto yy115;
}
-yy169:
- YYSKIP ();
- if (YYLESSTHAN (1)) YYFILL(1);
- yych = YYPEEK ();
- goto yy145;
-yy170:
+yy122:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
if (yybm[0+yych] & 64) {
- goto yy170;
+ goto yy122;
}
- goto yy145;
-yy172:
+ goto yy98;
+yy124:
YYSKIP ();
- status = action_line652_ST_SECTION_VALUE(i, keys, input, token, &cursor, 10);
+ status = check_key_count_line652_ST_SECTION_VALUE(keys_count, i, 3)
+ || action_line652_ST_SECTION_VALUE(&i, keys, input, token, &cursor, 2);
continue;
-yy174:
+yy126:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
if (yybm[0+yych] & 128) {
- goto yy174;
+ goto yy126;
}
- goto yy180;
-yy176:
- yyaccept = 2;
+ goto yy132;
+yy128:
+ yyaccept = 1;
YYSKIP ();
YYBACKUP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy159, &&yy145, &&yy145, &&yy159, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy159, &&yy145, &&yy167, &&yy145, &&yy145, &&yy159,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy176, &&yy176, &&yy176, &&yy176, &&yy176, &&yy176, &&yy176, &&yy176,
- &&yy176, &&yy176, &&yy145, &&yy159, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy169, &&yy159, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145,
- &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145, &&yy145
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy112, &&yy98, &&yy98, &&yy112, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy112, &&yy98, &&yy120, &&yy98, &&yy98, &&yy112,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
+ &&yy128, &&yy128, &&yy98, &&yy112, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy116, &&yy112, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
+ &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98
};
goto *yytarget[yych];
}
-yy178:
+yy130:
YYSKIP ();
- yych = YYPEEK ();
- goto yy166;
-yy179:
+ goto yy119;
+yy131:
YYSKIP ();
yych = YYPEEK ();
- if (yych == '\n') goto yy178;
- goto yy166;
-yy180:
+ if (yych == '\n') goto yy130;
+ goto yy119;
+yy132:
YYSKIP ();
- status = action_line652_ST_SECTION_VALUE(i, keys, input, token, &cursor, 2);
+ status = check_key_count_line652_ST_SECTION_VALUE(keys_count, i, 3)
+ || action_line652_ST_SECTION_VALUE(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -2434,7 +1795,7 @@ yy180:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line652_ST_SECTION_VALUE: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line652_ST_SECTION_VALUE: unused keys left after %u keys\n", i);
}
}
@@ -2464,7 +1825,7 @@ end:
#define YYFILL(n) { break; }
static int action_line652_ST_VALUE
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -2472,10 +1833,12 @@ static int action_line652_ST_VALUE
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -2485,17 +1848,17 @@ static int action_line652_ST_VALUE
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line652_ST_VALUE: at position %ld (iteration %u):\n"
+ , "error: lex_line652_ST_VALUE: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -2505,6 +1868,13 @@ static int action_line652_ST_VALUE
}
}
+static int check_key_count_line652_ST_VALUE(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line652_ST_VALUE: not enough keys\n");
+ return 1;
+}
+
int lex_line652_ST_VALUE()
{
const size_t padding = 6; /* YYMAXFILL */
@@ -2532,7 +1902,7 @@ int lex_line652_ST_VALUE()
keys = (YYKEYTYPE *) read_file
("php20150211_zend_ini_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line652_ST_VALUE.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -2545,1260 +1915,1256 @@ int lex_line652_ST_VALUE()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
unsigned int yyaccept = 0;
static const unsigned char yybm[] = {
- 96, 98, 98, 98, 98, 98, 98, 98,
- 98, 100, 64, 98, 98, 64, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 100, 96, 96, 98, 224, 98, 96, 32,
- 96, 96, 98, 98, 98, 98, 98, 98,
+ 80, 82, 82, 82, 82, 82, 82, 82,
+ 82, 84, 64, 82, 82, 64, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 84, 80, 80, 82, 208, 82, 80, 16,
+ 80, 80, 82, 82, 82, 82, 82, 82,
122, 122, 122, 122, 122, 122, 122, 122,
- 122, 122, 98, 96, 98, 96, 98, 98,
- 98, 114, 114, 114, 114, 114, 114, 114,
+ 122, 122, 82, 80, 82, 80, 82, 82,
+ 82, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
- 114, 114, 114, 98, 98, 98, 96, 114,
- 98, 114, 114, 114, 114, 114, 114, 114,
+ 114, 114, 114, 82, 82, 82, 80, 114,
+ 82, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
- 114, 114, 114, 98, 96, 98, 96, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
+ 114, 114, 114, 82, 80, 82, 80, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
};
if (YYLESSTHAN (6)) YYFILL(6);
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy185, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy190, &&yy193, &&yy187, &&yy187, &&yy195, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy190, &&yy196, &&yy199, &&yy187, &&yy201, &&yy187, &&yy196, &&yy202,
- &&yy196, &&yy196, &&yy187, &&yy187, &&yy187, &&yy203, &&yy203, &&yy187,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy187, &&yy207, &&yy187, &&yy208, &&yy187, &&yy187,
- &&yy187, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy213, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy214, &&yy215,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy216, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy217, &&yy210, &&yy187, &&yy187, &&yy187, &&yy196, &&yy210,
- &&yy187, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy213, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy214, &&yy215,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy216, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy217, &&yy210, &&yy187, &&yy196, &&yy187, &&yy196, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187
+ &&yy137, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy142, &&yy145, &&yy139, &&yy139, &&yy147, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy142, &&yy148, &&yy151, &&yy139, &&yy153, &&yy139, &&yy148, &&yy154,
+ &&yy148, &&yy148, &&yy139, &&yy139, &&yy139, &&yy155, &&yy155, &&yy139,
+ &&yy156, &&yy156, &&yy156, &&yy156, &&yy156, &&yy156, &&yy156, &&yy156,
+ &&yy156, &&yy156, &&yy139, &&yy159, &&yy139, &&yy161, &&yy139, &&yy139,
+ &&yy139, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy166, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy167, &&yy168,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy169, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy170, &&yy163, &&yy139, &&yy139, &&yy139, &&yy148, &&yy163,
+ &&yy139, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy166, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy167, &&yy168,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy169, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy170, &&yy163, &&yy139, &&yy148, &&yy139, &&yy148, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139
};
goto *yytarget[yych];
}
-yy185:
+yy137:
YYSKIP ();
-yy186:
- status = action_line652_ST_VALUE(i, keys, input, token, &cursor, 53);
+yy138:
+ status = check_key_count_line652_ST_VALUE(keys_count, i, 3)
+ || action_line652_ST_VALUE(&i, keys, input, token, &cursor, 14);
continue;
-yy187:
+yy139:
yyaccept = 0;
YYSKIP ();
YYBACKUP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
-yy188:
+yy140:
{
static void *yytarget[256] = {
- &&yy189, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy189, &&yy189, &&yy187, &&yy187, &&yy189, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy189, &&yy189, &&yy189, &&yy187, &&yy218, &&yy187, &&yy189, &&yy189,
- &&yy189, &&yy189, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy189, &&yy187, &&yy189, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy189, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy189, &&yy187, &&yy189, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187
+ &&yy141, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy141, &&yy141, &&yy139, &&yy139, &&yy141, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy141, &&yy141, &&yy141, &&yy139, &&yy171, &&yy139, &&yy141, &&yy141,
+ &&yy141, &&yy141, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy141, &&yy139, &&yy141, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy141, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy141, &&yy139, &&yy141, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139
};
goto *yytarget[yych];
}
-yy189:
- status = action_line652_ST_VALUE(i, keys, input, token, &cursor, 35);
+yy141:
+ status = check_key_count_line652_ST_VALUE(keys_count, i, 3)
+ || action_line652_ST_VALUE(&i, keys, input, token, &cursor, 10);
continue;
-yy190:
- yyaccept = 1;
+yy142:
YYSKIP ();
- YYBACKUP ();
if (YYLESSTHAN (2)) YYFILL(2);
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192,
- &&yy192, &&yy190, &&yy193, &&yy192, &&yy192, &&yy195, &&yy192, &&yy192,
- &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192,
- &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192,
- &&yy190, &&yy192, &&yy199, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192,
- &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192,
- &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192,
- &&yy192, &&yy192, &&yy192, &&yy220, &&yy192, &&yy192, &&yy192, &&yy192,
- &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192,
- &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192,
- &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192,
- &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192,
- &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192,
- &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192,
- &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192,
- &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192,
- &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192,
- &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192,
- &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192,
- &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192,
- &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192,
- &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192,
- &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192,
- &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192,
- &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192,
- &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192,
- &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192,
- &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192,
- &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192,
- &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192,
- &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192,
- &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192, &&yy192
+ &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144,
+ &&yy144, &&yy142, &&yy145, &&yy144, &&yy144, &&yy147, &&yy144, &&yy144,
+ &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144,
+ &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144,
+ &&yy142, &&yy144, &&yy151, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144,
+ &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144,
+ &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144,
+ &&yy144, &&yy144, &&yy144, &&yy159, &&yy144, &&yy144, &&yy144, &&yy144,
+ &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144,
+ &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144,
+ &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144,
+ &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144,
+ &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144,
+ &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144,
+ &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144,
+ &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144,
+ &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144,
+ &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144,
+ &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144,
+ &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144,
+ &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144,
+ &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144,
+ &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144,
+ &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144,
+ &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144,
+ &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144,
+ &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144,
+ &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144,
+ &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144,
+ &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144,
+ &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144,
+ &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144, &&yy144
};
goto *yytarget[yych];
}
-yy192:
- status = action_line652_ST_VALUE(i, keys, input, token, &cursor, 45);
+yy144:
+ status = check_key_count_line652_ST_VALUE(keys_count, i, 3)
+ || action_line652_ST_VALUE(&i, keys, input, token, &cursor, 12);
continue;
-yy193:
+yy145:
YYSKIP ();
-yy194:
- status = action_line652_ST_VALUE(i, keys, input, token, &cursor, 25);
+yy146:
+ status = check_key_count_line652_ST_VALUE(keys_count, i, 3)
+ || action_line652_ST_VALUE(&i, keys, input, token, &cursor, 5);
continue;
-yy195:
+yy147:
YYSKIP ();
yych = YYPEEK ();
- if (yych == '\n') goto yy193;
- goto yy194;
-yy196:
+ if (yych == '\n') goto yy145;
+ goto yy146;
+yy148:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
- if (yych == '\t') goto yy196;
- if (yych == ' ') goto yy196;
- status = action_line652_ST_VALUE(i, keys, input, token, &cursor, 33);
+ if (yych == '\t') goto yy148;
+ if (yych == ' ') goto yy148;
+ status = check_key_count_line652_ST_VALUE(keys_count, i, 3)
+ || action_line652_ST_VALUE(&i, keys, input, token, &cursor, 8);
continue;
-yy199:
+yy151:
YYSKIP ();
- status = action_line652_ST_VALUE(i, keys, input, token, &cursor, 40);
+ status = check_key_count_line652_ST_VALUE(keys_count, i, 3)
+ || action_line652_ST_VALUE(&i, keys, input, token, &cursor, 11);
continue;
-yy201:
+yy153:
YYSKIP ();
yych = YYPEEK ();
if (yych <= '\\') {
- if (yych <= 0x00) goto yy186;
- if (yych <= '[') goto yy187;
- goto yy222;
+ if (yych <= 0x00) goto yy138;
+ if (yych <= '[') goto yy139;
+ goto yy173;
} else {
- if (yych == '{') goto yy223;
- goto yy187;
+ if (yych == '{') goto yy174;
+ goto yy139;
}
-yy202:
- yyaccept = 2;
+yy154:
YYSKIP ();
- YYBACKUP ();
yych = YYPEEK ();
if (yybm[0+yych] & 64) {
- goto yy225;
+ goto yy176;
}
- goto yy186;
-yy203:
+ goto yy138;
+yy155:
yyaccept = 0;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
- if (yych <= '/') goto yy188;
- if (yych <= '9') goto yy227;
- goto yy188;
-yy204:
- yyaccept = 3;
+ if (yych <= '/') goto yy140;
+ if (yych <= '9') goto yy178;
+ goto yy140;
+yy156:
+ yyaccept = 1;
YYSKIP ();
YYBACKUP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy206, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy206, &&yy206, &&yy187, &&yy187, &&yy206, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy206, &&yy206, &&yy206, &&yy187, &&yy218, &&yy187, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy187, &&yy187, &&yy187, &&yy187, &&yy227, &&yy187,
- &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204, &&yy204,
- &&yy204, &&yy204, &&yy187, &&yy206, &&yy187, &&yy206, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy206, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy206, &&yy187, &&yy206, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187
+ &&yy158, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy158, &&yy158, &&yy139, &&yy139, &&yy158, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy158, &&yy158, &&yy158, &&yy139, &&yy171, &&yy139, &&yy158, &&yy158,
+ &&yy158, &&yy158, &&yy139, &&yy139, &&yy139, &&yy139, &&yy178, &&yy139,
+ &&yy156, &&yy156, &&yy156, &&yy156, &&yy156, &&yy156, &&yy156, &&yy156,
+ &&yy156, &&yy156, &&yy139, &&yy158, &&yy139, &&yy158, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy158, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy158, &&yy139, &&yy158, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139
};
goto *yytarget[yych];
}
-yy206:
- status = action_line652_ST_VALUE(i, keys, input, token, &cursor, 31);
+yy158:
+ status = check_key_count_line652_ST_VALUE(keys_count, i, 3)
+ || action_line652_ST_VALUE(&i, keys, input, token, &cursor, 7);
continue;
-yy207:
- yyaccept = 2;
+yy159:
YYSKIP ();
- YYBACKUP ();
+ if (YYLESSTHAN (2)) YYFILL(2);
yych = YYPEEK ();
- goto yy221;
-yy208:
+ if (yybm[0+yych] & 16) {
+ goto yy159;
+ }
+ if (yych <= '\n') goto yy180;
+ goto yy182;
+yy161:
YYSKIP ();
- status = action_line652_ST_VALUE(i, keys, input, token, &cursor, 34);
+ status = check_key_count_line652_ST_VALUE(keys_count, i, 3)
+ || action_line652_ST_VALUE(&i, keys, input, token, &cursor, 9);
continue;
-yy210:
- yyaccept = 4;
+yy163:
+ yyaccept = 2;
YYSKIP ();
YYBACKUP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy212, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy212, &&yy212, &&yy187, &&yy187, &&yy212, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy212, &&yy212, &&yy212, &&yy187, &&yy218, &&yy187, &&yy212, &&yy212,
- &&yy212, &&yy212, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy187, &&yy212, &&yy187, &&yy212, &&yy187, &&yy187,
- &&yy187, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy187, &&yy187, &&yy187, &&yy212, &&yy210,
- &&yy187, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy187, &&yy212, &&yy187, &&yy212, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187
+ &&yy165, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy165, &&yy165, &&yy139, &&yy139, &&yy165, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy165, &&yy165, &&yy165, &&yy139, &&yy171, &&yy139, &&yy165, &&yy165,
+ &&yy165, &&yy165, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy139, &&yy165, &&yy139, &&yy165, &&yy139, &&yy139,
+ &&yy139, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy139, &&yy139, &&yy139, &&yy165, &&yy163,
+ &&yy139, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy139, &&yy165, &&yy139, &&yy165, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139
};
goto *yytarget[yych];
}
-yy212:
- status = action_line652_ST_VALUE(i, keys, input, token, &cursor, 28);
+yy165:
+ status = check_key_count_line652_ST_VALUE(keys_count, i, 3)
+ || action_line652_ST_VALUE(&i, keys, input, token, &cursor, 6);
continue;
-yy213:
- yyaccept = 4;
+yy166:
+ yyaccept = 2;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy212, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy212, &&yy212, &&yy188, &&yy188, &&yy212, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy212, &&yy212, &&yy212, &&yy188, &&yy188, &&yy188, &&yy212, &&yy212,
- &&yy212, &&yy212, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy188, &&yy212, &&yy188, &&yy212, &&yy188, &&yy188,
- &&yy188, &&yy232, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy188, &&yy188, &&yy188, &&yy212, &&yy210,
- &&yy188, &&yy232, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy188, &&yy212, &&yy188, &&yy212, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188
+ &&yy165, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy165, &&yy165, &&yy140, &&yy140, &&yy165, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy165, &&yy165, &&yy165, &&yy140, &&yy140, &&yy140, &&yy165, &&yy165,
+ &&yy165, &&yy165, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy140, &&yy165, &&yy140, &&yy165, &&yy140, &&yy140,
+ &&yy140, &&yy183, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy140, &&yy140, &&yy140, &&yy165, &&yy163,
+ &&yy140, &&yy183, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy140, &&yy165, &&yy140, &&yy165, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140
};
goto *yytarget[yych];
}
-yy214:
- yyaccept = 4;
+yy167:
+ yyaccept = 2;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy212, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy212, &&yy212, &&yy188, &&yy188, &&yy212, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy212, &&yy212, &&yy212, &&yy188, &&yy188, &&yy188, &&yy212, &&yy212,
- &&yy212, &&yy212, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy188, &&yy212, &&yy188, &&yy212, &&yy188, &&yy188,
- &&yy188, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy233,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy235, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy188, &&yy188, &&yy188, &&yy212, &&yy210,
- &&yy188, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy233,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy235, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy188, &&yy212, &&yy188, &&yy212, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188
+ &&yy165, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy165, &&yy165, &&yy140, &&yy140, &&yy165, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy165, &&yy165, &&yy165, &&yy140, &&yy140, &&yy140, &&yy165, &&yy165,
+ &&yy165, &&yy165, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy140, &&yy165, &&yy140, &&yy165, &&yy140, &&yy140,
+ &&yy140, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy184,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy186, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy140, &&yy140, &&yy140, &&yy165, &&yy163,
+ &&yy140, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy184,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy186, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy140, &&yy165, &&yy140, &&yy165, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140
};
goto *yytarget[yych];
}
-yy215:
- yyaccept = 4;
+yy168:
+ yyaccept = 2;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy212, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy212, &&yy212, &&yy188, &&yy188, &&yy212, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy212, &&yy212, &&yy212, &&yy188, &&yy188, &&yy188, &&yy212, &&yy212,
- &&yy212, &&yy212, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy188, &&yy212, &&yy188, &&yy212, &&yy188, &&yy188,
- &&yy188, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy236, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy237, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy188, &&yy188, &&yy188, &&yy212, &&yy210,
- &&yy188, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy236, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy237, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy188, &&yy212, &&yy188, &&yy212, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188
+ &&yy165, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy165, &&yy165, &&yy140, &&yy140, &&yy165, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy165, &&yy165, &&yy165, &&yy140, &&yy140, &&yy140, &&yy165, &&yy165,
+ &&yy165, &&yy165, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy140, &&yy165, &&yy140, &&yy165, &&yy140, &&yy140,
+ &&yy140, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy187, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy188, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy140, &&yy140, &&yy140, &&yy165, &&yy163,
+ &&yy140, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy187, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy188, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy140, &&yy165, &&yy140, &&yy165, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140
};
goto *yytarget[yych];
}
-yy216:
- yyaccept = 4;
+yy169:
+ yyaccept = 2;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy212, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy212, &&yy212, &&yy188, &&yy188, &&yy212, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy212, &&yy212, &&yy212, &&yy188, &&yy188, &&yy188, &&yy212, &&yy212,
- &&yy212, &&yy212, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy188, &&yy212, &&yy188, &&yy212, &&yy188, &&yy188,
- &&yy188, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy239, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy188, &&yy188, &&yy188, &&yy212, &&yy210,
- &&yy188, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy239, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy188, &&yy212, &&yy188, &&yy212, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188
+ &&yy165, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy165, &&yy165, &&yy140, &&yy140, &&yy165, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy165, &&yy165, &&yy165, &&yy140, &&yy140, &&yy140, &&yy165, &&yy165,
+ &&yy165, &&yy165, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy140, &&yy165, &&yy140, &&yy165, &&yy140, &&yy140,
+ &&yy140, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy190, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy140, &&yy140, &&yy140, &&yy165, &&yy163,
+ &&yy140, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy190, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy140, &&yy165, &&yy140, &&yy165, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140
};
goto *yytarget[yych];
}
-yy217:
- yyaccept = 4;
+yy170:
+ yyaccept = 2;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy212, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy212, &&yy212, &&yy188, &&yy188, &&yy212, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy212, &&yy212, &&yy212, &&yy188, &&yy188, &&yy188, &&yy212, &&yy212,
- &&yy212, &&yy212, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy188, &&yy212, &&yy188, &&yy212, &&yy188, &&yy188,
- &&yy188, &&yy210, &&yy210, &&yy210, &&yy210, &&yy240, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy188, &&yy188, &&yy188, &&yy212, &&yy210,
- &&yy188, &&yy210, &&yy210, &&yy210, &&yy210, &&yy240, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy188, &&yy212, &&yy188, &&yy212, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188
+ &&yy165, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy165, &&yy165, &&yy140, &&yy140, &&yy165, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy165, &&yy165, &&yy165, &&yy140, &&yy140, &&yy140, &&yy165, &&yy165,
+ &&yy165, &&yy165, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy140, &&yy165, &&yy140, &&yy165, &&yy140, &&yy140,
+ &&yy140, &&yy163, &&yy163, &&yy163, &&yy163, &&yy191, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy140, &&yy140, &&yy140, &&yy165, &&yy163,
+ &&yy140, &&yy163, &&yy163, &&yy163, &&yy163, &&yy191, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy140, &&yy165, &&yy140, &&yy165, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140
};
goto *yytarget[yych];
}
-yy218:
+yy171:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
if (yych <= '\\') {
- if (yych <= 0x00) goto yy219;
- if (yych <= '[') goto yy187;
- goto yy222;
+ if (yych <= 0x00) goto yy172;
+ if (yych <= '[') goto yy139;
+ goto yy173;
} else {
- if (yych != '{') goto yy187;
+ if (yych != '{') goto yy139;
}
-yy219:
+yy172:
YYRESTORE ();
- if (yyaccept <= 3) {
+ if (yyaccept <= 2) {
if (yyaccept <= 1) {
if (yyaccept == 0) {
- goto yy189;
+ goto yy141;
} else {
- goto yy192;
+ goto yy158;
}
} else {
- if (yyaccept == 2) {
- goto yy186;
- } else {
- goto yy206;
- }
+ goto yy165;
}
} else {
- if (yyaccept <= 5) {
- if (yyaccept == 4) {
- goto yy212;
+ if (yyaccept <= 4) {
+ if (yyaccept == 3) {
+ goto yy185;
} else {
- goto yy234;
+ goto yy189;
}
} else {
- if (yyaccept == 6) {
- goto yy238;
- } else {
- goto yy255;
- }
+ goto yy206;
}
}
-yy220:
- YYSKIP ();
- if (YYLESSTHAN (2)) YYFILL(2);
- yych = YYPEEK ();
-yy221:
- if (yybm[0+yych] & 32) {
- goto yy220;
- }
- if (yych <= '\n') goto yy229;
- goto yy231;
-yy222:
+yy173:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
if (yybm[0+yych] & 128) {
- goto yy241;
+ goto yy192;
}
- goto yy187;
-yy223:
+ goto yy139;
+yy174:
YYSKIP ();
- status = action_line652_ST_VALUE(i, keys, input, token, &cursor, 11);
+ status = check_key_count_line652_ST_VALUE(keys_count, i, 3)
+ || action_line652_ST_VALUE(&i, keys, input, token, &cursor, 1);
continue;
-yy225:
+yy176:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
if (yybm[0+yych] & 64) {
- goto yy225;
+ goto yy176;
}
- goto yy243;
-yy227:
- yyaccept = 3;
+ goto yy194;
+yy178:
+ yyaccept = 1;
YYSKIP ();
YYBACKUP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy206, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy206, &&yy206, &&yy187, &&yy187, &&yy206, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy206, &&yy206, &&yy206, &&yy187, &&yy218, &&yy187, &&yy206, &&yy206,
- &&yy206, &&yy206, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy227, &&yy227, &&yy227, &&yy227, &&yy227, &&yy227, &&yy227, &&yy227,
- &&yy227, &&yy227, &&yy187, &&yy206, &&yy187, &&yy206, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy206, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy206, &&yy187, &&yy206, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187,
- &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187, &&yy187
+ &&yy158, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy158, &&yy158, &&yy139, &&yy139, &&yy158, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy158, &&yy158, &&yy158, &&yy139, &&yy171, &&yy139, &&yy158, &&yy158,
+ &&yy158, &&yy158, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy178, &&yy178, &&yy178, &&yy178, &&yy178, &&yy178, &&yy178, &&yy178,
+ &&yy178, &&yy178, &&yy139, &&yy158, &&yy139, &&yy158, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy158, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy158, &&yy139, &&yy158, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139,
+ &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139, &&yy139
};
goto *yytarget[yych];
}
-yy229:
+yy180:
YYSKIP ();
-yy230:
- status = action_line652_ST_VALUE(i, keys, input, token, &cursor, 51);
+yy181:
+ status = check_key_count_line652_ST_VALUE(keys_count, i, 3)
+ || action_line652_ST_VALUE(&i, keys, input, token, &cursor, 13);
continue;
-yy231:
+yy182:
YYSKIP ();
yych = YYPEEK ();
- if (yych == '\n') goto yy229;
- goto yy230;
-yy232:
- yyaccept = 4;
+ if (yych == '\n') goto yy180;
+ goto yy181;
+yy183:
+ yyaccept = 2;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy212, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy212, &&yy212, &&yy188, &&yy188, &&yy212, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy212, &&yy212, &&yy212, &&yy188, &&yy188, &&yy188, &&yy212, &&yy212,
- &&yy212, &&yy212, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy188, &&yy212, &&yy188, &&yy212, &&yy188, &&yy188,
- &&yy188, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy245, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy188, &&yy188, &&yy188, &&yy212, &&yy210,
- &&yy188, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy245, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy188, &&yy212, &&yy188, &&yy212, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188
+ &&yy165, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy165, &&yy165, &&yy140, &&yy140, &&yy165, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy165, &&yy165, &&yy165, &&yy140, &&yy140, &&yy140, &&yy165, &&yy165,
+ &&yy165, &&yy165, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy140, &&yy165, &&yy140, &&yy165, &&yy140, &&yy140,
+ &&yy140, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy196, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy140, &&yy140, &&yy140, &&yy165, &&yy163,
+ &&yy140, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy196, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy140, &&yy165, &&yy140, &&yy165, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140
};
goto *yytarget[yych];
}
-yy233:
- yyaccept = 5;
+yy184:
+ yyaccept = 3;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy234, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy246, &&yy234, &&yy188, &&yy188, &&yy234, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy246, &&yy234, &&yy234, &&yy188, &&yy188, &&yy188, &&yy234, &&yy234,
- &&yy234, &&yy234, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy188, &&yy234, &&yy188, &&yy234, &&yy188, &&yy188,
- &&yy188, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy248, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy188, &&yy188, &&yy188, &&yy234, &&yy210,
- &&yy188, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy248, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy188, &&yy234, &&yy188, &&yy234, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188
+ &&yy185, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy197, &&yy185, &&yy140, &&yy140, &&yy185, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy197, &&yy185, &&yy185, &&yy140, &&yy140, &&yy140, &&yy185, &&yy185,
+ &&yy185, &&yy185, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy140, &&yy185, &&yy140, &&yy185, &&yy140, &&yy140,
+ &&yy140, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy199, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy140, &&yy140, &&yy140, &&yy185, &&yy163,
+ &&yy140, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy199, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy140, &&yy185, &&yy140, &&yy185, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140
};
goto *yytarget[yych];
}
-yy234:
- status = action_line652_ST_VALUE(i, keys, input, token, &cursor, 17);
+yy185:
+ status = check_key_count_line652_ST_VALUE(keys_count, i, 3)
+ || action_line652_ST_VALUE(&i, keys, input, token, &cursor, 3);
continue;
-yy235:
- yyaccept = 4;
+yy186:
+ yyaccept = 2;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy212, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy212, &&yy212, &&yy188, &&yy188, &&yy212, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy212, &&yy212, &&yy212, &&yy188, &&yy188, &&yy188, &&yy212, &&yy212,
- &&yy212, &&yy212, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy188, &&yy212, &&yy188, &&yy212, &&yy188, &&yy188,
- &&yy188, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy249, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy188, &&yy188, &&yy188, &&yy212, &&yy210,
- &&yy188, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy249, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy188, &&yy212, &&yy188, &&yy212, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188
+ &&yy165, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy165, &&yy165, &&yy140, &&yy140, &&yy165, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy165, &&yy165, &&yy165, &&yy140, &&yy140, &&yy140, &&yy165, &&yy165,
+ &&yy165, &&yy165, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy140, &&yy165, &&yy140, &&yy165, &&yy140, &&yy140,
+ &&yy140, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy200, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy140, &&yy140, &&yy140, &&yy165, &&yy163,
+ &&yy140, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy200, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy140, &&yy165, &&yy140, &&yy165, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140
};
goto *yytarget[yych];
}
-yy236:
- yyaccept = 4;
+yy187:
+ yyaccept = 2;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy212, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy212, &&yy212, &&yy188, &&yy188, &&yy212, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy212, &&yy212, &&yy212, &&yy188, &&yy188, &&yy188, &&yy212, &&yy212,
- &&yy212, &&yy212, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy188, &&yy212, &&yy188, &&yy212, &&yy188, &&yy188,
- &&yy188, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy250, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy188, &&yy188, &&yy188, &&yy212, &&yy210,
- &&yy188, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy250, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy188, &&yy212, &&yy188, &&yy212, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188
+ &&yy165, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy165, &&yy165, &&yy140, &&yy140, &&yy165, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy165, &&yy165, &&yy165, &&yy140, &&yy140, &&yy140, &&yy165, &&yy165,
+ &&yy165, &&yy165, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy140, &&yy165, &&yy140, &&yy165, &&yy140, &&yy140,
+ &&yy140, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy201, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy140, &&yy140, &&yy140, &&yy165, &&yy163,
+ &&yy140, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy201, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy140, &&yy165, &&yy140, &&yy165, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140
};
goto *yytarget[yych];
}
-yy237:
- yyaccept = 6;
+yy188:
+ yyaccept = 4;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy238, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy251, &&yy238, &&yy188, &&yy188, &&yy238, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy251, &&yy238, &&yy238, &&yy188, &&yy188, &&yy188, &&yy238, &&yy238,
- &&yy238, &&yy238, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy188, &&yy238, &&yy188, &&yy238, &&yy188, &&yy188,
- &&yy188, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy188, &&yy188, &&yy188, &&yy238, &&yy210,
- &&yy188, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy188, &&yy238, &&yy188, &&yy238, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188
+ &&yy189, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy202, &&yy189, &&yy140, &&yy140, &&yy189, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy202, &&yy189, &&yy189, &&yy140, &&yy140, &&yy140, &&yy189, &&yy189,
+ &&yy189, &&yy189, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy140, &&yy189, &&yy140, &&yy189, &&yy140, &&yy140,
+ &&yy140, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy140, &&yy140, &&yy140, &&yy189, &&yy163,
+ &&yy140, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy140, &&yy189, &&yy140, &&yy189, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140
};
goto *yytarget[yych];
}
-yy238:
- status = action_line652_ST_VALUE(i, keys, input, token, &cursor, 15);
+yy189:
+ status = check_key_count_line652_ST_VALUE(keys_count, i, 3)
+ || action_line652_ST_VALUE(&i, keys, input, token, &cursor, 2);
continue;
-yy239:
- yyaccept = 4;
+yy190:
+ yyaccept = 2;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy212, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy212, &&yy212, &&yy188, &&yy188, &&yy212, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy212, &&yy212, &&yy212, &&yy188, &&yy188, &&yy188, &&yy212, &&yy212,
- &&yy212, &&yy212, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy188, &&yy212, &&yy188, &&yy212, &&yy188, &&yy188,
- &&yy188, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy253, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy188, &&yy188, &&yy188, &&yy212, &&yy210,
- &&yy188, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy253, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy188, &&yy212, &&yy188, &&yy212, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188
+ &&yy165, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy165, &&yy165, &&yy140, &&yy140, &&yy165, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy165, &&yy165, &&yy165, &&yy140, &&yy140, &&yy140, &&yy165, &&yy165,
+ &&yy165, &&yy165, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy140, &&yy165, &&yy140, &&yy165, &&yy140, &&yy140,
+ &&yy140, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy204, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy140, &&yy140, &&yy140, &&yy165, &&yy163,
+ &&yy140, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy204, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy140, &&yy165, &&yy140, &&yy165, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140
};
goto *yytarget[yych];
}
-yy240:
- yyaccept = 4;
+yy191:
+ yyaccept = 2;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy212, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy212, &&yy212, &&yy188, &&yy188, &&yy212, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy212, &&yy212, &&yy212, &&yy188, &&yy188, &&yy188, &&yy212, &&yy212,
- &&yy212, &&yy212, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy188, &&yy212, &&yy188, &&yy212, &&yy188, &&yy188,
- &&yy188, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy237, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy188, &&yy188, &&yy188, &&yy212, &&yy210,
- &&yy188, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy237, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy188, &&yy212, &&yy188, &&yy212, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188
+ &&yy165, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy165, &&yy165, &&yy140, &&yy140, &&yy165, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy165, &&yy165, &&yy165, &&yy140, &&yy140, &&yy140, &&yy165, &&yy165,
+ &&yy165, &&yy165, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy140, &&yy165, &&yy140, &&yy165, &&yy140, &&yy140,
+ &&yy140, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy188, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy140, &&yy140, &&yy140, &&yy165, &&yy163,
+ &&yy140, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy188, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy140, &&yy165, &&yy140, &&yy165, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140
};
goto *yytarget[yych];
}
-yy241:
+yy192:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
if (yybm[0+yych] & 128) {
- goto yy241;
+ goto yy192;
}
- if (yych <= 0x00) goto yy189;
- if (yych == '\\') goto yy222;
- goto yy187;
-yy243:
+ if (yych <= 0x00) goto yy141;
+ if (yych == '\\') goto yy173;
+ goto yy139;
+yy194:
YYSKIP ();
- status = action_line652_ST_VALUE(i, keys, input, token, &cursor, 3);
+ status = check_key_count_line652_ST_VALUE(keys_count, i, 3)
+ || action_line652_ST_VALUE(&i, keys, input, token, &cursor, 0);
continue;
-yy245:
- yyaccept = 4;
+yy196:
+ yyaccept = 2;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy212, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy212, &&yy212, &&yy188, &&yy188, &&yy212, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy212, &&yy212, &&yy212, &&yy188, &&yy188, &&yy188, &&yy212, &&yy212,
- &&yy212, &&yy212, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy188, &&yy212, &&yy188, &&yy212, &&yy188, &&yy188,
- &&yy188, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy248, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy188, &&yy188, &&yy188, &&yy212, &&yy210,
- &&yy188, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy248, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy188, &&yy212, &&yy188, &&yy212, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188
+ &&yy165, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy165, &&yy165, &&yy140, &&yy140, &&yy165, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy165, &&yy165, &&yy165, &&yy140, &&yy140, &&yy140, &&yy165, &&yy165,
+ &&yy165, &&yy165, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy140, &&yy165, &&yy140, &&yy165, &&yy140, &&yy140,
+ &&yy140, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy199, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy140, &&yy140, &&yy140, &&yy165, &&yy163,
+ &&yy140, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy199, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy140, &&yy165, &&yy140, &&yy165, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140
};
goto *yytarget[yych];
}
-yy246:
+yy197:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
- if (yych == '\t') goto yy246;
- if (yych == ' ') goto yy246;
- goto yy234;
-yy248:
- yyaccept = 4;
+ if (yych == '\t') goto yy197;
+ if (yych == ' ') goto yy197;
+ goto yy185;
+yy199:
+ yyaccept = 2;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy212, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy212, &&yy212, &&yy188, &&yy188, &&yy212, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy212, &&yy212, &&yy212, &&yy188, &&yy188, &&yy188, &&yy212, &&yy212,
- &&yy212, &&yy212, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy188, &&yy212, &&yy188, &&yy212, &&yy188, &&yy188,
- &&yy188, &&yy210, &&yy210, &&yy210, &&yy210, &&yy250, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy188, &&yy188, &&yy188, &&yy212, &&yy210,
- &&yy188, &&yy210, &&yy210, &&yy210, &&yy210, &&yy250, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy188, &&yy212, &&yy188, &&yy212, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188
+ &&yy165, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy165, &&yy165, &&yy140, &&yy140, &&yy165, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy165, &&yy165, &&yy165, &&yy140, &&yy140, &&yy140, &&yy165, &&yy165,
+ &&yy165, &&yy165, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy140, &&yy165, &&yy140, &&yy165, &&yy140, &&yy140,
+ &&yy140, &&yy163, &&yy163, &&yy163, &&yy163, &&yy201, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy140, &&yy140, &&yy140, &&yy165, &&yy163,
+ &&yy140, &&yy163, &&yy163, &&yy163, &&yy163, &&yy201, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy140, &&yy165, &&yy140, &&yy165, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140
};
goto *yytarget[yych];
}
-yy249:
- yyaccept = 4;
+yy200:
+ yyaccept = 2;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy212, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy212, &&yy212, &&yy188, &&yy188, &&yy212, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy212, &&yy212, &&yy212, &&yy188, &&yy188, &&yy188, &&yy212, &&yy212,
- &&yy212, &&yy212, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy188, &&yy212, &&yy188, &&yy212, &&yy188, &&yy188,
- &&yy188, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy254, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy188, &&yy188, &&yy188, &&yy212, &&yy210,
- &&yy188, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy254, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy188, &&yy212, &&yy188, &&yy212, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188
+ &&yy165, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy165, &&yy165, &&yy140, &&yy140, &&yy165, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy165, &&yy165, &&yy165, &&yy140, &&yy140, &&yy140, &&yy165, &&yy165,
+ &&yy165, &&yy165, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy140, &&yy165, &&yy140, &&yy165, &&yy140, &&yy140,
+ &&yy140, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy205, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy140, &&yy140, &&yy140, &&yy165, &&yy163,
+ &&yy140, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy205, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy140, &&yy165, &&yy140, &&yy165, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140
};
goto *yytarget[yych];
}
-yy250:
- yyaccept = 5;
+yy201:
+ yyaccept = 3;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy234, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy246, &&yy234, &&yy188, &&yy188, &&yy234, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy246, &&yy234, &&yy234, &&yy188, &&yy188, &&yy188, &&yy234, &&yy234,
- &&yy234, &&yy234, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy188, &&yy234, &&yy188, &&yy234, &&yy188, &&yy188,
- &&yy188, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy188, &&yy188, &&yy188, &&yy234, &&yy210,
- &&yy188, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy188, &&yy234, &&yy188, &&yy234, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188
+ &&yy185, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy197, &&yy185, &&yy140, &&yy140, &&yy185, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy197, &&yy185, &&yy185, &&yy140, &&yy140, &&yy140, &&yy185, &&yy185,
+ &&yy185, &&yy185, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy140, &&yy185, &&yy140, &&yy185, &&yy140, &&yy140,
+ &&yy140, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy140, &&yy140, &&yy140, &&yy185, &&yy163,
+ &&yy140, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy140, &&yy185, &&yy140, &&yy185, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140
};
goto *yytarget[yych];
}
-yy251:
+yy202:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
- if (yych == '\t') goto yy251;
- if (yych == ' ') goto yy251;
- goto yy238;
-yy253:
- yyaccept = 4;
+ if (yych == '\t') goto yy202;
+ if (yych == ' ') goto yy202;
+ goto yy189;
+yy204:
+ yyaccept = 2;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy212, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy212, &&yy212, &&yy188, &&yy188, &&yy212, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy212, &&yy212, &&yy212, &&yy188, &&yy188, &&yy188, &&yy212, &&yy212,
- &&yy212, &&yy212, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy188, &&yy212, &&yy188, &&yy212, &&yy188, &&yy188,
- &&yy188, &&yy210, &&yy210, &&yy210, &&yy210, &&yy237, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy188, &&yy188, &&yy188, &&yy212, &&yy210,
- &&yy188, &&yy210, &&yy210, &&yy210, &&yy210, &&yy237, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy188, &&yy212, &&yy188, &&yy212, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188
+ &&yy165, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy165, &&yy165, &&yy140, &&yy140, &&yy165, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy165, &&yy165, &&yy165, &&yy140, &&yy140, &&yy140, &&yy165, &&yy165,
+ &&yy165, &&yy165, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy140, &&yy165, &&yy140, &&yy165, &&yy140, &&yy140,
+ &&yy140, &&yy163, &&yy163, &&yy163, &&yy163, &&yy188, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy140, &&yy140, &&yy140, &&yy165, &&yy163,
+ &&yy140, &&yy163, &&yy163, &&yy163, &&yy163, &&yy188, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy140, &&yy165, &&yy140, &&yy165, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140
};
goto *yytarget[yych];
}
-yy254:
- yyaccept = 7;
+yy205:
+ yyaccept = 5;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy255, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy256, &&yy255, &&yy188, &&yy188, &&yy255, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy256, &&yy255, &&yy255, &&yy188, &&yy188, &&yy188, &&yy255, &&yy255,
- &&yy255, &&yy255, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy188, &&yy255, &&yy188, &&yy255, &&yy188, &&yy188,
- &&yy188, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy188, &&yy188, &&yy188, &&yy255, &&yy210,
- &&yy188, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210, &&yy210,
- &&yy210, &&yy210, &&yy210, &&yy188, &&yy255, &&yy188, &&yy255, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188,
- &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188, &&yy188
+ &&yy206, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy207, &&yy206, &&yy140, &&yy140, &&yy206, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy207, &&yy206, &&yy206, &&yy140, &&yy140, &&yy140, &&yy206, &&yy206,
+ &&yy206, &&yy206, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy140, &&yy206, &&yy140, &&yy206, &&yy140, &&yy140,
+ &&yy140, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy140, &&yy140, &&yy140, &&yy206, &&yy163,
+ &&yy140, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163, &&yy163,
+ &&yy163, &&yy163, &&yy163, &&yy140, &&yy206, &&yy140, &&yy206, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140,
+ &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140, &&yy140
};
goto *yytarget[yych];
}
-yy255:
- status = action_line652_ST_VALUE(i, keys, input, token, &cursor, 19);
+yy206:
+ status = check_key_count_line652_ST_VALUE(keys_count, i, 3)
+ || action_line652_ST_VALUE(&i, keys, input, token, &cursor, 4);
continue;
-yy256:
+yy207:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
- if (yych == '\t') goto yy256;
- if (yych == ' ') goto yy256;
- goto yy255;
+ if (yych == '\t') goto yy207;
+ if (yych == ' ') goto yy207;
+ goto yy206;
}
if (status == 0) {
@@ -3809,7 +3175,7 @@ yy256:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line652_ST_VALUE: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line652_ST_VALUE: unused keys left after %u keys\n", i);
}
}
@@ -3836,8 +3202,407 @@ end:
#define YYLESSTHAN(n) (limit - cursor) < n
#define YYFILL(n) { break; }
+static int action_line652_ST_SECTION_RAW
+ ( unsigned *pkix
+ , const YYKEYTYPE *keys
+ , const YYCTYPE *start
+ , const YYCTYPE *token
+ , const YYCTYPE **cursor
+ , YYKEYTYPE rule_act
+ )
+{
+ const unsigned kix = *pkix;
+ const long pos = token - start;
+ const long len_act = *cursor - token;
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
+ if (rule_exp == 255) {
+ fprintf
+ ( stderr
+ , "warning: lex_line652_ST_SECTION_RAW: control flow is undefined for input"
+ " at position %ld, rerun re2c with '-W'\n"
+ , pos
+ );
+ }
+ if (len_act == len_exp && rule_act == rule_exp) {
+ const YYKEYTYPE offset = keys[kix];
+ *cursor = token + offset;
+ return 0;
+ } else {
+ fprintf
+ ( stderr
+ , "error: lex_line652_ST_SECTION_RAW: at position %ld (key %u):\n"
+ "\texpected: match length %ld, rule %u\n"
+ "\tactual: match length %ld, rule %u\n"
+ , pos
+ , kix
+ , len_exp
+ , rule_exp
+ , len_act
+ , rule_act
+ );
+ return 1;
+ }
+}
+
+static int check_key_count_line652_ST_SECTION_RAW(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line652_ST_SECTION_RAW: not enough keys\n");
+ return 1;
+}
+
+int lex_line652_ST_SECTION_RAW()
+{
+ const size_t padding = 2; /* YYMAXFILL */
+ int status = 0;
+ size_t input_len = 0;
+ size_t keys_count = 0;
+ YYCTYPE *input = NULL;
+ YYKEYTYPE *keys = NULL;
+ const YYCTYPE *cursor = NULL;
+ const YYCTYPE *limit = NULL;
+ const YYCTYPE *token = NULL;
+ const YYCTYPE *eof = NULL;
+ unsigned int i = 0;
+
+ input = (YYCTYPE *) read_file
+ ("php20150211_zend_ini_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line652_ST_SECTION_RAW.input"
+ , sizeof (YYCTYPE)
+ , padding
+ , &input_len
+ );
+ if (input == NULL) {
+ status = 1;
+ goto end;
+ }
+
+ keys = (YYKEYTYPE *) read_file
+ ("php20150211_zend_ini_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line652_ST_SECTION_RAW.keys"
+ , sizeof (YYKEYTYPE)
+ , 0
+ , &keys_count
+ );
+ if (keys == NULL) {
+ status = 1;
+ goto end;
+ }
+
+ cursor = input;
+ limit = input + input_len + padding;
+ eof = input + input_len;
+
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
+ token = cursor;
+ YYCTYPE yych;
+ static const unsigned char yybm[] = {
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 192, 0, 64, 64, 0, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 192, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 0, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ };
+
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 64) {
+ goto yy212;
+ }
+ if (yych <= '\r') goto yy215;
+ goto yy217;
+yy212:
+ YYSKIP ();
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 64) {
+ goto yy212;
+ }
+ status = check_key_count_line652_ST_SECTION_RAW(keys_count, i, 3)
+ || action_line652_ST_SECTION_RAW(&i, keys, input, token, &cursor, 1);
+ continue;
+yy215:
+ YYSKIP ();
+ status = check_key_count_line652_ST_SECTION_RAW(keys_count, i, 3)
+ || action_line652_ST_SECTION_RAW(&i, keys, input, token, &cursor, 2);
+ continue;
+yy217:
+ YYSKIP ();
+ if (YYLESSTHAN (2)) YYFILL(2);
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 128) {
+ goto yy217;
+ }
+ if (yych <= 0x08) goto yy219;
+ if (yych <= '\n') goto yy220;
+ if (yych == '\r') goto yy221;
+yy219:
+ status = check_key_count_line652_ST_SECTION_RAW(keys_count, i, 3)
+ || action_line652_ST_SECTION_RAW(&i, keys, input, token, &cursor, 0);
+ continue;
+yy220:
+ YYSKIP ();
+ goto yy219;
+yy221:
+ YYSKIP ();
+ yych = YYPEEK ();
+ if (yych == '\n') goto yy220;
+ goto yy219;
+
+ }
+ if (status == 0) {
+ if (cursor != eof) {
+ status = 1;
+ const long pos = token - input;
+ fprintf(stderr, "error: lex_line652_ST_SECTION_RAW: unused input strings left at position %ld\n", pos);
+ }
+ if (i != keys_count) {
+ status = 1;
+ fprintf(stderr, "error: lex_line652_ST_SECTION_RAW: unused keys left after %u keys\n", i);
+ }
+ }
+
+end:
+ free(input);
+ free(keys);
+
+ return status;
+}
+
+#undef YYCTYPE
+#undef YYKEYTYPE
+#undef YYPEEK
+#undef YYSKIP
+#undef YYLESSTHAN
+#undef YYFILL
+
+#define YYCTYPE unsigned char
+#define YYKEYTYPE unsigned char
+#define YYPEEK() *cursor
+#define YYSKIP() ++cursor
+#define YYLESSTHAN(n) (limit - cursor) < n
+#define YYFILL(n) { break; }
+
+static int action_line652_ST_DOUBLE_QUOTES
+ ( unsigned *pkix
+ , const YYKEYTYPE *keys
+ , const YYCTYPE *start
+ , const YYCTYPE *token
+ , const YYCTYPE **cursor
+ , YYKEYTYPE rule_act
+ )
+{
+ const unsigned kix = *pkix;
+ const long pos = token - start;
+ const long len_act = *cursor - token;
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
+ if (rule_exp == 255) {
+ fprintf
+ ( stderr
+ , "warning: lex_line652_ST_DOUBLE_QUOTES: control flow is undefined for input"
+ " at position %ld, rerun re2c with '-W'\n"
+ , pos
+ );
+ }
+ if (len_act == len_exp && rule_act == rule_exp) {
+ const YYKEYTYPE offset = keys[kix];
+ *cursor = token + offset;
+ return 0;
+ } else {
+ fprintf
+ ( stderr
+ , "error: lex_line652_ST_DOUBLE_QUOTES: at position %ld (key %u):\n"
+ "\texpected: match length %ld, rule %u\n"
+ "\tactual: match length %ld, rule %u\n"
+ , pos
+ , kix
+ , len_exp
+ , rule_exp
+ , len_act
+ , rule_act
+ );
+ return 1;
+ }
+}
+
+static int check_key_count_line652_ST_DOUBLE_QUOTES(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line652_ST_DOUBLE_QUOTES: not enough keys\n");
+ return 1;
+}
+
+int lex_line652_ST_DOUBLE_QUOTES()
+{
+ const size_t padding = 2; /* YYMAXFILL */
+ int status = 0;
+ size_t input_len = 0;
+ size_t keys_count = 0;
+ YYCTYPE *input = NULL;
+ YYKEYTYPE *keys = NULL;
+ const YYCTYPE *cursor = NULL;
+ const YYCTYPE *limit = NULL;
+ const YYCTYPE *token = NULL;
+ const YYCTYPE *eof = NULL;
+ unsigned int i = 0;
+
+ input = (YYCTYPE *) read_file
+ ("php20150211_zend_ini_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line652_ST_DOUBLE_QUOTES.input"
+ , sizeof (YYCTYPE)
+ , padding
+ , &input_len
+ );
+ if (input == NULL) {
+ status = 1;
+ goto end;
+ }
+
+ keys = (YYKEYTYPE *) read_file
+ ("php20150211_zend_ini_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line652_ST_DOUBLE_QUOTES.keys"
+ , sizeof (YYKEYTYPE)
+ , 0
+ , &keys_count
+ );
+ if (keys == NULL) {
+ status = 1;
+ goto end;
+ }
+
+ cursor = input;
+ limit = input + input_len + padding;
+ eof = input + input_len;
+
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
+ token = cursor;
+ YYCTYPE yych;
+ static const unsigned char yybm[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 128, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 128, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ };
+
+ if (YYLESSTHAN (2)) YYFILL(2);
+ yych = YYPEEK ();
+ if (yych == '"') goto yy227;
+ if (yych == '$') goto yy230;
+ YYSKIP ();
+yy226:
+ status = check_key_count_line652_ST_DOUBLE_QUOTES(keys_count, i, 3)
+ || action_line652_ST_DOUBLE_QUOTES(&i, keys, input, token, &cursor, 2);
+ continue;
+yy227:
+ YYSKIP ();
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 128) {
+ goto yy227;
+ }
+ status = check_key_count_line652_ST_DOUBLE_QUOTES(keys_count, i, 3)
+ || action_line652_ST_DOUBLE_QUOTES(&i, keys, input, token, &cursor, 1);
+ continue;
+yy230:
+ YYSKIP ();
+ yych = YYPEEK ();
+ if (yych != '{') goto yy226;
+ YYSKIP ();
+ status = check_key_count_line652_ST_DOUBLE_QUOTES(keys_count, i, 3)
+ || action_line652_ST_DOUBLE_QUOTES(&i, keys, input, token, &cursor, 0);
+ continue;
+
+ }
+ if (status == 0) {
+ if (cursor != eof) {
+ status = 1;
+ const long pos = token - input;
+ fprintf(stderr, "error: lex_line652_ST_DOUBLE_QUOTES: unused input strings left at position %ld\n", pos);
+ }
+ if (i != keys_count) {
+ status = 1;
+ fprintf(stderr, "error: lex_line652_ST_DOUBLE_QUOTES: unused keys left after %u keys\n", i);
+ }
+ }
+
+end:
+ free(input);
+ free(keys);
+
+ return status;
+}
+
+#undef YYCTYPE
+#undef YYKEYTYPE
+#undef YYPEEK
+#undef YYSKIP
+#undef YYLESSTHAN
+#undef YYFILL
+
+#define YYCTYPE unsigned char
+#define YYKEYTYPE unsigned char
+#define YYPEEK() *cursor
+#define YYSKIP() ++cursor
+#define YYLESSTHAN(n) (limit - cursor) < n
+#define YYFILL(n) { break; }
+
static int action_line652_ST_VARNAME
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -3845,10 +3610,12 @@ static int action_line652_ST_VARNAME
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -3858,17 +3625,17 @@ static int action_line652_ST_VARNAME
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line652_ST_VARNAME: at position %ld (iteration %u):\n"
+ , "error: lex_line652_ST_VARNAME: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -3878,6 +3645,13 @@ static int action_line652_ST_VARNAME
}
}
+static int check_key_count_line652_ST_VARNAME(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line652_ST_VARNAME: not enough keys\n");
+ return 1;
+}
+
int lex_line652_ST_VARNAME()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -3905,7 +3679,7 @@ int lex_line652_ST_VARNAME()
keys = (YYKEYTYPE *) read_file
("php20150211_zend_ini_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line652_ST_VARNAME.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -3918,7 +3692,7 @@ int lex_line652_ST_VARNAME()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -3926,92 +3700,95 @@ int lex_line652_ST_VARNAME()
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy264, &&yy264, &&yy261, &&yy261, &&yy264, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy264, &&yy264, &&yy261, &&yy264, &&yy261, &&yy264, &&yy261,
- &&yy264, &&yy264, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy264, &&yy261, &&yy264, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy264, &&yy261, &&yy261, &&yy264, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy264, &&yy264, &&yy266, &&yy264, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy239, &&yy239, &&yy236, &&yy236, &&yy239, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy239, &&yy239, &&yy236, &&yy239, &&yy236, &&yy239, &&yy236,
+ &&yy239, &&yy239, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy239, &&yy236, &&yy239, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy239, &&yy236, &&yy236, &&yy239, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy239, &&yy239, &&yy241, &&yy239, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236
};
goto *yytarget[yych];
}
-yy261:
+yy236:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy263, &&yy263, &&yy261, &&yy261, &&yy263, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy263, &&yy263, &&yy261, &&yy263, &&yy261, &&yy263, &&yy261,
- &&yy263, &&yy263, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy263, &&yy261, &&yy263, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy263, &&yy261, &&yy261, &&yy263, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy263, &&yy263, &&yy263, &&yy263, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261,
- &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261, &&yy261
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy238, &&yy238, &&yy236, &&yy236, &&yy238, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy238, &&yy238, &&yy236, &&yy238, &&yy236, &&yy238, &&yy236,
+ &&yy238, &&yy238, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy238, &&yy236, &&yy238, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy238, &&yy236, &&yy236, &&yy238, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy238, &&yy238, &&yy238, &&yy238, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236,
+ &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236, &&yy236
};
goto *yytarget[yych];
}
-yy263:
- status = action_line652_ST_VARNAME(i, keys, input, token, &cursor, 12);
+yy238:
+ status = check_key_count_line652_ST_VARNAME(keys_count, i, 3)
+ || action_line652_ST_VARNAME(&i, keys, input, token, &cursor, 0);
continue;
-yy264:
+yy239:
YYSKIP ();
- status = action_line652_ST_VARNAME(i, keys, input, token, &cursor, 55);
+ status = check_key_count_line652_ST_VARNAME(keys_count, i, 3)
+ || action_line652_ST_VARNAME(&i, keys, input, token, &cursor, 2);
continue;
-yy266:
+yy241:
YYSKIP ();
- status = action_line652_ST_VARNAME(i, keys, input, token, &cursor, 13);
+ status = check_key_count_line652_ST_VARNAME(keys_count, i, 3)
+ || action_line652_ST_VARNAME(&i, keys, input, token, &cursor, 1);
continue;
}
@@ -4023,7 +3800,311 @@ yy266:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line652_ST_VARNAME: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line652_ST_VARNAME: unused keys left after %u keys\n", i);
+ }
+ }
+
+end:
+ free(input);
+ free(keys);
+
+ return status;
+}
+
+#undef YYCTYPE
+#undef YYKEYTYPE
+#undef YYPEEK
+#undef YYSKIP
+#undef YYLESSTHAN
+#undef YYFILL
+
+#define YYCTYPE unsigned char
+#define YYKEYTYPE unsigned char
+#define YYPEEK() *cursor
+#define YYSKIP() ++cursor
+#define YYLESSTHAN(n) (limit - cursor) < n
+#define YYFILL(n) { break; }
+
+static int action_line652_ST_RAW
+ ( unsigned *pkix
+ , const YYKEYTYPE *keys
+ , const YYCTYPE *start
+ , const YYCTYPE *token
+ , const YYCTYPE **cursor
+ , YYKEYTYPE rule_act
+ )
+{
+ const unsigned kix = *pkix;
+ const long pos = token - start;
+ const long len_act = *cursor - token;
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
+ if (rule_exp == 255) {
+ fprintf
+ ( stderr
+ , "warning: lex_line652_ST_RAW: control flow is undefined for input"
+ " at position %ld, rerun re2c with '-W'\n"
+ , pos
+ );
+ }
+ if (len_act == len_exp && rule_act == rule_exp) {
+ const YYKEYTYPE offset = keys[kix];
+ *cursor = token + offset;
+ return 0;
+ } else {
+ fprintf
+ ( stderr
+ , "error: lex_line652_ST_RAW: at position %ld (key %u):\n"
+ "\texpected: match length %ld, rule %u\n"
+ "\tactual: match length %ld, rule %u\n"
+ , pos
+ , kix
+ , len_exp
+ , rule_exp
+ , len_act
+ , rule_act
+ );
+ return 1;
+ }
+}
+
+static int check_key_count_line652_ST_RAW(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line652_ST_RAW: not enough keys\n");
+ return 1;
+}
+
+int lex_line652_ST_RAW()
+{
+ const size_t padding = 3; /* YYMAXFILL */
+ int status = 0;
+ size_t input_len = 0;
+ size_t keys_count = 0;
+ YYCTYPE *input = NULL;
+ YYKEYTYPE *keys = NULL;
+ const YYCTYPE *cursor = NULL;
+ const YYCTYPE *limit = NULL;
+ const YYCTYPE *token = NULL;
+ const YYCTYPE *eof = NULL;
+ unsigned int i = 0;
+
+ input = (YYCTYPE *) read_file
+ ("php20150211_zend_ini_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line652_ST_RAW.input"
+ , sizeof (YYCTYPE)
+ , padding
+ , &input_len
+ );
+ if (input == NULL) {
+ status = 1;
+ goto end;
+ }
+
+ keys = (YYKEYTYPE *) read_file
+ ("php20150211_zend_ini_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line652_ST_RAW.keys"
+ , sizeof (YYKEYTYPE)
+ , 0
+ , &keys_count
+ );
+ if (keys == NULL) {
+ status = 1;
+ goto end;
+ }
+
+ cursor = input;
+ limit = input + input_len + padding;
+ eof = input + input_len;
+
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
+ token = cursor;
+ YYCTYPE yych;
+ static const unsigned char yybm[] = {
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 192, 0, 64, 64, 0, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 192, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ };
+
+ if (YYLESSTHAN (3)) YYFILL(3);
+ yych = YYPEEK ();
+ {
+ static void *yytarget[256] = {
+ &&yy246, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248,
+ &&yy248, &&yy250, &&yy251, &&yy248, &&yy248, &&yy253, &&yy248, &&yy248,
+ &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248,
+ &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248,
+ &&yy250, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248,
+ &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248,
+ &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248,
+ &&yy248, &&yy248, &&yy248, &&yy254, &&yy248, &&yy248, &&yy248, &&yy248,
+ &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248,
+ &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248,
+ &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248,
+ &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248,
+ &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248,
+ &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248,
+ &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248,
+ &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248,
+ &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248,
+ &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248,
+ &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248,
+ &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248,
+ &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248,
+ &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248,
+ &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248,
+ &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248,
+ &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248,
+ &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248,
+ &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248,
+ &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248,
+ &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248,
+ &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248,
+ &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248,
+ &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248, &&yy248
+ };
+ goto *yytarget[yych];
+ }
+yy246:
+ YYSKIP ();
+ status = check_key_count_line652_ST_RAW(keys_count, i, 3)
+ || action_line652_ST_RAW(&i, keys, input, token, &cursor, 4);
+ continue;
+yy248:
+ YYSKIP ();
+yy249:
+ status = check_key_count_line652_ST_RAW(keys_count, i, 3)
+ || action_line652_ST_RAW(&i, keys, input, token, &cursor, 0);
+ continue;
+yy250:
+ YYSKIP ();
+ yych = YYPEEK ();
+ {
+ static void *yytarget[256] = {
+ &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249,
+ &&yy249, &&yy257, &&yy257, &&yy249, &&yy249, &&yy257, &&yy249, &&yy249,
+ &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249,
+ &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249,
+ &&yy257, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249,
+ &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249,
+ &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249,
+ &&yy249, &&yy249, &&yy249, &&yy257, &&yy249, &&yy249, &&yy249, &&yy249,
+ &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249,
+ &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249,
+ &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249,
+ &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249,
+ &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249,
+ &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249,
+ &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249,
+ &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249,
+ &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249,
+ &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249,
+ &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249,
+ &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249,
+ &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249,
+ &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249,
+ &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249,
+ &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249,
+ &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249,
+ &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249,
+ &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249,
+ &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249,
+ &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249,
+ &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249,
+ &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249,
+ &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249, &&yy249
+ };
+ goto *yytarget[yych];
+ }
+yy251:
+ YYSKIP ();
+yy252:
+ status = check_key_count_line652_ST_RAW(keys_count, i, 3)
+ || action_line652_ST_RAW(&i, keys, input, token, &cursor, 1);
+ continue;
+yy253:
+ YYSKIP ();
+ yych = YYPEEK ();
+ if (yych == '\n') goto yy251;
+ goto yy252;
+yy254:
+ YYSKIP ();
+ if (YYLESSTHAN (2)) YYFILL(2);
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 64) {
+ goto yy254;
+ }
+ if (yych <= '\n') goto yy259;
+ goto yy261;
+yy256:
+ YYSKIP ();
+ if (YYLESSTHAN (2)) YYFILL(2);
+ yych = YYPEEK ();
+yy257:
+ if (yybm[0+yych] & 128) {
+ goto yy256;
+ }
+ if (yych <= '\f') {
+ if (yych <= 0x08) goto yy258;
+ if (yych <= '\n') goto yy251;
+ } else {
+ if (yych <= '\r') goto yy253;
+ if (yych == ';') goto yy254;
+ }
+yy258:
+ status = check_key_count_line652_ST_RAW(keys_count, i, 3)
+ || action_line652_ST_RAW(&i, keys, input, token, &cursor, 2);
+ continue;
+yy259:
+ YYSKIP ();
+yy260:
+ status = check_key_count_line652_ST_RAW(keys_count, i, 3)
+ || action_line652_ST_RAW(&i, keys, input, token, &cursor, 3);
+ continue;
+yy261:
+ YYSKIP ();
+ yych = YYPEEK ();
+ if (yych == '\n') goto yy259;
+ goto yy260;
+
+ }
+ if (status == 0) {
+ if (cursor != eof) {
+ status = 1;
+ const long pos = token - input;
+ fprintf(stderr, "error: lex_line652_ST_RAW: unused input strings left at position %ld\n", pos);
+ }
+ if (i != keys_count) {
+ status = 1;
+ fprintf(stderr, "error: lex_line652_ST_RAW: unused keys left after %u keys\n", i);
}
}
@@ -4069,604 +4150,572 @@ int main()
}
return 0;
}
-
- [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ # [ 0##[ 1%%[ !2''[ "3**[ #4++[ $5,,[ %6--[ &7..[ '8//[ (900[ )A11[ *B22[ +C33[ ,D44[ -E55[ .G66[ /H77[ 0I88[ 1J99[ 2K::[ 3L<<[ 4M>>[ 5P??[ 6Q@@[ 7RAA[ 8SBB[ 9UCC[ :VDD[ ;WEE[ <XFF[ =ZGG[ >\HH[ ?_II[ @`JJ[ AaKK[ BbLL[ CcMM[ DdNN[ EeOO[ FgPP[ GhQQ[ HiRR[ IjSS[ JkTT[ KlUU[ LmVV[ MpWW[ NqXX[ OrYY[ PsZZ[ Qu\\[ Rv]][ Sw__[ Tx``[ Uzaa[ Vbb[ W€cc[ Xdd[ Y‚ee[ Zƒff[ [„gg[ \…hh[ ]†ii[ ^‡jj[ _ˆkk[ `‰ll[ aŠmm[ b‹nn[ cŒoo[ dpp[ eŽqq[ frr[ gss[ h‘tt[ i’uu[ j“vv[ k”ww[ l•xx[ m–yy[ n—zz[ o˜[ p™€€[ qš[ r›‚‚[ sœƒƒ[ t„„[ už……[ vŸ††[ w ‡‡[ x¡ˆˆ[ y¢‰‰[ z£ŠŠ[ {¤‹‹[ |¥ŒŒ[ }¦[ ~§ŽŽ[ ¨[ €©[ ª‘‘[ ‚«’’[ ƒ¬““[ „­””[ …®••[ †¯––[ ‡°——[ ˆ±˜˜[ ‰²™™[ Š³šš[ ‹´››[ Œµœœ[ ¶[ Ž·žž[ ¸ŸŸ[ ¹  [ ‘º¡¡[ ’»¢¢[ “¼££[ ”½¤¤[ •¾¥¥[ –¿¦¦[ —À§§[ ˜Á¨¨[ ™Â©©[ šÃªª[ ›Ä««[ œÅ¬¬[ Æ­­[ žÇ®®[ ŸÈ¯¯[  É°°[ ¡Ê±±[ ¢Ë²²[ £Ì³³[ ¤Í´´[ ¥Îµµ[ ¦Ï¶¶[ §Ð··[ ¨Ñ¸¸[ ©Ò¹¹[ ªÓºº[ «Ô»»[ ¬Õ¼¼[ ­Ö½½[ ®×¾¾[ ¯Ø¿¿[ °ÙÀÀ[ ±ÚÁÁ[ ²ÛÂÂ[ ³ÜÃÃ[ ´ÝÄÄ[ µÞÅÅ[ ¶ßÆÆ[ ·àÇÇ[ ¸áÈÈ[ ¹âÉÉ[ ºãÊÊ[ »äËË[ ¼åÌÌ[ ½æÍÍ[ ¾çÎÎ[ ¿èÏÏ[ ÀéÐÐ[ ÁêÑÑ[ ÂëÒÒ[ ÃìÓÓ[ ÄíÔÔ[ ÅîÕÕ[ ÆïÖÖ[ Çð××[ ÈñØØ[ ÉòÙÙ[ ÊóÚÚ[ ËôÛÛ[ ÌõÜÜ[ ÍöÝÝ[ Î÷ÞÞ[ Ïøßß[ Ðùàà[ Ñúáá[ Òûââ[ Óüãã[ Ôýää[ Õþåå[ Öÿææ[ ×
- [ [ [ [[[[[[[[[[[[[[[[# [0##[1%%[!2''["3**[#4++[$5,,[%6--[&7..['8//[(900[)A11[*B22[+C33[,D44[-E55[.G66[/H77[0I88[1J99[2K::[3L<<[4M>>[5P??[6Q@@[7RAA[8SBB[9UCC[:VDD[;WEE[<XFF[=ZGG[>\HH[?_II[@`JJ[AaKK[BbLL[CcMM[DdNN[EeOO[FgPP[GhQQ[HiRR[IjSS[JkTT[KlUU[LmVV[MpWW[NqXX[OrYY[PsZZ[Qu\\[Rv]][Sw__[Tx``[Uzaa[Vbb[W€cc[Xdd[Y‚ee[Zƒff[[„gg[\…hh[]†ii[^‡jj[_ˆkk[`‰ll[aŠmm[b‹nn[cŒoo[dpp[eŽqq[frr[gss[h‘tt[i’uu[j“vv[k”ww[l•xx[m–yy[n—zz[o˜[p™€€[qš[r›‚‚[sœƒƒ[t„„[už……[vŸ††[w ‡‡[x¡ˆˆ[y¢‰‰[z£ŠŠ[{¤‹‹[|¥ŒŒ[}¦[~§ŽŽ[¨[€©[ª‘‘[‚«’’[ƒ¬““[„­””[…®••[†¯––[‡°——[ˆ±˜˜[‰²™™[Š³šš[‹´››[Œµœœ[¶[Ž·žž[¸ŸŸ[¹  [‘º¡¡[’»¢¢[“¼££[”½¤¤[•¾¥¥[–¿¦¦[—À§§[˜Á¨¨[™Â©©[šÃªª[›Ä««[œÅ¬¬[Æ­­[žÇ®®[ŸÈ¯¯[ É°°[¡Ê±±[¢Ë²²[£Ì³³[¤Í´´[¥Îµµ[¦Ï¶¶[§Ð··[¨Ñ¸¸[©Ò¹¹[ªÓºº[«Ô»»[¬Õ¼¼[­Ö½½[®×¾¾[¯Ø¿¿[°ÙÀÀ[±ÚÁÁ[²ÛÂÂ[³ÜÃÃ[´ÝÄÄ[µÞÅÅ[¶ßÆÆ[·àÇÇ[¸áÈÈ[¹âÉÉ[ºãÊÊ[»äËË[¼åÌÌ[½æÍÍ[¾çÎÎ[¿èÏÏ[ÀéÐÐ[ÁêÑÑ[ÂëÒÒ[ÃìÓÓ[ÄíÔÔ[ÅîÕÕ[ÆïÖÖ[Çð××[ÈñØØ[ÉòÙÙ[ÊóÚÚ[ËôÛÛ[ÌõÜÜ[ÍöÝÝ[Î÷ÞÞ[Ïøßß[Ðùàà[Ñúáá[Òûââ[Óüãã[Ôýää[Õþåå[Öÿææ[×
- !"$&() ; =^{|}~ 
- !"$&();=^{# |0##}1%%~2'' 3**
-4++ 5,,!6--"7..$8//&900(A11)B22;C33=D44^E55{G66|H77}I88~J99 K::
-L<< M>>!P??"Q@@$RAA&SBB(UCC)VDD;WEE=XFF^ZGG{\HH|_II}`JJ~aKK bLL
-cMM dNN!eOO"gPP$hQQ&iRR(jSS)kTT;lUU=mVV^pWW{qXX|rYY}sZZ~u\\ v]]
-w__ x``!zaa"bb$€cc&dd(‚ee)ƒff;„gg=…hh^†ii{‡jj|ˆkk}‰ll~Šmm ‹nn
-Œoo pp!Žqq"rr$ss&‘tt(’uu)“vv;”ww=•xx^–yy{—zz|˜}™€€~š ›‚‚
-œƒƒ „„!ž……"Ÿ††$ ‡‡&¡ˆˆ(¢‰‰)£ŠŠ;¤‹‹=¥ŒŒ^¦{§ŽŽ|¨}©~ª‘‘ «’’
-¬““ ­””!®••"¯––$°——&±˜˜(²™™)³šš;´››=µœœ^¶{·žž|¸ŸŸ}¹  ~º¡¡ »¢¢
-¼££ ½¤¤!¾¥¥"¿¦¦$À§§&Á¨¨(©©)êª;Ä««=Ŭ¬^Æ­­{Ç®®|ȯ¯}É°°~ʱ± ˲²
-̳³ Í´´!εµ"϶¶$з·&Ѹ¸(Ò¹¹)Óºº;Ô»»=Õ¼¼^Ö½½{×¾¾|Ø¿¿}ÙÀÀ~ÚÁÁ ÛÂÂ
-ÜÃà ÝÄÄ!ÞÅÅ"ßÆÆ$àÇÇ&áÈÈ(âÉÉ)ãÊÊ;äËË=åÌÌ^æÍÍ{çÎÎ|èÏÏ}éÐÐ~êÑÑ ëÒÒ
-ìÓÓ íÔÔ!îÕÕ"ïÖÖ$ð××&ñØØ(òÙÙ)óÚÚ;ôÛÛ=õÜÜ^öÝÝ{÷ÞÞ|øßß}ùàà~úáá ûââ
-üãã ýää!þåå"ÿææ$
-óó ôô!õõ"öö$÷÷&øø(ùù)úú;ûû=üü^ýý{þþ|ÿÿ}
- [ [ [ [[[[[[[[[[[[[[[[# [0#[1%[!2'["3*[#4+[$5,[%6-[&7.['8/[(90[)A1[*B2[+C3[,D4[-E5[.G6[/H7[0I8[1J9[2K:[3L<[4M>[5P?[6Q@[7RA[8SB[9UC[:VD[;WE[<XF[=ZG[>\H[?_I[@`J[AaK[BbL[CcM[DdN[EeO[FgP[GhQ[HiR[IjS[JkT[KlU[LmV[MpW[NqX[OrY[PsZ[Qu\[Rv][Sw_[Tx`[Uza[Vb[W€c[Xd[Y‚e[Zƒf[[„g[\…h[]†i[^‡j[_ˆk[`‰l[aŠm[b‹n[cŒo[dp[eŽq[fr[gs[h‘t[i’u[j“v[k”w[l•x[m–y[n—z[o˜[p™€[qš[r›‚[sœƒ[t„[už…[vŸ†[w ‡[x¡ˆ[y¢‰[z£Š[{¤‹[|¥Œ[}¦[~§Ž[¨[€©[ª‘[‚«’[ƒ¬“[„­”[…®•[†¯–[‡°—[ˆ±˜[‰²™[Š³š[‹´›[Œµœ[¶[Ž·ž[¸Ÿ[¹ [‘º¡[’»¢[“¼£[”½¤[•¾¥[–¿¦[—À§[˜Á¨[™Â©[šÃª[›Ä«[œÅ¬[Æ­[žÇ®[ŸÈ¯[ É°[¡Ê±[¢Ë²[£Ì³[¤Í´[¥Îµ[¦Ï¶[§Ð·[¨Ñ¸[©Ò¹[ªÓº[«Ô»[¬Õ¼[­Ö½[®×¾[¯Ø¿[°ÙÀ[±ÚÁ[²ÛÂ[³ÜÃ[´ÝÄ[µÞÅ[¶ßÆ[·àÇ[¸áÈ[¹âÉ[ºãÊ[»äË[¼åÌ[½æÍ[¾çÎ[¿èÏ[ÀéÐ[ÁêÑ[ÂëÒ[ÃìÓ[ÄíÔ[ÅîÕ[ÆïÖ[Çð×[ÈñØ[ÉòÙ[ÊóÚ[ËôÛ[ÌõÜ[ÍöÝ[Î÷Þ[Ïøß[Ðùà[Ñúá[Òûâ[Óüã[Ôýä[Õþå[Öÿæ[×
+
+ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ # [ %#[ '%[ !*'[ "+*[ #,+[ $-,[ %.-[ &/.[ '0/[ (10[ )21[ *32[ +43[ ,54[ -65[ .76[ /87[ 098[ 1:9[ 2<:[ 3><[ 4?>[ 5@?[ 6A@[ 7BA[ 8CB[ 9DC[ :ED[ ;GE[ <HF[ =IG[ >JH[ ?KI[ @LJ[ AMK[ BPL[ CQM[ DRN[ ESO[ FUP[ GVQ[ HWR[ IXS[ JZT[ K\U[ L]V[ M_W[ N`X[ OaY[ PbZ[ Qc\[ Rd][ Se_[ Tg`[ Uha[ Vib[ Wjc[ Xkd[ Yle[ Zmf[ [pg[ \qh[ ]ri[ ^sj[ _uk[ `vl[ awm[ bxn[ czo[ dp[ e€q[ fr[ g‚s[ hƒt[ i„u[ j…v[ k†w[ l‡x[ mˆy[ n‰z[ oŠ[ p‹€[ qŒ[ r‚[ sŽƒ[ t„[ u…[ v‘†[ w’‡[ x“ˆ[ y”‰[ z•Š[ {–‹[ |—Œ[ }˜[ ~™Ž[ š[ €›[ œ‘[ ‚’[ ƒž“[ „Ÿ”[ … •[ †¡–[ ‡¢—[ ˆ£˜[ ‰¤™[ Š¥š[ ‹¦›[ Œ§œ[ ¨[ Ž©ž[ ªŸ[ « [ ‘¬¡[ ’­¢[ “®£[ ”¯¤[ •°¥[ –±¦[ —²§[ ˜³¨[ ™´©[ šµª[ ›¶«[ œ·¬[ ¸­[ ž¹®[ Ÿº¯[  »°[ ¡¼±[ ¢½²[ £¾³[ ¤¿´[ ¥Àµ[ ¦Á¶[ §Â·[ ¨Ã¸[ ©Ä¹[ ªÅº[ «Æ»[ ¬Ç¼[ ­È½[ ®É¾[ ¯Ê¿[ °ËÀ[ ±ÌÁ[ ²ÍÂ[ ³ÎÃ[ ´ÏÄ[ µÐÅ[ ¶ÑÆ[ ·ÒÇ[ ¸ÓÈ[ ¹ÔÉ[ ºÕÊ[ »ÖË[ ¼×Ì[ ½ØÍ[ ¾ÙÎ[ ¿ÚÏ[ ÀÛÐ[ ÁÜÑ[ ÂÝÒ[ ÃÞÓ[ ÄßÔ[ ÅàÕ[ ÆáÖ[ Çâ×[ ÈãØ[ ÉäÙ[ ÊåÚ[ ËæÛ[ ÌçÜ[ ÍèÝ[ ÎéÞ[ Ïêß[ Ðëà[ Ñìá[ Òíâ[ Óîã[ Ôïä[ Õðå[ Öñæ[ ×òç[ Øóè[ Ùôé[ Úõê[ Ûöë[ Ü÷ì[ Ýøí[ Þùî[ ßúï[ àûð[ áüñ[ âýò[ ãþó[ äÿô[ å
+ [ [ [ [[[[[[[[[[[[[[[[# [%#['%[!*'["+*[#,+[$-,[%.-[&/.['0/[(10[)21[*32[+43[,54[-65[.76[/87[098[1:9[2<:[3><[4?>[5@?[6A@[7BA[8CB[9DC[:ED[;GE[<HF[=IG[>JH[?KI[@LJ[AMK[BPL[CQM[DRN[ESO[FUP[GVQ[HWR[IXS[JZT[K\U[L]V[M_W[N`X[OaY[PbZ[Qc\[Rd][Se_[Tg`[Uha[Vib[Wjc[Xkd[Yle[Zmf[[pg[\qh[]ri[^sj[_uk[`vl[awm[bxn[czo[dp[e€q[fr[g‚s[hƒt[i„u[j…v[k†w[l‡x[mˆy[n‰z[oŠ[p‹€[qŒ[r‚[sŽƒ[t„[u…[v‘†[w’‡[x“ˆ[y”‰[z•Š[{–‹[|—Œ[}˜[~™Ž[š[€›[œ‘[‚’[ƒž“[„Ÿ”[… •[†¡–[‡¢—[ˆ£˜[‰¤™[Š¥š[‹¦›[Œ§œ[¨[Ž©ž[ªŸ[« [‘¬¡[’­¢[“®£[”¯¤[•°¥[–±¦[—²§[˜³¨[™´©[šµª[›¶«[œ·¬[¸­[ž¹®[Ÿº¯[ »°[¡¼±[¢½²[£¾³[¤¿´[¥Àµ[¦Á¶[§Â·[¨Ã¸[©Ä¹[ªÅº[«Æ»[¬Ç¼[­È½[®É¾[¯Ê¿[°ËÀ[±ÌÁ[²ÍÂ[³ÎÃ[´ÏÄ[µÐÅ[¶ÑÆ[·ÒÇ[¸ÓÈ[¹ÔÉ[ºÕÊ[»ÖË[¼×Ì[½ØÍ[¾ÙÎ[¿ÚÏ[ÀÛÐ[ÁÜÑ[ÂÝÒ[ÃÞÓ[ÄßÔ[ÅàÕ[ÆáÖ[Çâ×[ÈãØ[ÉäÙ[ÊåÚ[ËæÛ[ÌçÜ[ÍèÝ[ÎéÞ[Ïêß[Ðëà[Ñìá[Òíâ[Óîã[Ôïä[Õðå[Öñæ[×òç[Øóè[Ùôé[Úõê[Ûöë[Ü÷ì[Ýøí[Þùî[ßúï[àûð[áüñ[âýò[ãþó[äÿô[å
 !"$&() ; =^{|}~ 
- !"$&();=^{# |0#}1%~2' 3*
-4+ 5,!6-"7.$8/&90(A1)B2;C3=D4^E5{G6|H7}I8~J9 K:
-L< M>!P?"Q@$RA&SB(UC)VD;WE=XF^ZG{\H|_I}`J~aK bL
-cM dN!eO"gP$hQ&iR(jS)kT;lU=mV^pW{qX|rY}sZ~u\ v]
-w_ x`!za"b$€c&d(‚e)ƒf;„g=…h^†i{‡j|ˆk}‰l~Šm ‹n
-Œo p!Žq"r$s&‘t(’u)“v;”w=•x^–y{—z|˜}™€~š ›‚
-œƒ „!ž…"Ÿ†$ ‡&¡ˆ(¢‰)£Š;¤‹=¥Œ^¦{§Ž|¨}©~ª‘ «’
-¬“ ­”!®•"¯–$°—&±˜(²™)³š;´›=µœ^¶{·ž|¸Ÿ}¹ ~º¡ »¢
-¼£ ½¤!¾¥"¿¦$À§&Á¨(©)ê;Ä«=Ŭ^Æ­{Ç®|ȯ}É°~ʱ ˲
-̳ Í´!ε"϶$з&Ѹ(Ò¹)Óº;Ô»=Õ¼^Ö½{×¾|Ø¿}ÙÀ~ÚÁ ÛÂ
-Üà ÝÄ!ÞÅ"ßÆ$àÇ&áÈ(âÉ)ãÊ;äË=åÌ^æÍ{çÎ|èÏ}éÐ~êÑ ëÒ
-ìÓ íÔ!îÕ"ïÖ$ð×&ñØ(òÙ)óÚ;ôÛ=õÜ^öÝ{÷Þ|øß}ùà~úá ûâ
-üã ýä!þå"ÿæ$
-ó ô!õ"ö$÷&ø(ù)ú;û=ü^ý{þ|ÿ}
- [ [ [ [[[[[[[[[[[[[[[[#[0[1[!2["3[#4[$5[%6[&7['8[(9[)A[*B[+C[,D[-E[.G[/H[0I[1J[2K[3L[4M[5P[6Q[7R[8S[9U[:V[;W[<X[=Z[>\[?_[@`[Aa[Bb[Cc[Dd[Ee[Fg[Gh[Hi[Ij[Jk[Kl[Lm[Mp[Nq[Or[Ps[Qu[Rv[Sw[Tx[Uz[V[W€[X[Y‚[Zƒ[[„[\…[]†[^‡[_ˆ[`‰[aŠ[b‹[cŒ[d[eŽ[f[g[h‘[i’[j“[k”[l•[m–[n—[o˜[p™[qš[r›[sœ[t[už[vŸ[w [x¡[y¢[z£[{¤[|¥[}¦[~§[¨[€©[ª[‚«[ƒ¬[„­[…®[†¯[‡°[ˆ±[‰²[Š³[‹´[Œµ[¶[Ž·[¸[¹[‘º[’»[“¼[”½[•¾[–¿[—À[˜Á[™Â[šÃ[›Ä[œÅ[Æ[žÇ[ŸÈ[ É[¡Ê[¢Ë[£Ì[¤Í[¥Î[¦Ï[§Ð[¨Ñ[©Ò[ªÓ[«Ô[¬Õ[­Ö[®×[¯Ø[°Ù[±Ú[²Û[³Ü[´Ý[µÞ[¶ß[·à[¸á[¹â[ºã[»ä[¼å[½æ[¾ç[¿è[Àé[Áê[Âë[Ãì[Äí[Åî[Æï[Çð[Èñ[Éò[Êó[Ëô[Ìõ[Íö[Î÷[Ïø[Ðù[Ñú[Òû[Óü[Ôý[Õþ[Öÿ[×
+ !"$&();=^{# |%#}'%~*' +*
+,+ -,!.-"/.$0/&10(21)32;43=54^65{76|87}98~:9 <:
+>< ?>!@?"A@$BA&CB(DC)ED;GE=HF^IG{JH|KI}LJ~MK PL
+QM RN!SO"UP$VQ&WR(XS)ZT;\U=]V^_W{`X|aY}bZ~c\ d]
+e_ g`!ha"ib$jc&kd(le)mf;pg=qh^ri{sj|uk}vl~wm xn
+zo p!€q"r$‚s&ƒt(„u)…v;†w=‡x^ˆy{‰z|Š}‹€~Œ ‚
+Žƒ „!…"‘†$’‡&“ˆ(”‰)•Š;–‹=—Œ^˜{™Ž|š}›~œ‘ ’
+ž“ Ÿ”! •"¡–$¢—&£˜(¤™)¥š;¦›=§œ^¨{©ž|ªŸ}« ~¬¡ ­¢
+®£ ¯¤!°¥"±¦$²§&³¨(´©)µª;¶«=·¬^¸­{¹®|º¯}»°~¼± ½²
+¾³ ¿´!Àµ"Á¶$·&ø(Ĺ)ź;Æ»=Ǽ^Ƚ{ɾ|Ê¿}ËÀ~ÌÁ ÍÂ
+Îà ÏÄ!ÐÅ"ÑÆ$ÒÇ&ÓÈ(ÔÉ)ÕÊ;ÖË=×Ì^ØÍ{ÙÎ|ÚÏ}ÛÐ~ÜÑ ÝÒ
+ÞÓ ßÔ!àÕ"áÖ$â×&ãØ(äÙ)åÚ;æÛ=çÜ^èÝ{éÞ|êß}ëà~ìá íâ
+îã ïä!ðå"ñæ$òç&óè(ôé)õê;öë=÷ì^øí{ùî|úï}ûð~üñ ýò
+þó ÿô!
+ [ [ [ [[[[[[[[[[[[[[[[#[%['[!*["+[#,[$-[%.[&/['0[(1[)2[*3[+4[,5[-6[.7[/8[09[1:[2<[3>[4?[5@[6A[7B[8C[9D[:E[;G[<H[=I[>J[?K[@L[AM[BP[CQ[DR[ES[FU[GV[HW[IX[JZ[K\[L][M_[N`[Oa[Pb[Qc[Rd[Se[Tg[Uh[Vi[Wj[Xk[Yl[Zm[[p[\q[]r[^s[_u[`v[aw[bx[cz[d[e€[f[g‚[hƒ[i„[j…[k†[l‡[mˆ[n‰[oŠ[p‹[qŒ[r[sŽ[t[u[v‘[w’[x“[y”[z•[{–[|—[}˜[~™[š[€›[œ[‚[ƒž[„Ÿ[… [†¡[‡¢[ˆ£[‰¤[Š¥[‹¦[Œ§[¨[Ž©[ª[«[‘¬[’­[“®[”¯[•°[–±[—²[˜³[™´[šµ[›¶[œ·[¸[ž¹[Ÿº[ »[¡¼[¢½[£¾[¤¿[¥À[¦Á[§Â[¨Ã[©Ä[ªÅ[«Æ[¬Ç[­È[®É[¯Ê[°Ë[±Ì[²Í[³Î[´Ï[µÐ[¶Ñ[·Ò[¸Ó[¹Ô[ºÕ[»Ö[¼×[½Ø[¾Ù[¿Ú[ÀÛ[ÁÜ[ÂÝ[ÃÞ[Äß[Åà[Æá[Çâ[Èã[Éä[Êå[Ëæ[Ìç[Íè[Îé[Ïê[Ðë[Ñì[Òí[Óî[Ôï[Õð[Öñ[×ò[Øó[Ùô[Úõ[Ûö[Ü÷[Ýø[Þù[ßú[àû[áü[âý[ãþ[äÿ[å
 !"$&() ; =^{|}~ 
- !"$&();=^{#|0}1~2 3
-4 5!6"7$8&9(A)B;C=D^E{G|H}I~J K
-L M!P"Q$R&S(U)V;W=X^Z{\|_}`~a b
-c d!e"g$h&i(j)k;l=m^p{q|r}s~u v
-w x!z"$€&(‚)ƒ;„=…^†{‡|ˆ}‰~Š ‹
-Œ !Ž"$&‘(’)“;”=•^–{—|˜}™~š ›
-œ !ž"Ÿ$ &¡(¢)£;¤=¥^¦{§|¨}©~ª «
-¬ ­!®"¯$°&±(²)³;´=µ^¶{·|¸}¹~º »
-¼ ½!¾"¿$À&Á(Â)Ã;Ä=Å^Æ{Ç|È}É~Ê Ë
-Ì Í!Î"Ï$Ð&Ñ(Ò)Ó;Ô=Õ^Ö{×|Ø}Ù~Ú Û
-Ü Ý!Þ"ß$à&á(â)ã;ä=å^æ{ç|è}é~ê ë
-ì í!î"ï$ð&ñ(ò)ó;ô=õ^ö{÷|ø}ù~ú û
-ü ý!þ"ÿ$
-
-
-
-
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;!
- ;"
- ;#
- ;$
- ;%
- ;&
- ;'
- ;(
- ;)
- ;*
- ;+
- ;,
- ;-
- ;.
- ;/
- ;0
- ;1
- ;2
- ;3
- ;4
- ;5
- ;6
- ;7
- ;8
- ;9
- ;:
- ;;
- ;<
- ;=
- ;>
- ;?
- ;@
- ;A
- ;B
- ;C
- ;D
- ;E
- ;F
- ;G
- ;H
- ;I
- ;J
- ;K
- ;L
- ;M
- ;N
- ;O
- ;P
- ;Q
- ;R
- ;S
- ;T
- ;U
- ;V
- ;W
- ;X
- ;Y
- ;Z
- ;[
- ;\
- ;]
- ;^
- ;_
- ;`
- ;a
- ;b
- ;c
- ;d
- ;e
- ;f
- ;g
- ;h
- ;i
- ;j
- ;k
- ;l
- ;m
- ;n
- ;o
- ;p
- ;q
- ;r
- ;s
- ;t
- ;u
- ;v
- ;w
- ;x
- ;y
- ;z
- ;{
- ;|
- ;}
- ;~
- ;
- ;€
- ;
- ;‚
- ;ƒ
- ;„
- ;…
- ;†
- ;‡
- ;ˆ
- ;‰
- ;Š
- ;‹
- ;Œ
- ;
- ;Ž
- ;
- ;
- ;‘
- ;’
- ;“
- ;”
- ;•
- ;–
- ;—
- ;˜
- ;™
- ;š
- ;›
- ;œ
- ;
- ;ž
- ;Ÿ
- ; 
- ;¡
- ;¢
- ;£
- ;¤
- ;¥
- ;¦
- ;§
- ;¨
- ;©
- ;ª
- ;«
- ;¬
- ;­
- ;®
- ;¯
- ;°
- ;±
- ;²
- ;³
- ;´
- ;µ
- ;¶
- ;·
- ;¸
- ;¹
- ;º
- ;»
- ;¼
- ;½
- ;¾
- ;¿
- ;À
- ;Á
- ;Â
- ;Ã
- ;Ä
- ;Å
- ;Æ
- ;Ç
- ;È
- ;É
- ;Ê
- ;Ë
- ;Ì
- ;Í
- ;Î
- ;Ï
- ;Ð
- ;Ñ
- ;Ò
- ;Ó
- ;Ô
- ;Õ
- ;Ö
- ;×
- ;Ø
- ;Ù
- ;Ú
- ;Û
- ;Ü
- ;Ý
- ;Þ
- ;ß
- ;à
- ;á
- ;â
- ;ã
- ;ä
- ;å
- ;æ
- ;ç
- ;è
- ;é
- ;ê
- ;ë
- ;ì
- ;í
- ;î
- ;ï
- ;ð
- ;ñ
- ;ò
- ;ó
- ;ô
- ;õ
- ;ö
- ;÷
- ;ø
- ;ù
- ;ú
- ;û
- ;ü
- ;ý
- ;þ
- ;ÿ
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;!
- ;"
- ;#
- ;$
- ;%
- ;&
- ;'
- ;(
- ;)
- ;*
- ;+
- ;,
- ;-
- ;.
- ;/
- ;0
- ;1
- ;2
- ;3
- ;4
- ;5
- ;6
- ;7
- ;8
- ;9
- ;:
- ;;
- ;<
- ;=
- ;>
- ;?
- ;@
- ;A
- ;B
- ;C
- ;D
- ;E
- ;F
- ;G
- ;H
- ;I
- ;J
- ;K
- ;L
- ;M
- ;N
- ;O
- ;P
- ;Q
- ;R
- ;S
- ;T
- ;U
- ;V
- ;W
- ;X
- ;Y
- ;Z
- ;[
- ;\
- ;]
- ;^
- ;_
- ;`
- ;a
- ;b
- ;c
- ;d
- ;e
- ;f
- ;g
- ;h
- ;i
- ;j
- ;k
- ;l
- ;m
- ;n
- ;o
- ;p
- ;q
- ;r
- ;s
- ;t
- ;u
- ;v
- ;w
- ;x
- ;y
- ;z
- ;{
- ;|
- ;}
- ;~
- ;
- ;€
- ;
- ;‚
- ;ƒ
- ;„
- ;…
- ;†
- ;‡
- ;ˆ
- ;‰
- ;Š
- ;‹
- ;Œ
- ;
- ;Ž
- ;
- ;
- ;‘
- ;’
- ;“
- ;”
- ;•
- ;–
- ;—
- ;˜
- ;™
- ;š
- ;›
- ;œ
- ;
- ;ž
- ;Ÿ
- ; 
- ;¡
- ;¢
- ;£
- ;¤
- ;¥
- ;¦
- ;§
- ;¨
- ;©
- ;ª
- ;«
- ;¬
- ;­
- ;®
- ;¯
- ;°
- ;±
- ;²
- ;³
- ;´
- ;µ
- ;¶
- ;·
- ;¸
- ;¹
- ;º
- ;»
- ;¼
- ;½
- ;¾
- ;¿
- ;À
- ;Á
- ;Â
- ;Ã
- ;Ä
- ;Å
- ;Æ
- ;Ç
- ;È
- ;É
- ;Ê
- ;Ë
- ;Ì
- ;Í
- ;Î
- ;Ï
- ;Ð
- ;Ñ
- ;Ò
- ;Ó
- ;Ô
- ;Õ
- ;Ö
- ;×
- ;Ø
- ;Ù
- ;Ú
- ;Û
- ;Ü
- ;Ý
- ;Þ
- ;ß
- ;à
- ;á
- ;â
- ;ã
- ;ä
- ;å
- ;æ
- ;ç
- ;è
- ;é
- ;ê
- ;ë
- ;ì
- ;í
- ;î
- ;ï
- ;ð
- ;ñ
- ;ò
- ;ó
- ;ô
- ;õ
- ;ö
- ;÷
- ;ø
- ;ù
- ;ú
- ;û
- ;ü
- ;ý
- ;þ
- ;ÿ
- ;
- ;
- ;
- ;
- =
- = = = =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  = ! = " = # = $ = % = & = ' = ( = ) = * = + = , = - = . = / = 0 = 1 = 2 = 3 = 4 = 5 = 6 = 7 = 8 = 9 = : = ; = < = = = > = ? = @ = A = B = C = D = E = F = G = H = I = J = K = L = M = N = O = P = Q = R = S = T = U = V = W = X = Y = Z = [ = \ = ] = ^ = _ = ` = a = b = c = d = e = f = g = h = i = j = k = l = m = n = o = p = q = r = s = t = u = v = w = x = y = z = { = | = } = ~ =  = € = = ‚ = ƒ = „ = … = † = ‡ = ˆ = ‰ = Š = ‹ = Œ = = Ž = = = ‘ = ’ = “ = ” = • = – = — = ˜ = ™ = š = › = œ = = ž = Ÿ =   = ¡ = ¢ = £ = ¤ = ¥ = ¦ = § = ¨ = © = ª = « = ¬ = ­ = ® = ¯ = ° = ± = ² = ³ = ´ = µ = ¶ = · = ¸ = ¹ = º = » = ¼ = ½ = ¾ = ¿ = À = Á =  = à = Ä = Å = Æ = Ç = È = É = Ê = Ë = Ì = Í = Î = Ï = Ð = Ñ = Ò = Ó = Ô = Õ = Ö = × = Ø = Ù = Ú = Û = Ü = Ý = Þ = ß = à = á = â = ã = ä = å = æ = ç = è = é = ê = ë = ì = í = î = ï = ð = ñ = ò = ó = ô = õ = ö = ÷ = ø = ù = ú = û = ü = ý = þ = ÿ =
- = = = = = = = = = = = = = = = = = = = = = =! =" =# =$ =% =& =' =( =) =* =+ =, =- =. =/ =0 =1 =2 =3 =4 =5 =6 =7 =8 =9 =: =; =< == => =? =@ =A =B =C =D =E =F =G =H =I =J =K =L =M =N =O =P =Q =R =S =T =U =V =W =X =Y =Z =[ =\ =] =^ =_ =` =a =b =c =d =e =f =g =h =i =j =k =l =m =n =o =p =q =r =s =t =u =v =w =x =y =z ={ =| =} =~ = =€ = =‚ =ƒ =„ =… =† =‡ =ˆ =‰ =Š =‹ =Œ = =Ž = = =‘ =’ =“ =” =• =– =— =˜ =™ =š =› =œ = =ž =Ÿ =  =¡ =¢ =£ =¤ =¥ =¦ =§ =¨ =© =ª =« =¬ =­ =® =¯ =° =± =² =³ =´ =µ =¶ =· =¸ =¹ =º =» =¼ =½ =¾ =¿ =À =Á = =à =Ä =Å =Æ =Ç =È =É =Ê =Ë =Ì =Í =Î =Ï =Ð =Ñ =Ò =Ó =Ô =Õ =Ö =× =Ø =Ù =Ú =Û =Ü =Ý =Þ =ß =à =á =â =ã =ä =å =æ =ç =è =é =ê =ë =ì =í =î =ï =ð =ñ =ò =ó =ô =õ =ö =÷ =ø =ù =ú =û =ü =ý =þ =ÿ
+ !"$&();=^{#|%}'~* +
+, -!."/$0&1(2)3;4=5^6{7|8}9~: <
+> ?!@"A$B&C(D)E;G=H^I{J|K}L~M P
+Q R!S"U$V&W(X)Z;\=]^_{`|a}b~c d
+e g!h"i$j&k(l)m;p=q^r{s|u}v~w x
+z !€"$‚&ƒ(„)…;†=‡^ˆ{‰|Š}‹~Œ
+Ž !"‘$’&“(”)•;–=—^˜{™|š}›~œ
+ž Ÿ! "¡$¢&£(¤)¥;¦=§^¨{©|ª}«~¬ ­
+® ¯!°"±$²&³(´)µ;¶=·^¸{¹|º}»~¼ ½
+¾ ¿!À"Á$Â&Ã(Ä)Å;Æ=Ç^È{É|Ê}Ë~Ì Í
+Î Ï!Ð"Ñ$Ò&Ó(Ô)Õ;Ö=×^Ø{Ù|Ú}Û~Ü Ý
+Þ ß!à"á$â&ã(ä)å;æ=ç^è{é|ê}ë~ì í
+î ï!ð"ñ$ò&ó(ô)õ;ö=÷^ø{ù|ú}û~ü ý
+þ ÿ!
- ;
+
+ = = = =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  =  = ! = " = # = $ = % = & = ' = ( = ) = * = + = , = - = . = / = 0 = 1 = 2 = 3 = 4 = 5 = 6 = 7 = 8 = 9 = : = ; = < = = = > = ? = @ = A = B = C = D = E = F = G = H = I = J = K = L = M = N = O = P = Q = R = S = T = U = V = W = X = Y = Z = [ = \ = ] = ^ = _ = ` = a = b = c = d = e = f = g = h = i = j = k = l = m = n = o = p = q = r = s = t = u = v = w = x = y = z = { = | = } = ~ =  = € = = ‚ = ƒ = „ = … = † = ‡ = ˆ = ‰ = Š = ‹ = Œ = = Ž = = = ‘ = ’ = “ = ” = • = – = — = ˜ = ™ = š = › = œ = = ž = Ÿ =   = ¡ = ¢ = £ = ¤ = ¥ = ¦ = § = ¨ = © = ª = « = ¬ = ­ = ® = ¯ = ° = ± = ² = ³ = ´ = µ = ¶ = · = ¸ = ¹ = º = » = ¼ = ½ = ¾ = ¿ = À = Á =  = à = Ä = Å = Æ = Ç = È = É = Ê = Ë = Ì = Í = Î = Ï = Ð = Ñ = Ò = Ó = Ô = Õ = Ö = × = Ø = Ù = Ú = Û = Ü = Ý = Þ = ß = à = á = â = ã = ä = å = æ = ç = è = é = ê = ë = ì = í = î = ï = ð = ñ = ò = ó = ô = õ = ö = ÷ = ø = ù = ú = û = ü = ý = þ = ÿ =
+ = = = = = = = = = = = = = = = = = = = = = =! =" =# =$ =% =& =' =( =) =* =+ =, =- =. =/ =0 =1 =2 =3 =4 =5 =6 =7 =8 =9 =: =; =< == => =? =@ =A =B =C =D =E =F =G =H =I =J =K =L =M =N =O =P =Q =R =S =T =U =V =W =X =Y =Z =[ =\ =] =^ =_ =` =a =b =c =d =e =f =g =h =i =j =k =l =m =n =o =p =q =r =s =t =u =v =w =x =y =z ={ =| =} =~ = =€ = =‚ =ƒ =„ =… =† =‡ =ˆ =‰ =Š =‹ =Œ = =Ž = = =‘ =’ =“ =” =• =– =— =˜ =™ =š =› =œ = =ž =Ÿ =  =¡ =¢ =£ =¤ =¥ =¦ =§ =¨ =© =ª =« =¬ =­ =® =¯ =° =± =² =³ =´ =µ =¶ =· =¸ =¹ =º =» =¼ =½ =¾ =¿ =À =Á = =à =Ä =Å =Æ =Ç =È =É =Ê =Ë =Ì =Í =Î =Ï =Ð =Ñ =Ò =Ó =Ô =Õ =Ö =× =Ø =Ù =Ú =Û =Ü =Ý =Þ =ß =à =á =â =ã =ä =å =æ =ç =è =é =ê =ë =ì =í =î =ï =ð =ñ =ò =ó =ô =õ =ö =÷ =ø =ù =ú =û =ü =ý =þ =ÿ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;!
+ ;"
+ ;#
+ ;$
+ ;%
+ ;&
+ ;'
+ ;(
+ ;)
+ ;*
+ ;+
+ ;,
+ ;-
+ ;.
+ ;/
+ ;0
+ ;1
+ ;2
+ ;3
+ ;4
+ ;5
+ ;6
+ ;7
+ ;8
+ ;9
+ ;:
+ ;;
+ ;<
+ ;=
+ ;>
+ ;?
+ ;@
+ ;A
+ ;B
+ ;C
+ ;D
+ ;E
+ ;F
+ ;G
+ ;H
+ ;I
+ ;J
+ ;K
+ ;L
+ ;M
+ ;N
+ ;O
+ ;P
+ ;Q
+ ;R
+ ;S
+ ;T
+ ;U
+ ;V
+ ;W
+ ;X
+ ;Y
+ ;Z
+ ;[
+ ;\
+ ;]
+ ;^
+ ;_
+ ;`
+ ;a
+ ;b
+ ;c
+ ;d
+ ;e
+ ;f
+ ;g
+ ;h
+ ;i
+ ;j
+ ;k
+ ;l
+ ;m
+ ;n
+ ;o
+ ;p
+ ;q
+ ;r
+ ;s
+ ;t
+ ;u
+ ;v
+ ;w
+ ;x
+ ;y
+ ;z
+ ;{
+ ;|
+ ;}
+ ;~
+ ;
+ ;€
+ ;
+ ;‚
+ ;ƒ
+ ;„
+ ;…
+ ;†
+ ;‡
+ ;ˆ
+ ;‰
+ ;Š
+ ;‹
+ ;Œ
+ ;
+ ;Ž
+ ;
+ ;
+ ;‘
+ ;’
+ ;“
+ ;”
+ ;•
+ ;–
+ ;—
+ ;˜
+ ;™
+ ;š
+ ;›
+ ;œ
+ ;
+ ;ž
+ ;Ÿ
+ ; 
+ ;¡
+ ;¢
+ ;£
+ ;¤
+ ;¥
+ ;¦
+ ;§
+ ;¨
+ ;©
+ ;ª
+ ;«
+ ;¬
+ ;­
+ ;®
+ ;¯
+ ;°
+ ;±
+ ;²
+ ;³
+ ;´
+ ;µ
+ ;¶
+ ;·
+ ;¸
+ ;¹
+ ;º
+ ;»
+ ;¼
+ ;½
+ ;¾
+ ;¿
+ ;À
+ ;Á
+ ;Â
+ ;Ã
+ ;Ä
+ ;Å
+ ;Æ
+ ;Ç
+ ;È
+ ;É
+ ;Ê
+ ;Ë
+ ;Ì
+ ;Í
+ ;Î
+ ;Ï
+ ;Ð
+ ;Ñ
+ ;Ò
+ ;Ó
+ ;Ô
+ ;Õ
+ ;Ö
+ ;×
+ ;Ø
+ ;Ù
+ ;Ú
+ ;Û
+ ;Ü
+ ;Ý
+ ;Þ
+ ;ß
+ ;à
+ ;á
+ ;â
+ ;ã
+ ;ä
+ ;å
+ ;æ
+ ;ç
+ ;è
+ ;é
+ ;ê
+ ;ë
+ ;ì
+ ;í
+ ;î
+ ;ï
+ ;ð
+ ;ñ
+ ;ò
+ ;ó
+ ;ô
+ ;õ
+ ;ö
+ ;÷
+ ;ø
+ ;ù
+ ;ú
+ ;û
+ ;ü
+ ;ý
+ ;þ
+ ;ÿ
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;!
+ ;"
+ ;#
+ ;$
+ ;%
+ ;&
+ ;'
+ ;(
+ ;)
+ ;*
+ ;+
+ ;,
+ ;-
+ ;.
+ ;/
+ ;0
+ ;1
+ ;2
+ ;3
+ ;4
+ ;5
+ ;6
+ ;7
+ ;8
+ ;9
+ ;:
+ ;;
+ ;<
+ ;=
+ ;>
+ ;?
+ ;@
+ ;A
+ ;B
+ ;C
+ ;D
+ ;E
+ ;F
+ ;G
+ ;H
+ ;I
+ ;J
+ ;K
+ ;L
+ ;M
+ ;N
+ ;O
+ ;P
+ ;Q
+ ;R
+ ;S
+ ;T
+ ;U
+ ;V
+ ;W
+ ;X
+ ;Y
+ ;Z
+ ;[
+ ;\
+ ;]
+ ;^
+ ;_
+ ;`
+ ;a
+ ;b
+ ;c
+ ;d
+ ;e
+ ;f
+ ;g
+ ;h
+ ;i
+ ;j
+ ;k
+ ;l
+ ;m
+ ;n
+ ;o
+ ;p
+ ;q
+ ;r
+ ;s
+ ;t
+ ;u
+ ;v
+ ;w
+ ;x
+ ;y
+ ;z
+ ;{
+ ;|
+ ;}
+ ;~
+ ;
+ ;€
+ ;
+ ;‚
+ ;ƒ
+ ;„
+ ;…
+ ;†
+ ;‡
+ ;ˆ
+ ;‰
+ ;Š
+ ;‹
+ ;Œ
+ ;
+ ;Ž
+ ;
+ ;
+ ;‘
+ ;’
+ ;“
+ ;”
+ ;•
+ ;–
+ ;—
+ ;˜
+ ;™
+ ;š
+ ;›
+ ;œ
+ ;
+ ;ž
+ ;Ÿ
+ ; 
+ ;¡
+ ;¢
+ ;£
+ ;¤
+ ;¥
+ ;¦
+ ;§
+ ;¨
+ ;©
+ ;ª
+ ;«
+ ;¬
+ ;­
+ ;®
+ ;¯
+ ;°
+ ;±
+ ;²
+ ;³
+ ;´
+ ;µ
+ ;¶
+ ;·
+ ;¸
+ ;¹
+ ;º
+ ;»
+ ;¼
+ ;½
+ ;¾
+ ;¿
+ ;À
+ ;Á
+ ;Â
+ ;Ã
+ ;Ä
+ ;Å
+ ;Æ
+ ;Ç
+ ;È
+ ;É
+ ;Ê
+ ;Ë
+ ;Ì
+ ;Í
+ ;Î
+ ;Ï
+ ;Ð
+ ;Ñ
+ ;Ò
+ ;Ó
+ ;Ô
+ ;Õ
+ ;Ö
+ ;×
+ ;Ø
+ ;Ù
+ ;Ú
+ ;Û
+ ;Ü
+ ;Ý
+ ;Þ
+ ;ß
+ ;à
+ ;á
+ ;â
+ ;ã
+ ;ä
+ ;å
+ ;æ
+ ;ç
+ ;è
+ ;é
+ ;ê
+ ;ë
+ ;ì
+ ;í
+ ;î
+ ;ï
+ ;ð
+ ;ñ
+ ;ò
+ ;ó
+ ;ô
+ ;õ
+ ;ö
+ ;÷
+ ;ø
+ ;ù
+ ;ú
+ ;û
+ ;ü
+ ;ý
+ ;þ
+ ;ÿ
+ ;
;
- =
- = = = = = = = = = = = = = = = = = = = = = =! =" =# =$ =% =& =' =( =) =* =+ =, =- =. =/ =0 =1 =2 =3 =4 =5 =6 =7 =8 =9 =: =; =< == => =? =@ =A =B =C =D =E =F =G =H =I =J =K =L =M =N =O =P =Q =R =S =T =U =V =W =X =Y =Z =[ =\ =] =^ =_ =` =a =b =c =d =e =f =g =h =i =j =k =l =m =n =o =p =q =r =s =t =u =v =w =x =y =z ={ =| =} =~ = =€ = =‚ =ƒ =„ =… =† =‡ =ˆ =‰ =Š =‹ =Œ = =Ž = = =‘ =’ =“ =” =• =– =— =˜ =™ =š =› =œ = =ž =Ÿ =  =¡ =¢ =£ =¤ =¥ =¦ =§ =¨ =© =ª =« =¬ =­ =® =¯ =° =± =² =³ =´ =µ =¶ =· =¸ =¹ =º =» =¼ =½ =¾ =¿ =À =Á = =à =Ä =Å =Æ =Ç =È =É =Ê =Ë =Ì =Í =Î =Ï =Ð =Ñ =Ò =Ó =Ô =Õ =Ö =× =Ø =Ù =Ú =Û =Ü =Ý =Þ =ß =à =á =â =ã =ä =å =æ =ç =è =é =ê =ë =ì =í =î =ï =ð =ñ =ò =ó =ô =õ =ö =÷ =ø =ù =ú =û =ü =ý =þ =ÿ
+ ;
+ ;
+
- ;
=
- = = = = = = = = = = = = = = = = = = = = = =! =" =# =$ =% =& =' =( =) =* =+ =, =- =. =/ =0 =1 =2 =3 =4 =5 =6 =7 =8 =9 =: =; =< == => =? =@ =A =B =C =D =E =F =G =H =I =J =K =L =M =N =O =P =Q =R =S =T =U =V =W =X =Y =Z =[ =\ =] =^ =_ =` =a =b =c =d =e =f =g =h =i =j =k =l =m =n =o =p =q =r =s =t =u =v =w =x =y =z ={ =| =} =~ = =€ = =‚ =ƒ =„ =… =† =‡ =ˆ =‰ =Š =‹ =Œ = =Ž = = =‘ =’ =“ =” =• =– =— =˜ =™ =š =› =œ = =ž =Ÿ =  =¡ =¢ =£ =¤ =¥ =¦ =§ =¨ =© =ª =« =¬ =­ =® =¯ =° =± =² =³ =´ =µ =¶ =· =¸ =¹ =º =» =¼ =½ =¾ =¿ =À =Á = =à =Ä =Å =Æ =Ç =È =É =Ê =Ë =Ì =Í =Î =Ï =Ð =Ñ =Ò =Ó =Ô =Õ =Ö =× =Ø =Ù =Ú =Û =Ü =Ý =Þ =ß =à =á =â =ã =ä =å =æ =ç =è =é =ê =ë =ì =í =î =ï =ð =ñ =ò =ó =ô =õ =ö =÷ =ø =ù =ú =û =ü =ý =þ =ÿ
+ = = = = = = = = = = = = = = = = = = = = = =! =" =# =$ =% =& =' =( =) =* =+ =, =- =. =/ =0 =1 =2 =3 =4 =5 =6 =7 =8 =9 =: =; =< == => =? =@ =A =B =C =D =E =F =G =H =I =J =K =L =M =N =O =P =Q =R =S =T =U =V =W =X =Y =Z =[ =\ =] =^ =_ =` =a =b =c =d =e =f =g =h =i =j =k =l =m =n =o =p =q =r =s =t =u =v =w =x =y =z ={ =| =} =~ = =€ = =‚ =ƒ =„ =… =† =‡ =ˆ =‰ =Š =‹ =Œ = =Ž = = =‘ =’ =“ =” =• =– =— =˜ =™ =š =› =œ = =ž =Ÿ =  =¡ =¢ =£ =¤ =¥ =¦ =§ =¨ =© =ª =« =¬ =­ =® =¯ =° =± =² =³ =´ =µ =¶ =· =¸ =¹ =º =» =¼ =½ =¾ =¿ =À =Á = =à =Ä =Å =Æ =Ç =È =É =Ê =Ë =Ì =Í =Î =Ï =Ð =Ñ =Ò =Ó =Ô =Õ =Ö =× =Ø =Ù =Ú =Û =Ü =Ý =Þ =ß =à =á =â =ã =ä =å =æ =ç =è =é =ê =ë =ì =í =î =ï =ð =ñ =ò =ó =ô =õ =ö =÷ =ø =ù =ú =û =ü =ý =þ =ÿ ;
+
-
- [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ #[ %[ '[! *[" +[# ,[$ -[% .[& /[' 0[( 1[) 2[* 3[+ 4[, 5[- 6[. 7[/ 8[0 9[1 :[2 <[3 >[4 ?[5 @[6 A[7 B[8 C[9 D[: E[; F[< G[= H[> I[? J[@ K[A L[B M[C N[D O[E P[F Q[G R[H S[I T[J U[K V[L W[M X[N Y[O Z[P \[Q ][R _[S `[T a[U b[V c[W d[X e[Y f[Z g[[ h[\ i[] j[^ k[_ l[` m[a n[b o[c p[d q[e r[f s[g t[h u[i v[j w[k x[l y[m z[n [o €[p [q ‚[r ƒ[s „[t …[u †[v ‡[w ˆ[x ‰[y Š[z ‹[{ Œ[| [} Ž[~ [ [€ ‘[ ’[‚ “[ƒ ”[„ •[… –[† —[‡ ˜[ˆ ™[‰ š[Š ›[‹ œ[Œ [ ž[Ž Ÿ[  [ ¡[‘ ¢[’ £[“ ¤[” ¥[• ¦[– §[— ¨[˜ ©[™ ª[š «[› ¬[œ ­[ ®[ž ¯[Ÿ °[  ±[¡ ²[¢ ³[£ ´[¤ µ[¥ ¶[¦ ·[§ ¸[¨ ¹[© º[ª »[« ¼[¬ ½[­ ¾[® ¿[¯ À[° Á[± Â[² Ã[³ Ä[´ Å[µ Æ[¶ Ç[· È[¸ É[¹ Ê[º Ë[» Ì[¼ Í[½ Î[¾ Ï[¿ Ð[À Ñ[Á Ò[ Ó[à Ô[Ä Õ[Å Ö[Æ ×[Ç Ø[È Ù[É Ú[Ê Û[Ë Ü[Ì Ý[Í Þ[Î ß[Ï à[Ð á[Ñ â[Ò ã[Ó ä[Ô å[Õ æ[Ö ç[× è[Ø é[Ù ê[Ú ë[Û ì[Ü í[Ý î[Þ ï[ß ð[à ñ[á ò[â ó[ã ô[ä õ[å ö[æ ÷[ç ø[è ù[é ú[ê û[ë ü[ì ý[í þ[î ÿ[ï
- [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [! [" [# [$ [% [& [' [( [) [* [+ [, [- [. [/ [0 [1 [2 [3 [4 [5 [6 [7 [8 [9 [: [; [< [= [> [? [@ [A [B [C [D [E [F [G [H [I [J [K [L [M [N [O [P [Q [R [S [T [U [V [W [X [Y [Z [[ [\ [] [^ [_ [` [a [b [c [d [e [f [g [h [i [j [k [l [m [n [o [p [q [r [s [t [u [v [w [x [y [z [{ [| [} [~ [ [€ [ [‚ [ƒ [„ [… [† [‡ [ˆ [‰ [Š [‹ [Œ [ [Ž [ [ [‘ [’ [“ [” [• [– [— [˜ [™ [š [› [œ [ [ž [Ÿ [  [¡ [¢ [£ [¤ [¥ [¦ [§ [¨ [© [ª [« [¬ [­ [® [¯ [° [± [² [³ [´ [µ [¶ [· [¸ [¹ [º [» [¼ [½ [¾ [¿ [À [Á [ [à [Ä [Å [Æ [Ç [È [É [Ê [Ë [Ì [Í [Î [Ï [Ð [Ñ [Ò [Ó [Ô [Õ [Ö [× [Ø [Ù [Ú [Û [Ü [Ý [Þ [ß [à [á [â [ã [ä [å [æ [ç [è [é [ê [ë [ì [í [î [ï [ð [ñ [ò [ó [ô [õ [ö [÷ [ø [ù [ú [û [ü [ý [þ [ÿ
+
+ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ #[ %[ '[! *[" +[# ,[$ -[% .[& /[' 0[( 1[) 2[* 3[+ 4[, 5[- 6[. 7[/ 8[0 9[1 :[2 <[3 >[4 ?[5 @[6 A[7 B[8 C[9 D[: E[; F[< G[= H[> I[? J[@ K[A L[B M[C N[D O[E P[F Q[G R[H S[I T[J U[K V[L W[M X[N Y[O Z[P \[Q ][R _[S `[T a[U b[V c[W d[X e[Y f[Z g[[ h[\ i[] j[^ k[_ l[` m[a n[b o[c p[d q[e r[f s[g t[h u[i v[j w[k x[l y[m z[n [o €[p [q ‚[r ƒ[s „[t …[u †[v ‡[w ˆ[x ‰[y Š[z ‹[{ Œ[| [} Ž[~ [ [€ ‘[ ’[‚ “[ƒ ”[„ •[… –[† —[‡ ˜[ˆ ™[‰ š[Š ›[‹ œ[Œ [ ž[Ž Ÿ[  [ ¡[‘ ¢[’ £[“ ¤[” ¥[• ¦[– §[— ¨[˜ ©[™ ª[š «[› ¬[œ ­[ ®[ž ¯[Ÿ °[  ±[¡ ²[¢ ³[£ ´[¤ µ[¥ ¶[¦ ·[§ ¸[¨ ¹[© º[ª »[« ¼[¬ ½[­ ¾[® ¿[¯ À[° Á[± Â[² Ã[³ Ä[´ Å[µ Æ[¶ Ç[· È[¸ É[¹ Ê[º Ë[» Ì[¼ Í[½ Î[¾ Ï[¿ Ð[À Ñ[Á Ò[ Ó[à Ô[Ä Õ[Å Ö[Æ ×[Ç Ø[È Ù[É Ú[Ê Û[Ë Ü[Ì Ý[Í Þ[Î ß[Ï à[Ð á[Ñ â[Ò ã[Ó ä[Ô å[Õ æ[Ö ç[× è[Ø é[Ù ê[Ú ë[Û ì[Ü í[Ý î[Þ ï[ß ð[à ñ[á ò[â ó[ã ô[ä õ[å ö[æ ÷[ç ø[è ù[é ú[ê û[ë ü[ì ý[í þ[î ÿ[ï
- ;
- =
- = = = = = = = = = = = = = = = = = = = = = =! =" =# =$ =% =& =' =( =) =* =+ =, =- =. =/ =0 =1 =2 =3 =4 =5 =6 =7 =8 =9 =: =; =< == => =? =@ =A =B =C =D =E =F =G =H =I =J =K =L =M =N =O =P =Q =R =S =T =U =V =W =X =Y =Z =[ =\ =] =^ =_ =` =a =b =c =d =e =f =g =h =i =j =k =l =m =n =o =p =q =r =s =t =u =v =w =x =y =z ={ =| =} =~ = =€ = =‚ =ƒ =„ =… =† =‡ =ˆ =‰ =Š =‹ =Œ = =Ž = = =‘ =’ =“ =” =• =– =— =˜ =™ =š =› =œ = =ž =Ÿ =  =¡ =¢ =£ =¤ =¥ =¦ =§ =¨ =© =ª =« =¬ =­ =® =¯ =° =± =² =³ =´ =µ =¶ =· =¸ =¹ =º =» =¼ =½ =¾ =¿ =À =Á = =à =Ä =Å =Æ =Ç =È =É =Ê =Ë =Ì =Í =Î =Ï =Ð =Ñ =Ò =Ó =Ô =Õ =Ö =× =Ø =Ù =Ú =Û =Ü =Ý =Þ =ß =à =á =â =ã =ä =å =æ =ç =è =é =ê =ë =ì =í =î =ï =ð =ñ =ò =ó =ô =õ =ö =÷ =ø =ù =ú =û =ü =ý =þ =ÿ
- [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ #[ %[ '[! *[" +[# ,[$ -[% .[& /[' 0[( 1[) 2[* 3[+ 4[, 5[- 6[. 7[/ 8[0 9[1 :[2 <[3 >[4 ?[5 @[6 A[7 B[8 C[9 D[: E[; F[< G[= H[> I[? J[@ K[A L[B M[C N[D O[E P[F Q[G R[H S[I T[J U[K V[L W[M X[N Y[O Z[P \[Q ][R _[S `[T a[U b[V c[W d[X e[Y f[Z g[[ h[\ i[] j[^ k[_ l[` m[a n[b o[c p[d q[e r[f s[g t[h u[i v[j w[k x[l y[m z[n [o €[p [q ‚[r ƒ[s „[t …[u †[v ‡[w ˆ[x ‰[y Š[z ‹[{ Œ[| [} Ž[~ [ [€ ‘[ ’[‚ “[ƒ ”[„ •[… –[† —[‡ ˜[ˆ ™[‰ š[Š ›[‹ œ[Œ [ ž[Ž Ÿ[  [ ¡[‘ ¢[’ £[“ ¤[” ¥[• ¦[– §[— ¨[˜ ©[™ ª[š «[› ¬[œ ­[ ®[ž ¯[Ÿ °[  ±[¡ ²[¢ ³[£ ´[¤ µ[¥ ¶[¦ ·[§ ¸[¨ ¹[© º[ª »[« ¼[¬ ½[­ ¾[® ¿[¯ À[° Á[± Â[² Ã[³ Ä[´ Å[µ Æ[¶ Ç[· È[¸ É[¹ Ê[º Ë[» Ì[¼ Í[½ Î[¾ Ï[¿ Ð[À Ñ[Á Ò[ Ó[à Ô[Ä Õ[Å Ö[Æ ×[Ç Ø[È Ù[É Ú[Ê Û[Ë Ü[Ì Ý[Í Þ[Î ß[Ï à[Ð á[Ñ â[Ò ã[Ó ä[Ô å[Õ æ[Ö ç[× è[Ø é[Ù ê[Ú ë[Û ì[Ü í[Ý î[Þ ï[ß ð[à ñ[á ò[â ó[ã ô[ä õ[å ö[æ ÷[ç ø[è ù[é ú[ê û[ë ü[ì ý[í þ[î ÿ[ï
- [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [! [" [# [$ [% [& [' [( [) [* [+ [, [- [. [/ [0 [1 [2 [3 [4 [5 [6 [7 [8 [9 [: [; [< [= [> [? [@ [A [B [C [D [E [F [G [H [I [J [K [L [M [N [O [P [Q [R [S [T [U [V [W [X [Y [Z [[ [\ [] [^ [_ [` [a [b [c [d [e [f [g [h [i [j [k [l [m [n [o [p [q [r [s [t [u [v [w [x [y [z [{ [| [} [~ [ [€ [ [‚ [ƒ [„ [… [† [‡ [ˆ [‰ [Š [‹ [Œ [ [Ž [ [ [‘ [’ [“ [” [• [– [— [˜ [™ [š [› [œ [ [ž [Ÿ [  [¡ [¢ [£ [¤ [¥ [¦ [§ [¨ [© [ª [« [¬ [­ [® [¯ [° [± [² [³ [´ [µ [¶ [· [¸ [¹ [º [» [¼ [½ [¾ [¿ [À [Á [ [à [Ä [Å [Æ [Ç [È [É [Ê [Ë [Ì [Í [Î [Ï [Ð [Ñ [Ò [Ó [Ô [Õ [Ö [× [Ø [Ù [Ú [Û [Ü [Ý [Þ [ß [à [á [â [ã [ä [å [æ [ç [è [é [ê [ë [ì [í [î [ï [ð [ñ [ò [ó [ô [õ [ö [÷ [ø [ù [ú [û [ü [ý [þ [ÿ
-
-
- ;
- =
- = = = = = = = = = = = = = = = = = = = = = =! =" =# =$ =% =& =' =( =) =* =+ =, =- =. =/ =0 =1 =2 =3 =4 =5 =6 =7 =8 =9 =: =; =< == => =? =@ =A =B =C =D =E =F =G =H =I =J =K =L =M =N =O =P =Q =R =S =T =U =V =W =X =Y =Z =[ =\ =] =^ =_ =` =a =b =c =d =e =f =g =h =i =j =k =l =m =n =o =p =q =r =s =t =u =v =w =x =y =z ={ =| =} =~ = =€ = =‚ =ƒ =„ =… =† =‡ =ˆ =‰ =Š =‹ =Œ = =Ž = = =‘ =’ =“ =” =• =– =— =˜ =™ =š =› =œ = =ž =Ÿ =  =¡ =¢ =£ =¤ =¥ =¦ =§ =¨ =© =ª =« =¬ =­ =® =¯ =° =± =² =³ =´ =µ =¶ =· =¸ =¹ =º =» =¼ =½ =¾ =¿ =À =Á = =à =Ä =Å =Æ =Ç =È =É =Ê =Ë =Ì =Í =Î =Ï =Ð =Ñ =Ò =Ó =Ô =Õ =Ö =× =Ø =Ù =Ú =Û =Ü =Ý =Þ =ß =à =á =â =ã =ä =å =æ =ç =è =é =ê =ë =ì =í =î =ï =ð =ñ =ò =ó =ô =õ =ö =÷ =ø =ù =ú =û =ü =ý =þ =ÿ
- [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ #[ %[ '[! *[" +[# ,[$ -[% .[& /[' 0[( 1[) 2[* 3[+ 4[, 5[- 6[. 7[/ 8[0 9[1 :[2 <[3 >[4 ?[5 @[6 A[7 B[8 C[9 D[: E[; F[< G[= H[> I[? J[@ K[A L[B M[C N[D O[E P[F Q[G R[H S[I T[J U[K V[L W[M X[N Y[O Z[P \[Q ][R _[S `[T a[U b[V c[W d[X e[Y f[Z g[[ h[\ i[] j[^ k[_ l[` m[a n[b o[c p[d q[e r[f s[g t[h u[i v[j w[k x[l y[m z[n [o €[p [q ‚[r ƒ[s „[t …[u †[v ‡[w ˆ[x ‰[y Š[z ‹[{ Œ[| [} Ž[~ [ [€ ‘[ ’[‚ “[ƒ ”[„ •[… –[† —[‡ ˜[ˆ ™[‰ š[Š ›[‹ œ[Œ [ ž[Ž Ÿ[  [ ¡[‘ ¢[’ £[“ ¤[” ¥[• ¦[– §[— ¨[˜ ©[™ ª[š «[› ¬[œ ­[ ®[ž ¯[Ÿ °[  ±[¡ ²[¢ ³[£ ´[¤ µ[¥ ¶[¦ ·[§ ¸[¨ ¹[© º[ª »[« ¼[¬ ½[­ ¾[® ¿[¯ À[° Á[± Â[² Ã[³ Ä[´ Å[µ Æ[¶ Ç[· È[¸ É[¹ Ê[º Ë[» Ì[¼ Í[½ Î[¾ Ï[¿ Ð[À Ñ[Á Ò[ Ó[à Ô[Ä Õ[Å Ö[Æ ×[Ç Ø[È Ù[É Ú[Ê Û[Ë Ü[Ì Ý[Í Þ[Î ß[Ï à[Ð á[Ñ â[Ò ã[Ó ä[Ô å[Õ æ[Ö ç[× è[Ø é[Ù ê[Ú ë[Û ì[Ü í[Ý î[Þ ï[ß ð[à ñ[á ò[â ó[ã ô[ä õ[å ö[æ ÷[ç ø[è ù[é ú[ê û[ë ü[ì ý[í þ[î ÿ[ï
-> [ ?[ @[ ][%['[*[+[,[-[.[/[:[<[>[?[@[][%[' [*#[+%[!,'["-*[#.+[$/,[%:-[&<.['>/[(?0[)@1[*]2[+%3[,'4[-*5[.+6[/,7[0-8[1.9[2/:[3:<[4<>[5>?[6?@[7@A[8]B[9%C[:'D[;*E[<+F[=,G[>-H[?.I[@/J[A:K[B<L[C>M[D?N[E@O[F]P[G%Q[H'R[I*S[J+T[K,U[L-V[M.W[N/X[O:Y[P<Z[Q>\[R?][S@_[T]`[U%a[V'b[W*c[X+d[Y,e[Z-f[[.g[\/h[]:i[^<j[_>k[`?l[a@m[b]n[c%o[d'p[e*q[f+r[g,s[h-t[i.u[j/v[k:w[l<x[m>y[n?z[o@[p]€[q%[r'‚[s*ƒ[t+„[u,…[v-†[w.‡[x/ˆ[y:‰[z<Š[{>‹[|?Œ[}@[~]Ž[%[€'[*‘[‚+’[ƒ,“[„-”[….•[†/–[‡:—[ˆ<˜[‰>™[Š?š[‹@›[Œ]œ[%[Ž'ž[*Ÿ[+ [‘,¡[’-¢[“.£[”/¤[•:¥[–<¦[—>§[˜?¨[™@©[š]ª[›%«[œ'¬[*­[ž+®[Ÿ,¯[ -°[¡.±[¢/²[£:³[¤<´[¥>µ[¦?¶[§@·[¨]¸[©%¹[ª'º[«*»[¬+¼[­,½[®-¾[¯.¿[°/À[±:Á[²<Â[³>Ã[´?Ä[µ@Å[¶]Æ[·%Ç[¸'È[¹*É[º+Ê[»,Ë[¼-Ì[½.Í[¾/Î[¿:Ï[À<Ð[Á>Ñ[Â?Ò[Ã@Ó[Ä]Ô[Å%Õ[Æ'Ö[Ç*×[È+Ø[É,Ù[Ê-Ú[Ë.Û[Ì/Ü[Í:Ý[Î<Þ[Ï>ß[Ð?à[Ñ@á[Ò]â[Ó%ã[Ô'ä[Õ*å[Ö+æ[×,ç[Ø-è[Ù.é[Ú/ê[Û:ë[Ü<ì[Ý>í[Þ?î[ß@ï[à]ð[á%ñ[â'ò[ã*ó[ä+ô[å,õ[æ-ö[ç.÷[è/ø[é:ù[ê<ú[ë>û[ì?ü[í@ý[î]þ[ï%ÿ[ð'
->[ ?[ @[ ][%['[*[+[,[-[.[/[:[<[>[?[@[][%['[*[+[!,["-[#.[$/[%:[&<['>[(?[)@[*][+%[,'[-*[.+[/,[0-[1.[2/[3:[4<[5>[6?[7@[8][9%[:'[;*[<+[=,[>-[?.[@/[A:[B<[C>[D?[E@[F][G%[H'[I*[J+[K,[L-[M.[N/[O:[P<[Q>[R?[S@[T][U%[V'[W*[X+[Y,[Z-[[.[\/[]:[^<[_>[`?[a@[b][c%[d'[e*[f+[g,[h-[i.[j/[k:[l<[m>[n?[o@[p][q%[r'[s*[t+[u,[v-[w.[x/[y:[z<[{>[|?[}@[~][%[€'[*[‚+[ƒ,[„-[….[†/[‡:[ˆ<[‰>[Š?[‹@[Œ][%[Ž'[*[+[‘,[’-[“.[”/[•:[–<[—>[˜?[™@[š][›%[œ'[*[ž+[Ÿ,[ -[¡.[¢/[£:[¤<[¥>[¦?[§@[¨][©%[ª'[«*[¬+[­,[®-[¯.[°/[±:[²<[³>[´?[µ@[¶][·%[¸'[¹*[º+[»,[¼-[½.[¾/[¿:[À<[Á>[Â?[Ã@[Ä][Å%[Æ'[Ç*[È+[É,[Ê-[Ë.[Ì/[Í:[Î<[Ï>[Ð?[Ñ@[Ò][Ó%[Ô'[Õ*[Ö+[×,[Ø-[Ù.[Ú/[Û:[Ü<[Ý>[Þ?[ß@[à][á%[â'[ã*[ä+[å,[æ-[ç.[è/[é:[ê<[ë>[ì?[í@[î][ï%[ð'[ñ*[ò+[ó,[ô-[õ.[ö/[÷:[ø<[ù>[ú?[û@[ü][ý%[þ'[ÿ% '
-* +!,"-$.&/(:)<;>=?^@{]|%}'~;
+
+ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ #[ %[ '[! *[" +[# ,[$ -[% .[& /[' 0[( 1[) 2[* 3[+ 4[, 5[- 6[. 7[/ 8[0 9[1 :[2 <[3 >[4 ?[5 @[6 A[7 B[8 C[9 D[: E[; F[< G[= H[> I[? J[@ K[A L[B M[C N[D O[E P[F Q[G R[H S[I T[J U[K V[L W[M X[N Y[O Z[P \[Q ][R _[S `[T a[U b[V c[W d[X e[Y f[Z g[[ h[\ i[] j[^ k[_ l[` m[a n[b o[c p[d q[e r[f s[g t[h u[i v[j w[k x[l y[m z[n [o €[p [q ‚[r ƒ[s „[t …[u †[v ‡[w ˆ[x ‰[y Š[z ‹[{ Œ[| [} Ž[~ [ [€ ‘[ ’[‚ “[ƒ ”[„ •[… –[† —[‡ ˜[ˆ ™[‰ š[Š ›[‹ œ[Œ [ ž[Ž Ÿ[  [ ¡[‘ ¢[’ £[“ ¤[” ¥[• ¦[– §[— ¨[˜ ©[™ ª[š «[› ¬[œ ­[ ®[ž ¯[Ÿ °[  ±[¡ ²[¢ ³[£ ´[¤ µ[¥ ¶[¦ ·[§ ¸[¨ ¹[© º[ª »[« ¼[¬ ½[­ ¾[® ¿[¯ À[° Á[± Â[² Ã[³ Ä[´ Å[µ Æ[¶ Ç[· È[¸ É[¹ Ê[º Ë[» Ì[¼ Í[½ Î[¾ Ï[¿ Ð[À Ñ[Á Ò[ Ó[à Ô[Ä Õ[Å Ö[Æ ×[Ç Ø[È Ù[É Ú[Ê Û[Ë Ü[Ì Ý[Í Þ[Î ß[Ï à[Ð á[Ñ â[Ò ã[Ó ä[Ô å[Õ æ[Ö ç[× è[Ø é[Ù ê[Ú ë[Û ì[Ü í[Ý î[Þ ï[ß ð[à ñ[á ò[â ó[ã ô[ä õ[å ö[æ ÷[ç ø[è ù[é ú[ê û[ë ü[ì ý[í þ[î ÿ[ï
+ = = = = = = = = = = = = = = = = = = = = = =! =" =# =$ =% =& =' =( =) =* =+ =, =- =. =/ =0 =1 =2 =3 =4 =5 =6 =7 =8 =9 =: =; =< == => =? =@ =A =B =C =D =E =F =G =H =I =J =K =L =M =N =O =P =Q =R =S =T =U =V =W =X =Y =Z =[ =\ =] =^ =_ =` =a =b =c =d =e =f =g =h =i =j =k =l =m =n =o =p =q =r =s =t =u =v =w =x =y =z ={ =| =} =~ = =€ = =‚ =ƒ =„ =… =† =‡ =ˆ =‰ =Š =‹ =Œ = =Ž = = =‘ =’ =“ =” =• =– =— =˜ =™ =š =› =œ = =ž =Ÿ =  =¡ =¢ =£ =¤ =¥ =¦ =§ =¨ =© =ª =« =¬ =­ =® =¯ =° =± =² =³ =´ =µ =¶ =· =¸ =¹ =º =» =¼ =½ =¾ =¿ =À =Á = =à =Ä =Å =Æ =Ç =È =É =Ê =Ë =Ì =Í =Î =Ï =Ð =Ñ =Ò =Ó =Ô =Õ =Ö =× =Ø =Ù =Ú =Û =Ü =Ý =Þ =ß =à =á =â =ã =ä =å =æ =ç =è =é =ê =ë =ì =í =î =ï =ð =ñ =ò =ó =ô =õ =ö =÷ =ø =ù =ú =û =ü =ý =þ =ÿ [
+ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [ [! [" [# [$ [% [& [' [( [) [* [+ [, [- [. [/ [0 [1 [2 [3 [4 [5 [6 [7 [8 [9 [: [; [< [= [> [? [@ [A [B [C [D [E [F [G [H [I [J [K [L [M [N [O [P [Q [R [S [T [U [V [W [X [Y [Z [[ [\ [] [^ [_ [` [a [b [c [d [e [f [g [h [i [j [k [l [m [n [o [p [q [r [s [t [u [v [w [x [y [z [{ [| [} [~ [ [€ [ [‚ [ƒ [„ [… [† [‡ [ˆ [‰ [Š [‹ [Œ [ [Ž [ [ [‘ [’ [“ [” [• [– [— [˜ [™ [š [› [œ [ [ž [Ÿ [  [¡ [¢ [£ [¤ [¥ [¦ [§ [¨ [© [ª [« [¬ [­ [® [¯ [° [± [² [³ [´ [µ [¶ [· [¸ [¹ [º [» [¼ [½ [¾ [¿ [À [Á [ [à [Ä [Å [Æ [Ç [È [É [Ê [Ë [Ì [Í [Î [Ï [Ð [Ñ [Ò [Ó [Ô [Õ [Ö [× [Ø [Ù [Ú [Û [Ü [Ý [Þ [ß [à [á [â [ã [ä [å [æ [ç [è [é [ê [ë [ì [í [î [ï [ð [ñ [ò [ó [ô [õ [ö [÷ [ø [ù [ú [û [ü [ý [þ [ÿ ;
+ ! " $ & ( ) ^ { | } ~!"$&()^{|}~;
;
;
;
@@ -4922,8 +4971,7 @@ w x!z"$€&(‚)ƒ;„=…^†{‡|ˆ}‰~Š ‹
;ÿ
;
;
-=
-= = = = = = = = = = = = = = = = = = = = = = != "= #= $= %= &= '= (= )= *= += ,= -= .= /= 0= 1= 2= 3= 4= 5= 6= 7= 8= 9= := ;= <= == >= ?= @= A= B= C= D= E= F= G= H= I= J= K= L= M= N= O= P= Q= R= S= T= U= V= W= X= Y= Z= [= \= ]= ^= _= `= a= b= c= d= e= f= g= h= i= j= k= l= m= n= o= p= q= r= s= t= u= v= w= x= y= z= {= |= }= ~= = €= = ‚= ƒ= „= …= †= ‡= ˆ= ‰= Š= ‹= Œ= = Ž= = = ‘= ’= “= ”= •= –= —= ˜= ™= š= ›= œ= = ž= Ÿ=  = ¡= ¢= £= ¤= ¥= ¦= §= ¨= ©= ª= «= ¬= ­= ®= ¯= °= ±= ²= ³= ´= µ= ¶= ·= ¸= ¹= º= »= ¼= ½= ¾= ¿= À= Á= Â= Ã= Ä= Å= Æ= Ç= È= É= Ê= Ë= Ì= Í= Î= Ï= Ð= Ñ= Ò= Ó= Ô= Õ= Ö= ×= Ø= Ù= Ú= Û= Ü= Ý= Þ= ß= à= á= â= ã= ä= å= æ= ç= è= é= ê= ë= ì= í= î= ï= ð= ñ= ò= ó= ô= õ= ö= ÷= ø= ù= ú= û= ü= ý= þ= ÿ=
+=
= = = ===================!="=#=$=%=&='=(=)=*=+=,=-=.=/=0=1=2=3=4=5=6=7=8=9=:=;=<===>=?=@=A=B=C=D=E=F=G=H=I=J=K=L=M=N=O=P=Q=R=S=T=U=V=W=X=Y=Z=[=\=]=^=_=`=a=b=c=d=e=f=g=h=i=j=k=l=m=n=o=p=q=r=s=t=u=v=w=x=y=z={=|=}=~==€==‚=ƒ=„=…=†=‡=ˆ=‰=Š=‹=Œ==Ž===‘=’=“=”=•=–=—=˜=™=š=›=œ==ž=Ÿ= =¡=¢=£=¤=¥=¦=§=¨=©=ª=«=¬=­=®=¯=°=±=²=³=´=µ=¶=·=¸=¹=º=»=¼=½=¾=¿=À=Á=Â=Ã=Ä=Å=Æ=Ç=È=É=Ê=Ë=Ì=Í=Î=Ï=Ð=Ñ=Ò=Ó=Ô=Õ=Ö=×=Ø=Ù=Ú=Û=Ü=Ý=Þ=ß=à=á=â=ã=ä=å=æ=ç=è=é=ê=ë=ì=í=î=ï=ð=ñ=ò=ó=ô=õ=ö=÷=ø=ù=ú=û=ü=ý=þ=ÿF
F [ f[ F[ f[F[f[F[f[F[f[F[f[F[f[F[f[F[f[F[f [F#[f%[!F'["f*[#F+[$f,[%F-[&f.['F/[(f0[)F1[*f2[+F3[,f4[-F5[.f6[/F7[0f8[1F9[2f:[3F<[4f>[5F?[6f@[7FB[8fC[9FD[:fE[;FF[<fG[=FH[>fI[?FJ[@fK[AFL[BfM[CFN[DfO[EFP[FfQ[GFR[HfS[IFT[JfU[KFV[LfW[MFX[NfY[OFZ[Pf\[QF][Rf_[SF`[Tfb[UFc[Vfd[WFe[Xff[YFg[Zfh[[Fi[\fj[]Fk[^fl[_Fm[`fn[aFo[bfp[cFq[dfr[eFs[fft[gFu[hfv[iFw[jfx[kFy[lfz[mF[nf€[oF[pf‚[qFƒ[rf„[sF…[tf†[uF‡[vfˆ[wF‰[xfŠ[yF‹[zfŒ[{F[|fŽ[}F[~f[F‘[€f’[F“[‚f”[ƒF•[„f–[…F—[†f˜[‡F™[ˆfš[‰F›[Šfœ[‹F[Œfž[FŸ[Žf [F¡[f¢[‘F£[’f¤[“F¥[”f¦[•F§[–f¨[—F©[˜fª[™F«[šf¬[›F­[œf®[F¯[žf°[ŸF±[ f²[¡F³[¢f´[£Fµ[¤f¶[¥F·[¦f¸[§F¹[¨fº[©F»[ªf¼[«F½[¬f¾[­F¿[®fÀ[¯FÁ[°fÂ[±FÃ[²fÄ[³FÅ[´fÆ[µFÇ[¶fÈ[·FÉ[¸fÊ[¹FË[ºfÌ[»FÍ[¼fÎ[½FÏ[¾fÐ[¿FÑ[ÀfÒ[ÁFÓ[ÂfÔ[ÃFÕ[ÄfÖ[ÅF×[ÆfØ[ÇFÙ[ÈfÚ[ÉFÛ[ÊfÜ[ËFÝ[ÌfÞ[ÍFß[Îfà[ÏFá[Ðfâ[ÑFã[Òfä[ÓFå[Ôfæ[ÕFç[Öfè[×Fé[Øfê[ÙFë[Úfì[ÛFí[Üfî[ÝFï[Þfð[ßFñ[àfò[áFó[âfô[ãFõ[äfö[åF÷[æfø[çFù[èfú[éFû[êfü[ëFý[ìfþ[íFÿ[îf
F[ f[ F[ f[F[f[F[f[F[f[F[f[F[f[F[f[F[f[F[f[F[f[!F["f[#F[$f[%F[&f['F[(f[)F[*f[+F[,f[-F[.f[/F[0f[1F[2f[3F[4f[5F[6f[7F[8f[9F[:f[;F[<f[=F[>f[?F[@f[AF[Bf[CF[Df[EF[Ff[GF[Hf[IF[Jf[KF[Lf[MF[Nf[OF[Pf[QF[Rf[SF[Tf[UF[Vf[WF[Xf[YF[Zf[[F[\f[]F[^f[_F[`f[aF[bf[cF[df[eF[ff[gF[hf[iF[jf[kF[lf[mF[nf[oF[pf[qF[rf[sF[tf[uF[vf[wF[xf[yF[zf[{F[|f[}F[~f[F[€f[F[‚f[ƒF[„f[…F[†f[‡F[ˆf[‰F[Šf[‹F[Œf[F[Žf[F[f[‘F[’f[“F[”f[•F[–f[—F[˜f[™F[šf[›F[œf[F[žf[ŸF[ f[¡F[¢f[£F[¤f[¥F[¦f[§F[¨f[©F[ªf[«F[¬f[­F[®f[¯F[°f[±F[²f[³F[´f[µF[¶f[·F[¸f[¹F[ºf[»F[¼f[½F[¾f[¿F[Àf[ÁF[Âf[ÃF[Äf[ÅF[Æf[ÇF[Èf[ÉF[Êf[ËF[Ìf[ÍF[Îf[ÏF[Ðf[ÑF[Òf[ÓF[Ôf[ÕF[Öf[×F[Øf[ÙF[Úf[ÛF[Üf[ÝF[Þf[ßF[àf[áF[âf[ãF[äf[åF[æf[çF[èf[éF[êf[ëF[ìf[íF[îf[ïF[ðf[ñF[òf[óF[ôf[õF[öf[÷F[øf[ùF[úf[ûF[üf[ýF[þf[ÿFA
@@ -4996,55 +5044,1036 @@ YE [ ye[ YE[ ye[YE[ye[YE[ye[YE[ye[YE[ye[YE[ye[YE[ye[
YE[ ye[ YE[ ye[YE[ye[YE[ye[YE[ye[YE[ye[YE[ye[YE[ye[YE[ye[YE[ye[YE[ye[!YE["ye[#YE[$ye[%YE[&ye['YE[(ye[)YE[*ye[+YE[,ye[-YE[.ye[/YE[0ye[1YE[2ye[3YE[4ye[5YE[6ye[7YE[8ye[9YE[:ye[;YE[<ye[=YE[>ye[?YE[@ye[AYE[Bye[CYE[Dye[EYE[Fye[GYE[Hye[IYE[Jye[KYE[Lye[MYE[Nye[OYE[Pye[QYE[Rye[SYE[Tye[UYE[Vye[WYE[Xye[YYE[Zye[[YE[\ye[]YE[^ye[_YE[`ye[aYE[bye[cYE[dye[eYE[fye[gYE[hye[iYE[jye[kYE[lye[mYE[nye[oYE[pye[qYE[rye[sYE[tye[uYE[vye[wYE[xye[yYE[zye[{YE[|ye[}YE[~ye[YE[€ye[YE[‚ye[ƒYE[„ye[…YE[†ye[‡YE[ˆye[‰YE[Šye[‹YE[Œye[YE[Žye[YE[ye[‘YE[’ye[“YE[”ye[•YE[–ye[—YE[˜ye[™YE[šye[›YE[œye[YE[žye[ŸYE[ ye[¡YE[¢ye[£YE[¤ye[¥YE[¦ye[§YE[¨ye[©YE[ªye[«YE[¬ye[­YE[®ye[¯YE[°ye[±YE[²ye[³YE[´ye[µYE[¶ye[·YE[¸ye[¹YE[ºye[»YE[¼ye[½YE[¾ye[¿YE[Àye[ÁYE[Âye[ÃYE[Äye[ÅYE[Æye[ÇYE[Èye[ÉYE[Êye[ËYE[Ìye[ÍYE[Îye[ÏYE[Ðye[ÑYE[Òye[ÓYE[Ôye[ÕYE[Öye[×YE[Øye[ÙYE[Úye[ÛYE[Üye[ÝYE[Þye[ßYE[àye[áYE[âye[ãYE[äye[åYE[æye[çYE[èye[éYE[êye[ëYE[ìye[íYE[îye[ïYE[ðye[ñYE[òye[óYE[ôye[õYE[öye[÷YE[øye[ùYE[úye[ûYE[üye[ýYE[þye[ÿYES
YES [ yes[ YES[ yes[YES[yes[YES[yes[YES[yes[YES[yes[YES[yes[YES[yes[YES[yes[YES[yes#[YES%[yes'[!YES*["yes+[#YES,[$yes-[%YES.[&yes/['YES0[(yes1[)YES2[*yes3[+YES4[,yes5[-YES6[.yes7[/YES8[0yes9[1YES:[2yes<[3YES>[4yes?[5YES@[6yesA[7YESB[8yesC[9YESD[:yesE[;YESF[<yesG[=YESH[>yesI[?YESJ[@yesK[AYESL[ByesM[CYESN[DyesO[EYESP[FyesQ[GYESR[HyesS[IYEST[JyesU[KYESV[LyesW[MYESX[NyesY[OYESZ[Pyes\[QYES][Ryes_[SYES`[Tyesa[UYESb[Vyesc[WYESd[Xyese[YYESf[Zyesg[[YESh[\yesi[]YESj[^yesk[_YESl[`yesm[aYESn[byeso[cYESp[dyesq[eYESr[fyess[gYESt[hyesu[iYESv[jyesw[kYESx[lyesy[mYESz[nyes[oYES€[pyes[qYES‚[ryesƒ[sYES„[tyes…[uYES†[vyes‡[wYESˆ[xyes‰[yYESŠ[zyes‹[{YESŒ[|yes[}YESŽ[~yes[YES[€yes‘[YES’[‚yes“[ƒYES”[„yes•[…YES–[†yes—[‡YES˜[ˆyes™[‰YESš[Šyes›[‹YESœ[Œyes[YESž[ŽyesŸ[YES [yes¡[‘YES¢[’yes£[“YES¤[”yes¥[•YES¦[–yes§[—YES¨[˜yes©[™YESª[šyes«[›YES¬[œyes­[YES®[žyes¯[ŸYES°[ yes±[¡YES²[¢yes³[£YES´[¤yesµ[¥YES¶[¦yes·[§YES¸[¨yes¹[©YESº[ªyes»[«YES¼[¬yes½[­YES¾[®yes¿[¯YESÀ[°yesÁ[±YESÂ[²yesÃ[³YESÄ[´yesÅ[µYESÆ[¶yesÇ[·YESÈ[¸yesÉ[¹YESÊ[ºyesË[»YESÌ[¼yesÍ[½YESÎ[¾yesÏ[¿YESÐ[ÀyesÑ[ÁYESÒ[ÂyesÓ[ÃYESÔ[ÄyesÕ[ÅYESÖ[Æyes×[ÇYESØ[ÈyesÙ[ÉYESÚ[ÊyesÛ[ËYESÜ[ÌyesÝ[ÍYESÞ[Îyesß[ÏYESà[Ðyesá[ÑYESâ[Òyesã[ÓYESä[Ôyeså[ÕYESæ[Öyesç[×YESè[Øyesé[ÙYESê[Úyesë[ÛYESì[Üyesí[ÝYESî[Þyesï[ßYESð[àyesñ[áYESò[âyesó[ãYESô[äyesõ[åYESö[æyes÷[çYESø[èyesù[éYESú[êyesû[ëYESü[ìyesý[íYESþ[îyesÿ[ïYES
YE ye!YE"ye$YE&ye(YE)ye;YE=ye^YE{ye|YE}ye~Y y
-Y y!Y"y$Y&y(Y)y;Y=y^Y{y|Y}y~[000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111..........................................................................................................................................................................................................................................................000011..........................................................................................................................................................................................................................................................001..........................................................................................................................................................................................................................................................0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001           1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111                                                                                                                                                                                                                                                              
-  !#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"
-" " " " " " " " " " " " " " " " " " " " " " !" "" #" $" %" &" '" (" )" *" +" ," -" ." /" 0" 1" 2" 3" 4" 5" 6" 7" 8" 9" :" ;" <" =" >" ?" @" A" B" C" D" E" F" G" H" I" J" K" L" M" N" O" P" Q" R" S" T" U" V" W" X" Y" Z" [" \" ]" ^" _" `" a" b" c" d" e" f" g" h" i" j" k" l" m" n" o" p" q" r" s" t" u" v" w" x" y" z" {" |" }" ~" " €" " ‚" ƒ" „" …" †" ‡" ˆ" ‰" Š" ‹" Œ" " Ž" " " ‘" ’" “" ”" •" –" —" ˜" ™" š" ›" œ" " ž" Ÿ"  " ¡" ¢" £" ¤" ¥" ¦" §" ¨" ©" ª" «" ¬" ­" ®" ¯" °" ±" ²" ³" ´" µ" ¶" ·" ¸" ¹" º" »" ¼" ½" ¾" ¿" À" Á" Â" Ã" Ä" Å" Æ" Ç" È" É" Ê" Ë" Ì" Í" Î" Ï" Ð" Ñ" Ò" Ó" Ô" Õ" Ö" ×" Ø" Ù" Ú" Û" Ü" Ý" Þ" ß" à" á" â" ã" ä" å" æ" ç" è" é" ê" ë" ì" í" î" ï" ð" ñ" ò" ó" ô" õ" ö" ÷" ø" ù" ú" û" ü" ý" þ" ÿ"
+Y y!Y"y$Y&y(Y)y;Y=y^Y{y|Y}y~[                                                                                                                                                                                                                                                                   
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  
+     
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                                                                                                                                                                                                                                              
+  !#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"
" " " " " " " " " " " " " " " " " " " " " " !" "" #" $" %" &" '" (" )" *" +" ," -" ." /" 0" 1" 2" 3" 4" 5" 6" 7" 8" 9" :" ;" <" =" >" ?" @" A" B" C" D" E" F" G" H" I" J" K" L" M" N" O" P" Q" R" S" T" U" V" W" X" Y" Z" [" \" ]" ^" _" `" a" b" c" d" e" f" g" h" i" j" k" l" m" n" o" p" q" r" s" t" u" v" w" x" y" z" {" |" }" ~" " €" " ‚" ƒ" „" …" †" ‡" ˆ" ‰" Š" ‹" Œ" " Ž" " " ‘" ’" “" ”" •" –" —" ˜" ™" š" ›" œ" " ž" Ÿ"  " ¡" ¢" £" ¤" ¥" ¦" §" ¨" ©" ª" «" ¬" ­" ®" ¯" °" ±" ²" ³" ´" µ" ¶" ·" ¸" ¹" º" »" ¼" ½" ¾" ¿" À" Á" Â" Ã" Ä" Å" Æ" Ç" È" É" Ê" Ë" Ì" Í" Î" Ï" Ð" Ñ" Ò" Ó" Ô" Õ" Ö" ×" Ø" Ù" Ú" Û" Ü" Ý" Þ" ß" à" á" â" ã" ä" å" æ" ç" è" é" ê" ë" ì" í" î" ï" ð" ñ" ò" ó" ô" õ" ö" ÷" ø" ù" ú" û" ü" ý" þ" ÿ"
" " " """""""""""""""""""!"""#"$"%"&"'"(")"*"+","-"."/"0"1"2"3"4"5"6"7"8"9":";"<"=">"?"@"A"B"C"D"E"F"G"H"I"J"K"L"M"N"O"P"Q"R"S"T"U"V"W"X"Y"Z"["\"]"^"_"`"a"b"c"d"e"f"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~""€""‚"ƒ"„"…"†"‡"ˆ"‰"Š"‹"Œ""Ž"""‘"’"“"”"•"–"—"˜"™"š"›"œ""ž"Ÿ" "¡"¢"£"¤"¥"¦"§"¨"©"ª"«"¬"­"®"¯"°"±"²"³"´"µ"¶"·"¸"¹"º"»"¼"½"¾"¿"À"Á"Â"Ã"Ä"Å"Æ"Ç"È"É"Ê"Ë"Ì"Í"Î"Ï"Ð"Ñ"Ò"Ó"Ô"Õ"Ö"×"Ø"Ù"Ú"Û"Ü"Ý"Þ"ß"à"á"â"ã"ä"å"æ"ç"è"é"ê"ë"ì"í"î"ï"ð"ñ"ò"ó"ô"õ"ö"÷"ø"ù"ú"û"ü"ý"þ"ÿ${$
-$ $ $ $$$$$$$$$$$$$$$$$$$ $!$"$#$$$%$&$'$($)$*$+$,$-$.$/$0$1$2$3$4$5$6$7$8$9$:$;$<$=$>$?$@$A$B$C$D$E$F$G$H$I$J$K$L$M$N$O$P$Q$R$S$T$U$V$W$X$Y$Z$[$\$]$^$_$`$a$b$c$d$e$f$g$h$i$j$k$l$m$n$o$p$q$r$s$t$u$v$w$x$y$z$|$}$~$$€$$‚$ƒ$„$…$†$‡$ˆ$‰$Š$‹$Œ$$Ž$$$‘$’$“$”$•$–$—$˜$™$š$›$œ$$ž$Ÿ$ $¡$¢$£$¤$¥$¦$§$¨$©$ª$«$¬$­$®$¯$°$±$²$³$´$µ$¶$·$¸$¹$º$»$¼$½$¾$¿$À$Á$Â$Ã$Ä$Å$Æ$Ç$È$É$Ê$Ë$Ì$Í$Î$Ï$Ð$Ñ$Ò$Ó$Ô$Õ$Ö$×$Ø$Ù$Ú$Û$Ü$Ý$Þ$ß$à$á$â$ã$ä$å$æ$ç$è$é$ê$ë$ì$í$î$ï$ð$ñ$ò$ó$ô$õ$ö$÷$ø$ù$ú$û$ü$ý$þ$ÿ**************************************************************************************************************************************************************************************************************************************************************))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))***************************************************************************************************************************************************************************************************************************************************************
-$
- "';]
- " ' ; ]
- "';]
- "';]
- "';!]#
-%!! &##"(%%')&&;*((]+))
-,** /++":,,'<--;=..]>//
-?00 @11"[22'^33;`44]{55
-|66 }77"~88'99;€::]<<
-‚== ƒ>>"„??'…@@;†AA]‡BB
-ˆCC ‰DD"ŠEE'‹FF;ŒGG]HH
-ŽII JJ"KK'‘LL;’MM]“NN
-”OO •PP"–QQ'—RR;˜SS]™TT
-šUU ›VV"œWW'XX;žYY]ŸZZ
- [[ ¡^^"¢__'£``;¤aa]¥bb
-¦cc §dd"¨ee'©ff;ªgg]«hh
-¬ii ­jj"®kk'¯ll;°mm]±nn
-²oo ³pp"´qq'µrr;¶ss]·tt
-¸uu ¹vv"ºww'»xx;¼yy]½zz
-¾{{ ¿||"À}}'Á~~;Â]À€
-Ä Å‚‚"ƃƒ'Ç„„;È……]Ɇ†
-ʇ‡ ˈˆ"̉‰'ÍŠŠ;΋‹]ÏŒŒ
-Ð ÑŽŽ"Ò'Ó;Ô‘‘]Õ’’
-Ö““ ×””"Ø••'Ù––;Ú——]Û˜˜
-Ü™™ Ýšš"Þ››'ßœœ;à]ážž
-⟟ 㠠"䡡'墢;棣]礤
-襥 馦"ꧧ'먨;ì©©]íªª
-î«« שּׁ"ð­­'ñ®®;ò¯¯]ó°°
-ô±± õ²²"ö³³'÷´´;øµµ]ù¶¶
-ú·· û¸¸"ü¹¹'ýºº;þ»»]ÿ¼¼
-
-ÃÃ ÄÄ"ÅÅ' ÆÆ; ÇÇ]ÈÈ
-ÉÉ ÊÊ"ËË'ÌÌ;ÍÍ]ÎÎ
-ÏÏ ÐÐ"ÑÑ'ÒÒ;ÓÓ]ÔÔ
-ÕÕ ÖÖ"××'ØØ;ÙÙ]!ÚÚ
-#ÛÛ %ÜÜ"&ÝÝ'(ÞÞ;)ßß]*àà
-+áá ,ââ"/ãã':ää;<åå]=ææ
->çç ?èè"@éé'[êê;^ëë]`ìì
-{íí |îî"}ïï'~ðð;ññ]€òò
-óó ‚ôô"ƒõõ'„öö;…÷÷]†øø
-‡ùù ˆúú"‰ûû'Šüü;‹ýý]Œþþ
-ÿÿ
+$ $ $ $$$$$$$$$$$$$$$$$$$ $!$"$#$$$%$&$'$($)$*$+$,$-$.$/$0$1$2$3$4$5$6$7$8$9$:$;$<$=$>$?$@$A$B$C$D$E$F$G$H$I$J$K$L$M$N$O$P$Q$R$S$T$U$V$W$X$Y$Z$[$\$]$^$_$`$a$b$c$d$e$f$g$h$i$j$k$l$m$n$o$p$q$r$s$t$u$v$w$x$y$z$|$}$~$$€$$‚$ƒ$„$…$†$‡$ˆ$‰$Š$‹$Œ$$Ž$$$‘$’$“$”$•$–$—$˜$™$š$›$œ$$ž$Ÿ$ $¡$¢$£$¤$¥$¦$§$¨$©$ª$«$¬$­$®$¯$°$±$²$³$´$µ$¶$·$¸$¹$º$»$¼$½$¾$¿$À$Á$Â$Ã$Ä$Å$Æ$Ç$È$É$Ê$Ë$Ì$Í$Î$Ï$Ð$Ñ$Ò$Ó$Ô$Õ$Ö$×$Ø$Ù$Ú$Û$Ü$Ý$Þ$ß$à$á$â$ã$ä$å$æ$ç$è$é$ê$ë$ì$í$î$ï$ð$ñ$ò$ó$ô$õ$ö$÷$ø$ù$ú$û$ü$ý$þ$ÿ
$
 "';]
 " ' ; ]
@@ -5119,21 +6148,25 @@ $
î ï"ð'ñ;ò]ó
ô õ"ö'÷;ø]ù
ú û"ü'ý;þ]ÿ
-
-$
-$
- ' ; " " ] ]
+
+$
' ;
;"$$
${$ $
$
$
-$
+$
+$
+$
+$
+$
+$
+$
+$
+$
$
$
-$
-$
-$
+$
$
'' '' '' '''''''''''''''''''''''''''''''''''''' ''!!''""''##''$$''%%''&&''((''))''**''++'',,''--''..''//''00''11''22''33''44''55''66''77''88''99''::'';;''<<''==''>>''??''@@''AA''BB''CC''DD''EE''FF''GG''HH''II''JJ''KK''LL''MM''NN''OO''PP''QQ''RR''SS''TT''UU''VV''WW''XX''YY''ZZ''[[''\\'']]''^^''__''``''aa''bb''cc''dd''ee''ff''gg''hh''ii''jj''kk''ll''mm''nn''oo''pp''qq''rr''ss''tt''uu''vv''ww''xx''yy''zz''{{''||''}}''~~''''€€''''‚‚''ƒƒ''„„''……''††''‡‡''ˆˆ''‰‰''ŠŠ''‹‹''ŒŒ''''ŽŽ''''''‘‘''’’''““''””''••''––''——''˜˜''™™''šš''››''œœ''''žž''ŸŸ''  ''¡¡''¢¢''££''¤¤''¥¥''¦¦''§§''¨¨''©©''ªª''««''¬¬''­­''®®''¯¯''°°''±±''²²''³³''´´''µµ''¶¶''··''¸¸''¹¹''ºº''»»''¼¼''½½''¾¾''¿¿''ÀÀ''ÁÁ''ÂÂ''ÃÃ''ÄÄ''ÅÅ''ÆÆ''ÇÇ''ÈÈ''ÉÉ''ÊÊ''ËË''ÌÌ''ÍÍ''ÎÎ''ÏÏ''ÐÐ''ÑÑ''ÒÒ''ÓÓ''ÔÔ''ÕÕ''ÖÖ''××''ØØ''ÙÙ''ÚÚ''ÛÛ''ÜÜ''ÝÝ''ÞÞ''ßß''àà''áá''ââ''ãã''ää''åå''ææ''çç''èè''éé''êê''ëë''ìì''íí''îî''ïï''ðð''ññ''òò''óó''ôô''õõ''öö''÷÷''øø''ùù''úú''ûû''üü''ýý''þþ''ÿÿ''
@@ -5147,29 +6180,14 @@ $
$
.1 .2".3'.4;.5].6
.7 .8".9'.
-. .".'.;.]0
+. .".'.;.]0
$
$
1. 2."3.'4.;5.]6.
-7. 8."9.'00
-$
-11 22"33'44;55]66
-77 88"99'0
+7. 8."9.'0
1 2"3'4;5]6
-7 8"9'A
-$
-$
-B1 C2"D3'E4;F5]G6
-H7 I8"J9'KA;LB]MC
-ND OE"PF'QG;RH]SI
-TJ UK"VL'WM;XN]YO
-ZP _Q"aR'bS;cT]dU
-eV fW"gX'hY;iZ]j_
-ka lb"mc'nd;oe]pf
-qg rh"si'tj;uk]vl
-wm xn"yo'zp;Aq]Br
-Cs Dt"Eu'Fv;Gw]Hx
-Iy Jz"A
+7 8"9'A
+$
B C"D'E;F]G
H I"J'K;L]M
N O"P'Q;R]S
@@ -5179,537 +6197,1041 @@ e f"g'h;i]j
k l"m'n;o]p
q r"s't;u]v
w x"y'z;\
-$
-
-
-
-
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;!
- ;"
- ;#
- ;$
- ;%
- ;&
- ;'
- ;(
- ;)
- ;*
- ;+
- ;,
- ;-
- ;.
- ;/
- ;0
- ;1
- ;2
- ;3
- ;4
- ;5
- ;6
- ;7
- ;8
- ;9
- ;:
- ;;
- ;<
- ;=
- ;>
- ;?
- ;@
- ;A
- ;B
- ;C
- ;D
- ;E
- ;F
- ;G
- ;H
- ;I
- ;J
- ;K
- ;L
- ;M
- ;N
- ;O
- ;P
- ;Q
- ;R
- ;S
- ;T
- ;U
- ;V
- ;W
- ;X
- ;Y
- ;Z
- ;[
- ;\
- ;]
- ;^
- ;_
- ;`
- ;a
- ;b
- ;c
- ;d
- ;e
- ;f
- ;g
- ;h
- ;i
- ;j
- ;k
- ;l
- ;m
- ;n
- ;o
- ;p
- ;q
- ;r
- ;s
- ;t
- ;u
- ;v
- ;w
- ;x
- ;y
- ;z
- ;{
- ;|
- ;}
- ;~
- ;
- ;€
- ;
- ;‚
- ;ƒ
- ;„
- ;…
- ;†
- ;‡
- ;ˆ
- ;‰
- ;Š
- ;‹
- ;Œ
- ;
- ;Ž
- ;
- ;
- ;‘
- ;’
- ;“
- ;”
- ;•
- ;–
- ;—
- ;˜
- ;™
- ;š
- ;›
- ;œ
- ;
- ;ž
- ;Ÿ
- ; 
- ;¡
- ;¢
- ;£
- ;¤
- ;¥
- ;¦
- ;§
- ;¨
- ;©
- ;ª
- ;«
- ;¬
- ;­
- ;®
- ;¯
- ;°
- ;±
- ;²
- ;³
- ;´
- ;µ
- ;¶
- ;·
- ;¸
- ;¹
- ;º
- ;»
- ;¼
- ;½
- ;¾
- ;¿
- ;À
- ;Á
- ;Â
- ;Ã
- ;Ä
- ;Å
- ;Æ
- ;Ç
- ;È
- ;É
- ;Ê
- ;Ë
- ;Ì
- ;Í
- ;Î
- ;Ï
- ;Ð
- ;Ñ
- ;Ò
- ;Ó
- ;Ô
- ;Õ
- ;Ö
- ;×
- ;Ø
- ;Ù
- ;Ú
- ;Û
- ;Ü
- ;Ý
- ;Þ
- ;ß
- ;à
- ;á
- ;â
- ;ã
- ;ä
- ;å
- ;æ
- ;ç
- ;è
- ;é
- ;ê
- ;ë
- ;ì
- ;í
- ;î
- ;ï
- ;ð
- ;ñ
- ;ò
- ;ó
- ;ô
- ;õ
- ;ö
- ;÷
- ;ø
- ;ù
- ;ú
- ;û
- ;ü
- ;ý
- ;þ
- ;ÿ
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;!
- ;"
- ;#
- ;$
- ;%
- ;&
- ;'
- ;(
- ;)
- ;*
- ;+
- ;,
- ;-
- ;.
- ;/
- ;0
- ;1
- ;2
- ;3
- ;4
- ;5
- ;6
- ;7
- ;8
- ;9
- ;:
- ;;
- ;<
- ;=
- ;>
- ;?
- ;@
- ;A
- ;B
- ;C
- ;D
- ;E
- ;F
- ;G
- ;H
- ;I
- ;J
- ;K
- ;L
- ;M
- ;N
- ;O
- ;P
- ;Q
- ;R
- ;S
- ;T
- ;U
- ;V
- ;W
- ;X
- ;Y
- ;Z
- ;[
- ;\
- ;]
- ;^
- ;_
- ;`
- ;a
- ;b
- ;c
- ;d
- ;e
- ;f
- ;g
- ;h
- ;i
- ;j
- ;k
- ;l
- ;m
- ;n
- ;o
- ;p
- ;q
- ;r
- ;s
- ;t
- ;u
- ;v
- ;w
- ;x
- ;y
- ;z
- ;{
- ;|
- ;}
- ;~
- ;
- ;€
- ;
- ;‚
- ;ƒ
- ;„
- ;…
- ;†
- ;‡
- ;ˆ
- ;‰
- ;Š
- ;‹
- ;Œ
- ;
- ;Ž
- ;
- ;
- ;‘
- ;’
- ;“
- ;”
- ;•
- ;–
- ;—
- ;˜
- ;™
- ;š
- ;›
- ;œ
- ;
- ;ž
- ;Ÿ
- ; 
- ;¡
- ;¢
- ;£
- ;¤
- ;¥
- ;¦
- ;§
- ;¨
- ;©
- ;ª
- ;«
- ;¬
- ;­
- ;®
- ;¯
- ;°
- ;±
- ;²
- ;³
- ;´
- ;µ
- ;¶
- ;·
- ;¸
- ;¹
- ;º
- ;»
- ;¼
- ;½
- ;¾
- ;¿
- ;À
- ;Á
- ;Â
- ;Ã
- ;Ä
- ;Å
- ;Æ
- ;Ç
- ;È
- ;É
- ;Ê
- ;Ë
- ;Ì
- ;Í
- ;Î
- ;Ï
- ;Ð
- ;Ñ
- ;Ò
- ;Ó
- ;Ô
- ;Õ
- ;Ö
- ;×
- ;Ø
- ;Ù
- ;Ú
- ;Û
- ;Ü
- ;Ý
- ;Þ
- ;ß
- ;à
- ;á
- ;â
- ;ã
- ;ä
- ;å
- ;æ
- ;ç
- ;è
- ;é
- ;ê
- ;ë
- ;ì
- ;í
- ;î
- ;ï
- ;ð
- ;ñ
- ;ò
- ;ó
- ;ô
- ;õ
- ;ö
- ;÷
- ;ø
- ;ù
- ;ú
- ;û
- ;ü
- ;ý
- ;þ
- ;ÿ
- ;
- ;
- ;
- ;
-
+$
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
+
+
+
+
- ;
+
+
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;!
+ ;"
+ ;#
+ ;$
+ ;%
+ ;&
+ ;'
+ ;(
+ ;)
+ ;*
+ ;+
+ ;,
+ ;-
+ ;.
+ ;/
+ ;0
+ ;1
+ ;2
+ ;3
+ ;4
+ ;5
+ ;6
+ ;7
+ ;8
+ ;9
+ ;:
+ ;;
+ ;<
+ ;=
+ ;>
+ ;?
+ ;@
+ ;A
+ ;B
+ ;C
+ ;D
+ ;E
+ ;F
+ ;G
+ ;H
+ ;I
+ ;J
+ ;K
+ ;L
+ ;M
+ ;N
+ ;O
+ ;P
+ ;Q
+ ;R
+ ;S
+ ;T
+ ;U
+ ;V
+ ;W
+ ;X
+ ;Y
+ ;Z
+ ;[
+ ;\
+ ;]
+ ;^
+ ;_
+ ;`
+ ;a
+ ;b
+ ;c
+ ;d
+ ;e
+ ;f
+ ;g
+ ;h
+ ;i
+ ;j
+ ;k
+ ;l
+ ;m
+ ;n
+ ;o
+ ;p
+ ;q
+ ;r
+ ;s
+ ;t
+ ;u
+ ;v
+ ;w
+ ;x
+ ;y
+ ;z
+ ;{
+ ;|
+ ;}
+ ;~
+ ;
+ ;€
+ ;
+ ;‚
+ ;ƒ
+ ;„
+ ;…
+ ;†
+ ;‡
+ ;ˆ
+ ;‰
+ ;Š
+ ;‹
+ ;Œ
+ ;
+ ;Ž
+ ;
+ ;
+ ;‘
+ ;’
+ ;“
+ ;”
+ ;•
+ ;–
+ ;—
+ ;˜
+ ;™
+ ;š
+ ;›
+ ;œ
+ ;
+ ;ž
+ ;Ÿ
+ ; 
+ ;¡
+ ;¢
+ ;£
+ ;¤
+ ;¥
+ ;¦
+ ;§
+ ;¨
+ ;©
+ ;ª
+ ;«
+ ;¬
+ ;­
+ ;®
+ ;¯
+ ;°
+ ;±
+ ;²
+ ;³
+ ;´
+ ;µ
+ ;¶
+ ;·
+ ;¸
+ ;¹
+ ;º
+ ;»
+ ;¼
+ ;½
+ ;¾
+ ;¿
+ ;À
+ ;Á
+ ;Â
+ ;Ã
+ ;Ä
+ ;Å
+ ;Æ
+ ;Ç
+ ;È
+ ;É
+ ;Ê
+ ;Ë
+ ;Ì
+ ;Í
+ ;Î
+ ;Ï
+ ;Ð
+ ;Ñ
+ ;Ò
+ ;Ó
+ ;Ô
+ ;Õ
+ ;Ö
+ ;×
+ ;Ø
+ ;Ù
+ ;Ú
+ ;Û
+ ;Ü
+ ;Ý
+ ;Þ
+ ;ß
+ ;à
+ ;á
+ ;â
+ ;ã
+ ;ä
+ ;å
+ ;æ
+ ;ç
+ ;è
+ ;é
+ ;ê
+ ;ë
+ ;ì
+ ;í
+ ;î
+ ;ï
+ ;ð
+ ;ñ
+ ;ò
+ ;ó
+ ;ô
+ ;õ
+ ;ö
+ ;÷
+ ;ø
+ ;ù
+ ;ú
+ ;û
+ ;ü
+ ;ý
+ ;þ
+ ;ÿ
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;!
+ ;"
+ ;#
+ ;$
+ ;%
+ ;&
+ ;'
+ ;(
+ ;)
+ ;*
+ ;+
+ ;,
+ ;-
+ ;.
+ ;/
+ ;0
+ ;1
+ ;2
+ ;3
+ ;4
+ ;5
+ ;6
+ ;7
+ ;8
+ ;9
+ ;:
+ ;;
+ ;<
+ ;=
+ ;>
+ ;?
+ ;@
+ ;A
+ ;B
+ ;C
+ ;D
+ ;E
+ ;F
+ ;G
+ ;H
+ ;I
+ ;J
+ ;K
+ ;L
+ ;M
+ ;N
+ ;O
+ ;P
+ ;Q
+ ;R
+ ;S
+ ;T
+ ;U
+ ;V
+ ;W
+ ;X
+ ;Y
+ ;Z
+ ;[
+ ;\
+ ;]
+ ;^
+ ;_
+ ;`
+ ;a
+ ;b
+ ;c
+ ;d
+ ;e
+ ;f
+ ;g
+ ;h
+ ;i
+ ;j
+ ;k
+ ;l
+ ;m
+ ;n
+ ;o
+ ;p
+ ;q
+ ;r
+ ;s
+ ;t
+ ;u
+ ;v
+ ;w
+ ;x
+ ;y
+ ;z
+ ;{
+ ;|
+ ;}
+ ;~
+ ;
+ ;€
+ ;
+ ;‚
+ ;ƒ
+ ;„
+ ;…
+ ;†
+ ;‡
+ ;ˆ
+ ;‰
+ ;Š
+ ;‹
+ ;Œ
+ ;
+ ;Ž
+ ;
+ ;
+ ;‘
+ ;’
+ ;“
+ ;”
+ ;•
+ ;–
+ ;—
+ ;˜
+ ;™
+ ;š
+ ;›
+ ;œ
+ ;
+ ;ž
+ ;Ÿ
+ ; 
+ ;¡
+ ;¢
+ ;£
+ ;¤
+ ;¥
+ ;¦
+ ;§
+ ;¨
+ ;©
+ ;ª
+ ;«
+ ;¬
+ ;­
+ ;®
+ ;¯
+ ;°
+ ;±
+ ;²
+ ;³
+ ;´
+ ;µ
+ ;¶
+ ;·
+ ;¸
+ ;¹
+ ;º
+ ;»
+ ;¼
+ ;½
+ ;¾
+ ;¿
+ ;À
+ ;Á
+ ;Â
+ ;Ã
+ ;Ä
+ ;Å
+ ;Æ
+ ;Ç
+ ;È
+ ;É
+ ;Ê
+ ;Ë
+ ;Ì
+ ;Í
+ ;Î
+ ;Ï
+ ;Ð
+ ;Ñ
+ ;Ò
+ ;Ó
+ ;Ô
+ ;Õ
+ ;Ö
+ ;×
+ ;Ø
+ ;Ù
+ ;Ú
+ ;Û
+ ;Ü
+ ;Ý
+ ;Þ
+ ;ß
+ ;à
+ ;á
+ ;â
+ ;ã
+ ;ä
+ ;å
+ ;æ
+ ;ç
+ ;è
+ ;é
+ ;ê
+ ;ë
+ ;ì
+ ;í
+ ;î
+ ;ï
+ ;ð
+ ;ñ
+ ;ò
+ ;ó
+ ;ô
+ ;õ
+ ;ö
+ ;÷
+ ;ø
+ ;ù
+ ;ú
+ ;û
+ ;ü
+ ;ý
+ ;þ
+ ;ÿ
+ ;
;
-
-
-
-
- ;
+ ;
+ ;
+
;
-
+;
;
;
;
@@ -5965,92 +7487,7 @@ $
;ÿ
;
;
-422222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////22///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
- ]
- ]
- ]
- ]
- ]
- ]
- ]
- ]
- ]
- ]
-!!! """]###
-$$$ %%%]&&&
-''' (((])))
-*** +++],,,
---- ...]///
-000 111]222
-333 444]555
-666 777]888
-999 :::];;;
-<<< ===]>>>
-??? @@@]AAA
-BBB CCC]DDD
-EEE FFF]GGG
-HHH III]JJJ
-KKK LLL]MMM
-NNN OOO]PPP
-QQQ RRR]SSS
-TTT UUU]VVV
-WWW XXX]YYY
-ZZZ [[[]\\\
-^^^ ___]```
-aaa bbb]ccc
-ddd eee]fff
-ggg hhh]iii
-jjj kkk]lll
-mmm nnn]ooo
-ppp qqq]rrr
-sss ttt]uuu
-vvv www]xxx
-yyy zzz]{{{
-||| }}}]~~~
- €€€]
-‚‚‚ ƒƒƒ]„„„
-……… †††]‡‡‡
-ˆˆˆ ‰‰‰]ŠŠŠ
-‹‹‹ ŒŒŒ]
-ŽŽŽ ]
-‘‘‘ ’’’]“““
-””” •••]–––
-——— ˜˜˜]™™™
-ššš ›››]œœœ
- žžž]ŸŸŸ
-    ¡¡¡]¢¢¢
-£££ ¤¤¤]¥¥¥
-¦¦¦ §§§]¨¨¨
-©©© ªªª]«««
-¬¬¬ ­­­]®®®
-¯¯¯ °°°]±±±
-²²² ³³³]´´´
-µµµ ¶¶¶]···
-¸¸¸ ¹¹¹]ººº
-»»» ¼¼¼]½½½
-¾¾¾ ¿¿¿]ÀÀÀ
-ÁÁÁ ÂÂÂ]ÃÃÃ
-ÄÄÄ ÅÅÅ]ÆÆÆ
-ÇÇÇ ÈÈÈ]ÉÉÉ
-ÊÊÊ ËËË]ÌÌÌ
-ÍÍÍ ÎÎÎ]ÏÏÏ
-ÐÐÐ ÑÑÑ]ÒÒÒ
-ÓÓÓ ÔÔÔ]ÕÕÕ
-ÖÖÖ ×××]ØØØ
-ÙÙÙ ÚÚÚ]ÛÛÛ
-ÜÜÜ ÝÝÝ]ÞÞÞ
-ßßß ààà]ááá
-âââ ããã]äää
-ååå æææ]ççç
-èèè ééé]êêê
-ëëë ììì]ííí
-îîî ïïï]ððð
-ñññ òòò]óóó
-ôôô õõõ]ööö
-÷÷÷ øøø]ùùù
-úúú ûûû]üüü
-ýýý þþþ]ÿÿÿ
-
+
 ]
 ]
 ]
@@ -6221,60 +7658,13 @@ y z]{
ú û]ü
ý þ]ÿ
- ]
-]
-]
-]
-]
+ ]
]
]
]
-]
+]
]
-]
-$
- "';]
- " ' ; ]
- "';]
- "';]
- "';!]#
-%!! &##"(%%')&&;*((]+))
-,** /++":,,'<--;=..]>//
-?00 @11"[22'^33;`44]{55
-|66 }77"~88'99;€::]<<
-‚== ƒ>>"„??'…@@;†AA]‡BB
-ˆCC ‰DD"ŠEE'‹FF;ŒGG]HH
-ŽII JJ"KK'‘LL;’MM]“NN
-”OO •PP"–QQ'—RR;˜SS]™TT
-šUU ›VV"œWW'XX;žYY]ŸZZ
- [[ ¡^^"¢__'£``;¤aa]¥bb
-¦cc §dd"¨ee'©ff;ªgg]«hh
-¬ii ­jj"®kk'¯ll;°mm]±nn
-²oo ³pp"´qq'µrr;¶ss]·tt
-¸uu ¹vv"ºww'»xx;¼yy]½zz
-¾{{ ¿||"À}}'Á~~;Â]À€
-Ä Å‚‚"ƃƒ'Ç„„;È……]Ɇ†
-ʇ‡ ˈˆ"̉‰'ÍŠŠ;΋‹]ÏŒŒ
-Ð ÑŽŽ"Ò'Ó;Ô‘‘]Õ’’
-Ö““ ×””"Ø••'Ù––;Ú——]Û˜˜
-Ü™™ Ýšš"Þ››'ßœœ;à]ážž
-⟟ 㠠"䡡'墢;棣]礤
-襥 馦"ꧧ'먨;ì©©]íªª
-î«« שּׁ"ð­­'ñ®®;ò¯¯]ó°°
-ô±± õ²²"ö³³'÷´´;øµµ]ù¶¶
-ú·· û¸¸"ü¹¹'ýºº;þ»»]ÿ¼¼
-
-ÃÃ ÄÄ"ÅÅ' ÆÆ; ÇÇ]ÈÈ
-ÉÉ ÊÊ"ËË'ÌÌ;ÍÍ]ÎÎ
-ÏÏ ÐÐ"ÑÑ'ÒÒ;ÓÓ]ÔÔ
-ÕÕ ÖÖ"××'ØØ;ÙÙ]!ÚÚ
-#ÛÛ %ÜÜ"&ÝÝ'(ÞÞ;)ßß]*àà
-+áá ,ââ"/ãã':ää;<åå]=ææ
->çç ?èè"@éé'[êê;^ëë]`ìì
-{íí |îî"}ïï'~ðð;ññ]€òò
-óó ‚ôô"ƒõõ'„öö;…÷÷]†øø
-‡ùù ˆúú"‰ûû'Šüü;‹ýý]Œþþ
-ÿÿ
+]
$
 "';]
 " ' ; ]
@@ -6349,21 +7739,25 @@ $
î ï"ð'ñ;ò]ó
ô õ"ö'÷;ø]ù
ú û"ü'ý;þ]ÿ
-
-$
-$
- ' ; ] " "
+
+$
' ; ]
;"$$
${$ $
$
$
-$
+$
+$
+$
+$
+$
+$
+$
+$
+$
$
$
-$
-$
-$
+$
$
'' '' '' '''''''''''''''''''''''''''''''''''''' ''!!''""''##''$$''%%''&&''((''))''**''++'',,''--''..''//''00''11''22''33''44''55''66''77''88''99''::'';;''<<''==''>>''??''@@''AA''BB''CC''DD''EE''FF''GG''HH''II''JJ''KK''LL''MM''NN''OO''PP''QQ''RR''SS''TT''UU''VV''WW''XX''YY''ZZ''[[''\\'']]''^^''__''``''aa''bb''cc''dd''ee''ff''gg''hh''ii''jj''kk''ll''mm''nn''oo''pp''qq''rr''ss''tt''uu''vv''ww''xx''yy''zz''{{''||''}}''~~''''€€''''‚‚''ƒƒ''„„''……''††''‡‡''ˆˆ''‰‰''ŠŠ''‹‹''ŒŒ''''ŽŽ''''''‘‘''’’''““''””''••''––''——''˜˜''™™''šš''››''œœ''''žž''ŸŸ''  ''¡¡''¢¢''££''¤¤''¥¥''¦¦''§§''¨¨''©©''ªª''««''¬¬''­­''®®''¯¯''°°''±±''²²''³³''´´''µµ''¶¶''··''¸¸''¹¹''ºº''»»''¼¼''½½''¾¾''¿¿''ÀÀ''ÁÁ''ÂÂ''ÃÃ''ÄÄ''ÅÅ''ÆÆ''ÇÇ''ÈÈ''ÉÉ''ÊÊ''ËË''ÌÌ''ÍÍ''ÎÎ''ÏÏ''ÐÐ''ÑÑ''ÒÒ''ÓÓ''ÔÔ''ÕÕ''ÖÖ''××''ØØ''ÙÙ''ÚÚ''ÛÛ''ÜÜ''ÝÝ''ÞÞ''ßß''àà''áá''ââ''ãã''ää''åå''ææ''çç''èè''éé''êê''ëë''ìì''íí''îî''ïï''ðð''ññ''òò''óó''ôô''õõ''öö''÷÷''øø''ùù''úú''ûû''üü''ýý''þþ''ÿÿ''
@@ -6377,29 +7771,14 @@ $
$
.1 .2".3'.4;.5].6
.7 .8".9'.
-. .".'.;.]0
+. .".'.;.]0
$
$
1. 2."3.'4.;5.]6.
-7. 8."9.'00
-$
-11 22"33'44;55]66
-77 88"99'0
+7. 8."9.'0
1 2"3'4;5]6
-7 8"9'A
-$
-$
-B1 C2"D3'E4;F5]G6
-H7 I8"J9'KA;LB]MC
-ND OE"PF'QG;RH]SI
-TJ UK"VL'WM;XN]YO
-ZP _Q"aR'bS;cT]dU
-eV fW"gX'hY;iZ]j_
-ka lb"mc'nd;oe]pf
-qg rh"si'tj;uk]vl
-wm xn"yo'zp;Aq]Br
-Cs Dt"Eu'Fv;Gw]Hx
-Iy Jz"A
+7 8"9'A
+$
B C"D'E;F]G
H I"J'K;L]M
N O"P'Q;R]S
@@ -6409,33 +7788,521 @@ e f"g'h;i]j
k l"m'n;o]p
q r"s't;u]v
w x"y'z;\
-$
-]
-]
-]
-]
+$
]
]
]
-]
+]
]
-]
-77%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-  !"& ' ();=^|~
-  !"&'();###=%%%^***|+++~,,,
-<// >00 ?11!@22"[33&\44']55(`66){77;}88=99^€::|<<~‚>>
-…AA †BB ‡CC!ˆDD"‰EE&ŠFF'‹GG(ŒHH)II;ŽJJ=KK^LL|‘MM~’NN
-•QQ –RR —SS!˜TT"™UU&šVV'›WW(œXX)YY;žZZ=Ÿ[[^ \\|¡]]~¢__
-¥bb ¦cc §dd!¨ee"©ff&ªgg'«hh(¬ii)­jj;®kk=¯ll^°mm|±nn~²oo
-µrr ¶ss ·tt!¸uu"¹vv&ºww'»xx(¼yy)½zz;¾{{=¿}}^À|Á€€~Â
-Å„„ Æ…… dž†!ȇ‡"Ɉˆ&ʉ‰'ËŠŠ(Ì‹‹)ÍŒŒ;Î=ÏŽŽ^Ð|Ñ~Ò‘‘
-Õ”” Ö•• ×––!Ø——"Ù˜˜&Ú™™'Ûšš(Ü››)Ýœœ;Þ=ßžž^àŸŸ|á  ~â¡¡
-夤 楥 禦!觧"騨&ê©©'몪(ì««)í¬¬;î­­=ï®®^ð¯¯|ñ°°~ò±±
-õ´´ öµµ ÷¶¶!ø··"ù¸¸&ú¹¹'ûºº(ü»»)ý¼¼;þ½½=ÿ¾¾^¿¿|ÀÀ~ÁÁ
-ÄÄ ÅÅ ÆÆ! ÇÇ" ÈÈ&ÉÉ'ÊÊ(ËË)ÌÌ;ÍÍ=ÎÎ^ÏÏ|ÐÐ~ÑÑ
-ÔÔ ÕÕ ÖÖ!××"ØØ&ÙÙ'ÚÚ(#ÛÛ)%ÜÜ;*ÝÝ=+ÞÞ^,ßß|/àà~:áá
-?ää @åå [ææ!\çç"]èè&`éé'{êê(}ëë)ìì;€íí=îî^‚ïï|ƒðð~„ññ
-‡ôô ˆõõ ‰öö!Š÷÷"‹øø&Œùù'úú(Žûû)üü;ýý=‘þþ^’ÿÿ|$\$
+]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
  !"& ' ();=^|~
  !"&'();##=%%^**|++~,,
</ >0 ?1!@2"[3&\4']5(`6){7;}8=9^€:|<~‚>
@@ -6450,7 +8317,7 @@ $
Ä Å Æ! Ç" È&É'Ê(Ë)Ì;Í=Î^Ï|Ð~Ñ
Ô Õ Ö!×"Ø&Ù'Ú(#Û)%Ü;*Ý=+Þ^,ß|/à~:á
?ä @å [æ!\ç"]è&`é'{ê(}ë)ì;€í=î^‚ï|ƒð~„ñ
-‡ô ˆõ ‰ö!Š÷"‹ø&Œù'ú(Žû)ü;ý=‘þ^’ÿ|$\$
+‡ô ˆõ ‰ö!Š÷"‹ø&Œù'ú(Žû)ü;ý=‘þ^’ÿ|$\$$
  !"& ' ();=^|~
  !"&'();#=%^*|+~,
< > ?!@"[&\'](`){;}=^€|~‚
@@ -6461,528 +8328,522 @@ $
Å Æ Ç!È"É&Ê'Ë(Ì)Í;Î=Ï^Ð|Ñ~Ò
Õ Ö ×!Ø"Ù&Ú'Û(Ü)Ý;Þ=ß^à|á~â
å æ ç!è"é&ê'ë(ì)í;î=ï^ð|ñ~ò
-õ ö ÷!ø"ù&ú'û(ü)ý;þ=ÿ^
-
-
-
-
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;!
- ;"
- ;#
- ;$
- ;%
- ;&
- ;'
- ;(
- ;)
- ;*
- ;+
- ;,
- ;-
- ;.
- ;/
- ;0
- ;1
- ;2
- ;3
- ;4
- ;5
- ;6
- ;7
- ;8
- ;9
- ;:
- ;;
- ;<
- ;=
- ;>
- ;?
- ;@
- ;A
- ;B
- ;C
- ;D
- ;E
- ;F
- ;G
- ;H
- ;I
- ;J
- ;K
- ;L
- ;M
- ;N
- ;O
- ;P
- ;Q
- ;R
- ;S
- ;T
- ;U
- ;V
- ;W
- ;X
- ;Y
- ;Z
- ;[
- ;\
- ;]
- ;^
- ;_
- ;`
- ;a
- ;b
- ;c
- ;d
- ;e
- ;f
- ;g
- ;h
- ;i
- ;j
- ;k
- ;l
- ;m
- ;n
- ;o
- ;p
- ;q
- ;r
- ;s
- ;t
- ;u
- ;v
- ;w
- ;x
- ;y
- ;z
- ;{
- ;|
- ;}
- ;~
- ;
- ;€
- ;
- ;‚
- ;ƒ
- ;„
- ;…
- ;†
- ;‡
- ;ˆ
- ;‰
- ;Š
- ;‹
- ;Œ
- ;
- ;Ž
- ;
- ;
- ;‘
- ;’
- ;“
- ;”
- ;•
- ;–
- ;—
- ;˜
- ;™
- ;š
- ;›
- ;œ
- ;
- ;ž
- ;Ÿ
- ; 
- ;¡
- ;¢
- ;£
- ;¤
- ;¥
- ;¦
- ;§
- ;¨
- ;©
- ;ª
- ;«
- ;¬
- ;­
- ;®
- ;¯
- ;°
- ;±
- ;²
- ;³
- ;´
- ;µ
- ;¶
- ;·
- ;¸
- ;¹
- ;º
- ;»
- ;¼
- ;½
- ;¾
- ;¿
- ;À
- ;Á
- ;Â
- ;Ã
- ;Ä
- ;Å
- ;Æ
- ;Ç
- ;È
- ;É
- ;Ê
- ;Ë
- ;Ì
- ;Í
- ;Î
- ;Ï
- ;Ð
- ;Ñ
- ;Ò
- ;Ó
- ;Ô
- ;Õ
- ;Ö
- ;×
- ;Ø
- ;Ù
- ;Ú
- ;Û
- ;Ü
- ;Ý
- ;Þ
- ;ß
- ;à
- ;á
- ;â
- ;ã
- ;ä
- ;å
- ;æ
- ;ç
- ;è
- ;é
- ;ê
- ;ë
- ;ì
- ;í
- ;î
- ;ï
- ;ð
- ;ñ
- ;ò
- ;ó
- ;ô
- ;õ
- ;ö
- ;÷
- ;ø
- ;ù
- ;ú
- ;û
- ;ü
- ;ý
- ;þ
- ;ÿ
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;
- ;!
- ;"
- ;#
- ;$
- ;%
- ;&
- ;'
- ;(
- ;)
- ;*
- ;+
- ;,
- ;-
- ;.
- ;/
- ;0
- ;1
- ;2
- ;3
- ;4
- ;5
- ;6
- ;7
- ;8
- ;9
- ;:
- ;;
- ;<
- ;=
- ;>
- ;?
- ;@
- ;A
- ;B
- ;C
- ;D
- ;E
- ;F
- ;G
- ;H
- ;I
- ;J
- ;K
- ;L
- ;M
- ;N
- ;O
- ;P
- ;Q
- ;R
- ;S
- ;T
- ;U
- ;V
- ;W
- ;X
- ;Y
- ;Z
- ;[
- ;\
- ;]
- ;^
- ;_
- ;`
- ;a
- ;b
- ;c
- ;d
- ;e
- ;f
- ;g
- ;h
- ;i
- ;j
- ;k
- ;l
- ;m
- ;n
- ;o
- ;p
- ;q
- ;r
- ;s
- ;t
- ;u
- ;v
- ;w
- ;x
- ;y
- ;z
- ;{
- ;|
- ;}
- ;~
- ;
- ;€
- ;
- ;‚
- ;ƒ
- ;„
- ;…
- ;†
- ;‡
- ;ˆ
- ;‰
- ;Š
- ;‹
- ;Œ
- ;
- ;Ž
- ;
- ;
- ;‘
- ;’
- ;“
- ;”
- ;•
- ;–
- ;—
- ;˜
- ;™
- ;š
- ;›
- ;œ
- ;
- ;ž
- ;Ÿ
- ; 
- ;¡
- ;¢
- ;£
- ;¤
- ;¥
- ;¦
- ;§
- ;¨
- ;©
- ;ª
- ;«
- ;¬
- ;­
- ;®
- ;¯
- ;°
- ;±
- ;²
- ;³
- ;´
- ;µ
- ;¶
- ;·
- ;¸
- ;¹
- ;º
- ;»
- ;¼
- ;½
- ;¾
- ;¿
- ;À
- ;Á
- ;Â
- ;Ã
- ;Ä
- ;Å
- ;Æ
- ;Ç
- ;È
- ;É
- ;Ê
- ;Ë
- ;Ì
- ;Í
- ;Î
- ;Ï
- ;Ð
- ;Ñ
- ;Ò
- ;Ó
- ;Ô
- ;Õ
- ;Ö
- ;×
- ;Ø
- ;Ù
- ;Ú
- ;Û
- ;Ü
- ;Ý
- ;Þ
- ;ß
- ;à
- ;á
- ;â
- ;ã
- ;ä
- ;å
- ;æ
- ;ç
- ;è
- ;é
- ;ê
- ;ë
- ;ì
- ;í
- ;î
- ;ï
- ;ð
- ;ñ
- ;ò
- ;ó
- ;ô
- ;õ
- ;ö
- ;÷
- ;ø
- ;ù
- ;ú
- ;û
- ;ü
- ;ý
- ;þ
- ;ÿ
- ;
- ;
- ;
- ;
-
+õ ö ÷!ø"ù&ú'û(ü)ý;þ=ÿ^
- " " ;
+
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;!
+ ;"
+ ;#
+ ;$
+ ;%
+ ;&
+ ;'
+ ;(
+ ;)
+ ;*
+ ;+
+ ;,
+ ;-
+ ;.
+ ;/
+ ;0
+ ;1
+ ;2
+ ;3
+ ;4
+ ;5
+ ;6
+ ;7
+ ;8
+ ;9
+ ;:
+ ;;
+ ;<
+ ;=
+ ;>
+ ;?
+ ;@
+ ;A
+ ;B
+ ;C
+ ;D
+ ;E
+ ;F
+ ;G
+ ;H
+ ;I
+ ;J
+ ;K
+ ;L
+ ;M
+ ;N
+ ;O
+ ;P
+ ;Q
+ ;R
+ ;S
+ ;T
+ ;U
+ ;V
+ ;W
+ ;X
+ ;Y
+ ;Z
+ ;[
+ ;\
+ ;]
+ ;^
+ ;_
+ ;`
+ ;a
+ ;b
+ ;c
+ ;d
+ ;e
+ ;f
+ ;g
+ ;h
+ ;i
+ ;j
+ ;k
+ ;l
+ ;m
+ ;n
+ ;o
+ ;p
+ ;q
+ ;r
+ ;s
+ ;t
+ ;u
+ ;v
+ ;w
+ ;x
+ ;y
+ ;z
+ ;{
+ ;|
+ ;}
+ ;~
+ ;
+ ;€
+ ;
+ ;‚
+ ;ƒ
+ ;„
+ ;…
+ ;†
+ ;‡
+ ;ˆ
+ ;‰
+ ;Š
+ ;‹
+ ;Œ
+ ;
+ ;Ž
+ ;
+ ;
+ ;‘
+ ;’
+ ;“
+ ;”
+ ;•
+ ;–
+ ;—
+ ;˜
+ ;™
+ ;š
+ ;›
+ ;œ
+ ;
+ ;ž
+ ;Ÿ
+ ; 
+ ;¡
+ ;¢
+ ;£
+ ;¤
+ ;¥
+ ;¦
+ ;§
+ ;¨
+ ;©
+ ;ª
+ ;«
+ ;¬
+ ;­
+ ;®
+ ;¯
+ ;°
+ ;±
+ ;²
+ ;³
+ ;´
+ ;µ
+ ;¶
+ ;·
+ ;¸
+ ;¹
+ ;º
+ ;»
+ ;¼
+ ;½
+ ;¾
+ ;¿
+ ;À
+ ;Á
+ ;Â
+ ;Ã
+ ;Ä
+ ;Å
+ ;Æ
+ ;Ç
+ ;È
+ ;É
+ ;Ê
+ ;Ë
+ ;Ì
+ ;Í
+ ;Î
+ ;Ï
+ ;Ð
+ ;Ñ
+ ;Ò
+ ;Ó
+ ;Ô
+ ;Õ
+ ;Ö
+ ;×
+ ;Ø
+ ;Ù
+ ;Ú
+ ;Û
+ ;Ü
+ ;Ý
+ ;Þ
+ ;ß
+ ;à
+ ;á
+ ;â
+ ;ã
+ ;ä
+ ;å
+ ;æ
+ ;ç
+ ;è
+ ;é
+ ;ê
+ ;ë
+ ;ì
+ ;í
+ ;î
+ ;ï
+ ;ð
+ ;ñ
+ ;ò
+ ;ó
+ ;ô
+ ;õ
+ ;ö
+ ;÷
+ ;ø
+ ;ù
+ ;ú
+ ;û
+ ;ü
+ ;ý
+ ;þ
+ ;ÿ
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;
+ ;!
+ ;"
+ ;#
+ ;$
+ ;%
+ ;&
+ ;'
+ ;(
+ ;)
+ ;*
+ ;+
+ ;,
+ ;-
+ ;.
+ ;/
+ ;0
+ ;1
+ ;2
+ ;3
+ ;4
+ ;5
+ ;6
+ ;7
+ ;8
+ ;9
+ ;:
+ ;;
+ ;<
+ ;=
+ ;>
+ ;?
+ ;@
+ ;A
+ ;B
+ ;C
+ ;D
+ ;E
+ ;F
+ ;G
+ ;H
+ ;I
+ ;J
+ ;K
+ ;L
+ ;M
+ ;N
+ ;O
+ ;P
+ ;Q
+ ;R
+ ;S
+ ;T
+ ;U
+ ;V
+ ;W
+ ;X
+ ;Y
+ ;Z
+ ;[
+ ;\
+ ;]
+ ;^
+ ;_
+ ;`
+ ;a
+ ;b
+ ;c
+ ;d
+ ;e
+ ;f
+ ;g
+ ;h
+ ;i
+ ;j
+ ;k
+ ;l
+ ;m
+ ;n
+ ;o
+ ;p
+ ;q
+ ;r
+ ;s
+ ;t
+ ;u
+ ;v
+ ;w
+ ;x
+ ;y
+ ;z
+ ;{
+ ;|
+ ;}
+ ;~
+ ;
+ ;€
+ ;
+ ;‚
+ ;ƒ
+ ;„
+ ;…
+ ;†
+ ;‡
+ ;ˆ
+ ;‰
+ ;Š
+ ;‹
+ ;Œ
+ ;
+ ;Ž
+ ;
+ ;
+ ;‘
+ ;’
+ ;“
+ ;”
+ ;•
+ ;–
+ ;—
+ ;˜
+ ;™
+ ;š
+ ;›
+ ;œ
+ ;
+ ;ž
+ ;Ÿ
+ ; 
+ ;¡
+ ;¢
+ ;£
+ ;¤
+ ;¥
+ ;¦
+ ;§
+ ;¨
+ ;©
+ ;ª
+ ;«
+ ;¬
+ ;­
+ ;®
+ ;¯
+ ;°
+ ;±
+ ;²
+ ;³
+ ;´
+ ;µ
+ ;¶
+ ;·
+ ;¸
+ ;¹
+ ;º
+ ;»
+ ;¼
+ ;½
+ ;¾
+ ;¿
+ ;À
+ ;Á
+ ;Â
+ ;Ã
+ ;Ä
+ ;Å
+ ;Æ
+ ;Ç
+ ;È
+ ;É
+ ;Ê
+ ;Ë
+ ;Ì
+ ;Í
+ ;Î
+ ;Ï
+ ;Ð
+ ;Ñ
+ ;Ò
+ ;Ó
+ ;Ô
+ ;Õ
+ ;Ö
+ ;×
+ ;Ø
+ ;Ù
+ ;Ú
+ ;Û
+ ;Ü
+ ;Ý
+ ;Þ
+ ;ß
+ ;à
+ ;á
+ ;â
+ ;ã
+ ;ä
+ ;å
+ ;æ
+ ;ç
+ ;è
+ ;é
+ ;ê
+ ;ë
+ ;ì
+ ;í
+ ;î
+ ;ï
+ ;ð
+ ;ñ
+ ;ò
+ ;ó
+ ;ô
+ ;õ
+ ;ö
+ ;÷
+ ;ø
+ ;ù
+ ;ú
+ ;û
+ ;ü
+ ;ý
+ ;þ
+ ;ÿ
+ ;
;
+ ;
+ ;
@@ -6991,20 +8852,18 @@ $
;
-
-) ^ | ~ ! & ( ) ^ | ~ ! & ( ) ^ | ~ ! & ( ) !^ "| #~ $! %& &( ') (^ )| *~ +! ,& -( .) /^ 0| 1~ 2! 3& 4( 5) 6^ 7| 8~ 9! :& ;( <) =^ >| ?~ @! A& B( C) D^ E| F~ G! H& I( J) K^ L| M~ N! O& P( Q) R^ S| T~ U! V& W( X) Y^ Z| [~ \! ]& ^( _) `^ a| b~ c! d& e( f) g^ h| i~ j! k& l( m) n^ o| p~ q! r& s( t) u^ v| w~ x! y& z( {) |^ }| ~~ ! €& ( ‚) ƒ^ „| …~ †! ‡& ˆ( ‰) Š^ ‹| Œ~ ! Ž& ( ) ‘^ ’| “~ ”! •& –( —) ˜^ ™| š~ ›! œ& ( ž) Ÿ^  | ¡~ ¢! £& ¤( ¥) ¦^ §| ¨~ ©! ª& «( ¬) ­^ ®| ¯~ °! ±& ²( ³) ´^ µ| ¶~ ·! ¸& ¹( º) »^ ¼| ½~ ¾! ¿& À( Á) Â^ Ã| Ä~ Å! Æ& Ç( È) É^ Ê| Ë~ Ì! Í& Î( Ï) Ð^ Ñ| Ò~ Ó! Ô& Õ( Ö) ×^ Ø| Ù~ Ú! Û& Ü( Ý) Þ^ ß| à~ á! â& ã( ä) å^ æ| ç~ è! é& ê( ë) ì^ í| î~ ï! ð& ñ( ò) ó^ ô| õ~ ö! ÷& ø( ù) ú^ û| ü~ ý! þ& ÿ!
+!
) ^ | ~ ! & ( ) ^ | ~ ! & ( ) ^ | ~ ! & ( ) !^ "| #~ $! %& &( ') (^ )| *~ +! ,& -( .) /^ 0| 1~ 2! 3& 4( 5) 6^ 7| 8~ 9! :& ;( <) =^ >| ?~ @! A& B( C) D^ E| F~ G! H& I( J) K^ L| M~ N! O& P( Q) R^ S| T~ U! V& W( X) Y^ Z| [~ \! ]& ^( _) `^ a| b~ c! d& e( f) g^ h| i~ j! k& l( m) n^ o| p~ q! r& s( t) u^ v| w~ x! y& z( {) |^ }| ~~ ! €& ( ‚) ƒ^ „| …~ †! ‡& ˆ( ‰) Š^ ‹| Œ~ ! Ž& ( ) ‘^ ’| “~ ”! •& –( —) ˜^ ™| š~ ›! œ& ( ž) Ÿ^  | ¡~ ¢! £& ¤( ¥) ¦^ §| ¨~ ©! ª& «( ¬) ­^ ®| ¯~ °! ±& ²( ³) ´^ µ| ¶~ ·! ¸& ¹( º) »^ ¼| ½~ ¾! ¿& À( Á) Â^ Ã| Ä~ Å! Æ& Ç( È) É^ Ê| Ë~ Ì! Í& Î( Ï) Ð^ Ñ| Ò~ Ó! Ô& Õ( Ö) ×^ Ø| Ù~ Ú! Û& Ü( Ý) Þ^ ß| à~ á! â& ã( ä) å^ æ| ç~ è! é& ê( ë) ì^ í| î~ ï! ð& ñ( ò) ó^ ô| õ~ ö! ÷& ø( ù) ú^ û| ü~ ý! þ& ÿ!
-) ^ | ~!&()^|~!&()^|~!&()!^"|#~$!%&&(')(^)|*~+!,&-(.)/^0|1~2!3&4(5)6^7|8~9!:&;(<)=^>|?~@!A&B(C)D^E|F~G!H&I(J)K^L|M~N!O&P(Q)R^S|T~U!V&W(X)Y^Z|[~\!]&^(_)`^a|b~c!d&e(f)g^h|i~j!k&l(m)n^o|p~q!r&s(t)u^v|w~x!y&z({)|^}|~~!€&(‚)ƒ^„|…~†!‡&ˆ(‰)Š^‹|Œ~!Ž&()‘^’|“~”!•&–(—)˜^™|š~›!œ&(ž)Ÿ^ |¡~¢!£&¤(¥)¦^§|¨~©!ª&«(¬)­^®|¯~°!±&²(³)´^µ|¶~·!¸&¹(º)»^¼|½~¾!¿&À(Á)Â^Ã|Ä~Å!Æ&Ç(È)É^Ê|Ë~Ì!Í&Î(Ï)Ð^Ñ|Ò~Ó!Ô&Õ(Ö)×^Ø|Ù~Ú!Û&Ü(Ý)Þ^ß|à~á!â&ã(ä)å^æ|ç~è!é&ê(ë)ì^í|î~ï!ð&ñ(ò)ó^ô|õ~ö!÷&ø(ù)ú^û|ü~ý!þ&ÿ"$$\$
-$\$
+) ^ | ~!&()^|~!&()^|~!&()!^"|#~$!%&&(')(^)|*~+!,&-(.)/^0|1~2!3&4(5)6^7|8~9!:&;(<)=^>|?~@!A&B(C)D^E|F~G!H&I(J)K^L|M~N!O&P(Q)R^S|T~U!V&W(X)Y^Z|[~\!]&^(_)`^a|b~c!d&e(f)g^h|i~j!k&l(m)n^o|p~q!r&s(t)u^v|w~x!y&z({)|^}|~~!€&(‚)ƒ^„|…~†!‡&ˆ(‰)Š^‹|Œ~!Ž&()‘^’|“~”!•&–(—)˜^™|š~›!œ&(ž)Ÿ^ |¡~¢!£&¤(¥)¦^§|¨~©!ª&«(¬)­^®|¯~°!±&²(³)´^µ|¶~·!¸&¹(º)»^¼|½~¾!¿&À(Á)Â^Ã|Ä~Å!Æ&Ç(È)É^Ê|Ë~Ì!Í&Î(Ï)Ð^Ñ|Ò~Ó!Ô&Õ(Ö)×^Ø|Ù~Ú!Û&Ü(Ý)Þ^ß|à~á!â&ã(ä)å^æ|ç~è!é&ê(ë)ì^í|î~ï!ð&ñ(ò)ó^ô|õ~ö!÷&ø(ù)ú^û|ü~ý!þ&ÿ"$$\$$
+$\$$
'' '' '' '''''''''''''''''''''''''''''''''''''' ''!!''""''##''$$''%%''&&''((''))''**''++'',,''--''..''//''00''11''22''33''44''55''66''77''88''99''::'';;''<<''==''>>''??''@@''AA''BB''CC''DD''EE''FF''GG''HH''II''JJ''KK''LL''MM''NN''OO''PP''QQ''RR''SS''TT''UU''VV''WW''XX''YY''ZZ''[[''\\'']]''^^''__''``''aa''bb''cc''dd''ee''ff''gg''hh''ii''jj''kk''ll''mm''nn''oo''pp''qq''rr''ss''tt''uu''vv''ww''xx''yy''zz''{{''||''}}''~~''''€€''''‚‚''ƒƒ''„„''……''††''‡‡''ˆˆ''‰‰''ŠŠ''‹‹''ŒŒ''''ŽŽ''''''‘‘''’’''““''””''••''––''——''˜˜''™™''šš''››''œœ''''žž''ŸŸ''  ''¡¡''¢¢''££''¤¤''¥¥''¦¦''§§''¨¨''©©''ªª''««''¬¬''­­''®®''¯¯''°°''±±''²²''³³''´´''µµ''¶¶''··''¸¸''¹¹''ºº''»»''¼¼''½½''¾¾''¿¿''ÀÀ''ÁÁ''ÂÂ''ÃÃ''ÄÄ''ÅÅ''ÆÆ''ÇÇ''ÈÈ''ÉÉ''ÊÊ''ËË''ÌÌ''ÍÍ''ÎÎ''ÏÏ''ÐÐ''ÑÑ''ÒÒ''ÓÓ''ÔÔ''ÕÕ''ÖÖ''××''ØØ''ÙÙ''ÚÚ''ÛÛ''ÜÜ''ÝÝ''ÞÞ''ßß''àà''áá''ââ''ãã''ää''åå''ææ''çç''èè''éé''êê''ëë''ìì''íí''îî''ïï''ðð''ññ''òò''óó''ôô''õõ''öö''÷÷''øø''ùù''úú''ûû''üü''ýý''þþ''ÿÿ''
-'' '' '' '''''''''''''''''''''''''''''''''''''' ''!''"''#''$''%''&''('')''*''+'',''-''.''/''0''1''2''3''4''5''6''7''8''9'':'';''<''=''>''?''@''A''B''C''D''E''F''G''H''I''J''K''L''M''N''O''P''Q''R''S''T''U''V''W''X''Y''Z''[''\'']''^''_''`''a''b''c''d''e''f''g''h''i''j''k''l''m''n''o''p''q''r''s''t''u''v''w''x''y''z''{''|''}''~''''€''''‚''ƒ''„''…''†''‡''ˆ''‰''Š''‹''Œ''''Ž''''''‘''’''“''”''•''–''—''˜''™''š''›''œ''''ž''Ÿ'' ''¡''¢''£''¤''¥''¦''§''¨''©''ª''«''¬''­''®''¯''°''±''²''³''´''µ''¶''·''¸''¹''º''»''¼''½''¾''¿''À''Á''Â''Ã''Ä''Å''Æ''Ç''È''É''Ê''Ë''Ì''Í''Î''Ï''Ð''Ñ''Ò''Ó''Ô''Õ''Ö''×''Ø''Ù''Ú''Û''Ü''Ý''Þ''ß''à''á''â''ã''ä''å''æ''ç''è''é''ê''ë''ì''í''î''ï''ð''ñ''ò''ó''ô''õ''ö''÷''ø''ù''ú''û''ü''ý''þ''ÿ'''-$\$
+'' '' '' '''''''''''''''''''''''''''''''''''''' ''!''"''#''$''%''&''('')''*''+'',''-''.''/''0''1''2''3''4''5''6''7''8''9'':'';''<''=''>''?''@''A''B''C''D''E''F''G''H''I''J''K''L''M''N''O''P''Q''R''S''T''U''V''W''X''Y''Z''[''\'']''^''_''`''a''b''c''d''e''f''g''h''i''j''k''l''m''n''o''p''q''r''s''t''u''v''w''x''y''z''{''|''}''~''''€''''‚''ƒ''„''…''†''‡''ˆ''‰''Š''‹''Œ''''Ž''''''‘''’''“''”''•''–''—''˜''™''š''›''œ''''ž''Ÿ'' ''¡''¢''£''¤''¥''¦''§''¨''©''ª''«''¬''­''®''¯''°''±''²''³''´''µ''¶''·''¸''¹''º''»''¼''½''¾''¿''À''Á''Â''Ã''Ä''Å''Æ''Ç''È''É''Ê''Ë''Ì''Í''Î''Ï''Ð''Ñ''Ò''Ó''Ô''Õ''Ö''×''Ø''Ù''Ú''Û''Ü''Ý''Þ''ß''à''á''â''ã''ä''å''æ''ç''è''é''ê''ë''ì''í''î''ï''ð''ñ''ò''ó''ô''õ''ö''÷''ø''ù''ú''û''ü''ý''þ''ÿ'''-$\$$
-3 -4 -5!-6"-7&-8'-9(-0)-1;-2=-3^-4|-5~-
-- - -!-"-&-'-(-)-;-=-^-|-~.$\$
+- - -!-"-&-'-(-)-;-=-^-|-~.$\$$
.3 .4 .5!.6".7&.8'.9(.0).1;.2=.3^.4|.5~.
-. . .!.".&.'.(.).;.=.^.|.~0$\$
-3. 4. 5.!6."7.&8.'9.(0.)1.;2.=3.^4.|5.~00$\$
-33 44 55!66"77&88'99(00)11;22=33^44|55~0
+. . .!.".&.'.(.).;.=.^.|.~0$\$$
+3. 4. 5.!6."7.&8.'9.(0.)1.;2.=3.^4.|5.~0
3 4 5!6"7&8'9(0)1;2=3^4|5~;
;
;
@@ -7261,758 +9120,14197 @@ $\$
;ÿ
;
;
-=A$\$
-D3 E4 G5!H6"I7&J8'K9(LA)MB;PC=QD^RE|SF~UG
-XJ ZK _L!aM"bN&cO'dP(eQ)gR;hS=iT^jU|kV~lW
-qZ r_ sa!ub"vc&wd'xe(zf)Ag;Bh=Ci^Dj|Ek~Gl
-Jo Kp Lq!Mr"Ps&Qt'Ru(Sv)Uw;Vx=Wy^Xz|A
+=A$\$$
D E G!H"I&J'K(L)M;P=Q^R|S~U
X Z _!a"b&c'd(e)g;h=i^j|k~l
-q r s!u"v&w'x(z)F$\$
+q r s!u"v&w'x(z)F$\$$
FALSE false FALSE false FALSE false FALSE false FALSE false FALSE false FALSE false FALSE false FALSE false FALSE false FALSE false !FALSE "false #FALSE $false %FALSE &false 'FALSE (false )FALSE *false +FALSE ,false -FALSE .false /FALSE 0false 1FALSE 2false 3FALSE 4false 5FALSE 6false 7FALSE 8false 9FALSE :false ;FALSE <false =FALSE >false ?FALSE @false AFALSE Bfalse CFALSE Dfalse EFALSE Ffalse GFALSE Hfalse IFALSE Jfalse KFALSE Lfalse MFALSE Nfalse OFALSE Pfalse QFALSE Rfalse SFALSE Tfalse UFALSE Vfalse WFALSE Xfalse YFALSE Zfalse [FALSE \false ]FALSE ^false _FALSE `false aFALSE bfalse cFALSE dfalse eFALSE ffalse gFALSE hfalse iFALSE jfalse kFALSE lfalse mFALSE nfalse oFALSE pfalse qFALSE rfalse sFALSE tfalse uFALSE vfalse wFALSE xfalse yFALSE zfalse {FALSE |false }FALSE ~false FALSE €false FALSE ‚false ƒFALSE „false …FALSE †false ‡FALSE ˆfalse ‰FALSE Šfalse ‹FALSE Œfalse FALSE Žfalse FALSE false ‘FALSE ’false “FALSE ”false •FALSE –false —FALSE ˜false ™FALSE šfalse ›FALSE œfalse FALSE žfalse ŸFALSE  false ¡FALSE ¢false £FALSE ¤false ¥FALSE ¦false §FALSE ¨false ©FALSE ªfalse «FALSE ¬false ­FALSE ®false ¯FALSE °false ±FALSE ²false ³FALSE ´false µFALSE ¶false ·FALSE ¸false ¹FALSE ºfalse »FALSE ¼false ½FALSE ¾false ¿FALSE Àfalse ÁFALSE Âfalse ÃFALSE Äfalse ÅFALSE Æfalse ÇFALSE Èfalse ÉFALSE Êfalse ËFALSE Ìfalse ÍFALSE Îfalse ÏFALSE Ðfalse ÑFALSE Òfalse ÓFALSE Ôfalse ÕFALSE Öfalse ×FALSE Øfalse ÙFALSE Úfalse ÛFALSE Üfalse ÝFALSE Þfalse ßFALSE àfalse áFALSE âfalse ãFALSE äfalse åFALSE æfalse çFALSE èfalse éFALSE êfalse ëFALSE ìfalse íFALSE îfalse ïFALSE ðfalse ñFALSE òfalse óFALSE ôfalse õFALSE öfalse ÷FALSE øfalse ùFALSE úfalse ûFALSE üfalse ýFALSE þfalse ÿFALSE
FALSE false FALSE false FALSE false FALSE false FALSE false FALSE false FALSE false FALSE false FALSE false FALSE false FALSE false !FALSE "false #FALSE $false %FALSE &false 'FALSE (false )FALSE *false +FALSE ,false -FALSE .false /FALSE 0false 1FALSE 2false 3FALSE 4false 5FALSE 6false 7FALSE 8false 9FALSE :false ;FALSE <false =FALSE >false ?FALSE @false AFALSE Bfalse CFALSE Dfalse EFALSE Ffalse GFALSE Hfalse IFALSE Jfalse KFALSE Lfalse MFALSE Nfalse OFALSE Pfalse QFALSE Rfalse SFALSE Tfalse UFALSE Vfalse WFALSE Xfalse YFALSE Zfalse [FALSE \false ]FALSE ^false _FALSE `false aFALSE bfalse cFALSE dfalse eFALSE ffalse gFALSE hfalse iFALSE jfalse kFALSE lfalse mFALSE nfalse oFALSE pfalse qFALSE rfalse sFALSE tfalse uFALSE vfalse wFALSE xfalse yFALSE zfalse {FALSE |false }FALSE ~false FALSE €false FALSE ‚false ƒFALSE „false …FALSE †false ‡FALSE ˆfalse ‰FALSE Šfalse ‹FALSE Œfalse FALSE Žfalse FALSE false ‘FALSE ’false “FALSE ”false •FALSE –false —FALSE ˜false ™FALSE šfalse ›FALSE œfalse FALSE žfalse ŸFALSE  false ¡FALSE ¢false £FALSE ¤false ¥FALSE ¦false §FALSE ¨false ©FALSE ªfalse «FALSE ¬false ­FALSE ®false ¯FALSE °false ±FALSE ²false ³FALSE ´false µFALSE ¶false ·FALSE ¸false ¹FALSE ºfalse »FALSE ¼false ½FALSE ¾false ¿FALSE Àfalse ÁFALSE Âfalse ÃFALSE Äfalse ÅFALSE Æfalse ÇFALSE Èfalse ÉFALSE Êfalse ËFALSE Ìfalse ÍFALSE Îfalse ÏFALSE Ðfalse ÑFALSE Òfalse ÓFALSE Ôfalse ÕFALSE Öfalse ×FALSE Øfalse ÙFALSE Úfalse ÛFALSE Üfalse ÝFALSE Þfalse ßFALSE àfalse áFALSE âfalse ãFALSE äfalse åFALSE æfalse çFALSE èfalse éFALSE êfalse ëFALSE ìfalse íFALSE îfalse ïFALSE ðfalse ñFALSE òfalse óFALSE ôfalse õFALSE öfalse ÷FALSE øfalse ùFALSE úfalse ûFALSE üfalse ýFALSE þfalse ÿFALSE
FALSE false!FALSE"false&FALSE'false(FALSE)false;FALSE=false^FALSE|false~FALS
fals FALS fals!FALS"fals&FALS'fals(FALS)fals;FALS=fals^FALS|fals~FAL
fal FAL fal!FAL"fal&FAL'fal(FAL)fal;FAL=fal^FAL|fal~FA
fa FA fa!FA"fa&FA'fa(FA)fa;FA=fa^FA|fa~F
-f F f!F"f&F'f(F)f;F=f^F|f~N$\$
-NO no NO no NO no NO no NO no NO no NO no NO no NO no NO no NO no !NO "no #NO $no %NO &no 'NO (no )NO *no +NO ,no -NO .no /NO 0no 1NO 2no 3NO 4no 5NO 6no 7NO 8no 9NO :no ;NO <no =NO >no ?NO @no ANO Bno CNO Dno ENO Fno GNO Hno INO Jno KNO Lno MNO Nno ONO Pno QNO Rno SNO Tno UNO Vno WNO Xno YNO Zno [NO \no ]NO ^no _NO `no aNO bno cNO dno eNO fno gNO hno iNO jno kNO lno mNO nno oNO pno qNO rno sNO tno uNO vno wNO xno yNO zno {NO |no }NO ~no NO €no NO ‚no ƒNO „no …NO †no ‡NO ˆno ‰NO Šno ‹NO Œno NO Žno NO no ‘NO ’no “NO ”no •NO –no —NO ˜no ™NO šno ›NO œno NO žno ŸNO  no ¡NO ¢no £NO ¤no ¥NO ¦no §NO ¨no ©NO ªno «NO ¬no ­NO ®no ¯NO °no ±NO ²no ³NO ´no µNO ¶no ·NO ¸no ¹NO ºno »NO ¼no ½NO ¾no ¿NO Àno ÁNO Âno ÃNO Äno ÅNO Æno ÇNO Èno ÉNO Êno ËNO Ìno ÍNO Îno ÏNO Ðno ÑNO Òno ÓNO Ôno ÕNO Öno ×NO Øno ÙNO Úno ÛNO Üno ÝNO Þno ßNO àno áNO âno ãNO äno åNO æno çNO èno éNO êno ëNO ìno íNO îno ïNO ðno ñNO òno óNO ôno õNO öno ÷NO øno ùNO úno ûNO üno ýNO þno ÿNON$\$
+f F f!F"f&F'f(F)f;F=f^F|f~N$\$$
+NO no NO no NO no NO no NO no NO no NO no NO no NO no NO no NO no !NO "no #NO $no %NO &no 'NO (no )NO *no +NO ,no -NO .no /NO 0no 1NO 2no 3NO 4no 5NO 6no 7NO 8no 9NO :no ;NO <no =NO >no ?NO @no ANO Bno CNO Dno ENO Fno GNO Hno INO Jno KNO Lno MNO Nno ONO Pno QNO Rno SNO Tno UNO Vno WNO Xno YNO Zno [NO \no ]NO ^no _NO `no aNO bno cNO dno eNO fno gNO hno iNO jno kNO lno mNO nno oNO pno qNO rno sNO tno uNO vno wNO xno yNO zno {NO |no }NO ~no NO €no NO ‚no ƒNO „no …NO †no ‡NO ˆno ‰NO Šno ‹NO Œno NO Žno NO no ‘NO ’no “NO ”no •NO –no —NO ˜no ™NO šno ›NO œno NO žno ŸNO  no ¡NO ¢no £NO ¤no ¥NO ¦no §NO ¨no ©NO ªno «NO ¬no ­NO ®no ¯NO °no ±NO ²no ³NO ´no µNO ¶no ·NO ¸no ¹NO ºno »NO ¼no ½NO ¾no ¿NO Àno ÁNO Âno ÃNO Äno ÅNO Æno ÇNO Èno ÉNO Êno ËNO Ìno ÍNO Îno ÏNO Ðno ÑNO Òno ÓNO Ôno ÕNO Öno ×NO Øno ÙNO Úno ÛNO Üno ÝNO Þno ßNO àno áNO âno ãNO äno åNO æno çNO èno éNO êno ëNO ìno íNO îno ïNO ðno ñNO òno óNO ôno õNO öno ÷NO øno ùNO úno ûNO üno ýNO þno ÿNON$\$$
non NON non!NON"non&NON'non(NON)non;NON=non^NON|non~NO
-NO no!NO"no&NO'no(NO)no;NO=no^NO|no~NU$\$
+NO no!NO"no&NO'no(NO)no;NO=no^NO|no~NU$\$$
NULL null NULL null NULL null NULL null NULL null NULL null NULL null NULL null NULL null NULL null NULL null !NULL "null #NULL $null %NULL &null 'NULL (null )NULL *null +NULL ,null -NULL .null /NULL 0null 1NULL 2null 3NULL 4null 5NULL 6null 7NULL 8null 9NULL :null ;NULL <null =NULL >null ?NULL @null ANULL Bnull CNULL Dnull ENULL Fnull GNULL Hnull INULL Jnull KNULL Lnull MNULL Nnull ONULL Pnull QNULL Rnull SNULL Tnull UNULL Vnull WNULL Xnull YNULL Znull [NULL \null ]NULL ^null _NULL `null aNULL bnull cNULL dnull eNULL fnull gNULL hnull iNULL jnull kNULL lnull mNULL nnull oNULL pnull qNULL rnull sNULL tnull uNULL vnull wNULL xnull yNULL znull {NULL |null }NULL ~null NULL €null NULL ‚null ƒNULL „null …NULL †null ‡NULL ˆnull ‰NULL Šnull ‹NULL Œnull NULL Žnull NULL null ‘NULL ’null “NULL ”null •NULL –null —NULL ˜null ™NULL šnull ›NULL œnull NULL žnull ŸNULL  null ¡NULL ¢null £NULL ¤null ¥NULL ¦null §NULL ¨null ©NULL ªnull «NULL ¬null ­NULL ®null ¯NULL °null ±NULL ²null ³NULL ´null µNULL ¶null ·NULL ¸null ¹NULL ºnull »NULL ¼null ½NULL ¾null ¿NULL Ànull ÁNULL Ânull ÃNULL Änull ÅNULL Ænull ÇNULL Ènull ÉNULL Ênull ËNULL Ìnull ÍNULL Înull ÏNULL Ðnull ÑNULL Ònull ÓNULL Ônull ÕNULL Önull ×NULL Ønull ÙNULL Únull ÛNULL Ünull ÝNULL Þnull ßNULL ànull áNULL ânull ãNULL änull åNULL ænull çNULL ènull éNULL ênull ëNULL ìnull íNULL înull ïNULL ðnull ñNULL ònull óNULL ônull õNULL önull ÷NULL ønull ùNULL únull ûNULL ünull ýNULL þnull ÿNULL
NULL null NULL null NULL null NULL null NULL null NULL null NULL null NULL null NULL null NULL null NULL null !NULL "null #NULL $null %NULL &null 'NULL (null )NULL *null +NULL ,null -NULL .null /NULL 0null 1NULL 2null 3NULL 4null 5NULL 6null 7NULL 8null 9NULL :null ;NULL <null =NULL >null ?NULL @null ANULL Bnull CNULL Dnull ENULL Fnull GNULL Hnull INULL Jnull KNULL Lnull MNULL Nnull ONULL Pnull QNULL Rnull SNULL Tnull UNULL Vnull WNULL Xnull YNULL Znull [NULL \null ]NULL ^null _NULL `null aNULL bnull cNULL dnull eNULL fnull gNULL hnull iNULL jnull kNULL lnull mNULL nnull oNULL pnull qNULL rnull sNULL tnull uNULL vnull wNULL xnull yNULL znull {NULL |null }NULL ~null NULL €null NULL ‚null ƒNULL „null …NULL †null ‡NULL ˆnull ‰NULL Šnull ‹NULL Œnull NULL Žnull NULL null ‘NULL ’null “NULL ”null •NULL –null —NULL ˜null ™NULL šnull ›NULL œnull NULL žnull ŸNULL  null ¡NULL ¢null £NULL ¤null ¥NULL ¦null §NULL ¨null ©NULL ªnull «NULL ¬null ­NULL ®null ¯NULL °null ±NULL ²null ³NULL ´null µNULL ¶null ·NULL ¸null ¹NULL ºnull »NULL ¼null ½NULL ¾null ¿NULL Ànull ÁNULL Ânull ÃNULL Änull ÅNULL Ænull ÇNULL Ènull ÉNULL Ênull ËNULL Ìnull ÍNULL Înull ÏNULL Ðnull ÑNULL Ònull ÓNULL Ônull ÕNULL Önull ×NULL Ønull ÙNULL Únull ÛNULL Ünull ÝNULL Þnull ßNULL ànull áNULL ânull ãNULL änull åNULL ænull çNULL ènull éNULL ênull ëNULL ìnull íNULL înull ïNULL ðnull ñNULL ònull óNULL ônull õNULL önull ÷NULL ønull ùNULL únull ûNULL ünull ýNULL þnull ÿNULL
NULL null!NULL"null&NULL'null(NULL)null;NULL=null^NULL|null~NUL
nul NUL nul!NUL"nul&NUL'nul(NUL)nul;NUL=nul^NUL|nul~NU
nu NU nu!NU"nu&NU'nu(NU)nu;NU=nu^NU|nu~N
-n N n!N"n&N'n(N)n;N=n^N|n~O$\$
-of OF of!OF"of&OF'of(OF)of;OF=of^OF|of~ON$\$
+n N n!N"n&N'n(N)n;N=n^N|n~O$\$$
+of OF of!OF"of&OF'of(OF)of;OF=of^OF|of~ON$\$$
ON on ON on ON on ON on ON on ON on ON on ON on ON on ON on ON on !ON "on #ON $on %ON &on 'ON (on )ON *on +ON ,on -ON .on /ON 0on 1ON 2on 3ON 4on 5ON 6on 7ON 8on 9ON :on ;ON <on =ON >on ?ON @on AON Bon CON Don EON Fon GON Hon ION Jon KON Lon MON Non OON Pon QON Ron SON Ton UON Von WON Xon YON Zon [ON \on ]ON ^on _ON `on aON bon cON don eON fon gON hon iON jon kON lon mON non oON pon qON ron sON ton uON von wON xon yON zon {ON |on }ON ~on ON €on ON ‚on ƒON „on …ON †on ‡ON ˆon ‰ON Šon ‹ON Œon ON Žon ON on ‘ON ’on “ON ”on •ON –on —ON ˜on ™ON šon ›ON œon ON žon ŸON  on ¡ON ¢on £ON ¤on ¥ON ¦on §ON ¨on ©ON ªon «ON ¬on ­ON ®on ¯ON °on ±ON ²on ³ON ´on µON ¶on ·ON ¸on ¹ON ºon »ON ¼on ½ON ¾on ¿ON Àon ÁON Âon ÃON Äon ÅON Æon ÇON Èon ÉON Êon ËON Ìon ÍON Îon ÏON Ðon ÑON Òon ÓON Ôon ÕON Öon ×ON Øon ÙON Úon ÛON Üon ÝON Þon ßON àon áON âon ãON äon åON æon çON èon éON êon ëON ìon íON îon ïON ðon ñON òon óON ôon õON öon ÷ON øon ùON úon ûON üon ýON þon ÿON
ON on ON on ON on ON on ON on ON on ON on ON on ON on ON on ON on !ON "on #ON $on %ON &on 'ON (on )ON *on +ON ,on -ON .on /ON 0on 1ON 2on 3ON 4on 5ON 6on 7ON 8on 9ON :on ;ON <on =ON >on ?ON @on AON Bon CON Don EON Fon GON Hon ION Jon KON Lon MON Non OON Pon QON Ron SON Ton UON Von WON Xon YON Zon [ON \on ]ON ^on _ON `on aON bon cON don eON fon gON hon iON jon kON lon mON non oON pon qON ron sON ton uON von wON xon yON zon {ON |on }ON ~on ON €on ON ‚on ƒON „on …ON †on ‡ON ˆon ‰ON Šon ‹ON Œon ON Žon ON on ‘ON ’on “ON ”on •ON –on —ON ˜on ™ON šon ›ON œon ON žon ŸON  on ¡ON ¢on £ON ¤on ¥ON ¦on §ON ¨on ©ON ªon «ON ¬on ­ON ®on ¯ON °on ±ON ²on ³ON ´on µON ¶on ·ON ¸on ¹ON ºon »ON ¼on ½ON ¾on ¿ON Àon ÁON Âon ÃON Äon ÅON Æon ÇON Èon ÉON Êon ËON Ìon ÍON Îon ÏON Ðon ÑON Òon ÓON Ôon ÕON Öon ×ON Øon ÙON Úon ÛON Üon ÝON Þon ßON àon áON âon ãON äon åON æon çON èon éON êon ëON ìon íON îon ïON ðon ñON òon óON ôon õON öon ÷ON øon ùON úon ûON üon ýON þon ÿON
ON on!ON"on&ON'on(ON)on;ON=on^ON|on~O
-o O o!O"o&O'o(O)o;O=o^O|o~T$\$
+o O o!O"o&O'o(O)o;O=o^O|o~T$\$$
tru TRU tru!TRU"tru&TRU'tru(TRU)tru;TRU=tru^TRU|tru~TR
tr TR tr!TR"tr&TR'tr(TR)tr;TR=tr^TR|tr~T
-t T t!T"t&T't(T)t;T=t^T|t~Y$\$
+t T t!T"t&T't(T)t;T=t^T|t~Y$\$$
ye YE ye!YE"ye&YE'ye(YE)ye;YE=ye^YE|ye~Y
-y Y y!Y"y&Y'y(Y)y;Y=y^Y|y~5 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #######################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################((33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------((33----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------((33----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(############################################################################################################################################################################################################################################################## 55#############################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333"################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ###
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- # # #
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-####################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ##################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # ###
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- ############################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #####################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################
- !"$&() ; =[^{|}~ 
- !"$&();=[ ^###{%%%|'''}***~+++ ,,,
---- ...!///"000$111&222(333)444;555=666[777^888{999|:::}<<<~>>> ???
-@@@ AAA!BBB"CCC$DDD&EEE(FFF)GGG;HHH=III[JJJ^KKK{LLL|MMM}NNN~OOO PPP
-QQQ RRR!SSS"TTT$UUU&VVV(WWW)XXX;YYY=ZZZ[\\\^]]]{___|```}aaa~bbb ccc
-ddd eee!fff"ggg$hhh&iii(jjj)kkk;lll=mmm[nnn^ooo{ppp|qqq}rrr~sss ttt
-uuu vvv!www"xxx$yyy&zzz()€€€;=‚‚‚[ƒƒƒ^„„„{………|†††}‡‡‡~ˆˆˆ ‰‰‰
-ŠŠŠ ‹‹‹!ŒŒŒ"$ŽŽŽ&()‘‘‘;’’’=“““[”””^•••{–––|———}˜˜˜~™™™ ššš
-››› œœœ!"žžž$ŸŸŸ&   (¡¡¡)¢¢¢;£££=¤¤¤[¥¥¥^¦¦¦{§§§|¨¨¨}©©©~ªªª «««
-¬¬¬ ­­­!®®®"¯¯¯$°°°&±±±(²²²)³³³;´´´=µµµ[¶¶¶^···{¸¸¸|¹¹¹}ººº~»»» ¼¼¼
-½½½ ¾¾¾!¿¿¿"ÀÀÀ$ÁÁÁ&ÂÂÂ(ÃÃÃ)ÄÄÄ;ÅÅÅ=ÆÆÆ[ÇÇÇ^ÈÈÈ{ÉÉÉ|ÊÊÊ}ËËË~ÌÌÌ ÍÍÍ
-ÎÎÎ ÏÏÏ!ÐÐÐ"ÑÑÑ$ÒÒÒ&ÓÓÓ(ÔÔÔ)ÕÕÕ;ÖÖÖ=×××[ØØØ^ÙÙÙ{ÚÚÚ|ÛÛÛ}ÜÜÜ~ÝÝÝ ÞÞÞ
-ßßß ààà!ááá"âââ$ããã&äää(ååå)æææ;ççç=èèè[ééé^êêê{ëëë|ììì}ííí~îîî ïïï
-ððð ñññ!òòò"óóó$ôôô&õõõ(ööö)÷÷÷;øøø=ùùù[úúú^ûûû{üüü|ýýý}þþþ~ÿÿÿ
+y Y y!Y"y&Y'y(Y)y;Y=y^Y|y~ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+                                                                                                                                                                                                                                                                 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+
+
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+
+
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+
+
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+
+
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+
+
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+
+
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+ 
+
 !"$&() ; =[^{|}~ 
 !"$&();=[ ^##{%%|''}**~++ ,,
-- ..!//"00$11&22(33)44;55=66[77^88{99|::}<<~>> ??
@@ -8041,12 +23339,13 @@ u v!w"x$y&z()€;=‚[ƒ^„{…|†}‡~ˆ ‰
Î Ï!Ð"Ñ$Ò&Ó(Ô)Õ;Ö=×[Ø^Ù{Ú|Û}Ü~Ý Þ
ß à!á"â$ã&ä(å)æ;ç=è[é^ê{ë|ì}í~î ï
ð ñ!ò"ó$ô&õ(ö)÷;ø=ù[ú^û{ü|ý}þ~ÿ
- !"$&();=[^{|~}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             7777777777777777 re2c: warning: line 384: column 13: escape has no effect: '\.' [-Wuseless-escape]
+ !"$&();=[^{|~}
re2c: warning: line 384: column 32: escape has no effect: '\.' [-Wuseless-escape]
re2c: warning: line 391: column 27: escape has no effect: '\[' [-Wuseless-escape]
re2c: warning: line 392: column 11: escape has no effect: '\[' [-Wuseless-escape]
-re2c: warning: line 648: unreachable rule in condition 'ST_DOUBLE_QUOTES' (shadowed by rules at lines 582, 587) [-Wunreachable-rules]
+re2c: warning: line 648: unreachable rule in condition 'INITIAL' (shadowed by rules at lines 406, 481, 491, 555, 627, 632, 637) [-Wunreachable-rules]
re2c: warning: line 623: unreachable rule in condition 'ST_OFFSET' (shadowed by rule at line 573) [-Wunreachable-rules]
-re2c: warning: line 648: unreachable rule in condition 'ST_RAW' (shadowed by rules at lines 500, 541, 643) [-Wunreachable-rules]
re2c: warning: line 623: unreachable rule in condition 'ST_SECTION_VALUE' (shadowed by rule at line 573) [-Wunreachable-rules]
re2c: warning: line 648: unreachable rule in condition 'ST_VALUE' (shadowed by rules at lines 541, 547, 551, 559, 563, 569, 577, 623, 643) [-Wunreachable-rules]
+re2c: warning: line 648: unreachable rule in condition 'ST_DOUBLE_QUOTES' (shadowed by rules at lines 582, 587) [-Wunreachable-rules]
+re2c: warning: line 648: unreachable rule in condition 'ST_RAW' (shadowed by rules at lines 500, 541, 643) [-Wunreachable-rules]
diff --git a/test/php20150211_zend_ini_scanner_trimmed.ic--flex-syntax.c b/test/php20150211_zend_ini_scanner_trimmed.ic--flex-syntax.c
index 7d2eabb7..a2c36d14 100644
--- a/test/php20150211_zend_ini_scanner_trimmed.ic--flex-syntax.c
+++ b/test/php20150211_zend_ini_scanner_trimmed.ic--flex-syntax.c
@@ -79,7 +79,7 @@ yy6:
case ' ': goto yy6;
case '\n': goto yy9;
case '\r': goto yy11;
- case ';': goto yy31;
+ case ';': goto yy16;
case '=': goto yy18;
default: goto yy8;
}
@@ -115,7 +115,7 @@ yy12:
case '|':
case '}':
case '~': goto yy5;
- case ';': goto yy31;
+ case ';': goto yy16;
case '=': goto yy18;
case '[': goto yy28;
default: goto yy3;
@@ -125,9 +125,13 @@ yy14:
{}
yy16:
++YYCURSOR;
+ YYFILL(2);
yych = *YYCURSOR;
- goto yy32;
- {}
+ switch (yych) {
+ case '\n': goto yy31;
+ case '\r': goto yy33;
+ default: goto yy16;
+ }
yy18:
++YYCURSOR;
YYFILL(1);
@@ -145,33 +149,33 @@ yy21:
yy23:
yych = *++YYCURSOR;
switch (yych) {
- case 'a': goto yy36;
+ case 'a': goto yy34;
default: goto yy4;
}
yy24:
yych = *++YYCURSOR;
switch (yych) {
- case 'o': goto yy37;
- case 'u': goto yy39;
+ case 'o': goto yy35;
+ case 'u': goto yy37;
default: goto yy4;
}
yy25:
yych = *++YYCURSOR;
switch (yych) {
- case 'f': goto yy40;
- case 'n': goto yy41;
+ case 'f': goto yy38;
+ case 'n': goto yy39;
default: goto yy4;
}
yy26:
yych = *++YYCURSOR;
switch (yych) {
- case 'r': goto yy44;
+ case 'r': goto yy42;
default: goto yy4;
}
yy27:
yych = *++YYCURSOR;
switch (yych) {
- case 'e': goto yy45;
+ case 'e': goto yy43;
default: goto yy4;
}
yy28:
@@ -187,34 +191,24 @@ yy30:
{}
yy31:
++YYCURSOR;
- YYFILL(2);
- yych = *YYCURSOR;
yy32:
- switch (yych) {
- case '\n': goto yy33;
- case '\r': goto yy35;
- default: goto yy31;
- }
-yy33:
- ++YYCURSOR;
-yy34:
{}
-yy35:
+yy33:
yych = *++YYCURSOR;
switch (yych) {
- case '\n': goto yy33;
- default: goto yy34;
+ case '\n': goto yy31;
+ default: goto yy32;
}
-yy36:
+yy34:
yych = *++YYCURSOR;
switch (yych) {
- case 'l': goto yy46;
+ case 'l': goto yy44;
default: goto yy4;
}
-yy37:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
- case '\t': goto yy47;
+yy35:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '\t': goto yy45;
case '\n':
case '\r':
case '!':
@@ -229,31 +223,31 @@ yy37:
case '{':
case '|':
case '}':
- case '~': goto yy38;
- case ' ': goto yy49;
- case 'n': goto yy51;
+ case '~': goto yy36;
+ case ' ': goto yy47;
+ case 'n': goto yy49;
default: goto yy4;
}
-yy38:
+yy36:
{}
-yy39:
+yy37:
yych = *++YYCURSOR;
switch (yych) {
- case 'l': goto yy52;
+ case 'l': goto yy50;
default: goto yy4;
}
-yy40:
+yy38:
yych = *++YYCURSOR;
switch (yych) {
- case 'f': goto yy49;
+ case 'f': goto yy47;
default: goto yy4;
}
-yy41:
+yy39:
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
- case '\t': goto yy53;
+ case '\t': goto yy51;
case '\n':
case '\r':
case '!':
@@ -268,46 +262,46 @@ yy41:
case '{':
case '|':
case '}':
- case '~': goto yy43;
- case ' ': goto yy41;
+ case '~': goto yy41;
+ case ' ': goto yy39;
case '[': goto yy28;
default: goto yy3;
}
-yy43:
+yy41:
{}
-yy44:
+yy42:
yych = *++YYCURSOR;
switch (yych) {
- case 'u': goto yy55;
+ case 'u': goto yy53;
default: goto yy4;
}
-yy45:
+yy43:
yych = *++YYCURSOR;
switch (yych) {
- case 's': goto yy41;
+ case 's': goto yy39;
default: goto yy4;
}
-yy46:
+yy44:
yych = *++YYCURSOR;
switch (yych) {
- case 's': goto yy51;
+ case 's': goto yy49;
default: goto yy4;
}
-yy47:
+yy45:
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case '\t':
- case ' ': goto yy47;
- default: goto yy38;
+ case ' ': goto yy45;
+ default: goto yy36;
}
-yy49:
+yy47:
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
- case '\t': goto yy47;
+ case '\t': goto yy45;
case '\n':
case '\r':
case '!':
@@ -322,44 +316,44 @@ yy49:
case '{':
case '|':
case '}':
- case '~': goto yy38;
- case ' ': goto yy49;
+ case '~': goto yy36;
+ case ' ': goto yy47;
case '[': goto yy28;
default: goto yy3;
}
-yy51:
+yy49:
yych = *++YYCURSOR;
switch (yych) {
- case 'e': goto yy49;
+ case 'e': goto yy47;
default: goto yy4;
}
-yy52:
+yy50:
yych = *++YYCURSOR;
switch (yych) {
- case 'l': goto yy56;
+ case 'l': goto yy54;
default: goto yy4;
}
-yy53:
+yy51:
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case '\t':
- case ' ': goto yy53;
- default: goto yy43;
+ case ' ': goto yy51;
+ default: goto yy41;
}
-yy55:
+yy53:
yych = *++YYCURSOR;
switch (yych) {
- case 'e': goto yy41;
+ case 'e': goto yy39;
default: goto yy4;
}
-yy56:
+yy54:
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
- case '\t': goto yy59;
+ case '\t': goto yy57;
case '\n':
case '\r':
case '!':
@@ -374,70 +368,37 @@ yy56:
case '{':
case '|':
case '}':
- case '~': goto yy58;
- case ' ': goto yy56;
+ case '~': goto yy56;
+ case ' ': goto yy54;
case '[': goto yy28;
default: goto yy3;
}
-yy58:
+yy56:
{}
-yy59:
+yy57:
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case '\t':
- case ' ': goto yy59;
- default: goto yy58;
+ case ' ': goto yy57;
+ default: goto yy56;
}
/* *********************************** */
-yyc_ST_DOUBLE_QUOTES:
- YYFILL(2);
- yych = *YYCURSOR;
- switch (yych) {
- case '"': goto yy65;
- case '$': goto yy68;
- default: goto yy63;
- }
-yy63:
- ++YYCURSOR;
-yy64:
- {}
-yy65:
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- switch (yych) {
- case '\t':
- case ' ': goto yy65;
- default: goto yy67;
- }
-yy67:
- {}
-yy68:
- yych = *++YYCURSOR;
- switch (yych) {
- case '{': goto yy69;
- default: goto yy64;
- }
-yy69:
- ++YYCURSOR;
- {}
-/* *********************************** */
yyc_ST_OFFSET:
YYFILL(2);
yych = *YYCURSOR;
switch (yych) {
case '\t':
- case ' ': goto yy76;
+ case ' ': goto yy64;
case '\n':
case '\r':
- case ';': goto yy78;
- case '"': goto yy80;
- case '$': goto yy82;
- case '\'': goto yy83;
+ case ';': goto yy66;
+ case '"': goto yy68;
+ case '$': goto yy70;
+ case '\'': goto yy71;
case '-':
- case '.': goto yy84;
+ case '.': goto yy72;
case '0':
case '1':
case '2':
@@ -447,7 +408,7 @@ yyc_ST_OFFSET:
case '6':
case '7':
case '8':
- case '9': goto yy85;
+ case '9': goto yy73;
case 'A':
case 'B':
case 'C':
@@ -500,71 +461,70 @@ yyc_ST_OFFSET:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy88;
- case '\\': goto yy91;
- case ']': goto yy92;
- default: goto yy73;
+ case 'z': goto yy76;
+ case '\\': goto yy79;
+ case ']': goto yy80;
+ default: goto yy61;
}
-yy73:
+yy61:
yyaccept = 0;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
-yy74:
+yy62:
switch (yych) {
case '\n':
case '\r':
case '"':
case '\'':
case ';':
- case ']': goto yy75;
- case '$': goto yy94;
- case '\\': goto yy96;
- default: goto yy73;
+ case ']': goto yy63;
+ case '$': goto yy82;
+ case '\\': goto yy79;
+ default: goto yy61;
}
-yy75:
+yy63:
{}
-yy76:
+yy64:
yyaccept = 0;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case '\t':
- case ' ': goto yy76;
+ case ' ': goto yy64;
case '\n':
case '\r':
case '\'':
- case ';': goto yy75;
- case '"': goto yy80;
- case '$': goto yy94;
- case '\\': goto yy96;
- case ']': goto yy92;
- default: goto yy73;
+ case ';': goto yy63;
+ case '"': goto yy68;
+ case '$': goto yy82;
+ case '\\': goto yy79;
+ case ']': goto yy80;
+ default: goto yy61;
}
-yy78:
+yy66:
++YYCURSOR;
-yy79:
+yy67:
{}
-yy80:
+yy68:
++YYCURSOR;
{}
-yy82:
+yy70:
yych = *++YYCURSOR;
switch (yych) {
- case 0x00: goto yy79;
- case '\\': goto yy97;
- case '{': goto yy99;
- default: goto yy73;
+ case 0x00: goto yy67;
+ case '\\': goto yy84;
+ case '{': goto yy86;
+ default: goto yy61;
}
-yy83:
- yyaccept = 1;
- yych = *(YYMARKER = ++YYCURSOR);
+yy71:
+ yych = *++YYCURSOR;
switch (yych) {
- case '\'': goto yy79;
- default: goto yy101;
+ case '\'': goto yy67;
+ default: goto yy88;
}
-yy84:
+yy72:
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
@@ -577,11 +537,11 @@ yy84:
case '6':
case '7':
case '8':
- case '9': goto yy103;
- default: goto yy74;
+ case '9': goto yy90;
+ default: goto yy62;
}
-yy85:
- yyaccept = 2;
+yy73:
+ yyaccept = 1;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
@@ -591,9 +551,9 @@ yy85:
case '"':
case '\'':
case ';':
- case ']': goto yy87;
- case '$': goto yy94;
- case '.': goto yy103;
+ case ']': goto yy75;
+ case '$': goto yy82;
+ case '.': goto yy90;
case '0':
case '1':
case '2':
@@ -603,14 +563,14 @@ yy85:
case '6':
case '7':
case '8':
- case '9': goto yy85;
- case '\\': goto yy96;
- default: goto yy73;
+ case '9': goto yy73;
+ case '\\': goto yy79;
+ default: goto yy61;
}
-yy87:
+yy75:
{}
-yy88:
- yyaccept = 3;
+yy76:
+ yyaccept = 2;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
@@ -620,8 +580,8 @@ yy88:
case '"':
case '\'':
case ';':
- case ']': goto yy90;
- case '$': goto yy94;
+ case ']': goto yy78;
+ case '$': goto yy82;
case '0':
case '1':
case '2':
@@ -684,63 +644,59 @@ yy88:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy88;
- case '\\': goto yy96;
- default: goto yy73;
+ case 'z': goto yy76;
+ case '\\': goto yy79;
+ default: goto yy61;
}
-yy90:
+yy78:
{}
-yy91:
- yych = *++YYCURSOR;
- goto yy73;
-yy92:
+yy79:
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
+ goto yy61;
+yy80:
++YYCURSOR;
{}
-yy94:
+yy82:
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case 0x00:
- case '{': goto yy95;
- case '\\': goto yy97;
- default: goto yy73;
+ case '{': goto yy83;
+ case '\\': goto yy84;
+ default: goto yy61;
}
-yy95:
+yy83:
YYCURSOR = YYMARKER;
switch (yyaccept) {
- case 0: goto yy75;
- case 1: goto yy79;
- case 2: goto yy87;
- default: goto yy90;
+ case 0: goto yy63;
+ case 1: goto yy75;
+ default: goto yy78;
}
-yy96:
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- goto yy73;
-yy97:
+yy84:
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case '$':
- case '\\': goto yy97;
- default: goto yy73;
+ case '\\': goto yy84;
+ default: goto yy61;
}
-yy99:
+yy86:
++YYCURSOR;
{}
-yy101:
+yy88:
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
- case '\'': goto yy105;
- default: goto yy101;
+ case '\'': goto yy92;
+ default: goto yy88;
}
-yy103:
- yyaccept = 2;
+yy90:
+ yyaccept = 1;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
@@ -750,8 +706,8 @@ yy103:
case '"':
case '\'':
case ';':
- case ']': goto yy87;
- case '$': goto yy94;
+ case ']': goto yy75;
+ case '$': goto yy82;
case '0':
case '1':
case '2':
@@ -761,153 +717,28 @@ yy103:
case '6':
case '7':
case '8':
- case '9': goto yy103;
- case '\\': goto yy96;
- default: goto yy73;
- }
-yy105:
- ++YYCURSOR;
- {}
-/* *********************************** */
-yyc_ST_RAW:
- YYFILL(3);
- yych = *YYCURSOR;
- switch (yych) {
- case 0x00: goto yy109;
- case '\t':
- case ' ': goto yy113;
- case '\n': goto yy114;
- case '\r': goto yy116;
- case ';': goto yy117;
- default: goto yy111;
- }
-yy109:
- ++YYCURSOR;
- {}
-yy111:
- ++YYCURSOR;
-yy112:
- {}
-yy113:
- yych = *++YYCURSOR;
- switch (yych) {
- case '\t':
- case '\n':
- case '\r':
- case ' ':
- case ';': goto yy119;
- default: goto yy112;
- }
-yy114:
- ++YYCURSOR;
-yy115:
- {}
-yy116:
- yych = *++YYCURSOR;
- switch (yych) {
- case '\n': goto yy114;
- default: goto yy115;
- }
-yy117:
- yych = *++YYCURSOR;
- goto yy122;
-yy118:
- ++YYCURSOR;
- YYFILL(2);
- yych = *YYCURSOR;
-yy119:
- switch (yych) {
- case '\t':
- case ' ': goto yy118;
- case '\n': goto yy114;
- case '\r': goto yy116;
- case ';': goto yy121;
- default: goto yy120;
- }
-yy120:
- {}
-yy121:
- ++YYCURSOR;
- YYFILL(2);
- yych = *YYCURSOR;
-yy122:
- switch (yych) {
- case '\n': goto yy123;
- case '\r': goto yy125;
- default: goto yy121;
+ case '9': goto yy90;
+ case '\\': goto yy79;
+ default: goto yy61;
}
-yy123:
+yy92:
++YYCURSOR;
-yy124:
{}
-yy125:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
- case '\n': goto yy123;
- default: goto yy124;
- }
-/* *********************************** */
-yyc_ST_SECTION_RAW:
- YYFILL(1);
- yych = *YYCURSOR;
- switch (yych) {
- case '\n':
- case '\r': goto yy131;
- case ']': goto yy133;
- default: goto yy128;
- }
-yy128:
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- switch (yych) {
- case '\n':
- case '\r':
- case ']': goto yy130;
- default: goto yy128;
- }
-yy130:
- {}
-yy131:
- ++YYCURSOR;
- {}
-yy133:
- ++YYCURSOR;
- YYFILL(2);
- yych = *YYCURSOR;
- switch (yych) {
- case '\t':
- case ' ': goto yy133;
- case '\n': goto yy136;
- case '\r': goto yy137;
- default: goto yy135;
- }
-yy135:
- {}
-yy136:
- yych = *++YYCURSOR;
- goto yy135;
-yy137:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
- case '\n': goto yy136;
- default: goto yy135;
- }
/* *********************************** */
yyc_ST_SECTION_VALUE:
YYFILL(2);
yych = *YYCURSOR;
switch (yych) {
case '\t':
- case ' ': goto yy143;
+ case ' ': goto yy99;
case '\n':
case '\r':
- case ';': goto yy145;
- case '"': goto yy147;
- case '$': goto yy149;
- case '\'': goto yy150;
+ case ';': goto yy101;
+ case '"': goto yy103;
+ case '$': goto yy105;
+ case '\'': goto yy106;
case '-':
- case '.': goto yy151;
+ case '.': goto yy107;
case '0':
case '1':
case '2':
@@ -917,7 +748,7 @@ yyc_ST_SECTION_VALUE:
case '6':
case '7':
case '8':
- case '9': goto yy152;
+ case '9': goto yy108;
case 'A':
case 'B':
case 'C':
@@ -970,71 +801,70 @@ yyc_ST_SECTION_VALUE:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy155;
- case '\\': goto yy158;
- case ']': goto yy159;
- default: goto yy140;
+ case 'z': goto yy111;
+ case '\\': goto yy114;
+ case ']': goto yy115;
+ default: goto yy96;
}
-yy140:
+yy96:
yyaccept = 0;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
-yy141:
+yy97:
switch (yych) {
case '\n':
case '\r':
case '"':
case '\'':
case ';':
- case ']': goto yy142;
- case '$': goto yy162;
- case '\\': goto yy164;
- default: goto yy140;
+ case ']': goto yy98;
+ case '$': goto yy118;
+ case '\\': goto yy114;
+ default: goto yy96;
}
-yy142:
+yy98:
{}
-yy143:
+yy99:
yyaccept = 0;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case '\t':
- case ' ': goto yy143;
+ case ' ': goto yy99;
case '\n':
case '\r':
case '\'':
case ';':
- case ']': goto yy142;
- case '"': goto yy147;
- case '$': goto yy162;
- case '\\': goto yy164;
- default: goto yy140;
+ case ']': goto yy98;
+ case '"': goto yy103;
+ case '$': goto yy118;
+ case '\\': goto yy114;
+ default: goto yy96;
}
-yy145:
+yy101:
++YYCURSOR;
-yy146:
+yy102:
{}
-yy147:
+yy103:
++YYCURSOR;
{}
-yy149:
+yy105:
yych = *++YYCURSOR;
switch (yych) {
- case 0x00: goto yy146;
- case '\\': goto yy165;
- case '{': goto yy167;
- default: goto yy140;
+ case 0x00: goto yy102;
+ case '\\': goto yy120;
+ case '{': goto yy122;
+ default: goto yy96;
}
-yy150:
- yyaccept = 1;
- yych = *(YYMARKER = ++YYCURSOR);
+yy106:
+ yych = *++YYCURSOR;
switch (yych) {
- case '\'': goto yy146;
- default: goto yy169;
+ case '\'': goto yy102;
+ default: goto yy124;
}
-yy151:
+yy107:
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
@@ -1047,11 +877,11 @@ yy151:
case '6':
case '7':
case '8':
- case '9': goto yy171;
- default: goto yy141;
+ case '9': goto yy126;
+ default: goto yy97;
}
-yy152:
- yyaccept = 2;
+yy108:
+ yyaccept = 1;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
@@ -1061,9 +891,9 @@ yy152:
case '"':
case '\'':
case ';':
- case ']': goto yy154;
- case '$': goto yy162;
- case '.': goto yy171;
+ case ']': goto yy110;
+ case '$': goto yy118;
+ case '.': goto yy126;
case '0':
case '1':
case '2':
@@ -1073,14 +903,14 @@ yy152:
case '6':
case '7':
case '8':
- case '9': goto yy152;
- case '\\': goto yy164;
- default: goto yy140;
+ case '9': goto yy108;
+ case '\\': goto yy114;
+ default: goto yy96;
}
-yy154:
+yy110:
{}
-yy155:
- yyaccept = 3;
+yy111:
+ yyaccept = 2;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
@@ -1090,8 +920,8 @@ yy155:
case '"':
case '\'':
case ';':
- case ']': goto yy157;
- case '$': goto yy162;
+ case ']': goto yy113;
+ case '$': goto yy118;
case '0':
case '1':
case '2':
@@ -1154,73 +984,69 @@ yy155:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy155;
- case '\\': goto yy164;
- default: goto yy140;
+ case 'z': goto yy111;
+ case '\\': goto yy114;
+ default: goto yy96;
}
-yy157:
+yy113:
{}
-yy158:
- yych = *++YYCURSOR;
- goto yy140;
-yy159:
+yy114:
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
+ goto yy96;
+yy115:
++YYCURSOR;
YYFILL(2);
yych = *YYCURSOR;
switch (yych) {
case '\t':
- case ' ': goto yy159;
- case '\n': goto yy173;
- case '\r': goto yy174;
- default: goto yy161;
+ case ' ': goto yy115;
+ case '\n': goto yy128;
+ case '\r': goto yy129;
+ default: goto yy117;
}
-yy161:
+yy117:
{}
-yy162:
+yy118:
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case 0x00:
- case '{': goto yy163;
- case '\\': goto yy165;
- default: goto yy140;
+ case '{': goto yy119;
+ case '\\': goto yy120;
+ default: goto yy96;
}
-yy163:
+yy119:
YYCURSOR = YYMARKER;
switch (yyaccept) {
- case 0: goto yy142;
- case 1: goto yy146;
- case 2: goto yy154;
- default: goto yy157;
+ case 0: goto yy98;
+ case 1: goto yy110;
+ default: goto yy113;
}
-yy164:
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- goto yy140;
-yy165:
+yy120:
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case '$':
- case '\\': goto yy165;
- default: goto yy140;
+ case '\\': goto yy120;
+ default: goto yy96;
}
-yy167:
+yy122:
++YYCURSOR;
{}
-yy169:
+yy124:
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
- case '\'': goto yy175;
- default: goto yy169;
+ case '\'': goto yy130;
+ default: goto yy124;
}
-yy171:
- yyaccept = 2;
+yy126:
+ yyaccept = 1;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
@@ -1230,8 +1056,8 @@ yy171:
case '"':
case '\'':
case ';':
- case ']': goto yy154;
- case '$': goto yy162;
+ case ']': goto yy110;
+ case '$': goto yy118;
case '0':
case '1':
case '2':
@@ -1241,20 +1067,20 @@ yy171:
case '6':
case '7':
case '8':
- case '9': goto yy171;
- case '\\': goto yy164;
- default: goto yy140;
+ case '9': goto yy126;
+ case '\\': goto yy114;
+ default: goto yy96;
}
-yy173:
- yych = *++YYCURSOR;
- goto yy161;
-yy174:
+yy128:
+ ++YYCURSOR;
+ goto yy117;
+yy129:
yych = *++YYCURSOR;
switch (yych) {
- case '\n': goto yy173;
- default: goto yy161;
+ case '\n': goto yy128;
+ default: goto yy117;
}
-yy175:
+yy130:
++YYCURSOR;
{}
/* *********************************** */
@@ -1262,23 +1088,23 @@ yyc_ST_VALUE:
YYFILL(6);
yych = *YYCURSOR;
switch (yych) {
- case 0x00: goto yy179;
+ case 0x00: goto yy134;
case '\t':
- case ' ': goto yy184;
- case '\n': goto yy187;
- case '\r': goto yy189;
+ case ' ': goto yy139;
+ case '\n': goto yy142;
+ case '\r': goto yy144;
case '!':
case '&':
case '(':
case ')':
case '^':
case '|':
- case '~': goto yy190;
- case '"': goto yy193;
- case '$': goto yy195;
- case '\'': goto yy196;
+ case '~': goto yy145;
+ case '"': goto yy148;
+ case '$': goto yy150;
+ case '\'': goto yy151;
case '-':
- case '.': goto yy197;
+ case '.': goto yy152;
case '0':
case '1':
case '2':
@@ -1288,9 +1114,9 @@ yyc_ST_VALUE:
case '6':
case '7':
case '8':
- case '9': goto yy198;
- case ';': goto yy201;
- case '=': goto yy202;
+ case '9': goto yy153;
+ case ';': goto yy156;
+ case '=': goto yy158;
case 'A':
case 'B':
case 'C':
@@ -1338,24 +1164,24 @@ yyc_ST_VALUE:
case 'v':
case 'w':
case 'x':
- case 'z': goto yy204;
- case 'f': goto yy207;
- case 'n': goto yy208;
- case 'o': goto yy209;
- case 't': goto yy210;
- case 'y': goto yy211;
- default: goto yy181;
+ case 'z': goto yy160;
+ case 'f': goto yy163;
+ case 'n': goto yy164;
+ case 'o': goto yy165;
+ case 't': goto yy166;
+ case 'y': goto yy167;
+ default: goto yy136;
}
-yy179:
+yy134:
++YYCURSOR;
-yy180:
+yy135:
{}
-yy181:
+yy136:
yyaccept = 0;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
-yy182:
+yy137:
switch (yych) {
case 0x00:
case '\t':
@@ -1372,68 +1198,66 @@ yy182:
case '=':
case '^':
case '|':
- case '~': goto yy183;
- case '$': goto yy212;
- default: goto yy181;
+ case '~': goto yy138;
+ case '$': goto yy168;
+ default: goto yy136;
}
-yy183:
+yy138:
{}
-yy184:
- yyaccept = 1;
- YYMARKER = ++YYCURSOR;
+yy139:
+ ++YYCURSOR;
YYFILL(2);
yych = *YYCURSOR;
switch (yych) {
case '\t':
- case ' ': goto yy184;
- case '\n': goto yy187;
- case '\r': goto yy189;
- case '"': goto yy193;
- case ';': goto yy214;
- default: goto yy186;
+ case ' ': goto yy139;
+ case '\n': goto yy142;
+ case '\r': goto yy144;
+ case '"': goto yy148;
+ case ';': goto yy156;
+ default: goto yy141;
}
-yy186:
+yy141:
{}
-yy187:
+yy142:
++YYCURSOR;
-yy188:
+yy143:
{}
-yy189:
+yy144:
yych = *++YYCURSOR;
switch (yych) {
- case '\n': goto yy187;
- default: goto yy188;
+ case '\n': goto yy142;
+ default: goto yy143;
}
-yy190:
+yy145:
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case '\t':
- case ' ': goto yy190;
- default: goto yy192;
+ case ' ': goto yy145;
+ default: goto yy147;
}
-yy192:
+yy147:
{}
-yy193:
+yy148:
++YYCURSOR;
{}
-yy195:
+yy150:
yych = *++YYCURSOR;
switch (yych) {
- case 0x00: goto yy180;
- case '\\': goto yy216;
- case '{': goto yy217;
- default: goto yy181;
+ case 0x00: goto yy135;
+ case '\\': goto yy170;
+ case '{': goto yy171;
+ default: goto yy136;
}
-yy196:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
+yy151:
+ yych = *++YYCURSOR;
switch (yych) {
- case '\'': goto yy180;
- default: goto yy219;
+ case '\'': goto yy135;
+ default: goto yy173;
}
-yy197:
+yy152:
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
@@ -1446,11 +1270,11 @@ yy197:
case '6':
case '7':
case '8':
- case '9': goto yy221;
- default: goto yy182;
+ case '9': goto yy175;
+ default: goto yy137;
}
-yy198:
- yyaccept = 3;
+yy153:
+ yyaccept = 1;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
@@ -1470,9 +1294,9 @@ yy198:
case '=':
case '^':
case '|':
- case '~': goto yy200;
- case '$': goto yy212;
- case '.': goto yy221;
+ case '~': goto yy155;
+ case '$': goto yy168;
+ case '.': goto yy175;
case '0':
case '1':
case '2':
@@ -1482,20 +1306,25 @@ yy198:
case '6':
case '7':
case '8':
- case '9': goto yy198;
- default: goto yy181;
+ case '9': goto yy153;
+ default: goto yy136;
}
-yy200:
+yy155:
{}
-yy201:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- goto yy215;
-yy202:
+yy156:
+ ++YYCURSOR;
+ YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '\n': goto yy177;
+ case '\r': goto yy179;
+ default: goto yy156;
+ }
+yy158:
++YYCURSOR;
{}
-yy204:
- yyaccept = 4;
+yy160:
+ yyaccept = 2;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
@@ -1515,8 +1344,8 @@ yy204:
case '=':
case '^':
case '|':
- case '~': goto yy206;
- case '$': goto yy212;
+ case '~': goto yy162;
+ case '$': goto yy168;
case '0':
case '1':
case '2':
@@ -1579,13 +1408,13 @@ yy204:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy204;
- default: goto yy181;
+ case 'z': goto yy160;
+ default: goto yy136;
}
-yy206:
+yy162:
{}
-yy207:
- yyaccept = 4;
+yy163:
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case 0x00:
@@ -1603,7 +1432,7 @@ yy207:
case '=':
case '^':
case '|':
- case '~': goto yy206;
+ case '~': goto yy162;
case '0':
case '1':
case '2':
@@ -1665,12 +1494,12 @@ yy207:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy204;
- case 'a': goto yy226;
- default: goto yy182;
+ case 'z': goto yy160;
+ case 'a': goto yy180;
+ default: goto yy137;
}
-yy208:
- yyaccept = 4;
+yy164:
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case 0x00:
@@ -1688,7 +1517,7 @@ yy208:
case '=':
case '^':
case '|':
- case '~': goto yy206;
+ case '~': goto yy162;
case '0':
case '1':
case '2':
@@ -1749,13 +1578,13 @@ yy208:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy204;
- case 'o': goto yy227;
- case 'u': goto yy229;
- default: goto yy182;
+ case 'z': goto yy160;
+ case 'o': goto yy181;
+ case 'u': goto yy183;
+ default: goto yy137;
}
-yy209:
- yyaccept = 4;
+yy165:
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case 0x00:
@@ -1773,7 +1602,7 @@ yy209:
case '=':
case '^':
case '|':
- case '~': goto yy206;
+ case '~': goto yy162;
case '0':
case '1':
case '2':
@@ -1834,13 +1663,13 @@ yy209:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy204;
- case 'f': goto yy230;
- case 'n': goto yy231;
- default: goto yy182;
+ case 'z': goto yy160;
+ case 'f': goto yy184;
+ case 'n': goto yy185;
+ default: goto yy137;
}
-yy210:
- yyaccept = 4;
+yy166:
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case 0x00:
@@ -1858,7 +1687,7 @@ yy210:
case '=':
case '^':
case '|':
- case '~': goto yy206;
+ case '~': goto yy162;
case '0':
case '1':
case '2':
@@ -1920,12 +1749,12 @@ yy210:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy204;
- case 'r': goto yy233;
- default: goto yy182;
+ case 'z': goto yy160;
+ case 'r': goto yy187;
+ default: goto yy137;
}
-yy211:
- yyaccept = 4;
+yy167:
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case 0x00:
@@ -1943,7 +1772,7 @@ yy211:
case '=':
case '^':
case '|':
- case '~': goto yy206;
+ case '~': goto yy162;
case '0':
case '1':
case '2':
@@ -2005,63 +1834,51 @@ yy211:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy204;
- case 'e': goto yy234;
- default: goto yy182;
+ case 'z': goto yy160;
+ case 'e': goto yy188;
+ default: goto yy137;
}
-yy212:
+yy168:
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case 0x00:
- case '{': goto yy213;
- case '\\': goto yy216;
- default: goto yy181;
+ case '{': goto yy169;
+ case '\\': goto yy170;
+ default: goto yy136;
}
-yy213:
+yy169:
YYCURSOR = YYMARKER;
switch (yyaccept) {
- case 0: goto yy183;
- case 1: goto yy186;
- case 2: goto yy180;
- case 3: goto yy200;
- case 4: goto yy206;
- case 5: goto yy228;
- case 6: goto yy232;
- default: goto yy249;
+ case 0: goto yy138;
+ case 1: goto yy155;
+ case 2: goto yy162;
+ case 3: goto yy182;
+ case 4: goto yy186;
+ default: goto yy203;
}
-yy214:
- ++YYCURSOR;
- YYFILL(2);
- yych = *YYCURSOR;
-yy215:
- switch (yych) {
- case '\n': goto yy223;
- case '\r': goto yy225;
- default: goto yy214;
- }
-yy216:
+yy170:
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
- case '$': goto yy235;
- default: goto yy181;
+ case '$': goto yy189;
+ default: goto yy136;
}
-yy217:
+yy171:
++YYCURSOR;
{}
-yy219:
+yy173:
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
- case '\'': goto yy237;
- default: goto yy219;
+ case '\'': goto yy191;
+ default: goto yy173;
}
-yy221:
- yyaccept = 3;
+yy175:
+ yyaccept = 1;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
@@ -2081,8 +1898,8 @@ yy221:
case '=':
case '^':
case '|':
- case '~': goto yy200;
- case '$': goto yy212;
+ case '~': goto yy155;
+ case '$': goto yy168;
case '0':
case '1':
case '2':
@@ -2092,21 +1909,21 @@ yy221:
case '6':
case '7':
case '8':
- case '9': goto yy221;
- default: goto yy181;
+ case '9': goto yy175;
+ default: goto yy136;
}
-yy223:
+yy177:
++YYCURSOR;
-yy224:
+yy178:
{}
-yy225:
+yy179:
yych = *++YYCURSOR;
switch (yych) {
- case '\n': goto yy223;
- default: goto yy224;
+ case '\n': goto yy177;
+ default: goto yy178;
}
-yy226:
- yyaccept = 4;
+yy180:
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case 0x00:
@@ -2124,7 +1941,7 @@ yy226:
case '=':
case '^':
case '|':
- case '~': goto yy206;
+ case '~': goto yy162;
case '0':
case '1':
case '2':
@@ -2186,12 +2003,12 @@ yy226:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy204;
- case 'l': goto yy239;
- default: goto yy182;
+ case 'z': goto yy160;
+ case 'l': goto yy193;
+ default: goto yy137;
}
-yy227:
- yyaccept = 5;
+yy181:
+ yyaccept = 3;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case 0x00:
@@ -2207,9 +2024,9 @@ yy227:
case '=':
case '^':
case '|':
- case '~': goto yy228;
+ case '~': goto yy182;
case '\t':
- case ' ': goto yy240;
+ case ' ': goto yy194;
case '0':
case '1':
case '2':
@@ -2271,14 +2088,14 @@ yy227:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy204;
- case 'n': goto yy242;
- default: goto yy182;
+ case 'z': goto yy160;
+ case 'n': goto yy196;
+ default: goto yy137;
}
-yy228:
+yy182:
{}
-yy229:
- yyaccept = 4;
+yy183:
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case 0x00:
@@ -2296,7 +2113,7 @@ yy229:
case '=':
case '^':
case '|':
- case '~': goto yy206;
+ case '~': goto yy162;
case '0':
case '1':
case '2':
@@ -2358,12 +2175,12 @@ yy229:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy204;
- case 'l': goto yy243;
- default: goto yy182;
+ case 'z': goto yy160;
+ case 'l': goto yy197;
+ default: goto yy137;
}
-yy230:
- yyaccept = 4;
+yy184:
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case 0x00:
@@ -2381,7 +2198,7 @@ yy230:
case '=':
case '^':
case '|':
- case '~': goto yy206;
+ case '~': goto yy162;
case '0':
case '1':
case '2':
@@ -2443,12 +2260,12 @@ yy230:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy204;
- case 'f': goto yy244;
- default: goto yy182;
+ case 'z': goto yy160;
+ case 'f': goto yy198;
+ default: goto yy137;
}
-yy231:
- yyaccept = 6;
+yy185:
+ yyaccept = 4;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case 0x00:
@@ -2464,9 +2281,9 @@ yy231:
case '=':
case '^':
case '|':
- case '~': goto yy232;
+ case '~': goto yy186;
case '\t':
- case ' ': goto yy245;
+ case ' ': goto yy199;
case '0':
case '1':
case '2':
@@ -2529,13 +2346,13 @@ yy231:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy204;
- default: goto yy182;
+ case 'z': goto yy160;
+ default: goto yy137;
}
-yy232:
+yy186:
{}
-yy233:
- yyaccept = 4;
+yy187:
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case 0x00:
@@ -2553,7 +2370,7 @@ yy233:
case '=':
case '^':
case '|':
- case '~': goto yy206;
+ case '~': goto yy162;
case '0':
case '1':
case '2':
@@ -2615,12 +2432,12 @@ yy233:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy204;
- case 'u': goto yy247;
- default: goto yy182;
+ case 'z': goto yy160;
+ case 'u': goto yy201;
+ default: goto yy137;
}
-yy234:
- yyaccept = 4;
+yy188:
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case 0x00:
@@ -2638,7 +2455,7 @@ yy234:
case '=':
case '^':
case '|':
- case '~': goto yy206;
+ case '~': goto yy162;
case '0':
case '1':
case '2':
@@ -2700,25 +2517,25 @@ yy234:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy204;
- case 's': goto yy231;
- default: goto yy182;
+ case 'z': goto yy160;
+ case 's': goto yy185;
+ default: goto yy137;
}
-yy235:
+yy189:
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
- case 0x00: goto yy183;
- case '$': goto yy235;
- case '\\': goto yy216;
- default: goto yy181;
+ case 0x00: goto yy138;
+ case '$': goto yy189;
+ case '\\': goto yy170;
+ default: goto yy136;
}
-yy237:
+yy191:
++YYCURSOR;
{}
-yy239:
- yyaccept = 4;
+yy193:
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case 0x00:
@@ -2736,7 +2553,7 @@ yy239:
case '=':
case '^':
case '|':
- case '~': goto yy206;
+ case '~': goto yy162;
case '0':
case '1':
case '2':
@@ -2798,21 +2615,21 @@ yy239:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy204;
- case 's': goto yy242;
- default: goto yy182;
+ case 'z': goto yy160;
+ case 's': goto yy196;
+ default: goto yy137;
}
-yy240:
+yy194:
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case '\t':
- case ' ': goto yy240;
- default: goto yy228;
+ case ' ': goto yy194;
+ default: goto yy182;
}
-yy242:
- yyaccept = 4;
+yy196:
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case 0x00:
@@ -2830,7 +2647,7 @@ yy242:
case '=':
case '^':
case '|':
- case '~': goto yy206;
+ case '~': goto yy162;
case '0':
case '1':
case '2':
@@ -2892,12 +2709,12 @@ yy242:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy204;
- case 'e': goto yy244;
- default: goto yy182;
+ case 'z': goto yy160;
+ case 'e': goto yy198;
+ default: goto yy137;
}
-yy243:
- yyaccept = 4;
+yy197:
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case 0x00:
@@ -2915,7 +2732,7 @@ yy243:
case '=':
case '^':
case '|':
- case '~': goto yy206;
+ case '~': goto yy162;
case '0':
case '1':
case '2':
@@ -2977,12 +2794,12 @@ yy243:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy204;
- case 'l': goto yy248;
- default: goto yy182;
+ case 'z': goto yy160;
+ case 'l': goto yy202;
+ default: goto yy137;
}
-yy244:
- yyaccept = 5;
+yy198:
+ yyaccept = 3;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case 0x00:
@@ -2998,9 +2815,9 @@ yy244:
case '=':
case '^':
case '|':
- case '~': goto yy228;
+ case '~': goto yy182;
case '\t':
- case ' ': goto yy240;
+ case ' ': goto yy194;
case '0':
case '1':
case '2':
@@ -3063,20 +2880,20 @@ yy244:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy204;
- default: goto yy182;
+ case 'z': goto yy160;
+ default: goto yy137;
}
-yy245:
+yy199:
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case '\t':
- case ' ': goto yy245;
- default: goto yy232;
+ case ' ': goto yy199;
+ default: goto yy186;
}
-yy247:
- yyaccept = 4;
+yy201:
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case 0x00:
@@ -3094,7 +2911,7 @@ yy247:
case '=':
case '^':
case '|':
- case '~': goto yy206;
+ case '~': goto yy162;
case '0':
case '1':
case '2':
@@ -3156,12 +2973,12 @@ yy247:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy204;
- case 'e': goto yy231;
- default: goto yy182;
+ case 'z': goto yy160;
+ case 'e': goto yy185;
+ default: goto yy137;
}
-yy248:
- yyaccept = 7;
+yy202:
+ yyaccept = 5;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case 0x00:
@@ -3177,9 +2994,9 @@ yy248:
case '=':
case '^':
case '|':
- case '~': goto yy249;
+ case '~': goto yy203;
case '\t':
- case ' ': goto yy250;
+ case ' ': goto yy204;
case '0':
case '1':
case '2':
@@ -3242,21 +3059,101 @@ yy248:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy204;
- default: goto yy182;
+ case 'z': goto yy160;
+ default: goto yy137;
}
-yy249:
+yy203:
{}
-yy250:
+yy204:
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case '\t':
- case ' ': goto yy250;
- default: goto yy249;
+ case ' ': goto yy204;
+ default: goto yy203;
+ }
+/* *********************************** */
+yyc_ST_SECTION_RAW:
+ YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '\n':
+ case '\r': goto yy211;
+ case ']': goto yy213;
+ default: goto yy208;
+ }
+yy208:
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '\n':
+ case '\r':
+ case ']': goto yy210;
+ default: goto yy208;
+ }
+yy210:
+ {}
+yy211:
+ ++YYCURSOR;
+ {}
+yy213:
+ ++YYCURSOR;
+ YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '\t':
+ case ' ': goto yy213;
+ case '\n': goto yy216;
+ case '\r': goto yy217;
+ default: goto yy215;
+ }
+yy215:
+ {}
+yy216:
+ ++YYCURSOR;
+ goto yy215;
+yy217:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '\n': goto yy216;
+ default: goto yy215;
}
/* *********************************** */
+yyc_ST_DOUBLE_QUOTES:
+ YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '"': goto yy222;
+ case '$': goto yy225;
+ default: goto yy220;
+ }
+yy220:
+ ++YYCURSOR;
+yy221:
+ {}
+yy222:
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '\t':
+ case ' ': goto yy222;
+ default: goto yy224;
+ }
+yy224:
+ {}
+yy225:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '{': goto yy226;
+ default: goto yy221;
+ }
+yy226:
+ ++YYCURSOR;
+ {}
+/* *********************************** */
yyc_ST_VARNAME:
YYFILL(1);
yych = *YYCURSOR;
@@ -3276,11 +3173,11 @@ yyc_ST_VARNAME:
case '^':
case '{':
case '|':
- case '~': goto yy257;
- case '}': goto yy259;
- default: goto yy254;
+ case '~': goto yy233;
+ case '}': goto yy235;
+ default: goto yy230;
}
-yy254:
+yy230:
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
@@ -3301,25 +3198,100 @@ yy254:
case '{':
case '|':
case '}':
- case '~': goto yy256;
- default: goto yy254;
+ case '~': goto yy232;
+ default: goto yy230;
}
-yy256:
+yy232:
{}
-yy257:
+yy233:
++YYCURSOR;
{}
-yy259:
+yy235:
++YYCURSOR;
{}
+/* *********************************** */
+yyc_ST_RAW:
+ YYFILL(3);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy239;
+ case '\t':
+ case ' ': goto yy243;
+ case '\n': goto yy244;
+ case '\r': goto yy246;
+ case ';': goto yy247;
+ default: goto yy241;
+ }
+yy239:
+ ++YYCURSOR;
+ {}
+yy241:
+ ++YYCURSOR;
+yy242:
+ {}
+yy243:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '\t':
+ case '\n':
+ case '\r':
+ case ' ':
+ case ';': goto yy250;
+ default: goto yy242;
+ }
+yy244:
+ ++YYCURSOR;
+yy245:
+ {}
+yy246:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '\n': goto yy244;
+ default: goto yy245;
+ }
+yy247:
+ ++YYCURSOR;
+ YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '\n': goto yy252;
+ case '\r': goto yy254;
+ default: goto yy247;
+ }
+yy249:
+ ++YYCURSOR;
+ YYFILL(2);
+ yych = *YYCURSOR;
+yy250:
+ switch (yych) {
+ case '\t':
+ case ' ': goto yy249;
+ case '\n': goto yy244;
+ case '\r': goto yy246;
+ case ';': goto yy247;
+ default: goto yy251;
+ }
+yy251:
+ {}
+yy252:
+ ++YYCURSOR;
+yy253:
+ {}
+yy254:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '\n': goto yy252;
+ default: goto yy253;
+ }
}
re2c: warning: line 4: column 13: escape has no effect: '\.' [-Wuseless-escape]
re2c: warning: line 4: column 32: escape has no effect: '\.' [-Wuseless-escape]
re2c: warning: line 11: column 27: escape has no effect: '\[' [-Wuseless-escape]
re2c: warning: line 12: column 11: escape has no effect: '\[' [-Wuseless-escape]
-re2c: warning: line 55: unreachable rule in condition 'ST_DOUBLE_QUOTES' (shadowed by rules at lines 48, 49) [-Wunreachable-rules]
+re2c: warning: line 55: unreachable rule in condition 'INITIAL' (shadowed by rules at lines 24, 35, 36, 42, 51, 52, 53) [-Wunreachable-rules]
re2c: warning: line 50: unreachable rule in condition 'ST_OFFSET' (shadowed by rule at line 46) [-Wunreachable-rules]
-re2c: warning: line 55: unreachable rule in condition 'ST_RAW' (shadowed by rules at lines 37, 39, 54) [-Wunreachable-rules]
re2c: warning: line 50: unreachable rule in condition 'ST_SECTION_VALUE' (shadowed by rule at line 46) [-Wunreachable-rules]
re2c: warning: line 55: unreachable rule in condition 'ST_VALUE' (shadowed by rules at lines 39, 40, 41, 43, 44, 45, 47, 50, 54) [-Wunreachable-rules]
+re2c: warning: line 55: unreachable rule in condition 'ST_DOUBLE_QUOTES' (shadowed by rules at lines 48, 49) [-Wunreachable-rules]
+re2c: warning: line 55: unreachable rule in condition 'ST_RAW' (shadowed by rules at lines 37, 39, 54) [-Wunreachable-rules]
diff --git a/test/php20150211_zend_ini_scanner_trimmed.icwb--flex-syntax.c b/test/php20150211_zend_ini_scanner_trimmed.icwb--flex-syntax.c
index 3933db66..22f967dd 100644
--- a/test/php20150211_zend_ini_scanner_trimmed.icwb--flex-syntax.c
+++ b/test/php20150211_zend_ini_scanner_trimmed.icwb--flex-syntax.c
@@ -149,7 +149,7 @@ yy6:
if (yych >= '\r') goto yy11;
} else {
if (yych <= ';') {
- if (yych >= ';') goto yy31;
+ if (yych >= ';') goto yy16;
} else {
if (yych == '=') goto yy18;
}
@@ -197,7 +197,7 @@ yy12:
if (yych <= ';') {
if (yych <= ')') goto yy5;
if (yych <= ':') goto yy3;
- goto yy31;
+ goto yy16;
} else {
if (yych == '=') goto yy18;
goto yy3;
@@ -219,9 +219,15 @@ yy14:
{}
yy16:
++YYCURSOR;
+ YYFILL(2);
yych = *YYCURSOR;
- goto yy32;
- {}
+ if (yych & ~0xFF) {
+ goto yy16;
+ } else if (yybm[0+yych] & 128) {
+ goto yy16;
+ }
+ if (yych <= '\n') goto yy31;
+ goto yy33;
yy18:
++YYCURSOR;
YYFILL(1);
@@ -234,25 +240,25 @@ yy21:
{}
yy23:
yych = *++YYCURSOR;
- if (yych == 'a') goto yy36;
+ if (yych == 'a') goto yy34;
goto yy4;
yy24:
yych = *++YYCURSOR;
- if (yych == 'o') goto yy37;
- if (yych == 'u') goto yy39;
+ if (yych == 'o') goto yy35;
+ if (yych == 'u') goto yy37;
goto yy4;
yy25:
yych = *++YYCURSOR;
- if (yych == 'f') goto yy40;
- if (yych == 'n') goto yy41;
+ if (yych == 'f') goto yy38;
+ if (yych == 'n') goto yy39;
goto yy4;
yy26:
yych = *++YYCURSOR;
- if (yych == 'r') goto yy44;
+ if (yych == 'r') goto yy42;
goto yy4;
yy27:
yych = *++YYCURSOR;
- if (yych == 'e') goto yy45;
+ if (yych == 'e') goto yy43;
goto yy4;
yy28:
++YYCURSOR;
@@ -263,40 +269,29 @@ yy28:
{}
yy31:
++YYCURSOR;
- YYFILL(2);
- yych = *YYCURSOR;
yy32:
- if (yych & ~0xFF) {
- goto yy31;
- } else if (yybm[0+yych] & 128) {
- goto yy31;
- }
- if (yych >= '\v') goto yy35;
-yy33:
- ++YYCURSOR;
-yy34:
{}
-yy35:
+yy33:
yych = *++YYCURSOR;
- if (yych == '\n') goto yy33;
- goto yy34;
-yy36:
+ if (yych == '\n') goto yy31;
+ goto yy32;
+yy34:
yych = *++YYCURSOR;
- if (yych == 'l') goto yy46;
+ if (yych == 'l') goto yy44;
goto yy4;
-yy37:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '&') {
+yy35:
+ yych = *++YYCURSOR;
+ if (yych <= '&') {
if (yych <= 0x001F) {
if (yych <= '\n') {
if (yych <= 0x0008) goto yy4;
- if (yych <= '\t') goto yy47;
+ if (yych <= '\t') goto yy45;
} else {
if (yych != '\r') goto yy4;
}
} else {
if (yych <= '#') {
- if (yych <= ' ') goto yy49;
+ if (yych <= ' ') goto yy47;
if (yych >= '#') goto yy4;
} else {
if (yych == '%') goto yy4;
@@ -314,23 +309,23 @@ yy37:
if (yych <= 'm') {
if (yych != '^') goto yy4;
} else {
- if (yych <= 'n') goto yy51;
+ if (yych <= 'n') goto yy49;
if (yych <= 'z') goto yy4;
if (yych >= 0x007F) goto yy4;
}
}
}
-yy38:
+yy36:
{}
-yy39:
+yy37:
yych = *++YYCURSOR;
- if (yych == 'l') goto yy52;
+ if (yych == 'l') goto yy50;
goto yy4;
-yy40:
+yy38:
yych = *++YYCURSOR;
- if (yych == 'f') goto yy49;
+ if (yych == 'f') goto yy47;
goto yy4;
-yy41:
+yy39:
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
@@ -338,13 +333,13 @@ yy41:
if (yych <= 0x001F) {
if (yych <= '\n') {
if (yych <= 0x0008) goto yy3;
- if (yych <= '\t') goto yy53;
+ if (yych <= '\t') goto yy51;
} else {
if (yych != '\r') goto yy3;
}
} else {
if (yych <= '#') {
- if (yych <= ' ') goto yy41;
+ if (yych <= ' ') goto yy39;
if (yych >= '#') goto yy3;
} else {
if (yych == '%') goto yy3;
@@ -363,34 +358,34 @@ yy41:
if (yych == '[') goto yy28;
goto yy3;
} else {
- if (yych <= '^') goto yy43;
+ if (yych <= '^') goto yy41;
if (yych <= 'z') goto yy3;
if (yych >= 0x007F) goto yy3;
}
}
}
-yy43:
+yy41:
{}
-yy44:
+yy42:
yych = *++YYCURSOR;
- if (yych == 'u') goto yy55;
+ if (yych == 'u') goto yy53;
goto yy4;
-yy45:
+yy43:
yych = *++YYCURSOR;
- if (yych == 's') goto yy41;
+ if (yych == 's') goto yy39;
goto yy4;
-yy46:
+yy44:
yych = *++YYCURSOR;
- if (yych == 's') goto yy51;
+ if (yych == 's') goto yy49;
goto yy4;
-yy47:
+yy45:
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\t') goto yy47;
- if (yych == ' ') goto yy47;
- goto yy38;
-yy49:
+ if (yych == '\t') goto yy45;
+ if (yych == ' ') goto yy45;
+ goto yy36;
+yy47:
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
@@ -398,64 +393,64 @@ yy49:
if (yych <= 0x001F) {
if (yych <= '\n') {
if (yych <= 0x0008) goto yy3;
- if (yych <= '\t') goto yy47;
- goto yy38;
+ if (yych <= '\t') goto yy45;
+ goto yy36;
} else {
- if (yych == '\r') goto yy38;
+ if (yych == '\r') goto yy36;
goto yy3;
}
} else {
if (yych <= '#') {
- if (yych <= ' ') goto yy49;
- if (yych <= '"') goto yy38;
+ if (yych <= ' ') goto yy47;
+ if (yych <= '"') goto yy36;
goto yy3;
} else {
if (yych == '%') goto yy3;
- goto yy38;
+ goto yy36;
}
}
} else {
if (yych <= '=') {
if (yych <= ':') {
if (yych <= '\'') goto yy3;
- if (yych <= ')') goto yy38;
+ if (yych <= ')') goto yy36;
goto yy3;
} else {
if (yych == '<') goto yy3;
- goto yy38;
+ goto yy36;
}
} else {
if (yych <= ']') {
if (yych == '[') goto yy28;
goto yy3;
} else {
- if (yych <= '^') goto yy38;
+ if (yych <= '^') goto yy36;
if (yych <= 'z') goto yy3;
- if (yych <= '~') goto yy38;
+ if (yych <= '~') goto yy36;
goto yy3;
}
}
}
-yy51:
+yy49:
yych = *++YYCURSOR;
- if (yych == 'e') goto yy49;
+ if (yych == 'e') goto yy47;
goto yy4;
-yy52:
+yy50:
yych = *++YYCURSOR;
- if (yych == 'l') goto yy56;
+ if (yych == 'l') goto yy54;
goto yy4;
-yy53:
+yy51:
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\t') goto yy53;
- if (yych == ' ') goto yy53;
- goto yy43;
-yy55:
+ if (yych == '\t') goto yy51;
+ if (yych == ' ') goto yy51;
+ goto yy41;
+yy53:
yych = *++YYCURSOR;
- if (yych == 'e') goto yy41;
+ if (yych == 'e') goto yy39;
goto yy4;
-yy56:
+yy54:
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
@@ -463,13 +458,13 @@ yy56:
if (yych <= 0x001F) {
if (yych <= '\n') {
if (yych <= 0x0008) goto yy3;
- if (yych <= '\t') goto yy59;
+ if (yych <= '\t') goto yy57;
} else {
if (yych != '\r') goto yy3;
}
} else {
if (yych <= '#') {
- if (yych <= ' ') goto yy56;
+ if (yych <= ' ') goto yy54;
if (yych >= '#') goto yy3;
} else {
if (yych == '%') goto yy3;
@@ -488,82 +483,21 @@ yy56:
if (yych == '[') goto yy28;
goto yy3;
} else {
- if (yych <= '^') goto yy58;
+ if (yych <= '^') goto yy56;
if (yych <= 'z') goto yy3;
if (yych >= 0x007F) goto yy3;
}
}
}
-yy58:
- {}
-yy59:
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- if (yych == '\t') goto yy59;
- if (yych == ' ') goto yy59;
- goto yy58;
- }
-/* *********************************** */
-yyc_ST_DOUBLE_QUOTES:
- {
- static const unsigned char yybm[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 128, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 128, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- };
- YYFILL(2);
- yych = *YYCURSOR;
- if (yych == '"') goto yy65;
- if (yych == '$') goto yy68;
- ++YYCURSOR;
-yy64:
+yy56:
{}
-yy65:
+yy57:
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- if (yych & ~0xFF) {
- goto yy67;
- } else if (yybm[0+yych] & 128) {
- goto yy65;
- }
-yy67:
- {}
-yy68:
- yych = *++YYCURSOR;
- if (yych != '{') goto yy64;
- ++YYCURSOR;
- {}
+ if (yych == '\t') goto yy57;
+ if (yych == ' ') goto yy57;
+ goto yy56;
}
/* *********************************** */
yyc_ST_OFFSET:
@@ -605,507 +539,289 @@ yyc_ST_OFFSET:
YYFILL(2);
yych = *YYCURSOR;
if (yych & ~0xFF) {
- goto yy73;
+ goto yy61;
} else if (yybm[0+yych] & 8) {
- goto yy76;
+ goto yy64;
}
if (yych <= '/') {
if (yych <= '"') {
if (yych <= '\f') {
- if (yych <= 0x0008) goto yy73;
- if (yych <= '\n') goto yy78;
+ if (yych <= 0x0008) goto yy61;
+ if (yych <= '\n') goto yy66;
} else {
- if (yych <= '\r') goto yy78;
- if (yych >= '"') goto yy80;
+ if (yych <= '\r') goto yy66;
+ if (yych >= '"') goto yy68;
}
} else {
if (yych <= '&') {
- if (yych == '$') goto yy82;
+ if (yych == '$') goto yy70;
} else {
- if (yych <= '\'') goto yy83;
- if (yych <= ',') goto yy73;
- if (yych <= '.') goto yy84;
+ if (yych <= '\'') goto yy71;
+ if (yych <= ',') goto yy61;
+ if (yych <= '.') goto yy72;
}
}
} else {
if (yych <= '[') {
if (yych <= ';') {
- if (yych <= '9') goto yy85;
- if (yych >= ';') goto yy78;
+ if (yych <= '9') goto yy73;
+ if (yych >= ';') goto yy66;
} else {
- if (yych <= '@') goto yy73;
- if (yych <= 'Z') goto yy88;
+ if (yych <= '@') goto yy61;
+ if (yych <= 'Z') goto yy76;
}
} else {
if (yych <= '^') {
- if (yych <= '\\') goto yy91;
- if (yych <= ']') goto yy92;
+ if (yych <= '\\') goto yy79;
+ if (yych <= ']') goto yy80;
} else {
- if (yych == '`') goto yy73;
- if (yych <= 'z') goto yy88;
+ if (yych == '`') goto yy61;
+ if (yych <= 'z') goto yy76;
}
}
}
-yy73:
+yy61:
yyaccept = 0;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
-yy74:
+yy62:
if (yych & ~0xFF) {
- goto yy73;
+ goto yy61;
} else if (yybm[0+yych] & 4) {
- goto yy73;
+ goto yy61;
}
- if (yych <= '"') goto yy75;
- if (yych <= '$') goto yy94;
- if (yych <= ';') goto yy75;
- if (yych <= '\\') goto yy96;
-yy75:
+ if (yych <= '"') goto yy63;
+ if (yych <= '$') goto yy82;
+ if (yych <= ';') goto yy63;
+ if (yych <= '\\') goto yy79;
+yy63:
{}
-yy76:
+yy64:
yyaccept = 0;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
if (yych & ~0xFF) {
- goto yy73;
+ goto yy61;
} else if (yybm[0+yych] & 8) {
- goto yy76;
+ goto yy64;
}
if (yych <= '$') {
if (yych <= '\r') {
- if (yych <= 0x0008) goto yy73;
- if (yych <= '\n') goto yy75;
- if (yych <= '\f') goto yy73;
- goto yy75;
+ if (yych <= 0x0008) goto yy61;
+ if (yych <= '\n') goto yy63;
+ if (yych <= '\f') goto yy61;
+ goto yy63;
} else {
- if (yych == '"') goto yy80;
- if (yych <= '#') goto yy73;
- goto yy94;
+ if (yych == '"') goto yy68;
+ if (yych <= '#') goto yy61;
+ goto yy82;
}
} else {
if (yych <= ';') {
- if (yych == '\'') goto yy75;
- if (yych <= ':') goto yy73;
- goto yy75;
+ if (yych == '\'') goto yy63;
+ if (yych <= ':') goto yy61;
+ goto yy63;
} else {
- if (yych <= '[') goto yy73;
- if (yych <= '\\') goto yy96;
- if (yych <= ']') goto yy92;
- goto yy73;
+ if (yych <= '[') goto yy61;
+ if (yych <= '\\') goto yy79;
+ if (yych <= ']') goto yy80;
+ goto yy61;
}
}
-yy78:
+yy66:
++YYCURSOR;
-yy79:
+yy67:
{}
-yy80:
+yy68:
++YYCURSOR;
{}
-yy82:
+yy70:
yych = *++YYCURSOR;
if (yych <= '\\') {
- if (yych <= 0x0000) goto yy79;
- if (yych <= '[') goto yy73;
- goto yy97;
+ if (yych <= 0x0000) goto yy67;
+ if (yych <= '[') goto yy61;
+ goto yy84;
} else {
- if (yych == '{') goto yy99;
- goto yy73;
+ if (yych == '{') goto yy86;
+ goto yy61;
}
-yy83:
- yyaccept = 1;
- yych = *(YYMARKER = ++YYCURSOR);
+yy71:
+ yych = *++YYCURSOR;
if (yych & ~0xFF) {
- goto yy101;
+ goto yy88;
} else if (yybm[0+yych] & 128) {
- goto yy101;
+ goto yy88;
}
- goto yy79;
-yy84:
+ goto yy67;
+yy72:
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') goto yy74;
- if (yych <= '9') goto yy103;
- goto yy74;
-yy85:
- yyaccept = 2;
+ if (yych <= '/') goto yy62;
+ if (yych <= '9') goto yy90;
+ goto yy62;
+yy73:
+ yyaccept = 1;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
if (yych & ~0xFF) {
- goto yy73;
+ goto yy61;
} else if (yybm[0+yych] & 16) {
- goto yy85;
+ goto yy73;
}
if (yych <= '&') {
if (yych <= '\r') {
- if (yych == '\n') goto yy87;
- if (yych <= '\f') goto yy73;
+ if (yych == '\n') goto yy75;
+ if (yych <= '\f') goto yy61;
} else {
if (yych <= '"') {
- if (yych <= '!') goto yy73;
+ if (yych <= '!') goto yy61;
} else {
- if (yych == '$') goto yy94;
- goto yy73;
+ if (yych == '$') goto yy82;
+ goto yy61;
}
}
} else {
if (yych <= ':') {
- if (yych <= '\'') goto yy87;
- if (yych == '.') goto yy103;
- goto yy73;
+ if (yych <= '\'') goto yy75;
+ if (yych == '.') goto yy90;
+ goto yy61;
} else {
if (yych <= '[') {
- if (yych >= '<') goto yy73;
+ if (yych >= '<') goto yy61;
} else {
- if (yych <= '\\') goto yy96;
- if (yych >= '^') goto yy73;
+ if (yych <= '\\') goto yy79;
+ if (yych >= '^') goto yy61;
}
}
}
-yy87:
+yy75:
{}
-yy88:
- yyaccept = 3;
+yy76:
+ yyaccept = 2;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
if (yych & ~0xFF) {
- goto yy73;
+ goto yy61;
} else if (yybm[0+yych] & 32) {
- goto yy88;
+ goto yy76;
}
if (yych <= '$') {
if (yych <= '\r') {
- if (yych == '\n') goto yy90;
- if (yych <= '\f') goto yy73;
+ if (yych == '\n') goto yy78;
+ if (yych <= '\f') goto yy61;
} else {
- if (yych == '"') goto yy90;
- if (yych <= '#') goto yy73;
- goto yy94;
+ if (yych == '"') goto yy78;
+ if (yych <= '#') goto yy61;
+ goto yy82;
}
} else {
if (yych <= ';') {
- if (yych == '\'') goto yy90;
- if (yych <= ':') goto yy73;
+ if (yych == '\'') goto yy78;
+ if (yych <= ':') goto yy61;
} else {
- if (yych <= '[') goto yy73;
- if (yych <= '\\') goto yy96;
- if (yych >= '^') goto yy73;
+ if (yych <= '[') goto yy61;
+ if (yych <= '\\') goto yy79;
+ if (yych >= '^') goto yy61;
}
}
-yy90:
+yy78:
{}
-yy91:
- yych = *++YYCURSOR;
- goto yy73;
-yy92:
+yy79:
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
+ goto yy61;
+yy80:
++YYCURSOR;
{}
-yy94:
+yy82:
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
if (yych <= '\\') {
- if (yych <= 0x0000) goto yy95;
- if (yych <= '[') goto yy73;
- goto yy97;
+ if (yych <= 0x0000) goto yy83;
+ if (yych <= '[') goto yy61;
+ goto yy84;
} else {
- if (yych != '{') goto yy73;
+ if (yych != '{') goto yy61;
}
-yy95:
+yy83:
YYCURSOR = YYMARKER;
if (yyaccept <= 1) {
if (yyaccept == 0) {
- goto yy75;
+ goto yy63;
} else {
- goto yy79;
+ goto yy75;
}
} else {
- if (yyaccept == 2) {
- goto yy87;
- } else {
- goto yy90;
- }
+ goto yy78;
}
-yy96:
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- goto yy73;
-yy97:
+yy84:
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
if (yych & ~0xFF) {
- goto yy73;
+ goto yy61;
} else if (yybm[0+yych] & 64) {
- goto yy97;
+ goto yy84;
}
- goto yy73;
-yy99:
+ goto yy61;
+yy86:
++YYCURSOR;
{}
-yy101:
+yy88:
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
if (yych & ~0xFF) {
- goto yy101;
+ goto yy88;
} else if (yybm[0+yych] & 128) {
- goto yy101;
+ goto yy88;
}
- goto yy105;
-yy103:
- yyaccept = 2;
+ goto yy92;
+yy90:
+ yyaccept = 1;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
if (yych <= '&') {
if (yych <= '\r') {
- if (yych == '\n') goto yy87;
- if (yych <= '\f') goto yy73;
- goto yy87;
+ if (yych == '\n') goto yy75;
+ if (yych <= '\f') goto yy61;
+ goto yy75;
} else {
if (yych <= '"') {
- if (yych <= '!') goto yy73;
- goto yy87;
+ if (yych <= '!') goto yy61;
+ goto yy75;
} else {
- if (yych == '$') goto yy94;
- goto yy73;
+ if (yych == '$') goto yy82;
+ goto yy61;
}
}
} else {
if (yych <= ':') {
- if (yych <= '\'') goto yy87;
- if (yych <= '/') goto yy73;
- if (yych <= '9') goto yy103;
- goto yy73;
+ if (yych <= '\'') goto yy75;
+ if (yych <= '/') goto yy61;
+ if (yych <= '9') goto yy90;
+ goto yy61;
} else {
if (yych <= '[') {
- if (yych <= ';') goto yy87;
- goto yy73;
+ if (yych <= ';') goto yy75;
+ goto yy61;
} else {
- if (yych <= '\\') goto yy96;
- if (yych <= ']') goto yy87;
- goto yy73;
+ if (yych <= '\\') goto yy79;
+ if (yych <= ']') goto yy75;
+ goto yy61;
}
}
}
-yy105:
- ++YYCURSOR;
- {}
- }
-/* *********************************** */
-yyc_ST_RAW:
- {
- static const unsigned char yybm[] = {
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 192, 0, 128, 128, 0, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 192, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- };
- YYFILL(3);
- yych = *YYCURSOR;
- if (yych <= '\f') {
- if (yych <= 0x0008) {
- if (yych >= 0x0001) goto yy111;
- } else {
- if (yych <= '\t') goto yy113;
- if (yych <= '\n') goto yy114;
- goto yy111;
- }
- } else {
- if (yych <= ' ') {
- if (yych <= '\r') goto yy116;
- if (yych <= 0x001F) goto yy111;
- goto yy113;
- } else {
- if (yych == ';') goto yy117;
- goto yy111;
- }
- }
- ++YYCURSOR;
- {}
-yy111:
- ++YYCURSOR;
-yy112:
- {}
-yy113:
- yych = *++YYCURSOR;
- if (yych <= '\r') {
- if (yych <= 0x0008) goto yy112;
- if (yych <= '\n') goto yy119;
- if (yych <= '\f') goto yy112;
- goto yy119;
- } else {
- if (yych <= ' ') {
- if (yych <= 0x001F) goto yy112;
- goto yy119;
- } else {
- if (yych == ';') goto yy119;
- goto yy112;
- }
- }
-yy114:
- ++YYCURSOR;
-yy115:
- {}
-yy116:
- yych = *++YYCURSOR;
- if (yych == '\n') goto yy114;
- goto yy115;
-yy117:
- yych = *++YYCURSOR;
- goto yy122;
-yy118:
- ++YYCURSOR;
- YYFILL(2);
- yych = *YYCURSOR;
-yy119:
- if (yych & ~0xFF) {
- goto yy120;
- } else if (yybm[0+yych] & 64) {
- goto yy118;
- }
- if (yych <= '\f') {
- if (yych <= 0x0008) goto yy120;
- if (yych <= '\n') goto yy114;
- } else {
- if (yych <= '\r') goto yy116;
- if (yych == ';') goto yy121;
- }
-yy120:
- {}
-yy121:
- ++YYCURSOR;
- YYFILL(2);
- yych = *YYCURSOR;
-yy122:
- if (yych & ~0xFF) {
- goto yy121;
- } else if (yybm[0+yych] & 128) {
- goto yy121;
- }
- if (yych >= '\v') goto yy125;
-yy123:
- ++YYCURSOR;
-yy124:
- {}
-yy125:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '\n') goto yy123;
- goto yy124;
- }
-/* *********************************** */
-yyc_ST_SECTION_RAW:
- {
- static const unsigned char yybm[] = {
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 192, 0, 64, 64, 0, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 192, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 0, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- 64, 64, 64, 64, 64, 64, 64, 64,
- };
- YYFILL(1);
- yych = *YYCURSOR;
- if (yych & ~0xFF) {
- goto yy128;
- } else if (yybm[0+yych] & 64) {
- goto yy128;
- }
- if (yych <= '\r') goto yy131;
- goto yy133;
-yy128:
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- if (yych & ~0xFF) {
- goto yy128;
- } else if (yybm[0+yych] & 64) {
- goto yy128;
- }
- {}
-yy131:
- ++YYCURSOR;
- {}
-yy133:
+yy92:
++YYCURSOR;
- YYFILL(2);
- yych = *YYCURSOR;
- if (yych & ~0xFF) {
- goto yy135;
- } else if (yybm[0+yych] & 128) {
- goto yy133;
- }
- if (yych <= 0x0008) goto yy135;
- if (yych <= '\n') goto yy136;
- if (yych == '\r') goto yy137;
-yy135:
{}
-yy136:
- yych = *++YYCURSOR;
- goto yy135;
-yy137:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '\n') goto yy136;
- goto yy135;
}
/* *********************************** */
yyc_ST_SECTION_VALUE:
@@ -1147,313 +863,305 @@ yyc_ST_SECTION_VALUE:
YYFILL(2);
yych = *YYCURSOR;
if (yych & ~0xFF) {
- goto yy140;
+ goto yy96;
} else if (yybm[0+yych] & 8) {
- goto yy143;
+ goto yy99;
}
if (yych <= '/') {
if (yych <= '"') {
if (yych <= '\f') {
- if (yych <= 0x0008) goto yy140;
- if (yych <= '\n') goto yy145;
+ if (yych <= 0x0008) goto yy96;
+ if (yych <= '\n') goto yy101;
} else {
- if (yych <= '\r') goto yy145;
- if (yych >= '"') goto yy147;
+ if (yych <= '\r') goto yy101;
+ if (yych >= '"') goto yy103;
}
} else {
if (yych <= '&') {
- if (yych == '$') goto yy149;
+ if (yych == '$') goto yy105;
} else {
- if (yych <= '\'') goto yy150;
- if (yych <= ',') goto yy140;
- if (yych <= '.') goto yy151;
+ if (yych <= '\'') goto yy106;
+ if (yych <= ',') goto yy96;
+ if (yych <= '.') goto yy107;
}
}
} else {
if (yych <= '[') {
if (yych <= ';') {
- if (yych <= '9') goto yy152;
- if (yych >= ';') goto yy145;
+ if (yych <= '9') goto yy108;
+ if (yych >= ';') goto yy101;
} else {
- if (yych <= '@') goto yy140;
- if (yych <= 'Z') goto yy155;
+ if (yych <= '@') goto yy96;
+ if (yych <= 'Z') goto yy111;
}
} else {
if (yych <= '^') {
- if (yych <= '\\') goto yy158;
- if (yych <= ']') goto yy159;
+ if (yych <= '\\') goto yy114;
+ if (yych <= ']') goto yy115;
} else {
- if (yych == '`') goto yy140;
- if (yych <= 'z') goto yy155;
+ if (yych == '`') goto yy96;
+ if (yych <= 'z') goto yy111;
}
}
}
-yy140:
+yy96:
yyaccept = 0;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
-yy141:
+yy97:
if (yych & ~0xFF) {
- goto yy140;
+ goto yy96;
} else if (yybm[0+yych] & 4) {
- goto yy140;
+ goto yy96;
}
- if (yych <= '"') goto yy142;
- if (yych <= '$') goto yy162;
- if (yych <= ';') goto yy142;
- if (yych <= '\\') goto yy164;
-yy142:
+ if (yych <= '"') goto yy98;
+ if (yych <= '$') goto yy118;
+ if (yych <= ';') goto yy98;
+ if (yych <= '\\') goto yy114;
+yy98:
{}
-yy143:
+yy99:
yyaccept = 0;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
if (yych & ~0xFF) {
- goto yy140;
+ goto yy96;
} else if (yybm[0+yych] & 8) {
- goto yy143;
+ goto yy99;
}
if (yych <= '$') {
if (yych <= '\r') {
- if (yych <= 0x0008) goto yy140;
- if (yych <= '\n') goto yy142;
- if (yych <= '\f') goto yy140;
- goto yy142;
+ if (yych <= 0x0008) goto yy96;
+ if (yych <= '\n') goto yy98;
+ if (yych <= '\f') goto yy96;
+ goto yy98;
} else {
- if (yych == '"') goto yy147;
- if (yych <= '#') goto yy140;
- goto yy162;
+ if (yych == '"') goto yy103;
+ if (yych <= '#') goto yy96;
+ goto yy118;
}
} else {
if (yych <= ';') {
- if (yych == '\'') goto yy142;
- if (yych <= ':') goto yy140;
- goto yy142;
+ if (yych == '\'') goto yy98;
+ if (yych <= ':') goto yy96;
+ goto yy98;
} else {
- if (yych <= '[') goto yy140;
- if (yych <= '\\') goto yy164;
- if (yych <= ']') goto yy142;
- goto yy140;
+ if (yych <= '[') goto yy96;
+ if (yych <= '\\') goto yy114;
+ if (yych <= ']') goto yy98;
+ goto yy96;
}
}
-yy145:
+yy101:
++YYCURSOR;
-yy146:
+yy102:
{}
-yy147:
+yy103:
++YYCURSOR;
{}
-yy149:
+yy105:
yych = *++YYCURSOR;
if (yych <= '\\') {
- if (yych <= 0x0000) goto yy146;
- if (yych <= '[') goto yy140;
- goto yy165;
+ if (yych <= 0x0000) goto yy102;
+ if (yych <= '[') goto yy96;
+ goto yy120;
} else {
- if (yych == '{') goto yy167;
- goto yy140;
+ if (yych == '{') goto yy122;
+ goto yy96;
}
-yy150:
- yyaccept = 1;
- yych = *(YYMARKER = ++YYCURSOR);
+yy106:
+ yych = *++YYCURSOR;
if (yych & ~0xFF) {
- goto yy169;
+ goto yy124;
} else if (yybm[0+yych] & 128) {
- goto yy169;
+ goto yy124;
}
- goto yy146;
-yy151:
+ goto yy102;
+yy107:
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') goto yy141;
- if (yych <= '9') goto yy171;
- goto yy141;
-yy152:
- yyaccept = 2;
+ if (yych <= '/') goto yy97;
+ if (yych <= '9') goto yy126;
+ goto yy97;
+yy108:
+ yyaccept = 1;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
if (yych & ~0xFF) {
- goto yy140;
+ goto yy96;
} else if (yybm[0+yych] & 16) {
- goto yy152;
+ goto yy108;
}
if (yych <= '&') {
if (yych <= '\r') {
- if (yych == '\n') goto yy154;
- if (yych <= '\f') goto yy140;
+ if (yych == '\n') goto yy110;
+ if (yych <= '\f') goto yy96;
} else {
if (yych <= '"') {
- if (yych <= '!') goto yy140;
+ if (yych <= '!') goto yy96;
} else {
- if (yych == '$') goto yy162;
- goto yy140;
+ if (yych == '$') goto yy118;
+ goto yy96;
}
}
} else {
if (yych <= ':') {
- if (yych <= '\'') goto yy154;
- if (yych == '.') goto yy171;
- goto yy140;
+ if (yych <= '\'') goto yy110;
+ if (yych == '.') goto yy126;
+ goto yy96;
} else {
if (yych <= '[') {
- if (yych >= '<') goto yy140;
+ if (yych >= '<') goto yy96;
} else {
- if (yych <= '\\') goto yy164;
- if (yych >= '^') goto yy140;
+ if (yych <= '\\') goto yy114;
+ if (yych >= '^') goto yy96;
}
}
}
-yy154:
+yy110:
{}
-yy155:
- yyaccept = 3;
+yy111:
+ yyaccept = 2;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
if (yych & ~0xFF) {
- goto yy140;
+ goto yy96;
} else if (yybm[0+yych] & 32) {
- goto yy155;
+ goto yy111;
}
if (yych <= '$') {
if (yych <= '\r') {
- if (yych == '\n') goto yy157;
- if (yych <= '\f') goto yy140;
+ if (yych == '\n') goto yy113;
+ if (yych <= '\f') goto yy96;
} else {
- if (yych == '"') goto yy157;
- if (yych <= '#') goto yy140;
- goto yy162;
+ if (yych == '"') goto yy113;
+ if (yych <= '#') goto yy96;
+ goto yy118;
}
} else {
if (yych <= ';') {
- if (yych == '\'') goto yy157;
- if (yych <= ':') goto yy140;
+ if (yych == '\'') goto yy113;
+ if (yych <= ':') goto yy96;
} else {
- if (yych <= '[') goto yy140;
- if (yych <= '\\') goto yy164;
- if (yych >= '^') goto yy140;
+ if (yych <= '[') goto yy96;
+ if (yych <= '\\') goto yy114;
+ if (yych >= '^') goto yy96;
}
}
-yy157:
+yy113:
{}
-yy158:
- yych = *++YYCURSOR;
- goto yy140;
-yy159:
+yy114:
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
+ goto yy96;
+yy115:
++YYCURSOR;
YYFILL(2);
yych = *YYCURSOR;
if (yych <= '\f') {
- if (yych <= 0x0008) goto yy161;
- if (yych <= '\t') goto yy159;
- if (yych <= '\n') goto yy173;
+ if (yych <= 0x0008) goto yy117;
+ if (yych <= '\t') goto yy115;
+ if (yych <= '\n') goto yy128;
} else {
- if (yych <= '\r') goto yy174;
- if (yych == ' ') goto yy159;
+ if (yych <= '\r') goto yy129;
+ if (yych == ' ') goto yy115;
}
-yy161:
+yy117:
{}
-yy162:
+yy118:
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
if (yych <= '\\') {
- if (yych <= 0x0000) goto yy163;
- if (yych <= '[') goto yy140;
- goto yy165;
+ if (yych <= 0x0000) goto yy119;
+ if (yych <= '[') goto yy96;
+ goto yy120;
} else {
- if (yych != '{') goto yy140;
+ if (yych != '{') goto yy96;
}
-yy163:
+yy119:
YYCURSOR = YYMARKER;
if (yyaccept <= 1) {
if (yyaccept == 0) {
- goto yy142;
+ goto yy98;
} else {
- goto yy146;
+ goto yy110;
}
} else {
- if (yyaccept == 2) {
- goto yy154;
- } else {
- goto yy157;
- }
+ goto yy113;
}
-yy164:
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- goto yy140;
-yy165:
+yy120:
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
if (yych & ~0xFF) {
- goto yy140;
+ goto yy96;
} else if (yybm[0+yych] & 64) {
- goto yy165;
+ goto yy120;
}
- goto yy140;
-yy167:
+ goto yy96;
+yy122:
++YYCURSOR;
{}
-yy169:
+yy124:
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
if (yych & ~0xFF) {
- goto yy169;
+ goto yy124;
} else if (yybm[0+yych] & 128) {
- goto yy169;
+ goto yy124;
}
- goto yy175;
-yy171:
- yyaccept = 2;
+ goto yy130;
+yy126:
+ yyaccept = 1;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
if (yych <= '&') {
if (yych <= '\r') {
- if (yych == '\n') goto yy154;
- if (yych <= '\f') goto yy140;
- goto yy154;
+ if (yych == '\n') goto yy110;
+ if (yych <= '\f') goto yy96;
+ goto yy110;
} else {
if (yych <= '"') {
- if (yych <= '!') goto yy140;
- goto yy154;
+ if (yych <= '!') goto yy96;
+ goto yy110;
} else {
- if (yych == '$') goto yy162;
- goto yy140;
+ if (yych == '$') goto yy118;
+ goto yy96;
}
}
} else {
if (yych <= ':') {
- if (yych <= '\'') goto yy154;
- if (yych <= '/') goto yy140;
- if (yych <= '9') goto yy171;
- goto yy140;
+ if (yych <= '\'') goto yy110;
+ if (yych <= '/') goto yy96;
+ if (yych <= '9') goto yy126;
+ goto yy96;
} else {
if (yych <= '[') {
- if (yych <= ';') goto yy154;
- goto yy140;
+ if (yych <= ';') goto yy110;
+ goto yy96;
} else {
- if (yych <= '\\') goto yy164;
- if (yych <= ']') goto yy154;
- goto yy140;
+ if (yych <= '\\') goto yy114;
+ if (yych <= ']') goto yy110;
+ goto yy96;
}
}
}
-yy173:
- yych = *++YYCURSOR;
- goto yy161;
-yy174:
+yy128:
+ ++YYCURSOR;
+ goto yy117;
+yy129:
yych = *++YYCURSOR;
- if (yych == '\n') goto yy173;
- goto yy161;
-yy175:
+ if (yych == '\n') goto yy128;
+ goto yy117;
+yy130:
++YYCURSOR;
{}
}
@@ -1461,84 +1169,84 @@ yy175:
yyc_ST_VALUE:
{
static const unsigned char yybm[] = {
- 96, 98, 98, 98, 98, 98, 98, 98,
- 98, 100, 64, 98, 98, 64, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 100, 96, 96, 98, 224, 98, 96, 32,
- 96, 96, 98, 98, 98, 98, 98, 98,
+ 80, 82, 82, 82, 82, 82, 82, 82,
+ 82, 84, 64, 82, 82, 64, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 84, 80, 80, 82, 208, 82, 80, 16,
+ 80, 80, 82, 82, 82, 82, 82, 82,
122, 122, 122, 122, 122, 122, 122, 122,
- 122, 122, 98, 96, 98, 96, 98, 98,
- 98, 114, 114, 114, 114, 114, 114, 114,
+ 122, 122, 82, 80, 82, 80, 82, 82,
+ 82, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
- 114, 114, 114, 98, 98, 98, 96, 114,
- 98, 114, 114, 114, 114, 114, 114, 114,
+ 114, 114, 114, 82, 82, 82, 80, 114,
+ 82, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
114, 114, 114, 114, 114, 114, 114, 114,
- 114, 114, 114, 98, 96, 98, 96, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
- 98, 98, 98, 98, 98, 98, 98, 98,
+ 114, 114, 114, 82, 80, 82, 80, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
+ 82, 82, 82, 82, 82, 82, 82, 82,
};
YYFILL(6);
yych = *YYCURSOR;
if (yych & ~0xFF) {
- goto yy181;
+ goto yy136;
} else if (yybm[0+yych] & 4) {
- goto yy184;
+ goto yy139;
}
if (yych <= '<') {
if (yych <= '$') {
if (yych <= '\r') {
if (yych <= 0x0008) {
- if (yych >= 0x0001) goto yy181;
+ if (yych >= 0x0001) goto yy136;
} else {
- if (yych <= '\n') goto yy187;
- if (yych <= '\f') goto yy181;
- goto yy189;
+ if (yych <= '\n') goto yy142;
+ if (yych <= '\f') goto yy136;
+ goto yy144;
}
} else {
if (yych <= '!') {
- if (yych <= 0x001F) goto yy181;
- goto yy190;
+ if (yych <= 0x001F) goto yy136;
+ goto yy145;
} else {
- if (yych <= '"') goto yy193;
- if (yych <= '#') goto yy181;
- goto yy195;
+ if (yych <= '"') goto yy148;
+ if (yych <= '#') goto yy136;
+ goto yy150;
}
}
} else {
if (yych <= ',') {
if (yych <= '&') {
- if (yych <= '%') goto yy181;
- goto yy190;
+ if (yych <= '%') goto yy136;
+ goto yy145;
} else {
- if (yych <= '\'') goto yy196;
- if (yych <= ')') goto yy190;
- goto yy181;
+ if (yych <= '\'') goto yy151;
+ if (yych <= ')') goto yy145;
+ goto yy136;
}
} else {
if (yych <= '9') {
- if (yych <= '.') goto yy197;
- if (yych <= '/') goto yy181;
- goto yy198;
+ if (yych <= '.') goto yy152;
+ if (yych <= '/') goto yy136;
+ goto yy153;
} else {
- if (yych == ';') goto yy201;
- goto yy181;
+ if (yych == ';') goto yy156;
+ goto yy136;
}
}
}
@@ -1546,1270 +1254,1397 @@ yyc_ST_VALUE:
if (yych <= 'n') {
if (yych <= '^') {
if (yych <= '@') {
- if (yych <= '=') goto yy202;
- goto yy181;
+ if (yych <= '=') goto yy158;
+ goto yy136;
} else {
- if (yych <= 'Z') goto yy204;
- if (yych <= ']') goto yy181;
- goto yy190;
+ if (yych <= 'Z') goto yy160;
+ if (yych <= ']') goto yy136;
+ goto yy145;
}
} else {
if (yych <= 'e') {
- if (yych == '`') goto yy181;
- goto yy204;
+ if (yych == '`') goto yy136;
+ goto yy160;
} else {
- if (yych <= 'f') goto yy207;
- if (yych <= 'm') goto yy204;
- goto yy208;
+ if (yych <= 'f') goto yy163;
+ if (yych <= 'm') goto yy160;
+ goto yy164;
}
}
} else {
if (yych <= 'y') {
if (yych <= 's') {
- if (yych <= 'o') goto yy209;
- goto yy204;
+ if (yych <= 'o') goto yy165;
+ goto yy160;
} else {
- if (yych <= 't') goto yy210;
- if (yych <= 'x') goto yy204;
- goto yy211;
+ if (yych <= 't') goto yy166;
+ if (yych <= 'x') goto yy160;
+ goto yy167;
}
} else {
if (yych <= '|') {
- if (yych <= 'z') goto yy204;
- if (yych <= '{') goto yy181;
- goto yy190;
+ if (yych <= 'z') goto yy160;
+ if (yych <= '{') goto yy136;
+ goto yy145;
} else {
- if (yych == '~') goto yy190;
- goto yy181;
+ if (yych == '~') goto yy145;
+ goto yy136;
}
}
}
}
++YYCURSOR;
-yy180:
+yy135:
{}
-yy181:
+yy136:
yyaccept = 0;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
-yy182:
+yy137:
if (yych & ~0xFF) {
- goto yy181;
+ goto yy136;
} else if (yybm[0+yych] & 2) {
- goto yy181;
+ goto yy136;
}
- if (yych <= '"') goto yy183;
- if (yych <= '$') goto yy212;
-yy183:
+ if (yych <= '"') goto yy138;
+ if (yych <= '$') goto yy168;
+yy138:
{}
-yy184:
- yyaccept = 1;
- YYMARKER = ++YYCURSOR;
+yy139:
+ ++YYCURSOR;
YYFILL(2);
yych = *YYCURSOR;
if (yych & ~0xFF) {
- goto yy186;
+ goto yy141;
} else if (yybm[0+yych] & 4) {
- goto yy184;
+ goto yy139;
}
if (yych <= '\r') {
- if (yych <= 0x0008) goto yy186;
- if (yych <= '\n') goto yy187;
- if (yych >= '\r') goto yy189;
+ if (yych <= 0x0008) goto yy141;
+ if (yych <= '\n') goto yy142;
+ if (yych >= '\r') goto yy144;
} else {
if (yych <= '"') {
- if (yych >= '"') goto yy193;
+ if (yych >= '"') goto yy148;
} else {
- if (yych == ';') goto yy214;
+ if (yych == ';') goto yy156;
}
}
-yy186:
+yy141:
{}
-yy187:
+yy142:
++YYCURSOR;
-yy188:
+yy143:
{}
-yy189:
+yy144:
yych = *++YYCURSOR;
- if (yych == '\n') goto yy187;
- goto yy188;
-yy190:
+ if (yych == '\n') goto yy142;
+ goto yy143;
+yy145:
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\t') goto yy190;
- if (yych == ' ') goto yy190;
+ if (yych == '\t') goto yy145;
+ if (yych == ' ') goto yy145;
{}
-yy193:
+yy148:
++YYCURSOR;
{}
-yy195:
+yy150:
yych = *++YYCURSOR;
if (yych <= '\\') {
- if (yych <= 0x0000) goto yy180;
- if (yych <= '[') goto yy181;
- goto yy216;
+ if (yych <= 0x0000) goto yy135;
+ if (yych <= '[') goto yy136;
+ goto yy170;
} else {
- if (yych == '{') goto yy217;
- goto yy181;
+ if (yych == '{') goto yy171;
+ goto yy136;
}
-yy196:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
+yy151:
+ yych = *++YYCURSOR;
if (yych & ~0xFF) {
- goto yy219;
+ goto yy173;
} else if (yybm[0+yych] & 64) {
- goto yy219;
+ goto yy173;
}
- goto yy180;
-yy197:
+ goto yy135;
+yy152:
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= '/') goto yy182;
- if (yych <= '9') goto yy221;
- goto yy182;
-yy198:
- yyaccept = 3;
+ if (yych <= '/') goto yy137;
+ if (yych <= '9') goto yy175;
+ goto yy137;
+yy153:
+ yyaccept = 1;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
if (yych & ~0xFF) {
- goto yy181;
+ goto yy136;
} else if (yybm[0+yych] & 8) {
- goto yy198;
+ goto yy153;
}
if (yych <= '-') {
if (yych <= 0x001F) {
if (yych <= '\n') {
- if (yych <= 0x0000) goto yy200;
- if (yych <= 0x0008) goto yy181;
+ if (yych <= 0x0000) goto yy155;
+ if (yych <= 0x0008) goto yy136;
} else {
- if (yych != '\r') goto yy181;
+ if (yych != '\r') goto yy136;
}
} else {
if (yych <= '$') {
- if (yych <= '"') goto yy200;
- if (yych <= '#') goto yy181;
- goto yy212;
+ if (yych <= '"') goto yy155;
+ if (yych <= '#') goto yy136;
+ goto yy168;
} else {
- if (yych <= '%') goto yy181;
- if (yych >= '*') goto yy181;
+ if (yych <= '%') goto yy136;
+ if (yych >= '*') goto yy136;
}
}
} else {
if (yych <= ']') {
if (yych <= ';') {
- if (yych <= '.') goto yy221;
- if (yych <= ':') goto yy181;
+ if (yych <= '.') goto yy175;
+ if (yych <= ':') goto yy136;
} else {
- if (yych != '=') goto yy181;
+ if (yych != '=') goto yy136;
}
} else {
if (yych <= '|') {
- if (yych <= '^') goto yy200;
- if (yych <= '{') goto yy181;
+ if (yych <= '^') goto yy155;
+ if (yych <= '{') goto yy136;
} else {
- if (yych != '~') goto yy181;
+ if (yych != '~') goto yy136;
}
}
}
-yy200:
+yy155:
{}
-yy201:
- yyaccept = 2;
- yych = *(YYMARKER = ++YYCURSOR);
- goto yy215;
-yy202:
+yy156:
+ ++YYCURSOR;
+ YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych & ~0xFF) {
+ goto yy156;
+ } else if (yybm[0+yych] & 16) {
+ goto yy156;
+ }
+ if (yych <= '\n') goto yy177;
+ goto yy179;
+yy158:
++YYCURSOR;
{}
-yy204:
- yyaccept = 4;
+yy160:
+ yyaccept = 2;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
if (yych & ~0xFF) {
- goto yy181;
- } else if (yybm[0+yych] & 16) {
- goto yy204;
+ goto yy136;
+ } else if (yybm[0+yych] & 32) {
+ goto yy160;
}
if (yych <= ')') {
if (yych <= '\r') {
if (yych <= 0x0008) {
- if (yych >= 0x0001) goto yy181;
+ if (yych >= 0x0001) goto yy136;
} else {
- if (yych <= '\n') goto yy206;
- if (yych <= '\f') goto yy181;
+ if (yych <= '\n') goto yy162;
+ if (yych <= '\f') goto yy136;
}
} else {
if (yych <= '#') {
- if (yych <= 0x001F) goto yy181;
- if (yych >= '#') goto yy181;
+ if (yych <= 0x001F) goto yy136;
+ if (yych >= '#') goto yy136;
} else {
- if (yych <= '$') goto yy212;
- if (yych <= '%') goto yy181;
+ if (yych <= '$') goto yy168;
+ if (yych <= '%') goto yy136;
}
}
} else {
if (yych <= ']') {
if (yych <= ';') {
- if (yych <= ':') goto yy181;
+ if (yych <= ':') goto yy136;
} else {
- if (yych != '=') goto yy181;
+ if (yych != '=') goto yy136;
}
} else {
if (yych <= '|') {
- if (yych <= '^') goto yy206;
- if (yych <= '{') goto yy181;
+ if (yych <= '^') goto yy162;
+ if (yych <= '{') goto yy136;
} else {
- if (yych != '~') goto yy181;
+ if (yych != '~') goto yy136;
}
}
}
-yy206:
+yy162:
{}
-yy207:
- yyaccept = 4;
+yy163:
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '<') {
if (yych <= '"') {
if (yych <= '\n') {
- if (yych <= 0x0000) goto yy206;
- if (yych <= 0x0008) goto yy182;
- goto yy206;
+ if (yych <= 0x0000) goto yy162;
+ if (yych <= 0x0008) goto yy137;
+ goto yy162;
} else {
- if (yych == '\r') goto yy206;
- if (yych <= 0x001F) goto yy182;
- goto yy206;
+ if (yych == '\r') goto yy162;
+ if (yych <= 0x001F) goto yy137;
+ goto yy162;
}
} else {
if (yych <= '/') {
- if (yych <= '%') goto yy182;
- if (yych <= ')') goto yy206;
- goto yy182;
+ if (yych <= '%') goto yy137;
+ if (yych <= ')') goto yy162;
+ goto yy137;
} else {
- if (yych <= '9') goto yy204;
- if (yych == ';') goto yy206;
- goto yy182;
+ if (yych <= '9') goto yy160;
+ if (yych == ';') goto yy162;
+ goto yy137;
}
}
} else {
if (yych <= '`') {
if (yych <= 'Z') {
- if (yych <= '=') goto yy206;
- if (yych <= '@') goto yy182;
- goto yy204;
+ if (yych <= '=') goto yy162;
+ if (yych <= '@') goto yy137;
+ goto yy160;
} else {
- if (yych <= ']') goto yy182;
- if (yych <= '^') goto yy206;
- if (yych <= '_') goto yy204;
- goto yy182;
+ if (yych <= ']') goto yy137;
+ if (yych <= '^') goto yy162;
+ if (yych <= '_') goto yy160;
+ goto yy137;
}
} else {
if (yych <= '{') {
- if (yych <= 'a') goto yy226;
- if (yych <= 'z') goto yy204;
- goto yy182;
+ if (yych <= 'a') goto yy180;
+ if (yych <= 'z') goto yy160;
+ goto yy137;
} else {
- if (yych == '}') goto yy182;
- if (yych <= '~') goto yy206;
- goto yy182;
+ if (yych == '}') goto yy137;
+ if (yych <= '~') goto yy162;
+ goto yy137;
}
}
}
-yy208:
- yyaccept = 4;
+yy164:
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '=') {
if (yych <= '"') {
if (yych <= '\n') {
- if (yych <= 0x0000) goto yy206;
- if (yych <= 0x0008) goto yy182;
- goto yy206;
+ if (yych <= 0x0000) goto yy162;
+ if (yych <= 0x0008) goto yy137;
+ goto yy162;
} else {
- if (yych == '\r') goto yy206;
- if (yych <= 0x001F) goto yy182;
- goto yy206;
+ if (yych == '\r') goto yy162;
+ if (yych <= 0x001F) goto yy137;
+ goto yy162;
}
} else {
if (yych <= '9') {
- if (yych <= '%') goto yy182;
- if (yych <= ')') goto yy206;
- if (yych <= '/') goto yy182;
- goto yy204;
+ if (yych <= '%') goto yy137;
+ if (yych <= ')') goto yy162;
+ if (yych <= '/') goto yy137;
+ goto yy160;
} else {
- if (yych == ';') goto yy206;
- if (yych <= '<') goto yy182;
- goto yy206;
+ if (yych == ';') goto yy162;
+ if (yych <= '<') goto yy137;
+ goto yy162;
}
}
} else {
if (yych <= 'o') {
if (yych <= '^') {
- if (yych <= '@') goto yy182;
- if (yych <= 'Z') goto yy204;
- if (yych <= ']') goto yy182;
- goto yy206;
+ if (yych <= '@') goto yy137;
+ if (yych <= 'Z') goto yy160;
+ if (yych <= ']') goto yy137;
+ goto yy162;
} else {
- if (yych == '`') goto yy182;
- if (yych <= 'n') goto yy204;
- goto yy227;
+ if (yych == '`') goto yy137;
+ if (yych <= 'n') goto yy160;
+ goto yy181;
}
} else {
if (yych <= '{') {
- if (yych == 'u') goto yy229;
- if (yych <= 'z') goto yy204;
- goto yy182;
+ if (yych == 'u') goto yy183;
+ if (yych <= 'z') goto yy160;
+ goto yy137;
} else {
- if (yych == '}') goto yy182;
- if (yych <= '~') goto yy206;
- goto yy182;
+ if (yych == '}') goto yy137;
+ if (yych <= '~') goto yy162;
+ goto yy137;
}
}
}
-yy209:
- yyaccept = 4;
+yy165:
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '=') {
if (yych <= '"') {
if (yych <= '\n') {
- if (yych <= 0x0000) goto yy206;
- if (yych <= 0x0008) goto yy182;
- goto yy206;
+ if (yych <= 0x0000) goto yy162;
+ if (yych <= 0x0008) goto yy137;
+ goto yy162;
} else {
- if (yych == '\r') goto yy206;
- if (yych <= 0x001F) goto yy182;
- goto yy206;
+ if (yych == '\r') goto yy162;
+ if (yych <= 0x001F) goto yy137;
+ goto yy162;
}
} else {
if (yych <= '9') {
- if (yych <= '%') goto yy182;
- if (yych <= ')') goto yy206;
- if (yych <= '/') goto yy182;
- goto yy204;
+ if (yych <= '%') goto yy137;
+ if (yych <= ')') goto yy162;
+ if (yych <= '/') goto yy137;
+ goto yy160;
} else {
- if (yych == ';') goto yy206;
- if (yych <= '<') goto yy182;
- goto yy206;
+ if (yych == ';') goto yy162;
+ if (yych <= '<') goto yy137;
+ goto yy162;
}
}
} else {
if (yych <= 'f') {
if (yych <= '^') {
- if (yych <= '@') goto yy182;
- if (yych <= 'Z') goto yy204;
- if (yych <= ']') goto yy182;
- goto yy206;
+ if (yych <= '@') goto yy137;
+ if (yych <= 'Z') goto yy160;
+ if (yych <= ']') goto yy137;
+ goto yy162;
} else {
- if (yych == '`') goto yy182;
- if (yych <= 'e') goto yy204;
- goto yy230;
+ if (yych == '`') goto yy137;
+ if (yych <= 'e') goto yy160;
+ goto yy184;
}
} else {
if (yych <= '{') {
- if (yych == 'n') goto yy231;
- if (yych <= 'z') goto yy204;
- goto yy182;
+ if (yych == 'n') goto yy185;
+ if (yych <= 'z') goto yy160;
+ goto yy137;
} else {
- if (yych == '}') goto yy182;
- if (yych <= '~') goto yy206;
- goto yy182;
+ if (yych == '}') goto yy137;
+ if (yych <= '~') goto yy162;
+ goto yy137;
}
}
}
-yy210:
- yyaccept = 4;
+yy166:
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '<') {
if (yych <= '"') {
if (yych <= '\n') {
- if (yych <= 0x0000) goto yy206;
- if (yych <= 0x0008) goto yy182;
- goto yy206;
+ if (yych <= 0x0000) goto yy162;
+ if (yych <= 0x0008) goto yy137;
+ goto yy162;
} else {
- if (yych == '\r') goto yy206;
- if (yych <= 0x001F) goto yy182;
- goto yy206;
+ if (yych == '\r') goto yy162;
+ if (yych <= 0x001F) goto yy137;
+ goto yy162;
}
} else {
if (yych <= '/') {
- if (yych <= '%') goto yy182;
- if (yych <= ')') goto yy206;
- goto yy182;
+ if (yych <= '%') goto yy137;
+ if (yych <= ')') goto yy162;
+ goto yy137;
} else {
- if (yych <= '9') goto yy204;
- if (yych == ';') goto yy206;
- goto yy182;
+ if (yych <= '9') goto yy160;
+ if (yych == ';') goto yy162;
+ goto yy137;
}
}
} else {
if (yych <= '`') {
if (yych <= 'Z') {
- if (yych <= '=') goto yy206;
- if (yych <= '@') goto yy182;
- goto yy204;
+ if (yych <= '=') goto yy162;
+ if (yych <= '@') goto yy137;
+ goto yy160;
} else {
- if (yych <= ']') goto yy182;
- if (yych <= '^') goto yy206;
- if (yych <= '_') goto yy204;
- goto yy182;
+ if (yych <= ']') goto yy137;
+ if (yych <= '^') goto yy162;
+ if (yych <= '_') goto yy160;
+ goto yy137;
}
} else {
if (yych <= '{') {
- if (yych == 'r') goto yy233;
- if (yych <= 'z') goto yy204;
- goto yy182;
+ if (yych == 'r') goto yy187;
+ if (yych <= 'z') goto yy160;
+ goto yy137;
} else {
- if (yych == '}') goto yy182;
- if (yych <= '~') goto yy206;
- goto yy182;
+ if (yych == '}') goto yy137;
+ if (yych <= '~') goto yy162;
+ goto yy137;
}
}
}
-yy211:
- yyaccept = 4;
+yy167:
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '<') {
if (yych <= '"') {
if (yych <= '\n') {
- if (yych <= 0x0000) goto yy206;
- if (yych <= 0x0008) goto yy182;
- goto yy206;
+ if (yych <= 0x0000) goto yy162;
+ if (yych <= 0x0008) goto yy137;
+ goto yy162;
} else {
- if (yych == '\r') goto yy206;
- if (yych <= 0x001F) goto yy182;
- goto yy206;
+ if (yych == '\r') goto yy162;
+ if (yych <= 0x001F) goto yy137;
+ goto yy162;
}
} else {
if (yych <= '/') {
- if (yych <= '%') goto yy182;
- if (yych <= ')') goto yy206;
- goto yy182;
+ if (yych <= '%') goto yy137;
+ if (yych <= ')') goto yy162;
+ goto yy137;
} else {
- if (yych <= '9') goto yy204;
- if (yych == ';') goto yy206;
- goto yy182;
+ if (yych <= '9') goto yy160;
+ if (yych == ';') goto yy162;
+ goto yy137;
}
}
} else {
if (yych <= '`') {
if (yych <= 'Z') {
- if (yych <= '=') goto yy206;
- if (yych <= '@') goto yy182;
- goto yy204;
+ if (yych <= '=') goto yy162;
+ if (yych <= '@') goto yy137;
+ goto yy160;
} else {
- if (yych <= ']') goto yy182;
- if (yych <= '^') goto yy206;
- if (yych <= '_') goto yy204;
- goto yy182;
+ if (yych <= ']') goto yy137;
+ if (yych <= '^') goto yy162;
+ if (yych <= '_') goto yy160;
+ goto yy137;
}
} else {
if (yych <= '{') {
- if (yych == 'e') goto yy234;
- if (yych <= 'z') goto yy204;
- goto yy182;
+ if (yych == 'e') goto yy188;
+ if (yych <= 'z') goto yy160;
+ goto yy137;
} else {
- if (yych == '}') goto yy182;
- if (yych <= '~') goto yy206;
- goto yy182;
+ if (yych == '}') goto yy137;
+ if (yych <= '~') goto yy162;
+ goto yy137;
}
}
}
-yy212:
+yy168:
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
if (yych <= '\\') {
- if (yych <= 0x0000) goto yy213;
- if (yych <= '[') goto yy181;
- goto yy216;
+ if (yych <= 0x0000) goto yy169;
+ if (yych <= '[') goto yy136;
+ goto yy170;
} else {
- if (yych != '{') goto yy181;
+ if (yych != '{') goto yy136;
}
-yy213:
+yy169:
YYCURSOR = YYMARKER;
- if (yyaccept <= 3) {
+ if (yyaccept <= 2) {
if (yyaccept <= 1) {
if (yyaccept == 0) {
- goto yy183;
+ goto yy138;
} else {
- goto yy186;
+ goto yy155;
}
} else {
- if (yyaccept == 2) {
- goto yy180;
- } else {
- goto yy200;
- }
+ goto yy162;
}
} else {
- if (yyaccept <= 5) {
- if (yyaccept == 4) {
- goto yy206;
+ if (yyaccept <= 4) {
+ if (yyaccept == 3) {
+ goto yy182;
} else {
- goto yy228;
+ goto yy186;
}
} else {
- if (yyaccept == 6) {
- goto yy232;
- } else {
- goto yy249;
- }
+ goto yy203;
}
}
-yy214:
- ++YYCURSOR;
- YYFILL(2);
- yych = *YYCURSOR;
-yy215:
- if (yych & ~0xFF) {
- goto yy214;
- } else if (yybm[0+yych] & 32) {
- goto yy214;
- }
- if (yych <= '\n') goto yy223;
- goto yy225;
-yy216:
+yy170:
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
if (yych & ~0xFF) {
- goto yy181;
+ goto yy136;
} else if (yybm[0+yych] & 128) {
- goto yy235;
+ goto yy189;
}
- goto yy181;
-yy217:
+ goto yy136;
+yy171:
++YYCURSOR;
{}
-yy219:
+yy173:
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
if (yych & ~0xFF) {
- goto yy219;
+ goto yy173;
} else if (yybm[0+yych] & 64) {
- goto yy219;
+ goto yy173;
}
- goto yy237;
-yy221:
- yyaccept = 3;
+ goto yy191;
+yy175:
+ yyaccept = 1;
YYMARKER = ++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
if (yych <= '/') {
if (yych <= 0x001F) {
if (yych <= '\n') {
- if (yych <= 0x0000) goto yy200;
- if (yych <= 0x0008) goto yy181;
- goto yy200;
+ if (yych <= 0x0000) goto yy155;
+ if (yych <= 0x0008) goto yy136;
+ goto yy155;
} else {
- if (yych == '\r') goto yy200;
- goto yy181;
+ if (yych == '\r') goto yy155;
+ goto yy136;
}
} else {
if (yych <= '$') {
- if (yych <= '"') goto yy200;
- if (yych <= '#') goto yy181;
- goto yy212;
+ if (yych <= '"') goto yy155;
+ if (yych <= '#') goto yy136;
+ goto yy168;
} else {
- if (yych <= '%') goto yy181;
- if (yych <= ')') goto yy200;
- goto yy181;
+ if (yych <= '%') goto yy136;
+ if (yych <= ')') goto yy155;
+ goto yy136;
}
}
} else {
if (yych <= ']') {
if (yych <= ';') {
- if (yych <= '9') goto yy221;
- if (yych <= ':') goto yy181;
- goto yy200;
+ if (yych <= '9') goto yy175;
+ if (yych <= ':') goto yy136;
+ goto yy155;
} else {
- if (yych == '=') goto yy200;
- goto yy181;
+ if (yych == '=') goto yy155;
+ goto yy136;
}
} else {
if (yych <= '|') {
- if (yych <= '^') goto yy200;
- if (yych <= '{') goto yy181;
- goto yy200;
+ if (yych <= '^') goto yy155;
+ if (yych <= '{') goto yy136;
+ goto yy155;
} else {
- if (yych == '~') goto yy200;
- goto yy181;
+ if (yych == '~') goto yy155;
+ goto yy136;
}
}
}
-yy223:
+yy177:
++YYCURSOR;
-yy224:
+yy178:
{}
-yy225:
+yy179:
yych = *++YYCURSOR;
- if (yych == '\n') goto yy223;
- goto yy224;
-yy226:
- yyaccept = 4;
+ if (yych == '\n') goto yy177;
+ goto yy178;
+yy180:
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '<') {
if (yych <= '"') {
if (yych <= '\n') {
- if (yych <= 0x0000) goto yy206;
- if (yych <= 0x0008) goto yy182;
- goto yy206;
+ if (yych <= 0x0000) goto yy162;
+ if (yych <= 0x0008) goto yy137;
+ goto yy162;
} else {
- if (yych == '\r') goto yy206;
- if (yych <= 0x001F) goto yy182;
- goto yy206;
+ if (yych == '\r') goto yy162;
+ if (yych <= 0x001F) goto yy137;
+ goto yy162;
}
} else {
if (yych <= '/') {
- if (yych <= '%') goto yy182;
- if (yych <= ')') goto yy206;
- goto yy182;
+ if (yych <= '%') goto yy137;
+ if (yych <= ')') goto yy162;
+ goto yy137;
} else {
- if (yych <= '9') goto yy204;
- if (yych == ';') goto yy206;
- goto yy182;
+ if (yych <= '9') goto yy160;
+ if (yych == ';') goto yy162;
+ goto yy137;
}
}
} else {
if (yych <= '`') {
if (yych <= 'Z') {
- if (yych <= '=') goto yy206;
- if (yych <= '@') goto yy182;
- goto yy204;
+ if (yych <= '=') goto yy162;
+ if (yych <= '@') goto yy137;
+ goto yy160;
} else {
- if (yych <= ']') goto yy182;
- if (yych <= '^') goto yy206;
- if (yych <= '_') goto yy204;
- goto yy182;
+ if (yych <= ']') goto yy137;
+ if (yych <= '^') goto yy162;
+ if (yych <= '_') goto yy160;
+ goto yy137;
}
} else {
if (yych <= '{') {
- if (yych == 'l') goto yy239;
- if (yych <= 'z') goto yy204;
- goto yy182;
+ if (yych == 'l') goto yy193;
+ if (yych <= 'z') goto yy160;
+ goto yy137;
} else {
- if (yych == '}') goto yy182;
- if (yych <= '~') goto yy206;
- goto yy182;
+ if (yych == '}') goto yy137;
+ if (yych <= '~') goto yy162;
+ goto yy137;
}
}
}
-yy227:
- yyaccept = 5;
+yy181:
+ yyaccept = 3;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= ';') {
if (yych <= 0x001F) {
if (yych <= '\t') {
- if (yych <= 0x0000) goto yy228;
- if (yych <= 0x0008) goto yy182;
- goto yy240;
+ if (yych <= 0x0000) goto yy182;
+ if (yych <= 0x0008) goto yy137;
+ goto yy194;
} else {
- if (yych <= '\n') goto yy228;
- if (yych != '\r') goto yy182;
+ if (yych <= '\n') goto yy182;
+ if (yych != '\r') goto yy137;
}
} else {
if (yych <= ')') {
- if (yych <= ' ') goto yy240;
- if (yych <= '"') goto yy228;
- if (yych <= '%') goto yy182;
+ if (yych <= ' ') goto yy194;
+ if (yych <= '"') goto yy182;
+ if (yych <= '%') goto yy137;
} else {
- if (yych <= '/') goto yy182;
- if (yych <= '9') goto yy204;
- if (yych <= ':') goto yy182;
+ if (yych <= '/') goto yy137;
+ if (yych <= '9') goto yy160;
+ if (yych <= ':') goto yy137;
}
}
} else {
if (yych <= '`') {
if (yych <= 'Z') {
- if (yych == '=') goto yy228;
- if (yych <= '@') goto yy182;
- goto yy204;
+ if (yych == '=') goto yy182;
+ if (yych <= '@') goto yy137;
+ goto yy160;
} else {
- if (yych <= ']') goto yy182;
- if (yych <= '^') goto yy228;
- if (yych <= '_') goto yy204;
- goto yy182;
+ if (yych <= ']') goto yy137;
+ if (yych <= '^') goto yy182;
+ if (yych <= '_') goto yy160;
+ goto yy137;
}
} else {
if (yych <= '{') {
- if (yych == 'n') goto yy242;
- if (yych <= 'z') goto yy204;
- goto yy182;
+ if (yych == 'n') goto yy196;
+ if (yych <= 'z') goto yy160;
+ goto yy137;
} else {
- if (yych == '}') goto yy182;
- if (yych >= 0x007F) goto yy182;
+ if (yych == '}') goto yy137;
+ if (yych >= 0x007F) goto yy137;
}
}
}
-yy228:
+yy182:
{}
-yy229:
- yyaccept = 4;
+yy183:
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '<') {
if (yych <= '"') {
if (yych <= '\n') {
- if (yych <= 0x0000) goto yy206;
- if (yych <= 0x0008) goto yy182;
- goto yy206;
+ if (yych <= 0x0000) goto yy162;
+ if (yych <= 0x0008) goto yy137;
+ goto yy162;
} else {
- if (yych == '\r') goto yy206;
- if (yych <= 0x001F) goto yy182;
- goto yy206;
+ if (yych == '\r') goto yy162;
+ if (yych <= 0x001F) goto yy137;
+ goto yy162;
}
} else {
if (yych <= '/') {
- if (yych <= '%') goto yy182;
- if (yych <= ')') goto yy206;
- goto yy182;
+ if (yych <= '%') goto yy137;
+ if (yych <= ')') goto yy162;
+ goto yy137;
} else {
- if (yych <= '9') goto yy204;
- if (yych == ';') goto yy206;
- goto yy182;
+ if (yych <= '9') goto yy160;
+ if (yych == ';') goto yy162;
+ goto yy137;
}
}
} else {
if (yych <= '`') {
if (yych <= 'Z') {
- if (yych <= '=') goto yy206;
- if (yych <= '@') goto yy182;
- goto yy204;
+ if (yych <= '=') goto yy162;
+ if (yych <= '@') goto yy137;
+ goto yy160;
} else {
- if (yych <= ']') goto yy182;
- if (yych <= '^') goto yy206;
- if (yych <= '_') goto yy204;
- goto yy182;
+ if (yych <= ']') goto yy137;
+ if (yych <= '^') goto yy162;
+ if (yych <= '_') goto yy160;
+ goto yy137;
}
} else {
if (yych <= '{') {
- if (yych == 'l') goto yy243;
- if (yych <= 'z') goto yy204;
- goto yy182;
+ if (yych == 'l') goto yy197;
+ if (yych <= 'z') goto yy160;
+ goto yy137;
} else {
- if (yych == '}') goto yy182;
- if (yych <= '~') goto yy206;
- goto yy182;
+ if (yych == '}') goto yy137;
+ if (yych <= '~') goto yy162;
+ goto yy137;
}
}
}
-yy230:
- yyaccept = 4;
+yy184:
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '<') {
if (yych <= '"') {
if (yych <= '\n') {
- if (yych <= 0x0000) goto yy206;
- if (yych <= 0x0008) goto yy182;
- goto yy206;
+ if (yych <= 0x0000) goto yy162;
+ if (yych <= 0x0008) goto yy137;
+ goto yy162;
} else {
- if (yych == '\r') goto yy206;
- if (yych <= 0x001F) goto yy182;
- goto yy206;
+ if (yych == '\r') goto yy162;
+ if (yych <= 0x001F) goto yy137;
+ goto yy162;
}
} else {
if (yych <= '/') {
- if (yych <= '%') goto yy182;
- if (yych <= ')') goto yy206;
- goto yy182;
+ if (yych <= '%') goto yy137;
+ if (yych <= ')') goto yy162;
+ goto yy137;
} else {
- if (yych <= '9') goto yy204;
- if (yych == ';') goto yy206;
- goto yy182;
+ if (yych <= '9') goto yy160;
+ if (yych == ';') goto yy162;
+ goto yy137;
}
}
} else {
if (yych <= '`') {
if (yych <= 'Z') {
- if (yych <= '=') goto yy206;
- if (yych <= '@') goto yy182;
- goto yy204;
+ if (yych <= '=') goto yy162;
+ if (yych <= '@') goto yy137;
+ goto yy160;
} else {
- if (yych <= ']') goto yy182;
- if (yych <= '^') goto yy206;
- if (yych <= '_') goto yy204;
- goto yy182;
+ if (yych <= ']') goto yy137;
+ if (yych <= '^') goto yy162;
+ if (yych <= '_') goto yy160;
+ goto yy137;
}
} else {
if (yych <= '{') {
- if (yych == 'f') goto yy244;
- if (yych <= 'z') goto yy204;
- goto yy182;
+ if (yych == 'f') goto yy198;
+ if (yych <= 'z') goto yy160;
+ goto yy137;
} else {
- if (yych == '}') goto yy182;
- if (yych <= '~') goto yy206;
- goto yy182;
+ if (yych == '}') goto yy137;
+ if (yych <= '~') goto yy162;
+ goto yy137;
}
}
}
-yy231:
- yyaccept = 6;
+yy185:
+ yyaccept = 4;
yych = *(YYMARKER = ++YYCURSOR);
if (yych & ~0xFF) {
- goto yy182;
- } else if (yybm[0+yych] & 16) {
- goto yy204;
+ goto yy137;
+ } else if (yybm[0+yych] & 32) {
+ goto yy160;
}
if (yych <= ')') {
if (yych <= '\f') {
if (yych <= 0x0008) {
- if (yych >= 0x0001) goto yy182;
+ if (yych >= 0x0001) goto yy137;
} else {
- if (yych <= '\t') goto yy245;
- if (yych >= '\v') goto yy182;
+ if (yych <= '\t') goto yy199;
+ if (yych >= '\v') goto yy137;
}
} else {
if (yych <= ' ') {
- if (yych <= '\r') goto yy232;
- if (yych <= 0x001F) goto yy182;
- goto yy245;
+ if (yych <= '\r') goto yy186;
+ if (yych <= 0x001F) goto yy137;
+ goto yy199;
} else {
- if (yych <= '"') goto yy232;
- if (yych <= '%') goto yy182;
+ if (yych <= '"') goto yy186;
+ if (yych <= '%') goto yy137;
}
}
} else {
if (yych <= ']') {
if (yych <= ';') {
- if (yych <= ':') goto yy182;
+ if (yych <= ':') goto yy137;
} else {
- if (yych != '=') goto yy182;
+ if (yych != '=') goto yy137;
}
} else {
if (yych <= '|') {
- if (yych <= '^') goto yy232;
- if (yych <= '{') goto yy182;
+ if (yych <= '^') goto yy186;
+ if (yych <= '{') goto yy137;
} else {
- if (yych != '~') goto yy182;
+ if (yych != '~') goto yy137;
}
}
}
-yy232:
+yy186:
{}
-yy233:
- yyaccept = 4;
+yy187:
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '<') {
if (yych <= '"') {
if (yych <= '\n') {
- if (yych <= 0x0000) goto yy206;
- if (yych <= 0x0008) goto yy182;
- goto yy206;
+ if (yych <= 0x0000) goto yy162;
+ if (yych <= 0x0008) goto yy137;
+ goto yy162;
} else {
- if (yych == '\r') goto yy206;
- if (yych <= 0x001F) goto yy182;
- goto yy206;
+ if (yych == '\r') goto yy162;
+ if (yych <= 0x001F) goto yy137;
+ goto yy162;
}
} else {
if (yych <= '/') {
- if (yych <= '%') goto yy182;
- if (yych <= ')') goto yy206;
- goto yy182;
+ if (yych <= '%') goto yy137;
+ if (yych <= ')') goto yy162;
+ goto yy137;
} else {
- if (yych <= '9') goto yy204;
- if (yych == ';') goto yy206;
- goto yy182;
+ if (yych <= '9') goto yy160;
+ if (yych == ';') goto yy162;
+ goto yy137;
}
}
} else {
if (yych <= '`') {
if (yych <= 'Z') {
- if (yych <= '=') goto yy206;
- if (yych <= '@') goto yy182;
- goto yy204;
+ if (yych <= '=') goto yy162;
+ if (yych <= '@') goto yy137;
+ goto yy160;
} else {
- if (yych <= ']') goto yy182;
- if (yych <= '^') goto yy206;
- if (yych <= '_') goto yy204;
- goto yy182;
+ if (yych <= ']') goto yy137;
+ if (yych <= '^') goto yy162;
+ if (yych <= '_') goto yy160;
+ goto yy137;
}
} else {
if (yych <= '{') {
- if (yych == 'u') goto yy247;
- if (yych <= 'z') goto yy204;
- goto yy182;
+ if (yych == 'u') goto yy201;
+ if (yych <= 'z') goto yy160;
+ goto yy137;
} else {
- if (yych == '}') goto yy182;
- if (yych <= '~') goto yy206;
- goto yy182;
+ if (yych == '}') goto yy137;
+ if (yych <= '~') goto yy162;
+ goto yy137;
}
}
}
-yy234:
- yyaccept = 4;
+yy188:
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '<') {
if (yych <= '"') {
if (yych <= '\n') {
- if (yych <= 0x0000) goto yy206;
- if (yych <= 0x0008) goto yy182;
- goto yy206;
+ if (yych <= 0x0000) goto yy162;
+ if (yych <= 0x0008) goto yy137;
+ goto yy162;
} else {
- if (yych == '\r') goto yy206;
- if (yych <= 0x001F) goto yy182;
- goto yy206;
+ if (yych == '\r') goto yy162;
+ if (yych <= 0x001F) goto yy137;
+ goto yy162;
}
} else {
if (yych <= '/') {
- if (yych <= '%') goto yy182;
- if (yych <= ')') goto yy206;
- goto yy182;
+ if (yych <= '%') goto yy137;
+ if (yych <= ')') goto yy162;
+ goto yy137;
} else {
- if (yych <= '9') goto yy204;
- if (yych == ';') goto yy206;
- goto yy182;
+ if (yych <= '9') goto yy160;
+ if (yych == ';') goto yy162;
+ goto yy137;
}
}
} else {
if (yych <= '`') {
if (yych <= 'Z') {
- if (yych <= '=') goto yy206;
- if (yych <= '@') goto yy182;
- goto yy204;
+ if (yych <= '=') goto yy162;
+ if (yych <= '@') goto yy137;
+ goto yy160;
} else {
- if (yych <= ']') goto yy182;
- if (yych <= '^') goto yy206;
- if (yych <= '_') goto yy204;
- goto yy182;
+ if (yych <= ']') goto yy137;
+ if (yych <= '^') goto yy162;
+ if (yych <= '_') goto yy160;
+ goto yy137;
}
} else {
if (yych <= '{') {
- if (yych == 's') goto yy231;
- if (yych <= 'z') goto yy204;
- goto yy182;
+ if (yych == 's') goto yy185;
+ if (yych <= 'z') goto yy160;
+ goto yy137;
} else {
- if (yych == '}') goto yy182;
- if (yych <= '~') goto yy206;
- goto yy182;
+ if (yych == '}') goto yy137;
+ if (yych <= '~') goto yy162;
+ goto yy137;
}
}
}
-yy235:
+yy189:
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
if (yych & ~0xFF) {
- goto yy181;
+ goto yy136;
} else if (yybm[0+yych] & 128) {
- goto yy235;
+ goto yy189;
}
- if (yych <= 0x0000) goto yy183;
- if (yych == '\\') goto yy216;
- goto yy181;
-yy237:
+ if (yych <= 0x0000) goto yy138;
+ if (yych == '\\') goto yy170;
+ goto yy136;
+yy191:
++YYCURSOR;
{}
-yy239:
- yyaccept = 4;
+yy193:
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '<') {
if (yych <= '"') {
if (yych <= '\n') {
- if (yych <= 0x0000) goto yy206;
- if (yych <= 0x0008) goto yy182;
- goto yy206;
+ if (yych <= 0x0000) goto yy162;
+ if (yych <= 0x0008) goto yy137;
+ goto yy162;
} else {
- if (yych == '\r') goto yy206;
- if (yych <= 0x001F) goto yy182;
- goto yy206;
+ if (yych == '\r') goto yy162;
+ if (yych <= 0x001F) goto yy137;
+ goto yy162;
}
} else {
if (yych <= '/') {
- if (yych <= '%') goto yy182;
- if (yych <= ')') goto yy206;
- goto yy182;
+ if (yych <= '%') goto yy137;
+ if (yych <= ')') goto yy162;
+ goto yy137;
} else {
- if (yych <= '9') goto yy204;
- if (yych == ';') goto yy206;
- goto yy182;
+ if (yych <= '9') goto yy160;
+ if (yych == ';') goto yy162;
+ goto yy137;
}
}
} else {
if (yych <= '`') {
if (yych <= 'Z') {
- if (yych <= '=') goto yy206;
- if (yych <= '@') goto yy182;
- goto yy204;
+ if (yych <= '=') goto yy162;
+ if (yych <= '@') goto yy137;
+ goto yy160;
} else {
- if (yych <= ']') goto yy182;
- if (yych <= '^') goto yy206;
- if (yych <= '_') goto yy204;
- goto yy182;
+ if (yych <= ']') goto yy137;
+ if (yych <= '^') goto yy162;
+ if (yych <= '_') goto yy160;
+ goto yy137;
}
} else {
if (yych <= '{') {
- if (yych == 's') goto yy242;
- if (yych <= 'z') goto yy204;
- goto yy182;
+ if (yych == 's') goto yy196;
+ if (yych <= 'z') goto yy160;
+ goto yy137;
} else {
- if (yych == '}') goto yy182;
- if (yych <= '~') goto yy206;
- goto yy182;
+ if (yych == '}') goto yy137;
+ if (yych <= '~') goto yy162;
+ goto yy137;
}
}
}
-yy240:
+yy194:
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\t') goto yy240;
- if (yych == ' ') goto yy240;
- goto yy228;
-yy242:
- yyaccept = 4;
+ if (yych == '\t') goto yy194;
+ if (yych == ' ') goto yy194;
+ goto yy182;
+yy196:
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '<') {
if (yych <= '"') {
if (yych <= '\n') {
- if (yych <= 0x0000) goto yy206;
- if (yych <= 0x0008) goto yy182;
- goto yy206;
+ if (yych <= 0x0000) goto yy162;
+ if (yych <= 0x0008) goto yy137;
+ goto yy162;
} else {
- if (yych == '\r') goto yy206;
- if (yych <= 0x001F) goto yy182;
- goto yy206;
+ if (yych == '\r') goto yy162;
+ if (yych <= 0x001F) goto yy137;
+ goto yy162;
}
} else {
if (yych <= '/') {
- if (yych <= '%') goto yy182;
- if (yych <= ')') goto yy206;
- goto yy182;
+ if (yych <= '%') goto yy137;
+ if (yych <= ')') goto yy162;
+ goto yy137;
} else {
- if (yych <= '9') goto yy204;
- if (yych == ';') goto yy206;
- goto yy182;
+ if (yych <= '9') goto yy160;
+ if (yych == ';') goto yy162;
+ goto yy137;
}
}
} else {
if (yych <= '`') {
if (yych <= 'Z') {
- if (yych <= '=') goto yy206;
- if (yych <= '@') goto yy182;
- goto yy204;
+ if (yych <= '=') goto yy162;
+ if (yych <= '@') goto yy137;
+ goto yy160;
} else {
- if (yych <= ']') goto yy182;
- if (yych <= '^') goto yy206;
- if (yych <= '_') goto yy204;
- goto yy182;
+ if (yych <= ']') goto yy137;
+ if (yych <= '^') goto yy162;
+ if (yych <= '_') goto yy160;
+ goto yy137;
}
} else {
if (yych <= '{') {
- if (yych == 'e') goto yy244;
- if (yych <= 'z') goto yy204;
- goto yy182;
+ if (yych == 'e') goto yy198;
+ if (yych <= 'z') goto yy160;
+ goto yy137;
} else {
- if (yych == '}') goto yy182;
- if (yych <= '~') goto yy206;
- goto yy182;
+ if (yych == '}') goto yy137;
+ if (yych <= '~') goto yy162;
+ goto yy137;
}
}
}
-yy243:
- yyaccept = 4;
+yy197:
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '<') {
if (yych <= '"') {
if (yych <= '\n') {
- if (yych <= 0x0000) goto yy206;
- if (yych <= 0x0008) goto yy182;
- goto yy206;
+ if (yych <= 0x0000) goto yy162;
+ if (yych <= 0x0008) goto yy137;
+ goto yy162;
} else {
- if (yych == '\r') goto yy206;
- if (yych <= 0x001F) goto yy182;
- goto yy206;
+ if (yych == '\r') goto yy162;
+ if (yych <= 0x001F) goto yy137;
+ goto yy162;
}
} else {
if (yych <= '/') {
- if (yych <= '%') goto yy182;
- if (yych <= ')') goto yy206;
- goto yy182;
+ if (yych <= '%') goto yy137;
+ if (yych <= ')') goto yy162;
+ goto yy137;
} else {
- if (yych <= '9') goto yy204;
- if (yych == ';') goto yy206;
- goto yy182;
+ if (yych <= '9') goto yy160;
+ if (yych == ';') goto yy162;
+ goto yy137;
}
}
} else {
if (yych <= '`') {
if (yych <= 'Z') {
- if (yych <= '=') goto yy206;
- if (yych <= '@') goto yy182;
- goto yy204;
+ if (yych <= '=') goto yy162;
+ if (yych <= '@') goto yy137;
+ goto yy160;
} else {
- if (yych <= ']') goto yy182;
- if (yych <= '^') goto yy206;
- if (yych <= '_') goto yy204;
- goto yy182;
+ if (yych <= ']') goto yy137;
+ if (yych <= '^') goto yy162;
+ if (yych <= '_') goto yy160;
+ goto yy137;
}
} else {
if (yych <= '{') {
- if (yych == 'l') goto yy248;
- if (yych <= 'z') goto yy204;
- goto yy182;
+ if (yych == 'l') goto yy202;
+ if (yych <= 'z') goto yy160;
+ goto yy137;
} else {
- if (yych == '}') goto yy182;
- if (yych <= '~') goto yy206;
- goto yy182;
+ if (yych == '}') goto yy137;
+ if (yych <= '~') goto yy162;
+ goto yy137;
}
}
}
-yy244:
- yyaccept = 5;
+yy198:
+ yyaccept = 3;
yych = *(YYMARKER = ++YYCURSOR);
if (yych & ~0xFF) {
- goto yy182;
- } else if (yybm[0+yych] & 16) {
- goto yy204;
+ goto yy137;
+ } else if (yybm[0+yych] & 32) {
+ goto yy160;
}
if (yych <= ')') {
if (yych <= '\f') {
if (yych <= 0x0008) {
- if (yych <= 0x0000) goto yy228;
- goto yy182;
+ if (yych <= 0x0000) goto yy182;
+ goto yy137;
} else {
- if (yych <= '\t') goto yy240;
- if (yych <= '\n') goto yy228;
- goto yy182;
+ if (yych <= '\t') goto yy194;
+ if (yych <= '\n') goto yy182;
+ goto yy137;
}
} else {
if (yych <= ' ') {
- if (yych <= '\r') goto yy228;
- if (yych <= 0x001F) goto yy182;
- goto yy240;
+ if (yych <= '\r') goto yy182;
+ if (yych <= 0x001F) goto yy137;
+ goto yy194;
} else {
- if (yych <= '"') goto yy228;
- if (yych <= '%') goto yy182;
- goto yy228;
+ if (yych <= '"') goto yy182;
+ if (yych <= '%') goto yy137;
+ goto yy182;
}
}
} else {
if (yych <= ']') {
if (yych <= ';') {
- if (yych <= ':') goto yy182;
- goto yy228;
- } else {
- if (yych == '=') goto yy228;
+ if (yych <= ':') goto yy137;
goto yy182;
+ } else {
+ if (yych == '=') goto yy182;
+ goto yy137;
}
} else {
if (yych <= '|') {
- if (yych <= '^') goto yy228;
- if (yych <= '{') goto yy182;
- goto yy228;
- } else {
- if (yych == '~') goto yy228;
+ if (yych <= '^') goto yy182;
+ if (yych <= '{') goto yy137;
goto yy182;
+ } else {
+ if (yych == '~') goto yy182;
+ goto yy137;
}
}
}
-yy245:
+yy199:
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\t') goto yy245;
- if (yych == ' ') goto yy245;
- goto yy232;
-yy247:
- yyaccept = 4;
+ if (yych == '\t') goto yy199;
+ if (yych == ' ') goto yy199;
+ goto yy186;
+yy201:
+ yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '<') {
if (yych <= '"') {
if (yych <= '\n') {
- if (yych <= 0x0000) goto yy206;
- if (yych <= 0x0008) goto yy182;
- goto yy206;
+ if (yych <= 0x0000) goto yy162;
+ if (yych <= 0x0008) goto yy137;
+ goto yy162;
} else {
- if (yych == '\r') goto yy206;
- if (yych <= 0x001F) goto yy182;
- goto yy206;
+ if (yych == '\r') goto yy162;
+ if (yych <= 0x001F) goto yy137;
+ goto yy162;
}
} else {
if (yych <= '/') {
- if (yych <= '%') goto yy182;
- if (yych <= ')') goto yy206;
- goto yy182;
+ if (yych <= '%') goto yy137;
+ if (yych <= ')') goto yy162;
+ goto yy137;
} else {
- if (yych <= '9') goto yy204;
- if (yych == ';') goto yy206;
- goto yy182;
+ if (yych <= '9') goto yy160;
+ if (yych == ';') goto yy162;
+ goto yy137;
}
}
} else {
if (yych <= '`') {
if (yych <= 'Z') {
- if (yych <= '=') goto yy206;
- if (yych <= '@') goto yy182;
- goto yy204;
+ if (yych <= '=') goto yy162;
+ if (yych <= '@') goto yy137;
+ goto yy160;
} else {
- if (yych <= ']') goto yy182;
- if (yych <= '^') goto yy206;
- if (yych <= '_') goto yy204;
- goto yy182;
+ if (yych <= ']') goto yy137;
+ if (yych <= '^') goto yy162;
+ if (yych <= '_') goto yy160;
+ goto yy137;
}
} else {
if (yych <= '{') {
- if (yych == 'e') goto yy231;
- if (yych <= 'z') goto yy204;
- goto yy182;
+ if (yych == 'e') goto yy185;
+ if (yych <= 'z') goto yy160;
+ goto yy137;
} else {
- if (yych == '}') goto yy182;
- if (yych <= '~') goto yy206;
- goto yy182;
+ if (yych == '}') goto yy137;
+ if (yych <= '~') goto yy162;
+ goto yy137;
}
}
}
-yy248:
- yyaccept = 7;
+yy202:
+ yyaccept = 5;
yych = *(YYMARKER = ++YYCURSOR);
if (yych & ~0xFF) {
- goto yy182;
- } else if (yybm[0+yych] & 16) {
- goto yy204;
+ goto yy137;
+ } else if (yybm[0+yych] & 32) {
+ goto yy160;
}
if (yych <= ')') {
if (yych <= '\f') {
if (yych <= 0x0008) {
- if (yych >= 0x0001) goto yy182;
+ if (yych >= 0x0001) goto yy137;
} else {
- if (yych <= '\t') goto yy250;
- if (yych >= '\v') goto yy182;
+ if (yych <= '\t') goto yy204;
+ if (yych >= '\v') goto yy137;
}
} else {
if (yych <= ' ') {
- if (yych <= '\r') goto yy249;
- if (yych <= 0x001F) goto yy182;
- goto yy250;
+ if (yych <= '\r') goto yy203;
+ if (yych <= 0x001F) goto yy137;
+ goto yy204;
} else {
- if (yych <= '"') goto yy249;
- if (yych <= '%') goto yy182;
+ if (yych <= '"') goto yy203;
+ if (yych <= '%') goto yy137;
}
}
} else {
if (yych <= ']') {
if (yych <= ';') {
- if (yych <= ':') goto yy182;
+ if (yych <= ':') goto yy137;
} else {
- if (yych != '=') goto yy182;
+ if (yych != '=') goto yy137;
}
} else {
if (yych <= '|') {
- if (yych <= '^') goto yy249;
- if (yych <= '{') goto yy182;
+ if (yych <= '^') goto yy203;
+ if (yych <= '{') goto yy137;
} else {
- if (yych != '~') goto yy182;
+ if (yych != '~') goto yy137;
}
}
}
-yy249:
+yy203:
{}
-yy250:
+yy204:
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\t') goto yy250;
- if (yych == ' ') goto yy250;
- goto yy249;
+ if (yych == '\t') goto yy204;
+ if (yych == ' ') goto yy204;
+ goto yy203;
+ }
+/* *********************************** */
+yyc_ST_SECTION_RAW:
+ {
+ static const unsigned char yybm[] = {
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 192, 0, 64, 64, 0, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 192, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 0, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ };
+ YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych & ~0xFF) {
+ goto yy208;
+ } else if (yybm[0+yych] & 64) {
+ goto yy208;
+ }
+ if (yych <= '\r') goto yy211;
+ goto yy213;
+yy208:
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych & ~0xFF) {
+ goto yy208;
+ } else if (yybm[0+yych] & 64) {
+ goto yy208;
+ }
+ {}
+yy211:
+ ++YYCURSOR;
+ {}
+yy213:
+ ++YYCURSOR;
+ YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych & ~0xFF) {
+ goto yy215;
+ } else if (yybm[0+yych] & 128) {
+ goto yy213;
+ }
+ if (yych <= 0x0008) goto yy215;
+ if (yych <= '\n') goto yy216;
+ if (yych == '\r') goto yy217;
+yy215:
+ {}
+yy216:
+ ++YYCURSOR;
+ goto yy215;
+yy217:
+ yych = *++YYCURSOR;
+ if (yych == '\n') goto yy216;
+ goto yy215;
+ }
+/* *********************************** */
+yyc_ST_DOUBLE_QUOTES:
+ {
+ static const unsigned char yybm[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 128, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 128, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ };
+ YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych == '"') goto yy222;
+ if (yych == '$') goto yy225;
+ ++YYCURSOR;
+yy221:
+ {}
+yy222:
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych & ~0xFF) {
+ goto yy224;
+ } else if (yybm[0+yych] & 128) {
+ goto yy222;
+ }
+yy224:
+ {}
+yy225:
+ yych = *++YYCURSOR;
+ if (yych != '{') goto yy221;
+ ++YYCURSOR;
+ {}
}
/* *********************************** */
yyc_ST_VARNAME:
@@ -2851,28 +2686,154 @@ yyc_ST_VARNAME:
YYFILL(1);
yych = *YYCURSOR;
if (yych & ~0xFF) {
- goto yy254;
+ goto yy230;
} else if (yybm[0+yych] & 128) {
- goto yy254;
+ goto yy230;
}
- if (yych == '}') goto yy259;
- goto yy257;
-yy254:
+ if (yych == '}') goto yy235;
+ goto yy233;
+yy230:
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
if (yych & ~0xFF) {
- goto yy254;
+ goto yy230;
} else if (yybm[0+yych] & 128) {
- goto yy254;
+ goto yy230;
+ }
+ {}
+yy233:
+ ++YYCURSOR;
+ {}
+yy235:
+ ++YYCURSOR;
+ {}
+ }
+/* *********************************** */
+yyc_ST_RAW:
+ {
+ static const unsigned char yybm[] = {
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 192, 0, 64, 64, 0, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 192, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ 64, 64, 64, 64, 64, 64, 64, 64,
+ };
+ YYFILL(3);
+ yych = *YYCURSOR;
+ if (yych <= '\f') {
+ if (yych <= 0x0008) {
+ if (yych >= 0x0001) goto yy241;
+ } else {
+ if (yych <= '\t') goto yy243;
+ if (yych <= '\n') goto yy244;
+ goto yy241;
+ }
+ } else {
+ if (yych <= ' ') {
+ if (yych <= '\r') goto yy246;
+ if (yych <= 0x001F) goto yy241;
+ goto yy243;
+ } else {
+ if (yych == ';') goto yy247;
+ goto yy241;
+ }
+ }
+ ++YYCURSOR;
+ {}
+yy241:
+ ++YYCURSOR;
+yy242:
+ {}
+yy243:
+ yych = *++YYCURSOR;
+ if (yych <= '\r') {
+ if (yych <= 0x0008) goto yy242;
+ if (yych <= '\n') goto yy250;
+ if (yych <= '\f') goto yy242;
+ goto yy250;
+ } else {
+ if (yych <= ' ') {
+ if (yych <= 0x001F) goto yy242;
+ goto yy250;
+ } else {
+ if (yych == ';') goto yy250;
+ goto yy242;
+ }
}
+yy244:
+ ++YYCURSOR;
+yy245:
{}
-yy257:
+yy246:
+ yych = *++YYCURSOR;
+ if (yych == '\n') goto yy244;
+ goto yy245;
+yy247:
+ ++YYCURSOR;
+ YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych & ~0xFF) {
+ goto yy247;
+ } else if (yybm[0+yych] & 64) {
+ goto yy247;
+ }
+ if (yych <= '\n') goto yy252;
+ goto yy254;
+yy249:
++YYCURSOR;
+ YYFILL(2);
+ yych = *YYCURSOR;
+yy250:
+ if (yych & ~0xFF) {
+ goto yy251;
+ } else if (yybm[0+yych] & 128) {
+ goto yy249;
+ }
+ if (yych <= '\f') {
+ if (yych <= 0x0008) goto yy251;
+ if (yych <= '\n') goto yy244;
+ } else {
+ if (yych <= '\r') goto yy246;
+ if (yych == ';') goto yy247;
+ }
+yy251:
{}
-yy259:
+yy252:
++YYCURSOR;
+yy253:
{}
+yy254:
+ yych = *++YYCURSOR;
+ if (yych == '\n') goto yy252;
+ goto yy253;
}
}
@@ -2880,9 +2841,10 @@ re2c: warning: line 4: column 13: escape has no effect: '\.' [-Wuseless-escape]
re2c: warning: line 4: column 32: escape has no effect: '\.' [-Wuseless-escape]
re2c: warning: line 11: column 27: escape has no effect: '\[' [-Wuseless-escape]
re2c: warning: line 12: column 11: escape has no effect: '\[' [-Wuseless-escape]
-re2c: warning: line 55: unreachable rule in condition 'ST_DOUBLE_QUOTES' (shadowed by rules at lines 48, 49) [-Wunreachable-rules]
+re2c: warning: line 55: unreachable rule in condition 'INITIAL' (shadowed by rules at lines 24, 35, 36, 42, 51, 52, 53) [-Wunreachable-rules]
re2c: warning: line 50: unreachable rule in condition 'ST_OFFSET' (shadowed by rule at line 46) [-Wunreachable-rules]
-re2c: warning: line 55: unreachable rule in condition 'ST_RAW' (shadowed by rules at lines 37, 39, 54) [-Wunreachable-rules]
re2c: warning: line 50: unreachable rule in condition 'ST_SECTION_VALUE' (shadowed by rule at line 46) [-Wunreachable-rules]
re2c: warning: line 55: unreachable rule in condition 'ST_VALUE' (shadowed by rules at lines 39, 40, 41, 43, 44, 45, 47, 50, 54) [-Wunreachable-rules]
+re2c: warning: line 55: unreachable rule in condition 'ST_DOUBLE_QUOTES' (shadowed by rules at lines 48, 49) [-Wunreachable-rules]
+re2c: warning: line 55: unreachable rule in condition 'ST_RAW' (shadowed by rules at lines 37, 39, 54) [-Wunreachable-rules]
re2c: warning: line 56: looks like you use hardcoded numbers instead of autogenerated condition names: better add '/*!types:re2c*/' directive or '-t, --type-header' option and don't rely on fixed condition order. [-Wcondition-order]
diff --git a/test/php20150211_zend_ini_scanner_trimmed_minimal_wb_bug.iwb.c b/test/php20150211_zend_ini_scanner_trimmed_minimal_wb_bug.iwb.c
index 43a8bf48..b8639503 100644
--- a/test/php20150211_zend_ini_scanner_trimmed_minimal_wb_bug.iwb.c
+++ b/test/php20150211_zend_ini_scanner_trimmed_minimal_wb_bug.iwb.c
@@ -46,7 +46,7 @@
yy3:
{ default action }
yy4:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy3;
yy5:
++YYCURSOR;
diff --git a/test/php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.c b/test/php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.c
index 3935c29b..b80d9b3b 100644
--- a/test/php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.c
+++ b/test/php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.c
@@ -1,7 +1,5 @@
/* Generated by re2c */
-
digraph re2c {
-
0 -> ST_IN_SCRIPTING [label="state=ST_IN_SCRIPTING"]
0 -> ST_LOOKING_FOR_PROPERTY [label="state=ST_LOOKING_FOR_PROPERTY"]
0 -> ST_BACKQUOTE [label="state=ST_BACKQUOTE"]
@@ -12,1527 +10,1514 @@ digraph re2c {
0 -> INITIAL [label="state=INITIAL"]
0 -> ST_END_HEREDOC [label="state=ST_END_HEREDOC"]
0 -> ST_NOWDOC [label="state=ST_NOWDOC"]
-/* *********************************** */
-INITIAL -> 2
-2 -> 3 [label="[0x00-;][=-0xFF]"]
-2 -> 5 [label="[<]"]
+ST_IN_SCRIPTING -> 2
+2 -> 43 [label="[H][J-K][M][Q][Z][h][j-k][m][q][z][0x7F-0xFF]"]
+2 -> 3 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F]"]
+2 -> 5 [label="[0x09-0x0A][0x0D][ ]"]
+2 -> 8 [label="[!]"]
+2 -> 10 [label="[\"]"]
+2 -> 12 [label="[#]"]
+2 -> 14 [label="[$]"]
+2 -> 15 [label="[%]"]
+2 -> 16 [label="[&]"]
+2 -> 17 [label="[']"]
+2 -> 19 [label="[(]"]
+2 -> 20 [label="[)][,][;][@][[][0x5D][~]"]
+2 -> 21 [label="[*]"]
+2 -> 22 [label="[+]"]
+2 -> 23 [label="[-]"]
+2 -> 24 [label="[.]"]
+2 -> 25 [label="[/]"]
+2 -> 26 [label="[0]"]
+2 -> 28 [label="[1-9]"]
+2 -> 30 [label="[:]"]
+2 -> 31 [label="[<]"]
+2 -> 32 [label="[=]"]
+2 -> 33 [label="[>]"]
+2 -> 34 [label="[?]"]
+2 -> 35 [label="[A][a]"]
+2 -> 37 [label="[B][b]"]
+2 -> 38 [label="[C][c]"]
+2 -> 39 [label="[D][d]"]
+2 -> 40 [label="[E][e]"]
+2 -> 41 [label="[F][f]"]
+2 -> 42 [label="[G][g]"]
+2 -> 45 [label="[I][i]"]
+2 -> 46 [label="[L][l]"]
+2 -> 47 [label="[N][n]"]
+2 -> 48 [label="[O][o]"]
+2 -> 49 [label="[P][p]"]
+2 -> 50 [label="[R][r]"]
+2 -> 51 [label="[S][s]"]
+2 -> 52 [label="[T][t]"]
+2 -> 53 [label="[U][u]"]
+2 -> 54 [label="[V][v]"]
+2 -> 55 [label="[W][w]"]
+2 -> 56 [label="[X][x]"]
+2 -> 57 [label="[Y][y]"]
+2 -> 58 [label="[\\]"]
+2 -> 60 [label="[^]"]
+2 -> 61 [label="[_]"]
+2 -> 62 [label="[`]"]
+2 -> 64 [label="[{]"]
+2 -> 66 [label="[|]"]
+2 -> 67 [label="[}]"]
3 -> 4
-4 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1766"]
-5 -> 4 [label="[0x00->][@-0xFF]"]
-5 -> 6 [label="[?]"]
-6 -> 7 [label="[0x00-<][>-O][Q-o][q-0xFF]"]
-6 -> 8 [label="[=]"]
-6 -> 10 [label="[P][p]"]
-7 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1757"]
-8 -> 9
-9 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1744"]
-10 -> 11 [label="[0x00-G][I-g][i-0xFF]"]
-10 -> 12 [label="[H][h]"]
-11 -> 7
-12 -> 11 [label="[0x00-O][Q-o][q-0xFF]"]
-12 -> 13 [label="[P][p]"]
-13 -> 11 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!-0xFF]"]
-13 -> 14 [label="[0x09-0x0A][ ]"]
-13 -> 16 [label="[0x0D]"]
-14 -> 15
-15 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1750"]
-16 -> 15 [label="[0x00-0x09][0x0B-0xFF]"]
-16 -> 14 [label="[0x0A]"]
-/* *********************************** */
-ST_BACKQUOTE -> 18
-18 -> 19 [label="[0x00-#][%-_][a-z][|-0xFF]"]
-18 -> 21 [label="[$]"]
-18 -> 22 [label="[`]"]
-18 -> 24 [label="[{]"]
-19 -> 20
-20 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:2176"]
-21 -> 20 [label="[0x00-@][[-^][`][|-~]"]
-21 -> 25 [label="[A-Z][_][a-z][0x7F-0xFF]"]
-21 -> 28 [label="[{]"]
-22 -> 23
-23 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:2120"]
-24 -> 20 [label="[0x00-#][%-0xFF]"]
-24 -> 30 [label="[$]"]
-25 -> 26
-26 -> 27 [label="[0x00-,][.-/][:-@][\\-^][`][{-~]"]
-26 -> 32 [label="[-]"]
-26 -> 25 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-26 -> 34 [label="[[]"]
-27 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1831"]
+4 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:2349"]
+5 -> 6
+6 -> 7 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!-0xFF]"]
+6 -> 5 [label="[0x09-0x0A][0x0D][ ]"]
+7 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1263"]
+8 -> 9 [label="[0x00-<][>-0xFF]"]
+8 -> 69 [label="[=]"]
+9 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1544"]
+10 -> 11
+11 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1997"]
+12 -> 13
+13 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1860"]
+14 -> 71 [label="[A-Z][_][a-z][0x7F-0xFF]"]
+14 -> 9 [label="[0x00-@][[-^][`][{-~]"]
+15 -> 9 [label="[0x00-<][>-0xFF]"]
+15 -> 74 [label="[=]"]
+16 -> 9 [label="[0x00-%]['-<][>-0xFF]"]
+16 -> 76 [label="[&]"]
+16 -> 78 [label="[=]"]
+17 -> 18
+18 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1928"]
+19 -> 9 [label="[0x00-0x08][0x0A-0x1F][!-@][C][E][G-H][J-N][P-Q][T][V-`][c][e][g-h][j-n][p-q][t][v-0xFF]"]
+19 -> 81 [label="[0x09][ ][A-B][D][F][I][O][R-S][U][a-b][d][f][i][o][r-s][u]"]
+20 -> 9
+21 -> 9 [label="[0x00-)][+-<][>-0xFF]"]
+21 -> 92 [label="[*]"]
+21 -> 94 [label="[=]"]
+22 -> 9 [label="[0x00-*][,-<][>-0xFF]"]
+22 -> 96 [label="[+]"]
+22 -> 98 [label="[=]"]
+23 -> 9 [label="[0x00-,][.-<][?-0xFF]"]
+23 -> 100 [label="[-]"]
+23 -> 102 [label="[=]"]
+23 -> 104 [label="[>]"]
+24 -> 9 [label="[0x00--][/][:-<][>-0xFF]"]
+24 -> 106 [label="[.]"]
+24 -> 107 [label="[0-9]"]
+24 -> 110 [label="[=]"]
+25 -> 9 [label="[0x00-)][+-.][0-<][>-0xFF]"]
+25 -> 112 [label="[*]"]
+25 -> 12 [label="[/]"]
+25 -> 114 [label="[=]"]
+26 -> 29 [label="[0x00-A][C-W][Y-a][c-w][y-0xFF]"]
+26 -> 116 [label="[B][b]"]
+26 -> 118 [label="[X][x]"]
+27 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1614"]
28 -> 29
-29 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1555"]
-30 -> 31
-31 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:2107"]
-32 -> 33 [label="[0x00-=][?-0xFF]"]
-32 -> 36 [label="[>]"]
-33 -> 27
-34 -> 35
-35 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1824"]
-36 -> 33 [label="[0x00-@][[-^][`][{-~]"]
-36 -> 37 [label="[A-Z][_][a-z][0x7F-0xFF]"]
-37 -> 38
-38 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1815"]
-/* *********************************** */
-ST_DOUBLE_QUOTES -> 40
-40 -> 41 [label="[0x00-!][#][%-z][|-0xFF]"]
-40 -> 43 [label="[\"]"]
-40 -> 45 [label="[$]"]
-40 -> 46 [label="[{]"]
-41 -> 42
-42 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:2126"]
+29 -> 27 [label="[0x00--][/][:-D][F-d][f-0xFF]"]
+29 -> 107 [label="[.]"]
+29 -> 28 [label="[0-9]"]
+29 -> 117 [label="[E][e]"]
+30 -> 9 [label="[0x00-9][;-0xFF]"]
+30 -> 119 [label="[:]"]
+31 -> 9 [label="[0x00-;][?-0xFF]"]
+31 -> 121 [label="[<]"]
+31 -> 123 [label="[=]"]
+31 -> 125 [label="[>]"]
+32 -> 9 [label="[0x00-<][?-0xFF]"]
+32 -> 126 [label="[=]"]
+32 -> 128 [label="[>]"]
+33 -> 9 [label="[0x00-<][?-0xFF]"]
+33 -> 130 [label="[=]"]
+33 -> 132 [label="[>]"]
+34 -> 9 [label="[0x00-=][@-0xFF]"]
+34 -> 134 [label="[>]"]
+34 -> 136 [label="[?]"]
+35 -> 44 [label="[0x00-A][C-M][O-Q][T-a][c-m][o-q][t-0xFF]"]
+35 -> 138 [label="[B][b]"]
+35 -> 139 [label="[N][n]"]
+35 -> 140 [label="[R][r]"]
+35 -> 141 [label="[S][s]"]
+36 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1854"]
+37 -> 44 [label="[0x00-!][#-&][(-;][=-Q][S-q][s-0xFF]"]
+37 -> 10 [label="[\"]"]
+37 -> 17 [label="[']"]
+37 -> 143 [label="[<]"]
+37 -> 144 [label="[R][r]"]
+38 -> 44 [label="[0x00-@][B-K][M-N][P-`][b-k][m-n][p-0xFF]"]
+38 -> 145 [label="[A][a]"]
+38 -> 146 [label="[L][l]"]
+38 -> 147 [label="[O][o]"]
+39 -> 44 [label="[0x00-D][F-H][J-N][P-d][f-h][j-n][p-0xFF]"]
+39 -> 148 [label="[E][e]"]
+39 -> 149 [label="[I][i]"]
+39 -> 150 [label="[O][o]"]
+40 -> 44 [label="[0x00-B][D-K][O-U][W][Y-b][d-k][o-u][w][y-0xFF]"]
+40 -> 152 [label="[C][c]"]
+40 -> 153 [label="[L][l]"]
+40 -> 154 [label="[M][m]"]
+40 -> 155 [label="[N][n]"]
+40 -> 156 [label="[V][v]"]
+40 -> 157 [label="[X][x]"]
+41 -> 44 [label="[0x00-H][J-N][P-T][V-h][j-n][p-t][v-0xFF]"]
+41 -> 158 [label="[I][i]"]
+41 -> 159 [label="[O][o]"]
+41 -> 160 [label="[U][u]"]
+42 -> 44 [label="[0x00-K][M-N][P-k][m-n][p-0xFF]"]
+42 -> 161 [label="[L][l]"]
+42 -> 162 [label="[O][o]"]
43 -> 44
-44 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:2115"]
-45 -> 42 [label="[0x00-@][[-^][`][|-~]"]
-45 -> 47 [label="[A-Z][_][a-z][0x7F-0xFF]"]
-45 -> 50 [label="[{]"]
-46 -> 42 [label="[0x00-#][%-0xFF]"]
-46 -> 52 [label="[$]"]
-47 -> 48
-48 -> 49 [label="[0x00-,][.-/][:-@][\\-^][`][{-~]"]
-48 -> 54 [label="[-]"]
-48 -> 47 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-48 -> 56 [label="[[]"]
-49 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1831"]
-50 -> 51
-51 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1555"]
-52 -> 53
-53 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:2107"]
-54 -> 55 [label="[0x00-=][?-0xFF]"]
-54 -> 58 [label="[>]"]
-55 -> 49
-56 -> 57
-57 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1824"]
-58 -> 55 [label="[0x00-@][[-^][`][{-~]"]
-58 -> 59 [label="[A-Z][_][a-z][0x7F-0xFF]"]
-59 -> 60
-60 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1815"]
-/* *********************************** */
-ST_END_HEREDOC -> 62
+44 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+44 -> 36 [label="[0x00-/][:-@][[-^][`][{-~]"]
+45 -> 44 [label="[0x00-E][G-L][O-R][T-e][g-l][o-r][t-0xFF]"]
+45 -> 163 [label="[F][f]"]
+45 -> 165 [label="[M][m]"]
+45 -> 166 [label="[N][n]"]
+45 -> 167 [label="[S][s]"]
+46 -> 44 [label="[0x00-H][J-h][j-0xFF]"]
+46 -> 168 [label="[I][i]"]
+47 -> 44 [label="[0x00-@][B-D][F-`][b-d][f-0xFF]"]
+47 -> 169 [label="[A][a]"]
+47 -> 170 [label="[E][e]"]
+48 -> 44 [label="[0x00-Q][S-q][s-0xFF]"]
+48 -> 171 [label="[R][r]"]
+49 -> 44 [label="[0x00-Q][S-T][V-q][s-t][v-0xFF]"]
+49 -> 173 [label="[R][r]"]
+49 -> 174 [label="[U][u]"]
+50 -> 44 [label="[0x00-D][F-d][f-0xFF]"]
+50 -> 175 [label="[E][e]"]
+51 -> 44 [label="[0x00-S][U-V][X-s][u-v][x-0xFF]"]
+51 -> 176 [label="[T][t]"]
+51 -> 177 [label="[W][w]"]
+52 -> 44 [label="[0x00-G][I-Q][S-g][i-q][s-0xFF]"]
+52 -> 178 [label="[H][h]"]
+52 -> 179 [label="[R][r]"]
+53 -> 44 [label="[0x00-M][O-R][T-m][o-r][t-0xFF]"]
+53 -> 180 [label="[N][n]"]
+53 -> 181 [label="[S][s]"]
+54 -> 44 [label="[0x00-@][B-`][b-0xFF]"]
+54 -> 182 [label="[A][a]"]
+55 -> 44 [label="[0x00-G][I-g][i-0xFF]"]
+55 -> 183 [label="[H][h]"]
+56 -> 44 [label="[0x00-N][P-n][p-0xFF]"]
+56 -> 184 [label="[O][o]"]
+57 -> 44 [label="[0x00-H][J-h][j-0xFF]"]
+57 -> 185 [label="[I][i]"]
+58 -> 59
+59 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1288"]
+60 -> 9 [label="[0x00-<][>-0xFF]"]
+60 -> 186 [label="[=]"]
+61 -> 44 [label="[0x00-^][`-0xFF]"]
+61 -> 188 [label="[_]"]
62 -> 63
-63 -> 64
-64 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:2093"]
-/* *********************************** */
-ST_HEREDOC -> 66
-66 -> 67 [label="[0x00-#][%-z][|-0xFF]"]
-66 -> 69 [label="[$]"]
-66 -> 70 [label="[{]"]
+63 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:2087"]
+64 -> 65
+65 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1549"]
+66 -> 9 [label="[0x00-<][>-{][}-0xFF]"]
+66 -> 189 [label="[=]"]
+66 -> 191 [label="[|]"]
67 -> 68
-68 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:2218"]
-69 -> 68 [label="[0x00-@][[-^][`][|-~]"]
-69 -> 71 [label="[A-Z][_][a-z][0x7F-0xFF]"]
-69 -> 74 [label="[{]"]
-70 -> 68 [label="[0x00-#][%-0xFF]"]
-70 -> 76 [label="[$]"]
+68 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1561"]
+69 -> 70 [label="[0x00-<][>-0xFF]"]
+69 -> 193 [label="[=]"]
+70 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1452"]
71 -> 72
-72 -> 73 [label="[0x00-,][.-/][:-@][\\-^][`][{-~]"]
-72 -> 78 [label="[-]"]
72 -> 71 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-72 -> 80 [label="[[]"]
+72 -> 73 [label="[0x00-/][:-@][[-^][`][{-~]"]
73 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1831"]
74 -> 75
-75 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1555"]
+75 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1492"]
76 -> 77
-77 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:2107"]
-78 -> 79 [label="[0x00-=][?-0xFF]"]
-78 -> 82 [label="[>]"]
-79 -> 73
+77 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1520"]
+78 -> 79
+79 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1504"]
80 -> 81
-81 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1824"]
-82 -> 79 [label="[0x00-@][[-^][`][{-~]"]
-82 -> 83 [label="[A-Z][_][a-z][0x7F-0xFF]"]
-83 -> 84
-84 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1815"]
-/* *********************************** */
-ST_IN_SCRIPTING -> 86
-86 -> 87 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F]"]
-86 -> 89 [label="[0x09-0x0A][0x0D][ ]"]
-86 -> 92 [label="[!]"]
-86 -> 94 [label="[\"]"]
-86 -> 96 [label="[#]"]
-86 -> 98 [label="[$]"]
-86 -> 99 [label="[%]"]
-86 -> 100 [label="[&]"]
-86 -> 101 [label="[']"]
-86 -> 103 [label="[(]"]
-86 -> 104 [label="[)][,][;][@][[][0x5D][~]"]
-86 -> 105 [label="[*]"]
-86 -> 106 [label="[+]"]
-86 -> 107 [label="[-]"]
-86 -> 108 [label="[.]"]
-86 -> 109 [label="[/]"]
-86 -> 110 [label="[0]"]
-86 -> 112 [label="[1-9]"]
-86 -> 114 [label="[:]"]
-86 -> 115 [label="[<]"]
-86 -> 116 [label="[=]"]
-86 -> 117 [label="[>]"]
-86 -> 118 [label="[?]"]
-86 -> 119 [label="[A][a]"]
-86 -> 121 [label="[B][b]"]
-86 -> 122 [label="[C][c]"]
-86 -> 123 [label="[D][d]"]
-86 -> 124 [label="[E][e]"]
-86 -> 125 [label="[F][f]"]
-86 -> 126 [label="[G][g]"]
-86 -> 127 [label="[H][J-K][M][Q][Z][h][j-k][m][q][z][0x7F-0xFF]"]
-86 -> 129 [label="[I][i]"]
-86 -> 130 [label="[L][l]"]
-86 -> 131 [label="[N][n]"]
-86 -> 132 [label="[O][o]"]
-86 -> 133 [label="[P][p]"]
-86 -> 134 [label="[R][r]"]
-86 -> 135 [label="[S][s]"]
-86 -> 136 [label="[T][t]"]
-86 -> 137 [label="[U][u]"]
-86 -> 138 [label="[V][v]"]
-86 -> 139 [label="[W][w]"]
-86 -> 140 [label="[X][x]"]
-86 -> 141 [label="[Y][y]"]
-86 -> 142 [label="[\\]"]
-86 -> 144 [label="[^]"]
-86 -> 145 [label="[_]"]
-86 -> 146 [label="[`]"]
-86 -> 148 [label="[{]"]
-86 -> 150 [label="[|]"]
-86 -> 151 [label="[}]"]
-87 -> 88
-88 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:2349"]
-89 -> 90
-90 -> 91 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!-0xFF]"]
-90 -> 89 [label="[0x09-0x0A][0x0D][ ]"]
-91 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1263"]
+81 -> 82 [label="[0x00-0x08][0x0A-0x1F][!-@][C][E][G-H][J-N][P-Q][T][V-`][c][e][g-h][j-n][p-q][t][v-0xFF]"]
+81 -> 80 [label="[0x09][ ]"]
+81 -> 83 [label="[A][a]"]
+81 -> 84 [label="[B][b]"]
+81 -> 85 [label="[D][d]"]
+81 -> 86 [label="[F][f]"]
+81 -> 87 [label="[I][i]"]
+81 -> 88 [label="[O][o]"]
+81 -> 89 [label="[R][r]"]
+81 -> 90 [label="[S][s]"]
+81 -> 91 [label="[U][u]"]
+82 -> 9 [label="yyaccept=0"]
+82 -> 27 [label="yyaccept=1"]
+82 -> 36 [label="yyaccept=2"]
+82 -> 109 [label="yyaccept=3"]
+82 -> 113 [label="yyaccept=4"]
+82 -> 122 [label="yyaccept=5"]
+83 -> 82 [label="[0x00-Q][S-q][s-0xFF]"]
+83 -> 195 [label="[R][r]"]
+84 -> 82 [label="[0x00-H][J-N][P-h][j-n][p-0xFF]"]
+84 -> 196 [label="[I][i]"]
+84 -> 197 [label="[O][o]"]
+85 -> 82 [label="[0x00-N][P-n][p-0xFF]"]
+85 -> 198 [label="[O][o]"]
+86 -> 82 [label="[0x00-K][M-k][m-0xFF]"]
+86 -> 199 [label="[L][l]"]
+87 -> 82 [label="[0x00-M][O-m][o-0xFF]"]
+87 -> 200 [label="[N][n]"]
+88 -> 82 [label="[0x00-A][C-a][c-0xFF]"]
+88 -> 201 [label="[B][b]"]
+89 -> 82 [label="[0x00-D][F-d][f-0xFF]"]
+89 -> 202 [label="[E][e]"]
+90 -> 82 [label="[0x00-S][U-s][u-0xFF]"]
+90 -> 203 [label="[T][t]"]
+91 -> 82 [label="[0x00-M][O-m][o-0xFF]"]
+91 -> 204 [label="[N][n]"]
92 -> 93 [label="[0x00-<][>-0xFF]"]
-92 -> 153 [label="[=]"]
-93 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1544"]
+92 -> 205 [label="[=]"]
+93 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1476"]
94 -> 95
-95 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1997"]
+95 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1472"]
96 -> 97
-97 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1860"]
-98 -> 93 [label="[0x00-@][[-^][`][{-~]"]
-98 -> 155 [label="[A-Z][_][a-z][0x7F-0xFF]"]
-99 -> 93 [label="[0x00-<][>-0xFF]"]
-99 -> 158 [label="[=]"]
-100 -> 93 [label="[0x00-%]['-<][>-0xFF]"]
-100 -> 160 [label="[&]"]
-100 -> 162 [label="[=]"]
-101 -> 102
-102 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1928"]
-103 -> 93 [label="[0x00-0x08][0x0A-0x1F][!-@][C][E][G-H][J-N][P-Q][T][V-`][c][e][g-h][j-n][p-q][t][v-0xFF]"]
-103 -> 165 [label="[0x09][ ][A-B][D][F][I][O][R-S][U][a-b][d][f][i][o][r-s][u]"]
-104 -> 93
-105 -> 93 [label="[0x00-)][+-<][>-0xFF]"]
-105 -> 176 [label="[*]"]
-105 -> 178 [label="[=]"]
-106 -> 93 [label="[0x00-*][,-<][>-0xFF]"]
-106 -> 180 [label="[+]"]
-106 -> 182 [label="[=]"]
-107 -> 93 [label="[0x00-,][.-<][?-0xFF]"]
-107 -> 184 [label="[-]"]
-107 -> 186 [label="[=]"]
-107 -> 188 [label="[>]"]
-108 -> 93 [label="[0x00--][/][:-<][>-0xFF]"]
-108 -> 190 [label="[.]"]
-108 -> 191 [label="[0-9]"]
-108 -> 194 [label="[=]"]
-109 -> 93 [label="[0x00-)][+-.][0-<][>-0xFF]"]
-109 -> 196 [label="[*]"]
-109 -> 96 [label="[/]"]
-109 -> 198 [label="[=]"]
-110 -> 111 [label="[0x00--][/][:-A][C-D][F-W][Y-a][c-d][f-w][y-0xFF]"]
-110 -> 191 [label="[.]"]
-110 -> 112 [label="[0-9]"]
-110 -> 200 [label="[B][b]"]
-110 -> 201 [label="[E][e]"]
-110 -> 202 [label="[X][x]"]
-111 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1614"]
-112 -> 113
-113 -> 111 [label="[0x00--][/][:-D][F-d][f-0xFF]"]
-113 -> 191 [label="[.]"]
-113 -> 112 [label="[0-9]"]
-113 -> 201 [label="[E][e]"]
-114 -> 93 [label="[0x00-9][;-0xFF]"]
-114 -> 203 [label="[:]"]
-115 -> 93 [label="[0x00-;][?-0xFF]"]
-115 -> 205 [label="[<]"]
-115 -> 207 [label="[=]"]
-115 -> 209 [label="[>]"]
-116 -> 93 [label="[0x00-<][?-0xFF]"]
-116 -> 210 [label="[=]"]
-116 -> 212 [label="[>]"]
-117 -> 93 [label="[0x00-<][?-0xFF]"]
-117 -> 214 [label="[=]"]
-117 -> 216 [label="[>]"]
-118 -> 93 [label="[0x00-=][@-0xFF]"]
-118 -> 218 [label="[>]"]
-118 -> 220 [label="[?]"]
-119 -> 128 [label="[0x00-A][C-M][O-Q][T-a][c-m][o-q][t-0xFF]"]
-119 -> 222 [label="[B][b]"]
-119 -> 223 [label="[N][n]"]
-119 -> 224 [label="[R][r]"]
-119 -> 225 [label="[S][s]"]
-120 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1854"]
-121 -> 128 [label="[0x00-!][#-&][(-;][=-Q][S-q][s-0xFF]"]
-121 -> 94 [label="[\"]"]
-121 -> 101 [label="[']"]
-121 -> 227 [label="[<]"]
-121 -> 228 [label="[R][r]"]
-122 -> 128 [label="[0x00-@][B-K][M-N][P-`][b-k][m-n][p-0xFF]"]
-122 -> 229 [label="[A][a]"]
-122 -> 230 [label="[L][l]"]
-122 -> 231 [label="[O][o]"]
-123 -> 128 [label="[0x00-D][F-H][J-N][P-d][f-h][j-n][p-0xFF]"]
-123 -> 232 [label="[E][e]"]
-123 -> 233 [label="[I][i]"]
-123 -> 234 [label="[O][o]"]
-124 -> 128 [label="[0x00-B][D-K][O-U][W][Y-b][d-k][o-u][w][y-0xFF]"]
-124 -> 236 [label="[C][c]"]
-124 -> 237 [label="[L][l]"]
-124 -> 238 [label="[M][m]"]
-124 -> 239 [label="[N][n]"]
-124 -> 240 [label="[V][v]"]
-124 -> 241 [label="[X][x]"]
-125 -> 128 [label="[0x00-H][J-N][P-T][V-h][j-n][p-t][v-0xFF]"]
-125 -> 242 [label="[I][i]"]
-125 -> 243 [label="[O][o]"]
-125 -> 244 [label="[U][u]"]
-126 -> 128 [label="[0x00-K][M-N][P-k][m-n][p-0xFF]"]
-126 -> 245 [label="[L][l]"]
-126 -> 246 [label="[O][o]"]
-127 -> 128
-128 -> 120 [label="[0x00-/][:-@][[-^][`][{-~]"]
-128 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-129 -> 128 [label="[0x00-E][G-L][O-R][T-e][g-l][o-r][t-0xFF]"]
-129 -> 247 [label="[F][f]"]
-129 -> 249 [label="[M][m]"]
-129 -> 250 [label="[N][n]"]
-129 -> 251 [label="[S][s]"]
-130 -> 128 [label="[0x00-H][J-h][j-0xFF]"]
-130 -> 252 [label="[I][i]"]
-131 -> 128 [label="[0x00-@][B-D][F-`][b-d][f-0xFF]"]
-131 -> 253 [label="[A][a]"]
-131 -> 254 [label="[E][e]"]
-132 -> 128 [label="[0x00-Q][S-q][s-0xFF]"]
-132 -> 255 [label="[R][r]"]
-133 -> 128 [label="[0x00-Q][S-T][V-q][s-t][v-0xFF]"]
-133 -> 257 [label="[R][r]"]
-133 -> 258 [label="[U][u]"]
-134 -> 128 [label="[0x00-D][F-d][f-0xFF]"]
-134 -> 259 [label="[E][e]"]
-135 -> 128 [label="[0x00-S][U-V][X-s][u-v][x-0xFF]"]
-135 -> 260 [label="[T][t]"]
-135 -> 261 [label="[W][w]"]
-136 -> 128 [label="[0x00-G][I-Q][S-g][i-q][s-0xFF]"]
-136 -> 262 [label="[H][h]"]
-136 -> 263 [label="[R][r]"]
-137 -> 128 [label="[0x00-M][O-R][T-m][o-r][t-0xFF]"]
-137 -> 264 [label="[N][n]"]
-137 -> 265 [label="[S][s]"]
-138 -> 128 [label="[0x00-@][B-`][b-0xFF]"]
-138 -> 266 [label="[A][a]"]
-139 -> 128 [label="[0x00-G][I-g][i-0xFF]"]
-139 -> 267 [label="[H][h]"]
-140 -> 128 [label="[0x00-N][P-n][p-0xFF]"]
-140 -> 268 [label="[O][o]"]
-141 -> 128 [label="[0x00-H][J-h][j-0xFF]"]
-141 -> 269 [label="[I][i]"]
-142 -> 143
-143 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1288"]
-144 -> 93 [label="[0x00-<][>-0xFF]"]
-144 -> 270 [label="[=]"]
-145 -> 128 [label="[0x00-^][`-0xFF]"]
-145 -> 272 [label="[_]"]
-146 -> 147
-147 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:2087"]
-148 -> 149
-149 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1549"]
-150 -> 93 [label="[0x00-<][>-{][}-0xFF]"]
-150 -> 273 [label="[=]"]
-150 -> 275 [label="[|]"]
-151 -> 152
-152 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1561"]
-153 -> 154 [label="[0x00-<][>-0xFF]"]
-153 -> 277 [label="[=]"]
-154 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1452"]
-155 -> 156
-156 -> 157 [label="[0x00-/][:-@][[-^][`][{-~]"]
-156 -> 155 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-157 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1831"]
-158 -> 159
-159 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1492"]
-160 -> 161
-161 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1520"]
-162 -> 163
-163 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1504"]
-164 -> 165
-165 -> 166 [label="[0x00-0x08][0x0A-0x1F][!-@][C][E][G-H][J-N][P-Q][T][V-`][c][e][g-h][j-n][p-q][t][v-0xFF]"]
-165 -> 164 [label="[0x09][ ]"]
-165 -> 167 [label="[A][a]"]
-165 -> 168 [label="[B][b]"]
-165 -> 169 [label="[D][d]"]
-165 -> 170 [label="[F][f]"]
-165 -> 171 [label="[I][i]"]
-165 -> 172 [label="[O][o]"]
-165 -> 173 [label="[R][r]"]
-165 -> 174 [label="[S][s]"]
-165 -> 175 [label="[U][u]"]
-166 -> 93 [label="yyaccept=0"]
-166 -> 111 [label="yyaccept=1"]
-166 -> 120 [label="yyaccept=2"]
-166 -> 193 [label="yyaccept=3"]
-166 -> 197 [label="yyaccept=4"]
-166 -> 206 [label="yyaccept=5"]
-167 -> 166 [label="[0x00-Q][S-q][s-0xFF]"]
-167 -> 279 [label="[R][r]"]
-168 -> 166 [label="[0x00-H][J-N][P-h][j-n][p-0xFF]"]
-168 -> 280 [label="[I][i]"]
-168 -> 281 [label="[O][o]"]
-169 -> 166 [label="[0x00-N][P-n][p-0xFF]"]
-169 -> 282 [label="[O][o]"]
-170 -> 166 [label="[0x00-K][M-k][m-0xFF]"]
-170 -> 283 [label="[L][l]"]
-171 -> 166 [label="[0x00-M][O-m][o-0xFF]"]
-171 -> 284 [label="[N][n]"]
-172 -> 166 [label="[0x00-A][C-a][c-0xFF]"]
-172 -> 285 [label="[B][b]"]
-173 -> 166 [label="[0x00-D][F-d][f-0xFF]"]
-173 -> 286 [label="[E][e]"]
-174 -> 166 [label="[0x00-S][U-s][u-0xFF]"]
-174 -> 287 [label="[T][t]"]
-175 -> 166 [label="[0x00-M][O-m][o-0xFF]"]
-175 -> 288 [label="[N][n]"]
-176 -> 177 [label="[0x00-<][>-0xFF]"]
-176 -> 289 [label="[=]"]
-177 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1476"]
-178 -> 179
-179 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1472"]
-180 -> 181
-181 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1432"]
-182 -> 183
-183 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1464"]
-184 -> 185
-185 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1436"]
+97 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1432"]
+98 -> 99
+99 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1464"]
+100 -> 101
+101 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1436"]
+102 -> 103
+103 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1468"]
+104 -> 105
+105 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1258"]
+106 -> 82 [label="[0x00--][/-0xFF]"]
+106 -> 207 [label="[.]"]
+107 -> 108
+108 -> 109 [label="[0x00-/][:-D][F-d][f-0xFF]"]
+108 -> 107 [label="[0-9]"]
+108 -> 117 [label="[E][e]"]
+109 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1702"]
+110 -> 111
+111 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1488"]
+112 -> 113 [label="[0x00-)][+-0xFF]"]
+112 -> 209 [label="[*]"]
+113 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1889"]
+114 -> 115
+115 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1484"]
+116 -> 82 [label="[0x00-/][2-0xFF]"]
+116 -> 210 [label="[0-1]"]
+117 -> 82 [label="[0x00-*][,][.-/][:-0xFF]"]
+117 -> 213 [label="[+][-]"]
+117 -> 214 [label="[0-9]"]
+118 -> 82 [label="[0x00-/][:-@][G-`][g-0xFF]"]
+118 -> 216 [label="[0-9][A-F][a-f]"]
+119 -> 120
+120 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1284"]
+121 -> 122 [label="[0x00-;][>-0xFF]"]
+121 -> 219 [label="[<]"]
+121 -> 221 [label="[=]"]
+122 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1536"]
+123 -> 124
+124 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1456"]
+125 -> 70
+126 -> 127 [label="[0x00-<][>-0xFF]"]
+126 -> 223 [label="[=]"]
+127 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1448"]
+128 -> 129
+129 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1416"]
+130 -> 131
+131 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1460"]
+132 -> 133 [label="[0x00-<][>-0xFF]"]
+132 -> 225 [label="[=]"]
+133 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1540"]
+134 -> 135 [label="[0x00-0x09][0x0B-0x0C][0x0E-0xFF]"]
+134 -> 227 [label="[0x0A]"]
+134 -> 228 [label="[0x0D]"]
+135 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1922"]
+136 -> 137
+137 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1296"]
+138 -> 44 [label="[0x00-R][T-r][t-0xFF]"]
+138 -> 229 [label="[S][s]"]
+139 -> 44 [label="[0x00-C][E-c][e-0xFF]"]
+139 -> 230 [label="[D][d]"]
+140 -> 44 [label="[0x00-Q][S-q][s-0xFF]"]
+140 -> 232 [label="[R][r]"]
+141 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+141 -> 142 [label="[0x00-/][:-@][[-^][`][{-~]"]
+142 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1198"]
+143 -> 82 [label="[0x00-;][=-0xFF]"]
+143 -> 233 [label="[<]"]
+144 -> 44 [label="[0x00-D][F-d][f-0xFF]"]
+144 -> 234 [label="[E][e]"]
+145 -> 44 [label="[0x00-K][M-R][U-k][m-r][u-0xFF]"]
+145 -> 235 [label="[L][l]"]
+145 -> 236 [label="[S][s]"]
+145 -> 237 [label="[T][t]"]
+146 -> 44 [label="[0x00-@][B-N][P-`][b-n][p-0xFF]"]
+146 -> 238 [label="[A][a]"]
+146 -> 239 [label="[O][o]"]
+147 -> 44 [label="[0x00-M][O-m][o-0xFF]"]
+147 -> 240 [label="[N][n]"]
+148 -> 44 [label="[0x00-B][D-E][G-b][d-e][g-0xFF]"]
+148 -> 241 [label="[C][c]"]
+148 -> 242 [label="[F][f]"]
+149 -> 44 [label="[0x00-D][F-d][f-0xFF]"]
+149 -> 243 [label="[E][e]"]
+150 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+150 -> 151 [label="[0x00-/][:-@][[-^][`][{-~]"]
+151 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1166"]
+152 -> 44 [label="[0x00-G][I-g][i-0xFF]"]
+152 -> 245 [label="[H][h]"]
+153 -> 44 [label="[0x00-R][T-r][t-0xFF]"]
+153 -> 246 [label="[S][s]"]
+154 -> 44 [label="[0x00-O][Q-o][q-0xFF]"]
+154 -> 247 [label="[P][p]"]
+155 -> 44 [label="[0x00-C][E-c][e-0xFF]"]
+155 -> 248 [label="[D][d]"]
+156 -> 44 [label="[0x00-@][B-`][b-0xFF]"]
+156 -> 249 [label="[A][a]"]
+157 -> 44 [label="[0x00-H][J-S][U-h][j-s][u-0xFF]"]
+157 -> 250 [label="[I][i]"]
+157 -> 251 [label="[T][t]"]
+158 -> 44 [label="[0x00-M][O-m][o-0xFF]"]
+158 -> 252 [label="[N][n]"]
+159 -> 44 [label="[0x00-Q][S-q][s-0xFF]"]
+159 -> 253 [label="[R][r]"]
+160 -> 44 [label="[0x00-M][O-m][o-0xFF]"]
+160 -> 255 [label="[N][n]"]
+161 -> 44 [label="[0x00-N][P-n][p-0xFF]"]
+161 -> 256 [label="[O][o]"]
+162 -> 44 [label="[0x00-S][U-s][u-0xFF]"]
+162 -> 257 [label="[T][t]"]
+163 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+163 -> 164 [label="[0x00-/][:-@][[-^][`][{-~]"]
+164 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1142"]
+165 -> 44 [label="[0x00-O][Q-o][q-0xFF]"]
+165 -> 258 [label="[P][p]"]
+166 -> 44 [label="[0x00-B][D-R][U-b][d-r][u-0xFF]"]
+166 -> 259 [label="[C][c]"]
+166 -> 260 [label="[S][s]"]
+166 -> 261 [label="[T][t]"]
+167 -> 44 [label="[0x00-R][T-r][t-0xFF]"]
+167 -> 262 [label="[S][s]"]
+168 -> 44 [label="[0x00-R][T-r][t-0xFF]"]
+168 -> 263 [label="[S][s]"]
+169 -> 44 [label="[0x00-L][N-l][n-0xFF]"]
+169 -> 264 [label="[M][m]"]
+170 -> 44 [label="[0x00-V][X-v][x-0xFF]"]
+170 -> 265 [label="[W][w]"]
+171 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+171 -> 172 [label="[0x00-/][:-@][[-^][`][{-~]"]
+172 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1524"]
+173 -> 44 [label="[0x00-H][J-N][P-h][j-n][p-0xFF]"]
+173 -> 267 [label="[I][i]"]
+173 -> 268 [label="[O][o]"]
+174 -> 44 [label="[0x00-A][C-a][c-0xFF]"]
+174 -> 269 [label="[B][b]"]
+175 -> 44 [label="[0x00-P][R-S][U-p][r-s][u-0xFF]"]
+175 -> 270 [label="[Q][q]"]
+175 -> 271 [label="[T][t]"]
+176 -> 44 [label="[0x00-@][B-`][b-0xFF]"]
+176 -> 272 [label="[A][a]"]
+177 -> 44 [label="[0x00-H][J-h][j-0xFF]"]
+177 -> 273 [label="[I][i]"]
+178 -> 44 [label="[0x00-Q][S-q][s-0xFF]"]
+178 -> 274 [label="[R][r]"]
+179 -> 44 [label="[0x00-@][B-X][Z-`][b-x][z-0xFF]"]
+179 -> 275 [label="[A][a]"]
+179 -> 276 [label="[Y][y]"]
+180 -> 44 [label="[0x00-R][T-r][t-0xFF]"]
+180 -> 278 [label="[S][s]"]
+181 -> 44 [label="[0x00-D][F-d][f-0xFF]"]
+181 -> 279 [label="[E][e]"]
+182 -> 44 [label="[0x00-Q][S-q][s-0xFF]"]
+182 -> 281 [label="[R][r]"]
+183 -> 44 [label="[0x00-H][J-h][j-0xFF]"]
+183 -> 283 [label="[I][i]"]
+184 -> 44 [label="[0x00-Q][S-q][s-0xFF]"]
+184 -> 284 [label="[R][r]"]
+185 -> 44 [label="[0x00-D][F-d][f-0xFF]"]
+185 -> 286 [label="[E][e]"]
186 -> 187
-187 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1468"]
-188 -> 189
-189 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1258"]
-190 -> 166 [label="[0x00--][/-0xFF]"]
-190 -> 291 [label="[.]"]
+187 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1512"]
+188 -> 44 [label="[0x00-B][E][G][I-K][O-S][U-b][e][g][i-k][o-s][u-0xFF]"]
+188 -> 287 [label="[C][c]"]
+188 -> 288 [label="[D][d]"]
+188 -> 289 [label="[F][f]"]
+188 -> 290 [label="[H][h]"]
+188 -> 291 [label="[L][l]"]
+188 -> 292 [label="[M][m]"]
+188 -> 293 [label="[N][n]"]
+188 -> 294 [label="[T][t]"]
+189 -> 190
+190 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1508"]
191 -> 192
-192 -> 193 [label="[0x00-/][:-D][F-d][f-0xFF]"]
-192 -> 191 [label="[0-9]"]
-192 -> 201 [label="[E][e]"]
-193 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1702"]
-194 -> 195
-195 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1488"]
-196 -> 197 [label="[0x00-)][+-0xFF]"]
-196 -> 293 [label="[*]"]
-197 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1889"]
-198 -> 199
-199 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1484"]
-200 -> 166 [label="[0x00-/][2-0xFF]"]
-200 -> 294 [label="[0-1]"]
-201 -> 166 [label="[0x00-*][,][.-/][:-0xFF]"]
-201 -> 297 [label="[+][-]"]
-201 -> 298 [label="[0-9]"]
-202 -> 166 [label="[0x00-/][:-@][G-`][g-0xFF]"]
-202 -> 300 [label="[0-9][A-F][a-f]"]
-203 -> 204
-204 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1284"]
-205 -> 206 [label="[0x00-;][>-0xFF]"]
-205 -> 303 [label="[<]"]
-205 -> 305 [label="[=]"]
-206 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1536"]
+192 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1516"]
+193 -> 194
+194 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1444"]
+195 -> 82 [label="[0x00-Q][S-q][s-0xFF]"]
+195 -> 295 [label="[R][r]"]
+196 -> 82 [label="[0x00-M][O-m][o-0xFF]"]
+196 -> 296 [label="[N][n]"]
+197 -> 82 [label="[0x00-N][P-n][p-0xFF]"]
+197 -> 297 [label="[O][o]"]
+198 -> 82 [label="[0x00-T][V-t][v-0xFF]"]
+198 -> 298 [label="[U][u]"]
+199 -> 82 [label="[0x00-N][P-n][p-0xFF]"]
+199 -> 299 [label="[O][o]"]
+200 -> 82 [label="[0x00-S][U-s][u-0xFF]"]
+200 -> 300 [label="[T][t]"]
+201 -> 82 [label="[0x00-I][K-i][k-0xFF]"]
+201 -> 301 [label="[J][j]"]
+202 -> 82 [label="[0x00-@][B-`][b-0xFF]"]
+202 -> 302 [label="[A][a]"]
+203 -> 82 [label="[0x00-Q][S-q][s-0xFF]"]
+203 -> 303 [label="[R][r]"]
+204 -> 82 [label="[0x00-R][T-r][t-0xFF]"]
+204 -> 304 [label="[S][s]"]
+205 -> 206
+206 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1480"]
207 -> 208
-208 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1456"]
-209 -> 154
-210 -> 211 [label="[0x00-<][>-0xFF]"]
-210 -> 307 [label="[=]"]
-211 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1448"]
-212 -> 213
-213 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1416"]
+208 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1292"]
+209 -> 82 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!-0xFF]"]
+209 -> 305 [label="[0x09-0x0A][0x0D][ ]"]
+210 -> 211
+211 -> 212 [label="[0x00-/][2-0xFF]"]
+211 -> 210 [label="[0-1]"]
+212 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1586"]
+213 -> 82 [label="[0x00-/][:-0xFF]"]
+213 -> 214 [label="[0-9]"]
214 -> 215
-215 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1460"]
-216 -> 217 [label="[0x00-<][>-0xFF]"]
-216 -> 309 [label="[=]"]
-217 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1540"]
-218 -> 219 [label="[0x00-0x09][0x0B-0x0C][0x0E-0xFF]"]
-218 -> 311 [label="[0x0A]"]
-218 -> 312 [label="[0x0D]"]
-219 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1922"]
-220 -> 221
-221 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1296"]
-222 -> 128 [label="[0x00-R][T-r][t-0xFF]"]
-222 -> 313 [label="[S][s]"]
-223 -> 128 [label="[0x00-C][E-c][e-0xFF]"]
-223 -> 314 [label="[D][d]"]
-224 -> 128 [label="[0x00-Q][S-q][s-0xFF]"]
-224 -> 316 [label="[R][r]"]
-225 -> 226 [label="[0x00-/][:-@][[-^][`][{-~]"]
-225 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-226 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1198"]
-227 -> 166 [label="[0x00-;][=-0xFF]"]
-227 -> 317 [label="[<]"]
-228 -> 128 [label="[0x00-D][F-d][f-0xFF]"]
-228 -> 318 [label="[E][e]"]
-229 -> 128 [label="[0x00-K][M-R][U-k][m-r][u-0xFF]"]
-229 -> 319 [label="[L][l]"]
-229 -> 320 [label="[S][s]"]
-229 -> 321 [label="[T][t]"]
-230 -> 128 [label="[0x00-@][B-N][P-`][b-n][p-0xFF]"]
-230 -> 322 [label="[A][a]"]
-230 -> 323 [label="[O][o]"]
-231 -> 128 [label="[0x00-M][O-m][o-0xFF]"]
-231 -> 324 [label="[N][n]"]
-232 -> 128 [label="[0x00-B][D-E][G-b][d-e][g-0xFF]"]
-232 -> 325 [label="[C][c]"]
-232 -> 326 [label="[F][f]"]
-233 -> 128 [label="[0x00-D][F-d][f-0xFF]"]
-233 -> 327 [label="[E][e]"]
-234 -> 235 [label="[0x00-/][:-@][[-^][`][{-~]"]
-234 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-235 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1166"]
-236 -> 128 [label="[0x00-G][I-g][i-0xFF]"]
-236 -> 329 [label="[H][h]"]
-237 -> 128 [label="[0x00-R][T-r][t-0xFF]"]
-237 -> 330 [label="[S][s]"]
-238 -> 128 [label="[0x00-O][Q-o][q-0xFF]"]
-238 -> 331 [label="[P][p]"]
-239 -> 128 [label="[0x00-C][E-c][e-0xFF]"]
-239 -> 332 [label="[D][d]"]
-240 -> 128 [label="[0x00-@][B-`][b-0xFF]"]
-240 -> 333 [label="[A][a]"]
-241 -> 128 [label="[0x00-H][J-S][U-h][j-s][u-0xFF]"]
-241 -> 334 [label="[I][i]"]
-241 -> 335 [label="[T][t]"]
-242 -> 128 [label="[0x00-M][O-m][o-0xFF]"]
-242 -> 336 [label="[N][n]"]
-243 -> 128 [label="[0x00-Q][S-q][s-0xFF]"]
-243 -> 337 [label="[R][r]"]
-244 -> 128 [label="[0x00-M][O-m][o-0xFF]"]
-244 -> 339 [label="[N][n]"]
-245 -> 128 [label="[0x00-N][P-n][p-0xFF]"]
-245 -> 340 [label="[O][o]"]
-246 -> 128 [label="[0x00-S][U-s][u-0xFF]"]
-246 -> 341 [label="[T][t]"]
-247 -> 248 [label="[0x00-/][:-@][[-^][`][{-~]"]
-247 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-248 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1142"]
-249 -> 128 [label="[0x00-O][Q-o][q-0xFF]"]
-249 -> 342 [label="[P][p]"]
-250 -> 128 [label="[0x00-B][D-R][U-b][d-r][u-0xFF]"]
-250 -> 343 [label="[C][c]"]
-250 -> 344 [label="[S][s]"]
-250 -> 345 [label="[T][t]"]
-251 -> 128 [label="[0x00-R][T-r][t-0xFF]"]
-251 -> 346 [label="[S][s]"]
-252 -> 128 [label="[0x00-R][T-r][t-0xFF]"]
-252 -> 347 [label="[S][s]"]
-253 -> 128 [label="[0x00-L][N-l][n-0xFF]"]
-253 -> 348 [label="[M][m]"]
-254 -> 128 [label="[0x00-V][X-v][x-0xFF]"]
-254 -> 349 [label="[W][w]"]
-255 -> 256 [label="[0x00-/][:-@][[-^][`][{-~]"]
-255 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-256 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1524"]
-257 -> 128 [label="[0x00-H][J-N][P-h][j-n][p-0xFF]"]
-257 -> 351 [label="[I][i]"]
-257 -> 352 [label="[O][o]"]
-258 -> 128 [label="[0x00-A][C-a][c-0xFF]"]
-258 -> 353 [label="[B][b]"]
-259 -> 128 [label="[0x00-P][R-S][U-p][r-s][u-0xFF]"]
-259 -> 354 [label="[Q][q]"]
-259 -> 355 [label="[T][t]"]
-260 -> 128 [label="[0x00-@][B-`][b-0xFF]"]
-260 -> 356 [label="[A][a]"]
-261 -> 128 [label="[0x00-H][J-h][j-0xFF]"]
-261 -> 357 [label="[I][i]"]
-262 -> 128 [label="[0x00-Q][S-q][s-0xFF]"]
-262 -> 358 [label="[R][r]"]
-263 -> 128 [label="[0x00-@][B-X][Z-`][b-x][z-0xFF]"]
-263 -> 359 [label="[A][a]"]
-263 -> 360 [label="[Y][y]"]
-264 -> 128 [label="[0x00-R][T-r][t-0xFF]"]
-264 -> 362 [label="[S][s]"]
-265 -> 128 [label="[0x00-D][F-d][f-0xFF]"]
-265 -> 363 [label="[E][e]"]
-266 -> 128 [label="[0x00-Q][S-q][s-0xFF]"]
-266 -> 365 [label="[R][r]"]
-267 -> 128 [label="[0x00-H][J-h][j-0xFF]"]
-267 -> 367 [label="[I][i]"]
-268 -> 128 [label="[0x00-Q][S-q][s-0xFF]"]
-268 -> 368 [label="[R][r]"]
-269 -> 128 [label="[0x00-D][F-d][f-0xFF]"]
-269 -> 370 [label="[E][e]"]
-270 -> 271
-271 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1512"]
-272 -> 128 [label="[0x00-B][E][G][I-K][O-S][U-b][e][g][i-k][o-s][u-0xFF]"]
-272 -> 371 [label="[C][c]"]
-272 -> 372 [label="[D][d]"]
-272 -> 373 [label="[F][f]"]
-272 -> 374 [label="[H][h]"]
-272 -> 375 [label="[L][l]"]
-272 -> 376 [label="[M][m]"]
-272 -> 377 [label="[N][n]"]
-272 -> 378 [label="[T][t]"]
-273 -> 274
-274 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1508"]
-275 -> 276
-276 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1516"]
-277 -> 278
-278 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1444"]
-279 -> 166 [label="[0x00-Q][S-q][s-0xFF]"]
-279 -> 379 [label="[R][r]"]
-280 -> 166 [label="[0x00-M][O-m][o-0xFF]"]
-280 -> 380 [label="[N][n]"]
-281 -> 166 [label="[0x00-N][P-n][p-0xFF]"]
-281 -> 381 [label="[O][o]"]
-282 -> 166 [label="[0x00-T][V-t][v-0xFF]"]
-282 -> 382 [label="[U][u]"]
-283 -> 166 [label="[0x00-N][P-n][p-0xFF]"]
-283 -> 383 [label="[O][o]"]
-284 -> 166 [label="[0x00-S][U-s][u-0xFF]"]
-284 -> 384 [label="[T][t]"]
-285 -> 166 [label="[0x00-I][K-i][k-0xFF]"]
-285 -> 385 [label="[J][j]"]
-286 -> 166 [label="[0x00-@][B-`][b-0xFF]"]
-286 -> 386 [label="[A][a]"]
-287 -> 166 [label="[0x00-Q][S-q][s-0xFF]"]
-287 -> 387 [label="[R][r]"]
-288 -> 166 [label="[0x00-R][T-r][t-0xFF]"]
-288 -> 388 [label="[S][s]"]
-289 -> 290
-290 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1480"]
-291 -> 292
-292 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1292"]
-293 -> 166 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!-0xFF]"]
-293 -> 389 [label="[0x09-0x0A][0x0D][ ]"]
-294 -> 295
-295 -> 296 [label="[0x00-/][2-0xFF]"]
-295 -> 294 [label="[0-1]"]
-296 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1586"]
-297 -> 166 [label="[0x00-/][:-0xFF]"]
-297 -> 298 [label="[0-9]"]
-298 -> 299
-299 -> 193 [label="[0x00-/][:-0xFF]"]
-299 -> 298 [label="[0-9]"]
-300 -> 301
-301 -> 302 [label="[0x00-/][:-@][G-`][g-0xFF]"]
-301 -> 300 [label="[0-9][A-F][a-f]"]
-302 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1653"]
-303 -> 304
-304 -> 166 [label="[0x00-0x08][0x0A-0x1F][!][#-&][(-@][[-^][`][{-~]"]
-304 -> 303 [label="[0x09][ ]"]
-304 -> 391 [label="[\"]"]
-304 -> 392 [label="[']"]
-304 -> 393 [label="[A-Z][_][a-z][0x7F-0xFF]"]
+215 -> 109 [label="[0x00-/][:-0xFF]"]
+215 -> 214 [label="[0-9]"]
+216 -> 217
+217 -> 218 [label="[0x00-/][:-@][G-`][g-0xFF]"]
+217 -> 216 [label="[0-9][A-F][a-f]"]
+218 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1653"]
+219 -> 220
+220 -> 309 [label="[A-Z][_][a-z][0x7F-0xFF]"]
+220 -> 82 [label="[0x00-0x08][0x0A-0x1F][!][#-&][(-@][[-^][`][{-~]"]
+220 -> 219 [label="[0x09][ ]"]
+220 -> 307 [label="[\"]"]
+220 -> 308 [label="[']"]
+221 -> 222
+222 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1496"]
+223 -> 224
+224 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1440"]
+225 -> 226
+226 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1500"]
+227 -> 135
+228 -> 135 [label="[0x00-0x09][0x0B-0xFF]"]
+228 -> 227 [label="[0x0A]"]
+229 -> 44 [label="[0x00-S][U-s][u-0xFF]"]
+229 -> 311 [label="[T][t]"]
+230 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+230 -> 231 [label="[0x00-/][:-@][[-^][`][{-~]"]
+231 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1528"]
+232 -> 44 [label="[0x00-@][B-`][b-0xFF]"]
+232 -> 312 [label="[A][a]"]
+233 -> 82 [label="[0x00-;][=-0xFF]"]
+233 -> 219 [label="[<]"]
+234 -> 44 [label="[0x00-@][B-`][b-0xFF]"]
+234 -> 313 [label="[A][a]"]
+235 -> 44 [label="[0x00-K][M-k][m-0xFF]"]
+235 -> 314 [label="[L][l]"]
+236 -> 44 [label="[0x00-D][F-d][f-0xFF]"]
+236 -> 315 [label="[E][e]"]
+237 -> 44 [label="[0x00-B][D-b][d-0xFF]"]
+237 -> 317 [label="[C][c]"]
+238 -> 44 [label="[0x00-R][T-r][t-0xFF]"]
+238 -> 318 [label="[S][s]"]
+239 -> 44 [label="[0x00-M][O-m][o-0xFF]"]
+239 -> 319 [label="[N][n]"]
+240 -> 44 [label="[0x00-R][U-r][u-0xFF]"]
+240 -> 320 [label="[S][s]"]
+240 -> 321 [label="[T][t]"]
+241 -> 44 [label="[0x00-K][M-k][m-0xFF]"]
+241 -> 322 [label="[L][l]"]
+242 -> 44 [label="[0x00-@][B-`][b-0xFF]"]
+242 -> 323 [label="[A][a]"]
+243 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+243 -> 244 [label="[0x00-/][:-@][[-^][`][{-~]"]
+244 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1106"]
+245 -> 44 [label="[0x00-N][P-n][p-0xFF]"]
+245 -> 324 [label="[O][o]"]
+246 -> 44 [label="[0x00-D][F-d][f-0xFF]"]
+246 -> 326 [label="[E][e]"]
+247 -> 44 [label="[0x00-S][U-s][u-0xFF]"]
+247 -> 328 [label="[T][t]"]
+248 -> 44 [label="[0x00-C][E][G-H][J-R][T-V][X-c][e][g-h][j-r][t-v][x-0xFF]"]
+248 -> 329 [label="[D][d]"]
+248 -> 330 [label="[F][f]"]
+248 -> 331 [label="[I][i]"]
+248 -> 332 [label="[S][s]"]
+248 -> 333 [label="[W][w]"]
+249 -> 44 [label="[0x00-K][M-k][m-0xFF]"]
+249 -> 334 [label="[L][l]"]
+250 -> 44 [label="[0x00-S][U-s][u-0xFF]"]
+250 -> 336 [label="[T][t]"]
+251 -> 44 [label="[0x00-D][F-d][f-0xFF]"]
+251 -> 338 [label="[E][e]"]
+252 -> 44 [label="[0x00-@][B-`][b-0xFF]"]
+252 -> 339 [label="[A][a]"]
+253 -> 43 [label="[0-9][A-D][F-Z][_][a-d][f-z][0x7F-0xFF]"]
+253 -> 254 [label="[0x00-/][:-@][[-^][`][{-~]"]
+253 -> 340 [label="[E][e]"]
+254 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1170"]
+255 -> 44 [label="[0x00-B][D-b][d-0xFF]"]
+255 -> 341 [label="[C][c]"]
+256 -> 44 [label="[0x00-A][C-a][c-0xFF]"]
+256 -> 342 [label="[B][b]"]
+257 -> 44 [label="[0x00-N][P-n][p-0xFF]"]
+257 -> 343 [label="[O][o]"]
+258 -> 44 [label="[0x00-K][M-k][m-0xFF]"]
+258 -> 345 [label="[L][l]"]
+259 -> 44 [label="[0x00-K][M-k][m-0xFF]"]
+259 -> 346 [label="[L][l]"]
+260 -> 44 [label="[0x00-S][U-s][u-0xFF]"]
+260 -> 347 [label="[T][t]"]
+261 -> 44 [label="[0x00-D][F-d][f-0xFF]"]
+261 -> 348 [label="[E][e]"]
+262 -> 44 [label="[0x00-D][F-d][f-0xFF]"]
+262 -> 349 [label="[E][e]"]
+263 -> 44 [label="[0x00-S][U-s][u-0xFF]"]
+263 -> 350 [label="[T][t]"]
+264 -> 44 [label="[0x00-D][F-d][f-0xFF]"]
+264 -> 352 [label="[E][e]"]
+265 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+265 -> 266 [label="[0x00-/][:-@][[-^][`][{-~]"]
+266 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1300"]
+267 -> 44 [label="[0x00-M][O-U][W-m][o-u][w-0xFF]"]
+267 -> 353 [label="[N][n]"]
+267 -> 354 [label="[V][v]"]
+268 -> 44 [label="[0x00-S][U-s][u-0xFF]"]
+268 -> 355 [label="[T][t]"]
+269 -> 44 [label="[0x00-K][M-k][m-0xFF]"]
+269 -> 356 [label="[L][l]"]
+270 -> 44 [label="[0x00-T][V-t][v-0xFF]"]
+270 -> 357 [label="[U][u]"]
+271 -> 44 [label="[0x00-T][V-t][v-0xFF]"]
+271 -> 358 [label="[U][u]"]
+272 -> 44 [label="[0x00-S][U-s][u-0xFF]"]
+272 -> 359 [label="[T][t]"]
+273 -> 44 [label="[0x00-S][U-s][u-0xFF]"]
+273 -> 360 [label="[T][t]"]
+274 -> 44 [label="[0x00-N][P-n][p-0xFF]"]
+274 -> 361 [label="[O][o]"]
+275 -> 44 [label="[0x00-H][J-h][j-0xFF]"]
+275 -> 362 [label="[I][i]"]
+276 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+276 -> 277 [label="[0x00-/][:-@][[-^][`][{-~]"]
+277 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1126"]
+278 -> 44 [label="[0x00-D][F-d][f-0xFF]"]
+278 -> 363 [label="[E][e]"]
+279 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+279 -> 280 [label="[0x00-/][:-@][[-^][`][{-~]"]
+280 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1364"]
+281 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+281 -> 282 [label="[0x00-/][:-@][[-^][`][{-~]"]
+282 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1308"]
+283 -> 44 [label="[0x00-K][M-k][m-0xFF]"]
+283 -> 364 [label="[L][l]"]
+284 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+284 -> 285 [label="[0x00-/][:-@][[-^][`][{-~]"]
+285 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1532"]
+286 -> 44 [label="[0x00-K][M-k][m-0xFF]"]
+286 -> 365 [label="[L][l]"]
+287 -> 44 [label="[0x00-K][M-k][m-0xFF]"]
+287 -> 366 [label="[L][l]"]
+288 -> 44 [label="[0x00-H][J-h][j-0xFF]"]
+288 -> 367 [label="[I][i]"]
+289 -> 44 [label="[0x00-H][J-T][V-h][j-t][v-0xFF]"]
+289 -> 368 [label="[I][i]"]
+289 -> 369 [label="[U][u]"]
+290 -> 44 [label="[0x00-@][B-`][b-0xFF]"]
+290 -> 370 [label="[A][a]"]
+291 -> 44 [label="[0x00-H][J-h][j-0xFF]"]
+291 -> 371 [label="[I][i]"]
+292 -> 44 [label="[0x00-D][F-d][f-0xFF]"]
+292 -> 372 [label="[E][e]"]
+293 -> 44 [label="[0x00-@][B-`][b-0xFF]"]
+293 -> 373 [label="[A][a]"]
+294 -> 44 [label="[0x00-Q][S-q][s-0xFF]"]
+294 -> 374 [label="[R][r]"]
+295 -> 82 [label="[0x00-@][B-`][b-0xFF]"]
+295 -> 375 [label="[A][a]"]
+296 -> 82 [label="[0x00-@][B-`][b-0xFF]"]
+296 -> 376 [label="[A][a]"]
+297 -> 82 [label="[0x00-K][M-k][m-0xFF]"]
+297 -> 377 [label="[L][l]"]
+298 -> 82 [label="[0x00-A][C-a][c-0xFF]"]
+298 -> 378 [label="[B][b]"]
+299 -> 82 [label="[0x00-@][B-`][b-0xFF]"]
+299 -> 379 [label="[A][a]"]
+300 -> 381 [label="[0x00-D][F-d][f-0xFF]"]
+300 -> 384 [label="[E][e]"]
+301 -> 82 [label="[0x00-D][F-d][f-0xFF]"]
+301 -> 385 [label="[E][e]"]
+302 -> 82 [label="[0x00-K][M-k][m-0xFF]"]
+302 -> 386 [label="[L][l]"]
+303 -> 82 [label="[0x00-H][J-h][j-0xFF]"]
+303 -> 388 [label="[I][i]"]
+304 -> 82 [label="[0x00-D][F-d][f-0xFF]"]
+304 -> 389 [label="[E][e]"]
305 -> 306
-306 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1496"]
-307 -> 308
-308 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1440"]
+306 -> 113 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!-0xFF]"]
+306 -> 305 [label="[0x09-0x0A][0x0D][ ]"]
+307 -> 391 [label="[0x00-!][#-/][:-0xFF]"]
+307 -> 82 [label="[\"][0-9]"]
+308 -> 393 [label="[0x00-&][(-/][:-0xFF]"]
+308 -> 82 [label="['][0-9]"]
309 -> 310
-310 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1500"]
-311 -> 219
-312 -> 219 [label="[0x00-0x09][0x0B-0xFF]"]
-312 -> 311 [label="[0x0A]"]
-313 -> 128 [label="[0x00-S][U-s][u-0xFF]"]
-313 -> 395 [label="[T][t]"]
-314 -> 315 [label="[0x00-/][:-@][[-^][`][{-~]"]
-314 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-315 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1528"]
-316 -> 128 [label="[0x00-@][B-`][b-0xFF]"]
-316 -> 396 [label="[A][a]"]
-317 -> 166 [label="[0x00-;][=-0xFF]"]
-317 -> 303 [label="[<]"]
-318 -> 128 [label="[0x00-@][B-`][b-0xFF]"]
-318 -> 397 [label="[A][a]"]
-319 -> 128 [label="[0x00-K][M-k][m-0xFF]"]
-319 -> 398 [label="[L][l]"]
-320 -> 128 [label="[0x00-D][F-d][f-0xFF]"]
-320 -> 399 [label="[E][e]"]
-321 -> 128 [label="[0x00-B][D-b][d-0xFF]"]
-321 -> 401 [label="[C][c]"]
-322 -> 128 [label="[0x00-R][T-r][t-0xFF]"]
-322 -> 402 [label="[S][s]"]
-323 -> 128 [label="[0x00-M][O-m][o-0xFF]"]
-323 -> 403 [label="[N][n]"]
-324 -> 128 [label="[0x00-R][U-r][u-0xFF]"]
-324 -> 404 [label="[S][s]"]
-324 -> 405 [label="[T][t]"]
-325 -> 128 [label="[0x00-K][M-k][m-0xFF]"]
-325 -> 406 [label="[L][l]"]
-326 -> 128 [label="[0x00-@][B-`][b-0xFF]"]
-326 -> 407 [label="[A][a]"]
-327 -> 328 [label="[0x00-/][:-@][[-^][`][{-~]"]
-327 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-328 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1106"]
-329 -> 128 [label="[0x00-N][P-n][p-0xFF]"]
-329 -> 408 [label="[O][o]"]
-330 -> 128 [label="[0x00-D][F-d][f-0xFF]"]
-330 -> 410 [label="[E][e]"]
-331 -> 128 [label="[0x00-S][U-s][u-0xFF]"]
-331 -> 412 [label="[T][t]"]
-332 -> 128 [label="[0x00-C][E][G-H][J-R][T-V][X-c][e][g-h][j-r][t-v][x-0xFF]"]
-332 -> 413 [label="[D][d]"]
-332 -> 414 [label="[F][f]"]
-332 -> 415 [label="[I][i]"]
-332 -> 416 [label="[S][s]"]
-332 -> 417 [label="[W][w]"]
-333 -> 128 [label="[0x00-K][M-k][m-0xFF]"]
-333 -> 418 [label="[L][l]"]
-334 -> 128 [label="[0x00-S][U-s][u-0xFF]"]
-334 -> 420 [label="[T][t]"]
-335 -> 128 [label="[0x00-D][F-d][f-0xFF]"]
-335 -> 422 [label="[E][e]"]
-336 -> 128 [label="[0x00-@][B-`][b-0xFF]"]
-336 -> 423 [label="[A][a]"]
-337 -> 338 [label="[0x00-/][:-@][[-^][`][{-~]"]
-337 -> 127 [label="[0-9][A-D][F-Z][_][a-d][f-z][0x7F-0xFF]"]
-337 -> 424 [label="[E][e]"]
-338 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1170"]
-339 -> 128 [label="[0x00-B][D-b][d-0xFF]"]
-339 -> 425 [label="[C][c]"]
-340 -> 128 [label="[0x00-A][C-a][c-0xFF]"]
-340 -> 426 [label="[B][b]"]
-341 -> 128 [label="[0x00-N][P-n][p-0xFF]"]
-341 -> 427 [label="[O][o]"]
-342 -> 128 [label="[0x00-K][M-k][m-0xFF]"]
-342 -> 429 [label="[L][l]"]
-343 -> 128 [label="[0x00-K][M-k][m-0xFF]"]
-343 -> 430 [label="[L][l]"]
-344 -> 128 [label="[0x00-S][U-s][u-0xFF]"]
-344 -> 431 [label="[T][t]"]
-345 -> 128 [label="[0x00-D][F-d][f-0xFF]"]
-345 -> 432 [label="[E][e]"]
-346 -> 128 [label="[0x00-D][F-d][f-0xFF]"]
-346 -> 433 [label="[E][e]"]
-347 -> 128 [label="[0x00-S][U-s][u-0xFF]"]
-347 -> 434 [label="[T][t]"]
-348 -> 128 [label="[0x00-D][F-d][f-0xFF]"]
-348 -> 436 [label="[E][e]"]
-349 -> 350 [label="[0x00-/][:-@][[-^][`][{-~]"]
-349 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-350 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1300"]
-351 -> 128 [label="[0x00-M][O-U][W-m][o-u][w-0xFF]"]
-351 -> 437 [label="[N][n]"]
-351 -> 438 [label="[V][v]"]
-352 -> 128 [label="[0x00-S][U-s][u-0xFF]"]
-352 -> 439 [label="[T][t]"]
-353 -> 128 [label="[0x00-K][M-k][m-0xFF]"]
-353 -> 440 [label="[L][l]"]
-354 -> 128 [label="[0x00-T][V-t][v-0xFF]"]
-354 -> 441 [label="[U][u]"]
-355 -> 128 [label="[0x00-T][V-t][v-0xFF]"]
-355 -> 442 [label="[U][u]"]
-356 -> 128 [label="[0x00-S][U-s][u-0xFF]"]
-356 -> 443 [label="[T][t]"]
-357 -> 128 [label="[0x00-S][U-s][u-0xFF]"]
-357 -> 444 [label="[T][t]"]
-358 -> 128 [label="[0x00-N][P-n][p-0xFF]"]
-358 -> 445 [label="[O][o]"]
-359 -> 128 [label="[0x00-H][J-h][j-0xFF]"]
-359 -> 446 [label="[I][i]"]
-360 -> 361 [label="[0x00-/][:-@][[-^][`][{-~]"]
-360 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-361 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1126"]
-362 -> 128 [label="[0x00-D][F-d][f-0xFF]"]
-362 -> 447 [label="[E][e]"]
-363 -> 364 [label="[0x00-/][:-@][[-^][`][{-~]"]
-363 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-364 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1364"]
-365 -> 366 [label="[0x00-/][:-@][[-^][`][{-~]"]
-365 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-366 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1308"]
-367 -> 128 [label="[0x00-K][M-k][m-0xFF]"]
-367 -> 448 [label="[L][l]"]
-368 -> 369 [label="[0x00-/][:-@][[-^][`][{-~]"]
-368 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-369 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1532"]
-370 -> 128 [label="[0x00-K][M-k][m-0xFF]"]
-370 -> 449 [label="[L][l]"]
-371 -> 128 [label="[0x00-K][M-k][m-0xFF]"]
-371 -> 450 [label="[L][l]"]
-372 -> 128 [label="[0x00-H][J-h][j-0xFF]"]
-372 -> 451 [label="[I][i]"]
-373 -> 128 [label="[0x00-H][J-T][V-h][j-t][v-0xFF]"]
-373 -> 452 [label="[I][i]"]
-373 -> 453 [label="[U][u]"]
-374 -> 128 [label="[0x00-@][B-`][b-0xFF]"]
-374 -> 454 [label="[A][a]"]
-375 -> 128 [label="[0x00-H][J-h][j-0xFF]"]
-375 -> 455 [label="[I][i]"]
-376 -> 128 [label="[0x00-D][F-d][f-0xFF]"]
-376 -> 456 [label="[E][e]"]
-377 -> 128 [label="[0x00-@][B-`][b-0xFF]"]
-377 -> 457 [label="[A][a]"]
-378 -> 128 [label="[0x00-Q][S-q][s-0xFF]"]
-378 -> 458 [label="[R][r]"]
-379 -> 166 [label="[0x00-@][B-`][b-0xFF]"]
-379 -> 459 [label="[A][a]"]
-380 -> 166 [label="[0x00-@][B-`][b-0xFF]"]
-380 -> 460 [label="[A][a]"]
-381 -> 166 [label="[0x00-K][M-k][m-0xFF]"]
-381 -> 461 [label="[L][l]"]
-382 -> 166 [label="[0x00-A][C-a][c-0xFF]"]
-382 -> 462 [label="[B][b]"]
-383 -> 166 [label="[0x00-@][B-`][b-0xFF]"]
-383 -> 463 [label="[A][a]"]
-384 -> 465 [label="[0x00-D][F-d][f-0xFF]"]
-384 -> 468 [label="[E][e]"]
-385 -> 166 [label="[0x00-D][F-d][f-0xFF]"]
-385 -> 469 [label="[E][e]"]
-386 -> 166 [label="[0x00-K][M-k][m-0xFF]"]
-386 -> 470 [label="[L][l]"]
-387 -> 166 [label="[0x00-H][J-h][j-0xFF]"]
-387 -> 472 [label="[I][i]"]
-388 -> 166 [label="[0x00-D][F-d][f-0xFF]"]
-388 -> 473 [label="[E][e]"]
-389 -> 390
-390 -> 197 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!-0xFF]"]
-390 -> 389 [label="[0x09-0x0A][0x0D][ ]"]
-391 -> 475 [label="[0x00-!][#-/][:-0xFF]"]
-391 -> 166 [label="[\"][0-9]"]
-392 -> 477 [label="[0x00-&][(-/][:-0xFF]"]
-392 -> 166 [label="['][0-9]"]
-393 -> 394
-394 -> 166 [label="[0x00-0x09][0x0B-0x0C][0x0E-/][:-@][[-^][`][{-~]"]
-394 -> 478 [label="[0x0A]"]
-394 -> 480 [label="[0x0D]"]
-394 -> 393 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-395 -> 128 [label="[0x00-Q][S-q][s-0xFF]"]
-395 -> 481 [label="[R][r]"]
-396 -> 128 [label="[0x00-X][Z-x][z-0xFF]"]
-396 -> 482 [label="[Y][y]"]
-397 -> 128 [label="[0x00-J][L-j][l-0xFF]"]
-397 -> 484 [label="[K][k]"]
-398 -> 128 [label="[0x00-@][B-`][b-0xFF]"]
-398 -> 486 [label="[A][a]"]
-399 -> 400 [label="[0x00-/][:-@][[-^][`][{-~]"]
-399 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-400 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1210"]
-401 -> 128 [label="[0x00-G][I-g][i-0xFF]"]
-401 -> 487 [label="[H][h]"]
-402 -> 128 [label="[0x00-R][T-r][t-0xFF]"]
-402 -> 489 [label="[S][s]"]
-403 -> 128 [label="[0x00-D][F-d][f-0xFF]"]
-403 -> 491 [label="[E][e]"]
-404 -> 128 [label="[0x00-S][U-s][u-0xFF]"]
-404 -> 493 [label="[T][t]"]
-405 -> 128 [label="[0x00-H][J-h][j-0xFF]"]
-405 -> 495 [label="[I][i]"]
-406 -> 128 [label="[0x00-@][B-`][b-0xFF]"]
-406 -> 496 [label="[A][a]"]
-407 -> 128 [label="[0x00-T][V-t][v-0xFF]"]
-407 -> 497 [label="[U][u]"]
-408 -> 409 [label="[0x00-/][:-@][[-^][`][{-~]"]
-408 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-409 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1230"]
-410 -> 411 [label="[0x00-/][:-@][[-^][`][{-~]"]
-410 -> 127 [label="[0-9][A-H][J-Z][_][a-h][j-z][0x7F-0xFF]"]
-410 -> 498 [label="[I][i]"]
-411 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1154"]
-412 -> 128 [label="[0x00-X][Z-x][z-0xFF]"]
-412 -> 499 [label="[Y][y]"]
-413 -> 128 [label="[0x00-D][F-d][f-0xFF]"]
-413 -> 501 [label="[E][e]"]
-414 -> 128 [label="[0x00-N][P-n][p-0xFF]"]
-414 -> 502 [label="[O][o]"]
-415 -> 128 [label="[0x00-E][G-e][g-0xFF]"]
-415 -> 503 [label="[F][f]"]
-416 -> 128 [label="[0x00-V][X-v][x-0xFF]"]
-416 -> 505 [label="[W][w]"]
-417 -> 128 [label="[0x00-G][I-g][i-0xFF]"]
-417 -> 506 [label="[H][h]"]
-418 -> 419 [label="[0x00-/][:-@][[-^][`][{-~]"]
-418 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-419 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1340"]
-420 -> 421 [label="[0x00-/][:-@][[-^][`][{-~]"]
-420 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-421 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1102"]
-422 -> 128 [label="[0x00-M][O-m][o-0xFF]"]
-422 -> 507 [label="[N][n]"]
-423 -> 128 [label="[0x00-K][M-k][m-0xFF]"]
-423 -> 508 [label="[L][l]"]
-424 -> 128 [label="[0x00-@][B-`][b-0xFF]"]
-424 -> 510 [label="[A][a]"]
-425 -> 128 [label="[0x00-S][U-s][u-0xFF]"]
-425 -> 511 [label="[T][t]"]
-426 -> 128 [label="[0x00-@][B-`][b-0xFF]"]
-426 -> 512 [label="[A][a]"]
-427 -> 428 [label="[0x00-/][:-@][[-^][`][{-~]"]
-427 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-428 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1226"]
-429 -> 128 [label="[0x00-D][F-d][f-0xFF]"]
-429 -> 513 [label="[E][e]"]
-430 -> 128 [label="[0x00-T][V-t][v-0xFF]"]
-430 -> 514 [label="[U][u]"]
-431 -> 128 [label="[0x00-@][B-D][F-`][b-d][f-0xFF]"]
-431 -> 515 [label="[A][a]"]
-431 -> 516 [label="[E][e]"]
-432 -> 128 [label="[0x00-Q][S-q][s-0xFF]"]
-432 -> 517 [label="[R][r]"]
-433 -> 128 [label="[0x00-S][U-s][u-0xFF]"]
-433 -> 518 [label="[T][t]"]
+310 -> 309 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+310 -> 82 [label="[0x00-0x09][0x0B-0x0C][0x0E-/][:-@][[-^][`][{-~]"]
+310 -> 394 [label="[0x0A]"]
+310 -> 396 [label="[0x0D]"]
+311 -> 44 [label="[0x00-Q][S-q][s-0xFF]"]
+311 -> 397 [label="[R][r]"]
+312 -> 44 [label="[0x00-X][Z-x][z-0xFF]"]
+312 -> 398 [label="[Y][y]"]
+313 -> 44 [label="[0x00-J][L-j][l-0xFF]"]
+313 -> 400 [label="[K][k]"]
+314 -> 44 [label="[0x00-@][B-`][b-0xFF]"]
+314 -> 402 [label="[A][a]"]
+315 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+315 -> 316 [label="[0x00-/][:-@][[-^][`][{-~]"]
+316 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1210"]
+317 -> 44 [label="[0x00-G][I-g][i-0xFF]"]
+317 -> 403 [label="[H][h]"]
+318 -> 44 [label="[0x00-R][T-r][t-0xFF]"]
+318 -> 405 [label="[S][s]"]
+319 -> 44 [label="[0x00-D][F-d][f-0xFF]"]
+319 -> 407 [label="[E][e]"]
+320 -> 44 [label="[0x00-S][U-s][u-0xFF]"]
+320 -> 409 [label="[T][t]"]
+321 -> 44 [label="[0x00-H][J-h][j-0xFF]"]
+321 -> 411 [label="[I][i]"]
+322 -> 44 [label="[0x00-@][B-`][b-0xFF]"]
+322 -> 412 [label="[A][a]"]
+323 -> 44 [label="[0x00-T][V-t][v-0xFF]"]
+323 -> 413 [label="[U][u]"]
+324 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+324 -> 325 [label="[0x00-/][:-@][[-^][`][{-~]"]
+325 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1230"]
+326 -> 43 [label="[0-9][A-H][J-Z][_][a-h][j-z][0x7F-0xFF]"]
+326 -> 327 [label="[0x00-/][:-@][[-^][`][{-~]"]
+326 -> 414 [label="[I][i]"]
+327 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1154"]
+328 -> 44 [label="[0x00-X][Z-x][z-0xFF]"]
+328 -> 415 [label="[Y][y]"]
+329 -> 44 [label="[0x00-D][F-d][f-0xFF]"]
+329 -> 417 [label="[E][e]"]
+330 -> 44 [label="[0x00-N][P-n][p-0xFF]"]
+330 -> 418 [label="[O][o]"]
+331 -> 44 [label="[0x00-E][G-e][g-0xFF]"]
+331 -> 419 [label="[F][f]"]
+332 -> 44 [label="[0x00-V][X-v][x-0xFF]"]
+332 -> 421 [label="[W][w]"]
+333 -> 44 [label="[0x00-G][I-g][i-0xFF]"]
+333 -> 422 [label="[H][h]"]
+334 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+334 -> 335 [label="[0x00-/][:-@][[-^][`][{-~]"]
+335 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1340"]
+336 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+336 -> 337 [label="[0x00-/][:-@][[-^][`][{-~]"]
+337 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1102"]
+338 -> 44 [label="[0x00-M][O-m][o-0xFF]"]
+338 -> 423 [label="[N][n]"]
+339 -> 44 [label="[0x00-K][M-k][m-0xFF]"]
+339 -> 424 [label="[L][l]"]
+340 -> 44 [label="[0x00-@][B-`][b-0xFF]"]
+340 -> 426 [label="[A][a]"]
+341 -> 44 [label="[0x00-S][U-s][u-0xFF]"]
+341 -> 427 [label="[T][t]"]
+342 -> 44 [label="[0x00-@][B-`][b-0xFF]"]
+342 -> 428 [label="[A][a]"]
+343 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+343 -> 344 [label="[0x00-/][:-@][[-^][`][{-~]"]
+344 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1226"]
+345 -> 44 [label="[0x00-D][F-d][f-0xFF]"]
+345 -> 429 [label="[E][e]"]
+346 -> 44 [label="[0x00-T][V-t][v-0xFF]"]
+346 -> 430 [label="[U][u]"]
+347 -> 44 [label="[0x00-@][B-D][F-`][b-d][f-0xFF]"]
+347 -> 431 [label="[A][a]"]
+347 -> 432 [label="[E][e]"]
+348 -> 44 [label="[0x00-Q][S-q][s-0xFF]"]
+348 -> 433 [label="[R][r]"]
+349 -> 44 [label="[0x00-S][U-s][u-0xFF]"]
+349 -> 434 [label="[T][t]"]
+350 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+350 -> 351 [label="[0x00-/][:-@][[-^][`][{-~]"]
+351 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1420"]
+352 -> 44 [label="[0x00-R][T-r][t-0xFF]"]
+352 -> 436 [label="[S][s]"]
+353 -> 44 [label="[0x00-S][U-s][u-0xFF]"]
+353 -> 437 [label="[T][t]"]
+354 -> 44 [label="[0x00-@][B-`][b-0xFF]"]
+354 -> 439 [label="[A][a]"]
+355 -> 44 [label="[0x00-D][F-d][f-0xFF]"]
+355 -> 440 [label="[E][e]"]
+356 -> 44 [label="[0x00-H][J-h][j-0xFF]"]
+356 -> 441 [label="[I][i]"]
+357 -> 44 [label="[0x00-H][J-h][j-0xFF]"]
+357 -> 442 [label="[I][i]"]
+358 -> 44 [label="[0x00-Q][S-q][s-0xFF]"]
+358 -> 443 [label="[R][r]"]
+359 -> 44 [label="[0x00-H][J-h][j-0xFF]"]
+359 -> 444 [label="[I][i]"]
+360 -> 44 [label="[0x00-B][D-b][d-0xFF]"]
+360 -> 445 [label="[C][c]"]
+361 -> 44 [label="[0x00-V][X-v][x-0xFF]"]
+361 -> 446 [label="[W][w]"]
+362 -> 44 [label="[0x00-S][U-s][u-0xFF]"]
+362 -> 448 [label="[T][t]"]
+363 -> 44 [label="[0x00-S][U-s][u-0xFF]"]
+363 -> 450 [label="[T][t]"]
+364 -> 44 [label="[0x00-D][F-d][f-0xFF]"]
+364 -> 452 [label="[E][e]"]
+365 -> 44 [label="[0x00-C][E-c][e-0xFF]"]
+365 -> 454 [label="[D][d]"]
+366 -> 44 [label="[0x00-@][B-`][b-0xFF]"]
+366 -> 456 [label="[A][a]"]
+367 -> 44 [label="[0x00-Q][S-q][s-0xFF]"]
+367 -> 457 [label="[R][r]"]
+368 -> 44 [label="[0x00-K][M-k][m-0xFF]"]
+368 -> 458 [label="[L][l]"]
+369 -> 44 [label="[0x00-M][O-m][o-0xFF]"]
+369 -> 459 [label="[N][n]"]
+370 -> 44 [label="[0x00-K][M-k][m-0xFF]"]
+370 -> 460 [label="[L][l]"]
+371 -> 44 [label="[0x00-M][O-m][o-0xFF]"]
+371 -> 461 [label="[N][n]"]
+372 -> 44 [label="[0x00-S][U-s][u-0xFF]"]
+372 -> 462 [label="[T][t]"]
+373 -> 44 [label="[0x00-L][N-l][n-0xFF]"]
+373 -> 463 [label="[M][m]"]
+374 -> 44 [label="[0x00-@][B-`][b-0xFF]"]
+374 -> 464 [label="[A][a]"]
+375 -> 82 [label="[0x00-X][Z-x][z-0xFF]"]
+375 -> 465 [label="[Y][y]"]
+376 -> 82 [label="[0x00-Q][S-q][s-0xFF]"]
+376 -> 467 [label="[R][r]"]
+377 -> 469 [label="[0x00-D][F-d][f-0xFF]"]
+377 -> 472 [label="[E][e]"]
+378 -> 82 [label="[0x00-K][M-k][m-0xFF]"]
+378 -> 473 [label="[L][l]"]
+379 -> 82 [label="[0x00-S][U-s][u-0xFF]"]
+379 -> 386 [label="[T][t]"]
+380 -> 381
+381 -> 82 [label="[0x00-0x08][0x0A-0x1F][!-(][*-0xFF]"]
+381 -> 380 [label="[0x09][ ]"]
+381 -> 382 [label="[)]"]
+382 -> 383
+383 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1312"]
+384 -> 82 [label="[0x00-F][H-f][h-0xFF]"]
+384 -> 474 [label="[G][g]"]
+385 -> 82 [label="[0x00-B][D-b][d-0xFF]"]
+385 -> 475 [label="[C][c]"]
+386 -> 387
+387 -> 82 [label="[0x00-0x08][0x0A-0x1F][!-(][*-0xFF]"]
+387 -> 386 [label="[0x09][ ]"]
+387 -> 476 [label="[)]"]
+388 -> 82 [label="[0x00-M][O-m][o-0xFF]"]
+388 -> 478 [label="[N][n]"]
+389 -> 82 [label="[0x00-S][U-s][u-0xFF]"]
+389 -> 479 [label="[T][t]"]
+390 -> 391
+391 -> 390 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+391 -> 82 [label="[0x00-!][#-/][:-@][[-^][`][{-~]"]
+391 -> 481 [label="[\"]"]
+392 -> 393
+393 -> 392 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+393 -> 82 [label="[0x00-&][(-/][:-@][[-^][`][{-~]"]
+393 -> 481 [label="[']"]
+394 -> 395
+395 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:2039"]
+396 -> 395 [label="[0x00-0x09][0x0B-0xFF]"]
+396 -> 394 [label="[0x0A]"]
+397 -> 44 [label="[0x00-@][B-`][b-0xFF]"]
+397 -> 482 [label="[A][a]"]
+398 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+398 -> 399 [label="[0x00-/][:-@][[-^][`][{-~]"]
+399 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1424"]
+400 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+400 -> 401 [label="[0x00-/][:-@][[-^][`][{-~]"]
+401 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1218"]
+402 -> 44 [label="[0x00-A][C-a][c-0xFF]"]
+402 -> 483 [label="[B][b]"]
+403 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+403 -> 404 [label="[0x00-/][:-@][[-^][`][{-~]"]
+404 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1130"]
+405 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+405 -> 406 [label="[0x00-/][:-@][[-^][`][{-~]"]
+406 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1238"]
+407 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+407 -> 408 [label="[0x00-/][:-@][[-^][`][{-~]"]
+408 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1304"]
+409 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+409 -> 410 [label="[0x00-/][:-@][[-^][`][{-~]"]
+410 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1114"]
+411 -> 44 [label="[0x00-M][O-m][o-0xFF]"]
+411 -> 484 [label="[N][n]"]
+412 -> 44 [label="[0x00-Q][S-q][s-0xFF]"]
+412 -> 485 [label="[R][r]"]
+413 -> 44 [label="[0x00-K][M-k][m-0xFF]"]
+413 -> 486 [label="[L][l]"]
+414 -> 44 [label="[0x00-E][G-e][g-0xFF]"]
+414 -> 487 [label="[F][f]"]
+415 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+415 -> 416 [label="[0x00-/][:-@][[-^][`][{-~]"]
+416 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1380"]
+417 -> 44 [label="[0x00-B][D-b][d-0xFF]"]
+417 -> 489 [label="[C][c]"]
+418 -> 44 [label="[0x00-Q][S-q][s-0xFF]"]
+418 -> 490 [label="[R][r]"]
+419 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+419 -> 420 [label="[0x00-/][:-@][[-^][`][{-~]"]
+420 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1150"]
+421 -> 44 [label="[0x00-H][J-h][j-0xFF]"]
+421 -> 492 [label="[I][i]"]
+422 -> 44 [label="[0x00-H][J-h][j-0xFF]"]
+422 -> 493 [label="[I][i]"]
+423 -> 44 [label="[0x00-C][E-c][e-0xFF]"]
+423 -> 494 [label="[D][d]"]
+424 -> 43 [label="[0-9][A-K][M-Z][_][a-k][m-z][0x7F-0xFF]"]
+424 -> 425 [label="[0x00-/][:-@][[-^][`][{-~]"]
+424 -> 495 [label="[L][l]"]
+425 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1396"]
+426 -> 44 [label="[0x00-B][D-b][d-0xFF]"]
+426 -> 496 [label="[C][c]"]
+427 -> 44 [label="[0x00-H][J-h][j-0xFF]"]
+427 -> 497 [label="[I][i]"]
+428 -> 44 [label="[0x00-K][M-k][m-0xFF]"]
+428 -> 498 [label="[L][l]"]
+429 -> 44 [label="[0x00-L][N-l][n-0xFF]"]
+429 -> 500 [label="[M][m]"]
+430 -> 44 [label="[0x00-C][E-c][e-0xFF]"]
+430 -> 501 [label="[D][d]"]
+431 -> 44 [label="[0x00-M][O-m][o-0xFF]"]
+431 -> 502 [label="[N][n]"]
+432 -> 44 [label="[0x00-@][B-`][b-0xFF]"]
+432 -> 503 [label="[A][a]"]
+433 -> 44 [label="[0x00-E][G-e][g-0xFF]"]
+433 -> 504 [label="[F][f]"]
+434 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
434 -> 435 [label="[0x00-/][:-@][[-^][`][{-~]"]
-434 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-435 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1420"]
-436 -> 128 [label="[0x00-R][T-r][t-0xFF]"]
-436 -> 520 [label="[S][s]"]
-437 -> 128 [label="[0x00-S][U-s][u-0xFF]"]
-437 -> 521 [label="[T][t]"]
-438 -> 128 [label="[0x00-@][B-`][b-0xFF]"]
-438 -> 523 [label="[A][a]"]
-439 -> 128 [label="[0x00-D][F-d][f-0xFF]"]
-439 -> 524 [label="[E][e]"]
-440 -> 128 [label="[0x00-H][J-h][j-0xFF]"]
-440 -> 525 [label="[I][i]"]
-441 -> 128 [label="[0x00-H][J-h][j-0xFF]"]
-441 -> 526 [label="[I][i]"]
-442 -> 128 [label="[0x00-Q][S-q][s-0xFF]"]
-442 -> 527 [label="[R][r]"]
-443 -> 128 [label="[0x00-H][J-h][j-0xFF]"]
-443 -> 528 [label="[I][i]"]
-444 -> 128 [label="[0x00-B][D-b][d-0xFF]"]
-444 -> 529 [label="[C][c]"]
-445 -> 128 [label="[0x00-V][X-v][x-0xFF]"]
-445 -> 530 [label="[W][w]"]
-446 -> 128 [label="[0x00-S][U-s][u-0xFF]"]
-446 -> 532 [label="[T][t]"]
-447 -> 128 [label="[0x00-S][U-s][u-0xFF]"]
-447 -> 534 [label="[T][t]"]
-448 -> 128 [label="[0x00-D][F-d][f-0xFF]"]
-448 -> 536 [label="[E][e]"]
-449 -> 128 [label="[0x00-C][E-c][e-0xFF]"]
-449 -> 538 [label="[D][d]"]
-450 -> 128 [label="[0x00-@][B-`][b-0xFF]"]
-450 -> 540 [label="[A][a]"]
-451 -> 128 [label="[0x00-Q][S-q][s-0xFF]"]
-451 -> 541 [label="[R][r]"]
-452 -> 128 [label="[0x00-K][M-k][m-0xFF]"]
-452 -> 542 [label="[L][l]"]
-453 -> 128 [label="[0x00-M][O-m][o-0xFF]"]
-453 -> 543 [label="[N][n]"]
-454 -> 128 [label="[0x00-K][M-k][m-0xFF]"]
-454 -> 544 [label="[L][l]"]
-455 -> 128 [label="[0x00-M][O-m][o-0xFF]"]
-455 -> 545 [label="[N][n]"]
-456 -> 128 [label="[0x00-S][U-s][u-0xFF]"]
-456 -> 546 [label="[T][t]"]
-457 -> 128 [label="[0x00-L][N-l][n-0xFF]"]
-457 -> 547 [label="[M][m]"]
-458 -> 128 [label="[0x00-@][B-`][b-0xFF]"]
-458 -> 548 [label="[A][a]"]
-459 -> 166 [label="[0x00-X][Z-x][z-0xFF]"]
-459 -> 549 [label="[Y][y]"]
-460 -> 166 [label="[0x00-Q][S-q][s-0xFF]"]
-460 -> 551 [label="[R][r]"]
-461 -> 553 [label="[0x00-D][F-d][f-0xFF]"]
-461 -> 556 [label="[E][e]"]
-462 -> 166 [label="[0x00-K][M-k][m-0xFF]"]
-462 -> 557 [label="[L][l]"]
-463 -> 166 [label="[0x00-S][U-s][u-0xFF]"]
-463 -> 470 [label="[T][t]"]
-464 -> 465
-465 -> 166 [label="[0x00-0x08][0x0A-0x1F][!-(][*-0xFF]"]
-465 -> 464 [label="[0x09][ ]"]
-465 -> 466 [label="[)]"]
-466 -> 467
-467 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1312"]
-468 -> 166 [label="[0x00-F][H-f][h-0xFF]"]
-468 -> 558 [label="[G][g]"]
-469 -> 166 [label="[0x00-B][D-b][d-0xFF]"]
-469 -> 559 [label="[C][c]"]
+435 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1376"]
+436 -> 44 [label="[0x00-O][Q-o][q-0xFF]"]
+436 -> 505 [label="[P][p]"]
+437 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+437 -> 438 [label="[0x00-/][:-@][[-^][`][{-~]"]
+438 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1234"]
+439 -> 44 [label="[0x00-S][U-s][u-0xFF]"]
+439 -> 506 [label="[T][t]"]
+440 -> 44 [label="[0x00-B][D-b][d-0xFF]"]
+440 -> 507 [label="[C][c]"]
+441 -> 44 [label="[0x00-B][D-b][d-0xFF]"]
+441 -> 508 [label="[C][c]"]
+442 -> 44 [label="[0x00-Q][S-q][s-0xFF]"]
+442 -> 510 [label="[R][r]"]
+443 -> 44 [label="[0x00-M][O-m][o-0xFF]"]
+443 -> 511 [label="[N][n]"]
+444 -> 44 [label="[0x00-B][D-b][d-0xFF]"]
+444 -> 513 [label="[C][c]"]
+445 -> 44 [label="[0x00-G][I-g][i-0xFF]"]
+445 -> 515 [label="[H][h]"]
+446 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+446 -> 447 [label="[0x00-/][:-@][[-^][`][{-~]"]
+447 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1138"]
+448 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+448 -> 449 [label="[0x00-/][:-@][[-^][`][{-~]"]
+449 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1246"]
+450 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+450 -> 451 [label="[0x00-/][:-@][[-^][`][{-~]"]
+451 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1412"]
+452 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+452 -> 453 [label="[0x00-/][:-@][[-^][`][{-~]"]
+453 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1158"]
+454 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+454 -> 455 [label="[0x00-/][:-@][[-^][`][{-~]"]
+455 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1122"]
+456 -> 44 [label="[0x00-R][T-r][t-0xFF]"]
+456 -> 517 [label="[S][s]"]
+457 -> 44 [label="[0x00-^][`-0xFF]"]
+457 -> 518 [label="[_]"]
+458 -> 44 [label="[0x00-D][F-d][f-0xFF]"]
+458 -> 519 [label="[E][e]"]
+459 -> 44 [label="[0x00-B][D-b][d-0xFF]"]
+459 -> 520 [label="[C][c]"]
+460 -> 44 [label="[0x00-S][U-s][u-0xFF]"]
+460 -> 521 [label="[T][t]"]
+461 -> 44 [label="[0x00-D][F-d][f-0xFF]"]
+461 -> 522 [label="[E][e]"]
+462 -> 44 [label="[0x00-G][I-g][i-0xFF]"]
+462 -> 523 [label="[H][h]"]
+463 -> 44 [label="[0x00-D][F-d][f-0xFF]"]
+463 -> 524 [label="[E][e]"]
+464 -> 44 [label="[0x00-H][J-h][j-0xFF]"]
+464 -> 525 [label="[I][i]"]
+465 -> 466
+466 -> 82 [label="[0x00-0x08][0x0A-0x1F][!-(][*-0xFF]"]
+466 -> 465 [label="[0x09][ ]"]
+466 -> 526 [label="[)]"]
+467 -> 82 [label="[0x00-X][Z-x][z-0xFF]"]
+467 -> 528 [label="[Y][y]"]
+468 -> 469
+469 -> 82 [label="[0x00-0x08][0x0A-0x1F][!-(][*-0xFF]"]
+469 -> 468 [label="[0x09][ ]"]
+469 -> 470 [label="[)]"]
470 -> 471
-471 -> 166 [label="[0x00-0x08][0x0A-0x1F][!-(][*-0xFF]"]
-471 -> 470 [label="[0x09][ ]"]
-471 -> 560 [label="[)]"]
-472 -> 166 [label="[0x00-M][O-m][o-0xFF]"]
-472 -> 562 [label="[N][n]"]
-473 -> 166 [label="[0x00-S][U-s][u-0xFF]"]
-473 -> 563 [label="[T][t]"]
-474 -> 475
-475 -> 166 [label="[0x00-!][#-/][:-@][[-^][`][{-~]"]
-475 -> 565 [label="[\"]"]
-475 -> 474 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+471 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1332"]
+472 -> 82 [label="[0x00-@][B-`][b-0xFF]"]
+472 -> 530 [label="[A][a]"]
+473 -> 82 [label="[0x00-D][F-d][f-0xFF]"]
+473 -> 386 [label="[E][e]"]
+474 -> 82 [label="[0x00-D][F-d][f-0xFF]"]
+474 -> 531 [label="[E][e]"]
+475 -> 82 [label="[0x00-S][U-s][u-0xFF]"]
+475 -> 532 [label="[T][t]"]
476 -> 477
-477 -> 166 [label="[0x00-&][(-/][:-@][[-^][`][{-~]"]
-477 -> 565 [label="[']"]
-477 -> 476 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-478 -> 479
-479 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:2039"]
-480 -> 479 [label="[0x00-0x09][0x0B-0xFF]"]
-480 -> 478 [label="[0x0A]"]
-481 -> 128 [label="[0x00-@][B-`][b-0xFF]"]
-481 -> 566 [label="[A][a]"]
-482 -> 483 [label="[0x00-/][:-@][[-^][`][{-~]"]
-482 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-483 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1424"]
-484 -> 485 [label="[0x00-/][:-@][[-^][`][{-~]"]
-484 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-485 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1218"]
-486 -> 128 [label="[0x00-A][C-a][c-0xFF]"]
-486 -> 567 [label="[B][b]"]
+477 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1316"]
+478 -> 82 [label="[0x00-F][H-f][h-0xFF]"]
+478 -> 528 [label="[G][g]"]
+479 -> 480
+480 -> 82 [label="[0x00-0x08][0x0A-0x1F][!-(][*-0xFF]"]
+480 -> 479 [label="[0x09][ ]"]
+480 -> 534 [label="[)]"]
+481 -> 82 [label="[0x00-0x09][0x0B-0x0C][0x0E-0xFF]"]
+481 -> 394 [label="[0x0A]"]
+481 -> 396 [label="[0x0D]"]
+482 -> 44 [label="[0x00-B][D-b][d-0xFF]"]
+482 -> 536 [label="[C][c]"]
+483 -> 44 [label="[0x00-K][M-k][m-0xFF]"]
+483 -> 537 [label="[L][l]"]
+484 -> 44 [label="[0x00-T][V-t][v-0xFF]"]
+484 -> 538 [label="[U][u]"]
+485 -> 44 [label="[0x00-D][F-d][f-0xFF]"]
+485 -> 539 [label="[E][e]"]
+486 -> 44 [label="[0x00-S][U-s][u-0xFF]"]
+486 -> 541 [label="[T][t]"]
+487 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
487 -> 488 [label="[0x00-/][:-@][[-^][`][{-~]"]
-487 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-488 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1130"]
-489 -> 490 [label="[0x00-/][:-@][[-^][`][{-~]"]
-489 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-490 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1238"]
-491 -> 492 [label="[0x00-/][:-@][[-^][`][{-~]"]
-491 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-492 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1304"]
-493 -> 494 [label="[0x00-/][:-@][[-^][`][{-~]"]
-493 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-494 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1114"]
-495 -> 128 [label="[0x00-M][O-m][o-0xFF]"]
-495 -> 568 [label="[N][n]"]
-496 -> 128 [label="[0x00-Q][S-q][s-0xFF]"]
-496 -> 569 [label="[R][r]"]
-497 -> 128 [label="[0x00-K][M-k][m-0xFF]"]
-497 -> 570 [label="[L][l]"]
-498 -> 128 [label="[0x00-E][G-e][g-0xFF]"]
-498 -> 571 [label="[F][f]"]
-499 -> 500 [label="[0x00-/][:-@][[-^][`][{-~]"]
-499 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-500 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1380"]
-501 -> 128 [label="[0x00-B][D-b][d-0xFF]"]
-501 -> 573 [label="[C][c]"]
-502 -> 128 [label="[0x00-Q][S-q][s-0xFF]"]
-502 -> 574 [label="[R][r]"]
-503 -> 504 [label="[0x00-/][:-@][[-^][`][{-~]"]
-503 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-504 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1150"]
-505 -> 128 [label="[0x00-H][J-h][j-0xFF]"]
-505 -> 576 [label="[I][i]"]
-506 -> 128 [label="[0x00-H][J-h][j-0xFF]"]
-506 -> 577 [label="[I][i]"]
-507 -> 128 [label="[0x00-C][E-c][e-0xFF]"]
-507 -> 578 [label="[D][d]"]
+488 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1146"]
+489 -> 44 [label="[0x00-K][M-k][m-0xFF]"]
+489 -> 543 [label="[L][l]"]
+490 -> 43 [label="[0-9][A-D][F-Z][_][a-d][f-z][0x7F-0xFF]"]
+490 -> 491 [label="[0x00-/][:-@][[-^][`][{-~]"]
+490 -> 544 [label="[E][e]"]
+491 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1174"]
+492 -> 44 [label="[0x00-S][U-s][u-0xFF]"]
+492 -> 545 [label="[T][t]"]
+493 -> 44 [label="[0x00-K][M-k][m-0xFF]"]
+493 -> 546 [label="[L][l]"]
+494 -> 44 [label="[0x00-R][T-r][t-0xFF]"]
+494 -> 547 [label="[S][s]"]
+495 -> 44 [label="[0x00-X][Z-x][z-0xFF]"]
+495 -> 549 [label="[Y][y]"]
+496 -> 44 [label="[0x00-G][I-g][i-0xFF]"]
+496 -> 551 [label="[H][h]"]
+497 -> 44 [label="[0x00-N][P-n][p-0xFF]"]
+497 -> 553 [label="[O][o]"]
+498 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+498 -> 499 [label="[0x00-/][:-@][[-^][`][{-~]"]
+499 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1372"]
+500 -> 44 [label="[0x00-D][F-d][f-0xFF]"]
+500 -> 554 [label="[E][e]"]
+501 -> 44 [label="[0x00-D][F-d][f-0xFF]"]
+501 -> 555 [label="[E][e]"]
+502 -> 44 [label="[0x00-B][D-b][d-0xFF]"]
+502 -> 557 [label="[C][c]"]
+503 -> 44 [label="[0x00-C][E-c][e-0xFF]"]
+503 -> 558 [label="[D][d]"]
+504 -> 44 [label="[0x00-@][B-`][b-0xFF]"]
+504 -> 559 [label="[A][a]"]
+505 -> 44 [label="[0x00-@][B-`][b-0xFF]"]
+505 -> 560 [label="[A][a]"]
+506 -> 44 [label="[0x00-D][F-d][f-0xFF]"]
+506 -> 561 [label="[E][e]"]
+507 -> 44 [label="[0x00-S][U-s][u-0xFF]"]
+507 -> 563 [label="[T][t]"]
+508 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
508 -> 509 [label="[0x00-/][:-@][[-^][`][{-~]"]
-508 -> 127 [label="[0-9][A-K][M-Z][_][a-k][m-z][0x7F-0xFF]"]
-508 -> 579 [label="[L][l]"]
-509 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1396"]
-510 -> 128 [label="[0x00-B][D-b][d-0xFF]"]
-510 -> 580 [label="[C][c]"]
-511 -> 128 [label="[0x00-H][J-h][j-0xFF]"]
-511 -> 581 [label="[I][i]"]
-512 -> 128 [label="[0x00-K][M-k][m-0xFF]"]
-512 -> 582 [label="[L][l]"]
-513 -> 128 [label="[0x00-L][N-l][n-0xFF]"]
-513 -> 584 [label="[M][m]"]
-514 -> 128 [label="[0x00-C][E-c][e-0xFF]"]
-514 -> 585 [label="[D][d]"]
-515 -> 128 [label="[0x00-M][O-m][o-0xFF]"]
-515 -> 586 [label="[N][n]"]
-516 -> 128 [label="[0x00-@][B-`][b-0xFF]"]
-516 -> 587 [label="[A][a]"]
-517 -> 128 [label="[0x00-E][G-e][g-0xFF]"]
-517 -> 588 [label="[F][f]"]
-518 -> 519 [label="[0x00-/][:-@][[-^][`][{-~]"]
-518 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-519 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1376"]
-520 -> 128 [label="[0x00-O][Q-o][q-0xFF]"]
-520 -> 589 [label="[P][p]"]
-521 -> 522 [label="[0x00-/][:-@][[-^][`][{-~]"]
-521 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-522 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1234"]
-523 -> 128 [label="[0x00-S][U-s][u-0xFF]"]
-523 -> 590 [label="[T][t]"]
-524 -> 128 [label="[0x00-B][D-b][d-0xFF]"]
-524 -> 591 [label="[C][c]"]
-525 -> 128 [label="[0x00-B][D-b][d-0xFF]"]
-525 -> 592 [label="[C][c]"]
-526 -> 128 [label="[0x00-Q][S-q][s-0xFF]"]
-526 -> 594 [label="[R][r]"]
-527 -> 128 [label="[0x00-M][O-m][o-0xFF]"]
-527 -> 595 [label="[N][n]"]
-528 -> 128 [label="[0x00-B][D-b][d-0xFF]"]
-528 -> 597 [label="[C][c]"]
-529 -> 128 [label="[0x00-G][I-g][i-0xFF]"]
-529 -> 599 [label="[H][h]"]
-530 -> 531 [label="[0x00-/][:-@][[-^][`][{-~]"]
-530 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-531 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1138"]
-532 -> 533 [label="[0x00-/][:-@][[-^][`][{-~]"]
-532 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-533 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1246"]
-534 -> 535 [label="[0x00-/][:-@][[-^][`][{-~]"]
-534 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-535 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1412"]
-536 -> 537 [label="[0x00-/][:-@][[-^][`][{-~]"]
-536 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-537 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1158"]
-538 -> 539 [label="[0x00-/][:-@][[-^][`][{-~]"]
-538 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-539 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1122"]
-540 -> 128 [label="[0x00-R][T-r][t-0xFF]"]
-540 -> 601 [label="[S][s]"]
-541 -> 128 [label="[0x00-^][`-0xFF]"]
-541 -> 602 [label="[_]"]
-542 -> 128 [label="[0x00-D][F-d][f-0xFF]"]
-542 -> 603 [label="[E][e]"]
-543 -> 128 [label="[0x00-B][D-b][d-0xFF]"]
-543 -> 604 [label="[C][c]"]
-544 -> 128 [label="[0x00-S][U-s][u-0xFF]"]
-544 -> 605 [label="[T][t]"]
-545 -> 128 [label="[0x00-D][F-d][f-0xFF]"]
-545 -> 606 [label="[E][e]"]
-546 -> 128 [label="[0x00-G][I-g][i-0xFF]"]
-546 -> 607 [label="[H][h]"]
-547 -> 128 [label="[0x00-D][F-d][f-0xFF]"]
-547 -> 608 [label="[E][e]"]
-548 -> 128 [label="[0x00-H][J-h][j-0xFF]"]
-548 -> 609 [label="[I][i]"]
-549 -> 550
-550 -> 166 [label="[0x00-0x08][0x0A-0x1F][!-(][*-0xFF]"]
-550 -> 549 [label="[0x09][ ]"]
-550 -> 610 [label="[)]"]
-551 -> 166 [label="[0x00-X][Z-x][z-0xFF]"]
-551 -> 612 [label="[Y][y]"]
-552 -> 553
-553 -> 166 [label="[0x00-0x08][0x0A-0x1F][!-(][*-0xFF]"]
-553 -> 552 [label="[0x09][ ]"]
-553 -> 554 [label="[)]"]
-554 -> 555
-555 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1332"]
-556 -> 166 [label="[0x00-@][B-`][b-0xFF]"]
-556 -> 614 [label="[A][a]"]
-557 -> 166 [label="[0x00-D][F-d][f-0xFF]"]
-557 -> 470 [label="[E][e]"]
-558 -> 166 [label="[0x00-D][F-d][f-0xFF]"]
-558 -> 615 [label="[E][e]"]
-559 -> 166 [label="[0x00-S][U-s][u-0xFF]"]
-559 -> 616 [label="[T][t]"]
-560 -> 561
-561 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1316"]
-562 -> 166 [label="[0x00-F][H-f][h-0xFF]"]
-562 -> 612 [label="[G][g]"]
-563 -> 564
-564 -> 166 [label="[0x00-0x08][0x0A-0x1F][!-(][*-0xFF]"]
-564 -> 563 [label="[0x09][ ]"]
-564 -> 618 [label="[)]"]
-565 -> 166 [label="[0x00-0x09][0x0B-0x0C][0x0E-0xFF]"]
-565 -> 478 [label="[0x0A]"]
-565 -> 480 [label="[0x0D]"]
-566 -> 128 [label="[0x00-B][D-b][d-0xFF]"]
-566 -> 620 [label="[C][c]"]
-567 -> 128 [label="[0x00-K][M-k][m-0xFF]"]
-567 -> 621 [label="[L][l]"]
-568 -> 128 [label="[0x00-T][V-t][v-0xFF]"]
-568 -> 622 [label="[U][u]"]
-569 -> 128 [label="[0x00-D][F-d][f-0xFF]"]
-569 -> 623 [label="[E][e]"]
-570 -> 128 [label="[0x00-S][U-s][u-0xFF]"]
-570 -> 625 [label="[T][t]"]
-571 -> 572 [label="[0x00-/][:-@][[-^][`][{-~]"]
-571 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-572 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1146"]
-573 -> 128 [label="[0x00-K][M-k][m-0xFF]"]
-573 -> 627 [label="[L][l]"]
-574 -> 575 [label="[0x00-/][:-@][[-^][`][{-~]"]
-574 -> 127 [label="[0-9][A-D][F-Z][_][a-d][f-z][0x7F-0xFF]"]
-574 -> 628 [label="[E][e]"]
-575 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1174"]
-576 -> 128 [label="[0x00-S][U-s][u-0xFF]"]
-576 -> 629 [label="[T][t]"]
-577 -> 128 [label="[0x00-K][M-k][m-0xFF]"]
-577 -> 630 [label="[L][l]"]
-578 -> 128 [label="[0x00-R][T-r][t-0xFF]"]
-578 -> 631 [label="[S][s]"]
-579 -> 128 [label="[0x00-X][Z-x][z-0xFF]"]
-579 -> 633 [label="[Y][y]"]
-580 -> 128 [label="[0x00-G][I-g][i-0xFF]"]
-580 -> 635 [label="[H][h]"]
-581 -> 128 [label="[0x00-N][P-n][p-0xFF]"]
-581 -> 637 [label="[O][o]"]
+509 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1408"]
+510 -> 44 [label="[0x00-D][F-d][f-0xFF]"]
+510 -> 564 [label="[E][e]"]
+511 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+511 -> 512 [label="[0x00-/][:-@][[-^][`][{-~]"]
+512 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1118"]
+513 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+513 -> 514 [label="[0x00-/][:-@][[-^][`][{-~]"]
+514 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1388"]
+515 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+515 -> 516 [label="[0x00-/][:-@][[-^][`][{-~]"]
+516 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1202"]
+517 -> 44 [label="[0x00-R][T-r][t-0xFF]"]
+517 -> 566 [label="[S][s]"]
+518 -> 44 [label="[0x00-^][`-0xFF]"]
+518 -> 567 [label="[_]"]
+519 -> 44 [label="[0x00-^][`-0xFF]"]
+519 -> 569 [label="[_]"]
+520 -> 44 [label="[0x00-S][U-s][u-0xFF]"]
+520 -> 570 [label="[T][t]"]
+521 -> 44 [label="[0x00-^][`-0xFF]"]
+521 -> 571 [label="[_]"]
+522 -> 44 [label="[0x00-^][`-0xFF]"]
+522 -> 572 [label="[_]"]
+523 -> 44 [label="[0x00-N][P-n][p-0xFF]"]
+523 -> 573 [label="[O][o]"]
+524 -> 44 [label="[0x00-R][T-r][t-0xFF]"]
+524 -> 574 [label="[S][s]"]
+525 -> 44 [label="[0x00-S][U-s][u-0xFF]"]
+525 -> 575 [label="[T][t]"]
+526 -> 527
+527 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1324"]
+528 -> 529
+529 -> 82 [label="[0x00-0x08][0x0A-0x1F][!-(][*-0xFF]"]
+529 -> 528 [label="[0x09][ ]"]
+529 -> 576 [label="[)]"]
+530 -> 82 [label="[0x00-M][O-m][o-0xFF]"]
+530 -> 468 [label="[N][n]"]
+531 -> 82 [label="[0x00-Q][S-q][s-0xFF]"]
+531 -> 380 [label="[R][r]"]
+532 -> 533
+533 -> 82 [label="[0x00-0x08][0x0A-0x1F][!-(][*-0xFF]"]
+533 -> 532 [label="[0x09][ ]"]
+533 -> 578 [label="[)]"]
+534 -> 535
+535 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1336"]
+536 -> 44 [label="[0x00-S][U-s][u-0xFF]"]
+536 -> 580 [label="[T][t]"]
+537 -> 44 [label="[0x00-D][F-d][f-0xFF]"]
+537 -> 582 [label="[E][e]"]
+538 -> 44 [label="[0x00-D][F-d][f-0xFF]"]
+538 -> 584 [label="[E][e]"]
+539 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+539 -> 540 [label="[0x00-/][:-@][[-^][`][{-~]"]
+540 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1186"]
+541 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+541 -> 542 [label="[0x00-/][:-@][[-^][`][{-~]"]
+542 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1214"]
+543 -> 44 [label="[0x00-@][B-`][b-0xFF]"]
+543 -> 586 [label="[A][a]"]
+544 -> 44 [label="[0x00-@][B-`][b-0xFF]"]
+544 -> 587 [label="[A][a]"]
+545 -> 44 [label="[0x00-B][D-b][d-0xFF]"]
+545 -> 588 [label="[C][c]"]
+546 -> 44 [label="[0x00-D][F-d][f-0xFF]"]
+546 -> 589 [label="[E][e]"]
+547 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+547 -> 548 [label="[0x00-/][:-@][[-^][`][{-~]"]
+548 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1250"]
+549 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+549 -> 550 [label="[0x00-/][:-@][[-^][`][{-~]"]
+550 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1134"]
+551 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+551 -> 552 [label="[0x00-/][:-@][[-^][`][{-~]"]
+552 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1178"]
+553 -> 44 [label="[0x00-M][O-m][o-0xFF]"]
+553 -> 591 [label="[N][n]"]
+554 -> 44 [label="[0x00-M][O-m][o-0xFF]"]
+554 -> 593 [label="[N][n]"]
+555 -> 43 [label="[0-9][A-Z][a-z][0x7F-0xFF]"]
+555 -> 556 [label="[0x00-/][:-@][[-^][`][{-~]"]
+555 -> 594 [label="[_]"]
+556 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1344"]
+557 -> 44 [label="[0x00-D][F-d][f-0xFF]"]
+557 -> 595 [label="[E][e]"]
+558 -> 44 [label="[0x00-N][P-n][p-0xFF]"]
+558 -> 596 [label="[O][o]"]
+559 -> 44 [label="[0x00-B][D-b][d-0xFF]"]
+559 -> 597 [label="[C][c]"]
+560 -> 44 [label="[0x00-B][D-b][d-0xFF]"]
+560 -> 598 [label="[C][c]"]
+561 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+561 -> 562 [label="[0x00-/][:-@][[-^][`][{-~]"]
+562 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1400"]
+563 -> 44 [label="[0x00-D][F-d][f-0xFF]"]
+563 -> 599 [label="[E][e]"]
+564 -> 43 [label="[0-9][A-Z][a-z][0x7F-0xFF]"]
+564 -> 565 [label="[0x00-/][:-@][[-^][`][{-~]"]
+564 -> 600 [label="[_]"]
+565 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1352"]
+566 -> 44 [label="[0x00-^][`-0xFF]"]
+566 -> 601 [label="[_]"]
+567 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+567 -> 568 [label="[0x00-/][:-@][[-^][`][{-~]"]
+568 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1735"]
+569 -> 44 [label="[0x00-^][`-0xFF]"]
+569 -> 602 [label="[_]"]
+570 -> 44 [label="[0x00-H][J-h][j-0xFF]"]
+570 -> 604 [label="[I][i]"]
+571 -> 44 [label="[0x00-B][D-b][d-0xFF]"]
+571 -> 605 [label="[C][c]"]
+572 -> 44 [label="[0x00-^][`-0xFF]"]
+572 -> 606 [label="[_]"]
+573 -> 44 [label="[0x00-C][E-c][e-0xFF]"]
+573 -> 608 [label="[D][d]"]
+574 -> 44 [label="[0x00-O][Q-o][q-0xFF]"]
+574 -> 609 [label="[P][p]"]
+575 -> 44 [label="[0x00-^][`-0xFF]"]
+575 -> 610 [label="[_]"]
+576 -> 577
+577 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1320"]
+578 -> 579
+579 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1328"]
+580 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+580 -> 581 [label="[0x00-/][:-@][[-^][`][{-~]"]
+581 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1392"]
+582 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
582 -> 583 [label="[0x00-/][:-@][[-^][`][{-~]"]
-582 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-583 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1372"]
-584 -> 128 [label="[0x00-D][F-d][f-0xFF]"]
-584 -> 638 [label="[E][e]"]
-585 -> 128 [label="[0x00-D][F-d][f-0xFF]"]
-585 -> 639 [label="[E][e]"]
-586 -> 128 [label="[0x00-B][D-b][d-0xFF]"]
-586 -> 641 [label="[C][c]"]
-587 -> 128 [label="[0x00-C][E-c][e-0xFF]"]
-587 -> 642 [label="[D][d]"]
-588 -> 128 [label="[0x00-@][B-`][b-0xFF]"]
-588 -> 643 [label="[A][a]"]
-589 -> 128 [label="[0x00-@][B-`][b-0xFF]"]
-589 -> 644 [label="[A][a]"]
-590 -> 128 [label="[0x00-D][F-d][f-0xFF]"]
-590 -> 645 [label="[E][e]"]
-591 -> 128 [label="[0x00-S][U-s][u-0xFF]"]
-591 -> 647 [label="[T][t]"]
-592 -> 593 [label="[0x00-/][:-@][[-^][`][{-~]"]
-592 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-593 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1408"]
-594 -> 128 [label="[0x00-D][F-d][f-0xFF]"]
-594 -> 648 [label="[E][e]"]
-595 -> 596 [label="[0x00-/][:-@][[-^][`][{-~]"]
-595 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-596 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1118"]
-597 -> 598 [label="[0x00-/][:-@][[-^][`][{-~]"]
-597 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-598 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1388"]
-599 -> 600 [label="[0x00-/][:-@][[-^][`][{-~]"]
-599 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-600 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1202"]
-601 -> 128 [label="[0x00-R][T-r][t-0xFF]"]
-601 -> 650 [label="[S][s]"]
-602 -> 128 [label="[0x00-^][`-0xFF]"]
-602 -> 651 [label="[_]"]
-603 -> 128 [label="[0x00-^][`-0xFF]"]
-603 -> 653 [label="[_]"]
-604 -> 128 [label="[0x00-S][U-s][u-0xFF]"]
-604 -> 654 [label="[T][t]"]
-605 -> 128 [label="[0x00-^][`-0xFF]"]
-605 -> 655 [label="[_]"]
-606 -> 128 [label="[0x00-^][`-0xFF]"]
-606 -> 656 [label="[_]"]
-607 -> 128 [label="[0x00-N][P-n][p-0xFF]"]
-607 -> 657 [label="[O][o]"]
-608 -> 128 [label="[0x00-R][T-r][t-0xFF]"]
-608 -> 658 [label="[S][s]"]
-609 -> 128 [label="[0x00-S][U-s][u-0xFF]"]
-609 -> 659 [label="[T][t]"]
-610 -> 611
-611 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1324"]
-612 -> 613
-613 -> 166 [label="[0x00-0x08][0x0A-0x1F][!-(][*-0xFF]"]
-613 -> 612 [label="[0x09][ ]"]
-613 -> 660 [label="[)]"]
-614 -> 166 [label="[0x00-M][O-m][o-0xFF]"]
-614 -> 552 [label="[N][n]"]
-615 -> 166 [label="[0x00-Q][S-q][s-0xFF]"]
-615 -> 464 [label="[R][r]"]
-616 -> 617
-617 -> 166 [label="[0x00-0x08][0x0A-0x1F][!-(][*-0xFF]"]
-617 -> 616 [label="[0x09][ ]"]
-617 -> 662 [label="[)]"]
-618 -> 619
-619 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1336"]
-620 -> 128 [label="[0x00-S][U-s][u-0xFF]"]
-620 -> 664 [label="[T][t]"]
-621 -> 128 [label="[0x00-D][F-d][f-0xFF]"]
-621 -> 666 [label="[E][e]"]
-622 -> 128 [label="[0x00-D][F-d][f-0xFF]"]
-622 -> 668 [label="[E][e]"]
-623 -> 624 [label="[0x00-/][:-@][[-^][`][{-~]"]
-623 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-624 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1186"]
-625 -> 626 [label="[0x00-/][:-@][[-^][`][{-~]"]
-625 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-626 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1214"]
-627 -> 128 [label="[0x00-@][B-`][b-0xFF]"]
-627 -> 670 [label="[A][a]"]
-628 -> 128 [label="[0x00-@][B-`][b-0xFF]"]
-628 -> 671 [label="[A][a]"]
-629 -> 128 [label="[0x00-B][D-b][d-0xFF]"]
-629 -> 672 [label="[C][c]"]
-630 -> 128 [label="[0x00-D][F-d][f-0xFF]"]
-630 -> 673 [label="[E][e]"]
-631 -> 632 [label="[0x00-/][:-@][[-^][`][{-~]"]
-631 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-632 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1250"]
+583 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1428"]
+584 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+584 -> 585 [label="[0x00-/][:-@][[-^][`][{-~]"]
+585 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1222"]
+586 -> 44 [label="[0x00-Q][S-q][s-0xFF]"]
+586 -> 611 [label="[R][r]"]
+587 -> 44 [label="[0x00-B][D-b][d-0xFF]"]
+587 -> 612 [label="[C][c]"]
+588 -> 44 [label="[0x00-G][I-g][i-0xFF]"]
+588 -> 613 [label="[H][h]"]
+589 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+589 -> 590 [label="[0x00-/][:-@][[-^][`][{-~]"]
+590 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1162"]
+591 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+591 -> 592 [label="[0x00-/][:-@][[-^][`][{-~]"]
+592 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1110"]
+593 -> 44 [label="[0x00-S][U-s][u-0xFF]"]
+593 -> 615 [label="[T][t]"]
+594 -> 44 [label="[0x00-N][P-n][p-0xFF]"]
+594 -> 616 [label="[O][o]"]
+595 -> 44 [label="[0x00-N][P-n][p-0xFF]"]
+595 -> 617 [label="[O][o]"]
+596 -> 44 [label="[0x00-E][G-e][g-0xFF]"]
+596 -> 618 [label="[F][f]"]
+597 -> 44 [label="[0x00-D][F-d][f-0xFF]"]
+597 -> 620 [label="[E][e]"]
+598 -> 44 [label="[0x00-D][F-d][f-0xFF]"]
+598 -> 622 [label="[E][e]"]
+599 -> 44 [label="[0x00-C][E-c][e-0xFF]"]
+599 -> 624 [label="[D][d]"]
+600 -> 44 [label="[0x00-N][P-n][p-0xFF]"]
+600 -> 626 [label="[O][o]"]
+601 -> 44 [label="[0x00-^][`-0xFF]"]
+601 -> 627 [label="[_]"]
+602 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+602 -> 603 [label="[0x00-/][:-@][[-^][`][{-~]"]
+603 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1731"]
+604 -> 44 [label="[0x00-N][P-n][p-0xFF]"]
+604 -> 629 [label="[O][o]"]
+605 -> 44 [label="[0x00-N][P-n][p-0xFF]"]
+605 -> 630 [label="[O][o]"]
+606 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+606 -> 607 [label="[0x00-/][:-@][[-^][`][{-~]"]
+607 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1727"]
+608 -> 44 [label="[0x00-^][`-0xFF]"]
+608 -> 631 [label="[_]"]
+609 -> 44 [label="[0x00-@][B-`][b-0xFF]"]
+609 -> 632 [label="[A][a]"]
+610 -> 44 [label="[0x00-^][`-0xFF]"]
+610 -> 633 [label="[_]"]
+611 -> 44 [label="[0x00-D][F-d][f-0xFF]"]
+611 -> 635 [label="[E][e]"]
+612 -> 44 [label="[0x00-G][I-g][i-0xFF]"]
+612 -> 637 [label="[H][h]"]
+613 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+613 -> 614 [label="[0x00-/][:-@][[-^][`][{-~]"]
+614 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1206"]
+615 -> 44 [label="[0x00-R][T-r][t-0xFF]"]
+615 -> 639 [label="[S][s]"]
+616 -> 44 [label="[0x00-M][O-m][o-0xFF]"]
+616 -> 641 [label="[N][n]"]
+617 -> 44 [label="[0x00-E][G-e][g-0xFF]"]
+617 -> 642 [label="[F][f]"]
+618 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+618 -> 619 [label="[0x00-/][:-@][[-^][`][{-~]"]
+619 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1368"]
+620 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+620 -> 621 [label="[0x00-/][:-@][[-^][`][{-~]"]
+621 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1242"]
+622 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+622 -> 623 [label="[0x00-/][:-@][[-^][`][{-~]"]
+623 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1360"]
+624 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+624 -> 625 [label="[0x00-/][:-@][[-^][`][{-~]"]
+625 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1404"]
+626 -> 44 [label="[0x00-M][O-m][o-0xFF]"]
+626 -> 644 [label="[N][n]"]
+627 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+627 -> 628 [label="[0x00-/][:-@][[-^][`][{-~]"]
+628 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1711"]
+629 -> 44 [label="[0x00-M][O-m][o-0xFF]"]
+629 -> 645 [label="[N][n]"]
+630 -> 44 [label="[0x00-L][N-l][n-0xFF]"]
+630 -> 646 [label="[M][m]"]
+631 -> 44 [label="[0x00-^][`-0xFF]"]
+631 -> 647 [label="[_]"]
+632 -> 44 [label="[0x00-B][D-b][d-0xFF]"]
+632 -> 649 [label="[C][c]"]
+633 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
633 -> 634 [label="[0x00-/][:-@][[-^][`][{-~]"]
-633 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-634 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1134"]
+634 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1715"]
+635 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
635 -> 636 [label="[0x00-/][:-@][[-^][`][{-~]"]
-635 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-636 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1178"]
-637 -> 128 [label="[0x00-M][O-m][o-0xFF]"]
-637 -> 675 [label="[N][n]"]
-638 -> 128 [label="[0x00-M][O-m][o-0xFF]"]
-638 -> 677 [label="[N][n]"]
+636 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1190"]
+637 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+637 -> 638 [label="[0x00-/][:-@][[-^][`][{-~]"]
+638 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1182"]
+639 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
639 -> 640 [label="[0x00-/][:-@][[-^][`][{-~]"]
-639 -> 127 [label="[0-9][A-Z][a-z][0x7F-0xFF]"]
-639 -> 678 [label="[_]"]
-640 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1344"]
-641 -> 128 [label="[0x00-D][F-d][f-0xFF]"]
-641 -> 679 [label="[E][e]"]
-642 -> 128 [label="[0x00-N][P-n][p-0xFF]"]
-642 -> 680 [label="[O][o]"]
-643 -> 128 [label="[0x00-B][D-b][d-0xFF]"]
-643 -> 681 [label="[C][c]"]
-644 -> 128 [label="[0x00-B][D-b][d-0xFF]"]
-644 -> 682 [label="[C][c]"]
-645 -> 646 [label="[0x00-/][:-@][[-^][`][{-~]"]
-645 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-646 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1400"]
-647 -> 128 [label="[0x00-D][F-d][f-0xFF]"]
-647 -> 683 [label="[E][e]"]
-648 -> 649 [label="[0x00-/][:-@][[-^][`][{-~]"]
-648 -> 127 [label="[0-9][A-Z][a-z][0x7F-0xFF]"]
-648 -> 684 [label="[_]"]
-649 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1352"]
-650 -> 128 [label="[0x00-^][`-0xFF]"]
-650 -> 685 [label="[_]"]
-651 -> 652 [label="[0x00-/][:-@][[-^][`][{-~]"]
-651 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-652 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1735"]
-653 -> 128 [label="[0x00-^][`-0xFF]"]
-653 -> 686 [label="[_]"]
-654 -> 128 [label="[0x00-H][J-h][j-0xFF]"]
-654 -> 688 [label="[I][i]"]
-655 -> 128 [label="[0x00-B][D-b][d-0xFF]"]
-655 -> 689 [label="[C][c]"]
-656 -> 128 [label="[0x00-^][`-0xFF]"]
-656 -> 690 [label="[_]"]
-657 -> 128 [label="[0x00-C][E-c][e-0xFF]"]
-657 -> 692 [label="[D][d]"]
-658 -> 128 [label="[0x00-O][Q-o][q-0xFF]"]
-658 -> 693 [label="[P][p]"]
-659 -> 128 [label="[0x00-^][`-0xFF]"]
-659 -> 694 [label="[_]"]
-660 -> 661
-661 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1320"]
-662 -> 663
-663 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1328"]
+640 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1254"]
+641 -> 44 [label="[0x00-B][D-b][d-0xFF]"]
+641 -> 650 [label="[C][c]"]
+642 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+642 -> 643 [label="[0x00-/][:-@][[-^][`][{-~]"]
+643 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1194"]
+644 -> 44 [label="[0x00-B][D-b][d-0xFF]"]
+644 -> 651 [label="[C][c]"]
+645 -> 44 [label="[0x00-^][`-0xFF]"]
+645 -> 652 [label="[_]"]
+646 -> 44 [label="[0x00-O][Q-o][q-0xFF]"]
+646 -> 653 [label="[P][p]"]
+647 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+647 -> 648 [label="[0x00-/][:-@][[-^][`][{-~]"]
+648 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1723"]
+649 -> 44 [label="[0x00-D][F-d][f-0xFF]"]
+649 -> 654 [label="[E][e]"]
+650 -> 44 [label="[0x00-D][F-d][f-0xFF]"]
+650 -> 655 [label="[E][e]"]
+651 -> 44 [label="[0x00-D][F-d][f-0xFF]"]
+651 -> 657 [label="[E][e]"]
+652 -> 44 [label="[0x00-^][`-0xFF]"]
+652 -> 659 [label="[_]"]
+653 -> 44 [label="[0x00-H][J-h][j-0xFF]"]
+653 -> 661 [label="[I][i]"]
+654 -> 44 [label="[0x00-^][`-0xFF]"]
+654 -> 662 [label="[_]"]
+655 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+655 -> 656 [label="[0x00-/][:-@][[-^][`][{-~]"]
+656 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1348"]
+657 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+657 -> 658 [label="[0x00-/][:-@][[-^][`][{-~]"]
+658 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1356"]
+659 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+659 -> 660 [label="[0x00-/][:-@][[-^][`][{-~]"]
+660 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1719"]
+661 -> 44 [label="[0x00-K][M-k][m-0xFF]"]
+661 -> 663 [label="[L][l]"]
+662 -> 44 [label="[0x00-^][`-0xFF]"]
+662 -> 664 [label="[_]"]
+663 -> 44 [label="[0x00-D][F-d][f-0xFF]"]
+663 -> 666 [label="[E][e]"]
+664 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
664 -> 665 [label="[0x00-/][:-@][[-^][`][{-~]"]
-664 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-665 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1392"]
-666 -> 667 [label="[0x00-/][:-@][[-^][`][{-~]"]
-666 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-667 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1428"]
-668 -> 669 [label="[0x00-/][:-@][[-^][`][{-~]"]
-668 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-669 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1222"]
-670 -> 128 [label="[0x00-Q][S-q][s-0xFF]"]
-670 -> 695 [label="[R][r]"]
-671 -> 128 [label="[0x00-B][D-b][d-0xFF]"]
-671 -> 696 [label="[C][c]"]
-672 -> 128 [label="[0x00-G][I-g][i-0xFF]"]
-672 -> 697 [label="[H][h]"]
-673 -> 674 [label="[0x00-/][:-@][[-^][`][{-~]"]
-673 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-674 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1162"]
-675 -> 676 [label="[0x00-/][:-@][[-^][`][{-~]"]
-675 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-676 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1110"]
-677 -> 128 [label="[0x00-S][U-s][u-0xFF]"]
-677 -> 699 [label="[T][t]"]
-678 -> 128 [label="[0x00-N][P-n][p-0xFF]"]
-678 -> 700 [label="[O][o]"]
-679 -> 128 [label="[0x00-N][P-n][p-0xFF]"]
-679 -> 701 [label="[O][o]"]
-680 -> 128 [label="[0x00-E][G-e][g-0xFF]"]
-680 -> 702 [label="[F][f]"]
-681 -> 128 [label="[0x00-D][F-d][f-0xFF]"]
-681 -> 704 [label="[E][e]"]
-682 -> 128 [label="[0x00-D][F-d][f-0xFF]"]
-682 -> 706 [label="[E][e]"]
-683 -> 128 [label="[0x00-C][E-c][e-0xFF]"]
-683 -> 708 [label="[D][d]"]
-684 -> 128 [label="[0x00-N][P-n][p-0xFF]"]
-684 -> 710 [label="[O][o]"]
-685 -> 128 [label="[0x00-^][`-0xFF]"]
-685 -> 711 [label="[_]"]
-686 -> 687 [label="[0x00-/][:-@][[-^][`][{-~]"]
-686 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-687 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1731"]
-688 -> 128 [label="[0x00-N][P-n][p-0xFF]"]
-688 -> 713 [label="[O][o]"]
-689 -> 128 [label="[0x00-N][P-n][p-0xFF]"]
-689 -> 714 [label="[O][o]"]
-690 -> 691 [label="[0x00-/][:-@][[-^][`][{-~]"]
-690 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-691 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1727"]
-692 -> 128 [label="[0x00-^][`-0xFF]"]
-692 -> 715 [label="[_]"]
-693 -> 128 [label="[0x00-@][B-`][b-0xFF]"]
-693 -> 716 [label="[A][a]"]
-694 -> 128 [label="[0x00-^][`-0xFF]"]
-694 -> 717 [label="[_]"]
-695 -> 128 [label="[0x00-D][F-d][f-0xFF]"]
-695 -> 719 [label="[E][e]"]
-696 -> 128 [label="[0x00-G][I-g][i-0xFF]"]
-696 -> 721 [label="[H][h]"]
-697 -> 698 [label="[0x00-/][:-@][[-^][`][{-~]"]
-697 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-698 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1206"]
-699 -> 128 [label="[0x00-R][T-r][t-0xFF]"]
-699 -> 723 [label="[S][s]"]
-700 -> 128 [label="[0x00-M][O-m][o-0xFF]"]
-700 -> 725 [label="[N][n]"]
-701 -> 128 [label="[0x00-E][G-e][g-0xFF]"]
-701 -> 726 [label="[F][f]"]
-702 -> 703 [label="[0x00-/][:-@][[-^][`][{-~]"]
-702 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-703 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1368"]
-704 -> 705 [label="[0x00-/][:-@][[-^][`][{-~]"]
-704 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-705 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1242"]
-706 -> 707 [label="[0x00-/][:-@][[-^][`][{-~]"]
-706 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-707 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1360"]
-708 -> 709 [label="[0x00-/][:-@][[-^][`][{-~]"]
-708 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-709 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1404"]
-710 -> 128 [label="[0x00-M][O-m][o-0xFF]"]
-710 -> 728 [label="[N][n]"]
-711 -> 712 [label="[0x00-/][:-@][[-^][`][{-~]"]
-711 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-712 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1711"]
-713 -> 128 [label="[0x00-M][O-m][o-0xFF]"]
-713 -> 729 [label="[N][n]"]
-714 -> 128 [label="[0x00-L][N-l][n-0xFF]"]
-714 -> 730 [label="[M][m]"]
-715 -> 128 [label="[0x00-^][`-0xFF]"]
-715 -> 731 [label="[_]"]
-716 -> 128 [label="[0x00-B][D-b][d-0xFF]"]
-716 -> 733 [label="[C][c]"]
-717 -> 718 [label="[0x00-/][:-@][[-^][`][{-~]"]
-717 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-718 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1715"]
-719 -> 720 [label="[0x00-/][:-@][[-^][`][{-~]"]
-719 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-720 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1190"]
-721 -> 722 [label="[0x00-/][:-@][[-^][`][{-~]"]
-721 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-722 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1182"]
-723 -> 724 [label="[0x00-/][:-@][[-^][`][{-~]"]
-723 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-724 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1254"]
-725 -> 128 [label="[0x00-B][D-b][d-0xFF]"]
-725 -> 734 [label="[C][c]"]
-726 -> 727 [label="[0x00-/][:-@][[-^][`][{-~]"]
-726 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-727 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1194"]
-728 -> 128 [label="[0x00-B][D-b][d-0xFF]"]
-728 -> 735 [label="[C][c]"]
-729 -> 128 [label="[0x00-^][`-0xFF]"]
-729 -> 736 [label="[_]"]
-730 -> 128 [label="[0x00-O][Q-o][q-0xFF]"]
-730 -> 737 [label="[P][p]"]
-731 -> 732 [label="[0x00-/][:-@][[-^][`][{-~]"]
-731 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-732 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1723"]
-733 -> 128 [label="[0x00-D][F-d][f-0xFF]"]
-733 -> 738 [label="[E][e]"]
-734 -> 128 [label="[0x00-D][F-d][f-0xFF]"]
-734 -> 739 [label="[E][e]"]
-735 -> 128 [label="[0x00-D][F-d][f-0xFF]"]
-735 -> 741 [label="[E][e]"]
-736 -> 128 [label="[0x00-^][`-0xFF]"]
-736 -> 743 [label="[_]"]
-737 -> 128 [label="[0x00-H][J-h][j-0xFF]"]
-737 -> 745 [label="[I][i]"]
-738 -> 128 [label="[0x00-^][`-0xFF]"]
-738 -> 746 [label="[_]"]
-739 -> 740 [label="[0x00-/][:-@][[-^][`][{-~]"]
-739 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-740 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1348"]
-741 -> 742 [label="[0x00-/][:-@][[-^][`][{-~]"]
-741 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-742 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1356"]
-743 -> 744 [label="[0x00-/][:-@][[-^][`][{-~]"]
-743 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-744 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1719"]
-745 -> 128 [label="[0x00-K][M-k][m-0xFF]"]
-745 -> 747 [label="[L][l]"]
-746 -> 128 [label="[0x00-^][`-0xFF]"]
-746 -> 748 [label="[_]"]
-747 -> 128 [label="[0x00-D][F-d][f-0xFF]"]
-747 -> 750 [label="[E][e]"]
-748 -> 749 [label="[0x00-/][:-@][[-^][`][{-~]"]
-748 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-749 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1739"]
-750 -> 128 [label="[0x00-Q][S-q][s-0xFF]"]
-750 -> 751 [label="[R][r]"]
-751 -> 752 [label="[0x00-/][:-@][[-^][`][{-~]"]
-751 -> 127 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-752 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1384"]
-/* *********************************** */
-ST_LOOKING_FOR_PROPERTY -> 754
-754 -> 755 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!-,][.-@][[-^][`][{-~]"]
-754 -> 757 [label="[0x09-0x0A][0x0D][ ]"]
-754 -> 760 [label="[-]"]
-754 -> 761 [label="[A-Z][_][a-z][0x7F-0xFF]"]
-755 -> 756
-756 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1278"]
-757 -> 758
-758 -> 759 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!-0xFF]"]
-758 -> 757 [label="[0x09-0x0A][0x0D][ ]"]
-759 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1263"]
-760 -> 756 [label="[0x00-=][?-0xFF]"]
-760 -> 764 [label="[>]"]
-761 -> 762
-762 -> 763 [label="[0x00-/][:-@][[-^][`][{-~]"]
-762 -> 761 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-763 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1272"]
-764 -> 765
-765 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1268"]
-/* *********************************** */
-ST_LOOKING_FOR_VARNAME -> 767
-767 -> 768 [label="[0x00-@][[-^][`][{-~]"]
-767 -> 770 [label="[A-Z][_][a-z][0x7F-0xFF]"]
-768 -> 769
-769 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1579"]
-770 -> 769 [label="[0x00-/][:-@][\\-^][`][{-|][~]"]
-770 -> 772 [label="[0-9][A-[][_][a-z][}][0x7F-0xFF]"]
-771 -> 772
-772 -> 773 [label="[0x00-/][:-@][\\-^][`][{-|][~]"]
-772 -> 771 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-772 -> 774 [label="[[][}]"]
-773 -> 769
+665 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1739"]
+666 -> 44 [label="[0x00-Q][S-q][s-0xFF]"]
+666 -> 667 [label="[R][r]"]
+667 -> 43 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+667 -> 668 [label="[0x00-/][:-@][[-^][`][{-~]"]
+668 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1384"]
+ST_LOOKING_FOR_PROPERTY -> 670
+670 -> 677 [label="[A-Z][_][a-z][0x7F-0xFF]"]
+670 -> 671 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!-,][.-@][[-^][`][{-~]"]
+670 -> 673 [label="[0x09-0x0A][0x0D][ ]"]
+670 -> 676 [label="[-]"]
+671 -> 672
+672 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1278"]
+673 -> 674
+674 -> 675 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!-0xFF]"]
+674 -> 673 [label="[0x09-0x0A][0x0D][ ]"]
+675 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1263"]
+676 -> 672 [label="[0x00-=][?-0xFF]"]
+676 -> 680 [label="[>]"]
+677 -> 678
+678 -> 677 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+678 -> 679 [label="[0x00-/][:-@][[-^][`][{-~]"]
+679 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1272"]
+680 -> 681
+681 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1268"]
+ST_BACKQUOTE -> 683
+683 -> 684 [label="[0x00-#][%-_][a-z][|-0xFF]"]
+683 -> 686 [label="[$]"]
+683 -> 687 [label="[`]"]
+683 -> 689 [label="[{]"]
+684 -> 685
+685 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:2176"]
+686 -> 690 [label="[A-Z][_][a-z][0x7F-0xFF]"]
+686 -> 685 [label="[0x00-@][[-^][`][|-~]"]
+686 -> 693 [label="[{]"]
+687 -> 688
+688 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:2120"]
+689 -> 685 [label="[0x00-#][%-0xFF]"]
+689 -> 695 [label="[$]"]
+690 -> 691
+691 -> 690 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+691 -> 692 [label="[0x00-,][.-/][:-@][\\-^][`][{-~]"]
+691 -> 697 [label="[-]"]
+691 -> 699 [label="[[]"]
+692 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1831"]
+693 -> 694
+694 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1555"]
+695 -> 696
+696 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:2107"]
+697 -> 698 [label="[0x00-=][?-0xFF]"]
+697 -> 701 [label="[>]"]
+698 -> 692 [label="yyaccept=0"]
+699 -> 700
+700 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1824"]
+701 -> 702 [label="[A-Z][_][a-z][0x7F-0xFF]"]
+701 -> 698 [label="[0x00-@][[-^][`][{-~]"]
+702 -> 703
+703 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1815"]
+ST_DOUBLE_QUOTES -> 705
+705 -> 706 [label="[0x00-!][#][%-z][|-0xFF]"]
+705 -> 708 [label="[\"]"]
+705 -> 710 [label="[$]"]
+705 -> 711 [label="[{]"]
+706 -> 707
+707 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:2126"]
+708 -> 709
+709 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:2115"]
+710 -> 712 [label="[A-Z][_][a-z][0x7F-0xFF]"]
+710 -> 707 [label="[0x00-@][[-^][`][|-~]"]
+710 -> 715 [label="[{]"]
+711 -> 707 [label="[0x00-#][%-0xFF]"]
+711 -> 717 [label="[$]"]
+712 -> 713
+713 -> 712 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+713 -> 714 [label="[0x00-,][.-/][:-@][\\-^][`][{-~]"]
+713 -> 719 [label="[-]"]
+713 -> 721 [label="[[]"]
+714 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1831"]
+715 -> 716
+716 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1555"]
+717 -> 718
+718 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:2107"]
+719 -> 720 [label="[0x00-=][?-0xFF]"]
+719 -> 723 [label="[>]"]
+720 -> 714 [label="yyaccept=0"]
+721 -> 722
+722 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1824"]
+723 -> 724 [label="[A-Z][_][a-z][0x7F-0xFF]"]
+723 -> 720 [label="[0x00-@][[-^][`][{-~]"]
+724 -> 725
+725 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1815"]
+ST_HEREDOC -> 727
+727 -> 728 [label="[0x00-#][%-z][|-0xFF]"]
+727 -> 730 [label="[$]"]
+727 -> 731 [label="[{]"]
+728 -> 729
+729 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:2218"]
+730 -> 732 [label="[A-Z][_][a-z][0x7F-0xFF]"]
+730 -> 729 [label="[0x00-@][[-^][`][|-~]"]
+730 -> 735 [label="[{]"]
+731 -> 729 [label="[0x00-#][%-0xFF]"]
+731 -> 737 [label="[$]"]
+732 -> 733
+733 -> 732 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+733 -> 734 [label="[0x00-,][.-/][:-@][\\-^][`][{-~]"]
+733 -> 739 [label="[-]"]
+733 -> 741 [label="[[]"]
+734 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1831"]
+735 -> 736
+736 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1555"]
+737 -> 738
+738 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:2107"]
+739 -> 740 [label="[0x00-=][?-0xFF]"]
+739 -> 743 [label="[>]"]
+740 -> 734 [label="yyaccept=0"]
+741 -> 742
+742 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1824"]
+743 -> 744 [label="[A-Z][_][a-z][0x7F-0xFF]"]
+743 -> 740 [label="[0x00-@][[-^][`][{-~]"]
+744 -> 745
+745 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1815"]
+ST_LOOKING_FOR_VARNAME -> 747
+747 -> 750 [label="[A-Z][_][a-z][0x7F-0xFF]"]
+747 -> 748 [label="[0x00-@][[-^][`][{-~]"]
+748 -> 749
+749 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1579"]
+750 -> 752 [label="[0-9][A-[][_][a-z][}][0x7F-0xFF]"]
+750 -> 749 [label="[0x00-/][:-@][\\-^][`][{-|][~]"]
+751 -> 752
+752 -> 751 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+752 -> 753 [label="[0x00-/][:-@][\\-^][`][{-|][~]"]
+752 -> 754 [label="[[][}]"]
+753 -> 749 [label="yyaccept=0"]
+754 -> 755
+755 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1570"]
+ST_VAR_OFFSET -> 757
+757 -> 769 [label="[A-Z][_][a-z][0x7F-0xFF]"]
+757 -> 758 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F]"]
+757 -> 760 [label="[0x09-0x0A][0x0D][ ][#]['][\\]"]
+757 -> 762 [label="[!-\"][%-&][(-/][:-@][[][^][`][{-~]"]
+757 -> 764 [label="[$]"]
+757 -> 765 [label="[0]"]
+757 -> 767 [label="[1-9]"]
+757 -> 772 [label="[0x5D]"]
+758 -> 759
+759 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:2349"]
+760 -> 761
+761 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1846"]
+762 -> 763
+763 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1841"]
+764 -> 774 [label="[A-Z][_][a-z][0x7F-0xFF]"]
+764 -> 763 [label="[0x00-@][[-^][`][{-~]"]
+765 -> 766 [label="[0x00-/][:-A][C-W][Y-a][c-w][y-0xFF]"]
+765 -> 777 [label="[0-9]"]
+765 -> 780 [label="[B][b]"]
+765 -> 782 [label="[X][x]"]
+766 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1681"]
+767 -> 768
+768 -> 766 [label="[0x00-/][:-0xFF]"]
+768 -> 767 [label="[0-9]"]
+769 -> 770
+770 -> 769 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+770 -> 771 [label="[0x00-/][:-@][[-^][`][{-~]"]
+771 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1854"]
+772 -> 773
+773 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1836"]
774 -> 775
-775 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1570"]
-/* *********************************** */
-ST_NOWDOC -> 777
+775 -> 774 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
+775 -> 776 [label="[0x00-/][:-@][[-^][`][{-~]"]
+776 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1831"]
777 -> 778
-778 -> 779
-779 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:2292"]
-/* *********************************** */
-ST_VAR_OFFSET -> 781
-781 -> 782 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F]"]
-781 -> 784 [label="[0x09-0x0A][0x0D][ ][#]['][\\]"]
-781 -> 786 [label="[!-\"][%-&][(-/][:-@][[][^][`][{-~]"]
-781 -> 788 [label="[$]"]
-781 -> 789 [label="[0]"]
-781 -> 791 [label="[1-9]"]
-781 -> 793 [label="[A-Z][_][a-z][0x7F-0xFF]"]
-781 -> 796 [label="[0x5D]"]
-782 -> 783
-783 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:2349"]
-784 -> 785
-785 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1846"]
-786 -> 787
-787 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1841"]
-788 -> 787 [label="[0x00-@][[-^][`][{-~]"]
-788 -> 798 [label="[A-Z][_][a-z][0x7F-0xFF]"]
-789 -> 790 [label="[0x00-/][:-A][C-W][Y-a][c-w][y-0xFF]"]
-789 -> 801 [label="[0-9]"]
-789 -> 804 [label="[B][b]"]
-789 -> 806 [label="[X][x]"]
-790 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1681"]
-791 -> 792
-792 -> 790 [label="[0x00-/][:-0xFF]"]
-792 -> 791 [label="[0-9]"]
-793 -> 794
-794 -> 795 [label="[0x00-/][:-@][[-^][`][{-~]"]
-794 -> 793 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-795 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1854"]
-796 -> 797
-797 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1836"]
-798 -> 799
-799 -> 800 [label="[0x00-/][:-@][[-^][`][{-~]"]
-799 -> 798 [label="[0-9][A-Z][_][a-z][0x7F-0xFF]"]
-800 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1831"]
-801 -> 802
-802 -> 803 [label="[0x00-/][:-0xFF]"]
-802 -> 801 [label="[0-9]"]
-803 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1697"]
-804 -> 805 [label="[0x00-/][2-0xFF]"]
-804 -> 807 [label="[0-1]"]
-805 -> 790
-806 -> 805 [label="[0x00-/][:-@][G-`][g-0xFF]"]
-806 -> 809 [label="[0-9][A-F][a-f]"]
-807 -> 808
-808 -> 803 [label="[0x00-/][2-0xFF]"]
-808 -> 807 [label="[0-1]"]
+778 -> 779 [label="[0x00-/][:-0xFF]"]
+778 -> 777 [label="[0-9]"]
+779 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1697"]
+780 -> 781 [label="[0x00-/][2-0xFF]"]
+780 -> 783 [label="[0-1]"]
+781 -> 766 [label="yyaccept=0"]
+782 -> 781 [label="[0x00-/][:-@][G-`][g-0xFF]"]
+782 -> 785 [label="[0-9][A-F][a-f]"]
+783 -> 784
+784 -> 779 [label="[0x00-/][2-0xFF]"]
+784 -> 783 [label="[0-1]"]
+785 -> 786
+786 -> 779 [label="[0x00-/][:-@][G-`][g-0xFF]"]
+786 -> 785 [label="[0-9][A-F][a-f]"]
+INITIAL -> 788
+788 -> 789 [label="[0x00-;][=-0xFF]"]
+788 -> 791 [label="[<]"]
+789 -> 790
+790 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1766"]
+791 -> 790 [label="[0x00->][@-0xFF]"]
+791 -> 792 [label="[?]"]
+792 -> 793 [label="[0x00-<][>-O][Q-o][q-0xFF]"]
+792 -> 794 [label="[=]"]
+792 -> 796 [label="[P][p]"]
+793 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1757"]
+794 -> 795
+795 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1744"]
+796 -> 797 [label="[0x00-G][I-g][i-0xFF]"]
+796 -> 798 [label="[H][h]"]
+797 -> 793 [label="yyaccept=0"]
+798 -> 797 [label="[0x00-O][Q-o][q-0xFF]"]
+798 -> 799 [label="[P][p]"]
+799 -> 797 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!-0xFF]"]
+799 -> 800 [label="[0x09-0x0A][ ]"]
+799 -> 802 [label="[0x0D]"]
+800 -> 801
+801 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:1750"]
+802 -> 801 [label="[0x00-0x09][0x0B-0xFF]"]
+802 -> 800 [label="[0x0A]"]
+ST_END_HEREDOC -> 804
+804 -> 805
+805 -> 806
+806 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:2093"]
+ST_NOWDOC -> 808
+808 -> 809
809 -> 810
-810 -> 803 [label="[0x00-/][:-@][G-`][g-0xFF]"]
-810 -> 809 [label="[0-9][A-F][a-f]"]
+810 [label="php20150211_zend_language_scanner.c--emit-dot--flex-syntax--case-inverted.re:2292"]
}
re2c: warning: line 1095: column 12: escape has no effect: '\[' [-Wuseless-escape]
re2c: warning: line 1476: column 19: escape has no effect: '\*' [-Wuseless-escape]
diff --git a/test/php20150211_zend_language_scanner.igcd--flex-syntax--case-inverted.c b/test/php20150211_zend_language_scanner.igcd--flex-syntax--case-inverted.c
index 159c4c4d..0ba4eb42 100644
--- a/test/php20150211_zend_language_scanner.igcd--flex-syntax--case-inverted.c
+++ b/test/php20150211_zend_language_scanner.igcd--flex-syntax--case-inverted.c
@@ -74,6 +74,7 @@
/* perform sanity check. If this message is triggered you should
increase the ZEND_MMAP_AHEAD value in the zend_streams.h file */
#define YYMAXFILL 16
+
#if ZEND_MMAP_AHEAD < YYMAXFILL
# error ZEND_MMAP_AHEAD should be greater than or equal to YYMAXFILL
#endif
@@ -1101,862 +1102,6 @@ restart:
};
goto *yyctable[YYGETCONDITION()];
/* *********************************** */
-yyc_INITIAL:
- YYDEBUG(1, *YYCURSOR);
- YYFILL(7);
- yych = *YYCURSOR;
- if (yych == '<') goto yy5;
- YYDEBUG(3, *YYCURSOR);
- ++YYCURSOR;
-yy4:
- YYDEBUG(4, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- if (YYCURSOR > YYLIMIT) {
- return 0;
- }
-
-inline_char_handler:
-
- while (1) {
- YYCTYPE *ptr = memchr(YYCURSOR, '<', YYLIMIT - YYCURSOR);
-
- YYCURSOR = ptr ? ptr + 1 : YYLIMIT;
-
- if (YYCURSOR >= YYLIMIT) {
- break;
- }
-
- if (*YYCURSOR == '?') {
- if (CG(short_tags) || !strncasecmp((char*)YYCURSOR + 1, "php", 3) || (*(YYCURSOR + 1) == '=')) { /* Assume [ \t\n\r] follows "php" */
-
- YYCURSOR--;
- break;
- }
- }
- }
-
- yyleng = YYCURSOR - SCNG(yy_text);
-
- if (SCNG(output_filter)) {
- size_t readsize;
- char *s = NULL;
- size_t sz = 0;
- // TODO: avoid reallocation ???
- readsize = SCNG(output_filter)((unsigned char **)&s, &sz, (unsigned char *)yytext, (size_t)yyleng);
- ZVAL_STRINGL(zendlval, s, sz);
- efree(s);
- if (readsize < yyleng) {
- yyless(readsize);
- }
- } else {
- ZVAL_STRINGL(zendlval, yytext, yyleng);
- }
- HANDLE_NEWLINES(yytext, yyleng);
- return T_INLINE_HTML;
-}
-yy5:
- YYDEBUG(5, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych != '?') goto yy4;
- YYDEBUG(6, *YYCURSOR);
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 'O') {
- if (yych == '=') goto yy8;
- } else {
- if (yych <= 'P') goto yy10;
- if (yych == 'p') goto yy10;
- }
-yy7:
- YYDEBUG(7, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- if (CG(short_tags)) {
- BEGIN(ST_IN_SCRIPTING);
- return T_OPEN_TAG;
- } else {
- goto inline_char_handler;
- }
-}
-yy8:
- YYDEBUG(8, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(9, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- BEGIN(ST_IN_SCRIPTING);
- return T_OPEN_TAG_WITH_ECHO;
-}
-yy10:
- YYDEBUG(10, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'H') goto yy12;
- if (yych == 'h') goto yy12;
-yy11:
- YYDEBUG(11, *YYCURSOR);
- YYCURSOR = YYMARKER;
- goto yy7;
-yy12:
- YYDEBUG(12, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'P') goto yy13;
- if (yych != 'p') goto yy11;
-yy13:
- YYDEBUG(13, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= '\f') {
- if (yych <= 0x08) goto yy11;
- if (yych >= '\v') goto yy11;
- } else {
- if (yych <= '\r') goto yy16;
- if (yych != ' ') goto yy11;
- }
-yy14:
- YYDEBUG(14, *YYCURSOR);
- ++YYCURSOR;
-yy15:
- YYDEBUG(15, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- HANDLE_NEWLINE(yytext[yyleng-1]);
- BEGIN(ST_IN_SCRIPTING);
- return T_OPEN_TAG;
-}
-yy16:
- YYDEBUG(16, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '\n') goto yy14;
- goto yy15;
-/* *********************************** */
-yyc_ST_BACKQUOTE:
- {
- static const unsigned char yybm[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 0, 0, 0, 0, 0, 0,
- 0, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 0, 0, 0, 0, 128,
- 0, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 0, 0, 0, 0, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- };
- YYDEBUG(17, *YYCURSOR);
- YYFILL(2);
- yych = *YYCURSOR;
- if (yych <= '_') {
- if (yych == '$') goto yy21;
- } else {
- if (yych <= '`') goto yy22;
- if (yych == '{') goto yy24;
- }
- YYDEBUG(19, *YYCURSOR);
- ++YYCURSOR;
-yy20:
- YYDEBUG(20, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- if (YYCURSOR > YYLIMIT) {
- return 0;
- }
- if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
- YYCURSOR++;
- }
-
- while (YYCURSOR < YYLIMIT) {
- switch (*YYCURSOR++) {
- case '`':
- break;
- case '$':
- if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
- break;
- }
- continue;
- case '{':
- if (*YYCURSOR == '$') {
- break;
- }
- continue;
- case '\\':
- if (YYCURSOR < YYLIMIT) {
- YYCURSOR++;
- }
- /* fall through */
- default:
- continue;
- }
-
- YYCURSOR--;
- break;
- }
-
- yyleng = YYCURSOR - SCNG(yy_text);
-
- zend_scan_escape_string(zendlval, yytext, yyleng, '`');
- return T_ENCAPSED_AND_WHITESPACE;
-}
-yy21:
- YYDEBUG(21, *YYCURSOR);
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy20, &&yy20, &&yy20, &&yy20, &&yy20, &&yy20, &&yy20, &&yy20,
- &&yy20, &&yy20, &&yy20, &&yy20, &&yy20, &&yy20, &&yy20, &&yy20,
- &&yy20, &&yy20, &&yy20, &&yy20, &&yy20, &&yy20, &&yy20, &&yy20,
- &&yy20, &&yy20, &&yy20, &&yy20, &&yy20, &&yy20, &&yy20, &&yy20,
- &&yy20, &&yy20, &&yy20, &&yy20, &&yy20, &&yy20, &&yy20, &&yy20,
- &&yy20, &&yy20, &&yy20, &&yy20, &&yy20, &&yy20, &&yy20, &&yy20,
- &&yy20, &&yy20, &&yy20, &&yy20, &&yy20, &&yy20, &&yy20, &&yy20,
- &&yy20, &&yy20, &&yy20, &&yy20, &&yy20, &&yy20, &&yy20, &&yy20,
- &&yy20, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25,
- &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25,
- &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25,
- &&yy25, &&yy25, &&yy25, &&yy20, &&yy20, &&yy20, &&yy20, &&yy25,
- &&yy20, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25,
- &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25,
- &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25,
- &&yy25, &&yy25, &&yy25, &&yy28, &&yy20, &&yy20, &&yy20, &&yy25,
- &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25,
- &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25,
- &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25,
- &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25,
- &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25,
- &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25,
- &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25,
- &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25,
- &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25,
- &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25,
- &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25,
- &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25,
- &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25,
- &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25,
- &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25,
- &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25, &&yy25
- };
- goto *yytarget[yych];
- }
-yy22:
- YYDEBUG(22, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(23, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- BEGIN(ST_IN_SCRIPTING);
- return '`';
-}
-yy24:
- YYDEBUG(24, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '$') goto yy30;
- goto yy20;
-yy25:
- YYDEBUG(25, *YYCURSOR);
- YYMARKER = ++YYCURSOR;
- YYFILL(3);
- yych = *YYCURSOR;
- YYDEBUG(26, *YYCURSOR);
- if (yybm[0+yych] & 128) {
- goto yy25;
- }
- if (yych == '-') goto yy32;
- if (yych <= '@') goto yy27;
- if (yych <= '[') goto yy34;
-yy27:
- YYDEBUG(27, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- return T_VARIABLE;
-}
-yy28:
- YYDEBUG(28, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(29, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- yy_push_state(ST_LOOKING_FOR_VARNAME);
- return T_DOLLAR_OPEN_CURLY_BRACES;
-}
-yy30:
- YYDEBUG(30, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(31, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- Z_LVAL_P(zendlval) = (zend_long) '{';
- yy_push_state(ST_IN_SCRIPTING);
- yyless(1);
- return T_CURLY_OPEN;
-}
-yy32:
- YYDEBUG(32, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '>') goto yy36;
-yy33:
- YYDEBUG(33, *YYCURSOR);
- YYCURSOR = YYMARKER;
- goto yy27;
-yy34:
- YYDEBUG(34, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(35, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- yyless(yyleng - 1);
- yy_push_state(ST_VAR_OFFSET);
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- return T_VARIABLE;
-}
-yy36:
- YYDEBUG(36, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= '_') {
- if (yych <= '@') goto yy33;
- if (yych <= 'Z') goto yy37;
- if (yych <= '^') goto yy33;
- } else {
- if (yych <= '`') goto yy33;
- if (yych <= 'z') goto yy37;
- if (yych <= '~') goto yy33;
- }
-yy37:
- YYDEBUG(37, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(38, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- yyless(yyleng - 3);
- yy_push_state(ST_LOOKING_FOR_PROPERTY);
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- return T_VARIABLE;
-}
- }
-/* *********************************** */
-yyc_ST_DOUBLE_QUOTES:
- {
- static const unsigned char yybm[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 0, 0, 0, 0, 0, 0,
- 0, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 0, 0, 0, 0, 128,
- 0, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 0, 0, 0, 0, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- };
- YYDEBUG(39, *YYCURSOR);
- YYFILL(2);
- yych = *YYCURSOR;
- if (yych <= '#') {
- if (yych == '"') goto yy43;
- } else {
- if (yych <= '$') goto yy45;
- if (yych == '{') goto yy46;
- }
- YYDEBUG(41, *YYCURSOR);
- ++YYCURSOR;
-yy42:
- YYDEBUG(42, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {
- YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;
- SET_DOUBLE_QUOTES_SCANNED_LENGTH(0);
-
- goto double_quotes_scan_done;
- }
-
- if (YYCURSOR > YYLIMIT) {
- return 0;
- }
- if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
- YYCURSOR++;
- }
-
- while (YYCURSOR < YYLIMIT) {
- switch (*YYCURSOR++) {
- case '"':
- break;
- case '$':
- if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
- break;
- }
- continue;
- case '{':
- if (*YYCURSOR == '$') {
- break;
- }
- continue;
- case '\\':
- if (YYCURSOR < YYLIMIT) {
- YYCURSOR++;
- }
- /* fall through */
- default:
- continue;
- }
-
- YYCURSOR--;
- break;
- }
-
-double_quotes_scan_done:
- yyleng = YYCURSOR - SCNG(yy_text);
-
- zend_scan_escape_string(zendlval, yytext, yyleng, '"');
- return T_ENCAPSED_AND_WHITESPACE;
-}
-yy43:
- YYDEBUG(43, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(44, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- BEGIN(ST_IN_SCRIPTING);
- return '"';
-}
-yy45:
- YYDEBUG(45, *YYCURSOR);
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy42, &&yy42, &&yy42, &&yy42, &&yy42, &&yy42, &&yy42, &&yy42,
- &&yy42, &&yy42, &&yy42, &&yy42, &&yy42, &&yy42, &&yy42, &&yy42,
- &&yy42, &&yy42, &&yy42, &&yy42, &&yy42, &&yy42, &&yy42, &&yy42,
- &&yy42, &&yy42, &&yy42, &&yy42, &&yy42, &&yy42, &&yy42, &&yy42,
- &&yy42, &&yy42, &&yy42, &&yy42, &&yy42, &&yy42, &&yy42, &&yy42,
- &&yy42, &&yy42, &&yy42, &&yy42, &&yy42, &&yy42, &&yy42, &&yy42,
- &&yy42, &&yy42, &&yy42, &&yy42, &&yy42, &&yy42, &&yy42, &&yy42,
- &&yy42, &&yy42, &&yy42, &&yy42, &&yy42, &&yy42, &&yy42, &&yy42,
- &&yy42, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47,
- &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47,
- &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47,
- &&yy47, &&yy47, &&yy47, &&yy42, &&yy42, &&yy42, &&yy42, &&yy47,
- &&yy42, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47,
- &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47,
- &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47,
- &&yy47, &&yy47, &&yy47, &&yy50, &&yy42, &&yy42, &&yy42, &&yy47,
- &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47,
- &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47,
- &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47,
- &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47,
- &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47,
- &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47,
- &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47,
- &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47,
- &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47,
- &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47,
- &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47,
- &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47,
- &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47,
- &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47,
- &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47,
- &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47, &&yy47
- };
- goto *yytarget[yych];
- }
-yy46:
- YYDEBUG(46, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '$') goto yy52;
- goto yy42;
-yy47:
- YYDEBUG(47, *YYCURSOR);
- YYMARKER = ++YYCURSOR;
- YYFILL(3);
- yych = *YYCURSOR;
- YYDEBUG(48, *YYCURSOR);
- if (yybm[0+yych] & 128) {
- goto yy47;
- }
- if (yych == '-') goto yy54;
- if (yych <= '@') goto yy49;
- if (yych <= '[') goto yy56;
-yy49:
- YYDEBUG(49, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- return T_VARIABLE;
-}
-yy50:
- YYDEBUG(50, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(51, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- yy_push_state(ST_LOOKING_FOR_VARNAME);
- return T_DOLLAR_OPEN_CURLY_BRACES;
-}
-yy52:
- YYDEBUG(52, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(53, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- Z_LVAL_P(zendlval) = (zend_long) '{';
- yy_push_state(ST_IN_SCRIPTING);
- yyless(1);
- return T_CURLY_OPEN;
-}
-yy54:
- YYDEBUG(54, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '>') goto yy58;
-yy55:
- YYDEBUG(55, *YYCURSOR);
- YYCURSOR = YYMARKER;
- goto yy49;
-yy56:
- YYDEBUG(56, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(57, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- yyless(yyleng - 1);
- yy_push_state(ST_VAR_OFFSET);
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- return T_VARIABLE;
-}
-yy58:
- YYDEBUG(58, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= '_') {
- if (yych <= '@') goto yy55;
- if (yych <= 'Z') goto yy59;
- if (yych <= '^') goto yy55;
- } else {
- if (yych <= '`') goto yy55;
- if (yych <= 'z') goto yy59;
- if (yych <= '~') goto yy55;
- }
-yy59:
- YYDEBUG(59, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(60, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- yyless(yyleng - 3);
- yy_push_state(ST_LOOKING_FOR_PROPERTY);
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- return T_VARIABLE;
-}
- }
-/* *********************************** */
-yyc_ST_END_HEREDOC:
- YYDEBUG(61, *YYCURSOR);
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(63, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(64, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack));
-
- YYCURSOR += heredoc_label->length - 1;
- yyleng = heredoc_label->length;
-
- heredoc_label_dtor(heredoc_label);
- efree(heredoc_label);
-
- BEGIN(ST_IN_SCRIPTING);
- return T_END_HEREDOC;
-}
-/* *********************************** */
-yyc_ST_HEREDOC:
- {
- static const unsigned char yybm[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 0, 0, 0, 0, 0, 0,
- 0, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 0, 0, 0, 0, 128,
- 0, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 0, 0, 0, 0, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- };
- YYDEBUG(65, *YYCURSOR);
- YYFILL(2);
- yych = *YYCURSOR;
- if (yych == '$') goto yy69;
- if (yych == '{') goto yy70;
- YYDEBUG(67, *YYCURSOR);
- ++YYCURSOR;
-yy68:
- YYDEBUG(68, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- int newline = 0;
-
- zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
-
- if (YYCURSOR > YYLIMIT) {
- return 0;
- }
-
- YYCURSOR--;
-
- while (YYCURSOR < YYLIMIT) {
- switch (*YYCURSOR++) {
- case '\r':
- if (*YYCURSOR == '\n') {
- YYCURSOR++;
- }
- /* fall through */
- case '\n':
- /* Check for ending label on the next line */
- if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
- YYCTYPE *end = YYCURSOR + heredoc_label->length;
-
- if (*end == ';') {
- end++;
- }
-
- if (*end == '\n' || *end == '\r') {
- /* newline before label will be subtracted from returned text, but
- * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
- if (YYCURSOR[-2] == '\r' && YYCURSOR[-1] == '\n') {
- newline = 2; /* Windows newline */
- } else {
- newline = 1;
- }
-
- CG(increment_lineno) = 1; /* For newline before label */
- BEGIN(ST_END_HEREDOC);
-
- goto heredoc_scan_done;
- }
- }
- continue;
- case '$':
- if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
- break;
- }
- continue;
- case '{':
- if (*YYCURSOR == '$') {
- break;
- }
- continue;
- case '\\':
- if (YYCURSOR < YYLIMIT && *YYCURSOR != '\n' && *YYCURSOR != '\r') {
- YYCURSOR++;
- }
- /* fall through */
- default:
- continue;
- }
-
- YYCURSOR--;
- break;
- }
-
-heredoc_scan_done:
- yyleng = YYCURSOR - SCNG(yy_text);
-
- zend_scan_escape_string(zendlval, yytext, yyleng - newline, 0);
- return T_ENCAPSED_AND_WHITESPACE;
-}
-yy69:
- YYDEBUG(69, *YYCURSOR);
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy68, &&yy68, &&yy68, &&yy68, &&yy68, &&yy68, &&yy68, &&yy68,
- &&yy68, &&yy68, &&yy68, &&yy68, &&yy68, &&yy68, &&yy68, &&yy68,
- &&yy68, &&yy68, &&yy68, &&yy68, &&yy68, &&yy68, &&yy68, &&yy68,
- &&yy68, &&yy68, &&yy68, &&yy68, &&yy68, &&yy68, &&yy68, &&yy68,
- &&yy68, &&yy68, &&yy68, &&yy68, &&yy68, &&yy68, &&yy68, &&yy68,
- &&yy68, &&yy68, &&yy68, &&yy68, &&yy68, &&yy68, &&yy68, &&yy68,
- &&yy68, &&yy68, &&yy68, &&yy68, &&yy68, &&yy68, &&yy68, &&yy68,
- &&yy68, &&yy68, &&yy68, &&yy68, &&yy68, &&yy68, &&yy68, &&yy68,
- &&yy68, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
- &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
- &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
- &&yy71, &&yy71, &&yy71, &&yy68, &&yy68, &&yy68, &&yy68, &&yy71,
- &&yy68, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
- &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
- &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
- &&yy71, &&yy71, &&yy71, &&yy74, &&yy68, &&yy68, &&yy68, &&yy71,
- &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
- &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
- &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
- &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
- &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
- &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
- &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
- &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
- &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
- &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
- &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
- &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
- &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
- &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
- &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
- &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71
- };
- goto *yytarget[yych];
- }
-yy70:
- YYDEBUG(70, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '$') goto yy76;
- goto yy68;
-yy71:
- YYDEBUG(71, *YYCURSOR);
- YYMARKER = ++YYCURSOR;
- YYFILL(3);
- yych = *YYCURSOR;
- YYDEBUG(72, *YYCURSOR);
- if (yybm[0+yych] & 128) {
- goto yy71;
- }
- if (yych == '-') goto yy78;
- if (yych <= '@') goto yy73;
- if (yych <= '[') goto yy80;
-yy73:
- YYDEBUG(73, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- return T_VARIABLE;
-}
-yy74:
- YYDEBUG(74, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(75, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- yy_push_state(ST_LOOKING_FOR_VARNAME);
- return T_DOLLAR_OPEN_CURLY_BRACES;
-}
-yy76:
- YYDEBUG(76, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(77, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- Z_LVAL_P(zendlval) = (zend_long) '{';
- yy_push_state(ST_IN_SCRIPTING);
- yyless(1);
- return T_CURLY_OPEN;
-}
-yy78:
- YYDEBUG(78, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '>') goto yy82;
-yy79:
- YYDEBUG(79, *YYCURSOR);
- YYCURSOR = YYMARKER;
- goto yy73;
-yy80:
- YYDEBUG(80, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(81, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- yyless(yyleng - 1);
- yy_push_state(ST_VAR_OFFSET);
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- return T_VARIABLE;
-}
-yy82:
- YYDEBUG(82, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych <= '_') {
- if (yych <= '@') goto yy79;
- if (yych <= 'Z') goto yy83;
- if (yych <= '^') goto yy79;
- } else {
- if (yych <= '`') goto yy79;
- if (yych <= 'z') goto yy83;
- if (yych <= '~') goto yy79;
- }
-yy83:
- YYDEBUG(83, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(84, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- yyless(yyleng - 3);
- yy_push_state(ST_LOOKING_FOR_PROPERTY);
- zend_copy_value(zendlval, (yytext+1), (yyleng-1));
- return T_VARIABLE;
-}
- }
-/* *********************************** */
yyc_ST_IN_SCRIPTING:
{
static const unsigned char yybm[] = {
@@ -1993,50 +1138,50 @@ yyc_ST_IN_SCRIPTING:
16, 16, 16, 16, 16, 16, 16, 16,
16, 16, 16, 16, 16, 16, 16, 16,
};
- YYDEBUG(85, *YYCURSOR);
+ YYDEBUG(1, *YYCURSOR);
YYFILL(16);
yych = *YYCURSOR;
{
static void *yytarget[256] = {
- &&yy87, &&yy87, &&yy87, &&yy87, &&yy87, &&yy87, &&yy87, &&yy87,
- &&yy87, &&yy89, &&yy89, &&yy87, &&yy87, &&yy89, &&yy87, &&yy87,
- &&yy87, &&yy87, &&yy87, &&yy87, &&yy87, &&yy87, &&yy87, &&yy87,
- &&yy87, &&yy87, &&yy87, &&yy87, &&yy87, &&yy87, &&yy87, &&yy87,
- &&yy89, &&yy92, &&yy94, &&yy96, &&yy98, &&yy99, &&yy100, &&yy101,
- &&yy103, &&yy104, &&yy105, &&yy106, &&yy104, &&yy107, &&yy108, &&yy109,
- &&yy110, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy114, &&yy104, &&yy115, &&yy116, &&yy117, &&yy118,
- &&yy104, &&yy119, &&yy121, &&yy122, &&yy123, &&yy124, &&yy125, &&yy126,
- &&yy127, &&yy129, &&yy127, &&yy127, &&yy130, &&yy127, &&yy131, &&yy132,
- &&yy133, &&yy127, &&yy134, &&yy135, &&yy136, &&yy137, &&yy138, &&yy139,
- &&yy140, &&yy141, &&yy127, &&yy104, &&yy142, &&yy104, &&yy144, &&yy145,
- &&yy146, &&yy119, &&yy121, &&yy122, &&yy123, &&yy124, &&yy125, &&yy126,
- &&yy127, &&yy129, &&yy127, &&yy127, &&yy130, &&yy127, &&yy131, &&yy132,
- &&yy133, &&yy127, &&yy134, &&yy135, &&yy136, &&yy137, &&yy138, &&yy139,
- &&yy140, &&yy141, &&yy127, &&yy148, &&yy150, &&yy151, &&yy104, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy5, &&yy5, &&yy3, &&yy3, &&yy5, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy5, &&yy8, &&yy10, &&yy12, &&yy14, &&yy15, &&yy16, &&yy17,
+ &&yy19, &&yy20, &&yy21, &&yy22, &&yy20, &&yy23, &&yy24, &&yy25,
+ &&yy26, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy30, &&yy20, &&yy31, &&yy32, &&yy33, &&yy34,
+ &&yy20, &&yy35, &&yy37, &&yy38, &&yy39, &&yy40, &&yy41, &&yy42,
+ &&yy43, &&yy45, &&yy43, &&yy43, &&yy46, &&yy43, &&yy47, &&yy48,
+ &&yy49, &&yy43, &&yy50, &&yy51, &&yy52, &&yy53, &&yy54, &&yy55,
+ &&yy56, &&yy57, &&yy43, &&yy20, &&yy58, &&yy20, &&yy60, &&yy61,
+ &&yy62, &&yy35, &&yy37, &&yy38, &&yy39, &&yy40, &&yy41, &&yy42,
+ &&yy43, &&yy45, &&yy43, &&yy43, &&yy46, &&yy43, &&yy47, &&yy48,
+ &&yy49, &&yy43, &&yy50, &&yy51, &&yy52, &&yy53, &&yy54, &&yy55,
+ &&yy56, &&yy57, &&yy43, &&yy64, &&yy66, &&yy67, &&yy20, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43
};
goto *yytarget[yych];
}
-yy87:
- YYDEBUG(87, *YYCURSOR);
+yy3:
+ YYDEBUG(3, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(88, *YYCURSOR);
+ YYDEBUG(4, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
if (YYCURSOR > YYLIMIT) {
@@ -2046,35 +1191,35 @@ yy87:
zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
goto restart;
}
-yy89:
- YYDEBUG(89, *YYCURSOR);
+yy5:
+ YYDEBUG(5, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(90, *YYCURSOR);
+ YYDEBUG(6, *YYCURSOR);
if (yybm[0+yych] & 4) {
- goto yy89;
+ goto yy5;
}
- YYDEBUG(91, *YYCURSOR);
+ YYDEBUG(7, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
HANDLE_NEWLINES(yytext, yyleng);
return T_WHITESPACE;
}
-yy92:
- YYDEBUG(92, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '=') goto yy153;
-yy93:
- YYDEBUG(93, *YYCURSOR);
+yy8:
+ YYDEBUG(8, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '=') goto yy69;
+yy9:
+ YYDEBUG(9, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return yytext[0];
}
-yy94:
- YYDEBUG(94, *YYCURSOR);
+yy10:
+ YYDEBUG(10, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(95, *YYCURSOR);
+ YYDEBUG(11, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
int bprefix = (yytext[0] != '"') ? 1 : 0;
@@ -2116,10 +1261,10 @@ yy94:
BEGIN(ST_DOUBLE_QUOTES);
return '"';
}
-yy96:
- YYDEBUG(96, *YYCURSOR);
+yy12:
+ YYDEBUG(12, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(97, *YYCURSOR);
+ YYDEBUG(13, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
while (YYCURSOR < YYLIMIT) {
@@ -2149,35 +1294,35 @@ yy96:
return T_COMMENT;
}
-yy98:
- YYDEBUG(98, *YYCURSOR);
+yy14:
+ YYDEBUG(14, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= '_') {
- if (yych <= '@') goto yy93;
- if (yych <= 'Z') goto yy155;
- if (yych <= '^') goto yy93;
- goto yy155;
+ if (yych <= '@') goto yy9;
+ if (yych <= 'Z') goto yy71;
+ if (yych <= '^') goto yy9;
+ goto yy71;
} else {
- if (yych <= '`') goto yy93;
- if (yych <= 'z') goto yy155;
- if (yych <= '~') goto yy93;
- goto yy155;
+ if (yych <= '`') goto yy9;
+ if (yych <= 'z') goto yy71;
+ if (yych <= '~') goto yy9;
+ goto yy71;
}
-yy99:
- YYDEBUG(99, *YYCURSOR);
+yy15:
+ YYDEBUG(15, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '=') goto yy158;
- goto yy93;
-yy100:
- YYDEBUG(100, *YYCURSOR);
+ if (yych == '=') goto yy74;
+ goto yy9;
+yy16:
+ YYDEBUG(16, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '&') goto yy160;
- if (yych == '=') goto yy162;
- goto yy93;
-yy101:
- YYDEBUG(101, *YYCURSOR);
+ if (yych == '&') goto yy76;
+ if (yych == '=') goto yy78;
+ goto yy9;
+yy17:
+ YYDEBUG(17, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(102, *YYCURSOR);
+ YYDEBUG(18, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
register char *s, *t;
@@ -2246,140 +1391,140 @@ yy101:
}
return T_CONSTANT_ENCAPSED_STRING;
}
-yy103:
- YYDEBUG(103, *YYCURSOR);
+yy19:
+ YYDEBUG(19, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
{
static void *yytarget[256] = {
- &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93,
- &&yy93, &&yy165, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93,
- &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93,
- &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93,
- &&yy165, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93,
- &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93,
- &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93,
- &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93,
- &&yy93, &&yy165, &&yy165, &&yy93, &&yy165, &&yy93, &&yy165, &&yy93,
- &&yy93, &&yy165, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy165,
- &&yy93, &&yy93, &&yy165, &&yy165, &&yy93, &&yy165, &&yy93, &&yy93,
- &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93,
- &&yy93, &&yy165, &&yy165, &&yy93, &&yy165, &&yy93, &&yy165, &&yy93,
- &&yy93, &&yy165, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy165,
- &&yy93, &&yy93, &&yy165, &&yy165, &&yy93, &&yy165, &&yy93, &&yy93,
- &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93,
- &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93,
- &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93,
- &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93,
- &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93,
- &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93,
- &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93,
- &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93,
- &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93,
- &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93,
- &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93,
- &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93,
- &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93,
- &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93,
- &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93,
- &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93,
- &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93, &&yy93
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy81, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy81, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy81, &&yy81, &&yy9, &&yy81, &&yy9, &&yy81, &&yy9,
+ &&yy9, &&yy81, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy81,
+ &&yy9, &&yy9, &&yy81, &&yy81, &&yy9, &&yy81, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy81, &&yy81, &&yy9, &&yy81, &&yy9, &&yy81, &&yy9,
+ &&yy9, &&yy81, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy81,
+ &&yy9, &&yy9, &&yy81, &&yy81, &&yy9, &&yy81, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9
};
goto *yytarget[yych];
}
-yy104:
- YYDEBUG(104, *YYCURSOR);
- yych = *++YYCURSOR;
- goto yy93;
-yy105:
- YYDEBUG(105, *YYCURSOR);
+yy20:
+ YYDEBUG(20, *YYCURSOR);
+ ++YYCURSOR;
+ goto yy9;
+yy21:
+ YYDEBUG(21, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '*') goto yy176;
- if (yych == '=') goto yy178;
- goto yy93;
-yy106:
- YYDEBUG(106, *YYCURSOR);
+ if (yych == '*') goto yy92;
+ if (yych == '=') goto yy94;
+ goto yy9;
+yy22:
+ YYDEBUG(22, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '+') goto yy180;
- if (yych == '=') goto yy182;
- goto yy93;
-yy107:
- YYDEBUG(107, *YYCURSOR);
+ if (yych == '+') goto yy96;
+ if (yych == '=') goto yy98;
+ goto yy9;
+yy23:
+ YYDEBUG(23, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= '<') {
- if (yych == '-') goto yy184;
- goto yy93;
+ if (yych == '-') goto yy100;
+ goto yy9;
} else {
- if (yych <= '=') goto yy186;
- if (yych <= '>') goto yy188;
- goto yy93;
+ if (yych <= '=') goto yy102;
+ if (yych <= '>') goto yy104;
+ goto yy9;
}
-yy108:
- YYDEBUG(108, *YYCURSOR);
+yy24:
+ YYDEBUG(24, *YYCURSOR);
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '/') {
- if (yych == '.') goto yy190;
- goto yy93;
+ if (yych == '.') goto yy106;
+ goto yy9;
} else {
- if (yych <= '9') goto yy191;
- if (yych == '=') goto yy194;
- goto yy93;
+ if (yych <= '9') goto yy107;
+ if (yych == '=') goto yy110;
+ goto yy9;
}
-yy109:
- YYDEBUG(109, *YYCURSOR);
+yy25:
+ YYDEBUG(25, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= '.') {
- if (yych == '*') goto yy196;
- goto yy93;
+ if (yych == '*') goto yy112;
+ goto yy9;
} else {
- if (yych <= '/') goto yy96;
- if (yych == '=') goto yy198;
- goto yy93;
+ if (yych <= '/') goto yy12;
+ if (yych == '=') goto yy114;
+ goto yy9;
}
-yy110:
- YYDEBUG(110, *YYCURSOR);
+yy26:
+ YYDEBUG(26, *YYCURSOR);
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
{
static void *yytarget[256] = {
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy191, &&yy111,
- &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112, &&yy112,
- &&yy112, &&yy112, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy200, &&yy111, &&yy111, &&yy201, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy202, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy200, &&yy111, &&yy111, &&yy201, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy202, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111,
- &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111, &&yy111
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy116, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy118, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy116, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy118, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29
};
goto *yytarget[yych];
}
-yy111:
- YYDEBUG(111, *YYCURSOR);
+yy27:
+ YYDEBUG(27, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
char *end;
@@ -2419,685 +1564,686 @@ yy111:
}
return T_LNUMBER;
}
-yy112:
- YYDEBUG(112, *YYCURSOR);
+yy28:
+ YYDEBUG(28, *YYCURSOR);
yyaccept = 1;
YYMARKER = ++YYCURSOR;
YYFILL(3);
yych = *YYCURSOR;
- YYDEBUG(113, *YYCURSOR);
+yy29:
+ YYDEBUG(29, *YYCURSOR);
if (yybm[0+yych] & 8) {
- goto yy112;
+ goto yy28;
}
if (yych <= 'D') {
- if (yych == '.') goto yy191;
- goto yy111;
+ if (yych == '.') goto yy107;
+ goto yy27;
} else {
- if (yych <= 'E') goto yy201;
- if (yych == 'e') goto yy201;
- goto yy111;
+ if (yych <= 'E') goto yy117;
+ if (yych == 'e') goto yy117;
+ goto yy27;
}
-yy114:
- YYDEBUG(114, *YYCURSOR);
+yy30:
+ YYDEBUG(30, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == ':') goto yy203;
- goto yy93;
-yy115:
- YYDEBUG(115, *YYCURSOR);
+ if (yych == ':') goto yy119;
+ goto yy9;
+yy31:
+ YYDEBUG(31, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych <= ';') goto yy93;
- if (yych <= '<') goto yy205;
- if (yych <= '=') goto yy207;
- if (yych <= '>') goto yy209;
- goto yy93;
-yy116:
- YYDEBUG(116, *YYCURSOR);
+ if (yych <= ';') goto yy9;
+ if (yych <= '<') goto yy121;
+ if (yych <= '=') goto yy123;
+ if (yych <= '>') goto yy125;
+ goto yy9;
+yy32:
+ YYDEBUG(32, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych <= '<') goto yy93;
- if (yych <= '=') goto yy210;
- if (yych <= '>') goto yy212;
- goto yy93;
-yy117:
- YYDEBUG(117, *YYCURSOR);
+ if (yych <= '<') goto yy9;
+ if (yych <= '=') goto yy126;
+ if (yych <= '>') goto yy128;
+ goto yy9;
+yy33:
+ YYDEBUG(33, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych <= '<') goto yy93;
- if (yych <= '=') goto yy214;
- if (yych <= '>') goto yy216;
- goto yy93;
-yy118:
- YYDEBUG(118, *YYCURSOR);
+ if (yych <= '<') goto yy9;
+ if (yych <= '=') goto yy130;
+ if (yych <= '>') goto yy132;
+ goto yy9;
+yy34:
+ YYDEBUG(34, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= '=') goto yy9;
+ if (yych <= '>') goto yy134;
+ if (yych <= '?') goto yy136;
+ goto yy9;
+yy35:
+ YYDEBUG(35, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych <= '=') goto yy93;
- if (yych <= '>') goto yy218;
- if (yych <= '?') goto yy220;
- goto yy93;
-yy119:
- YYDEBUG(119, *YYCURSOR);
- ++YYCURSOR;
{
static void *yytarget[256] = {
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy222, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy223, &&yy128,
- &&yy128, &&yy128, &&yy224, &&yy225, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy222, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy223, &&yy128,
- &&yy128, &&yy128, &&yy224, &&yy225, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy138, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy139, &&yy44,
+ &&yy44, &&yy44, &&yy140, &&yy141, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy138, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy139, &&yy44,
+ &&yy44, &&yy44, &&yy140, &&yy141, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
- goto *yytarget[(yych = *YYCURSOR)];
+ goto *yytarget[yych];
}
-yy120:
- YYDEBUG(120, *YYCURSOR);
+yy36:
+ YYDEBUG(36, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
zend_copy_value(zendlval, yytext, yyleng);
return T_STRING;
}
-yy121:
- YYDEBUG(121, *YYCURSOR);
+yy37:
+ YYDEBUG(37, *YYCURSOR);
yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
{
static void *yytarget[256] = {
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy94, &&yy128, &&yy128, &&yy128, &&yy128, &&yy101,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy227, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy228, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy228, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy10, &&yy44, &&yy44, &&yy44, &&yy44, &&yy17,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy143, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy144, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy144, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy122:
- YYDEBUG(122, *YYCURSOR);
+yy38:
+ YYDEBUG(38, *YYCURSOR);
yych = *++YYCURSOR;
{
static void *yytarget[256] = {
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy229, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy230, &&yy128, &&yy128, &&yy231,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy229, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy230, &&yy128, &&yy128, &&yy231,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy145, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy146, &&yy44, &&yy44, &&yy147,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy145, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy146, &&yy44, &&yy44, &&yy147,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy123:
- YYDEBUG(123, *YYCURSOR);
+yy39:
+ YYDEBUG(39, *YYCURSOR);
yych = *++YYCURSOR;
{
static void *yytarget[256] = {
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy232, &&yy128, &&yy128,
- &&yy128, &&yy233, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy234,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy232, &&yy128, &&yy128,
- &&yy128, &&yy233, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy234,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy148, &&yy44, &&yy44,
+ &&yy44, &&yy149, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy150,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy148, &&yy44, &&yy44,
+ &&yy44, &&yy149, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy150,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy124:
- YYDEBUG(124, *YYCURSOR);
+yy40:
+ YYDEBUG(40, *YYCURSOR);
yych = *++YYCURSOR;
{
static void *yytarget[256] = {
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy236, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy237, &&yy238, &&yy239, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy240, &&yy128,
- &&yy241, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy236, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy237, &&yy238, &&yy239, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy240, &&yy128,
- &&yy241, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy152, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy153, &&yy154, &&yy155, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy156, &&yy44,
+ &&yy157, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy152, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy153, &&yy154, &&yy155, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy156, &&yy44,
+ &&yy157, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy125:
- YYDEBUG(125, *YYCURSOR);
+yy41:
+ YYDEBUG(41, *YYCURSOR);
yych = *++YYCURSOR;
{
static void *yytarget[256] = {
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy242, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy243,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy244, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy242, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy243,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy244, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy158, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy159,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy160, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy158, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy159,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy160, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy126:
- YYDEBUG(126, *YYCURSOR);
+yy42:
+ YYDEBUG(42, *YYCURSOR);
yych = *++YYCURSOR;
{
static void *yytarget[256] = {
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy245, &&yy128, &&yy128, &&yy246,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy245, &&yy128, &&yy128, &&yy246,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy161, &&yy44, &&yy44, &&yy162,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy161, &&yy44, &&yy44, &&yy162,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy127:
- YYDEBUG(127, *YYCURSOR);
+yy43:
+ YYDEBUG(43, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
-yy128:
- YYDEBUG(128, *YYCURSOR);
+yy44:
+ YYDEBUG(44, *YYCURSOR);
if (yybm[0+yych] & 16) {
- goto yy127;
+ goto yy43;
}
- goto yy120;
-yy129:
- YYDEBUG(129, *YYCURSOR);
+ goto yy36;
+yy45:
+ YYDEBUG(45, *YYCURSOR);
yych = *++YYCURSOR;
{
static void *yytarget[256] = {
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy247, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy249, &&yy250, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy251, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy247, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy249, &&yy250, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy251, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy163, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy165, &&yy166, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy167, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy163, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy165, &&yy166, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy167, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy130:
- YYDEBUG(130, *YYCURSOR);
+yy46:
+ YYDEBUG(46, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'I') goto yy252;
- if (yych == 'i') goto yy252;
- goto yy128;
-yy131:
- YYDEBUG(131, *YYCURSOR);
+ if (yych == 'I') goto yy168;
+ if (yych == 'i') goto yy168;
+ goto yy44;
+yy47:
+ YYDEBUG(47, *YYCURSOR);
yych = *++YYCURSOR;
{
static void *yytarget[256] = {
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy253, &&yy128, &&yy128, &&yy128, &&yy254, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy253, &&yy128, &&yy128, &&yy128, &&yy254, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy169, &&yy44, &&yy44, &&yy44, &&yy170, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy169, &&yy44, &&yy44, &&yy44, &&yy170, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy132:
- YYDEBUG(132, *YYCURSOR);
+yy48:
+ YYDEBUG(48, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'R') goto yy255;
- if (yych == 'r') goto yy255;
- goto yy128;
-yy133:
- YYDEBUG(133, *YYCURSOR);
+ if (yych == 'R') goto yy171;
+ if (yych == 'r') goto yy171;
+ goto yy44;
+yy49:
+ YYDEBUG(49, *YYCURSOR);
yych = *++YYCURSOR;
{
static void *yytarget[256] = {
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy257, &&yy128, &&yy128, &&yy258, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy257, &&yy128, &&yy128, &&yy258, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy173, &&yy44, &&yy44, &&yy174, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy173, &&yy44, &&yy44, &&yy174, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy134:
- YYDEBUG(134, *YYCURSOR);
+yy50:
+ YYDEBUG(50, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy259;
- if (yych == 'e') goto yy259;
- goto yy128;
-yy135:
- YYDEBUG(135, *YYCURSOR);
+ if (yych == 'E') goto yy175;
+ if (yych == 'e') goto yy175;
+ goto yy44;
+yy51:
+ YYDEBUG(51, *YYCURSOR);
yych = *++YYCURSOR;
{
static void *yytarget[256] = {
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy260, &&yy128, &&yy128, &&yy261,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy260, &&yy128, &&yy128, &&yy261,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy176, &&yy44, &&yy44, &&yy177,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy176, &&yy44, &&yy44, &&yy177,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy136:
- YYDEBUG(136, *YYCURSOR);
+yy52:
+ YYDEBUG(52, *YYCURSOR);
yych = *++YYCURSOR;
{
static void *yytarget[256] = {
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy262, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy263, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy262, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy263, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy178, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy179, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy178, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy179, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy137:
- YYDEBUG(137, *YYCURSOR);
+yy53:
+ YYDEBUG(53, *YYCURSOR);
yych = *++YYCURSOR;
{
static void *yytarget[256] = {
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy264, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy265, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy264, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy265, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy180, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy181, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy180, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy181, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy138:
- YYDEBUG(138, *YYCURSOR);
+yy54:
+ YYDEBUG(54, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy266;
- if (yych == 'a') goto yy266;
- goto yy128;
-yy139:
- YYDEBUG(139, *YYCURSOR);
+ if (yych == 'A') goto yy182;
+ if (yych == 'a') goto yy182;
+ goto yy44;
+yy55:
+ YYDEBUG(55, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'H') goto yy267;
- if (yych == 'h') goto yy267;
- goto yy128;
-yy140:
- YYDEBUG(140, *YYCURSOR);
+ if (yych == 'H') goto yy183;
+ if (yych == 'h') goto yy183;
+ goto yy44;
+yy56:
+ YYDEBUG(56, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'O') goto yy268;
- if (yych == 'o') goto yy268;
- goto yy128;
-yy141:
- YYDEBUG(141, *YYCURSOR);
+ if (yych == 'O') goto yy184;
+ if (yych == 'o') goto yy184;
+ goto yy44;
+yy57:
+ YYDEBUG(57, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'I') goto yy269;
- if (yych == 'i') goto yy269;
- goto yy128;
-yy142:
- YYDEBUG(142, *YYCURSOR);
+ if (yych == 'I') goto yy185;
+ if (yych == 'i') goto yy185;
+ goto yy44;
+yy58:
+ YYDEBUG(58, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(143, *YYCURSOR);
+ YYDEBUG(59, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_NS_SEPARATOR;
}
-yy144:
- YYDEBUG(144, *YYCURSOR);
+yy60:
+ YYDEBUG(60, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '=') goto yy270;
- goto yy93;
-yy145:
- YYDEBUG(145, *YYCURSOR);
+ if (yych == '=') goto yy186;
+ goto yy9;
+yy61:
+ YYDEBUG(61, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '_') goto yy272;
- goto yy128;
-yy146:
- YYDEBUG(146, *YYCURSOR);
+ if (yych == '_') goto yy188;
+ goto yy44;
+yy62:
+ YYDEBUG(62, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(147, *YYCURSOR);
+ YYDEBUG(63, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
BEGIN(ST_BACKQUOTE);
return '`';
}
-yy148:
- YYDEBUG(148, *YYCURSOR);
+yy64:
+ YYDEBUG(64, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(149, *YYCURSOR);
+ YYDEBUG(65, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
yy_push_state(ST_IN_SCRIPTING);
return '{';
}
-yy150:
- YYDEBUG(150, *YYCURSOR);
+yy66:
+ YYDEBUG(66, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '=') goto yy273;
- if (yych == '|') goto yy275;
- goto yy93;
-yy151:
- YYDEBUG(151, *YYCURSOR);
+ if (yych == '=') goto yy189;
+ if (yych == '|') goto yy191;
+ goto yy9;
+yy67:
+ YYDEBUG(67, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(152, *YYCURSOR);
+ YYDEBUG(68, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
RESET_DOC_COMMENT();
@@ -3106,325 +2252,325 @@ yy151:
}
return '}';
}
-yy153:
- YYDEBUG(153, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '=') goto yy277;
-yy154:
- YYDEBUG(154, *YYCURSOR);
+yy69:
+ YYDEBUG(69, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '=') goto yy193;
+yy70:
+ YYDEBUG(70, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_IS_NOT_EQUAL;
}
-yy155:
- YYDEBUG(155, *YYCURSOR);
+yy71:
+ YYDEBUG(71, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(156, *YYCURSOR);
+ YYDEBUG(72, *YYCURSOR);
{
static void *yytarget[256] = {
- &&yy157, &&yy157, &&yy157, &&yy157, &&yy157, &&yy157, &&yy157, &&yy157,
- &&yy157, &&yy157, &&yy157, &&yy157, &&yy157, &&yy157, &&yy157, &&yy157,
- &&yy157, &&yy157, &&yy157, &&yy157, &&yy157, &&yy157, &&yy157, &&yy157,
- &&yy157, &&yy157, &&yy157, &&yy157, &&yy157, &&yy157, &&yy157, &&yy157,
- &&yy157, &&yy157, &&yy157, &&yy157, &&yy157, &&yy157, &&yy157, &&yy157,
- &&yy157, &&yy157, &&yy157, &&yy157, &&yy157, &&yy157, &&yy157, &&yy157,
- &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155,
- &&yy155, &&yy155, &&yy157, &&yy157, &&yy157, &&yy157, &&yy157, &&yy157,
- &&yy157, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155,
- &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155,
- &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155,
- &&yy155, &&yy155, &&yy155, &&yy157, &&yy157, &&yy157, &&yy157, &&yy155,
- &&yy157, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155,
- &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155,
- &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155,
- &&yy155, &&yy155, &&yy155, &&yy157, &&yy157, &&yy157, &&yy157, &&yy155,
- &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155,
- &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155,
- &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155,
- &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155,
- &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155,
- &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155,
- &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155,
- &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155,
- &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155,
- &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155,
- &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155,
- &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155,
- &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155,
- &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155,
- &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155,
- &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155, &&yy155
+ &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
+ &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
+ &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
+ &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
+ &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
+ &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
+ &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
+ &&yy73, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy73, &&yy73, &&yy73, &&yy73, &&yy71,
+ &&yy73, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy73, &&yy73, &&yy73, &&yy73, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71
};
goto *yytarget[yych];
}
-yy157:
- YYDEBUG(157, *YYCURSOR);
+yy73:
+ YYDEBUG(73, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
return T_VARIABLE;
}
-yy158:
- YYDEBUG(158, *YYCURSOR);
+yy74:
+ YYDEBUG(74, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(159, *YYCURSOR);
+ YYDEBUG(75, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_MOD_EQUAL;
}
-yy160:
- YYDEBUG(160, *YYCURSOR);
+yy76:
+ YYDEBUG(76, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(161, *YYCURSOR);
+ YYDEBUG(77, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_BOOLEAN_AND;
}
-yy162:
- YYDEBUG(162, *YYCURSOR);
+yy78:
+ YYDEBUG(78, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(163, *YYCURSOR);
+ YYDEBUG(79, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_AND_EQUAL;
}
-yy164:
- YYDEBUG(164, *YYCURSOR);
+yy80:
+ YYDEBUG(80, *YYCURSOR);
++YYCURSOR;
YYFILL(7);
yych = *YYCURSOR;
-yy165:
- YYDEBUG(165, *YYCURSOR);
+yy81:
+ YYDEBUG(81, *YYCURSOR);
{
static void *yytarget[256] = {
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy164, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy164, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy167, &&yy168, &&yy166, &&yy169, &&yy166, &&yy170, &&yy166,
- &&yy166, &&yy171, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy172,
- &&yy166, &&yy166, &&yy173, &&yy174, &&yy166, &&yy175, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy167, &&yy168, &&yy166, &&yy169, &&yy166, &&yy170, &&yy166,
- &&yy166, &&yy171, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy172,
- &&yy166, &&yy166, &&yy173, &&yy174, &&yy166, &&yy175, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy80, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy80, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy83, &&yy84, &&yy82, &&yy85, &&yy82, &&yy86, &&yy82,
+ &&yy82, &&yy87, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy88,
+ &&yy82, &&yy82, &&yy89, &&yy90, &&yy82, &&yy91, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy83, &&yy84, &&yy82, &&yy85, &&yy82, &&yy86, &&yy82,
+ &&yy82, &&yy87, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy88,
+ &&yy82, &&yy82, &&yy89, &&yy90, &&yy82, &&yy91, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82
};
goto *yytarget[yych];
}
-yy166:
- YYDEBUG(166, *YYCURSOR);
+yy82:
+ YYDEBUG(82, *YYCURSOR);
YYCURSOR = YYMARKER;
if (yyaccept <= 2) {
if (yyaccept <= 1) {
if (yyaccept == 0) {
- goto yy93;
+ goto yy9;
} else {
- goto yy111;
+ goto yy27;
}
} else {
- goto yy120;
+ goto yy36;
}
} else {
if (yyaccept <= 4) {
if (yyaccept == 3) {
- goto yy193;
+ goto yy109;
} else {
- goto yy197;
+ goto yy113;
}
} else {
- goto yy206;
+ goto yy122;
}
}
-yy167:
- YYDEBUG(167, *YYCURSOR);
+yy83:
+ YYDEBUG(83, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'R') goto yy279;
- if (yych == 'r') goto yy279;
- goto yy166;
-yy168:
- YYDEBUG(168, *YYCURSOR);
+ if (yych == 'R') goto yy195;
+ if (yych == 'r') goto yy195;
+ goto yy82;
+yy84:
+ YYDEBUG(84, *YYCURSOR);
yych = *++YYCURSOR;
{
static void *yytarget[256] = {
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy280, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy281,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy280, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy281,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy196, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy197,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy196, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy197,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82
};
goto *yytarget[yych];
}
-yy169:
- YYDEBUG(169, *YYCURSOR);
+yy85:
+ YYDEBUG(85, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'O') goto yy282;
- if (yych == 'o') goto yy282;
- goto yy166;
-yy170:
- YYDEBUG(170, *YYCURSOR);
+ if (yych == 'O') goto yy198;
+ if (yych == 'o') goto yy198;
+ goto yy82;
+yy86:
+ YYDEBUG(86, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'L') goto yy283;
- if (yych == 'l') goto yy283;
- goto yy166;
-yy171:
- YYDEBUG(171, *YYCURSOR);
+ if (yych == 'L') goto yy199;
+ if (yych == 'l') goto yy199;
+ goto yy82;
+yy87:
+ YYDEBUG(87, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'N') goto yy284;
- if (yych == 'n') goto yy284;
- goto yy166;
-yy172:
- YYDEBUG(172, *YYCURSOR);
+ if (yych == 'N') goto yy200;
+ if (yych == 'n') goto yy200;
+ goto yy82;
+yy88:
+ YYDEBUG(88, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'B') goto yy285;
- if (yych == 'b') goto yy285;
- goto yy166;
-yy173:
- YYDEBUG(173, *YYCURSOR);
+ if (yych == 'B') goto yy201;
+ if (yych == 'b') goto yy201;
+ goto yy82;
+yy89:
+ YYDEBUG(89, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy286;
- if (yych == 'e') goto yy286;
- goto yy166;
-yy174:
- YYDEBUG(174, *YYCURSOR);
+ if (yych == 'E') goto yy202;
+ if (yych == 'e') goto yy202;
+ goto yy82;
+yy90:
+ YYDEBUG(90, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy287;
- if (yych == 't') goto yy287;
- goto yy166;
-yy175:
- YYDEBUG(175, *YYCURSOR);
+ if (yych == 'T') goto yy203;
+ if (yych == 't') goto yy203;
+ goto yy82;
+yy91:
+ YYDEBUG(91, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'N') goto yy288;
- if (yych == 'n') goto yy288;
- goto yy166;
-yy176:
- YYDEBUG(176, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '=') goto yy289;
- YYDEBUG(177, *YYCURSOR);
+ if (yych == 'N') goto yy204;
+ if (yych == 'n') goto yy204;
+ goto yy82;
+yy92:
+ YYDEBUG(92, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '=') goto yy205;
+ YYDEBUG(93, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_POW;
}
-yy178:
- YYDEBUG(178, *YYCURSOR);
+yy94:
+ YYDEBUG(94, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(179, *YYCURSOR);
+ YYDEBUG(95, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_MUL_EQUAL;
}
-yy180:
- YYDEBUG(180, *YYCURSOR);
+yy96:
+ YYDEBUG(96, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(181, *YYCURSOR);
+ YYDEBUG(97, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_INC;
}
-yy182:
- YYDEBUG(182, *YYCURSOR);
+yy98:
+ YYDEBUG(98, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(183, *YYCURSOR);
+ YYDEBUG(99, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_PLUS_EQUAL;
}
-yy184:
- YYDEBUG(184, *YYCURSOR);
+yy100:
+ YYDEBUG(100, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(185, *YYCURSOR);
+ YYDEBUG(101, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_DEC;
}
-yy186:
- YYDEBUG(186, *YYCURSOR);
+yy102:
+ YYDEBUG(102, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(187, *YYCURSOR);
+ YYDEBUG(103, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_MINUS_EQUAL;
}
-yy188:
- YYDEBUG(188, *YYCURSOR);
+yy104:
+ YYDEBUG(104, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(189, *YYCURSOR);
+ YYDEBUG(105, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
yy_push_state(ST_LOOKING_FOR_PROPERTY);
return T_OBJECT_OPERATOR;
}
-yy190:
- YYDEBUG(190, *YYCURSOR);
+yy106:
+ YYDEBUG(106, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '.') goto yy291;
- goto yy166;
-yy191:
- YYDEBUG(191, *YYCURSOR);
+ if (yych == '.') goto yy207;
+ goto yy82;
+yy107:
+ YYDEBUG(107, *YYCURSOR);
yyaccept = 3;
YYMARKER = ++YYCURSOR;
YYFILL(3);
yych = *YYCURSOR;
- YYDEBUG(192, *YYCURSOR);
+ YYDEBUG(108, *YYCURSOR);
if (yych <= 'D') {
- if (yych <= '/') goto yy193;
- if (yych <= '9') goto yy191;
+ if (yych <= '/') goto yy109;
+ if (yych <= '9') goto yy107;
} else {
- if (yych <= 'E') goto yy201;
- if (yych == 'e') goto yy201;
+ if (yych <= 'E') goto yy117;
+ if (yych == 'e') goto yy117;
}
-yy193:
- YYDEBUG(193, *YYCURSOR);
+yy109:
+ YYDEBUG(109, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
const char *end;
@@ -3434,21 +2580,21 @@ yy193:
ZEND_ASSERT(end == yytext + yyleng);
return T_DNUMBER;
}
-yy194:
- YYDEBUG(194, *YYCURSOR);
+yy110:
+ YYDEBUG(110, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(195, *YYCURSOR);
+ YYDEBUG(111, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_CONCAT_EQUAL;
}
-yy196:
- YYDEBUG(196, *YYCURSOR);
+yy112:
+ YYDEBUG(112, *YYCURSOR);
yyaccept = 4;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '*') goto yy293;
-yy197:
- YYDEBUG(197, *YYCURSOR);
+ if (yych == '*') goto yy209;
+yy113:
+ YYDEBUG(113, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
int doc_com;
@@ -3482,852 +2628,852 @@ yy197:
return T_COMMENT;
}
-yy198:
- YYDEBUG(198, *YYCURSOR);
+yy114:
+ YYDEBUG(114, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(199, *YYCURSOR);
+ YYDEBUG(115, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_DIV_EQUAL;
}
-yy200:
- YYDEBUG(200, *YYCURSOR);
+yy116:
+ YYDEBUG(116, *YYCURSOR);
yych = *++YYCURSOR;
if (yybm[0+yych] & 64) {
- goto yy294;
+ goto yy210;
}
- goto yy166;
-yy201:
- YYDEBUG(201, *YYCURSOR);
+ goto yy82;
+yy117:
+ YYDEBUG(117, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= ',') {
- if (yych == '+') goto yy297;
- goto yy166;
+ if (yych == '+') goto yy213;
+ goto yy82;
} else {
- if (yych <= '-') goto yy297;
- if (yych <= '/') goto yy166;
- if (yych <= '9') goto yy298;
- goto yy166;
+ if (yych <= '-') goto yy213;
+ if (yych <= '/') goto yy82;
+ if (yych <= '9') goto yy214;
+ goto yy82;
}
-yy202:
- YYDEBUG(202, *YYCURSOR);
+yy118:
+ YYDEBUG(118, *YYCURSOR);
yych = *++YYCURSOR;
if (yybm[0+yych] & 128) {
- goto yy300;
+ goto yy216;
}
- goto yy166;
-yy203:
- YYDEBUG(203, *YYCURSOR);
+ goto yy82;
+yy119:
+ YYDEBUG(119, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(204, *YYCURSOR);
+ YYDEBUG(120, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_PAAMAYIM_NEKUDOTAYIM;
}
-yy205:
- YYDEBUG(205, *YYCURSOR);
+yy121:
+ YYDEBUG(121, *YYCURSOR);
yyaccept = 5;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= ';') goto yy206;
- if (yych <= '<') goto yy303;
- if (yych <= '=') goto yy305;
-yy206:
- YYDEBUG(206, *YYCURSOR);
+ if (yych <= ';') goto yy122;
+ if (yych <= '<') goto yy219;
+ if (yych <= '=') goto yy221;
+yy122:
+ YYDEBUG(122, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_SL;
}
-yy207:
- YYDEBUG(207, *YYCURSOR);
+yy123:
+ YYDEBUG(123, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(208, *YYCURSOR);
+ YYDEBUG(124, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_IS_SMALLER_OR_EQUAL;
}
-yy209:
- YYDEBUG(209, *YYCURSOR);
- yych = *++YYCURSOR;
- goto yy154;
-yy210:
- YYDEBUG(210, *YYCURSOR);
+yy125:
+ YYDEBUG(125, *YYCURSOR);
++YYCURSOR;
- if ((yych = *YYCURSOR) == '=') goto yy307;
- YYDEBUG(211, *YYCURSOR);
+ goto yy70;
+yy126:
+ YYDEBUG(126, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '=') goto yy223;
+ YYDEBUG(127, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_IS_EQUAL;
}
-yy212:
- YYDEBUG(212, *YYCURSOR);
+yy128:
+ YYDEBUG(128, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(213, *YYCURSOR);
+ YYDEBUG(129, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_DOUBLE_ARROW;
}
-yy214:
- YYDEBUG(214, *YYCURSOR);
+yy130:
+ YYDEBUG(130, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(215, *YYCURSOR);
+ YYDEBUG(131, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_IS_GREATER_OR_EQUAL;
}
-yy216:
- YYDEBUG(216, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '=') goto yy309;
- YYDEBUG(217, *YYCURSOR);
+yy132:
+ YYDEBUG(132, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '=') goto yy225;
+ YYDEBUG(133, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_SR;
}
-yy218:
- YYDEBUG(218, *YYCURSOR);
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '\n') goto yy311;
- if (yych == '\r') goto yy312;
-yy219:
- YYDEBUG(219, *YYCURSOR);
+yy134:
+ YYDEBUG(134, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '\n') goto yy227;
+ if (yych == '\r') goto yy228;
+yy135:
+ YYDEBUG(135, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
BEGIN(INITIAL);
return T_CLOSE_TAG; /* implicit ';' at php-end tag */
}
-yy220:
- YYDEBUG(220, *YYCURSOR);
+yy136:
+ YYDEBUG(136, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(221, *YYCURSOR);
+ YYDEBUG(137, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_COALESCE;
}
-yy222:
- YYDEBUG(222, *YYCURSOR);
+yy138:
+ YYDEBUG(138, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'S') goto yy313;
- if (yych == 's') goto yy313;
- goto yy128;
-yy223:
- YYDEBUG(223, *YYCURSOR);
+ if (yych == 'S') goto yy229;
+ if (yych == 's') goto yy229;
+ goto yy44;
+yy139:
+ YYDEBUG(139, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'D') goto yy314;
- if (yych == 'd') goto yy314;
- goto yy128;
-yy224:
- YYDEBUG(224, *YYCURSOR);
+ if (yych == 'D') goto yy230;
+ if (yych == 'd') goto yy230;
+ goto yy44;
+yy140:
+ YYDEBUG(140, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'R') goto yy316;
- if (yych == 'r') goto yy316;
- goto yy128;
-yy225:
- YYDEBUG(225, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
+ if (yych == 'R') goto yy232;
+ if (yych == 'r') goto yy232;
+ goto yy44;
+yy141:
+ YYDEBUG(141, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- YYDEBUG(226, *YYCURSOR);
+ YYDEBUG(142, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_AS;
}
-yy227:
- YYDEBUG(227, *YYCURSOR);
+yy143:
+ YYDEBUG(143, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '<') goto yy317;
- goto yy166;
-yy228:
- YYDEBUG(228, *YYCURSOR);
+ if (yych == '<') goto yy233;
+ goto yy82;
+yy144:
+ YYDEBUG(144, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy318;
- if (yych == 'e') goto yy318;
- goto yy128;
-yy229:
- YYDEBUG(229, *YYCURSOR);
+ if (yych == 'E') goto yy234;
+ if (yych == 'e') goto yy234;
+ goto yy44;
+yy145:
+ YYDEBUG(145, *YYCURSOR);
yych = *++YYCURSOR;
{
static void *yytarget[256] = {
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy319, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy320, &&yy321, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy319, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy320, &&yy321, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy235, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy236, &&yy237, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy235, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy236, &&yy237, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy230:
- YYDEBUG(230, *YYCURSOR);
+yy146:
+ YYDEBUG(146, *YYCURSOR);
yych = *++YYCURSOR;
{
static void *yytarget[256] = {
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy322, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy323,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy322, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy323,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy238, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy239,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy238, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy239,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy231:
- YYDEBUG(231, *YYCURSOR);
+yy147:
+ YYDEBUG(147, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'N') goto yy324;
- if (yych == 'n') goto yy324;
- goto yy128;
-yy232:
- YYDEBUG(232, *YYCURSOR);
+ if (yych == 'N') goto yy240;
+ if (yych == 'n') goto yy240;
+ goto yy44;
+yy148:
+ YYDEBUG(148, *YYCURSOR);
yych = *++YYCURSOR;
{
static void *yytarget[256] = {
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy325, &&yy128, &&yy128, &&yy326, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy325, &&yy128, &&yy128, &&yy326, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy241, &&yy44, &&yy44, &&yy242, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy241, &&yy44, &&yy44, &&yy242, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy233:
- YYDEBUG(233, *YYCURSOR);
+yy149:
+ YYDEBUG(149, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy327;
- if (yych == 'e') goto yy327;
- goto yy128;
-yy234:
- YYDEBUG(234, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
+ if (yych == 'E') goto yy243;
+ if (yych == 'e') goto yy243;
+ goto yy44;
+yy150:
+ YYDEBUG(150, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- YYDEBUG(235, *YYCURSOR);
+ YYDEBUG(151, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_DO;
}
-yy236:
- YYDEBUG(236, *YYCURSOR);
+yy152:
+ YYDEBUG(152, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'H') goto yy329;
- if (yych == 'h') goto yy329;
- goto yy128;
-yy237:
- YYDEBUG(237, *YYCURSOR);
+ if (yych == 'H') goto yy245;
+ if (yych == 'h') goto yy245;
+ goto yy44;
+yy153:
+ YYDEBUG(153, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'S') goto yy330;
- if (yych == 's') goto yy330;
- goto yy128;
-yy238:
- YYDEBUG(238, *YYCURSOR);
+ if (yych == 'S') goto yy246;
+ if (yych == 's') goto yy246;
+ goto yy44;
+yy154:
+ YYDEBUG(154, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'P') goto yy331;
- if (yych == 'p') goto yy331;
- goto yy128;
-yy239:
- YYDEBUG(239, *YYCURSOR);
+ if (yych == 'P') goto yy247;
+ if (yych == 'p') goto yy247;
+ goto yy44;
+yy155:
+ YYDEBUG(155, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'D') goto yy332;
- if (yych == 'd') goto yy332;
- goto yy128;
-yy240:
- YYDEBUG(240, *YYCURSOR);
+ if (yych == 'D') goto yy248;
+ if (yych == 'd') goto yy248;
+ goto yy44;
+yy156:
+ YYDEBUG(156, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy333;
- if (yych == 'a') goto yy333;
- goto yy128;
-yy241:
- YYDEBUG(241, *YYCURSOR);
+ if (yych == 'A') goto yy249;
+ if (yych == 'a') goto yy249;
+ goto yy44;
+yy157:
+ YYDEBUG(157, *YYCURSOR);
yych = *++YYCURSOR;
{
static void *yytarget[256] = {
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy334, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy335, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy334, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy335, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy250, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy251, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy250, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy251, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy242:
- YYDEBUG(242, *YYCURSOR);
+yy158:
+ YYDEBUG(158, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'N') goto yy336;
- if (yych == 'n') goto yy336;
- goto yy128;
-yy243:
- YYDEBUG(243, *YYCURSOR);
+ if (yych == 'N') goto yy252;
+ if (yych == 'n') goto yy252;
+ goto yy44;
+yy159:
+ YYDEBUG(159, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'R') goto yy337;
- if (yych == 'r') goto yy337;
- goto yy128;
-yy244:
- YYDEBUG(244, *YYCURSOR);
+ if (yych == 'R') goto yy253;
+ if (yych == 'r') goto yy253;
+ goto yy44;
+yy160:
+ YYDEBUG(160, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'N') goto yy339;
- if (yych == 'n') goto yy339;
- goto yy128;
-yy245:
- YYDEBUG(245, *YYCURSOR);
+ if (yych == 'N') goto yy255;
+ if (yych == 'n') goto yy255;
+ goto yy44;
+yy161:
+ YYDEBUG(161, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'O') goto yy340;
- if (yych == 'o') goto yy340;
- goto yy128;
-yy246:
- YYDEBUG(246, *YYCURSOR);
+ if (yych == 'O') goto yy256;
+ if (yych == 'o') goto yy256;
+ goto yy44;
+yy162:
+ YYDEBUG(162, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy341;
- if (yych == 't') goto yy341;
- goto yy128;
-yy247:
- YYDEBUG(247, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
+ if (yych == 'T') goto yy257;
+ if (yych == 't') goto yy257;
+ goto yy44;
+yy163:
+ YYDEBUG(163, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- YYDEBUG(248, *YYCURSOR);
+ YYDEBUG(164, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_IF;
}
-yy249:
- YYDEBUG(249, *YYCURSOR);
+yy165:
+ YYDEBUG(165, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'P') goto yy342;
- if (yych == 'p') goto yy342;
- goto yy128;
-yy250:
- YYDEBUG(250, *YYCURSOR);
+ if (yych == 'P') goto yy258;
+ if (yych == 'p') goto yy258;
+ goto yy44;
+yy166:
+ YYDEBUG(166, *YYCURSOR);
yych = *++YYCURSOR;
{
static void *yytarget[256] = {
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy343, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy344, &&yy345, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy343, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy344, &&yy345, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy259, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy260, &&yy261, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy259, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy260, &&yy261, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy251:
- YYDEBUG(251, *YYCURSOR);
+yy167:
+ YYDEBUG(167, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'S') goto yy346;
- if (yych == 's') goto yy346;
- goto yy128;
-yy252:
- YYDEBUG(252, *YYCURSOR);
+ if (yych == 'S') goto yy262;
+ if (yych == 's') goto yy262;
+ goto yy44;
+yy168:
+ YYDEBUG(168, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'S') goto yy347;
- if (yych == 's') goto yy347;
- goto yy128;
-yy253:
- YYDEBUG(253, *YYCURSOR);
+ if (yych == 'S') goto yy263;
+ if (yych == 's') goto yy263;
+ goto yy44;
+yy169:
+ YYDEBUG(169, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'M') goto yy348;
- if (yych == 'm') goto yy348;
- goto yy128;
-yy254:
- YYDEBUG(254, *YYCURSOR);
+ if (yych == 'M') goto yy264;
+ if (yych == 'm') goto yy264;
+ goto yy44;
+yy170:
+ YYDEBUG(170, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'W') goto yy349;
- if (yych == 'w') goto yy349;
- goto yy128;
-yy255:
- YYDEBUG(255, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
+ if (yych == 'W') goto yy265;
+ if (yych == 'w') goto yy265;
+ goto yy44;
+yy171:
+ YYDEBUG(171, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- YYDEBUG(256, *YYCURSOR);
+ YYDEBUG(172, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_LOGICAL_OR;
}
-yy257:
- YYDEBUG(257, *YYCURSOR);
+yy173:
+ YYDEBUG(173, *YYCURSOR);
yych = *++YYCURSOR;
{
static void *yytarget[256] = {
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy351, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy352,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy351, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy352,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy267, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy268,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy267, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy268,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy258:
- YYDEBUG(258, *YYCURSOR);
+yy174:
+ YYDEBUG(174, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'B') goto yy353;
- if (yych == 'b') goto yy353;
- goto yy128;
-yy259:
- YYDEBUG(259, *YYCURSOR);
+ if (yych == 'B') goto yy269;
+ if (yych == 'b') goto yy269;
+ goto yy44;
+yy175:
+ YYDEBUG(175, *YYCURSOR);
yych = *++YYCURSOR;
{
static void *yytarget[256] = {
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy354, &&yy128, &&yy128, &&yy355, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy354, &&yy128, &&yy128, &&yy355, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy270, &&yy44, &&yy44, &&yy271, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy270, &&yy44, &&yy44, &&yy271, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy260:
- YYDEBUG(260, *YYCURSOR);
+yy176:
+ YYDEBUG(176, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy356;
- if (yych == 'a') goto yy356;
- goto yy128;
-yy261:
- YYDEBUG(261, *YYCURSOR);
+ if (yych == 'A') goto yy272;
+ if (yych == 'a') goto yy272;
+ goto yy44;
+yy177:
+ YYDEBUG(177, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'I') goto yy357;
- if (yych == 'i') goto yy357;
- goto yy128;
-yy262:
- YYDEBUG(262, *YYCURSOR);
+ if (yych == 'I') goto yy273;
+ if (yych == 'i') goto yy273;
+ goto yy44;
+yy178:
+ YYDEBUG(178, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'R') goto yy358;
- if (yych == 'r') goto yy358;
- goto yy128;
-yy263:
- YYDEBUG(263, *YYCURSOR);
+ if (yych == 'R') goto yy274;
+ if (yych == 'r') goto yy274;
+ goto yy44;
+yy179:
+ YYDEBUG(179, *YYCURSOR);
yych = *++YYCURSOR;
{
static void *yytarget[256] = {
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy359, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy360, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy359, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy360, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy275, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy276, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy275, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy276, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy264:
- YYDEBUG(264, *YYCURSOR);
+yy180:
+ YYDEBUG(180, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'S') goto yy362;
- if (yych == 's') goto yy362;
- goto yy128;
-yy265:
- YYDEBUG(265, *YYCURSOR);
+ if (yych == 'S') goto yy278;
+ if (yych == 's') goto yy278;
+ goto yy44;
+yy181:
+ YYDEBUG(181, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy363;
- if (yych == 'e') goto yy363;
- goto yy128;
-yy266:
- YYDEBUG(266, *YYCURSOR);
+ if (yych == 'E') goto yy279;
+ if (yych == 'e') goto yy279;
+ goto yy44;
+yy182:
+ YYDEBUG(182, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'R') goto yy365;
- if (yych == 'r') goto yy365;
- goto yy128;
-yy267:
- YYDEBUG(267, *YYCURSOR);
+ if (yych == 'R') goto yy281;
+ if (yych == 'r') goto yy281;
+ goto yy44;
+yy183:
+ YYDEBUG(183, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'I') goto yy367;
- if (yych == 'i') goto yy367;
- goto yy128;
-yy268:
- YYDEBUG(268, *YYCURSOR);
+ if (yych == 'I') goto yy283;
+ if (yych == 'i') goto yy283;
+ goto yy44;
+yy184:
+ YYDEBUG(184, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'R') goto yy368;
- if (yych == 'r') goto yy368;
- goto yy128;
-yy269:
- YYDEBUG(269, *YYCURSOR);
+ if (yych == 'R') goto yy284;
+ if (yych == 'r') goto yy284;
+ goto yy44;
+yy185:
+ YYDEBUG(185, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy370;
- if (yych == 'e') goto yy370;
- goto yy128;
-yy270:
- YYDEBUG(270, *YYCURSOR);
+ if (yych == 'E') goto yy286;
+ if (yych == 'e') goto yy286;
+ goto yy44;
+yy186:
+ YYDEBUG(186, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(271, *YYCURSOR);
+ YYDEBUG(187, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_XOR_EQUAL;
}
-yy272:
- YYDEBUG(272, *YYCURSOR);
+yy188:
+ YYDEBUG(188, *YYCURSOR);
yych = *++YYCURSOR;
{
static void *yytarget[256] = {
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy371, &&yy372, &&yy128, &&yy373, &&yy128,
- &&yy374, &&yy128, &&yy128, &&yy128, &&yy375, &&yy376, &&yy377, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy378, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy371, &&yy372, &&yy128, &&yy373, &&yy128,
- &&yy374, &&yy128, &&yy128, &&yy128, &&yy375, &&yy376, &&yy377, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy378, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy287, &&yy288, &&yy44, &&yy289, &&yy44,
+ &&yy290, &&yy44, &&yy44, &&yy44, &&yy291, &&yy292, &&yy293, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy294, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy287, &&yy288, &&yy44, &&yy289, &&yy44,
+ &&yy290, &&yy44, &&yy44, &&yy44, &&yy291, &&yy292, &&yy293, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy294, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy273:
- YYDEBUG(273, *YYCURSOR);
+yy189:
+ YYDEBUG(189, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(274, *YYCURSOR);
+ YYDEBUG(190, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_OR_EQUAL;
}
-yy275:
- YYDEBUG(275, *YYCURSOR);
+yy191:
+ YYDEBUG(191, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(276, *YYCURSOR);
+ YYDEBUG(192, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_BOOLEAN_OR;
}
-yy277:
- YYDEBUG(277, *YYCURSOR);
+yy193:
+ YYDEBUG(193, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(278, *YYCURSOR);
+ YYDEBUG(194, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_IS_NOT_IDENTICAL;
}
-yy279:
- YYDEBUG(279, *YYCURSOR);
+yy195:
+ YYDEBUG(195, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'R') goto yy379;
- if (yych == 'r') goto yy379;
- goto yy166;
-yy280:
- YYDEBUG(280, *YYCURSOR);
+ if (yych == 'R') goto yy295;
+ if (yych == 'r') goto yy295;
+ goto yy82;
+yy196:
+ YYDEBUG(196, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'N') goto yy380;
- if (yych == 'n') goto yy380;
- goto yy166;
-yy281:
- YYDEBUG(281, *YYCURSOR);
+ if (yych == 'N') goto yy296;
+ if (yych == 'n') goto yy296;
+ goto yy82;
+yy197:
+ YYDEBUG(197, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'O') goto yy381;
- if (yych == 'o') goto yy381;
- goto yy166;
-yy282:
- YYDEBUG(282, *YYCURSOR);
+ if (yych == 'O') goto yy297;
+ if (yych == 'o') goto yy297;
+ goto yy82;
+yy198:
+ YYDEBUG(198, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'U') goto yy382;
- if (yych == 'u') goto yy382;
- goto yy166;
-yy283:
- YYDEBUG(283, *YYCURSOR);
+ if (yych == 'U') goto yy298;
+ if (yych == 'u') goto yy298;
+ goto yy82;
+yy199:
+ YYDEBUG(199, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'O') goto yy383;
- if (yych == 'o') goto yy383;
- goto yy166;
-yy284:
- YYDEBUG(284, *YYCURSOR);
+ if (yych == 'O') goto yy299;
+ if (yych == 'o') goto yy299;
+ goto yy82;
+yy200:
+ YYDEBUG(200, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy384;
- if (yych == 't') goto yy384;
- goto yy166;
-yy285:
- YYDEBUG(285, *YYCURSOR);
+ if (yych == 'T') goto yy300;
+ if (yych == 't') goto yy300;
+ goto yy82;
+yy201:
+ YYDEBUG(201, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'J') goto yy385;
- if (yych == 'j') goto yy385;
- goto yy166;
-yy286:
- YYDEBUG(286, *YYCURSOR);
+ if (yych == 'J') goto yy301;
+ if (yych == 'j') goto yy301;
+ goto yy82;
+yy202:
+ YYDEBUG(202, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy386;
- if (yych == 'a') goto yy386;
- goto yy166;
-yy287:
- YYDEBUG(287, *YYCURSOR);
+ if (yych == 'A') goto yy302;
+ if (yych == 'a') goto yy302;
+ goto yy82;
+yy203:
+ YYDEBUG(203, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'R') goto yy387;
- if (yych == 'r') goto yy387;
- goto yy166;
-yy288:
- YYDEBUG(288, *YYCURSOR);
+ if (yych == 'R') goto yy303;
+ if (yych == 'r') goto yy303;
+ goto yy82;
+yy204:
+ YYDEBUG(204, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'S') goto yy388;
- if (yych == 's') goto yy388;
- goto yy166;
-yy289:
- YYDEBUG(289, *YYCURSOR);
+ if (yych == 'S') goto yy304;
+ if (yych == 's') goto yy304;
+ goto yy82;
+yy205:
+ YYDEBUG(205, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(290, *YYCURSOR);
+ YYDEBUG(206, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_POW_EQUAL;
}
-yy291:
- YYDEBUG(291, *YYCURSOR);
+yy207:
+ YYDEBUG(207, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(292, *YYCURSOR);
+ YYDEBUG(208, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_ELLIPSIS;
}
-yy293:
- YYDEBUG(293, *YYCURSOR);
+yy209:
+ YYDEBUG(209, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= '\f') {
- if (yych <= 0x08) goto yy166;
- if (yych <= '\n') goto yy389;
- goto yy166;
+ if (yych <= 0x08) goto yy82;
+ if (yych <= '\n') goto yy305;
+ goto yy82;
} else {
- if (yych <= '\r') goto yy389;
- if (yych == ' ') goto yy389;
- goto yy166;
+ if (yych <= '\r') goto yy305;
+ if (yych == ' ') goto yy305;
+ goto yy82;
}
-yy294:
- YYDEBUG(294, *YYCURSOR);
+yy210:
+ YYDEBUG(210, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(295, *YYCURSOR);
+ YYDEBUG(211, *YYCURSOR);
if (yybm[0+yych] & 64) {
- goto yy294;
+ goto yy210;
}
- YYDEBUG(296, *YYCURSOR);
+ YYDEBUG(212, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
char *bin = yytext + 2; /* Skip "0b" */
@@ -4356,30 +3502,30 @@ yy294:
return T_DNUMBER;
}
}
-yy297:
- YYDEBUG(297, *YYCURSOR);
+yy213:
+ YYDEBUG(213, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych <= '/') goto yy166;
- if (yych >= ':') goto yy166;
-yy298:
- YYDEBUG(298, *YYCURSOR);
+ if (yych <= '/') goto yy82;
+ if (yych >= ':') goto yy82;
+yy214:
+ YYDEBUG(214, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(299, *YYCURSOR);
- if (yych <= '/') goto yy193;
- if (yych <= '9') goto yy298;
- goto yy193;
-yy300:
- YYDEBUG(300, *YYCURSOR);
+ YYDEBUG(215, *YYCURSOR);
+ if (yych <= '/') goto yy109;
+ if (yych <= '9') goto yy214;
+ goto yy109;
+yy216:
+ YYDEBUG(216, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(301, *YYCURSOR);
+ YYDEBUG(217, *YYCURSOR);
if (yybm[0+yych] & 128) {
- goto yy300;
+ goto yy216;
}
- YYDEBUG(302, *YYCURSOR);
+ YYDEBUG(218, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
char *hex = yytext + 2; /* Skip "0x" */
@@ -4408,3118 +3554,3713 @@ yy300:
return T_DNUMBER;
}
}
-yy303:
- YYDEBUG(303, *YYCURSOR);
+yy219:
+ YYDEBUG(219, *YYCURSOR);
++YYCURSOR;
YYFILL(2);
yych = *YYCURSOR;
- YYDEBUG(304, *YYCURSOR);
+ YYDEBUG(220, *YYCURSOR);
{
static void *yytarget[256] = {
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy303, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy303, &&yy166, &&yy391, &&yy166, &&yy166, &&yy166, &&yy166, &&yy392,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy166, &&yy166, &&yy166, &&yy166, &&yy393,
- &&yy166, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy166, &&yy166, &&yy166, &&yy166, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy219, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy219, &&yy82, &&yy307, &&yy82, &&yy82, &&yy82, &&yy82, &&yy308,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy82, &&yy82, &&yy82, &&yy82, &&yy309,
+ &&yy82, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy82, &&yy82, &&yy82, &&yy82, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309
};
goto *yytarget[yych];
}
-yy305:
- YYDEBUG(305, *YYCURSOR);
+yy221:
+ YYDEBUG(221, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(306, *YYCURSOR);
+ YYDEBUG(222, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_SL_EQUAL;
}
-yy307:
- YYDEBUG(307, *YYCURSOR);
+yy223:
+ YYDEBUG(223, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(308, *YYCURSOR);
+ YYDEBUG(224, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_IS_IDENTICAL;
}
-yy309:
- YYDEBUG(309, *YYCURSOR);
+yy225:
+ YYDEBUG(225, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(310, *YYCURSOR);
+ YYDEBUG(226, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
return T_SR_EQUAL;
}
+yy227:
+ YYDEBUG(227, *YYCURSOR);
+ ++YYCURSOR;
+ goto yy135;
+yy228:
+ YYDEBUG(228, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '\n') goto yy227;
+ goto yy135;
+yy229:
+ YYDEBUG(229, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'T') goto yy311;
+ if (yych == 't') goto yy311;
+ goto yy44;
+yy230:
+ YYDEBUG(230, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
+ YYDEBUG(231, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_LOGICAL_AND;
+}
+yy232:
+ YYDEBUG(232, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'A') goto yy312;
+ if (yych == 'a') goto yy312;
+ goto yy44;
+yy233:
+ YYDEBUG(233, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '<') goto yy219;
+ goto yy82;
+yy234:
+ YYDEBUG(234, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'A') goto yy313;
+ if (yych == 'a') goto yy313;
+ goto yy44;
+yy235:
+ YYDEBUG(235, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'L') goto yy314;
+ if (yych == 'l') goto yy314;
+ goto yy44;
+yy236:
+ YYDEBUG(236, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'E') goto yy315;
+ if (yych == 'e') goto yy315;
+ goto yy44;
+yy237:
+ YYDEBUG(237, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'C') goto yy317;
+ if (yych == 'c') goto yy317;
+ goto yy44;
+yy238:
+ YYDEBUG(238, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'S') goto yy318;
+ if (yych == 's') goto yy318;
+ goto yy44;
+yy239:
+ YYDEBUG(239, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'N') goto yy319;
+ if (yych == 'n') goto yy319;
+ goto yy44;
+yy240:
+ YYDEBUG(240, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= 'T') {
+ if (yych <= 'R') goto yy44;
+ if (yych <= 'S') goto yy320;
+ goto yy321;
+ } else {
+ if (yych <= 'r') goto yy44;
+ if (yych <= 's') goto yy320;
+ if (yych <= 't') goto yy321;
+ goto yy44;
+ }
+yy241:
+ YYDEBUG(241, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'L') goto yy322;
+ if (yych == 'l') goto yy322;
+ goto yy44;
+yy242:
+ YYDEBUG(242, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'A') goto yy323;
+ if (yych == 'a') goto yy323;
+ goto yy44;
+yy243:
+ YYDEBUG(243, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
+ YYDEBUG(244, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_EXIT;
+}
+yy245:
+ YYDEBUG(245, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'O') goto yy324;
+ if (yych == 'o') goto yy324;
+ goto yy44;
+yy246:
+ YYDEBUG(246, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'E') goto yy326;
+ if (yych == 'e') goto yy326;
+ goto yy44;
+yy247:
+ YYDEBUG(247, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'T') goto yy328;
+ if (yych == 't') goto yy328;
+ goto yy44;
+yy248:
+ YYDEBUG(248, *YYCURSOR);
+ yych = *++YYCURSOR;
+ {
+ static void *yytarget[256] = {
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy329, &&yy44, &&yy330, &&yy44,
+ &&yy44, &&yy331, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy332, &&yy44, &&yy44, &&yy44, &&yy333,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy329, &&yy44, &&yy330, &&yy44,
+ &&yy44, &&yy331, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy332, &&yy44, &&yy44, &&yy44, &&yy333,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
+ };
+ goto *yytarget[yych];
+ }
+yy249:
+ YYDEBUG(249, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'L') goto yy334;
+ if (yych == 'l') goto yy334;
+ goto yy44;
+yy250:
+ YYDEBUG(250, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'T') goto yy336;
+ if (yych == 't') goto yy336;
+ goto yy44;
+yy251:
+ YYDEBUG(251, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'E') goto yy338;
+ if (yych == 'e') goto yy338;
+ goto yy44;
+yy252:
+ YYDEBUG(252, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'A') goto yy339;
+ if (yych == 'a') goto yy339;
+ goto yy44;
+yy253:
+ YYDEBUG(253, *YYCURSOR);
+ yych = *++YYCURSOR;
+ {
+ static void *yytarget[256] = {
+ &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
+ &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
+ &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
+ &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
+ &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
+ &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
+ &&yy254, &&yy43, &&yy43, &&yy43, &&yy43, &&yy340, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy254, &&yy254, &&yy254, &&yy254, &&yy43,
+ &&yy254, &&yy43, &&yy43, &&yy43, &&yy43, &&yy340, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy254, &&yy254, &&yy254, &&yy254, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43
+ };
+ goto *yytarget[yych];
+ }
+yy254:
+ YYDEBUG(254, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_FOR;
+}
+yy255:
+ YYDEBUG(255, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'C') goto yy341;
+ if (yych == 'c') goto yy341;
+ goto yy44;
+yy256:
+ YYDEBUG(256, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'B') goto yy342;
+ if (yych == 'b') goto yy342;
+ goto yy44;
+yy257:
+ YYDEBUG(257, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'O') goto yy343;
+ if (yych == 'o') goto yy343;
+ goto yy44;
+yy258:
+ YYDEBUG(258, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'L') goto yy345;
+ if (yych == 'l') goto yy345;
+ goto yy44;
+yy259:
+ YYDEBUG(259, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'L') goto yy346;
+ if (yych == 'l') goto yy346;
+ goto yy44;
+yy260:
+ YYDEBUG(260, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'T') goto yy347;
+ if (yych == 't') goto yy347;
+ goto yy44;
+yy261:
+ YYDEBUG(261, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'E') goto yy348;
+ if (yych == 'e') goto yy348;
+ goto yy44;
+yy262:
+ YYDEBUG(262, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'E') goto yy349;
+ if (yych == 'e') goto yy349;
+ goto yy44;
+yy263:
+ YYDEBUG(263, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'T') goto yy350;
+ if (yych == 't') goto yy350;
+ goto yy44;
+yy264:
+ YYDEBUG(264, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'E') goto yy352;
+ if (yych == 'e') goto yy352;
+ goto yy44;
+yy265:
+ YYDEBUG(265, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
+ YYDEBUG(266, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_NEW;
+}
+yy267:
+ YYDEBUG(267, *YYCURSOR);
+ yych = *++YYCURSOR;
+ {
+ static void *yytarget[256] = {
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy353, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy354, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy353, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy354, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
+ };
+ goto *yytarget[yych];
+ }
+yy268:
+ YYDEBUG(268, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'T') goto yy355;
+ if (yych == 't') goto yy355;
+ goto yy44;
+yy269:
+ YYDEBUG(269, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'L') goto yy356;
+ if (yych == 'l') goto yy356;
+ goto yy44;
+yy270:
+ YYDEBUG(270, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'U') goto yy357;
+ if (yych == 'u') goto yy357;
+ goto yy44;
+yy271:
+ YYDEBUG(271, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'U') goto yy358;
+ if (yych == 'u') goto yy358;
+ goto yy44;
+yy272:
+ YYDEBUG(272, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'T') goto yy359;
+ if (yych == 't') goto yy359;
+ goto yy44;
+yy273:
+ YYDEBUG(273, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'T') goto yy360;
+ if (yych == 't') goto yy360;
+ goto yy44;
+yy274:
+ YYDEBUG(274, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'O') goto yy361;
+ if (yych == 'o') goto yy361;
+ goto yy44;
+yy275:
+ YYDEBUG(275, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'I') goto yy362;
+ if (yych == 'i') goto yy362;
+ goto yy44;
+yy276:
+ YYDEBUG(276, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
+ YYDEBUG(277, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_TRY;
+}
+yy278:
+ YYDEBUG(278, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'E') goto yy363;
+ if (yych == 'e') goto yy363;
+ goto yy44;
+yy279:
+ YYDEBUG(279, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
+ YYDEBUG(280, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_USE;
+}
+yy281:
+ YYDEBUG(281, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
+ YYDEBUG(282, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_VAR;
+}
+yy283:
+ YYDEBUG(283, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'L') goto yy364;
+ if (yych == 'l') goto yy364;
+ goto yy44;
+yy284:
+ YYDEBUG(284, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
+ YYDEBUG(285, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_LOGICAL_XOR;
+}
+yy286:
+ YYDEBUG(286, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'L') goto yy365;
+ if (yych == 'l') goto yy365;
+ goto yy44;
+yy287:
+ YYDEBUG(287, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'L') goto yy366;
+ if (yych == 'l') goto yy366;
+ goto yy44;
+yy288:
+ YYDEBUG(288, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'I') goto yy367;
+ if (yych == 'i') goto yy367;
+ goto yy44;
+yy289:
+ YYDEBUG(289, *YYCURSOR);
+ yych = *++YYCURSOR;
+ {
+ static void *yytarget[256] = {
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy368, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy369, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy368, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy369, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
+ };
+ goto *yytarget[yych];
+ }
+yy290:
+ YYDEBUG(290, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'A') goto yy370;
+ if (yych == 'a') goto yy370;
+ goto yy44;
+yy291:
+ YYDEBUG(291, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'I') goto yy371;
+ if (yych == 'i') goto yy371;
+ goto yy44;
+yy292:
+ YYDEBUG(292, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'E') goto yy372;
+ if (yych == 'e') goto yy372;
+ goto yy44;
+yy293:
+ YYDEBUG(293, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'A') goto yy373;
+ if (yych == 'a') goto yy373;
+ goto yy44;
+yy294:
+ YYDEBUG(294, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'R') goto yy374;
+ if (yych == 'r') goto yy374;
+ goto yy44;
+yy295:
+ YYDEBUG(295, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'A') goto yy375;
+ if (yych == 'a') goto yy375;
+ goto yy82;
+yy296:
+ YYDEBUG(296, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'A') goto yy376;
+ if (yych == 'a') goto yy376;
+ goto yy82;
+yy297:
+ YYDEBUG(297, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'L') goto yy377;
+ if (yych == 'l') goto yy377;
+ goto yy82;
+yy298:
+ YYDEBUG(298, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'B') goto yy378;
+ if (yych == 'b') goto yy378;
+ goto yy82;
+yy299:
+ YYDEBUG(299, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'A') goto yy379;
+ if (yych == 'a') goto yy379;
+ goto yy82;
+yy300:
+ YYDEBUG(300, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'E') goto yy384;
+ if (yych == 'e') goto yy384;
+ goto yy381;
+yy301:
+ YYDEBUG(301, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'E') goto yy385;
+ if (yych == 'e') goto yy385;
+ goto yy82;
+yy302:
+ YYDEBUG(302, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'L') goto yy386;
+ if (yych == 'l') goto yy386;
+ goto yy82;
+yy303:
+ YYDEBUG(303, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'I') goto yy388;
+ if (yych == 'i') goto yy388;
+ goto yy82;
+yy304:
+ YYDEBUG(304, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'E') goto yy389;
+ if (yych == 'e') goto yy389;
+ goto yy82;
+yy305:
+ YYDEBUG(305, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
+ YYDEBUG(306, *YYCURSOR);
+ if (yych <= '\f') {
+ if (yych <= 0x08) goto yy113;
+ if (yych <= '\n') goto yy305;
+ goto yy113;
+ } else {
+ if (yych <= '\r') goto yy305;
+ if (yych == ' ') goto yy305;
+ goto yy113;
+ }
+yy307:
+ YYDEBUG(307, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '"') goto yy82;
+ if (yych <= '/') goto yy391;
+ if (yych <= '9') goto yy82;
+ goto yy391;
+yy308:
+ YYDEBUG(308, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '\'') goto yy82;
+ if (yych <= '/') goto yy393;
+ if (yych <= '9') goto yy82;
+ goto yy393;
+yy309:
+ YYDEBUG(309, *YYCURSOR);
+ ++YYCURSOR;
+ YYFILL(2);
+ yych = *YYCURSOR;
+ YYDEBUG(310, *YYCURSOR);
+ {
+ static void *yytarget[256] = {
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy394, &&yy82, &&yy82, &&yy396, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy82, &&yy82, &&yy82, &&yy82, &&yy309,
+ &&yy82, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy82, &&yy82, &&yy82, &&yy82, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309
+ };
+ goto *yytarget[yych];
+ }
yy311:
YYDEBUG(311, *YYCURSOR);
yych = *++YYCURSOR;
- goto yy219;
+ if (yych == 'R') goto yy397;
+ if (yych == 'r') goto yy397;
+ goto yy44;
yy312:
YYDEBUG(312, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '\n') goto yy311;
- goto yy219;
+ if (yych == 'Y') goto yy398;
+ if (yych == 'y') goto yy398;
+ goto yy44;
yy313:
YYDEBUG(313, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy395;
- if (yych == 't') goto yy395;
- goto yy128;
+ if (yych == 'K') goto yy400;
+ if (yych == 'k') goto yy400;
+ goto yy44;
yy314:
YYDEBUG(314, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
+ yych = *++YYCURSOR;
+ if (yych == 'A') goto yy402;
+ if (yych == 'a') goto yy402;
+ goto yy44;
+yy315:
YYDEBUG(315, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
+ YYDEBUG(316, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- return T_LOGICAL_AND;
+ return T_CASE;
}
-yy316:
- YYDEBUG(316, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy396;
- if (yych == 'a') goto yy396;
- goto yy128;
yy317:
YYDEBUG(317, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '<') goto yy303;
- goto yy166;
+ if (yych == 'H') goto yy403;
+ if (yych == 'h') goto yy403;
+ goto yy44;
yy318:
YYDEBUG(318, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy397;
- if (yych == 'a') goto yy397;
- goto yy128;
+ if (yych == 'S') goto yy405;
+ if (yych == 's') goto yy405;
+ goto yy44;
yy319:
YYDEBUG(319, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'L') goto yy398;
- if (yych == 'l') goto yy398;
- goto yy128;
+ if (yych == 'E') goto yy407;
+ if (yych == 'e') goto yy407;
+ goto yy44;
yy320:
YYDEBUG(320, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy399;
- if (yych == 'e') goto yy399;
- goto yy128;
+ if (yych == 'T') goto yy409;
+ if (yych == 't') goto yy409;
+ goto yy44;
yy321:
YYDEBUG(321, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'C') goto yy401;
- if (yych == 'c') goto yy401;
- goto yy128;
+ if (yych == 'I') goto yy411;
+ if (yych == 'i') goto yy411;
+ goto yy44;
yy322:
YYDEBUG(322, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'S') goto yy402;
- if (yych == 's') goto yy402;
- goto yy128;
+ if (yych == 'A') goto yy412;
+ if (yych == 'a') goto yy412;
+ goto yy44;
yy323:
YYDEBUG(323, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'N') goto yy403;
- if (yych == 'n') goto yy403;
- goto yy128;
+ if (yych == 'U') goto yy413;
+ if (yych == 'u') goto yy413;
+ goto yy44;
yy324:
YYDEBUG(324, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych <= 'T') {
- if (yych <= 'R') goto yy128;
- if (yych <= 'S') goto yy404;
- goto yy405;
- } else {
- if (yych <= 'r') goto yy128;
- if (yych <= 's') goto yy404;
- if (yych <= 't') goto yy405;
- goto yy128;
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
-yy325:
YYDEBUG(325, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy406;
- if (yych == 'l') goto yy406;
- goto yy128;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_ECHO;
+}
yy326:
YYDEBUG(326, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy407;
- if (yych == 'a') goto yy407;
- goto yy128;
+ {
+ static void *yytarget[256] = {
+ &&yy327, &&yy327, &&yy327, &&yy327, &&yy327, &&yy327, &&yy327, &&yy327,
+ &&yy327, &&yy327, &&yy327, &&yy327, &&yy327, &&yy327, &&yy327, &&yy327,
+ &&yy327, &&yy327, &&yy327, &&yy327, &&yy327, &&yy327, &&yy327, &&yy327,
+ &&yy327, &&yy327, &&yy327, &&yy327, &&yy327, &&yy327, &&yy327, &&yy327,
+ &&yy327, &&yy327, &&yy327, &&yy327, &&yy327, &&yy327, &&yy327, &&yy327,
+ &&yy327, &&yy327, &&yy327, &&yy327, &&yy327, &&yy327, &&yy327, &&yy327,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy327, &&yy327, &&yy327, &&yy327, &&yy327, &&yy327,
+ &&yy327, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy414, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy327, &&yy327, &&yy327, &&yy327, &&yy43,
+ &&yy327, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy414, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy327, &&yy327, &&yy327, &&yy327, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43
+ };
+ goto *yytarget[yych];
+ }
yy327:
YYDEBUG(327, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
- YYDEBUG(328, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- return T_EXIT;
+ return T_ELSE;
}
+yy328:
+ YYDEBUG(328, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'Y') goto yy415;
+ if (yych == 'y') goto yy415;
+ goto yy44;
yy329:
YYDEBUG(329, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'O') goto yy408;
- if (yych == 'o') goto yy408;
- goto yy128;
+ if (yych == 'E') goto yy417;
+ if (yych == 'e') goto yy417;
+ goto yy44;
yy330:
YYDEBUG(330, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy410;
- if (yych == 'e') goto yy410;
- goto yy128;
+ if (yych == 'O') goto yy418;
+ if (yych == 'o') goto yy418;
+ goto yy44;
yy331:
YYDEBUG(331, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy412;
- if (yych == 't') goto yy412;
- goto yy128;
+ if (yych == 'F') goto yy419;
+ if (yych == 'f') goto yy419;
+ goto yy44;
yy332:
YYDEBUG(332, *YYCURSOR);
yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy413, &&yy128, &&yy414, &&yy128,
- &&yy128, &&yy415, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy416, &&yy128, &&yy128, &&yy128, &&yy417,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy413, &&yy128, &&yy414, &&yy128,
- &&yy128, &&yy415, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy416, &&yy128, &&yy128, &&yy128, &&yy417,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128
- };
- goto *yytarget[yych];
- }
+ if (yych == 'W') goto yy421;
+ if (yych == 'w') goto yy421;
+ goto yy44;
yy333:
YYDEBUG(333, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'L') goto yy418;
- if (yych == 'l') goto yy418;
- goto yy128;
+ if (yych == 'H') goto yy422;
+ if (yych == 'h') goto yy422;
+ goto yy44;
yy334:
YYDEBUG(334, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy420;
- if (yych == 't') goto yy420;
- goto yy128;
-yy335:
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
YYDEBUG(335, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy422;
- if (yych == 'e') goto yy422;
- goto yy128;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_EVAL;
+}
yy336:
YYDEBUG(336, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy423;
- if (yych == 'a') goto yy423;
- goto yy128;
-yy337:
- YYDEBUG(337, *YYCURSOR);
- ++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy338, &&yy338, &&yy338, &&yy338, &&yy338, &&yy338, &&yy338, &&yy338,
- &&yy338, &&yy338, &&yy338, &&yy338, &&yy338, &&yy338, &&yy338, &&yy338,
- &&yy338, &&yy338, &&yy338, &&yy338, &&yy338, &&yy338, &&yy338, &&yy338,
- &&yy338, &&yy338, &&yy338, &&yy338, &&yy338, &&yy338, &&yy338, &&yy338,
- &&yy338, &&yy338, &&yy338, &&yy338, &&yy338, &&yy338, &&yy338, &&yy338,
- &&yy338, &&yy338, &&yy338, &&yy338, &&yy338, &&yy338, &&yy338, &&yy338,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy338, &&yy338, &&yy338, &&yy338, &&yy338, &&yy338,
- &&yy338, &&yy127, &&yy127, &&yy127, &&yy127, &&yy424, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy338, &&yy338, &&yy338, &&yy338, &&yy127,
- &&yy338, &&yy127, &&yy127, &&yy127, &&yy127, &&yy424, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy338, &&yy338, &&yy338, &&yy338, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127
- };
- goto *yytarget[(yych = *YYCURSOR)];
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
-yy338:
- YYDEBUG(338, *YYCURSOR);
+ YYDEBUG(337, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- return T_FOR;
+ return T_EXIT;
}
+yy338:
+ YYDEBUG(338, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'N') goto yy423;
+ if (yych == 'n') goto yy423;
+ goto yy44;
yy339:
YYDEBUG(339, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'C') goto yy425;
- if (yych == 'c') goto yy425;
- goto yy128;
+ if (yych == 'L') goto yy424;
+ if (yych == 'l') goto yy424;
+ goto yy44;
yy340:
YYDEBUG(340, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'B') goto yy426;
- if (yych == 'b') goto yy426;
- goto yy128;
+ if (yych == 'A') goto yy426;
+ if (yych == 'a') goto yy426;
+ goto yy44;
yy341:
YYDEBUG(341, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'O') goto yy427;
- if (yych == 'o') goto yy427;
- goto yy128;
+ if (yych == 'T') goto yy427;
+ if (yych == 't') goto yy427;
+ goto yy44;
yy342:
YYDEBUG(342, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'L') goto yy429;
- if (yych == 'l') goto yy429;
- goto yy128;
+ if (yych == 'A') goto yy428;
+ if (yych == 'a') goto yy428;
+ goto yy44;
yy343:
YYDEBUG(343, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'L') goto yy430;
- if (yych == 'l') goto yy430;
- goto yy128;
-yy344:
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
YYDEBUG(344, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy431;
- if (yych == 't') goto yy431;
- goto yy128;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_GOTO;
+}
yy345:
YYDEBUG(345, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy432;
- if (yych == 'e') goto yy432;
- goto yy128;
+ if (yych == 'E') goto yy429;
+ if (yych == 'e') goto yy429;
+ goto yy44;
yy346:
YYDEBUG(346, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy433;
- if (yych == 'e') goto yy433;
- goto yy128;
+ if (yych == 'U') goto yy430;
+ if (yych == 'u') goto yy430;
+ goto yy44;
yy347:
YYDEBUG(347, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy434;
- if (yych == 't') goto yy434;
- goto yy128;
+ {
+ static void *yytarget[256] = {
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy431, &&yy44, &&yy44, &&yy44, &&yy432, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy431, &&yy44, &&yy44, &&yy44, &&yy432, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
+ };
+ goto *yytarget[yych];
+ }
yy348:
YYDEBUG(348, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy436;
- if (yych == 'e') goto yy436;
- goto yy128;
+ if (yych == 'R') goto yy433;
+ if (yych == 'r') goto yy433;
+ goto yy44;
yy349:
YYDEBUG(349, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
+ yych = *++YYCURSOR;
+ if (yych == 'T') goto yy434;
+ if (yych == 't') goto yy434;
+ goto yy44;
+yy350:
YYDEBUG(350, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
+ YYDEBUG(351, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- return T_NEW;
+ return T_LIST;
}
-yy351:
- YYDEBUG(351, *YYCURSOR);
- yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy437, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy438, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy437, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy438, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128
- };
- goto *yytarget[yych];
- }
yy352:
YYDEBUG(352, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy439;
- if (yych == 't') goto yy439;
- goto yy128;
+ if (yych == 'S') goto yy436;
+ if (yych == 's') goto yy436;
+ goto yy44;
yy353:
YYDEBUG(353, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'L') goto yy440;
- if (yych == 'l') goto yy440;
- goto yy128;
+ if (yych == 'T') goto yy437;
+ if (yych == 't') goto yy437;
+ goto yy44;
yy354:
YYDEBUG(354, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'U') goto yy441;
- if (yych == 'u') goto yy441;
- goto yy128;
+ if (yych == 'A') goto yy439;
+ if (yych == 'a') goto yy439;
+ goto yy44;
yy355:
YYDEBUG(355, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'U') goto yy442;
- if (yych == 'u') goto yy442;
- goto yy128;
+ if (yych == 'E') goto yy440;
+ if (yych == 'e') goto yy440;
+ goto yy44;
yy356:
YYDEBUG(356, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy443;
- if (yych == 't') goto yy443;
- goto yy128;
+ if (yych == 'I') goto yy441;
+ if (yych == 'i') goto yy441;
+ goto yy44;
yy357:
YYDEBUG(357, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy444;
- if (yych == 't') goto yy444;
- goto yy128;
+ if (yych == 'I') goto yy442;
+ if (yych == 'i') goto yy442;
+ goto yy44;
yy358:
YYDEBUG(358, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'O') goto yy445;
- if (yych == 'o') goto yy445;
- goto yy128;
+ if (yych == 'R') goto yy443;
+ if (yych == 'r') goto yy443;
+ goto yy44;
yy359:
YYDEBUG(359, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'I') goto yy446;
- if (yych == 'i') goto yy446;
- goto yy128;
+ if (yych == 'I') goto yy444;
+ if (yych == 'i') goto yy444;
+ goto yy44;
yy360:
YYDEBUG(360, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
+ yych = *++YYCURSOR;
+ if (yych == 'C') goto yy445;
+ if (yych == 'c') goto yy445;
+ goto yy44;
+yy361:
YYDEBUG(361, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_TRY;
-}
+ yych = *++YYCURSOR;
+ if (yych == 'W') goto yy446;
+ if (yych == 'w') goto yy446;
+ goto yy44;
yy362:
YYDEBUG(362, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy447;
- if (yych == 'e') goto yy447;
- goto yy128;
+ if (yych == 'T') goto yy448;
+ if (yych == 't') goto yy448;
+ goto yy44;
yy363:
YYDEBUG(363, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
+ yych = *++YYCURSOR;
+ if (yych == 'T') goto yy450;
+ if (yych == 't') goto yy450;
+ goto yy44;
+yy364:
YYDEBUG(364, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_USE;
-}
+ yych = *++YYCURSOR;
+ if (yych == 'E') goto yy452;
+ if (yych == 'e') goto yy452;
+ goto yy44;
yy365:
YYDEBUG(365, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
+ yych = *++YYCURSOR;
+ if (yych == 'D') goto yy454;
+ if (yych == 'd') goto yy454;
+ goto yy44;
+yy366:
YYDEBUG(366, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_VAR;
-}
+ yych = *++YYCURSOR;
+ if (yych == 'A') goto yy456;
+ if (yych == 'a') goto yy456;
+ goto yy44;
yy367:
YYDEBUG(367, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'L') goto yy448;
- if (yych == 'l') goto yy448;
- goto yy128;
+ if (yych == 'R') goto yy457;
+ if (yych == 'r') goto yy457;
+ goto yy44;
yy368:
YYDEBUG(368, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
+ yych = *++YYCURSOR;
+ if (yych == 'L') goto yy458;
+ if (yych == 'l') goto yy458;
+ goto yy44;
+yy369:
YYDEBUG(369, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_LOGICAL_XOR;
-}
+ yych = *++YYCURSOR;
+ if (yych == 'N') goto yy459;
+ if (yych == 'n') goto yy459;
+ goto yy44;
yy370:
YYDEBUG(370, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'L') goto yy449;
- if (yych == 'l') goto yy449;
- goto yy128;
+ if (yych == 'L') goto yy460;
+ if (yych == 'l') goto yy460;
+ goto yy44;
yy371:
YYDEBUG(371, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'L') goto yy450;
- if (yych == 'l') goto yy450;
- goto yy128;
+ if (yych == 'N') goto yy461;
+ if (yych == 'n') goto yy461;
+ goto yy44;
yy372:
YYDEBUG(372, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'I') goto yy451;
- if (yych == 'i') goto yy451;
- goto yy128;
+ if (yych == 'T') goto yy462;
+ if (yych == 't') goto yy462;
+ goto yy44;
yy373:
YYDEBUG(373, *YYCURSOR);
yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy452, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy453, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy452, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy453, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128
- };
- goto *yytarget[yych];
- }
+ if (yych == 'M') goto yy463;
+ if (yych == 'm') goto yy463;
+ goto yy44;
yy374:
YYDEBUG(374, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy454;
- if (yych == 'a') goto yy454;
- goto yy128;
+ if (yych == 'A') goto yy464;
+ if (yych == 'a') goto yy464;
+ goto yy44;
yy375:
YYDEBUG(375, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'I') goto yy455;
- if (yych == 'i') goto yy455;
- goto yy128;
+ if (yych == 'Y') goto yy465;
+ if (yych == 'y') goto yy465;
+ goto yy82;
yy376:
YYDEBUG(376, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy456;
- if (yych == 'e') goto yy456;
- goto yy128;
+ if (yych == 'R') goto yy467;
+ if (yych == 'r') goto yy467;
+ goto yy82;
yy377:
YYDEBUG(377, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy457;
- if (yych == 'a') goto yy457;
- goto yy128;
+ if (yych == 'E') goto yy472;
+ if (yych == 'e') goto yy472;
+ goto yy469;
yy378:
YYDEBUG(378, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'R') goto yy458;
- if (yych == 'r') goto yy458;
- goto yy128;
+ if (yych == 'L') goto yy473;
+ if (yych == 'l') goto yy473;
+ goto yy82;
yy379:
YYDEBUG(379, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy459;
- if (yych == 'a') goto yy459;
- goto yy166;
+ if (yych == 'T') goto yy386;
+ if (yych == 't') goto yy386;
+ goto yy82;
yy380:
YYDEBUG(380, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy460;
- if (yych == 'a') goto yy460;
- goto yy166;
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
yy381:
YYDEBUG(381, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy461;
- if (yych == 'l') goto yy461;
- goto yy166;
-yy382:
+ if (yych <= 0x1F) {
+ if (yych == '\t') goto yy380;
+ goto yy82;
+ } else {
+ if (yych <= ' ') goto yy380;
+ if (yych != ')') goto yy82;
+ }
YYDEBUG(382, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'B') goto yy462;
- if (yych == 'b') goto yy462;
- goto yy166;
-yy383:
+ ++YYCURSOR;
YYDEBUG(383, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy463;
- if (yych == 'a') goto yy463;
- goto yy166;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_INT_CAST;
+}
yy384:
YYDEBUG(384, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy468;
- if (yych == 'e') goto yy468;
- goto yy465;
+ if (yych == 'G') goto yy474;
+ if (yych == 'g') goto yy474;
+ goto yy82;
yy385:
YYDEBUG(385, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy469;
- if (yych == 'e') goto yy469;
- goto yy166;
+ if (yych == 'C') goto yy475;
+ if (yych == 'c') goto yy475;
+ goto yy82;
yy386:
YYDEBUG(386, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy470;
- if (yych == 'l') goto yy470;
- goto yy166;
-yy387:
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
YYDEBUG(387, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'I') goto yy472;
- if (yych == 'i') goto yy472;
- goto yy166;
+ if (yych <= 0x1F) {
+ if (yych == '\t') goto yy386;
+ goto yy82;
+ } else {
+ if (yych <= ' ') goto yy386;
+ if (yych == ')') goto yy476;
+ goto yy82;
+ }
yy388:
YYDEBUG(388, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy473;
- if (yych == 'e') goto yy473;
- goto yy166;
+ if (yych == 'N') goto yy478;
+ if (yych == 'n') goto yy478;
+ goto yy82;
yy389:
YYDEBUG(389, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'T') goto yy479;
+ if (yych == 't') goto yy479;
+ goto yy82;
+yy390:
+ YYDEBUG(390, *YYCURSOR);
++YYCURSOR;
- YYFILL(1);
+ YYFILL(3);
yych = *YYCURSOR;
- YYDEBUG(390, *YYCURSOR);
- if (yych <= '\f') {
- if (yych <= 0x08) goto yy197;
- if (yych <= '\n') goto yy389;
- goto yy197;
- } else {
- if (yych <= '\r') goto yy389;
- if (yych == ' ') goto yy389;
- goto yy197;
- }
yy391:
YYDEBUG(391, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '"') goto yy166;
- if (yych <= '/') goto yy475;
- if (yych <= '9') goto yy166;
- goto yy475;
+ {
+ static void *yytarget[256] = {
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy481, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy82, &&yy82, &&yy82, &&yy82, &&yy390,
+ &&yy82, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy82, &&yy82, &&yy82, &&yy82, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390
+ };
+ goto *yytarget[yych];
+ }
yy392:
YYDEBUG(392, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '\'') goto yy166;
- if (yych <= '/') goto yy477;
- if (yych <= '9') goto yy166;
- goto yy477;
-yy393:
- YYDEBUG(393, *YYCURSOR);
++YYCURSOR;
- YYFILL(2);
+ YYFILL(3);
yych = *YYCURSOR;
- YYDEBUG(394, *YYCURSOR);
+yy393:
+ YYDEBUG(393, *YYCURSOR);
{
static void *yytarget[256] = {
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy478, &&yy166, &&yy166, &&yy480, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy166, &&yy166, &&yy166, &&yy166, &&yy393,
- &&yy166, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy166, &&yy166, &&yy166, &&yy166, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393,
- &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393, &&yy393
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy481,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy82, &&yy82, &&yy82, &&yy82, &&yy392,
+ &&yy82, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy82, &&yy82, &&yy82, &&yy82, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392
};
goto *yytarget[yych];
}
+yy394:
+ YYDEBUG(394, *YYCURSOR);
+ ++YYCURSOR;
yy395:
YYDEBUG(395, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy481;
- if (yych == 'r') goto yy481;
- goto yy128;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ char *s;
+ int bprefix = (yytext[0] != '<') ? 1 : 0;
+ zend_heredoc_label *heredoc_label = emalloc(sizeof(zend_heredoc_label));
+
+ CG(zend_lineno)++;
+ heredoc_label->length = yyleng-bprefix-3-1-(yytext[yyleng-2]=='\r'?1:0);
+ s = yytext+bprefix+3;
+ while ((*s == ' ') || (*s == '\t')) {
+ s++;
+ heredoc_label->length--;
+ }
+
+ if (*s == '\'') {
+ s++;
+ heredoc_label->length -= 2;
+
+ BEGIN(ST_NOWDOC);
+ } else {
+ if (*s == '"') {
+ s++;
+ heredoc_label->length -= 2;
+ }
+
+ BEGIN(ST_HEREDOC);
+ }
+
+ heredoc_label->label = estrndup(s, heredoc_label->length);
+
+ /* Check for ending label on the next line */
+ if (heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, s, heredoc_label->length)) {
+ YYCTYPE *end = YYCURSOR + heredoc_label->length;
+
+ if (*end == ';') {
+ end++;
+ }
+
+ if (*end == '\n' || *end == '\r') {
+ BEGIN(ST_END_HEREDOC);
+ }
+ }
+
+ zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) heredoc_label);
+
+ return T_START_HEREDOC;
+}
yy396:
YYDEBUG(396, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'Y') goto yy482;
- if (yych == 'y') goto yy482;
- goto yy128;
+ if (yych == '\n') goto yy394;
+ goto yy395;
yy397:
YYDEBUG(397, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'K') goto yy484;
- if (yych == 'k') goto yy484;
- goto yy128;
+ if (yych == 'A') goto yy482;
+ if (yych == 'a') goto yy482;
+ goto yy44;
yy398:
YYDEBUG(398, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy486;
- if (yych == 'a') goto yy486;
- goto yy128;
-yy399:
- YYDEBUG(399, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- YYDEBUG(400, *YYCURSOR);
+ YYDEBUG(399, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- return T_CASE;
+ return T_ARRAY;
}
-yy401:
- YYDEBUG(401, *YYCURSOR);
+yy400:
+ YYDEBUG(400, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'H') goto yy487;
- if (yych == 'h') goto yy487;
- goto yy128;
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
+ YYDEBUG(401, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_BREAK;
+}
yy402:
YYDEBUG(402, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'S') goto yy489;
- if (yych == 's') goto yy489;
- goto yy128;
+ if (yych == 'B') goto yy483;
+ if (yych == 'b') goto yy483;
+ goto yy44;
yy403:
YYDEBUG(403, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy491;
- if (yych == 'e') goto yy491;
- goto yy128;
-yy404:
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
YYDEBUG(404, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy493;
- if (yych == 't') goto yy493;
- goto yy128;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_CATCH;
+}
yy405:
YYDEBUG(405, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'I') goto yy495;
- if (yych == 'i') goto yy495;
- goto yy128;
-yy406:
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
YYDEBUG(406, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy496;
- if (yych == 'a') goto yy496;
- goto yy128;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_CLASS;
+}
yy407:
YYDEBUG(407, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'U') goto yy497;
- if (yych == 'u') goto yy497;
- goto yy128;
-yy408:
- YYDEBUG(408, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- YYDEBUG(409, *YYCURSOR);
+ YYDEBUG(408, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- return T_ECHO;
+ return T_CLONE;
}
-yy410:
- YYDEBUG(410, *YYCURSOR);
- ++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy411, &&yy411, &&yy411, &&yy411, &&yy411, &&yy411, &&yy411, &&yy411,
- &&yy411, &&yy411, &&yy411, &&yy411, &&yy411, &&yy411, &&yy411, &&yy411,
- &&yy411, &&yy411, &&yy411, &&yy411, &&yy411, &&yy411, &&yy411, &&yy411,
- &&yy411, &&yy411, &&yy411, &&yy411, &&yy411, &&yy411, &&yy411, &&yy411,
- &&yy411, &&yy411, &&yy411, &&yy411, &&yy411, &&yy411, &&yy411, &&yy411,
- &&yy411, &&yy411, &&yy411, &&yy411, &&yy411, &&yy411, &&yy411, &&yy411,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy411, &&yy411, &&yy411, &&yy411, &&yy411, &&yy411,
- &&yy411, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy498, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy411, &&yy411, &&yy411, &&yy411, &&yy127,
- &&yy411, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy498, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy411, &&yy411, &&yy411, &&yy411, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127
- };
- goto *yytarget[(yych = *YYCURSOR)];
+yy409:
+ YYDEBUG(409, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
-yy411:
- YYDEBUG(411, *YYCURSOR);
+ YYDEBUG(410, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- return T_ELSE;
+ return T_CONST;
}
+yy411:
+ YYDEBUG(411, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'N') goto yy484;
+ if (yych == 'n') goto yy484;
+ goto yy44;
yy412:
YYDEBUG(412, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'Y') goto yy499;
- if (yych == 'y') goto yy499;
- goto yy128;
+ if (yych == 'R') goto yy485;
+ if (yych == 'r') goto yy485;
+ goto yy44;
yy413:
YYDEBUG(413, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy501;
- if (yych == 'e') goto yy501;
- goto yy128;
+ if (yych == 'L') goto yy486;
+ if (yych == 'l') goto yy486;
+ goto yy44;
yy414:
YYDEBUG(414, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'O') goto yy502;
- if (yych == 'o') goto yy502;
- goto yy128;
+ if (yych == 'F') goto yy487;
+ if (yych == 'f') goto yy487;
+ goto yy44;
yy415:
YYDEBUG(415, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'F') goto yy503;
- if (yych == 'f') goto yy503;
- goto yy128;
-yy416:
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
YYDEBUG(416, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'W') goto yy505;
- if (yych == 'w') goto yy505;
- goto yy128;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_EMPTY;
+}
yy417:
YYDEBUG(417, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'H') goto yy506;
- if (yych == 'h') goto yy506;
- goto yy128;
+ if (yych == 'C') goto yy489;
+ if (yych == 'c') goto yy489;
+ goto yy44;
yy418:
YYDEBUG(418, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
+ yych = *++YYCURSOR;
+ if (yych == 'R') goto yy490;
+ if (yych == 'r') goto yy490;
+ goto yy44;
+yy419:
YYDEBUG(419, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_EVAL;
-}
-yy420:
- YYDEBUG(420, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- YYDEBUG(421, *YYCURSOR);
+ YYDEBUG(420, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- return T_EXIT;
+ return T_ENDIF;
}
+yy421:
+ YYDEBUG(421, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'I') goto yy492;
+ if (yych == 'i') goto yy492;
+ goto yy44;
yy422:
YYDEBUG(422, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'N') goto yy507;
- if (yych == 'n') goto yy507;
- goto yy128;
+ if (yych == 'I') goto yy493;
+ if (yych == 'i') goto yy493;
+ goto yy44;
yy423:
YYDEBUG(423, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'L') goto yy508;
- if (yych == 'l') goto yy508;
- goto yy128;
+ if (yych == 'D') goto yy494;
+ if (yych == 'd') goto yy494;
+ goto yy44;
yy424:
YYDEBUG(424, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy510;
- if (yych == 'a') goto yy510;
- goto yy128;
+ {
+ static void *yytarget[256] = {
+ &&yy425, &&yy425, &&yy425, &&yy425, &&yy425, &&yy425, &&yy425, &&yy425,
+ &&yy425, &&yy425, &&yy425, &&yy425, &&yy425, &&yy425, &&yy425, &&yy425,
+ &&yy425, &&yy425, &&yy425, &&yy425, &&yy425, &&yy425, &&yy425, &&yy425,
+ &&yy425, &&yy425, &&yy425, &&yy425, &&yy425, &&yy425, &&yy425, &&yy425,
+ &&yy425, &&yy425, &&yy425, &&yy425, &&yy425, &&yy425, &&yy425, &&yy425,
+ &&yy425, &&yy425, &&yy425, &&yy425, &&yy425, &&yy425, &&yy425, &&yy425,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy425, &&yy425, &&yy425, &&yy425, &&yy425, &&yy425,
+ &&yy425, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy495, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy425, &&yy425, &&yy425, &&yy425, &&yy43,
+ &&yy425, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy495, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy425, &&yy425, &&yy425, &&yy425, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43
+ };
+ goto *yytarget[yych];
+ }
yy425:
YYDEBUG(425, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy511;
- if (yych == 't') goto yy511;
- goto yy128;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_FINAL;
+}
yy426:
YYDEBUG(426, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy512;
- if (yych == 'a') goto yy512;
- goto yy128;
+ if (yych == 'C') goto yy496;
+ if (yych == 'c') goto yy496;
+ goto yy44;
yy427:
YYDEBUG(427, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
+ yych = *++YYCURSOR;
+ if (yych == 'I') goto yy497;
+ if (yych == 'i') goto yy497;
+ goto yy44;
+yy428:
YYDEBUG(428, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_GOTO;
-}
+ yych = *++YYCURSOR;
+ if (yych == 'L') goto yy498;
+ if (yych == 'l') goto yy498;
+ goto yy44;
yy429:
YYDEBUG(429, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy513;
- if (yych == 'e') goto yy513;
- goto yy128;
+ if (yych == 'M') goto yy500;
+ if (yych == 'm') goto yy500;
+ goto yy44;
yy430:
YYDEBUG(430, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'U') goto yy514;
- if (yych == 'u') goto yy514;
- goto yy128;
+ if (yych == 'D') goto yy501;
+ if (yych == 'd') goto yy501;
+ goto yy44;
yy431:
YYDEBUG(431, *YYCURSOR);
yych = *++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy515, &&yy128, &&yy128, &&yy128, &&yy516, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy515, &&yy128, &&yy128, &&yy128, &&yy516, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128,
- &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128, &&yy128
- };
- goto *yytarget[yych];
- }
+ if (yych == 'N') goto yy502;
+ if (yych == 'n') goto yy502;
+ goto yy44;
yy432:
YYDEBUG(432, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'R') goto yy517;
- if (yych == 'r') goto yy517;
- goto yy128;
+ if (yych == 'A') goto yy503;
+ if (yych == 'a') goto yy503;
+ goto yy44;
yy433:
YYDEBUG(433, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy518;
- if (yych == 't') goto yy518;
- goto yy128;
+ if (yych == 'F') goto yy504;
+ if (yych == 'f') goto yy504;
+ goto yy44;
yy434:
YYDEBUG(434, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
YYDEBUG(435, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- return T_LIST;
+ return T_ISSET;
}
yy436:
YYDEBUG(436, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'S') goto yy520;
- if (yych == 's') goto yy520;
- goto yy128;
+ if (yych == 'P') goto yy505;
+ if (yych == 'p') goto yy505;
+ goto yy44;
yy437:
YYDEBUG(437, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy521;
- if (yych == 't') goto yy521;
- goto yy128;
-yy438:
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
YYDEBUG(438, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy523;
- if (yych == 'a') goto yy523;
- goto yy128;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_PRINT;
+}
yy439:
YYDEBUG(439, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy524;
- if (yych == 'e') goto yy524;
- goto yy128;
+ if (yych == 'T') goto yy506;
+ if (yych == 't') goto yy506;
+ goto yy44;
yy440:
YYDEBUG(440, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'I') goto yy525;
- if (yych == 'i') goto yy525;
- goto yy128;
+ if (yych == 'C') goto yy507;
+ if (yych == 'c') goto yy507;
+ goto yy44;
yy441:
YYDEBUG(441, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'I') goto yy526;
- if (yych == 'i') goto yy526;
- goto yy128;
+ if (yych == 'C') goto yy508;
+ if (yych == 'c') goto yy508;
+ goto yy44;
yy442:
YYDEBUG(442, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'R') goto yy527;
- if (yych == 'r') goto yy527;
- goto yy128;
+ if (yych == 'R') goto yy510;
+ if (yych == 'r') goto yy510;
+ goto yy44;
yy443:
YYDEBUG(443, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'I') goto yy528;
- if (yych == 'i') goto yy528;
- goto yy128;
+ if (yych == 'N') goto yy511;
+ if (yych == 'n') goto yy511;
+ goto yy44;
yy444:
YYDEBUG(444, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'C') goto yy529;
- if (yych == 'c') goto yy529;
- goto yy128;
+ if (yych == 'C') goto yy513;
+ if (yych == 'c') goto yy513;
+ goto yy44;
yy445:
YYDEBUG(445, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'W') goto yy530;
- if (yych == 'w') goto yy530;
- goto yy128;
+ if (yych == 'H') goto yy515;
+ if (yych == 'h') goto yy515;
+ goto yy44;
yy446:
YYDEBUG(446, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy532;
- if (yych == 't') goto yy532;
- goto yy128;
-yy447:
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
YYDEBUG(447, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy534;
- if (yych == 't') goto yy534;
- goto yy128;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_THROW;
+}
yy448:
YYDEBUG(448, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy536;
- if (yych == 'e') goto yy536;
- goto yy128;
-yy449:
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
YYDEBUG(449, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'D') goto yy538;
- if (yych == 'd') goto yy538;
- goto yy128;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_TRAIT;
+}
yy450:
YYDEBUG(450, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy540;
- if (yych == 'a') goto yy540;
- goto yy128;
-yy451:
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
YYDEBUG(451, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy541;
- if (yych == 'r') goto yy541;
- goto yy128;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_UNSET;
+}
yy452:
YYDEBUG(452, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'L') goto yy542;
- if (yych == 'l') goto yy542;
- goto yy128;
-yy453:
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
YYDEBUG(453, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy543;
- if (yych == 'n') goto yy543;
- goto yy128;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_WHILE;
+}
yy454:
YYDEBUG(454, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'L') goto yy544;
- if (yych == 'l') goto yy544;
- goto yy128;
-yy455:
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
YYDEBUG(455, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy545;
- if (yych == 'n') goto yy545;
- goto yy128;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_YIELD;
+}
yy456:
YYDEBUG(456, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy546;
- if (yych == 't') goto yy546;
- goto yy128;
+ if (yych == 'S') goto yy517;
+ if (yych == 's') goto yy517;
+ goto yy44;
yy457:
YYDEBUG(457, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'M') goto yy547;
- if (yych == 'm') goto yy547;
- goto yy128;
+ if (yych == '_') goto yy518;
+ goto yy44;
yy458:
YYDEBUG(458, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy548;
- if (yych == 'a') goto yy548;
- goto yy128;
+ if (yych == 'E') goto yy519;
+ if (yych == 'e') goto yy519;
+ goto yy44;
yy459:
YYDEBUG(459, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'Y') goto yy549;
- if (yych == 'y') goto yy549;
- goto yy166;
+ if (yych == 'C') goto yy520;
+ if (yych == 'c') goto yy520;
+ goto yy44;
yy460:
YYDEBUG(460, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'R') goto yy551;
- if (yych == 'r') goto yy551;
- goto yy166;
+ if (yych == 'T') goto yy521;
+ if (yych == 't') goto yy521;
+ goto yy44;
yy461:
YYDEBUG(461, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy556;
- if (yych == 'e') goto yy556;
- goto yy553;
+ if (yych == 'E') goto yy522;
+ if (yych == 'e') goto yy522;
+ goto yy44;
yy462:
YYDEBUG(462, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'L') goto yy557;
- if (yych == 'l') goto yy557;
- goto yy166;
+ if (yych == 'H') goto yy523;
+ if (yych == 'h') goto yy523;
+ goto yy44;
yy463:
YYDEBUG(463, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy470;
- if (yych == 't') goto yy470;
- goto yy166;
+ if (yych == 'E') goto yy524;
+ if (yych == 'e') goto yy524;
+ goto yy44;
yy464:
YYDEBUG(464, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'I') goto yy525;
+ if (yych == 'i') goto yy525;
+ goto yy44;
+yy465:
+ YYDEBUG(465, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
-yy465:
- YYDEBUG(465, *YYCURSOR);
+ YYDEBUG(466, *YYCURSOR);
if (yych <= 0x1F) {
- if (yych == '\t') goto yy464;
- goto yy166;
+ if (yych == '\t') goto yy465;
+ goto yy82;
} else {
- if (yych <= ' ') goto yy464;
- if (yych != ')') goto yy166;
+ if (yych <= ' ') goto yy465;
+ if (yych == ')') goto yy526;
+ goto yy82;
}
- YYDEBUG(466, *YYCURSOR);
- ++YYCURSOR;
+yy467:
YYDEBUG(467, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_INT_CAST;
-}
+ yych = *++YYCURSOR;
+ if (yych == 'Y') goto yy528;
+ if (yych == 'y') goto yy528;
+ goto yy82;
yy468:
YYDEBUG(468, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'G') goto yy558;
- if (yych == 'g') goto yy558;
- goto yy166;
-yy469:
- YYDEBUG(469, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy559;
- if (yych == 'c') goto yy559;
- goto yy166;
-yy470:
- YYDEBUG(470, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(471, *YYCURSOR);
+yy469:
+ YYDEBUG(469, *YYCURSOR);
if (yych <= 0x1F) {
- if (yych == '\t') goto yy470;
- goto yy166;
+ if (yych == '\t') goto yy468;
+ goto yy82;
} else {
- if (yych <= ' ') goto yy470;
- if (yych == ')') goto yy560;
- goto yy166;
+ if (yych <= ' ') goto yy468;
+ if (yych != ')') goto yy82;
}
+ YYDEBUG(470, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(471, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_BOOL_CAST;
+}
yy472:
YYDEBUG(472, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'N') goto yy562;
- if (yych == 'n') goto yy562;
- goto yy166;
+ if (yych == 'A') goto yy530;
+ if (yych == 'a') goto yy530;
+ goto yy82;
yy473:
YYDEBUG(473, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy563;
- if (yych == 't') goto yy563;
- goto yy166;
+ if (yych == 'E') goto yy386;
+ if (yych == 'e') goto yy386;
+ goto yy82;
yy474:
YYDEBUG(474, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(3);
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych == 'E') goto yy531;
+ if (yych == 'e') goto yy531;
+ goto yy82;
yy475:
YYDEBUG(475, *YYCURSOR);
- {
- static void *yytarget[256] = {
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy565, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474,
- &&yy474, &&yy474, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474,
- &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474,
- &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474,
- &&yy474, &&yy474, &&yy474, &&yy166, &&yy166, &&yy166, &&yy166, &&yy474,
- &&yy166, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474,
- &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474,
- &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474,
- &&yy474, &&yy474, &&yy474, &&yy166, &&yy166, &&yy166, &&yy166, &&yy474,
- &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474,
- &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474,
- &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474,
- &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474,
- &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474,
- &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474,
- &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474,
- &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474,
- &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474,
- &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474,
- &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474,
- &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474,
- &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474,
- &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474,
- &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474,
- &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474, &&yy474
- };
- goto *yytarget[yych];
- }
+ yych = *++YYCURSOR;
+ if (yych == 'T') goto yy532;
+ if (yych == 't') goto yy532;
+ goto yy82;
yy476:
YYDEBUG(476, *YYCURSOR);
++YYCURSOR;
- YYFILL(3);
- yych = *YYCURSOR;
-yy477:
YYDEBUG(477, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
{
- static void *yytarget[256] = {
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy565,
- &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476,
- &&yy476, &&yy476, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166, &&yy166,
- &&yy166, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476,
- &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476,
- &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476,
- &&yy476, &&yy476, &&yy476, &&yy166, &&yy166, &&yy166, &&yy166, &&yy476,
- &&yy166, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476,
- &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476,
- &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476,
- &&yy476, &&yy476, &&yy476, &&yy166, &&yy166, &&yy166, &&yy166, &&yy476,
- &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476,
- &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476,
- &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476,
- &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476,
- &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476,
- &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476,
- &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476,
- &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476,
- &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476,
- &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476,
- &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476,
- &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476,
- &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476,
- &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476,
- &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476,
- &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476, &&yy476
- };
- goto *yytarget[yych];
- }
+ return T_DOUBLE_CAST;
+}
yy478:
YYDEBUG(478, *YYCURSOR);
- ++YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych == 'G') goto yy528;
+ if (yych == 'g') goto yy528;
+ goto yy82;
yy479:
YYDEBUG(479, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- char *s;
- int bprefix = (yytext[0] != '<') ? 1 : 0;
- zend_heredoc_label *heredoc_label = emalloc(sizeof(zend_heredoc_label));
-
- CG(zend_lineno)++;
- heredoc_label->length = yyleng-bprefix-3-1-(yytext[yyleng-2]=='\r'?1:0);
- s = yytext+bprefix+3;
- while ((*s == ' ') || (*s == '\t')) {
- s++;
- heredoc_label->length--;
- }
-
- if (*s == '\'') {
- s++;
- heredoc_label->length -= 2;
-
- BEGIN(ST_NOWDOC);
- } else {
- if (*s == '"') {
- s++;
- heredoc_label->length -= 2;
- }
-
- BEGIN(ST_HEREDOC);
- }
-
- heredoc_label->label = estrndup(s, heredoc_label->length);
-
- /* Check for ending label on the next line */
- if (heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, s, heredoc_label->length)) {
- YYCTYPE *end = YYCURSOR + heredoc_label->length;
-
- if (*end == ';') {
- end++;
- }
-
- if (*end == '\n' || *end == '\r') {
- BEGIN(ST_END_HEREDOC);
- }
- }
-
- zend_ptr_stack_push(&SCNG(heredoc_label_stack), (void *) heredoc_label);
-
- return T_START_HEREDOC;
-}
-yy480:
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
YYDEBUG(480, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '\n') goto yy478;
- goto yy479;
+ if (yych <= 0x1F) {
+ if (yych == '\t') goto yy479;
+ goto yy82;
+ } else {
+ if (yych <= ' ') goto yy479;
+ if (yych == ')') goto yy534;
+ goto yy82;
+ }
yy481:
YYDEBUG(481, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy566;
- if (yych == 'a') goto yy566;
- goto yy128;
+ if (yych == '\n') goto yy394;
+ if (yych == '\r') goto yy396;
+ goto yy82;
yy482:
YYDEBUG(482, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
+ yych = *++YYCURSOR;
+ if (yych == 'C') goto yy536;
+ if (yych == 'c') goto yy536;
+ goto yy44;
+yy483:
YYDEBUG(483, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_ARRAY;
-}
+ yych = *++YYCURSOR;
+ if (yych == 'L') goto yy537;
+ if (yych == 'l') goto yy537;
+ goto yy44;
yy484:
YYDEBUG(484, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
+ yych = *++YYCURSOR;
+ if (yych == 'U') goto yy538;
+ if (yych == 'u') goto yy538;
+ goto yy44;
+yy485:
YYDEBUG(485, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_BREAK;
-}
+ yych = *++YYCURSOR;
+ if (yych == 'E') goto yy539;
+ if (yych == 'e') goto yy539;
+ goto yy44;
yy486:
YYDEBUG(486, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'B') goto yy567;
- if (yych == 'b') goto yy567;
- goto yy128;
+ if (yych == 'T') goto yy541;
+ if (yych == 't') goto yy541;
+ goto yy44;
yy487:
YYDEBUG(487, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
YYDEBUG(488, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- return T_CATCH;
+ return T_ELSEIF;
}
yy489:
YYDEBUG(489, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
+ yych = *++YYCURSOR;
+ if (yych == 'L') goto yy543;
+ if (yych == 'l') goto yy543;
+ goto yy44;
+yy490:
YYDEBUG(490, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
+ yych = *++YYCURSOR;
{
- return T_CLASS;
-}
+ static void *yytarget[256] = {
+ &&yy491, &&yy491, &&yy491, &&yy491, &&yy491, &&yy491, &&yy491, &&yy491,
+ &&yy491, &&yy491, &&yy491, &&yy491, &&yy491, &&yy491, &&yy491, &&yy491,
+ &&yy491, &&yy491, &&yy491, &&yy491, &&yy491, &&yy491, &&yy491, &&yy491,
+ &&yy491, &&yy491, &&yy491, &&yy491, &&yy491, &&yy491, &&yy491, &&yy491,
+ &&yy491, &&yy491, &&yy491, &&yy491, &&yy491, &&yy491, &&yy491, &&yy491,
+ &&yy491, &&yy491, &&yy491, &&yy491, &&yy491, &&yy491, &&yy491, &&yy491,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy491, &&yy491, &&yy491, &&yy491, &&yy491, &&yy491,
+ &&yy491, &&yy43, &&yy43, &&yy43, &&yy43, &&yy544, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy491, &&yy491, &&yy491, &&yy491, &&yy43,
+ &&yy491, &&yy43, &&yy43, &&yy43, &&yy43, &&yy544, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy491, &&yy491, &&yy491, &&yy491, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43
+ };
+ goto *yytarget[yych];
+ }
yy491:
YYDEBUG(491, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
- YYDEBUG(492, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- return T_CLONE;
+ return T_ENDFOR;
}
+yy492:
+ YYDEBUG(492, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'T') goto yy545;
+ if (yych == 't') goto yy545;
+ goto yy44;
yy493:
YYDEBUG(493, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
+ yych = *++YYCURSOR;
+ if (yych == 'L') goto yy546;
+ if (yych == 'l') goto yy546;
+ goto yy44;
+yy494:
YYDEBUG(494, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_CONST;
-}
+ yych = *++YYCURSOR;
+ if (yych == 'S') goto yy547;
+ if (yych == 's') goto yy547;
+ goto yy44;
yy495:
YYDEBUG(495, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'N') goto yy568;
- if (yych == 'n') goto yy568;
- goto yy128;
+ if (yych == 'Y') goto yy549;
+ if (yych == 'y') goto yy549;
+ goto yy44;
yy496:
YYDEBUG(496, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'R') goto yy569;
- if (yych == 'r') goto yy569;
- goto yy128;
+ if (yych == 'H') goto yy551;
+ if (yych == 'h') goto yy551;
+ goto yy44;
yy497:
YYDEBUG(497, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'L') goto yy570;
- if (yych == 'l') goto yy570;
- goto yy128;
+ if (yych == 'O') goto yy553;
+ if (yych == 'o') goto yy553;
+ goto yy44;
yy498:
YYDEBUG(498, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'F') goto yy571;
- if (yych == 'f') goto yy571;
- goto yy128;
-yy499:
- YYDEBUG(499, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- YYDEBUG(500, *YYCURSOR);
+ YYDEBUG(499, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- return T_EMPTY;
+ return T_GLOBAL;
}
+yy500:
+ YYDEBUG(500, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'E') goto yy554;
+ if (yych == 'e') goto yy554;
+ goto yy44;
yy501:
YYDEBUG(501, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'C') goto yy573;
- if (yych == 'c') goto yy573;
- goto yy128;
+ if (yych == 'E') goto yy555;
+ if (yych == 'e') goto yy555;
+ goto yy44;
yy502:
YYDEBUG(502, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'R') goto yy574;
- if (yych == 'r') goto yy574;
- goto yy128;
+ if (yych == 'C') goto yy557;
+ if (yych == 'c') goto yy557;
+ goto yy44;
yy503:
YYDEBUG(503, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
+ yych = *++YYCURSOR;
+ if (yych == 'D') goto yy558;
+ if (yych == 'd') goto yy558;
+ goto yy44;
+yy504:
YYDEBUG(504, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_ENDIF;
-}
+ yych = *++YYCURSOR;
+ if (yych == 'A') goto yy559;
+ if (yych == 'a') goto yy559;
+ goto yy44;
yy505:
YYDEBUG(505, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'I') goto yy576;
- if (yych == 'i') goto yy576;
- goto yy128;
+ if (yych == 'A') goto yy560;
+ if (yych == 'a') goto yy560;
+ goto yy44;
yy506:
YYDEBUG(506, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'I') goto yy577;
- if (yych == 'i') goto yy577;
- goto yy128;
+ if (yych == 'E') goto yy561;
+ if (yych == 'e') goto yy561;
+ goto yy44;
yy507:
YYDEBUG(507, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'D') goto yy578;
- if (yych == 'd') goto yy578;
- goto yy128;
+ if (yych == 'T') goto yy563;
+ if (yych == 't') goto yy563;
+ goto yy44;
yy508:
YYDEBUG(508, *YYCURSOR);
- ++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy509, &&yy509, &&yy509, &&yy509, &&yy509, &&yy509, &&yy509, &&yy509,
- &&yy509, &&yy509, &&yy509, &&yy509, &&yy509, &&yy509, &&yy509, &&yy509,
- &&yy509, &&yy509, &&yy509, &&yy509, &&yy509, &&yy509, &&yy509, &&yy509,
- &&yy509, &&yy509, &&yy509, &&yy509, &&yy509, &&yy509, &&yy509, &&yy509,
- &&yy509, &&yy509, &&yy509, &&yy509, &&yy509, &&yy509, &&yy509, &&yy509,
- &&yy509, &&yy509, &&yy509, &&yy509, &&yy509, &&yy509, &&yy509, &&yy509,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy509, &&yy509, &&yy509, &&yy509, &&yy509, &&yy509,
- &&yy509, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy579, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy509, &&yy509, &&yy509, &&yy509, &&yy127,
- &&yy509, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy579, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy509, &&yy509, &&yy509, &&yy509, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127
- };
- goto *yytarget[(yych = *YYCURSOR)];
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
-yy509:
YYDEBUG(509, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- return T_FINAL;
+ return T_PUBLIC;
}
yy510:
YYDEBUG(510, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'C') goto yy580;
- if (yych == 'c') goto yy580;
- goto yy128;
+ if (yych == 'E') goto yy564;
+ if (yych == 'e') goto yy564;
+ goto yy44;
yy511:
YYDEBUG(511, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'I') goto yy581;
- if (yych == 'i') goto yy581;
- goto yy128;
-yy512:
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
YYDEBUG(512, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy582;
- if (yych == 'l') goto yy582;
- goto yy128;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_RETURN;
+}
yy513:
YYDEBUG(513, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'M') goto yy584;
- if (yych == 'm') goto yy584;
- goto yy128;
-yy514:
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
YYDEBUG(514, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'D') goto yy585;
- if (yych == 'd') goto yy585;
- goto yy128;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_STATIC;
+}
yy515:
YYDEBUG(515, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'N') goto yy586;
- if (yych == 'n') goto yy586;
- goto yy128;
-yy516:
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
YYDEBUG(516, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy587;
- if (yych == 'a') goto yy587;
- goto yy128;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_SWITCH;
+}
yy517:
YYDEBUG(517, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'F') goto yy588;
- if (yych == 'f') goto yy588;
- goto yy128;
+ if (yych == 'S') goto yy566;
+ if (yych == 's') goto yy566;
+ goto yy44;
yy518:
YYDEBUG(518, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
+ yych = *++YYCURSOR;
+ if (yych == '_') goto yy567;
+ goto yy44;
+yy519:
YYDEBUG(519, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_ISSET;
-}
+ yych = *++YYCURSOR;
+ if (yych == '_') goto yy569;
+ goto yy44;
yy520:
YYDEBUG(520, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'P') goto yy589;
- if (yych == 'p') goto yy589;
- goto yy128;
+ if (yych == 'T') goto yy570;
+ if (yych == 't') goto yy570;
+ goto yy44;
yy521:
YYDEBUG(521, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
+ yych = *++YYCURSOR;
+ if (yych == '_') goto yy571;
+ goto yy44;
+yy522:
YYDEBUG(522, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_PRINT;
-}
+ yych = *++YYCURSOR;
+ if (yych == '_') goto yy572;
+ goto yy44;
yy523:
YYDEBUG(523, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy590;
- if (yych == 't') goto yy590;
- goto yy128;
+ if (yych == 'O') goto yy573;
+ if (yych == 'o') goto yy573;
+ goto yy44;
yy524:
YYDEBUG(524, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'C') goto yy591;
- if (yych == 'c') goto yy591;
- goto yy128;
+ if (yych == 'S') goto yy574;
+ if (yych == 's') goto yy574;
+ goto yy44;
yy525:
YYDEBUG(525, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'C') goto yy592;
- if (yych == 'c') goto yy592;
- goto yy128;
+ if (yych == 'T') goto yy575;
+ if (yych == 't') goto yy575;
+ goto yy44;
yy526:
YYDEBUG(526, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy594;
- if (yych == 'r') goto yy594;
- goto yy128;
-yy527:
+ ++YYCURSOR;
YYDEBUG(527, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy595;
- if (yych == 'n') goto yy595;
- goto yy128;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_ARRAY_CAST;
+}
yy528:
YYDEBUG(528, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy597;
- if (yych == 'c') goto yy597;
- goto yy128;
-yy529:
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
YYDEBUG(529, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'H') goto yy599;
- if (yych == 'h') goto yy599;
- goto yy128;
+ if (yych <= 0x1F) {
+ if (yych == '\t') goto yy528;
+ goto yy82;
+ } else {
+ if (yych <= ' ') goto yy528;
+ if (yych == ')') goto yy576;
+ goto yy82;
+ }
yy530:
YYDEBUG(530, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
+ yych = *++YYCURSOR;
+ if (yych == 'N') goto yy468;
+ if (yych == 'n') goto yy468;
+ goto yy82;
+yy531:
YYDEBUG(531, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_THROW;
-}
+ yych = *++YYCURSOR;
+ if (yych == 'R') goto yy380;
+ if (yych == 'r') goto yy380;
+ goto yy82;
yy532:
YYDEBUG(532, *YYCURSOR);
++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
+ YYFILL(1);
+ yych = *YYCURSOR;
YYDEBUG(533, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_TRAIT;
-}
+ if (yych <= 0x1F) {
+ if (yych == '\t') goto yy532;
+ goto yy82;
+ } else {
+ if (yych <= ' ') goto yy532;
+ if (yych == ')') goto yy578;
+ goto yy82;
+ }
yy534:
YYDEBUG(534, *YYCURSOR);
++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
YYDEBUG(535, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- return T_UNSET;
+ return T_UNSET_CAST;
}
yy536:
YYDEBUG(536, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
+ yych = *++YYCURSOR;
+ if (yych == 'T') goto yy580;
+ if (yych == 't') goto yy580;
+ goto yy44;
+yy537:
YYDEBUG(537, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_WHILE;
-}
+ yych = *++YYCURSOR;
+ if (yych == 'E') goto yy582;
+ if (yych == 'e') goto yy582;
+ goto yy44;
yy538:
YYDEBUG(538, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
+ yych = *++YYCURSOR;
+ if (yych == 'E') goto yy584;
+ if (yych == 'e') goto yy584;
+ goto yy44;
+yy539:
YYDEBUG(539, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
+ YYDEBUG(540, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- return T_YIELD;
+ return T_DECLARE;
}
-yy540:
- YYDEBUG(540, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'S') goto yy601;
- if (yych == 's') goto yy601;
- goto yy128;
yy541:
YYDEBUG(541, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '_') goto yy602;
- goto yy128;
-yy542:
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
YYDEBUG(542, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy603;
- if (yych == 'e') goto yy603;
- goto yy128;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_DEFAULT;
+}
yy543:
YYDEBUG(543, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'C') goto yy604;
- if (yych == 'c') goto yy604;
- goto yy128;
+ if (yych == 'A') goto yy586;
+ if (yych == 'a') goto yy586;
+ goto yy44;
yy544:
YYDEBUG(544, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy605;
- if (yych == 't') goto yy605;
- goto yy128;
+ if (yych == 'A') goto yy587;
+ if (yych == 'a') goto yy587;
+ goto yy44;
yy545:
YYDEBUG(545, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy606;
- if (yych == 'e') goto yy606;
- goto yy128;
+ if (yych == 'C') goto yy588;
+ if (yych == 'c') goto yy588;
+ goto yy44;
yy546:
YYDEBUG(546, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'H') goto yy607;
- if (yych == 'h') goto yy607;
- goto yy128;
+ if (yych == 'E') goto yy589;
+ if (yych == 'e') goto yy589;
+ goto yy44;
yy547:
YYDEBUG(547, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy608;
- if (yych == 'e') goto yy608;
- goto yy128;
-yy548:
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
YYDEBUG(548, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'I') goto yy609;
- if (yych == 'i') goto yy609;
- goto yy128;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_EXTENDS;
+}
yy549:
YYDEBUG(549, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(550, *YYCURSOR);
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy549;
- goto yy166;
- } else {
- if (yych <= ' ') goto yy549;
- if (yych == ')') goto yy610;
- goto yy166;
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
+ YYDEBUG(550, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_FINALLY;
+}
yy551:
YYDEBUG(551, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'Y') goto yy612;
- if (yych == 'y') goto yy612;
- goto yy166;
-yy552:
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
YYDEBUG(552, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_FOREACH;
+}
yy553:
YYDEBUG(553, *YYCURSOR);
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy552;
- goto yy166;
- } else {
- if (yych <= ' ') goto yy552;
- if (yych != ')') goto yy166;
- }
+ yych = *++YYCURSOR;
+ if (yych == 'N') goto yy591;
+ if (yych == 'n') goto yy591;
+ goto yy44;
+yy554:
YYDEBUG(554, *YYCURSOR);
- ++YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych == 'N') goto yy593;
+ if (yych == 'n') goto yy593;
+ goto yy44;
+yy555:
YYDEBUG(555, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
+ yych = *++YYCURSOR;
{
- return T_BOOL_CAST;
-}
+ static void *yytarget[256] = {
+ &&yy556, &&yy556, &&yy556, &&yy556, &&yy556, &&yy556, &&yy556, &&yy556,
+ &&yy556, &&yy556, &&yy556, &&yy556, &&yy556, &&yy556, &&yy556, &&yy556,
+ &&yy556, &&yy556, &&yy556, &&yy556, &&yy556, &&yy556, &&yy556, &&yy556,
+ &&yy556, &&yy556, &&yy556, &&yy556, &&yy556, &&yy556, &&yy556, &&yy556,
+ &&yy556, &&yy556, &&yy556, &&yy556, &&yy556, &&yy556, &&yy556, &&yy556,
+ &&yy556, &&yy556, &&yy556, &&yy556, &&yy556, &&yy556, &&yy556, &&yy556,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy556, &&yy556, &&yy556, &&yy556, &&yy556, &&yy556,
+ &&yy556, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy556, &&yy556, &&yy556, &&yy556, &&yy594,
+ &&yy556, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy556, &&yy556, &&yy556, &&yy556, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43
+ };
+ goto *yytarget[yych];
+ }
yy556:
YYDEBUG(556, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy614;
- if (yych == 'a') goto yy614;
- goto yy166;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_INCLUDE;
+}
yy557:
YYDEBUG(557, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy470;
- if (yych == 'e') goto yy470;
- goto yy166;
+ if (yych == 'E') goto yy595;
+ if (yych == 'e') goto yy595;
+ goto yy44;
yy558:
YYDEBUG(558, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy615;
- if (yych == 'e') goto yy615;
- goto yy166;
+ if (yych == 'O') goto yy596;
+ if (yych == 'o') goto yy596;
+ goto yy44;
yy559:
YYDEBUG(559, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy616;
- if (yych == 't') goto yy616;
- goto yy166;
+ if (yych == 'C') goto yy597;
+ if (yych == 'c') goto yy597;
+ goto yy44;
yy560:
YYDEBUG(560, *YYCURSOR);
- ++YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych == 'C') goto yy598;
+ if (yych == 'c') goto yy598;
+ goto yy44;
+yy561:
YYDEBUG(561, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
+ YYDEBUG(562, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- return T_DOUBLE_CAST;
+ return T_PRIVATE;
}
-yy562:
- YYDEBUG(562, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'G') goto yy612;
- if (yych == 'g') goto yy612;
- goto yy166;
yy563:
YYDEBUG(563, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych == 'E') goto yy599;
+ if (yych == 'e') goto yy599;
+ goto yy44;
+yy564:
YYDEBUG(564, *YYCURSOR);
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy563;
- goto yy166;
- } else {
- if (yych <= ' ') goto yy563;
- if (yych == ')') goto yy618;
- goto yy166;
+ yych = *++YYCURSOR;
+ {
+ static void *yytarget[256] = {
+ &&yy565, &&yy565, &&yy565, &&yy565, &&yy565, &&yy565, &&yy565, &&yy565,
+ &&yy565, &&yy565, &&yy565, &&yy565, &&yy565, &&yy565, &&yy565, &&yy565,
+ &&yy565, &&yy565, &&yy565, &&yy565, &&yy565, &&yy565, &&yy565, &&yy565,
+ &&yy565, &&yy565, &&yy565, &&yy565, &&yy565, &&yy565, &&yy565, &&yy565,
+ &&yy565, &&yy565, &&yy565, &&yy565, &&yy565, &&yy565, &&yy565, &&yy565,
+ &&yy565, &&yy565, &&yy565, &&yy565, &&yy565, &&yy565, &&yy565, &&yy565,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy565, &&yy565, &&yy565, &&yy565, &&yy565, &&yy565,
+ &&yy565, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy565, &&yy565, &&yy565, &&yy565, &&yy600,
+ &&yy565, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy565, &&yy565, &&yy565, &&yy565, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43
+ };
+ goto *yytarget[yych];
}
yy565:
YYDEBUG(565, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '\n') goto yy478;
- if (yych == '\r') goto yy480;
- goto yy166;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_REQUIRE;
+}
yy566:
YYDEBUG(566, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'C') goto yy620;
- if (yych == 'c') goto yy620;
- goto yy128;
+ if (yych == '_') goto yy601;
+ goto yy44;
yy567:
YYDEBUG(567, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'L') goto yy621;
- if (yych == 'l') goto yy621;
- goto yy128;
-yy568:
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
YYDEBUG(568, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'U') goto yy622;
- if (yych == 'u') goto yy622;
- goto yy128;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_DIR;
+}
yy569:
YYDEBUG(569, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy623;
- if (yych == 'e') goto yy623;
- goto yy128;
+ if (yych == '_') goto yy602;
+ goto yy44;
yy570:
YYDEBUG(570, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy625;
- if (yych == 't') goto yy625;
- goto yy128;
+ if (yych == 'I') goto yy604;
+ if (yych == 'i') goto yy604;
+ goto yy44;
yy571:
YYDEBUG(571, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
+ yych = *++YYCURSOR;
+ if (yych == 'C') goto yy605;
+ if (yych == 'c') goto yy605;
+ goto yy44;
+yy572:
YYDEBUG(572, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_ELSEIF;
-}
+ yych = *++YYCURSOR;
+ if (yych == '_') goto yy606;
+ goto yy44;
yy573:
YYDEBUG(573, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'L') goto yy627;
- if (yych == 'l') goto yy627;
- goto yy128;
+ if (yych == 'D') goto yy608;
+ if (yych == 'd') goto yy608;
+ goto yy44;
yy574:
YYDEBUG(574, *YYCURSOR);
- ++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy575, &&yy575, &&yy575, &&yy575, &&yy575, &&yy575, &&yy575, &&yy575,
- &&yy575, &&yy575, &&yy575, &&yy575, &&yy575, &&yy575, &&yy575, &&yy575,
- &&yy575, &&yy575, &&yy575, &&yy575, &&yy575, &&yy575, &&yy575, &&yy575,
- &&yy575, &&yy575, &&yy575, &&yy575, &&yy575, &&yy575, &&yy575, &&yy575,
- &&yy575, &&yy575, &&yy575, &&yy575, &&yy575, &&yy575, &&yy575, &&yy575,
- &&yy575, &&yy575, &&yy575, &&yy575, &&yy575, &&yy575, &&yy575, &&yy575,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy575, &&yy575, &&yy575, &&yy575, &&yy575, &&yy575,
- &&yy575, &&yy127, &&yy127, &&yy127, &&yy127, &&yy628, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy575, &&yy575, &&yy575, &&yy575, &&yy127,
- &&yy575, &&yy127, &&yy127, &&yy127, &&yy127, &&yy628, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy575, &&yy575, &&yy575, &&yy575, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127
- };
- goto *yytarget[(yych = *YYCURSOR)];
- }
+ yych = *++YYCURSOR;
+ if (yych == 'P') goto yy609;
+ if (yych == 'p') goto yy609;
+ goto yy44;
yy575:
YYDEBUG(575, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_ENDFOR;
-}
+ yych = *++YYCURSOR;
+ if (yych == '_') goto yy610;
+ goto yy44;
yy576:
YYDEBUG(576, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy629;
- if (yych == 't') goto yy629;
- goto yy128;
-yy577:
+ ++YYCURSOR;
YYDEBUG(577, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy630;
- if (yych == 'l') goto yy630;
- goto yy128;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_STRING_CAST;
+}
yy578:
YYDEBUG(578, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'S') goto yy631;
- if (yych == 's') goto yy631;
- goto yy128;
-yy579:
+ ++YYCURSOR;
YYDEBUG(579, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'Y') goto yy633;
- if (yych == 'y') goto yy633;
- goto yy128;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_OBJECT_CAST;
+}
yy580:
YYDEBUG(580, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'H') goto yy635;
- if (yych == 'h') goto yy635;
- goto yy128;
-yy581:
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
YYDEBUG(581, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy637;
- if (yych == 'o') goto yy637;
- goto yy128;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_ABSTRACT;
+}
yy582:
YYDEBUG(582, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
YYDEBUG(583, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- return T_GLOBAL;
+ return T_CALLABLE;
}
yy584:
YYDEBUG(584, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy638;
- if (yych == 'e') goto yy638;
- goto yy128;
-yy585:
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
YYDEBUG(585, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy639;
- if (yych == 'e') goto yy639;
- goto yy128;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_CONTINUE;
+}
yy586:
YYDEBUG(586, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'C') goto yy641;
- if (yych == 'c') goto yy641;
- goto yy128;
+ if (yych == 'R') goto yy611;
+ if (yych == 'r') goto yy611;
+ goto yy44;
yy587:
YYDEBUG(587, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'D') goto yy642;
- if (yych == 'd') goto yy642;
- goto yy128;
+ if (yych == 'C') goto yy612;
+ if (yych == 'c') goto yy612;
+ goto yy44;
yy588:
YYDEBUG(588, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy643;
- if (yych == 'a') goto yy643;
- goto yy128;
+ if (yych == 'H') goto yy613;
+ if (yych == 'h') goto yy613;
+ goto yy44;
yy589:
YYDEBUG(589, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy644;
- if (yych == 'a') goto yy644;
- goto yy128;
-yy590:
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
YYDEBUG(590, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy645;
- if (yych == 'e') goto yy645;
- goto yy128;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_ENDWHILE;
+}
yy591:
YYDEBUG(591, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy647;
- if (yych == 't') goto yy647;
- goto yy128;
-yy592:
- YYDEBUG(592, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- YYDEBUG(593, *YYCURSOR);
+ YYDEBUG(592, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- return T_PUBLIC;
+ return T_FUNCTION;
}
+yy593:
+ YYDEBUG(593, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'T') goto yy615;
+ if (yych == 't') goto yy615;
+ goto yy44;
yy594:
YYDEBUG(594, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy648;
- if (yych == 'e') goto yy648;
- goto yy128;
+ if (yych == 'O') goto yy616;
+ if (yych == 'o') goto yy616;
+ goto yy44;
yy595:
YYDEBUG(595, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
+ yych = *++YYCURSOR;
+ if (yych == 'O') goto yy617;
+ if (yych == 'o') goto yy617;
+ goto yy44;
+yy596:
YYDEBUG(596, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_RETURN;
-}
+ yych = *++YYCURSOR;
+ if (yych == 'F') goto yy618;
+ if (yych == 'f') goto yy618;
+ goto yy44;
yy597:
YYDEBUG(597, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
+ yych = *++YYCURSOR;
+ if (yych == 'E') goto yy620;
+ if (yych == 'e') goto yy620;
+ goto yy44;
+yy598:
YYDEBUG(598, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_STATIC;
-}
+ yych = *++YYCURSOR;
+ if (yych == 'E') goto yy622;
+ if (yych == 'e') goto yy622;
+ goto yy44;
yy599:
YYDEBUG(599, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
+ yych = *++YYCURSOR;
+ if (yych == 'D') goto yy624;
+ if (yych == 'd') goto yy624;
+ goto yy44;
+yy600:
YYDEBUG(600, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_SWITCH;
-}
+ yych = *++YYCURSOR;
+ if (yych == 'O') goto yy626;
+ if (yych == 'o') goto yy626;
+ goto yy44;
yy601:
YYDEBUG(601, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'S') goto yy650;
- if (yych == 's') goto yy650;
- goto yy128;
+ if (yych == '_') goto yy627;
+ goto yy44;
yy602:
YYDEBUG(602, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '_') goto yy651;
- goto yy128;
-yy603:
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
YYDEBUG(603, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '_') goto yy653;
- goto yy128;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_FILE;
+}
yy604:
YYDEBUG(604, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy654;
- if (yych == 't') goto yy654;
- goto yy128;
+ if (yych == 'O') goto yy629;
+ if (yych == 'o') goto yy629;
+ goto yy44;
yy605:
YYDEBUG(605, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '_') goto yy655;
- goto yy128;
+ if (yych == 'O') goto yy630;
+ if (yych == 'o') goto yy630;
+ goto yy44;
yy606:
YYDEBUG(606, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '_') goto yy656;
- goto yy128;
-yy607:
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
YYDEBUG(607, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy657;
- if (yych == 'o') goto yy657;
- goto yy128;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_LINE;
+}
yy608:
YYDEBUG(608, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'S') goto yy658;
- if (yych == 's') goto yy658;
- goto yy128;
+ if (yych == '_') goto yy631;
+ goto yy44;
yy609:
YYDEBUG(609, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy659;
- if (yych == 't') goto yy659;
- goto yy128;
+ if (yych == 'A') goto yy632;
+ if (yych == 'a') goto yy632;
+ goto yy44;
yy610:
YYDEBUG(610, *YYCURSOR);
- ++YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych == '_') goto yy633;
+ goto yy44;
+yy611:
YYDEBUG(611, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_ARRAY_CAST;
-}
+ yych = *++YYCURSOR;
+ if (yych == 'E') goto yy635;
+ if (yych == 'e') goto yy635;
+ goto yy44;
yy612:
YYDEBUG(612, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych == 'H') goto yy637;
+ if (yych == 'h') goto yy637;
+ goto yy44;
+yy613:
YYDEBUG(613, *YYCURSOR);
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy612;
- goto yy166;
- } else {
- if (yych <= ' ') goto yy612;
- if (yych == ')') goto yy660;
- goto yy166;
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
-yy614:
YYDEBUG(614, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy552;
- if (yych == 'n') goto yy552;
- goto yy166;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_ENDSWITCH;
+}
yy615:
YYDEBUG(615, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'R') goto yy464;
- if (yych == 'r') goto yy464;
- goto yy166;
+ if (yych == 'S') goto yy639;
+ if (yych == 's') goto yy639;
+ goto yy44;
yy616:
YYDEBUG(616, *YYCURSOR);
- ++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych == 'N') goto yy641;
+ if (yych == 'n') goto yy641;
+ goto yy44;
+yy617:
YYDEBUG(617, *YYCURSOR);
- if (yych <= 0x1F) {
- if (yych == '\t') goto yy616;
- goto yy166;
- } else {
- if (yych <= ' ') goto yy616;
- if (yych == ')') goto yy662;
- goto yy166;
- }
+ yych = *++YYCURSOR;
+ if (yych == 'F') goto yy642;
+ if (yych == 'f') goto yy642;
+ goto yy44;
yy618:
YYDEBUG(618, *YYCURSOR);
- ++YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
YYDEBUG(619, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- return T_UNSET_CAST;
+ return T_INSTEADOF;
}
yy620:
YYDEBUG(620, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'T') goto yy664;
- if (yych == 't') goto yy664;
- goto yy128;
-yy621:
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
YYDEBUG(621, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy666;
- if (yych == 'e') goto yy666;
- goto yy128;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_INTERFACE;
+}
yy622:
YYDEBUG(622, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy668;
- if (yych == 'e') goto yy668;
- goto yy128;
-yy623:
- YYDEBUG(623, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- YYDEBUG(624, *YYCURSOR);
+ YYDEBUG(623, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- return T_DECLARE;
+ return T_NAMESPACE;
}
-yy625:
- YYDEBUG(625, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
+yy624:
+ YYDEBUG(624, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- YYDEBUG(626, *YYCURSOR);
+ YYDEBUG(625, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- return T_DEFAULT;
+ return T_PROTECTED;
}
+yy626:
+ YYDEBUG(626, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'N') goto yy644;
+ if (yych == 'n') goto yy644;
+ goto yy44;
yy627:
YYDEBUG(627, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'A') goto yy670;
- if (yych == 'a') goto yy670;
- goto yy128;
-yy628:
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
YYDEBUG(628, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy671;
- if (yych == 'a') goto yy671;
- goto yy128;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_CLASS_C;
+}
yy629:
YYDEBUG(629, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'C') goto yy672;
- if (yych == 'c') goto yy672;
- goto yy128;
+ if (yych == 'N') goto yy645;
+ if (yych == 'n') goto yy645;
+ goto yy44;
yy630:
YYDEBUG(630, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy673;
- if (yych == 'e') goto yy673;
- goto yy128;
+ if (yych == 'M') goto yy646;
+ if (yych == 'm') goto yy646;
+ goto yy44;
yy631:
YYDEBUG(631, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
+ yych = *++YYCURSOR;
+ if (yych == '_') goto yy647;
+ goto yy44;
+yy632:
YYDEBUG(632, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_EXTENDS;
-}
+ yych = *++YYCURSOR;
+ if (yych == 'C') goto yy649;
+ if (yych == 'c') goto yy649;
+ goto yy44;
yy633:
YYDEBUG(633, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
YYDEBUG(634, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- return T_FINALLY;
+ return T_TRAIT_C;
}
yy635:
YYDEBUG(635, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
YYDEBUG(636, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- return T_FOREACH;
+ return T_ENDDECLARE;
}
yy637:
YYDEBUG(637, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'N') goto yy675;
- if (yych == 'n') goto yy675;
- goto yy128;
-yy638:
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
YYDEBUG(638, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy677;
- if (yych == 'n') goto yy677;
- goto yy128;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_ENDFOREACH;
+}
yy639:
YYDEBUG(639, *YYCURSOR);
- ++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy640, &&yy640, &&yy640, &&yy640, &&yy640, &&yy640, &&yy640, &&yy640,
- &&yy640, &&yy640, &&yy640, &&yy640, &&yy640, &&yy640, &&yy640, &&yy640,
- &&yy640, &&yy640, &&yy640, &&yy640, &&yy640, &&yy640, &&yy640, &&yy640,
- &&yy640, &&yy640, &&yy640, &&yy640, &&yy640, &&yy640, &&yy640, &&yy640,
- &&yy640, &&yy640, &&yy640, &&yy640, &&yy640, &&yy640, &&yy640, &&yy640,
- &&yy640, &&yy640, &&yy640, &&yy640, &&yy640, &&yy640, &&yy640, &&yy640,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy640, &&yy640, &&yy640, &&yy640, &&yy640, &&yy640,
- &&yy640, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy640, &&yy640, &&yy640, &&yy640, &&yy678,
- &&yy640, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy640, &&yy640, &&yy640, &&yy640, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127
- };
- goto *yytarget[(yych = *YYCURSOR)];
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
-yy640:
YYDEBUG(640, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- return T_INCLUDE;
+ return T_IMPLEMENTS;
}
yy641:
YYDEBUG(641, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy679;
- if (yych == 'e') goto yy679;
- goto yy128;
+ if (yych == 'C') goto yy650;
+ if (yych == 'c') goto yy650;
+ goto yy44;
yy642:
YYDEBUG(642, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'O') goto yy680;
- if (yych == 'o') goto yy680;
- goto yy128;
-yy643:
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
YYDEBUG(643, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy681;
- if (yych == 'c') goto yy681;
- goto yy128;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_INSTANCEOF;
+}
yy644:
YYDEBUG(644, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'C') goto yy682;
- if (yych == 'c') goto yy682;
- goto yy128;
+ if (yych == 'C') goto yy651;
+ if (yych == 'c') goto yy651;
+ goto yy44;
yy645:
YYDEBUG(645, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
+ yych = *++YYCURSOR;
+ if (yych == '_') goto yy652;
+ goto yy44;
+yy646:
YYDEBUG(646, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_PRIVATE;
-}
+ yych = *++YYCURSOR;
+ if (yych == 'P') goto yy653;
+ if (yych == 'p') goto yy653;
+ goto yy44;
yy647:
YYDEBUG(647, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'E') goto yy683;
- if (yych == 'e') goto yy683;
- goto yy128;
-yy648:
- YYDEBUG(648, *YYCURSOR);
- ++YYCURSOR;
- {
- static void *yytarget[256] = {
- &&yy649, &&yy649, &&yy649, &&yy649, &&yy649, &&yy649, &&yy649, &&yy649,
- &&yy649, &&yy649, &&yy649, &&yy649, &&yy649, &&yy649, &&yy649, &&yy649,
- &&yy649, &&yy649, &&yy649, &&yy649, &&yy649, &&yy649, &&yy649, &&yy649,
- &&yy649, &&yy649, &&yy649, &&yy649, &&yy649, &&yy649, &&yy649, &&yy649,
- &&yy649, &&yy649, &&yy649, &&yy649, &&yy649, &&yy649, &&yy649, &&yy649,
- &&yy649, &&yy649, &&yy649, &&yy649, &&yy649, &&yy649, &&yy649, &&yy649,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy649, &&yy649, &&yy649, &&yy649, &&yy649, &&yy649,
- &&yy649, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy649, &&yy649, &&yy649, &&yy649, &&yy684,
- &&yy649, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy649, &&yy649, &&yy649, &&yy649, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127,
- &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127, &&yy127
- };
- goto *yytarget[(yych = *YYCURSOR)];
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
-yy649:
- YYDEBUG(649, *YYCURSOR);
+ YYDEBUG(648, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- return T_REQUIRE;
+ return T_METHOD_C;
}
+yy649:
+ YYDEBUG(649, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'E') goto yy654;
+ if (yych == 'e') goto yy654;
+ goto yy44;
yy650:
YYDEBUG(650, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '_') goto yy685;
- goto yy128;
+ if (yych == 'E') goto yy655;
+ if (yych == 'e') goto yy655;
+ goto yy44;
yy651:
YYDEBUG(651, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
+ yych = *++YYCURSOR;
+ if (yych == 'E') goto yy657;
+ if (yych == 'e') goto yy657;
+ goto yy44;
+yy652:
YYDEBUG(652, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_DIR;
-}
+ yych = *++YYCURSOR;
+ if (yych == '_') goto yy659;
+ goto yy44;
yy653:
YYDEBUG(653, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '_') goto yy686;
- goto yy128;
+ if (yych == 'I') goto yy661;
+ if (yych == 'i') goto yy661;
+ goto yy44;
yy654:
YYDEBUG(654, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'I') goto yy688;
- if (yych == 'i') goto yy688;
- goto yy128;
+ if (yych == '_') goto yy662;
+ goto yy44;
yy655:
YYDEBUG(655, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'C') goto yy689;
- if (yych == 'c') goto yy689;
- goto yy128;
-yy656:
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
YYDEBUG(656, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '_') goto yy690;
- goto yy128;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_INCLUDE_ONCE;
+}
yy657:
YYDEBUG(657, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'D') goto yy692;
- if (yych == 'd') goto yy692;
- goto yy128;
-yy658:
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
YYDEBUG(658, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'P') goto yy693;
- if (yych == 'p') goto yy693;
- goto yy128;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_REQUIRE_ONCE;
+}
yy659:
YYDEBUG(659, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '_') goto yy694;
- goto yy128;
-yy660:
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
YYDEBUG(660, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(661, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- return T_STRING_CAST;
+ return T_FUNC_C;
}
+yy661:
+ YYDEBUG(661, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'L') goto yy663;
+ if (yych == 'l') goto yy663;
+ goto yy44;
yy662:
YYDEBUG(662, *YYCURSOR);
- ++YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych == '_') goto yy664;
+ goto yy44;
+yy663:
YYDEBUG(663, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_OBJECT_CAST;
-}
+ yych = *++YYCURSOR;
+ if (yych == 'E') goto yy666;
+ if (yych == 'e') goto yy666;
+ goto yy44;
yy664:
YYDEBUG(664, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
YYDEBUG(665, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- return T_ABSTRACT;
+ return T_NS_C;
}
yy666:
YYDEBUG(666, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
+ yych = *++YYCURSOR;
+ if (yych == 'R') goto yy667;
+ if (yych != 'r') goto yy44;
+yy667:
YYDEBUG(667, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 16) {
+ goto yy43;
+ }
+ YYDEBUG(668, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- return T_CALLABLE;
+ return T_HALT_COMPILER;
}
-yy668:
- YYDEBUG(668, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
+ }
+/* *********************************** */
+yyc_ST_LOOKING_FOR_PROPERTY:
+ {
+ static const unsigned char yybm[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 64, 64, 0, 0, 64, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 64, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 0, 0, 0, 0, 0, 0,
+ 0, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 0, 0, 0, 0, 128,
+ 0, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 0, 0, 0, 0, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ };
YYDEBUG(669, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
+ YYFILL(2);
+ yych = *YYCURSOR;
{
- return T_CONTINUE;
-}
-yy670:
- YYDEBUG(670, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy695;
- if (yych == 'r') goto yy695;
- goto yy128;
+ static void *yytarget[256] = {
+ &&yy671, &&yy671, &&yy671, &&yy671, &&yy671, &&yy671, &&yy671, &&yy671,
+ &&yy671, &&yy673, &&yy673, &&yy671, &&yy671, &&yy673, &&yy671, &&yy671,
+ &&yy671, &&yy671, &&yy671, &&yy671, &&yy671, &&yy671, &&yy671, &&yy671,
+ &&yy671, &&yy671, &&yy671, &&yy671, &&yy671, &&yy671, &&yy671, &&yy671,
+ &&yy673, &&yy671, &&yy671, &&yy671, &&yy671, &&yy671, &&yy671, &&yy671,
+ &&yy671, &&yy671, &&yy671, &&yy671, &&yy671, &&yy676, &&yy671, &&yy671,
+ &&yy671, &&yy671, &&yy671, &&yy671, &&yy671, &&yy671, &&yy671, &&yy671,
+ &&yy671, &&yy671, &&yy671, &&yy671, &&yy671, &&yy671, &&yy671, &&yy671,
+ &&yy671, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677,
+ &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677,
+ &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677,
+ &&yy677, &&yy677, &&yy677, &&yy671, &&yy671, &&yy671, &&yy671, &&yy677,
+ &&yy671, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677,
+ &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677,
+ &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677,
+ &&yy677, &&yy677, &&yy677, &&yy671, &&yy671, &&yy671, &&yy671, &&yy677,
+ &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677,
+ &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677,
+ &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677,
+ &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677,
+ &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677,
+ &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677,
+ &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677,
+ &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677,
+ &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677,
+ &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677,
+ &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677,
+ &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677,
+ &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677,
+ &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677,
+ &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677,
+ &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677, &&yy677
+ };
+ goto *yytarget[yych];
+ }
yy671:
YYDEBUG(671, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy696;
- if (yych == 'c') goto yy696;
- goto yy128;
+ ++YYCURSOR;
yy672:
YYDEBUG(672, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'H') goto yy697;
- if (yych == 'h') goto yy697;
- goto yy128;
-yy673:
- YYDEBUG(673, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
- YYDEBUG(674, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- return T_ENDWHILE;
+ yyless(0);
+ yy_pop_state();
+ goto restart;
}
-yy675:
- YYDEBUG(675, *YYCURSOR);
+yy673:
+ YYDEBUG(673, *YYCURSOR);
++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
+ YYFILL(1);
+ yych = *YYCURSOR;
+ YYDEBUG(674, *YYCURSOR);
+ if (yybm[0+yych] & 64) {
+ goto yy673;
}
- YYDEBUG(676, *YYCURSOR);
+ YYDEBUG(675, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- return T_FUNCTION;
+ HANDLE_NEWLINES(yytext, yyleng);
+ return T_WHITESPACE;
}
+yy676:
+ YYDEBUG(676, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '>') goto yy680;
+ goto yy672;
yy677:
YYDEBUG(677, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'T') goto yy699;
- if (yych == 't') goto yy699;
- goto yy128;
-yy678:
+ ++YYCURSOR;
+ YYFILL(1);
+ yych = *YYCURSOR;
YYDEBUG(678, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy700;
- if (yych == 'o') goto yy700;
- goto yy128;
-yy679:
+ if (yybm[0+yych] & 128) {
+ goto yy677;
+ }
YYDEBUG(679, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy701;
- if (yych == 'o') goto yy701;
- goto yy128;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ yy_pop_state();
+ zend_copy_value(zendlval, yytext, yyleng);
+ return T_STRING;
+}
yy680:
YYDEBUG(680, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'F') goto yy702;
- if (yych == 'f') goto yy702;
- goto yy128;
-yy681:
+ ++YYCURSOR;
YYDEBUG(681, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy704;
- if (yych == 'e') goto yy704;
- goto yy128;
-yy682:
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ return T_OBJECT_OPERATOR;
+}
+ }
+/* *********************************** */
+yyc_ST_BACKQUOTE:
+ {
+ static const unsigned char yybm[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 0, 0, 0, 0, 0, 0,
+ 0, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 0, 0, 0, 0, 128,
+ 0, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 0, 0, 0, 0, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ };
YYDEBUG(682, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy706;
- if (yych == 'e') goto yy706;
- goto yy128;
-yy683:
- YYDEBUG(683, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'D') goto yy708;
- if (yych == 'd') goto yy708;
- goto yy128;
-yy684:
+ YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych <= '_') {
+ if (yych == '$') goto yy686;
+ } else {
+ if (yych <= '`') goto yy687;
+ if (yych == '{') goto yy689;
+ }
YYDEBUG(684, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy710;
- if (yych == 'o') goto yy710;
- goto yy128;
+ ++YYCURSOR;
yy685:
YYDEBUG(685, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '_') goto yy711;
- goto yy128;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ if (YYCURSOR > YYLIMIT) {
+ return 0;
+ }
+ if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
+ YYCURSOR++;
+ }
+
+ while (YYCURSOR < YYLIMIT) {
+ switch (*YYCURSOR++) {
+ case '`':
+ break;
+ case '$':
+ if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
+ break;
+ }
+ continue;
+ case '{':
+ if (*YYCURSOR == '$') {
+ break;
+ }
+ continue;
+ case '\\':
+ if (YYCURSOR < YYLIMIT) {
+ YYCURSOR++;
+ }
+ /* fall through */
+ default:
+ continue;
+ }
+
+ YYCURSOR--;
+ break;
+ }
+
+ yyleng = YYCURSOR - SCNG(yy_text);
+
+ zend_scan_escape_string(zendlval, yytext, yyleng, '`');
+ return T_ENCAPSED_AND_WHITESPACE;
+}
yy686:
YYDEBUG(686, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
+ yych = *++YYCURSOR;
+ {
+ static void *yytarget[256] = {
+ &&yy685, &&yy685, &&yy685, &&yy685, &&yy685, &&yy685, &&yy685, &&yy685,
+ &&yy685, &&yy685, &&yy685, &&yy685, &&yy685, &&yy685, &&yy685, &&yy685,
+ &&yy685, &&yy685, &&yy685, &&yy685, &&yy685, &&yy685, &&yy685, &&yy685,
+ &&yy685, &&yy685, &&yy685, &&yy685, &&yy685, &&yy685, &&yy685, &&yy685,
+ &&yy685, &&yy685, &&yy685, &&yy685, &&yy685, &&yy685, &&yy685, &&yy685,
+ &&yy685, &&yy685, &&yy685, &&yy685, &&yy685, &&yy685, &&yy685, &&yy685,
+ &&yy685, &&yy685, &&yy685, &&yy685, &&yy685, &&yy685, &&yy685, &&yy685,
+ &&yy685, &&yy685, &&yy685, &&yy685, &&yy685, &&yy685, &&yy685, &&yy685,
+ &&yy685, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690,
+ &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690,
+ &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690,
+ &&yy690, &&yy690, &&yy690, &&yy685, &&yy685, &&yy685, &&yy685, &&yy690,
+ &&yy685, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690,
+ &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690,
+ &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690,
+ &&yy690, &&yy690, &&yy690, &&yy693, &&yy685, &&yy685, &&yy685, &&yy690,
+ &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690,
+ &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690,
+ &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690,
+ &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690,
+ &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690,
+ &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690,
+ &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690,
+ &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690,
+ &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690,
+ &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690,
+ &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690,
+ &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690,
+ &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690,
+ &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690,
+ &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690,
+ &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690, &&yy690
+ };
+ goto *yytarget[yych];
}
+yy687:
YYDEBUG(687, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(688, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- return T_FILE;
+ BEGIN(ST_IN_SCRIPTING);
+ return '`';
}
-yy688:
- YYDEBUG(688, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'O') goto yy713;
- if (yych == 'o') goto yy713;
- goto yy128;
yy689:
YYDEBUG(689, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'O') goto yy714;
- if (yych == 'o') goto yy714;
- goto yy128;
+ if (yych == '$') goto yy695;
+ goto yy685;
yy690:
YYDEBUG(690, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
+ YYMARKER = ++YYCURSOR;
+ YYFILL(3);
+ yych = *YYCURSOR;
YYDEBUG(691, *YYCURSOR);
+ if (yybm[0+yych] & 128) {
+ goto yy690;
+ }
+ if (yych == '-') goto yy697;
+ if (yych <= '@') goto yy692;
+ if (yych <= '[') goto yy699;
+yy692:
+ YYDEBUG(692, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- return T_LINE;
+ zend_copy_value(zendlval, (yytext+1), (yyleng-1));
+ return T_VARIABLE;
}
-yy692:
- YYDEBUG(692, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '_') goto yy715;
- goto yy128;
yy693:
YYDEBUG(693, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'A') goto yy716;
- if (yych == 'a') goto yy716;
- goto yy128;
-yy694:
+ ++YYCURSOR;
YYDEBUG(694, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '_') goto yy717;
- goto yy128;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ yy_push_state(ST_LOOKING_FOR_VARNAME);
+ return T_DOLLAR_OPEN_CURLY_BRACES;
+}
yy695:
YYDEBUG(695, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy719;
- if (yych == 'e') goto yy719;
- goto yy128;
-yy696:
- YYDEBUG(696, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'H') goto yy721;
- if (yych == 'h') goto yy721;
- goto yy128;
-yy697:
- YYDEBUG(697, *YYCURSOR);
++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
- YYDEBUG(698, *YYCURSOR);
+ YYDEBUG(696, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- return T_ENDSWITCH;
+ Z_LVAL_P(zendlval) = (zend_long) '{';
+ yy_push_state(ST_IN_SCRIPTING);
+ yyless(1);
+ return T_CURLY_OPEN;
}
+yy697:
+ YYDEBUG(697, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '>') goto yy701;
+yy698:
+ YYDEBUG(698, *YYCURSOR);
+ YYCURSOR = YYMARKER;
+ goto yy692;
yy699:
YYDEBUG(699, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'S') goto yy723;
- if (yych == 's') goto yy723;
- goto yy128;
-yy700:
+ ++YYCURSOR;
YYDEBUG(700, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy725;
- if (yych == 'n') goto yy725;
- goto yy128;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ yyless(yyleng - 1);
+ yy_push_state(ST_VAR_OFFSET);
+ zend_copy_value(zendlval, (yytext+1), (yyleng-1));
+ return T_VARIABLE;
+}
yy701:
YYDEBUG(701, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'F') goto yy726;
- if (yych == 'f') goto yy726;
- goto yy128;
+ if (yych <= '_') {
+ if (yych <= '@') goto yy698;
+ if (yych <= 'Z') goto yy702;
+ if (yych <= '^') goto yy698;
+ } else {
+ if (yych <= '`') goto yy698;
+ if (yych <= 'z') goto yy702;
+ if (yych <= '~') goto yy698;
+ }
yy702:
YYDEBUG(702, *YYCURSOR);
++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
YYDEBUG(703, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- return T_INSTEADOF;
+ yyless(yyleng - 3);
+ yy_push_state(ST_LOOKING_FOR_PROPERTY);
+ zend_copy_value(zendlval, (yytext+1), (yyleng-1));
+ return T_VARIABLE;
}
-yy704:
+ }
+/* *********************************** */
+yyc_ST_DOUBLE_QUOTES:
+ {
+ static const unsigned char yybm[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 0, 0, 0, 0, 0, 0,
+ 0, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 0, 0, 0, 0, 128,
+ 0, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 0, 0, 0, 0, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ };
YYDEBUG(704, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
+ YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych <= '#') {
+ if (yych == '"') goto yy708;
+ } else {
+ if (yych <= '$') goto yy710;
+ if (yych == '{') goto yy711;
}
- YYDEBUG(705, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_INTERFACE;
-}
-yy706:
YYDEBUG(706, *YYCURSOR);
++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
+yy707:
YYDEBUG(707, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- return T_NAMESPACE;
+ if (GET_DOUBLE_QUOTES_SCANNED_LENGTH()) {
+ YYCURSOR += GET_DOUBLE_QUOTES_SCANNED_LENGTH() - 1;
+ SET_DOUBLE_QUOTES_SCANNED_LENGTH(0);
+
+ goto double_quotes_scan_done;
+ }
+
+ if (YYCURSOR > YYLIMIT) {
+ return 0;
+ }
+ if (yytext[0] == '\\' && YYCURSOR < YYLIMIT) {
+ YYCURSOR++;
+ }
+
+ while (YYCURSOR < YYLIMIT) {
+ switch (*YYCURSOR++) {
+ case '"':
+ break;
+ case '$':
+ if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
+ break;
+ }
+ continue;
+ case '{':
+ if (*YYCURSOR == '$') {
+ break;
+ }
+ continue;
+ case '\\':
+ if (YYCURSOR < YYLIMIT) {
+ YYCURSOR++;
+ }
+ /* fall through */
+ default:
+ continue;
+ }
+
+ YYCURSOR--;
+ break;
+ }
+
+double_quotes_scan_done:
+ yyleng = YYCURSOR - SCNG(yy_text);
+
+ zend_scan_escape_string(zendlval, yytext, yyleng, '"');
+ return T_ENCAPSED_AND_WHITESPACE;
}
yy708:
YYDEBUG(708, *YYCURSOR);
++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
YYDEBUG(709, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- return T_PROTECTED;
+ BEGIN(ST_IN_SCRIPTING);
+ return '"';
}
yy710:
YYDEBUG(710, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == 'N') goto yy728;
- if (yych == 'n') goto yy728;
- goto yy128;
+ {
+ static void *yytarget[256] = {
+ &&yy707, &&yy707, &&yy707, &&yy707, &&yy707, &&yy707, &&yy707, &&yy707,
+ &&yy707, &&yy707, &&yy707, &&yy707, &&yy707, &&yy707, &&yy707, &&yy707,
+ &&yy707, &&yy707, &&yy707, &&yy707, &&yy707, &&yy707, &&yy707, &&yy707,
+ &&yy707, &&yy707, &&yy707, &&yy707, &&yy707, &&yy707, &&yy707, &&yy707,
+ &&yy707, &&yy707, &&yy707, &&yy707, &&yy707, &&yy707, &&yy707, &&yy707,
+ &&yy707, &&yy707, &&yy707, &&yy707, &&yy707, &&yy707, &&yy707, &&yy707,
+ &&yy707, &&yy707, &&yy707, &&yy707, &&yy707, &&yy707, &&yy707, &&yy707,
+ &&yy707, &&yy707, &&yy707, &&yy707, &&yy707, &&yy707, &&yy707, &&yy707,
+ &&yy707, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712,
+ &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712,
+ &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712,
+ &&yy712, &&yy712, &&yy712, &&yy707, &&yy707, &&yy707, &&yy707, &&yy712,
+ &&yy707, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712,
+ &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712,
+ &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712,
+ &&yy712, &&yy712, &&yy712, &&yy715, &&yy707, &&yy707, &&yy707, &&yy712,
+ &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712,
+ &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712,
+ &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712,
+ &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712,
+ &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712,
+ &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712,
+ &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712,
+ &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712,
+ &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712,
+ &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712,
+ &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712,
+ &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712,
+ &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712,
+ &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712,
+ &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712,
+ &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712, &&yy712
+ };
+ goto *yytarget[yych];
+ }
yy711:
YYDEBUG(711, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
+ yych = *++YYCURSOR;
+ if (yych == '$') goto yy717;
+ goto yy707;
+yy712:
YYDEBUG(712, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_CLASS_C;
-}
-yy713:
+ YYMARKER = ++YYCURSOR;
+ YYFILL(3);
+ yych = *YYCURSOR;
YYDEBUG(713, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'N') goto yy729;
- if (yych == 'n') goto yy729;
- goto yy128;
+ if (yybm[0+yych] & 128) {
+ goto yy712;
+ }
+ if (yych == '-') goto yy719;
+ if (yych <= '@') goto yy714;
+ if (yych <= '[') goto yy721;
yy714:
YYDEBUG(714, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'M') goto yy730;
- if (yych == 'm') goto yy730;
- goto yy128;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ zend_copy_value(zendlval, (yytext+1), (yyleng-1));
+ return T_VARIABLE;
+}
yy715:
YYDEBUG(715, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '_') goto yy731;
- goto yy128;
-yy716:
+ ++YYCURSOR;
YYDEBUG(716, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy733;
- if (yych == 'c') goto yy733;
- goto yy128;
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ yy_push_state(ST_LOOKING_FOR_VARNAME);
+ return T_DOLLAR_OPEN_CURLY_BRACES;
+}
yy717:
YYDEBUG(717, *YYCURSOR);
++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
YYDEBUG(718, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- return T_TRAIT_C;
+ Z_LVAL_P(zendlval) = (zend_long) '{';
+ yy_push_state(ST_IN_SCRIPTING);
+ yyless(1);
+ return T_CURLY_OPEN;
}
yy719:
YYDEBUG(719, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
+ yych = *++YYCURSOR;
+ if (yych == '>') goto yy723;
+yy720:
YYDEBUG(720, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_ENDDECLARE;
-}
+ YYCURSOR = YYMARKER;
+ goto yy714;
yy721:
YYDEBUG(721, *YYCURSOR);
++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
YYDEBUG(722, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- return T_ENDFOREACH;
+ yyless(yyleng - 1);
+ yy_push_state(ST_VAR_OFFSET);
+ zend_copy_value(zendlval, (yytext+1), (yyleng-1));
+ return T_VARIABLE;
}
yy723:
YYDEBUG(723, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
- YYDEBUG(724, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_IMPLEMENTS;
-}
-yy725:
- YYDEBUG(725, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy734;
- if (yych == 'c') goto yy734;
- goto yy128;
-yy726:
- YYDEBUG(726, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
- YYDEBUG(727, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_INSTANCEOF;
-}
-yy728:
- YYDEBUG(728, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'C') goto yy735;
- if (yych == 'c') goto yy735;
- goto yy128;
-yy729:
- YYDEBUG(729, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '_') goto yy736;
- goto yy128;
-yy730:
- YYDEBUG(730, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'P') goto yy737;
- if (yych == 'p') goto yy737;
- goto yy128;
-yy731:
- YYDEBUG(731, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
- YYDEBUG(732, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_METHOD_C;
-}
-yy733:
- YYDEBUG(733, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy738;
- if (yych == 'e') goto yy738;
- goto yy128;
-yy734:
- YYDEBUG(734, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy739;
- if (yych == 'e') goto yy739;
- goto yy128;
-yy735:
- YYDEBUG(735, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy741;
- if (yych == 'e') goto yy741;
- goto yy128;
-yy736:
- YYDEBUG(736, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '_') goto yy743;
- goto yy128;
-yy737:
- YYDEBUG(737, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'I') goto yy745;
- if (yych == 'i') goto yy745;
- goto yy128;
-yy738:
- YYDEBUG(738, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == '_') goto yy746;
- goto yy128;
-yy739:
- YYDEBUG(739, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
- YYDEBUG(740, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_INCLUDE_ONCE;
-}
-yy741:
- YYDEBUG(741, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
- YYDEBUG(742, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_REQUIRE_ONCE;
-}
-yy743:
- YYDEBUG(743, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
- YYDEBUG(744, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_FUNC_C;
-}
-yy745:
- YYDEBUG(745, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'L') goto yy747;
- if (yych == 'l') goto yy747;
- goto yy128;
-yy746:
- YYDEBUG(746, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '_') goto yy748;
- goto yy128;
-yy747:
- YYDEBUG(747, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'E') goto yy750;
- if (yych == 'e') goto yy750;
- goto yy128;
-yy748:
- YYDEBUG(748, *YYCURSOR);
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
+ if (yych <= '_') {
+ if (yych <= '@') goto yy720;
+ if (yych <= 'Z') goto yy724;
+ if (yych <= '^') goto yy720;
+ } else {
+ if (yych <= '`') goto yy720;
+ if (yych <= 'z') goto yy724;
+ if (yych <= '~') goto yy720;
}
- YYDEBUG(749, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- return T_NS_C;
-}
-yy750:
- YYDEBUG(750, *YYCURSOR);
- yych = *++YYCURSOR;
- if (yych == 'R') goto yy751;
- if (yych != 'r') goto yy128;
-yy751:
- YYDEBUG(751, *YYCURSOR);
+yy724:
+ YYDEBUG(724, *YYCURSOR);
++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 16) {
- goto yy127;
- }
- YYDEBUG(752, *YYCURSOR);
+ YYDEBUG(725, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- return T_HALT_COMPILER;
+ yyless(yyleng - 3);
+ yy_push_state(ST_LOOKING_FOR_PROPERTY);
+ zend_copy_value(zendlval, (yytext+1), (yyleng-1));
+ return T_VARIABLE;
}
}
/* *********************************** */
-yyc_ST_LOOKING_FOR_PROPERTY:
+yyc_ST_HEREDOC:
{
static const unsigned char yybm[] = {
0, 0, 0, 0, 0, 0, 0, 0,
- 0, 64, 64, 0, 0, 64, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
- 64, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 0, 0, 0, 0, 0, 0,
@@ -7548,100 +7289,213 @@ yyc_ST_LOOKING_FOR_PROPERTY:
128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128,
};
- YYDEBUG(753, *YYCURSOR);
+ YYDEBUG(726, *YYCURSOR);
YYFILL(2);
yych = *YYCURSOR;
+ if (yych == '$') goto yy730;
+ if (yych == '{') goto yy731;
+ YYDEBUG(728, *YYCURSOR);
+ ++YYCURSOR;
+yy729:
+ YYDEBUG(729, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ int newline = 0;
+
+ zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
+
+ if (YYCURSOR > YYLIMIT) {
+ return 0;
+ }
+
+ YYCURSOR--;
+
+ while (YYCURSOR < YYLIMIT) {
+ switch (*YYCURSOR++) {
+ case '\r':
+ if (*YYCURSOR == '\n') {
+ YYCURSOR++;
+ }
+ /* fall through */
+ case '\n':
+ /* Check for ending label on the next line */
+ if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
+ YYCTYPE *end = YYCURSOR + heredoc_label->length;
+
+ if (*end == ';') {
+ end++;
+ }
+
+ if (*end == '\n' || *end == '\r') {
+ /* newline before label will be subtracted from returned text, but
+ * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
+ if (YYCURSOR[-2] == '\r' && YYCURSOR[-1] == '\n') {
+ newline = 2; /* Windows newline */
+ } else {
+ newline = 1;
+ }
+
+ CG(increment_lineno) = 1; /* For newline before label */
+ BEGIN(ST_END_HEREDOC);
+
+ goto heredoc_scan_done;
+ }
+ }
+ continue;
+ case '$':
+ if (IS_LABEL_START(*YYCURSOR) || *YYCURSOR == '{') {
+ break;
+ }
+ continue;
+ case '{':
+ if (*YYCURSOR == '$') {
+ break;
+ }
+ continue;
+ case '\\':
+ if (YYCURSOR < YYLIMIT && *YYCURSOR != '\n' && *YYCURSOR != '\r') {
+ YYCURSOR++;
+ }
+ /* fall through */
+ default:
+ continue;
+ }
+
+ YYCURSOR--;
+ break;
+ }
+
+heredoc_scan_done:
+ yyleng = YYCURSOR - SCNG(yy_text);
+
+ zend_scan_escape_string(zendlval, yytext, yyleng - newline, 0);
+ return T_ENCAPSED_AND_WHITESPACE;
+}
+yy730:
+ YYDEBUG(730, *YYCURSOR);
+ yych = *++YYCURSOR;
{
static void *yytarget[256] = {
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy757, &&yy757, &&yy755, &&yy755, &&yy757, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy757, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy760, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755, &&yy755,
- &&yy755, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761,
- &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761,
- &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761,
- &&yy761, &&yy761, &&yy761, &&yy755, &&yy755, &&yy755, &&yy755, &&yy761,
- &&yy755, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761,
- &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761,
- &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761,
- &&yy761, &&yy761, &&yy761, &&yy755, &&yy755, &&yy755, &&yy755, &&yy761,
- &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761,
- &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761,
- &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761,
- &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761,
- &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761,
- &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761,
- &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761,
- &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761,
- &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761,
- &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761,
- &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761,
- &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761,
- &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761,
- &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761,
- &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761,
- &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761
+ &&yy729, &&yy729, &&yy729, &&yy729, &&yy729, &&yy729, &&yy729, &&yy729,
+ &&yy729, &&yy729, &&yy729, &&yy729, &&yy729, &&yy729, &&yy729, &&yy729,
+ &&yy729, &&yy729, &&yy729, &&yy729, &&yy729, &&yy729, &&yy729, &&yy729,
+ &&yy729, &&yy729, &&yy729, &&yy729, &&yy729, &&yy729, &&yy729, &&yy729,
+ &&yy729, &&yy729, &&yy729, &&yy729, &&yy729, &&yy729, &&yy729, &&yy729,
+ &&yy729, &&yy729, &&yy729, &&yy729, &&yy729, &&yy729, &&yy729, &&yy729,
+ &&yy729, &&yy729, &&yy729, &&yy729, &&yy729, &&yy729, &&yy729, &&yy729,
+ &&yy729, &&yy729, &&yy729, &&yy729, &&yy729, &&yy729, &&yy729, &&yy729,
+ &&yy729, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732,
+ &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732,
+ &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732,
+ &&yy732, &&yy732, &&yy732, &&yy729, &&yy729, &&yy729, &&yy729, &&yy732,
+ &&yy729, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732,
+ &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732,
+ &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732,
+ &&yy732, &&yy732, &&yy732, &&yy735, &&yy729, &&yy729, &&yy729, &&yy732,
+ &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732,
+ &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732,
+ &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732,
+ &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732,
+ &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732,
+ &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732,
+ &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732,
+ &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732,
+ &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732,
+ &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732,
+ &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732,
+ &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732,
+ &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732,
+ &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732,
+ &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732,
+ &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732, &&yy732
};
goto *yytarget[yych];
}
-yy755:
- YYDEBUG(755, *YYCURSOR);
+yy731:
+ YYDEBUG(731, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '$') goto yy737;
+ goto yy729;
+yy732:
+ YYDEBUG(732, *YYCURSOR);
+ YYMARKER = ++YYCURSOR;
+ YYFILL(3);
+ yych = *YYCURSOR;
+ YYDEBUG(733, *YYCURSOR);
+ if (yybm[0+yych] & 128) {
+ goto yy732;
+ }
+ if (yych == '-') goto yy739;
+ if (yych <= '@') goto yy734;
+ if (yych <= '[') goto yy741;
+yy734:
+ YYDEBUG(734, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ zend_copy_value(zendlval, (yytext+1), (yyleng-1));
+ return T_VARIABLE;
+}
+yy735:
+ YYDEBUG(735, *YYCURSOR);
++YYCURSOR;
-yy756:
- YYDEBUG(756, *YYCURSOR);
+ YYDEBUG(736, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- yyless(0);
- yy_pop_state();
- goto restart;
+ yy_push_state(ST_LOOKING_FOR_VARNAME);
+ return T_DOLLAR_OPEN_CURLY_BRACES;
}
-yy757:
- YYDEBUG(757, *YYCURSOR);
+yy737:
+ YYDEBUG(737, *YYCURSOR);
++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(758, *YYCURSOR);
- if (yybm[0+yych] & 64) {
- goto yy757;
- }
- YYDEBUG(759, *YYCURSOR);
+ YYDEBUG(738, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- HANDLE_NEWLINES(yytext, yyleng);
- return T_WHITESPACE;
+ Z_LVAL_P(zendlval) = (zend_long) '{';
+ yy_push_state(ST_IN_SCRIPTING);
+ yyless(1);
+ return T_CURLY_OPEN;
}
-yy760:
- YYDEBUG(760, *YYCURSOR);
+yy739:
+ YYDEBUG(739, *YYCURSOR);
yych = *++YYCURSOR;
- if (yych == '>') goto yy764;
- goto yy756;
-yy761:
- YYDEBUG(761, *YYCURSOR);
+ if (yych == '>') goto yy743;
+yy740:
+ YYDEBUG(740, *YYCURSOR);
+ YYCURSOR = YYMARKER;
+ goto yy734;
+yy741:
+ YYDEBUG(741, *YYCURSOR);
++YYCURSOR;
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(762, *YYCURSOR);
- if (yybm[0+yych] & 128) {
- goto yy761;
- }
- YYDEBUG(763, *YYCURSOR);
+ YYDEBUG(742, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- yy_pop_state();
- zend_copy_value(zendlval, yytext, yyleng);
- return T_STRING;
+ yyless(yyleng - 1);
+ yy_push_state(ST_VAR_OFFSET);
+ zend_copy_value(zendlval, (yytext+1), (yyleng-1));
+ return T_VARIABLE;
}
-yy764:
- YYDEBUG(764, *YYCURSOR);
+yy743:
+ YYDEBUG(743, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= '_') {
+ if (yych <= '@') goto yy740;
+ if (yych <= 'Z') goto yy744;
+ if (yych <= '^') goto yy740;
+ } else {
+ if (yych <= '`') goto yy740;
+ if (yych <= 'z') goto yy744;
+ if (yych <= '~') goto yy740;
+ }
+yy744:
+ YYDEBUG(744, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(765, *YYCURSOR);
+ YYDEBUG(745, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
- return T_OBJECT_OPERATOR;
+ yyless(yyleng - 3);
+ yy_push_state(ST_LOOKING_FOR_PROPERTY);
+ zend_copy_value(zendlval, (yytext+1), (yyleng-1));
+ return T_VARIABLE;
}
}
/* *********************************** */
@@ -7681,23 +7535,23 @@ yyc_ST_LOOKING_FOR_VARNAME:
128, 128, 128, 128, 128, 128, 128, 128,
128, 128, 128, 128, 128, 128, 128, 128,
};
- YYDEBUG(766, *YYCURSOR);
+ YYDEBUG(746, *YYCURSOR);
YYFILL(2);
yych = *YYCURSOR;
if (yych <= '_') {
- if (yych <= '@') goto yy768;
- if (yych <= 'Z') goto yy770;
- if (yych >= '_') goto yy770;
+ if (yych <= '@') goto yy748;
+ if (yych <= 'Z') goto yy750;
+ if (yych >= '_') goto yy750;
} else {
- if (yych <= '`') goto yy768;
- if (yych <= 'z') goto yy770;
- if (yych >= 0x7F) goto yy770;
+ if (yych <= '`') goto yy748;
+ if (yych <= 'z') goto yy750;
+ if (yych >= 0x7F) goto yy750;
}
-yy768:
- YYDEBUG(768, *YYCURSOR);
+yy748:
+ YYDEBUG(748, *YYCURSOR);
++YYCURSOR;
-yy769:
- YYDEBUG(769, *YYCURSOR);
+yy749:
+ YYDEBUG(749, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
yyless(0);
@@ -7705,67 +7559,67 @@ yy769:
yy_push_state(ST_IN_SCRIPTING);
goto restart;
}
-yy770:
- YYDEBUG(770, *YYCURSOR);
+yy750:
+ YYDEBUG(750, *YYCURSOR);
yych = *(YYMARKER = ++YYCURSOR);
{
static void *yytarget[256] = {
- &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769,
- &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769,
- &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769,
- &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769,
- &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769,
- &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769,
- &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
- &&yy772, &&yy772, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769,
- &&yy769, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
- &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
- &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
- &&yy772, &&yy772, &&yy772, &&yy772, &&yy769, &&yy769, &&yy769, &&yy772,
- &&yy769, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
- &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
- &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
- &&yy772, &&yy772, &&yy772, &&yy769, &&yy769, &&yy772, &&yy769, &&yy772,
- &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
- &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
- &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
- &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
- &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
- &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
- &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
- &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
- &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
- &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
- &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
- &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
- &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
- &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
- &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
- &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772
+ &&yy749, &&yy749, &&yy749, &&yy749, &&yy749, &&yy749, &&yy749, &&yy749,
+ &&yy749, &&yy749, &&yy749, &&yy749, &&yy749, &&yy749, &&yy749, &&yy749,
+ &&yy749, &&yy749, &&yy749, &&yy749, &&yy749, &&yy749, &&yy749, &&yy749,
+ &&yy749, &&yy749, &&yy749, &&yy749, &&yy749, &&yy749, &&yy749, &&yy749,
+ &&yy749, &&yy749, &&yy749, &&yy749, &&yy749, &&yy749, &&yy749, &&yy749,
+ &&yy749, &&yy749, &&yy749, &&yy749, &&yy749, &&yy749, &&yy749, &&yy749,
+ &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752,
+ &&yy752, &&yy752, &&yy749, &&yy749, &&yy749, &&yy749, &&yy749, &&yy749,
+ &&yy749, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752,
+ &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752,
+ &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752,
+ &&yy752, &&yy752, &&yy752, &&yy752, &&yy749, &&yy749, &&yy749, &&yy752,
+ &&yy749, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752,
+ &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752,
+ &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752,
+ &&yy752, &&yy752, &&yy752, &&yy749, &&yy749, &&yy752, &&yy749, &&yy752,
+ &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752,
+ &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752,
+ &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752,
+ &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752,
+ &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752,
+ &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752,
+ &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752,
+ &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752,
+ &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752,
+ &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752,
+ &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752,
+ &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752,
+ &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752,
+ &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752,
+ &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752,
+ &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752, &&yy752
};
goto *yytarget[yych];
}
-yy771:
- YYDEBUG(771, *YYCURSOR);
+yy751:
+ YYDEBUG(751, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
-yy772:
- YYDEBUG(772, *YYCURSOR);
+yy752:
+ YYDEBUG(752, *YYCURSOR);
if (yybm[0+yych] & 128) {
- goto yy771;
+ goto yy751;
}
- if (yych <= '@') goto yy773;
- if (yych <= '[') goto yy774;
- if (yych == '}') goto yy774;
-yy773:
- YYDEBUG(773, *YYCURSOR);
+ if (yych <= '@') goto yy753;
+ if (yych <= '[') goto yy754;
+ if (yych == '}') goto yy754;
+yy753:
+ YYDEBUG(753, *YYCURSOR);
YYCURSOR = YYMARKER;
- goto yy769;
-yy774:
- YYDEBUG(774, *YYCURSOR);
+ goto yy749;
+yy754:
+ YYDEBUG(754, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(775, *YYCURSOR);
+ YYDEBUG(755, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
yyless(yyleng - 1);
@@ -7776,70 +7630,6 @@ yy774:
}
}
/* *********************************** */
-yyc_ST_NOWDOC:
- YYDEBUG(776, *YYCURSOR);
- YYFILL(1);
- yych = *YYCURSOR;
- YYDEBUG(778, *YYCURSOR);
- ++YYCURSOR;
- YYDEBUG(779, *YYCURSOR);
- yyleng = YYCURSOR - SCNG(yy_text);
- {
- int newline = 0;
-
- zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
-
- if (YYCURSOR > YYLIMIT) {
- return 0;
- }
-
- YYCURSOR--;
-
- while (YYCURSOR < YYLIMIT) {
- switch (*YYCURSOR++) {
- case '\r':
- if (*YYCURSOR == '\n') {
- YYCURSOR++;
- }
- /* fall through */
- case '\n':
- /* Check for ending label on the next line */
- if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
- YYCTYPE *end = YYCURSOR + heredoc_label->length;
-
- if (*end == ';') {
- end++;
- }
-
- if (*end == '\n' || *end == '\r') {
- /* newline before label will be subtracted from returned text, but
- * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
- if (YYCURSOR[-2] == '\r' && YYCURSOR[-1] == '\n') {
- newline = 2; /* Windows newline */
- } else {
- newline = 1;
- }
-
- CG(increment_lineno) = 1; /* For newline before label */
- BEGIN(ST_END_HEREDOC);
-
- goto nowdoc_scan_done;
- }
- }
- /* fall through */
- default:
- continue;
- }
- }
-
-nowdoc_scan_done:
- yyleng = YYCURSOR - SCNG(yy_text);
-
- zend_copy_value(zendlval, yytext, yyleng - newline);
- HANDLE_NEWLINES(yytext, yyleng - newline);
- return T_ENCAPSED_AND_WHITESPACE;
-}
-/* *********************************** */
yyc_ST_VAR_OFFSET:
{
static const unsigned char yybm[] = {
@@ -7876,50 +7666,50 @@ yyc_ST_VAR_OFFSET:
32, 32, 32, 32, 32, 32, 32, 32,
32, 32, 32, 32, 32, 32, 32, 32,
};
- YYDEBUG(780, *YYCURSOR);
+ YYDEBUG(756, *YYCURSOR);
YYFILL(3);
yych = *YYCURSOR;
{
static void *yytarget[256] = {
- &&yy782, &&yy782, &&yy782, &&yy782, &&yy782, &&yy782, &&yy782, &&yy782,
- &&yy782, &&yy784, &&yy784, &&yy782, &&yy782, &&yy784, &&yy782, &&yy782,
- &&yy782, &&yy782, &&yy782, &&yy782, &&yy782, &&yy782, &&yy782, &&yy782,
- &&yy782, &&yy782, &&yy782, &&yy782, &&yy782, &&yy782, &&yy782, &&yy782,
- &&yy784, &&yy786, &&yy786, &&yy784, &&yy788, &&yy786, &&yy786, &&yy784,
- &&yy786, &&yy786, &&yy786, &&yy786, &&yy786, &&yy786, &&yy786, &&yy786,
- &&yy789, &&yy791, &&yy791, &&yy791, &&yy791, &&yy791, &&yy791, &&yy791,
- &&yy791, &&yy791, &&yy786, &&yy786, &&yy786, &&yy786, &&yy786, &&yy786,
- &&yy786, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793,
- &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793,
- &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793,
- &&yy793, &&yy793, &&yy793, &&yy786, &&yy784, &&yy796, &&yy786, &&yy793,
- &&yy786, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793,
- &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793,
- &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793,
- &&yy793, &&yy793, &&yy793, &&yy786, &&yy786, &&yy786, &&yy786, &&yy793,
- &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793,
- &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793,
- &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793,
- &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793,
- &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793,
- &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793,
- &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793,
- &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793,
- &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793,
- &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793,
- &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793,
- &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793,
- &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793,
- &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793,
- &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793,
- &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793, &&yy793
+ &&yy758, &&yy758, &&yy758, &&yy758, &&yy758, &&yy758, &&yy758, &&yy758,
+ &&yy758, &&yy760, &&yy760, &&yy758, &&yy758, &&yy760, &&yy758, &&yy758,
+ &&yy758, &&yy758, &&yy758, &&yy758, &&yy758, &&yy758, &&yy758, &&yy758,
+ &&yy758, &&yy758, &&yy758, &&yy758, &&yy758, &&yy758, &&yy758, &&yy758,
+ &&yy760, &&yy762, &&yy762, &&yy760, &&yy764, &&yy762, &&yy762, &&yy760,
+ &&yy762, &&yy762, &&yy762, &&yy762, &&yy762, &&yy762, &&yy762, &&yy762,
+ &&yy765, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767,
+ &&yy767, &&yy767, &&yy762, &&yy762, &&yy762, &&yy762, &&yy762, &&yy762,
+ &&yy762, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769,
+ &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769,
+ &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769,
+ &&yy769, &&yy769, &&yy769, &&yy762, &&yy760, &&yy772, &&yy762, &&yy769,
+ &&yy762, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769,
+ &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769,
+ &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769,
+ &&yy769, &&yy769, &&yy769, &&yy762, &&yy762, &&yy762, &&yy762, &&yy769,
+ &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769,
+ &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769,
+ &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769,
+ &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769,
+ &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769,
+ &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769,
+ &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769,
+ &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769,
+ &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769,
+ &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769,
+ &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769,
+ &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769,
+ &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769,
+ &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769,
+ &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769,
+ &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769, &&yy769
};
goto *yytarget[yych];
}
-yy782:
- YYDEBUG(782, *YYCURSOR);
+yy758:
+ YYDEBUG(758, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(783, *YYCURSOR);
+ YYDEBUG(759, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
if (YYCURSOR > YYLIMIT) {
@@ -7929,10 +7719,10 @@ yy782:
zend_error(E_COMPILE_WARNING,"Unexpected character in input: '%c' (ASCII=%d) state=%d", yytext[0], yytext[0], YYSTATE);
goto restart;
}
-yy784:
- YYDEBUG(784, *YYCURSOR);
+yy760:
+ YYDEBUG(760, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(785, *YYCURSOR);
+ YYDEBUG(761, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
/* Invalid rule to return a more explicit parse error with proper line number */
@@ -7941,72 +7731,72 @@ yy784:
ZVAL_NULL(zendlval);
return T_ENCAPSED_AND_WHITESPACE;
}
-yy786:
- YYDEBUG(786, *YYCURSOR);
+yy762:
+ YYDEBUG(762, *YYCURSOR);
++YYCURSOR;
-yy787:
- YYDEBUG(787, *YYCURSOR);
+yy763:
+ YYDEBUG(763, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
/* Only '[' can be valid, but returning other tokens will allow a more explicit parse error */
return yytext[0];
}
-yy788:
- YYDEBUG(788, *YYCURSOR);
+yy764:
+ YYDEBUG(764, *YYCURSOR);
yych = *++YYCURSOR;
if (yych <= '_') {
- if (yych <= '@') goto yy787;
- if (yych <= 'Z') goto yy798;
- if (yych <= '^') goto yy787;
- goto yy798;
+ if (yych <= '@') goto yy763;
+ if (yych <= 'Z') goto yy774;
+ if (yych <= '^') goto yy763;
+ goto yy774;
} else {
- if (yych <= '`') goto yy787;
- if (yych <= 'z') goto yy798;
- if (yych <= '~') goto yy787;
- goto yy798;
+ if (yych <= '`') goto yy763;
+ if (yych <= 'z') goto yy774;
+ if (yych <= '~') goto yy763;
+ goto yy774;
}
-yy789:
- YYDEBUG(789, *YYCURSOR);
+yy765:
+ YYDEBUG(765, *YYCURSOR);
yych = *(YYMARKER = ++YYCURSOR);
{
static void *yytarget[256] = {
- &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790,
- &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790,
- &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790,
- &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790,
- &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790,
- &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790,
- &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801, &&yy801,
- &&yy801, &&yy801, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790,
- &&yy790, &&yy790, &&yy804, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790,
- &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790,
- &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790,
- &&yy806, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790,
- &&yy790, &&yy790, &&yy804, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790,
- &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790,
- &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790,
- &&yy806, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790,
- &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790,
- &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790,
- &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790,
- &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790,
- &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790,
- &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790,
- &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790,
- &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790,
- &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790,
- &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790,
- &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790,
- &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790,
- &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790,
- &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790,
- &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790,
- &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790, &&yy790
+ &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766,
+ &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766,
+ &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766,
+ &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766,
+ &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766,
+ &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766,
+ &&yy777, &&yy777, &&yy777, &&yy777, &&yy777, &&yy777, &&yy777, &&yy777,
+ &&yy777, &&yy777, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766,
+ &&yy766, &&yy766, &&yy780, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766,
+ &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766,
+ &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766,
+ &&yy782, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766,
+ &&yy766, &&yy766, &&yy780, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766,
+ &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766,
+ &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766,
+ &&yy782, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766,
+ &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766,
+ &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766,
+ &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766,
+ &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766,
+ &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766,
+ &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766,
+ &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766,
+ &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766,
+ &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766,
+ &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766,
+ &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766,
+ &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766,
+ &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766,
+ &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766,
+ &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766,
+ &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766, &&yy766
};
goto *yytarget[yych];
}
-yy790:
- YYDEBUG(790, *YYCURSOR);
+yy766:
+ YYDEBUG(766, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{ /* Offset could be treated as a long */
if (yyleng < MAX_LENGTH_OF_LONG - 1 || (yyleng == MAX_LENGTH_OF_LONG - 1 && strcmp(yytext, long_min_digits) < 0)) {
@@ -8023,143 +7813,355 @@ string:
}
return T_NUM_STRING;
}
-yy791:
- YYDEBUG(791, *YYCURSOR);
+yy767:
+ YYDEBUG(767, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(792, *YYCURSOR);
+ YYDEBUG(768, *YYCURSOR);
if (yybm[0+yych] & 16) {
- goto yy791;
+ goto yy767;
}
- goto yy790;
-yy793:
- YYDEBUG(793, *YYCURSOR);
+ goto yy766;
+yy769:
+ YYDEBUG(769, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(794, *YYCURSOR);
+ YYDEBUG(770, *YYCURSOR);
if (yybm[0+yych] & 32) {
- goto yy793;
+ goto yy769;
}
- YYDEBUG(795, *YYCURSOR);
+ YYDEBUG(771, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
zend_copy_value(zendlval, yytext, yyleng);
return T_STRING;
}
-yy796:
- YYDEBUG(796, *YYCURSOR);
+yy772:
+ YYDEBUG(772, *YYCURSOR);
++YYCURSOR;
- YYDEBUG(797, *YYCURSOR);
+ YYDEBUG(773, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
yy_pop_state();
return ']';
}
-yy798:
- YYDEBUG(798, *YYCURSOR);
+yy774:
+ YYDEBUG(774, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(799, *YYCURSOR);
+ YYDEBUG(775, *YYCURSOR);
{
static void *yytarget[256] = {
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798,
- &&yy798, &&yy798, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798,
- &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798,
- &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798,
- &&yy798, &&yy798, &&yy798, &&yy800, &&yy800, &&yy800, &&yy800, &&yy798,
- &&yy800, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798,
- &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798,
- &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798,
- &&yy798, &&yy798, &&yy798, &&yy800, &&yy800, &&yy800, &&yy800, &&yy798,
- &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798,
- &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798,
- &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798,
- &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798,
- &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798,
- &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798,
- &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798,
- &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798,
- &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798,
- &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798,
- &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798,
- &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798,
- &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798,
- &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798,
- &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798,
- &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798, &&yy798
+ &&yy776, &&yy776, &&yy776, &&yy776, &&yy776, &&yy776, &&yy776, &&yy776,
+ &&yy776, &&yy776, &&yy776, &&yy776, &&yy776, &&yy776, &&yy776, &&yy776,
+ &&yy776, &&yy776, &&yy776, &&yy776, &&yy776, &&yy776, &&yy776, &&yy776,
+ &&yy776, &&yy776, &&yy776, &&yy776, &&yy776, &&yy776, &&yy776, &&yy776,
+ &&yy776, &&yy776, &&yy776, &&yy776, &&yy776, &&yy776, &&yy776, &&yy776,
+ &&yy776, &&yy776, &&yy776, &&yy776, &&yy776, &&yy776, &&yy776, &&yy776,
+ &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774,
+ &&yy774, &&yy774, &&yy776, &&yy776, &&yy776, &&yy776, &&yy776, &&yy776,
+ &&yy776, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774,
+ &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774,
+ &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774,
+ &&yy774, &&yy774, &&yy774, &&yy776, &&yy776, &&yy776, &&yy776, &&yy774,
+ &&yy776, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774,
+ &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774,
+ &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774,
+ &&yy774, &&yy774, &&yy774, &&yy776, &&yy776, &&yy776, &&yy776, &&yy774,
+ &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774,
+ &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774,
+ &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774,
+ &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774,
+ &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774,
+ &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774,
+ &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774,
+ &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774,
+ &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774,
+ &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774,
+ &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774,
+ &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774,
+ &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774,
+ &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774,
+ &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774,
+ &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774, &&yy774
};
goto *yytarget[yych];
}
-yy800:
- YYDEBUG(800, *YYCURSOR);
+yy776:
+ YYDEBUG(776, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{
zend_copy_value(zendlval, (yytext+1), (yyleng-1));
return T_VARIABLE;
}
-yy801:
- YYDEBUG(801, *YYCURSOR);
+yy777:
+ YYDEBUG(777, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(802, *YYCURSOR);
- if (yych <= '/') goto yy803;
- if (yych <= '9') goto yy801;
-yy803:
- YYDEBUG(803, *YYCURSOR);
+ YYDEBUG(778, *YYCURSOR);
+ if (yych <= '/') goto yy779;
+ if (yych <= '9') goto yy777;
+yy779:
+ YYDEBUG(779, *YYCURSOR);
yyleng = YYCURSOR - SCNG(yy_text);
{ /* Offset must be treated as a string */
ZVAL_STRINGL(zendlval, yytext, yyleng);
return T_NUM_STRING;
}
-yy804:
- YYDEBUG(804, *YYCURSOR);
+yy780:
+ YYDEBUG(780, *YYCURSOR);
yych = *++YYCURSOR;
if (yybm[0+yych] & 64) {
- goto yy807;
+ goto yy783;
}
-yy805:
- YYDEBUG(805, *YYCURSOR);
+yy781:
+ YYDEBUG(781, *YYCURSOR);
YYCURSOR = YYMARKER;
- goto yy790;
-yy806:
- YYDEBUG(806, *YYCURSOR);
+ goto yy766;
+yy782:
+ YYDEBUG(782, *YYCURSOR);
yych = *++YYCURSOR;
if (yybm[0+yych] & 128) {
- goto yy809;
+ goto yy785;
}
- goto yy805;
-yy807:
- YYDEBUG(807, *YYCURSOR);
+ goto yy781;
+yy783:
+ YYDEBUG(783, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(808, *YYCURSOR);
+ YYDEBUG(784, *YYCURSOR);
if (yybm[0+yych] & 64) {
- goto yy807;
+ goto yy783;
}
- goto yy803;
-yy809:
- YYDEBUG(809, *YYCURSOR);
+ goto yy779;
+yy785:
+ YYDEBUG(785, *YYCURSOR);
++YYCURSOR;
YYFILL(1);
yych = *YYCURSOR;
- YYDEBUG(810, *YYCURSOR);
+ YYDEBUG(786, *YYCURSOR);
if (yybm[0+yych] & 128) {
- goto yy809;
+ goto yy785;
}
- goto yy803;
+ goto yy779;
+ }
+/* *********************************** */
+yyc_INITIAL:
+ YYDEBUG(787, *YYCURSOR);
+ YYFILL(7);
+ yych = *YYCURSOR;
+ if (yych == '<') goto yy791;
+ YYDEBUG(789, *YYCURSOR);
+ ++YYCURSOR;
+yy790:
+ YYDEBUG(790, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ if (YYCURSOR > YYLIMIT) {
+ return 0;
}
+
+inline_char_handler:
+
+ while (1) {
+ YYCTYPE *ptr = memchr(YYCURSOR, '<', YYLIMIT - YYCURSOR);
+
+ YYCURSOR = ptr ? ptr + 1 : YYLIMIT;
+
+ if (YYCURSOR >= YYLIMIT) {
+ break;
+ }
+
+ if (*YYCURSOR == '?') {
+ if (CG(short_tags) || !strncasecmp((char*)YYCURSOR + 1, "php", 3) || (*(YYCURSOR + 1) == '=')) { /* Assume [ \t\n\r] follows "php" */
+
+ YYCURSOR--;
+ break;
+ }
+ }
+ }
+
+ yyleng = YYCURSOR - SCNG(yy_text);
+
+ if (SCNG(output_filter)) {
+ size_t readsize;
+ char *s = NULL;
+ size_t sz = 0;
+ // TODO: avoid reallocation ???
+ readsize = SCNG(output_filter)((unsigned char **)&s, &sz, (unsigned char *)yytext, (size_t)yyleng);
+ ZVAL_STRINGL(zendlval, s, sz);
+ efree(s);
+ if (readsize < yyleng) {
+ yyless(readsize);
+ }
+ } else {
+ ZVAL_STRINGL(zendlval, yytext, yyleng);
+ }
+ HANDLE_NEWLINES(yytext, yyleng);
+ return T_INLINE_HTML;
+}
+yy791:
+ YYDEBUG(791, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych != '?') goto yy790;
+ YYDEBUG(792, *YYCURSOR);
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'O') {
+ if (yych == '=') goto yy794;
+ } else {
+ if (yych <= 'P') goto yy796;
+ if (yych == 'p') goto yy796;
+ }
+yy793:
+ YYDEBUG(793, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ if (CG(short_tags)) {
+ BEGIN(ST_IN_SCRIPTING);
+ return T_OPEN_TAG;
+ } else {
+ goto inline_char_handler;
+ }
+}
+yy794:
+ YYDEBUG(794, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(795, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ BEGIN(ST_IN_SCRIPTING);
+ return T_OPEN_TAG_WITH_ECHO;
+}
+yy796:
+ YYDEBUG(796, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'H') goto yy798;
+ if (yych == 'h') goto yy798;
+yy797:
+ YYDEBUG(797, *YYCURSOR);
+ YYCURSOR = YYMARKER;
+ goto yy793;
+yy798:
+ YYDEBUG(798, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == 'P') goto yy799;
+ if (yych != 'p') goto yy797;
+yy799:
+ YYDEBUG(799, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych <= '\f') {
+ if (yych <= 0x08) goto yy797;
+ if (yych >= '\v') goto yy797;
+ } else {
+ if (yych <= '\r') goto yy802;
+ if (yych != ' ') goto yy797;
+ }
+yy800:
+ YYDEBUG(800, *YYCURSOR);
+ ++YYCURSOR;
+yy801:
+ YYDEBUG(801, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ HANDLE_NEWLINE(yytext[yyleng-1]);
+ BEGIN(ST_IN_SCRIPTING);
+ return T_OPEN_TAG;
+}
+yy802:
+ YYDEBUG(802, *YYCURSOR);
+ yych = *++YYCURSOR;
+ if (yych == '\n') goto yy800;
+ goto yy801;
+/* *********************************** */
+yyc_ST_END_HEREDOC:
+ YYDEBUG(803, *YYCURSOR);
+ YYFILL(1);
+ yych = *YYCURSOR;
+ YYDEBUG(805, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(806, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ zend_heredoc_label *heredoc_label = zend_ptr_stack_pop(&SCNG(heredoc_label_stack));
+
+ YYCURSOR += heredoc_label->length - 1;
+ yyleng = heredoc_label->length;
+
+ heredoc_label_dtor(heredoc_label);
+ efree(heredoc_label);
+
+ BEGIN(ST_IN_SCRIPTING);
+ return T_END_HEREDOC;
+}
+/* *********************************** */
+yyc_ST_NOWDOC:
+ YYDEBUG(807, *YYCURSOR);
+ YYFILL(1);
+ yych = *YYCURSOR;
+ YYDEBUG(809, *YYCURSOR);
+ ++YYCURSOR;
+ YYDEBUG(810, *YYCURSOR);
+ yyleng = YYCURSOR - SCNG(yy_text);
+ {
+ int newline = 0;
+
+ zend_heredoc_label *heredoc_label = zend_ptr_stack_top(&SCNG(heredoc_label_stack));
+
+ if (YYCURSOR > YYLIMIT) {
+ return 0;
+ }
+
+ YYCURSOR--;
+
+ while (YYCURSOR < YYLIMIT) {
+ switch (*YYCURSOR++) {
+ case '\r':
+ if (*YYCURSOR == '\n') {
+ YYCURSOR++;
+ }
+ /* fall through */
+ case '\n':
+ /* Check for ending label on the next line */
+ if (IS_LABEL_START(*YYCURSOR) && heredoc_label->length < YYLIMIT - YYCURSOR && !memcmp(YYCURSOR, heredoc_label->label, heredoc_label->length)) {
+ YYCTYPE *end = YYCURSOR + heredoc_label->length;
+
+ if (*end == ';') {
+ end++;
+ }
+
+ if (*end == '\n' || *end == '\r') {
+ /* newline before label will be subtracted from returned text, but
+ * yyleng/yytext will include it, for zend_highlight/strip, tokenizer, etc. */
+ if (YYCURSOR[-2] == '\r' && YYCURSOR[-1] == '\n') {
+ newline = 2; /* Windows newline */
+ } else {
+ newline = 1;
+ }
+
+ CG(increment_lineno) = 1; /* For newline before label */
+ BEGIN(ST_END_HEREDOC);
+
+ goto nowdoc_scan_done;
+ }
+ }
+ /* fall through */
+ default:
+ continue;
+ }
+ }
+
+nowdoc_scan_done:
+ yyleng = YYCURSOR - SCNG(yy_text);
+
+ zend_copy_value(zendlval, yytext, yyleng - newline);
+ HANDLE_NEWLINES(yytext, yyleng - newline);
+ return T_ENCAPSED_AND_WHITESPACE;
+}
}
}
diff --git a/test/php20150211_zend_language_scanner.igcd--skeleton--flex-syntax--case-inverted.c b/test/php20150211_zend_language_scanner.igcd--skeleton--flex-syntax--case-inverted.c
index 68c05217..d115ee27 100644
--- a/test/php20150211_zend_language_scanner.igcd--skeleton--flex-syntax--case-inverted.c
+++ b/test/php20150211_zend_language_scanner.igcd--skeleton--flex-syntax--case-inverted.c
@@ -1,7 +1,9 @@
/* Generated by re2c */
+#include <stddef.h> /* size_t */
#include <stdio.h>
#include <stdlib.h> /* malloc, free */
+#include <string.h> /* memcpy */
static void *read_file
( const char *fname
@@ -47,7 +49,6 @@ error:
}
return NULL;
}
-#define YYMAXFILL 16
#define YYCTYPE unsigned char
#define YYKEYTYPE unsigned char
@@ -58,859 +59,8 @@ error:
#define YYLESSTHAN(n) (limit - cursor) < n
#define YYFILL(n) { break; }
-static int action_line2358_INITIAL
- ( unsigned int i
- , const YYKEYTYPE *keys
- , const YYCTYPE *start
- , const YYCTYPE *token
- , const YYCTYPE **cursor
- , YYKEYTYPE rule_act
- )
-{
- const long pos = token - start;
- const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
- if (rule_exp == 255) {
- fprintf
- ( stderr
- , "warning: lex_line2358_INITIAL: control flow is undefined for input"
- " at position %ld, rerun re2c with '-W'\n"
- , pos
- );
- }
- if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
- *cursor = token + offset;
- return 0;
- } else {
- fprintf
- ( stderr
- , "error: lex_line2358_INITIAL: at position %ld (iteration %u):\n"
- "\texpected: match length %ld, rule %u\n"
- "\tactual: match length %ld, rule %u\n"
- , pos
- , i
- , len_exp
- , rule_exp
- , len_act
- , rule_act
- );
- return 1;
- }
-}
-
-int lex_line2358_INITIAL()
-{
- const size_t padding = 7; /* YYMAXFILL */
- int status = 0;
- size_t input_len = 0;
- size_t keys_count = 0;
- YYCTYPE *input = NULL;
- YYKEYTYPE *keys = NULL;
- const YYCTYPE *cursor = NULL;
- const YYCTYPE *limit = NULL;
- const YYCTYPE *token = NULL;
- const YYCTYPE *eof = NULL;
- unsigned int i = 0;
-
- input = (YYCTYPE *) read_file
- ("php20150211_zend_language_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line2358_INITIAL.input"
- , sizeof (YYCTYPE)
- , padding
- , &input_len
- );
- if (input == NULL) {
- status = 1;
- goto end;
- }
-
- keys = (YYKEYTYPE *) read_file
- ("php20150211_zend_language_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line2358_INITIAL.keys"
- , 3 * sizeof (YYKEYTYPE)
- , 0
- , &keys_count
- );
- if (keys == NULL) {
- status = 1;
- goto end;
- }
-
- cursor = input;
- limit = input + input_len + padding;
- eof = input + input_len;
-
- for (i = 0; status == 0 && i < keys_count; ++i) {
- token = cursor;
- const YYCTYPE *marker = NULL;
- YYCTYPE yych;
-
- if (YYLESSTHAN (7)) YYFILL(7);
- yych = YYPEEK ();
- if (yych == '<') goto yy5;
- YYSKIP ();
-yy4:
- status = action_line2358_INITIAL(i, keys, input, token, &cursor, 135);
- continue;
-yy5:
- YYSKIP ();
- yych = YYPEEK ();
- if (yych != '?') goto yy4;
- YYSKIP ();
- YYBACKUP ();
- yych = YYPEEK ();
- if (yych <= 'O') {
- if (yych == '=') goto yy8;
- } else {
- if (yych <= 'P') goto yy10;
- if (yych == 'p') goto yy10;
- }
-yy7:
- status = action_line2358_INITIAL(i, keys, input, token, &cursor, 134);
- continue;
-yy8:
- YYSKIP ();
- status = action_line2358_INITIAL(i, keys, input, token, &cursor, 132);
- continue;
-yy10:
- YYSKIP ();
- yych = YYPEEK ();
- if (yych == 'H') goto yy12;
- if (yych == 'h') goto yy12;
-yy11:
- YYRESTORE ();
- goto yy7;
-yy12:
- YYSKIP ();
- yych = YYPEEK ();
- if (yych == 'P') goto yy13;
- if (yych != 'p') goto yy11;
-yy13:
- YYSKIP ();
- yych = YYPEEK ();
- if (yych <= '\f') {
- if (yych <= 0x08) goto yy11;
- if (yych >= '\v') goto yy11;
- } else {
- if (yych <= '\r') goto yy16;
- if (yych != ' ') goto yy11;
- }
-yy14:
- YYSKIP ();
-yy15:
- status = action_line2358_INITIAL(i, keys, input, token, &cursor, 133);
- continue;
-yy16:
- YYSKIP ();
- if ((yych = YYPEEK ()) == '\n') goto yy14;
- goto yy15;
-
- }
- if (status == 0) {
- if (cursor != eof) {
- status = 1;
- const long pos = token - input;
- fprintf(stderr, "error: lex_line2358_INITIAL: unused input strings left at position %ld\n", pos);
- }
- if (i != keys_count) {
- status = 1;
- fprintf(stderr, "error: lex_line2358_INITIAL: unused keys left after %u iterations\n", i);
- }
- }
-
-end:
- free(input);
- free(keys);
-
- return status;
-}
-
-#undef YYCTYPE
-#undef YYKEYTYPE
-#undef YYPEEK
-#undef YYSKIP
-#undef YYBACKUP
-#undef YYRESTORE
-#undef YYLESSTHAN
-#undef YYFILL
-
-#define YYCTYPE unsigned char
-#define YYKEYTYPE unsigned char
-#define YYPEEK() *cursor
-#define YYSKIP() ++cursor
-#define YYBACKUP() marker = cursor
-#define YYRESTORE() cursor = marker
-#define YYLESSTHAN(n) (limit - cursor) < n
-#define YYFILL(n) { break; }
-
-static int action_line2358_ST_BACKQUOTE
- ( unsigned int i
- , const YYKEYTYPE *keys
- , const YYCTYPE *start
- , const YYCTYPE *token
- , const YYCTYPE **cursor
- , YYKEYTYPE rule_act
- )
-{
- const long pos = token - start;
- const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
- if (rule_exp == 255) {
- fprintf
- ( stderr
- , "warning: lex_line2358_ST_BACKQUOTE: control flow is undefined for input"
- " at position %ld, rerun re2c with '-W'\n"
- , pos
- );
- }
- if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
- *cursor = token + offset;
- return 0;
- } else {
- fprintf
- ( stderr
- , "error: lex_line2358_ST_BACKQUOTE: at position %ld (iteration %u):\n"
- "\texpected: match length %ld, rule %u\n"
- "\tactual: match length %ld, rule %u\n"
- , pos
- , i
- , len_exp
- , rule_exp
- , len_act
- , rule_act
- );
- return 1;
- }
-}
-
-int lex_line2358_ST_BACKQUOTE()
-{
- const size_t padding = 3; /* YYMAXFILL */
- int status = 0;
- size_t input_len = 0;
- size_t keys_count = 0;
- YYCTYPE *input = NULL;
- YYKEYTYPE *keys = NULL;
- const YYCTYPE *cursor = NULL;
- const YYCTYPE *limit = NULL;
- const YYCTYPE *token = NULL;
- const YYCTYPE *eof = NULL;
- unsigned int i = 0;
-
- input = (YYCTYPE *) read_file
- ("php20150211_zend_language_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line2358_ST_BACKQUOTE.input"
- , sizeof (YYCTYPE)
- , padding
- , &input_len
- );
- if (input == NULL) {
- status = 1;
- goto end;
- }
-
- keys = (YYKEYTYPE *) read_file
- ("php20150211_zend_language_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line2358_ST_BACKQUOTE.keys"
- , 3 * sizeof (YYKEYTYPE)
- , 0
- , &keys_count
- );
- if (keys == NULL) {
- status = 1;
- goto end;
- }
-
- cursor = input;
- limit = input + input_len + padding;
- eof = input + input_len;
-
- for (i = 0; status == 0 && i < keys_count; ++i) {
- token = cursor;
- const YYCTYPE *marker = NULL;
- YYCTYPE yych;
- static const unsigned char yybm[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 0, 0, 0, 0, 0, 0,
- 0, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 0, 0, 0, 0, 128,
- 0, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 0, 0, 0, 0, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- };
-
- if (YYLESSTHAN (2)) YYFILL(2);
- yych = YYPEEK ();
- if (yych <= '_') {
- if (yych == '$') goto yy22;
- } else {
- if (yych <= '`') goto yy23;
- if (yych == '{') goto yy25;
- }
- YYSKIP ();
-yy21:
- status = action_line2358_ST_BACKQUOTE(i, keys, input, token, &cursor, 166);
- continue;
-yy22:
- YYSKIP ();
- yych = YYPEEK ();
- {
- static void *yytarget[256] = {
- &&yy21, &&yy21, &&yy21, &&yy21, &&yy21, &&yy21, &&yy21, &&yy21,
- &&yy21, &&yy21, &&yy21, &&yy21, &&yy21, &&yy21, &&yy21, &&yy21,
- &&yy21, &&yy21, &&yy21, &&yy21, &&yy21, &&yy21, &&yy21, &&yy21,
- &&yy21, &&yy21, &&yy21, &&yy21, &&yy21, &&yy21, &&yy21, &&yy21,
- &&yy21, &&yy21, &&yy21, &&yy21, &&yy21, &&yy21, &&yy21, &&yy21,
- &&yy21, &&yy21, &&yy21, &&yy21, &&yy21, &&yy21, &&yy21, &&yy21,
- &&yy21, &&yy21, &&yy21, &&yy21, &&yy21, &&yy21, &&yy21, &&yy21,
- &&yy21, &&yy21, &&yy21, &&yy21, &&yy21, &&yy21, &&yy21, &&yy21,
- &&yy21, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
- &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
- &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
- &&yy26, &&yy26, &&yy26, &&yy21, &&yy21, &&yy21, &&yy21, &&yy26,
- &&yy21, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
- &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
- &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
- &&yy26, &&yy26, &&yy26, &&yy29, &&yy21, &&yy21, &&yy21, &&yy26,
- &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
- &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
- &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
- &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
- &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
- &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
- &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
- &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
- &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
- &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
- &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
- &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
- &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
- &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
- &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26,
- &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26, &&yy26
- };
- goto *yytarget[yych];
- }
-yy23:
- YYSKIP ();
- status = action_line2358_ST_BACKQUOTE(i, keys, input, token, &cursor, 164);
- continue;
-yy25:
- YYSKIP ();
- yych = YYPEEK ();
- if (yych == '$') goto yy31;
- goto yy21;
-yy26:
- YYSKIP ();
- YYBACKUP ();
- if (YYLESSTHAN (3)) YYFILL(3);
- yych = YYPEEK ();
- if (yybm[0+yych] & 128) {
- goto yy26;
- }
- if (yych == '-') goto yy33;
- if (yych <= '@') goto yy28;
- if (yych <= '[') goto yy35;
-yy28:
- status = action_line2358_ST_BACKQUOTE(i, keys, input, token, &cursor, 142);
- continue;
-yy29:
- YYSKIP ();
- status = action_line2358_ST_BACKQUOTE(i, keys, input, token, &cursor, 112);
- continue;
-yy31:
- YYSKIP ();
- status = action_line2358_ST_BACKQUOTE(i, keys, input, token, &cursor, 160);
- continue;
-yy33:
- YYSKIP ();
- yych = YYPEEK ();
- if (yych == '>') goto yy37;
-yy34:
- YYRESTORE ();
- goto yy28;
-yy35:
- YYSKIP ();
- status = action_line2358_ST_BACKQUOTE(i, keys, input, token, &cursor, 139);
- continue;
-yy37:
- YYSKIP ();
- yych = YYPEEK ();
- if (yych <= '_') {
- if (yych <= '@') goto yy34;
- if (yych <= 'Z') goto yy38;
- if (yych <= '^') goto yy34;
- } else {
- if (yych <= '`') goto yy34;
- if (yych <= 'z') goto yy38;
- if (yych <= '~') goto yy34;
- }
-yy38:
- YYSKIP ();
- status = action_line2358_ST_BACKQUOTE(i, keys, input, token, &cursor, 136);
- continue;
-
- }
- if (status == 0) {
- if (cursor != eof) {
- status = 1;
- const long pos = token - input;
- fprintf(stderr, "error: lex_line2358_ST_BACKQUOTE: unused input strings left at position %ld\n", pos);
- }
- if (i != keys_count) {
- status = 1;
- fprintf(stderr, "error: lex_line2358_ST_BACKQUOTE: unused keys left after %u iterations\n", i);
- }
- }
-
-end:
- free(input);
- free(keys);
-
- return status;
-}
-
-#undef YYCTYPE
-#undef YYKEYTYPE
-#undef YYPEEK
-#undef YYSKIP
-#undef YYBACKUP
-#undef YYRESTORE
-#undef YYLESSTHAN
-#undef YYFILL
-
-#define YYCTYPE unsigned char
-#define YYKEYTYPE unsigned char
-#define YYPEEK() *cursor
-#define YYSKIP() ++cursor
-#define YYBACKUP() marker = cursor
-#define YYRESTORE() cursor = marker
-#define YYLESSTHAN(n) (limit - cursor) < n
-#define YYFILL(n) { break; }
-
-static int action_line2358_ST_DOUBLE_QUOTES
- ( unsigned int i
- , const YYKEYTYPE *keys
- , const YYCTYPE *start
- , const YYCTYPE *token
- , const YYCTYPE **cursor
- , YYKEYTYPE rule_act
- )
-{
- const long pos = token - start;
- const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
- if (rule_exp == 255) {
- fprintf
- ( stderr
- , "warning: lex_line2358_ST_DOUBLE_QUOTES: control flow is undefined for input"
- " at position %ld, rerun re2c with '-W'\n"
- , pos
- );
- }
- if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
- *cursor = token + offset;
- return 0;
- } else {
- fprintf
- ( stderr
- , "error: lex_line2358_ST_DOUBLE_QUOTES: at position %ld (iteration %u):\n"
- "\texpected: match length %ld, rule %u\n"
- "\tactual: match length %ld, rule %u\n"
- , pos
- , i
- , len_exp
- , rule_exp
- , len_act
- , rule_act
- );
- return 1;
- }
-}
-
-int lex_line2358_ST_DOUBLE_QUOTES()
-{
- const size_t padding = 3; /* YYMAXFILL */
- int status = 0;
- size_t input_len = 0;
- size_t keys_count = 0;
- YYCTYPE *input = NULL;
- YYKEYTYPE *keys = NULL;
- const YYCTYPE *cursor = NULL;
- const YYCTYPE *limit = NULL;
- const YYCTYPE *token = NULL;
- const YYCTYPE *eof = NULL;
- unsigned int i = 0;
-
- input = (YYCTYPE *) read_file
- ("php20150211_zend_language_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line2358_ST_DOUBLE_QUOTES.input"
- , sizeof (YYCTYPE)
- , padding
- , &input_len
- );
- if (input == NULL) {
- status = 1;
- goto end;
- }
-
- keys = (YYKEYTYPE *) read_file
- ("php20150211_zend_language_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line2358_ST_DOUBLE_QUOTES.keys"
- , 3 * sizeof (YYKEYTYPE)
- , 0
- , &keys_count
- );
- if (keys == NULL) {
- status = 1;
- goto end;
- }
-
- cursor = input;
- limit = input + input_len + padding;
- eof = input + input_len;
-
- for (i = 0; status == 0 && i < keys_count; ++i) {
- token = cursor;
- const YYCTYPE *marker = NULL;
- YYCTYPE yych;
- static const unsigned char yybm[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 0, 0, 0, 0, 0, 0,
- 0, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 0, 0, 0, 0, 128,
- 0, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 0, 0, 0, 0, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- };
-
- if (YYLESSTHAN (2)) YYFILL(2);
- yych = YYPEEK ();
- if (yych <= '#') {
- if (yych == '"') goto yy45;
- } else {
- if (yych <= '$') goto yy47;
- if (yych == '{') goto yy48;
- }
- YYSKIP ();
-yy44:
- status = action_line2358_ST_DOUBLE_QUOTES(i, keys, input, token, &cursor, 165);
- continue;
-yy45:
- YYSKIP ();
- status = action_line2358_ST_DOUBLE_QUOTES(i, keys, input, token, &cursor, 163);
- continue;
-yy47:
- YYSKIP ();
- yych = YYPEEK ();
- {
- static void *yytarget[256] = {
- &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
- &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
- &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
- &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
- &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
- &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
- &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
- &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
- &&yy44, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49,
- &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49,
- &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49,
- &&yy49, &&yy49, &&yy49, &&yy44, &&yy44, &&yy44, &&yy44, &&yy49,
- &&yy44, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49,
- &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49,
- &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49,
- &&yy49, &&yy49, &&yy49, &&yy52, &&yy44, &&yy44, &&yy44, &&yy49,
- &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49,
- &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49,
- &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49,
- &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49,
- &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49,
- &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49,
- &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49,
- &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49,
- &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49,
- &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49,
- &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49,
- &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49,
- &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49,
- &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49,
- &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49,
- &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49, &&yy49
- };
- goto *yytarget[yych];
- }
-yy48:
- YYSKIP ();
- yych = YYPEEK ();
- if (yych == '$') goto yy54;
- goto yy44;
-yy49:
- YYSKIP ();
- YYBACKUP ();
- if (YYLESSTHAN (3)) YYFILL(3);
- yych = YYPEEK ();
- if (yybm[0+yych] & 128) {
- goto yy49;
- }
- if (yych == '-') goto yy56;
- if (yych <= '@') goto yy51;
- if (yych <= '[') goto yy58;
-yy51:
- status = action_line2358_ST_DOUBLE_QUOTES(i, keys, input, token, &cursor, 143);
- continue;
-yy52:
- YYSKIP ();
- status = action_line2358_ST_DOUBLE_QUOTES(i, keys, input, token, &cursor, 113);
- continue;
-yy54:
- YYSKIP ();
- status = action_line2358_ST_DOUBLE_QUOTES(i, keys, input, token, &cursor, 161);
- continue;
-yy56:
- YYSKIP ();
- yych = YYPEEK ();
- if (yych == '>') goto yy60;
-yy57:
- YYRESTORE ();
- goto yy51;
-yy58:
- YYSKIP ();
- status = action_line2358_ST_DOUBLE_QUOTES(i, keys, input, token, &cursor, 140);
- continue;
-yy60:
- YYSKIP ();
- yych = YYPEEK ();
- if (yych <= '_') {
- if (yych <= '@') goto yy57;
- if (yych <= 'Z') goto yy61;
- if (yych <= '^') goto yy57;
- } else {
- if (yych <= '`') goto yy57;
- if (yych <= 'z') goto yy61;
- if (yych <= '~') goto yy57;
- }
-yy61:
- YYSKIP ();
- status = action_line2358_ST_DOUBLE_QUOTES(i, keys, input, token, &cursor, 137);
- continue;
-
- }
- if (status == 0) {
- if (cursor != eof) {
- status = 1;
- const long pos = token - input;
- fprintf(stderr, "error: lex_line2358_ST_DOUBLE_QUOTES: unused input strings left at position %ld\n", pos);
- }
- if (i != keys_count) {
- status = 1;
- fprintf(stderr, "error: lex_line2358_ST_DOUBLE_QUOTES: unused keys left after %u iterations\n", i);
- }
- }
-
-end:
- free(input);
- free(keys);
-
- return status;
-}
-
-#undef YYCTYPE
-#undef YYKEYTYPE
-#undef YYPEEK
-#undef YYSKIP
-#undef YYBACKUP
-#undef YYRESTORE
-#undef YYLESSTHAN
-#undef YYFILL
-
-#define YYCTYPE unsigned char
-#define YYKEYTYPE unsigned char
-#define YYPEEK() *cursor
-#define YYSKIP() ++cursor
-#define YYLESSTHAN(n) (limit - cursor) < n
-#define YYFILL(n) { break; }
-
-static int action_line2358_ST_END_HEREDOC
- ( unsigned int i
- , const YYKEYTYPE *keys
- , const YYCTYPE *start
- , const YYCTYPE *token
- , const YYCTYPE **cursor
- , YYKEYTYPE rule_act
- )
-{
- const long pos = token - start;
- const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
- if (rule_exp == 255) {
- fprintf
- ( stderr
- , "warning: lex_line2358_ST_END_HEREDOC: control flow is undefined for input"
- " at position %ld, rerun re2c with '-W'\n"
- , pos
- );
- }
- if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
- *cursor = token + offset;
- return 0;
- } else {
- fprintf
- ( stderr
- , "error: lex_line2358_ST_END_HEREDOC: at position %ld (iteration %u):\n"
- "\texpected: match length %ld, rule %u\n"
- "\tactual: match length %ld, rule %u\n"
- , pos
- , i
- , len_exp
- , rule_exp
- , len_act
- , rule_act
- );
- return 1;
- }
-}
-
-int lex_line2358_ST_END_HEREDOC()
-{
- const size_t padding = 1; /* YYMAXFILL */
- int status = 0;
- size_t input_len = 0;
- size_t keys_count = 0;
- YYCTYPE *input = NULL;
- YYKEYTYPE *keys = NULL;
- const YYCTYPE *cursor = NULL;
- const YYCTYPE *limit = NULL;
- const YYCTYPE *token = NULL;
- const YYCTYPE *eof = NULL;
- unsigned int i = 0;
-
- input = (YYCTYPE *) read_file
- ("php20150211_zend_language_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line2358_ST_END_HEREDOC.input"
- , sizeof (YYCTYPE)
- , padding
- , &input_len
- );
- if (input == NULL) {
- status = 1;
- goto end;
- }
-
- keys = (YYKEYTYPE *) read_file
- ("php20150211_zend_language_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line2358_ST_END_HEREDOC.keys"
- , 3 * sizeof (YYKEYTYPE)
- , 0
- , &keys_count
- );
- if (keys == NULL) {
- status = 1;
- goto end;
- }
-
- cursor = input;
- limit = input + input_len + padding;
- eof = input + input_len;
-
- for (i = 0; status == 0 && i < keys_count; ++i) {
- token = cursor;
- YYCTYPE yych;
-
- if (YYLESSTHAN (1)) YYFILL(1);
- yych = YYPEEK ();
- YYSKIP ();
- status = action_line2358_ST_END_HEREDOC(i, keys, input, token, &cursor, 159);
- continue;
-
- }
- if (status == 0) {
- if (cursor != eof) {
- status = 1;
- const long pos = token - input;
- fprintf(stderr, "error: lex_line2358_ST_END_HEREDOC: unused input strings left at position %ld\n", pos);
- }
- if (i != keys_count) {
- status = 1;
- fprintf(stderr, "error: lex_line2358_ST_END_HEREDOC: unused keys left after %u iterations\n", i);
- }
- }
-
-end:
- free(input);
- free(keys);
-
- return status;
-}
-
-#undef YYCTYPE
-#undef YYKEYTYPE
-#undef YYPEEK
-#undef YYSKIP
-#undef YYLESSTHAN
-#undef YYFILL
-
-#define YYCTYPE unsigned char
-#define YYKEYTYPE unsigned char
-#define YYPEEK() *cursor
-#define YYSKIP() ++cursor
-#define YYBACKUP() marker = cursor
-#define YYRESTORE() cursor = marker
-#define YYLESSTHAN(n) (limit - cursor) < n
-#define YYFILL(n) { break; }
-
-static int action_line2358_ST_HEREDOC
- ( unsigned int i
+static int action_line2358_ST_IN_SCRIPTING
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -918,30 +68,32 @@ static int action_line2358_ST_HEREDOC
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
- , "warning: lex_line2358_ST_HEREDOC: control flow is undefined for input"
+ , "warning: lex_line2358_ST_IN_SCRIPTING: control flow is undefined for input"
" at position %ld, rerun re2c with '-W'\n"
, pos
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line2358_ST_HEREDOC: at position %ld (iteration %u):\n"
+ , "error: lex_line2358_ST_IN_SCRIPTING: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -951,266 +103,11 @@ static int action_line2358_ST_HEREDOC
}
}
-int lex_line2358_ST_HEREDOC()
-{
- const size_t padding = 3; /* YYMAXFILL */
- int status = 0;
- size_t input_len = 0;
- size_t keys_count = 0;
- YYCTYPE *input = NULL;
- YYKEYTYPE *keys = NULL;
- const YYCTYPE *cursor = NULL;
- const YYCTYPE *limit = NULL;
- const YYCTYPE *token = NULL;
- const YYCTYPE *eof = NULL;
- unsigned int i = 0;
-
- input = (YYCTYPE *) read_file
- ("php20150211_zend_language_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line2358_ST_HEREDOC.input"
- , sizeof (YYCTYPE)
- , padding
- , &input_len
- );
- if (input == NULL) {
- status = 1;
- goto end;
- }
-
- keys = (YYKEYTYPE *) read_file
- ("php20150211_zend_language_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line2358_ST_HEREDOC.keys"
- , 3 * sizeof (YYKEYTYPE)
- , 0
- , &keys_count
- );
- if (keys == NULL) {
- status = 1;
- goto end;
- }
-
- cursor = input;
- limit = input + input_len + padding;
- eof = input + input_len;
-
- for (i = 0; status == 0 && i < keys_count; ++i) {
- token = cursor;
- const YYCTYPE *marker = NULL;
- YYCTYPE yych;
- static const unsigned char yybm[] = {
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 0, 0, 0, 0, 0, 0,
- 0, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 0, 0, 0, 0, 128,
- 0, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 0, 0, 0, 0, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- 128, 128, 128, 128, 128, 128, 128, 128,
- };
-
- if (YYLESSTHAN (2)) YYFILL(2);
- yych = YYPEEK ();
- if (yych == '$') goto yy73;
- if (yych == '{') goto yy74;
- YYSKIP ();
-yy72:
- status = action_line2358_ST_HEREDOC(i, keys, input, token, &cursor, 167);
- continue;
-yy73:
- YYSKIP ();
- yych = YYPEEK ();
- {
- static void *yytarget[256] = {
- &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72,
- &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72,
- &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72,
- &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72,
- &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72,
- &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72,
- &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72,
- &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72, &&yy72,
- &&yy72, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy72, &&yy72, &&yy72, &&yy72, &&yy75,
- &&yy72, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy78, &&yy72, &&yy72, &&yy72, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75,
- &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75, &&yy75
- };
- goto *yytarget[yych];
- }
-yy74:
- YYSKIP ();
- yych = YYPEEK ();
- if (yych == '$') goto yy80;
- goto yy72;
-yy75:
- YYSKIP ();
- YYBACKUP ();
- if (YYLESSTHAN (3)) YYFILL(3);
- yych = YYPEEK ();
- if (yybm[0+yych] & 128) {
- goto yy75;
- }
- if (yych == '-') goto yy82;
- if (yych <= '@') goto yy77;
- if (yych <= '[') goto yy84;
-yy77:
- status = action_line2358_ST_HEREDOC(i, keys, input, token, &cursor, 144);
- continue;
-yy78:
- YYSKIP ();
- status = action_line2358_ST_HEREDOC(i, keys, input, token, &cursor, 114);
- continue;
-yy80:
- YYSKIP ();
- status = action_line2358_ST_HEREDOC(i, keys, input, token, &cursor, 162);
- continue;
-yy82:
- YYSKIP ();
- yych = YYPEEK ();
- if (yych == '>') goto yy86;
-yy83:
- YYRESTORE ();
- goto yy77;
-yy84:
- YYSKIP ();
- status = action_line2358_ST_HEREDOC(i, keys, input, token, &cursor, 141);
- continue;
-yy86:
- YYSKIP ();
- yych = YYPEEK ();
- if (yych <= '_') {
- if (yych <= '@') goto yy83;
- if (yych <= 'Z') goto yy87;
- if (yych <= '^') goto yy83;
- } else {
- if (yych <= '`') goto yy83;
- if (yych <= 'z') goto yy87;
- if (yych <= '~') goto yy83;
- }
-yy87:
- YYSKIP ();
- status = action_line2358_ST_HEREDOC(i, keys, input, token, &cursor, 138);
- continue;
-
- }
- if (status == 0) {
- if (cursor != eof) {
- status = 1;
- const long pos = token - input;
- fprintf(stderr, "error: lex_line2358_ST_HEREDOC: unused input strings left at position %ld\n", pos);
- }
- if (i != keys_count) {
- status = 1;
- fprintf(stderr, "error: lex_line2358_ST_HEREDOC: unused keys left after %u iterations\n", i);
- }
- }
-
-end:
- free(input);
- free(keys);
-
- return status;
-}
-
-#undef YYCTYPE
-#undef YYKEYTYPE
-#undef YYPEEK
-#undef YYSKIP
-#undef YYBACKUP
-#undef YYRESTORE
-#undef YYLESSTHAN
-#undef YYFILL
-
-#define YYCTYPE unsigned char
-#define YYKEYTYPE unsigned char
-#define YYPEEK() *cursor
-#define YYSKIP() ++cursor
-#define YYBACKUP() marker = cursor
-#define YYRESTORE() cursor = marker
-#define YYLESSTHAN(n) (limit - cursor) < n
-#define YYFILL(n) { break; }
-
-static int action_line2358_ST_IN_SCRIPTING
- ( unsigned int i
- , const YYKEYTYPE *keys
- , const YYCTYPE *start
- , const YYCTYPE *token
- , const YYCTYPE **cursor
- , YYKEYTYPE rule_act
- )
+static int check_key_count_line2358_ST_IN_SCRIPTING(unsigned have, unsigned used, unsigned need)
{
- const long pos = token - start;
- const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
- if (rule_exp == 255) {
- fprintf
- ( stderr
- , "warning: lex_line2358_ST_IN_SCRIPTING: control flow is undefined for input"
- " at position %ld, rerun re2c with '-W'\n"
- , pos
- );
- }
- if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
- *cursor = token + offset;
- return 0;
- } else {
- fprintf
- ( stderr
- , "error: lex_line2358_ST_IN_SCRIPTING: at position %ld (iteration %u):\n"
- "\texpected: match length %ld, rule %u\n"
- "\tactual: match length %ld, rule %u\n"
- , pos
- , i
- , len_exp
- , rule_exp
- , len_act
- , rule_act
- );
- return 1;
- }
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line2358_ST_IN_SCRIPTING: not enough keys\n");
+ return 1;
}
int lex_line2358_ST_IN_SCRIPTING()
@@ -1240,7 +137,7 @@ int lex_line2358_ST_IN_SCRIPTING()
keys = (YYKEYTYPE *) read_file
("php20150211_zend_language_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line2358_ST_IN_SCRIPTING.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -1253,7 +150,7 @@ int lex_line2358_ST_IN_SCRIPTING()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -1297,4664 +194,4875 @@ int lex_line2358_ST_IN_SCRIPTING()
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy92, &&yy92, &&yy92, &&yy92, &&yy92, &&yy92, &&yy92, &&yy92,
- &&yy92, &&yy94, &&yy94, &&yy92, &&yy92, &&yy94, &&yy92, &&yy92,
- &&yy92, &&yy92, &&yy92, &&yy92, &&yy92, &&yy92, &&yy92, &&yy92,
- &&yy92, &&yy92, &&yy92, &&yy92, &&yy92, &&yy92, &&yy92, &&yy92,
- &&yy94, &&yy97, &&yy99, &&yy101, &&yy103, &&yy104, &&yy105, &&yy106,
- &&yy108, &&yy109, &&yy110, &&yy111, &&yy109, &&yy112, &&yy113, &&yy114,
- &&yy115, &&yy117, &&yy117, &&yy117, &&yy117, &&yy117, &&yy117, &&yy117,
- &&yy117, &&yy117, &&yy119, &&yy109, &&yy120, &&yy121, &&yy122, &&yy123,
- &&yy109, &&yy124, &&yy126, &&yy127, &&yy128, &&yy129, &&yy130, &&yy131,
- &&yy132, &&yy134, &&yy132, &&yy132, &&yy135, &&yy132, &&yy136, &&yy137,
- &&yy138, &&yy132, &&yy139, &&yy140, &&yy141, &&yy142, &&yy143, &&yy144,
- &&yy145, &&yy146, &&yy132, &&yy109, &&yy147, &&yy109, &&yy149, &&yy150,
- &&yy151, &&yy124, &&yy126, &&yy127, &&yy128, &&yy129, &&yy130, &&yy131,
- &&yy132, &&yy134, &&yy132, &&yy132, &&yy135, &&yy132, &&yy136, &&yy137,
- &&yy138, &&yy132, &&yy139, &&yy140, &&yy141, &&yy142, &&yy143, &&yy144,
- &&yy145, &&yy146, &&yy132, &&yy153, &&yy155, &&yy156, &&yy109, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy5, &&yy5, &&yy3, &&yy3, &&yy5, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3, &&yy3,
+ &&yy5, &&yy8, &&yy10, &&yy12, &&yy14, &&yy15, &&yy16, &&yy17,
+ &&yy19, &&yy20, &&yy21, &&yy22, &&yy20, &&yy23, &&yy24, &&yy25,
+ &&yy26, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28, &&yy28,
+ &&yy28, &&yy28, &&yy30, &&yy20, &&yy31, &&yy32, &&yy33, &&yy34,
+ &&yy20, &&yy35, &&yy37, &&yy38, &&yy39, &&yy40, &&yy41, &&yy42,
+ &&yy43, &&yy45, &&yy43, &&yy43, &&yy46, &&yy43, &&yy47, &&yy48,
+ &&yy49, &&yy43, &&yy50, &&yy51, &&yy52, &&yy53, &&yy54, &&yy55,
+ &&yy56, &&yy57, &&yy43, &&yy20, &&yy58, &&yy20, &&yy60, &&yy61,
+ &&yy62, &&yy35, &&yy37, &&yy38, &&yy39, &&yy40, &&yy41, &&yy42,
+ &&yy43, &&yy45, &&yy43, &&yy43, &&yy46, &&yy43, &&yy47, &&yy48,
+ &&yy49, &&yy43, &&yy50, &&yy51, &&yy52, &&yy53, &&yy54, &&yy55,
+ &&yy56, &&yy57, &&yy43, &&yy64, &&yy66, &&yy67, &&yy20, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43
};
goto *yytarget[yych];
}
-yy92:
+yy3:
YYSKIP ();
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 169);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 130);
continue;
-yy94:
+yy5:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
if (yybm[0+yych] & 4) {
- goto yy94;
+ goto yy5;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 40);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 40);
continue;
-yy97:
+yy8:
YYSKIP ();
- if ((yych = YYPEEK ()) == '=') goto yy158;
-yy98:
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 110);
+ yych = YYPEEK ();
+ if (yych == '=') goto yy69;
+yy9:
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 106);
continue;
-yy99:
+yy10:
YYSKIP ();
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 156);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 127);
continue;
-yy101:
+yy12:
YYSKIP ();
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 152);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 123);
continue;
-yy103:
+yy14:
YYSKIP ();
yych = YYPEEK ();
if (yych <= '_') {
- if (yych <= '@') goto yy98;
- if (yych <= 'Z') goto yy160;
- if (yych <= '^') goto yy98;
- goto yy160;
+ if (yych <= '@') goto yy9;
+ if (yych <= 'Z') goto yy71;
+ if (yych <= '^') goto yy9;
+ goto yy71;
} else {
- if (yych <= '`') goto yy98;
- if (yych <= 'z') goto yy160;
- if (yych <= '~') goto yy98;
- goto yy160;
+ if (yych <= '`') goto yy9;
+ if (yych <= 'z') goto yy71;
+ if (yych <= '~') goto yy9;
+ goto yy71;
}
-yy104:
+yy15:
YYSKIP ();
yych = YYPEEK ();
- if (yych == '=') goto yy163;
- goto yy98;
-yy105:
+ if (yych == '=') goto yy74;
+ goto yy9;
+yy16:
YYSKIP ();
yych = YYPEEK ();
- if (yych == '&') goto yy165;
- if (yych == '=') goto yy167;
- goto yy98;
-yy106:
+ if (yych == '&') goto yy76;
+ if (yych == '=') goto yy78;
+ goto yy9;
+yy17:
YYSKIP ();
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 155);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 126);
continue;
-yy108:
+yy19:
yyaccept = 0;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
- &&yy98, &&yy170, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
- &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
- &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
- &&yy170, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
- &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
- &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
- &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
- &&yy98, &&yy170, &&yy170, &&yy98, &&yy170, &&yy98, &&yy170, &&yy98,
- &&yy98, &&yy170, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy170,
- &&yy98, &&yy98, &&yy170, &&yy170, &&yy98, &&yy170, &&yy98, &&yy98,
- &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
- &&yy98, &&yy170, &&yy170, &&yy98, &&yy170, &&yy98, &&yy170, &&yy98,
- &&yy98, &&yy170, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy170,
- &&yy98, &&yy98, &&yy170, &&yy170, &&yy98, &&yy170, &&yy98, &&yy98,
- &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
- &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
- &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
- &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
- &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
- &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
- &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
- &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
- &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
- &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
- &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
- &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
- &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
- &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
- &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
- &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98,
- &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98, &&yy98
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy81, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy81, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy81, &&yy81, &&yy9, &&yy81, &&yy9, &&yy81, &&yy9,
+ &&yy9, &&yy81, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy81,
+ &&yy9, &&yy9, &&yy81, &&yy81, &&yy9, &&yy81, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy81, &&yy81, &&yy9, &&yy81, &&yy9, &&yy81, &&yy9,
+ &&yy9, &&yy81, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy81,
+ &&yy9, &&yy9, &&yy81, &&yy81, &&yy9, &&yy81, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9,
+ &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9, &&yy9
};
goto *yytarget[yych];
}
-yy109:
+yy20:
YYSKIP ();
- yych = YYPEEK ();
- goto yy98;
-yy110:
+ goto yy9;
+yy21:
YYSKIP ();
yych = YYPEEK ();
- if (yych == '*') goto yy181;
- if (yych == '=') goto yy183;
- goto yy98;
-yy111:
+ if (yych == '*') goto yy92;
+ if (yych == '=') goto yy94;
+ goto yy9;
+yy22:
YYSKIP ();
yych = YYPEEK ();
- if (yych == '+') goto yy185;
- if (yych == '=') goto yy187;
- goto yy98;
-yy112:
+ if (yych == '+') goto yy96;
+ if (yych == '=') goto yy98;
+ goto yy9;
+yy23:
YYSKIP ();
yych = YYPEEK ();
if (yych <= '<') {
- if (yych == '-') goto yy189;
- goto yy98;
+ if (yych == '-') goto yy100;
+ goto yy9;
} else {
- if (yych <= '=') goto yy191;
- if (yych <= '>') goto yy193;
- goto yy98;
+ if (yych <= '=') goto yy102;
+ if (yych <= '>') goto yy104;
+ goto yy9;
}
-yy113:
+yy24:
yyaccept = 0;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
if (yych <= '/') {
- if (yych == '.') goto yy195;
- goto yy98;
+ if (yych == '.') goto yy106;
+ goto yy9;
} else {
- if (yych <= '9') goto yy196;
- if (yych == '=') goto yy199;
- goto yy98;
+ if (yych <= '9') goto yy107;
+ if (yych == '=') goto yy110;
+ goto yy9;
}
-yy114:
+yy25:
YYSKIP ();
yych = YYPEEK ();
if (yych <= '.') {
- if (yych == '*') goto yy201;
- goto yy98;
+ if (yych == '*') goto yy112;
+ goto yy9;
} else {
- if (yych <= '/') goto yy101;
- if (yych == '=') goto yy203;
- goto yy98;
+ if (yych <= '/') goto yy12;
+ if (yych == '=') goto yy114;
+ goto yy9;
}
-yy115:
+yy26:
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116,
- &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116,
- &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116,
- &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116,
- &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116,
- &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy196, &&yy116,
- &&yy117, &&yy117, &&yy117, &&yy117, &&yy117, &&yy117, &&yy117, &&yy117,
- &&yy117, &&yy117, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116,
- &&yy116, &&yy116, &&yy205, &&yy116, &&yy116, &&yy206, &&yy116, &&yy116,
- &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116,
- &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116,
- &&yy207, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116,
- &&yy116, &&yy116, &&yy205, &&yy116, &&yy116, &&yy206, &&yy116, &&yy116,
- &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116,
- &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116,
- &&yy207, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116,
- &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116,
- &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116,
- &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116,
- &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116,
- &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116,
- &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116,
- &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116,
- &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116,
- &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116,
- &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116,
- &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116,
- &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116,
- &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116,
- &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116,
- &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116,
- &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116, &&yy116
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy116, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy118, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy116, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy118, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29,
+ &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29, &&yy29
};
goto *yytarget[yych];
}
-yy116:
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 119);
+yy27:
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 110);
continue;
-yy117:
+yy28:
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
if (YYLESSTHAN (3)) YYFILL(3);
yych = YYPEEK ();
+yy29:
if (yybm[0+yych] & 8) {
- goto yy117;
+ goto yy28;
}
if (yych <= 'D') {
- if (yych == '.') goto yy196;
- goto yy116;
+ if (yych == '.') goto yy107;
+ goto yy27;
} else {
- if (yych <= 'E') goto yy206;
- if (yych == 'e') goto yy206;
- goto yy116;
+ if (yych <= 'E') goto yy117;
+ if (yych == 'e') goto yy117;
+ goto yy27;
}
-yy119:
+yy30:
YYSKIP ();
yych = YYPEEK ();
- if (yych == ':') goto yy208;
- goto yy98;
-yy120:
+ if (yych == ':') goto yy119;
+ goto yy9;
+yy31:
YYSKIP ();
yych = YYPEEK ();
- if (yych <= ';') goto yy98;
- if (yych <= '<') goto yy210;
- if (yych <= '=') goto yy212;
- if (yych <= '>') goto yy214;
- goto yy98;
-yy121:
+ if (yych <= ';') goto yy9;
+ if (yych <= '<') goto yy121;
+ if (yych <= '=') goto yy123;
+ if (yych <= '>') goto yy125;
+ goto yy9;
+yy32:
YYSKIP ();
yych = YYPEEK ();
- if (yych <= '<') goto yy98;
- if (yych <= '=') goto yy215;
- if (yych <= '>') goto yy217;
- goto yy98;
-yy122:
+ if (yych <= '<') goto yy9;
+ if (yych <= '=') goto yy126;
+ if (yych <= '>') goto yy128;
+ goto yy9;
+yy33:
YYSKIP ();
yych = YYPEEK ();
- if (yych <= '<') goto yy98;
- if (yych <= '=') goto yy219;
- if (yych <= '>') goto yy221;
- goto yy98;
-yy123:
+ if (yych <= '<') goto yy9;
+ if (yych <= '=') goto yy130;
+ if (yych <= '>') goto yy132;
+ goto yy9;
+yy34:
YYSKIP ();
yych = YYPEEK ();
- if (yych <= '=') goto yy98;
- if (yych <= '>') goto yy223;
- if (yych <= '?') goto yy225;
- goto yy98;
-yy124:
+ if (yych <= '=') goto yy9;
+ if (yych <= '>') goto yy134;
+ if (yych <= '?') goto yy136;
+ goto yy9;
+yy35:
YYSKIP ();
+ yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy227, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy228, &&yy133,
- &&yy133, &&yy133, &&yy229, &&yy230, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy227, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy228, &&yy133,
- &&yy133, &&yy133, &&yy229, &&yy230, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy138, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy139, &&yy44,
+ &&yy44, &&yy44, &&yy140, &&yy141, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy138, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy139, &&yy44,
+ &&yy44, &&yy44, &&yy140, &&yy141, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
- goto *yytarget[(yych = YYPEEK ())];
+ goto *yytarget[yych];
}
-yy125:
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 150);
+yy36:
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 122);
continue;
-yy126:
+yy37:
yyaccept = 2;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy99, &&yy133, &&yy133, &&yy133, &&yy133, &&yy106,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy232, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy233, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy233, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy10, &&yy44, &&yy44, &&yy44, &&yy44, &&yy17,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy143, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy144, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy144, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy127:
+yy38:
YYSKIP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy234, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy235, &&yy133, &&yy133, &&yy236,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy234, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy235, &&yy133, &&yy133, &&yy236,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy145, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy146, &&yy44, &&yy44, &&yy147,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy145, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy146, &&yy44, &&yy44, &&yy147,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy128:
+yy39:
YYSKIP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy237, &&yy133, &&yy133,
- &&yy133, &&yy238, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy239,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy237, &&yy133, &&yy133,
- &&yy133, &&yy238, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy239,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy148, &&yy44, &&yy44,
+ &&yy44, &&yy149, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy150,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy148, &&yy44, &&yy44,
+ &&yy44, &&yy149, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy150,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy129:
+yy40:
YYSKIP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy241, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy242, &&yy243, &&yy244, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy245, &&yy133,
- &&yy246, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy241, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy242, &&yy243, &&yy244, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy245, &&yy133,
- &&yy246, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy152, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy153, &&yy154, &&yy155, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy156, &&yy44,
+ &&yy157, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy152, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy153, &&yy154, &&yy155, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy156, &&yy44,
+ &&yy157, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy130:
+yy41:
YYSKIP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy247, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy248,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy249, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy247, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy248,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy249, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy158, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy159,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy160, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy158, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy159,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy160, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy131:
+yy42:
YYSKIP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy250, &&yy133, &&yy133, &&yy251,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy250, &&yy133, &&yy133, &&yy251,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy161, &&yy44, &&yy44, &&yy162,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy161, &&yy44, &&yy44, &&yy162,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy132:
+yy43:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
-yy133:
+yy44:
if (yybm[0+yych] & 16) {
- goto yy132;
+ goto yy43;
}
- goto yy125;
-yy134:
+ goto yy36;
+yy45:
YYSKIP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy252, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy254, &&yy255, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy256, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy252, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy254, &&yy255, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy256, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy163, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy165, &&yy166, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy167, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy163, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy165, &&yy166, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy167, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy135:
+yy46:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'I') goto yy257;
- if (yych == 'i') goto yy257;
- goto yy133;
-yy136:
+ if (yych == 'I') goto yy168;
+ if (yych == 'i') goto yy168;
+ goto yy44;
+yy47:
YYSKIP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy258, &&yy133, &&yy133, &&yy133, &&yy259, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy258, &&yy133, &&yy133, &&yy133, &&yy259, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy169, &&yy44, &&yy44, &&yy44, &&yy170, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy169, &&yy44, &&yy44, &&yy44, &&yy170, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy137:
+yy48:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'R') goto yy260;
- if (yych == 'r') goto yy260;
- goto yy133;
-yy138:
+ if (yych == 'R') goto yy171;
+ if (yych == 'r') goto yy171;
+ goto yy44;
+yy49:
YYSKIP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy262, &&yy133, &&yy133, &&yy263, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy262, &&yy133, &&yy133, &&yy263, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy173, &&yy44, &&yy44, &&yy174, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy173, &&yy44, &&yy44, &&yy174, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy139:
+yy50:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy264;
- if (yych == 'e') goto yy264;
- goto yy133;
-yy140:
+ if (yych == 'E') goto yy175;
+ if (yych == 'e') goto yy175;
+ goto yy44;
+yy51:
YYSKIP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy265, &&yy133, &&yy133, &&yy266,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy265, &&yy133, &&yy133, &&yy266,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy176, &&yy44, &&yy44, &&yy177,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy176, &&yy44, &&yy44, &&yy177,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy141:
+yy52:
YYSKIP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy267, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy268, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy267, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy268, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy178, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy179, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy178, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy179, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy142:
+yy53:
YYSKIP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy269, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy270, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy269, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy270, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy180, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy181, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy180, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy181, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy143:
+yy54:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'A') goto yy271;
- if (yych == 'a') goto yy271;
- goto yy133;
-yy144:
+ if (yych == 'A') goto yy182;
+ if (yych == 'a') goto yy182;
+ goto yy44;
+yy55:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'H') goto yy272;
- if (yych == 'h') goto yy272;
- goto yy133;
-yy145:
+ if (yych == 'H') goto yy183;
+ if (yych == 'h') goto yy183;
+ goto yy44;
+yy56:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'O') goto yy273;
- if (yych == 'o') goto yy273;
- goto yy133;
-yy146:
+ if (yych == 'O') goto yy184;
+ if (yych == 'o') goto yy184;
+ goto yy44;
+yy57:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'I') goto yy274;
- if (yych == 'i') goto yy274;
- goto yy133;
-yy147:
+ if (yych == 'I') goto yy185;
+ if (yych == 'i') goto yy185;
+ goto yy44;
+yy58:
YYSKIP ();
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 46);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 42);
continue;
-yy149:
+yy60:
YYSKIP ();
yych = YYPEEK ();
- if (yych == '=') goto yy275;
- goto yy98;
-yy150:
+ if (yych == '=') goto yy186;
+ goto yy9;
+yy61:
YYSKIP ();
yych = YYPEEK ();
- if (yych == '_') goto yy277;
- goto yy133;
-yy151:
+ if (yych == '_') goto yy188;
+ goto yy44;
+yy62:
YYSKIP ();
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 158);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 129);
continue;
-yy153:
+yy64:
YYSKIP ();
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 111);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 107);
continue;
-yy155:
+yy66:
YYSKIP ();
yych = YYPEEK ();
- if (yych == '=') goto yy278;
- if (yych == '|') goto yy280;
- goto yy98;
-yy156:
+ if (yych == '=') goto yy189;
+ if (yych == '|') goto yy191;
+ goto yy9;
+yy67:
YYSKIP ();
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 115);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 108);
continue;
-yy158:
+yy69:
YYSKIP ();
- if ((yych = YYPEEK ()) == '=') goto yy282;
-yy159:
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 87);
+ yych = YYPEEK ();
+ if (yych == '=') goto yy193;
+yy70:
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 83);
continue;
-yy160:
+yy71:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy162, &&yy162, &&yy162, &&yy162, &&yy162, &&yy162, &&yy162, &&yy162,
- &&yy162, &&yy162, &&yy162, &&yy162, &&yy162, &&yy162, &&yy162, &&yy162,
- &&yy162, &&yy162, &&yy162, &&yy162, &&yy162, &&yy162, &&yy162, &&yy162,
- &&yy162, &&yy162, &&yy162, &&yy162, &&yy162, &&yy162, &&yy162, &&yy162,
- &&yy162, &&yy162, &&yy162, &&yy162, &&yy162, &&yy162, &&yy162, &&yy162,
- &&yy162, &&yy162, &&yy162, &&yy162, &&yy162, &&yy162, &&yy162, &&yy162,
- &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
- &&yy160, &&yy160, &&yy162, &&yy162, &&yy162, &&yy162, &&yy162, &&yy162,
- &&yy162, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
- &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
- &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
- &&yy160, &&yy160, &&yy160, &&yy162, &&yy162, &&yy162, &&yy162, &&yy160,
- &&yy162, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
- &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
- &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
- &&yy160, &&yy160, &&yy160, &&yy162, &&yy162, &&yy162, &&yy162, &&yy160,
- &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
- &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
- &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
- &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
- &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
- &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
- &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
- &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
- &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
- &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
- &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
- &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
- &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
- &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
- &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160,
- &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160, &&yy160
+ &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
+ &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
+ &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
+ &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
+ &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
+ &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
+ &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73, &&yy73,
+ &&yy73, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy73, &&yy73, &&yy73, &&yy73, &&yy71,
+ &&yy73, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy73, &&yy73, &&yy73, &&yy73, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71,
+ &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71, &&yy71
};
goto *yytarget[yych];
}
-yy162:
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 145);
+yy73:
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 121);
continue;
-yy163:
+yy74:
YYSKIP ();
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 97);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 93);
continue;
-yy165:
+yy76:
YYSKIP ();
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 104);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 100);
continue;
-yy167:
+yy78:
YYSKIP ();
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 100);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 96);
continue;
-yy169:
+yy80:
YYSKIP ();
if (YYLESSTHAN (7)) YYFILL(7);
yych = YYPEEK ();
-yy170:
+yy81:
{
static void *yytarget[256] = {
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy169, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy169, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy172, &&yy173, &&yy171, &&yy174, &&yy171, &&yy175, &&yy171,
- &&yy171, &&yy176, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy177,
- &&yy171, &&yy171, &&yy178, &&yy179, &&yy171, &&yy180, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy172, &&yy173, &&yy171, &&yy174, &&yy171, &&yy175, &&yy171,
- &&yy171, &&yy176, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy177,
- &&yy171, &&yy171, &&yy178, &&yy179, &&yy171, &&yy180, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy80, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy80, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy83, &&yy84, &&yy82, &&yy85, &&yy82, &&yy86, &&yy82,
+ &&yy82, &&yy87, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy88,
+ &&yy82, &&yy82, &&yy89, &&yy90, &&yy82, &&yy91, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy83, &&yy84, &&yy82, &&yy85, &&yy82, &&yy86, &&yy82,
+ &&yy82, &&yy87, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy88,
+ &&yy82, &&yy82, &&yy89, &&yy90, &&yy82, &&yy91, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82
};
goto *yytarget[yych];
}
-yy171:
+yy82:
YYRESTORE ();
if (yyaccept <= 2) {
if (yyaccept <= 1) {
if (yyaccept == 0) {
- goto yy98;
+ goto yy9;
} else {
- goto yy116;
+ goto yy27;
}
} else {
- goto yy125;
+ goto yy36;
}
} else {
if (yyaccept <= 4) {
if (yyaccept == 3) {
- goto yy198;
+ goto yy109;
} else {
- goto yy202;
+ goto yy113;
}
} else {
- goto yy211;
+ goto yy122;
}
}
-yy172:
+yy83:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'R') goto yy284;
- if (yych == 'r') goto yy284;
- goto yy171;
-yy173:
+ if (yych == 'R') goto yy195;
+ if (yych == 'r') goto yy195;
+ goto yy82;
+yy84:
YYSKIP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy285, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy286,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy285, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy286,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy196, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy197,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy196, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy197,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82
};
goto *yytarget[yych];
}
-yy174:
+yy85:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'O') goto yy287;
- if (yych == 'o') goto yy287;
- goto yy171;
-yy175:
+ if (yych == 'O') goto yy198;
+ if (yych == 'o') goto yy198;
+ goto yy82;
+yy86:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'L') goto yy288;
- if (yych == 'l') goto yy288;
- goto yy171;
-yy176:
+ if (yych == 'L') goto yy199;
+ if (yych == 'l') goto yy199;
+ goto yy82;
+yy87:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'N') goto yy289;
- if (yych == 'n') goto yy289;
- goto yy171;
-yy177:
+ if (yych == 'N') goto yy200;
+ if (yych == 'n') goto yy200;
+ goto yy82;
+yy88:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'B') goto yy290;
- if (yych == 'b') goto yy290;
- goto yy171;
-yy178:
+ if (yych == 'B') goto yy201;
+ if (yych == 'b') goto yy201;
+ goto yy82;
+yy89:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy291;
- if (yych == 'e') goto yy291;
- goto yy171;
-yy179:
+ if (yych == 'E') goto yy202;
+ if (yych == 'e') goto yy202;
+ goto yy82;
+yy90:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'T') goto yy292;
- if (yych == 't') goto yy292;
- goto yy171;
-yy180:
+ if (yych == 'T') goto yy203;
+ if (yych == 't') goto yy203;
+ goto yy82;
+yy91:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'N') goto yy293;
- if (yych == 'n') goto yy293;
- goto yy171;
-yy181:
+ if (yych == 'N') goto yy204;
+ if (yych == 'n') goto yy204;
+ goto yy82;
+yy92:
YYSKIP ();
- if ((yych = YYPEEK ()) == '=') goto yy294;
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 93);
+ yych = YYPEEK ();
+ if (yych == '=') goto yy205;
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 89);
continue;
-yy183:
+yy94:
YYSKIP ();
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 92);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 88);
continue;
-yy185:
+yy96:
YYSKIP ();
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 82);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 78);
continue;
-yy187:
+yy98:
YYSKIP ();
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 90);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 86);
continue;
-yy189:
+yy100:
YYSKIP ();
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 83);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 79);
continue;
-yy191:
+yy102:
YYSKIP ();
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 91);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 87);
continue;
-yy193:
+yy104:
YYSKIP ();
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 39);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 39);
continue;
-yy195:
+yy106:
YYSKIP ();
yych = YYPEEK ();
- if (yych == '.') goto yy296;
- goto yy171;
-yy196:
+ if (yych == '.') goto yy207;
+ goto yy82;
+yy107:
yyaccept = 3;
YYSKIP ();
YYBACKUP ();
if (YYLESSTHAN (3)) YYFILL(3);
yych = YYPEEK ();
if (yych <= 'D') {
- if (yych <= '/') goto yy198;
- if (yych <= '9') goto yy196;
+ if (yych <= '/') goto yy109;
+ if (yych <= '9') goto yy107;
} else {
- if (yych <= 'E') goto yy206;
- if (yych == 'e') goto yy206;
+ if (yych <= 'E') goto yy117;
+ if (yych == 'e') goto yy117;
}
-yy198:
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 123);
+yy109:
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 112);
continue;
-yy199:
+yy110:
YYSKIP ();
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 96);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 92);
continue;
-yy201:
+yy112:
yyaccept = 4;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
- if (yych == '*') goto yy298;
-yy202:
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 153);
+ if (yych == '*') goto yy209;
+yy113:
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 124);
continue;
-yy203:
+yy114:
YYSKIP ();
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 95);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 91);
continue;
-yy205:
+yy116:
YYSKIP ();
yych = YYPEEK ();
if (yybm[0+yych] & 64) {
- goto yy299;
+ goto yy210;
}
- goto yy171;
-yy206:
+ goto yy82;
+yy117:
YYSKIP ();
yych = YYPEEK ();
if (yych <= ',') {
- if (yych == '+') goto yy302;
- goto yy171;
+ if (yych == '+') goto yy213;
+ goto yy82;
} else {
- if (yych <= '-') goto yy302;
- if (yych <= '/') goto yy171;
- if (yych <= '9') goto yy303;
- goto yy171;
+ if (yych <= '-') goto yy213;
+ if (yych <= '/') goto yy82;
+ if (yych <= '9') goto yy214;
+ goto yy82;
}
-yy207:
+yy118:
YYSKIP ();
yych = YYPEEK ();
if (yybm[0+yych] & 128) {
- goto yy305;
+ goto yy216;
}
- goto yy171;
-yy208:
+ goto yy82;
+yy119:
YYSKIP ();
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 45);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 41);
continue;
-yy210:
+yy121:
yyaccept = 5;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
- if (yych <= ';') goto yy211;
- if (yych <= '<') goto yy308;
- if (yych <= '=') goto yy310;
-yy211:
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 108);
+ if (yych <= ';') goto yy122;
+ if (yych <= '<') goto yy219;
+ if (yych <= '=') goto yy221;
+yy122:
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 104);
continue;
-yy212:
+yy123:
YYSKIP ();
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 88);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 84);
continue;
-yy214:
+yy125:
YYSKIP ();
- yych = YYPEEK ();
- goto yy159;
-yy215:
+ goto yy70;
+yy126:
YYSKIP ();
- if ((yych = YYPEEK ()) == '=') goto yy312;
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 86);
+ yych = YYPEEK ();
+ if (yych == '=') goto yy223;
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 82);
continue;
-yy217:
+yy128:
YYSKIP ();
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 78);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 74);
continue;
-yy219:
+yy130:
YYSKIP ();
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 89);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 85);
continue;
-yy221:
+yy132:
YYSKIP ();
- if ((yych = YYPEEK ()) == '=') goto yy314;
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 109);
+ yych = YYPEEK ();
+ if (yych == '=') goto yy225;
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 105);
continue;
-yy223:
+yy134:
YYSKIP ();
- if ((yych = YYPEEK ()) == '\n') goto yy316;
- if (yych == '\r') goto yy317;
-yy224:
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 154);
+ yych = YYPEEK ();
+ if (yych == '\n') goto yy227;
+ if (yych == '\r') goto yy228;
+yy135:
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 125);
continue;
-yy225:
+yy136:
YYSKIP ();
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 48);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 44);
continue;
-yy227:
+yy138:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'S') goto yy318;
- if (yych == 's') goto yy318;
- goto yy133;
-yy228:
+ if (yych == 'S') goto yy229;
+ if (yych == 's') goto yy229;
+ goto yy44;
+yy139:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'D') goto yy319;
- if (yych == 'd') goto yy319;
- goto yy133;
-yy229:
+ if (yych == 'D') goto yy230;
+ if (yych == 'd') goto yy230;
+ goto yy44;
+yy140:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'R') goto yy321;
- if (yych == 'r') goto yy321;
- goto yy133;
-yy230:
+ if (yych == 'R') goto yy232;
+ if (yych == 'r') goto yy232;
+ goto yy44;
+yy141:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 24);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 24);
continue;
-yy232:
+yy143:
YYSKIP ();
yych = YYPEEK ();
- if (yych == '<') goto yy322;
- goto yy171;
-yy233:
+ if (yych == '<') goto yy233;
+ goto yy82;
+yy144:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy323;
- if (yych == 'e') goto yy323;
- goto yy133;
-yy234:
+ if (yych == 'E') goto yy234;
+ if (yych == 'e') goto yy234;
+ goto yy44;
+yy145:
YYSKIP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy324, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy325, &&yy326, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy324, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy325, &&yy326, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy235, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy236, &&yy237, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy235, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy236, &&yy237, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy235:
+yy146:
YYSKIP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy327, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy328,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy327, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy328,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy238, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy239,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy238, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy239,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy236:
+yy147:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'N') goto yy329;
- if (yych == 'n') goto yy329;
- goto yy133;
-yy237:
+ if (yych == 'N') goto yy240;
+ if (yych == 'n') goto yy240;
+ goto yy44;
+yy148:
YYSKIP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy330, &&yy133, &&yy133, &&yy331, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy330, &&yy133, &&yy133, &&yy331, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy241, &&yy44, &&yy44, &&yy242, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy241, &&yy44, &&yy44, &&yy242, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy238:
+yy149:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy332;
- if (yych == 'e') goto yy332;
- goto yy133;
-yy239:
+ if (yych == 'E') goto yy243;
+ if (yych == 'e') goto yy243;
+ goto yy44;
+yy150:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 16);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 16);
continue;
-yy241:
+yy152:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'H') goto yy334;
- if (yych == 'h') goto yy334;
- goto yy133;
-yy242:
+ if (yych == 'H') goto yy245;
+ if (yych == 'h') goto yy245;
+ goto yy44;
+yy153:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'S') goto yy335;
- if (yych == 's') goto yy335;
- goto yy133;
-yy243:
+ if (yych == 'S') goto yy246;
+ if (yych == 's') goto yy246;
+ goto yy44;
+yy154:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'P') goto yy336;
- if (yych == 'p') goto yy336;
- goto yy133;
-yy244:
+ if (yych == 'P') goto yy247;
+ if (yych == 'p') goto yy247;
+ goto yy44;
+yy155:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'D') goto yy337;
- if (yych == 'd') goto yy337;
- goto yy133;
-yy245:
+ if (yych == 'D') goto yy248;
+ if (yych == 'd') goto yy248;
+ goto yy44;
+yy156:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'A') goto yy338;
- if (yych == 'a') goto yy338;
- goto yy133;
-yy246:
+ if (yych == 'A') goto yy249;
+ if (yych == 'a') goto yy249;
+ goto yy44;
+yy157:
YYSKIP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy339, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy340, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy339, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy340, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy250, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy251, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy250, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy251, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy247:
+yy158:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'N') goto yy341;
- if (yych == 'n') goto yy341;
- goto yy133;
-yy248:
+ if (yych == 'N') goto yy252;
+ if (yych == 'n') goto yy252;
+ goto yy44;
+yy159:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'R') goto yy342;
- if (yych == 'r') goto yy342;
- goto yy133;
-yy249:
+ if (yych == 'R') goto yy253;
+ if (yych == 'r') goto yy253;
+ goto yy44;
+yy160:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'N') goto yy344;
- if (yych == 'n') goto yy344;
- goto yy133;
-yy250:
+ if (yych == 'N') goto yy255;
+ if (yych == 'n') goto yy255;
+ goto yy44;
+yy161:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'O') goto yy345;
- if (yych == 'o') goto yy345;
- goto yy133;
-yy251:
+ if (yych == 'O') goto yy256;
+ if (yych == 'o') goto yy256;
+ goto yy44;
+yy162:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'T') goto yy346;
- if (yych == 't') goto yy346;
- goto yy133;
-yy252:
+ if (yych == 'T') goto yy257;
+ if (yych == 't') goto yy257;
+ goto yy44;
+yy163:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 10);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 10);
continue;
-yy254:
+yy165:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'P') goto yy347;
- if (yych == 'p') goto yy347;
- goto yy133;
-yy255:
+ if (yych == 'P') goto yy258;
+ if (yych == 'p') goto yy258;
+ goto yy44;
+yy166:
YYSKIP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy348, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy349, &&yy350, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy348, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy349, &&yy350, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy259, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy260, &&yy261, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy259, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy260, &&yy261, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy256:
+yy167:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'S') goto yy351;
- if (yych == 's') goto yy351;
- goto yy133;
-yy257:
+ if (yych == 'S') goto yy262;
+ if (yych == 's') goto yy262;
+ goto yy44;
+yy168:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'S') goto yy352;
- if (yych == 's') goto yy352;
- goto yy133;
-yy258:
+ if (yych == 'S') goto yy263;
+ if (yych == 's') goto yy263;
+ goto yy44;
+yy169:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'M') goto yy353;
- if (yych == 'm') goto yy353;
- goto yy133;
-yy259:
+ if (yych == 'M') goto yy264;
+ if (yych == 'm') goto yy264;
+ goto yy44;
+yy170:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'W') goto yy354;
- if (yych == 'w') goto yy354;
- goto yy133;
-yy260:
+ if (yych == 'W') goto yy265;
+ if (yych == 'w') goto yy265;
+ goto yy44;
+yy171:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 105);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 101);
continue;
-yy262:
+yy173:
YYSKIP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy356, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy357,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy356, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy357,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy267, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy268,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy267, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy268,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy263:
+yy174:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'B') goto yy358;
- if (yych == 'b') goto yy358;
- goto yy133;
-yy264:
+ if (yych == 'B') goto yy269;
+ if (yych == 'b') goto yy269;
+ goto yy44;
+yy175:
YYSKIP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy359, &&yy133, &&yy133, &&yy360, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy359, &&yy133, &&yy133, &&yy360, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy270, &&yy44, &&yy44, &&yy271, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy270, &&yy44, &&yy44, &&yy271, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy265:
+yy176:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'A') goto yy361;
- if (yych == 'a') goto yy361;
- goto yy133;
-yy266:
+ if (yych == 'A') goto yy272;
+ if (yych == 'a') goto yy272;
+ goto yy44;
+yy177:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'I') goto yy362;
- if (yych == 'i') goto yy362;
- goto yy133;
-yy267:
+ if (yych == 'I') goto yy273;
+ if (yych == 'i') goto yy273;
+ goto yy44;
+yy178:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'R') goto yy363;
- if (yych == 'r') goto yy363;
- goto yy133;
-yy268:
+ if (yych == 'R') goto yy274;
+ if (yych == 'r') goto yy274;
+ goto yy44;
+yy179:
YYSKIP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy364, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy365, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy364, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy365, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy275, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy276, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy275, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy276, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy269:
+yy180:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'S') goto yy367;
- if (yych == 's') goto yy367;
- goto yy133;
-yy270:
+ if (yych == 'S') goto yy278;
+ if (yych == 's') goto yy278;
+ goto yy44;
+yy181:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy368;
- if (yych == 'e') goto yy368;
- goto yy133;
-yy271:
+ if (yych == 'E') goto yy279;
+ if (yych == 'e') goto yy279;
+ goto yy44;
+yy182:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'R') goto yy370;
- if (yych == 'r') goto yy370;
- goto yy133;
-yy272:
+ if (yych == 'R') goto yy281;
+ if (yych == 'r') goto yy281;
+ goto yy44;
+yy183:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'I') goto yy372;
- if (yych == 'i') goto yy372;
- goto yy133;
-yy273:
+ if (yych == 'I') goto yy283;
+ if (yych == 'i') goto yy283;
+ goto yy44;
+yy184:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'R') goto yy373;
- if (yych == 'r') goto yy373;
- goto yy133;
-yy274:
+ if (yych == 'R') goto yy284;
+ if (yych == 'r') goto yy284;
+ goto yy44;
+yy185:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy375;
- if (yych == 'e') goto yy375;
- goto yy133;
-yy275:
+ if (yych == 'E') goto yy286;
+ if (yych == 'e') goto yy286;
+ goto yy44;
+yy186:
YYSKIP ();
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 102);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 98);
continue;
-yy277:
+yy188:
YYSKIP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy376, &&yy377, &&yy133, &&yy378, &&yy133,
- &&yy379, &&yy133, &&yy133, &&yy133, &&yy380, &&yy381, &&yy382, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy383, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy376, &&yy377, &&yy133, &&yy378, &&yy133,
- &&yy379, &&yy133, &&yy133, &&yy133, &&yy380, &&yy381, &&yy382, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy383, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy287, &&yy288, &&yy44, &&yy289, &&yy44,
+ &&yy290, &&yy44, &&yy44, &&yy44, &&yy291, &&yy292, &&yy293, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy294, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy287, &&yy288, &&yy44, &&yy289, &&yy44,
+ &&yy290, &&yy44, &&yy44, &&yy44, &&yy291, &&yy292, &&yy293, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy294, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy278:
+yy189:
YYSKIP ();
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 101);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 97);
continue;
-yy280:
+yy191:
YYSKIP ();
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 103);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 99);
continue;
-yy282:
+yy193:
YYSKIP ();
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 85);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 81);
continue;
-yy284:
+yy195:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'R') goto yy384;
- if (yych == 'r') goto yy384;
- goto yy171;
-yy285:
+ if (yych == 'R') goto yy295;
+ if (yych == 'r') goto yy295;
+ goto yy82;
+yy196:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'N') goto yy385;
- if (yych == 'n') goto yy385;
- goto yy171;
-yy286:
+ if (yych == 'N') goto yy296;
+ if (yych == 'n') goto yy296;
+ goto yy82;
+yy197:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'O') goto yy386;
- if (yych == 'o') goto yy386;
- goto yy171;
-yy287:
+ if (yych == 'O') goto yy297;
+ if (yych == 'o') goto yy297;
+ goto yy82;
+yy198:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'U') goto yy387;
- if (yych == 'u') goto yy387;
- goto yy171;
-yy288:
+ if (yych == 'U') goto yy298;
+ if (yych == 'u') goto yy298;
+ goto yy82;
+yy199:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'O') goto yy388;
- if (yych == 'o') goto yy388;
- goto yy171;
-yy289:
+ if (yych == 'O') goto yy299;
+ if (yych == 'o') goto yy299;
+ goto yy82;
+yy200:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'T') goto yy389;
- if (yych == 't') goto yy389;
- goto yy171;
-yy290:
+ if (yych == 'T') goto yy300;
+ if (yych == 't') goto yy300;
+ goto yy82;
+yy201:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'J') goto yy390;
- if (yych == 'j') goto yy390;
- goto yy171;
-yy291:
+ if (yych == 'J') goto yy301;
+ if (yych == 'j') goto yy301;
+ goto yy82;
+yy202:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'A') goto yy391;
- if (yych == 'a') goto yy391;
- goto yy171;
-yy292:
+ if (yych == 'A') goto yy302;
+ if (yych == 'a') goto yy302;
+ goto yy82;
+yy203:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'R') goto yy392;
- if (yych == 'r') goto yy392;
- goto yy171;
-yy293:
+ if (yych == 'R') goto yy303;
+ if (yych == 'r') goto yy303;
+ goto yy82;
+yy204:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'S') goto yy393;
- if (yych == 's') goto yy393;
- goto yy171;
-yy294:
+ if (yych == 'S') goto yy304;
+ if (yych == 's') goto yy304;
+ goto yy82;
+yy205:
YYSKIP ();
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 94);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 90);
continue;
-yy296:
+yy207:
YYSKIP ();
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 47);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 43);
continue;
-yy298:
+yy209:
YYSKIP ();
yych = YYPEEK ();
if (yych <= '\f') {
- if (yych <= 0x08) goto yy171;
- if (yych <= '\n') goto yy394;
- goto yy171;
+ if (yych <= 0x08) goto yy82;
+ if (yych <= '\n') goto yy305;
+ goto yy82;
} else {
- if (yych <= '\r') goto yy394;
- if (yych == ' ') goto yy394;
- goto yy171;
+ if (yych <= '\r') goto yy305;
+ if (yych == ' ') goto yy305;
+ goto yy82;
}
-yy299:
+yy210:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
if (yybm[0+yych] & 64) {
- goto yy299;
+ goto yy210;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 118);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 109);
continue;
-yy302:
+yy213:
YYSKIP ();
yych = YYPEEK ();
- if (yych <= '/') goto yy171;
- if (yych >= ':') goto yy171;
-yy303:
+ if (yych <= '/') goto yy82;
+ if (yych >= ':') goto yy82;
+yy214:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
- if (yych <= '/') goto yy198;
- if (yych <= '9') goto yy303;
- goto yy198;
-yy305:
+ if (yych <= '/') goto yy109;
+ if (yych <= '9') goto yy214;
+ goto yy109;
+yy216:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
if (yybm[0+yych] & 128) {
- goto yy305;
+ goto yy216;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 120);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 111);
continue;
-yy308:
+yy219:
YYSKIP ();
if (YYLESSTHAN (2)) YYFILL(2);
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy308, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy308, &&yy171, &&yy396, &&yy171, &&yy171, &&yy171, &&yy171, &&yy397,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy171, &&yy171, &&yy171, &&yy171, &&yy398,
- &&yy171, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy171, &&yy171, &&yy171, &&yy171, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy219, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy219, &&yy82, &&yy307, &&yy82, &&yy82, &&yy82, &&yy82, &&yy308,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy82, &&yy82, &&yy82, &&yy82, &&yy309,
+ &&yy82, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy82, &&yy82, &&yy82, &&yy82, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309
};
goto *yytarget[yych];
}
-yy310:
+yy221:
YYSKIP ();
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 98);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 94);
continue;
-yy312:
+yy223:
YYSKIP ();
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 84);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 80);
continue;
-yy314:
+yy225:
YYSKIP ();
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 99);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 95);
continue;
-yy316:
+yy227:
YYSKIP ();
- yych = YYPEEK ();
- goto yy224;
-yy317:
+ goto yy135;
+yy228:
YYSKIP ();
yych = YYPEEK ();
- if (yych == '\n') goto yy316;
- goto yy224;
-yy318:
+ if (yych == '\n') goto yy227;
+ goto yy135;
+yy229:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'T') goto yy400;
- if (yych == 't') goto yy400;
- goto yy133;
-yy319:
+ if (yych == 'T') goto yy311;
+ if (yych == 't') goto yy311;
+ goto yy44;
+yy230:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 106);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 102);
continue;
-yy321:
+yy232:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'A') goto yy401;
- if (yych == 'a') goto yy401;
- goto yy133;
-yy322:
+ if (yych == 'A') goto yy312;
+ if (yych == 'a') goto yy312;
+ goto yy44;
+yy233:
YYSKIP ();
yych = YYPEEK ();
- if (yych == '<') goto yy308;
- goto yy171;
-yy323:
+ if (yych == '<') goto yy219;
+ goto yy82;
+yy234:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'A') goto yy402;
- if (yych == 'a') goto yy402;
- goto yy133;
-yy324:
+ if (yych == 'A') goto yy313;
+ if (yych == 'a') goto yy313;
+ goto yy44;
+yy235:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'L') goto yy403;
- if (yych == 'l') goto yy403;
- goto yy133;
-yy325:
+ if (yych == 'L') goto yy314;
+ if (yych == 'l') goto yy314;
+ goto yy44;
+yy236:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy404;
- if (yych == 'e') goto yy404;
- goto yy133;
-yy326:
+ if (yych == 'E') goto yy315;
+ if (yych == 'e') goto yy315;
+ goto yy44;
+yy237:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'C') goto yy406;
- if (yych == 'c') goto yy406;
- goto yy133;
-yy327:
+ if (yych == 'C') goto yy317;
+ if (yych == 'c') goto yy317;
+ goto yy44;
+yy238:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'S') goto yy407;
- if (yych == 's') goto yy407;
- goto yy133;
-yy328:
+ if (yych == 'S') goto yy318;
+ if (yych == 's') goto yy318;
+ goto yy44;
+yy239:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'N') goto yy408;
- if (yych == 'n') goto yy408;
- goto yy133;
-yy329:
+ if (yych == 'N') goto yy319;
+ if (yych == 'n') goto yy319;
+ goto yy44;
+yy240:
YYSKIP ();
yych = YYPEEK ();
if (yych <= 'T') {
- if (yych <= 'R') goto yy133;
- if (yych <= 'S') goto yy409;
- goto yy410;
+ if (yych <= 'R') goto yy44;
+ if (yych <= 'S') goto yy320;
+ goto yy321;
} else {
- if (yych <= 'r') goto yy133;
- if (yych <= 's') goto yy409;
- if (yych <= 't') goto yy410;
- goto yy133;
+ if (yych <= 'r') goto yy44;
+ if (yych <= 's') goto yy320;
+ if (yych <= 't') goto yy321;
+ goto yy44;
}
-yy330:
+yy241:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'L') goto yy411;
- if (yych == 'l') goto yy411;
- goto yy133;
-yy331:
+ if (yych == 'L') goto yy322;
+ if (yych == 'l') goto yy322;
+ goto yy44;
+yy242:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'A') goto yy412;
- if (yych == 'a') goto yy412;
- goto yy133;
-yy332:
+ if (yych == 'A') goto yy323;
+ if (yych == 'a') goto yy323;
+ goto yy44;
+yy243:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 1);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 1);
continue;
-yy334:
+yy245:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'O') goto yy413;
- if (yych == 'o') goto yy413;
- goto yy133;
-yy335:
+ if (yych == 'O') goto yy324;
+ if (yych == 'o') goto yy324;
+ goto yy44;
+yy246:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy415;
- if (yych == 'e') goto yy415;
- goto yy133;
-yy336:
+ if (yych == 'E') goto yy326;
+ if (yych == 'e') goto yy326;
+ goto yy44;
+yy247:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'T') goto yy417;
- if (yych == 't') goto yy417;
- goto yy133;
-yy337:
+ if (yych == 'T') goto yy328;
+ if (yych == 't') goto yy328;
+ goto yy44;
+yy248:
YYSKIP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy418, &&yy133, &&yy419, &&yy133,
- &&yy133, &&yy420, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy421, &&yy133, &&yy133, &&yy133, &&yy422,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy418, &&yy133, &&yy419, &&yy133,
- &&yy133, &&yy420, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy421, &&yy133, &&yy133, &&yy133, &&yy422,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy329, &&yy44, &&yy330, &&yy44,
+ &&yy44, &&yy331, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy332, &&yy44, &&yy44, &&yy44, &&yy333,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy329, &&yy44, &&yy330, &&yy44,
+ &&yy44, &&yy331, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy332, &&yy44, &&yy44, &&yy44, &&yy333,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy338:
+yy249:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'L') goto yy423;
- if (yych == 'l') goto yy423;
- goto yy133;
-yy339:
+ if (yych == 'L') goto yy334;
+ if (yych == 'l') goto yy334;
+ goto yy44;
+yy250:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'T') goto yy425;
- if (yych == 't') goto yy425;
- goto yy133;
-yy340:
+ if (yych == 'T') goto yy336;
+ if (yych == 't') goto yy336;
+ goto yy44;
+yy251:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy427;
- if (yych == 'e') goto yy427;
- goto yy133;
-yy341:
+ if (yych == 'E') goto yy338;
+ if (yych == 'e') goto yy338;
+ goto yy44;
+yy252:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'A') goto yy428;
- if (yych == 'a') goto yy428;
- goto yy133;
-yy342:
+ if (yych == 'A') goto yy339;
+ if (yych == 'a') goto yy339;
+ goto yy44;
+yy253:
YYSKIP ();
+ yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy343, &&yy343, &&yy343, &&yy343, &&yy343, &&yy343, &&yy343, &&yy343,
- &&yy343, &&yy343, &&yy343, &&yy343, &&yy343, &&yy343, &&yy343, &&yy343,
- &&yy343, &&yy343, &&yy343, &&yy343, &&yy343, &&yy343, &&yy343, &&yy343,
- &&yy343, &&yy343, &&yy343, &&yy343, &&yy343, &&yy343, &&yy343, &&yy343,
- &&yy343, &&yy343, &&yy343, &&yy343, &&yy343, &&yy343, &&yy343, &&yy343,
- &&yy343, &&yy343, &&yy343, &&yy343, &&yy343, &&yy343, &&yy343, &&yy343,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy343, &&yy343, &&yy343, &&yy343, &&yy343, &&yy343,
- &&yy343, &&yy132, &&yy132, &&yy132, &&yy132, &&yy429, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy343, &&yy343, &&yy343, &&yy343, &&yy132,
- &&yy343, &&yy132, &&yy132, &&yy132, &&yy132, &&yy429, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy343, &&yy343, &&yy343, &&yy343, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132
+ &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
+ &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
+ &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
+ &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
+ &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
+ &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254, &&yy254,
+ &&yy254, &&yy43, &&yy43, &&yy43, &&yy43, &&yy340, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy254, &&yy254, &&yy254, &&yy254, &&yy43,
+ &&yy254, &&yy43, &&yy43, &&yy43, &&yy43, &&yy340, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy254, &&yy254, &&yy254, &&yy254, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43
};
- goto *yytarget[(yych = YYPEEK ())];
+ goto *yytarget[yych];
}
-yy343:
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 17);
+yy254:
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 17);
continue;
-yy344:
+yy255:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'C') goto yy430;
- if (yych == 'c') goto yy430;
- goto yy133;
-yy345:
+ if (yych == 'C') goto yy341;
+ if (yych == 'c') goto yy341;
+ goto yy44;
+yy256:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'B') goto yy431;
- if (yych == 'b') goto yy431;
- goto yy133;
-yy346:
+ if (yych == 'B') goto yy342;
+ if (yych == 'b') goto yy342;
+ goto yy44;
+yy257:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'O') goto yy432;
- if (yych == 'o') goto yy432;
- goto yy133;
-yy347:
+ if (yych == 'O') goto yy343;
+ if (yych == 'o') goto yy343;
+ goto yy44;
+yy258:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'L') goto yy434;
- if (yych == 'l') goto yy434;
- goto yy133;
-yy348:
+ if (yych == 'L') goto yy345;
+ if (yych == 'l') goto yy345;
+ goto yy44;
+yy259:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'L') goto yy435;
- if (yych == 'l') goto yy435;
- goto yy133;
-yy349:
+ if (yych == 'L') goto yy346;
+ if (yych == 'l') goto yy346;
+ goto yy44;
+yy260:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'T') goto yy436;
- if (yych == 't') goto yy436;
- goto yy133;
-yy350:
+ if (yych == 'T') goto yy347;
+ if (yych == 't') goto yy347;
+ goto yy44;
+yy261:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy437;
- if (yych == 'e') goto yy437;
- goto yy133;
-yy351:
+ if (yych == 'E') goto yy348;
+ if (yych == 'e') goto yy348;
+ goto yy44;
+yy262:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy438;
- if (yych == 'e') goto yy438;
- goto yy133;
-yy352:
+ if (yych == 'E') goto yy349;
+ if (yych == 'e') goto yy349;
+ goto yy44;
+yy263:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'T') goto yy439;
- if (yych == 't') goto yy439;
- goto yy133;
-yy353:
+ if (yych == 'T') goto yy350;
+ if (yych == 't') goto yy350;
+ goto yy44;
+yy264:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy441;
- if (yych == 'e') goto yy441;
- goto yy133;
-yy354:
+ if (yych == 'E') goto yy352;
+ if (yych == 'e') goto yy352;
+ goto yy44;
+yy265:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 49);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 45);
continue;
-yy356:
+yy267:
YYSKIP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy442, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy443, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy442, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy443, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy353, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy354, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy353, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy354, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy357:
+yy268:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'T') goto yy444;
- if (yych == 't') goto yy444;
- goto yy133;
-yy358:
+ if (yych == 'T') goto yy355;
+ if (yych == 't') goto yy355;
+ goto yy44;
+yy269:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'L') goto yy445;
- if (yych == 'l') goto yy445;
- goto yy133;
-yy359:
+ if (yych == 'L') goto yy356;
+ if (yych == 'l') goto yy356;
+ goto yy44;
+yy270:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'U') goto yy446;
- if (yych == 'u') goto yy446;
- goto yy133;
-yy360:
+ if (yych == 'U') goto yy357;
+ if (yych == 'u') goto yy357;
+ goto yy44;
+yy271:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'U') goto yy447;
- if (yych == 'u') goto yy447;
- goto yy133;
-yy361:
+ if (yych == 'U') goto yy358;
+ if (yych == 'u') goto yy358;
+ goto yy44;
+yy272:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'T') goto yy448;
- if (yych == 't') goto yy448;
- goto yy133;
-yy362:
+ if (yych == 'T') goto yy359;
+ if (yych == 't') goto yy359;
+ goto yy44;
+yy273:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'T') goto yy449;
- if (yych == 't') goto yy449;
- goto yy133;
-yy363:
+ if (yych == 'T') goto yy360;
+ if (yych == 't') goto yy360;
+ goto yy44;
+yy274:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'O') goto yy450;
- if (yych == 'o') goto yy450;
- goto yy133;
-yy364:
+ if (yych == 'O') goto yy361;
+ if (yych == 'o') goto yy361;
+ goto yy44;
+yy275:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'I') goto yy451;
- if (yych == 'i') goto yy451;
- goto yy133;
-yy365:
+ if (yych == 'I') goto yy362;
+ if (yych == 'i') goto yy362;
+ goto yy44;
+yy276:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 6);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 6);
continue;
-yy367:
+yy278:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy452;
- if (yych == 'e') goto yy452;
- goto yy133;
-yy368:
+ if (yych == 'E') goto yy363;
+ if (yych == 'e') goto yy363;
+ goto yy44;
+yy279:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 65);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 61);
continue;
-yy370:
+yy281:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 51);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 47);
continue;
-yy372:
+yy283:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'L') goto yy453;
- if (yych == 'l') goto yy453;
- goto yy133;
-yy373:
+ if (yych == 'L') goto yy364;
+ if (yych == 'l') goto yy364;
+ goto yy44;
+yy284:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 107);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 103);
continue;
-yy375:
+yy286:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'L') goto yy454;
- if (yych == 'l') goto yy454;
- goto yy133;
-yy376:
+ if (yych == 'L') goto yy365;
+ if (yych == 'l') goto yy365;
+ goto yy44;
+yy287:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'L') goto yy455;
- if (yych == 'l') goto yy455;
- goto yy133;
-yy377:
+ if (yych == 'L') goto yy366;
+ if (yych == 'l') goto yy366;
+ goto yy44;
+yy288:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'I') goto yy456;
- if (yych == 'i') goto yy456;
- goto yy133;
-yy378:
+ if (yych == 'I') goto yy367;
+ if (yych == 'i') goto yy367;
+ goto yy44;
+yy289:
YYSKIP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy457, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy458, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy457, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy458, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy368, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy369, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy368, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy369, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy379:
+yy290:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'A') goto yy459;
- if (yych == 'a') goto yy459;
- goto yy133;
-yy380:
+ if (yych == 'A') goto yy370;
+ if (yych == 'a') goto yy370;
+ goto yy44;
+yy291:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'I') goto yy460;
- if (yych == 'i') goto yy460;
- goto yy133;
-yy381:
+ if (yych == 'I') goto yy371;
+ if (yych == 'i') goto yy371;
+ goto yy44;
+yy292:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy461;
- if (yych == 'e') goto yy461;
- goto yy133;
-yy382:
+ if (yych == 'E') goto yy372;
+ if (yych == 'e') goto yy372;
+ goto yy44;
+yy293:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'A') goto yy462;
- if (yych == 'a') goto yy462;
- goto yy133;
-yy383:
+ if (yych == 'A') goto yy373;
+ if (yych == 'a') goto yy373;
+ goto yy44;
+yy294:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'R') goto yy463;
- if (yych == 'r') goto yy463;
- goto yy133;
-yy384:
+ if (yych == 'R') goto yy374;
+ if (yych == 'r') goto yy374;
+ goto yy44;
+yy295:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'A') goto yy464;
- if (yych == 'a') goto yy464;
- goto yy171;
-yy385:
+ if (yych == 'A') goto yy375;
+ if (yych == 'a') goto yy375;
+ goto yy82;
+yy296:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'A') goto yy465;
- if (yych == 'a') goto yy465;
- goto yy171;
-yy386:
+ if (yych == 'A') goto yy376;
+ if (yych == 'a') goto yy376;
+ goto yy82;
+yy297:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'L') goto yy466;
- if (yych == 'l') goto yy466;
- goto yy171;
-yy387:
+ if (yych == 'L') goto yy377;
+ if (yych == 'l') goto yy377;
+ goto yy82;
+yy298:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'B') goto yy467;
- if (yych == 'b') goto yy467;
- goto yy171;
-yy388:
+ if (yych == 'B') goto yy378;
+ if (yych == 'b') goto yy378;
+ goto yy82;
+yy299:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'A') goto yy468;
- if (yych == 'a') goto yy468;
- goto yy171;
-yy389:
+ if (yych == 'A') goto yy379;
+ if (yych == 'a') goto yy379;
+ goto yy82;
+yy300:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy473;
- if (yych == 'e') goto yy473;
- goto yy470;
-yy390:
+ if (yych == 'E') goto yy384;
+ if (yych == 'e') goto yy384;
+ goto yy381;
+yy301:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy474;
- if (yych == 'e') goto yy474;
- goto yy171;
-yy391:
+ if (yych == 'E') goto yy385;
+ if (yych == 'e') goto yy385;
+ goto yy82;
+yy302:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'L') goto yy475;
- if (yych == 'l') goto yy475;
- goto yy171;
-yy392:
+ if (yych == 'L') goto yy386;
+ if (yych == 'l') goto yy386;
+ goto yy82;
+yy303:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'I') goto yy477;
- if (yych == 'i') goto yy477;
- goto yy171;
-yy393:
+ if (yych == 'I') goto yy388;
+ if (yych == 'i') goto yy388;
+ goto yy82;
+yy304:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy478;
- if (yych == 'e') goto yy478;
- goto yy171;
-yy394:
+ if (yych == 'E') goto yy389;
+ if (yych == 'e') goto yy389;
+ goto yy82;
+yy305:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
if (yych <= '\f') {
- if (yych <= 0x08) goto yy202;
- if (yych <= '\n') goto yy394;
- goto yy202;
+ if (yych <= 0x08) goto yy113;
+ if (yych <= '\n') goto yy305;
+ goto yy113;
} else {
- if (yych <= '\r') goto yy394;
- if (yych == ' ') goto yy394;
- goto yy202;
+ if (yych <= '\r') goto yy305;
+ if (yych == ' ') goto yy305;
+ goto yy113;
}
-yy396:
+yy307:
YYSKIP ();
yych = YYPEEK ();
- if (yych == '"') goto yy171;
- if (yych <= '/') goto yy480;
- if (yych <= '9') goto yy171;
- goto yy480;
-yy397:
+ if (yych == '"') goto yy82;
+ if (yych <= '/') goto yy391;
+ if (yych <= '9') goto yy82;
+ goto yy391;
+yy308:
YYSKIP ();
yych = YYPEEK ();
- if (yych == '\'') goto yy171;
- if (yych <= '/') goto yy482;
- if (yych <= '9') goto yy171;
- goto yy482;
-yy398:
+ if (yych == '\'') goto yy82;
+ if (yych <= '/') goto yy393;
+ if (yych <= '9') goto yy82;
+ goto yy393;
+yy309:
YYSKIP ();
if (YYLESSTHAN (2)) YYFILL(2);
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy483, &&yy171, &&yy171, &&yy485, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy171, &&yy171, &&yy171, &&yy171, &&yy398,
- &&yy171, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy171, &&yy171, &&yy171, &&yy171, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398,
- &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398, &&yy398
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy394, &&yy82, &&yy82, &&yy396, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy82, &&yy82, &&yy82, &&yy82, &&yy309,
+ &&yy82, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy82, &&yy82, &&yy82, &&yy82, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309,
+ &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309, &&yy309
};
goto *yytarget[yych];
}
-yy400:
+yy311:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'R') goto yy486;
- if (yych == 'r') goto yy486;
- goto yy133;
-yy401:
+ if (yych == 'R') goto yy397;
+ if (yych == 'r') goto yy397;
+ goto yy44;
+yy312:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'Y') goto yy487;
- if (yych == 'y') goto yy487;
- goto yy133;
-yy402:
+ if (yych == 'Y') goto yy398;
+ if (yych == 'y') goto yy398;
+ goto yy44;
+yy313:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'K') goto yy489;
- if (yych == 'k') goto yy489;
- goto yy133;
-yy403:
+ if (yych == 'K') goto yy400;
+ if (yych == 'k') goto yy400;
+ goto yy44;
+yy314:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'A') goto yy491;
- if (yych == 'a') goto yy491;
- goto yy133;
-yy404:
+ if (yych == 'A') goto yy402;
+ if (yych == 'a') goto yy402;
+ goto yy44;
+yy315:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 27);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 27);
continue;
-yy406:
+yy317:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'H') goto yy492;
- if (yych == 'h') goto yy492;
- goto yy133;
-yy407:
+ if (yych == 'H') goto yy403;
+ if (yych == 'h') goto yy403;
+ goto yy44;
+yy318:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'S') goto yy494;
- if (yych == 's') goto yy494;
- goto yy133;
-yy408:
+ if (yych == 'S') goto yy405;
+ if (yych == 's') goto yy405;
+ goto yy44;
+yy319:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy496;
- if (yych == 'e') goto yy496;
- goto yy133;
-yy409:
+ if (yych == 'E') goto yy407;
+ if (yych == 'e') goto yy407;
+ goto yy44;
+yy320:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'T') goto yy498;
- if (yych == 't') goto yy498;
- goto yy133;
-yy410:
+ if (yych == 'T') goto yy409;
+ if (yych == 't') goto yy409;
+ goto yy44;
+yy321:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'I') goto yy500;
- if (yych == 'i') goto yy500;
- goto yy133;
-yy411:
+ if (yych == 'I') goto yy411;
+ if (yych == 'i') goto yy411;
+ goto yy44;
+yy322:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'A') goto yy501;
- if (yych == 'a') goto yy501;
- goto yy133;
-yy412:
+ if (yych == 'A') goto yy412;
+ if (yych == 'a') goto yy412;
+ goto yy44;
+yy323:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'U') goto yy502;
- if (yych == 'u') goto yy502;
- goto yy133;
-yy413:
+ if (yych == 'U') goto yy413;
+ if (yych == 'u') goto yy413;
+ goto yy44;
+yy324:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 32);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 32);
continue;
-yy415:
+yy326:
YYSKIP ();
+ yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy416, &&yy416, &&yy416, &&yy416, &&yy416, &&yy416, &&yy416, &&yy416,
- &&yy416, &&yy416, &&yy416, &&yy416, &&yy416, &&yy416, &&yy416, &&yy416,
- &&yy416, &&yy416, &&yy416, &&yy416, &&yy416, &&yy416, &&yy416, &&yy416,
- &&yy416, &&yy416, &&yy416, &&yy416, &&yy416, &&yy416, &&yy416, &&yy416,
- &&yy416, &&yy416, &&yy416, &&yy416, &&yy416, &&yy416, &&yy416, &&yy416,
- &&yy416, &&yy416, &&yy416, &&yy416, &&yy416, &&yy416, &&yy416, &&yy416,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy416, &&yy416, &&yy416, &&yy416, &&yy416, &&yy416,
- &&yy416, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy503, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy416, &&yy416, &&yy416, &&yy416, &&yy132,
- &&yy416, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy503, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy416, &&yy416, &&yy416, &&yy416, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132
+ &&yy327, &&yy327, &&yy327, &&yy327, &&yy327, &&yy327, &&yy327, &&yy327,
+ &&yy327, &&yy327, &&yy327, &&yy327, &&yy327, &&yy327, &&yy327, &&yy327,
+ &&yy327, &&yy327, &&yy327, &&yy327, &&yy327, &&yy327, &&yy327, &&yy327,
+ &&yy327, &&yy327, &&yy327, &&yy327, &&yy327, &&yy327, &&yy327, &&yy327,
+ &&yy327, &&yy327, &&yy327, &&yy327, &&yy327, &&yy327, &&yy327, &&yy327,
+ &&yy327, &&yy327, &&yy327, &&yy327, &&yy327, &&yy327, &&yy327, &&yy327,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy327, &&yy327, &&yy327, &&yy327, &&yy327, &&yy327,
+ &&yy327, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy414, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy327, &&yy327, &&yy327, &&yy327, &&yy43,
+ &&yy327, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy414, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy327, &&yy327, &&yy327, &&yy327, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43
};
- goto *yytarget[(yych = YYPEEK ())];
+ goto *yytarget[yych];
}
-yy416:
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 13);
+yy327:
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 13);
continue;
-yy417:
+yy328:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'Y') goto yy504;
- if (yych == 'y') goto yy504;
- goto yy133;
-yy418:
+ if (yych == 'Y') goto yy415;
+ if (yych == 'y') goto yy415;
+ goto yy44;
+yy329:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy506;
- if (yych == 'e') goto yy506;
- goto yy133;
-yy419:
+ if (yych == 'E') goto yy417;
+ if (yych == 'e') goto yy417;
+ goto yy44;
+yy330:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'O') goto yy507;
- if (yych == 'o') goto yy507;
- goto yy133;
-yy420:
+ if (yych == 'O') goto yy418;
+ if (yych == 'o') goto yy418;
+ goto yy44;
+yy331:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'F') goto yy508;
- if (yych == 'f') goto yy508;
- goto yy133;
-yy421:
+ if (yych == 'F') goto yy419;
+ if (yych == 'f') goto yy419;
+ goto yy44;
+yy332:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'W') goto yy510;
- if (yych == 'w') goto yy510;
- goto yy133;
-yy422:
+ if (yych == 'W') goto yy421;
+ if (yych == 'w') goto yy421;
+ goto yy44;
+yy333:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'H') goto yy511;
- if (yych == 'h') goto yy511;
- goto yy133;
-yy423:
+ if (yych == 'H') goto yy422;
+ if (yych == 'h') goto yy422;
+ goto yy44;
+yy334:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 59);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 55);
continue;
-yy425:
+yy336:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 0);
continue;
-yy427:
+yy338:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'N') goto yy512;
- if (yych == 'n') goto yy512;
- goto yy133;
-yy428:
+ if (yych == 'N') goto yy423;
+ if (yych == 'n') goto yy423;
+ goto yy44;
+yy339:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'L') goto yy513;
- if (yych == 'l') goto yy513;
- goto yy133;
-yy429:
+ if (yych == 'L') goto yy424;
+ if (yych == 'l') goto yy424;
+ goto yy44;
+yy340:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'A') goto yy515;
- if (yych == 'a') goto yy515;
- goto yy133;
-yy430:
+ if (yych == 'A') goto yy426;
+ if (yych == 'a') goto yy426;
+ goto yy44;
+yy341:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'T') goto yy516;
- if (yych == 't') goto yy516;
- goto yy133;
-yy431:
+ if (yych == 'T') goto yy427;
+ if (yych == 't') goto yy427;
+ goto yy44;
+yy342:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'A') goto yy517;
- if (yych == 'a') goto yy517;
- goto yy133;
-yy432:
+ if (yych == 'A') goto yy428;
+ if (yych == 'a') goto yy428;
+ goto yy44;
+yy343:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 31);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 31);
continue;
-yy434:
+yy345:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy518;
- if (yych == 'e') goto yy518;
- goto yy133;
-yy435:
+ if (yych == 'E') goto yy429;
+ if (yych == 'e') goto yy429;
+ goto yy44;
+yy346:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'U') goto yy519;
- if (yych == 'u') goto yy519;
- goto yy133;
-yy436:
+ if (yych == 'U') goto yy430;
+ if (yych == 'u') goto yy430;
+ goto yy44;
+yy347:
YYSKIP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy520, &&yy133, &&yy133, &&yy133, &&yy521, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy520, &&yy133, &&yy133, &&yy133, &&yy521, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133,
- &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133, &&yy133
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy431, &&yy44, &&yy44, &&yy44, &&yy432, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy431, &&yy44, &&yy44, &&yy44, &&yy432, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44,
+ &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44, &&yy44
};
goto *yytarget[yych];
}
-yy437:
+yy348:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'R') goto yy522;
- if (yych == 'r') goto yy522;
- goto yy133;
-yy438:
+ if (yych == 'R') goto yy433;
+ if (yych == 'r') goto yy433;
+ goto yy44;
+yy349:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'T') goto yy523;
- if (yych == 't') goto yy523;
- goto yy133;
-yy439:
+ if (yych == 'T') goto yy434;
+ if (yych == 't') goto yy434;
+ goto yy44;
+yy350:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 79);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 75);
continue;
-yy441:
+yy352:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'S') goto yy525;
- if (yych == 's') goto yy525;
- goto yy133;
-yy442:
+ if (yych == 'S') goto yy436;
+ if (yych == 's') goto yy436;
+ goto yy44;
+yy353:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'T') goto yy526;
- if (yych == 't') goto yy526;
- goto yy133;
-yy443:
+ if (yych == 'T') goto yy437;
+ if (yych == 't') goto yy437;
+ goto yy44;
+yy354:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'A') goto yy528;
- if (yych == 'a') goto yy528;
- goto yy133;
-yy444:
+ if (yych == 'A') goto yy439;
+ if (yych == 'a') goto yy439;
+ goto yy44;
+yy355:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy529;
- if (yych == 'e') goto yy529;
- goto yy133;
-yy445:
+ if (yych == 'E') goto yy440;
+ if (yych == 'e') goto yy440;
+ goto yy44;
+yy356:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'I') goto yy530;
- if (yych == 'i') goto yy530;
- goto yy133;
-yy446:
+ if (yych == 'I') goto yy441;
+ if (yych == 'i') goto yy441;
+ goto yy44;
+yy357:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'I') goto yy531;
- if (yych == 'i') goto yy531;
- goto yy133;
-yy447:
+ if (yych == 'I') goto yy442;
+ if (yych == 'i') goto yy442;
+ goto yy44;
+yy358:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'R') goto yy532;
- if (yych == 'r') goto yy532;
- goto yy133;
-yy448:
+ if (yych == 'R') goto yy443;
+ if (yych == 'r') goto yy443;
+ goto yy44;
+yy359:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'I') goto yy533;
- if (yych == 'i') goto yy533;
- goto yy133;
-yy449:
+ if (yych == 'I') goto yy444;
+ if (yych == 'i') goto yy444;
+ goto yy44;
+yy360:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'C') goto yy534;
- if (yych == 'c') goto yy534;
- goto yy133;
-yy450:
+ if (yych == 'C') goto yy445;
+ if (yych == 'c') goto yy445;
+ goto yy44;
+yy361:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'W') goto yy535;
- if (yych == 'w') goto yy535;
- goto yy133;
-yy451:
+ if (yych == 'W') goto yy446;
+ if (yych == 'w') goto yy446;
+ goto yy44;
+yy362:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'T') goto yy537;
- if (yych == 't') goto yy537;
- goto yy133;
-yy452:
+ if (yych == 'T') goto yy448;
+ if (yych == 't') goto yy448;
+ goto yy44;
+yy363:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'T') goto yy539;
- if (yych == 't') goto yy539;
- goto yy133;
-yy453:
+ if (yych == 'T') goto yy450;
+ if (yych == 't') goto yy450;
+ goto yy44;
+yy364:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy541;
- if (yych == 'e') goto yy541;
- goto yy133;
-yy454:
+ if (yych == 'E') goto yy452;
+ if (yych == 'e') goto yy452;
+ goto yy44;
+yy365:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'D') goto yy543;
- if (yych == 'd') goto yy543;
- goto yy133;
-yy455:
+ if (yych == 'D') goto yy454;
+ if (yych == 'd') goto yy454;
+ goto yy44;
+yy366:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'A') goto yy545;
- if (yych == 'a') goto yy545;
- goto yy133;
-yy456:
+ if (yych == 'A') goto yy456;
+ if (yych == 'a') goto yy456;
+ goto yy44;
+yy367:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'R') goto yy546;
- if (yych == 'r') goto yy546;
- goto yy133;
-yy457:
+ if (yych == 'R') goto yy457;
+ if (yych == 'r') goto yy457;
+ goto yy44;
+yy368:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'L') goto yy547;
- if (yych == 'l') goto yy547;
- goto yy133;
-yy458:
+ if (yych == 'L') goto yy458;
+ if (yych == 'l') goto yy458;
+ goto yy44;
+yy369:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'N') goto yy548;
- if (yych == 'n') goto yy548;
- goto yy133;
-yy459:
+ if (yych == 'N') goto yy459;
+ if (yych == 'n') goto yy459;
+ goto yy44;
+yy370:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'L') goto yy549;
- if (yych == 'l') goto yy549;
- goto yy133;
-yy460:
+ if (yych == 'L') goto yy460;
+ if (yych == 'l') goto yy460;
+ goto yy44;
+yy371:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'N') goto yy550;
- if (yych == 'n') goto yy550;
- goto yy133;
-yy461:
+ if (yych == 'N') goto yy461;
+ if (yych == 'n') goto yy461;
+ goto yy44;
+yy372:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'T') goto yy551;
- if (yych == 't') goto yy551;
- goto yy133;
-yy462:
+ if (yych == 'T') goto yy462;
+ if (yych == 't') goto yy462;
+ goto yy44;
+yy373:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'M') goto yy552;
- if (yych == 'm') goto yy552;
- goto yy133;
-yy463:
+ if (yych == 'M') goto yy463;
+ if (yych == 'm') goto yy463;
+ goto yy44;
+yy374:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'A') goto yy553;
- if (yych == 'a') goto yy553;
- goto yy133;
-yy464:
+ if (yych == 'A') goto yy464;
+ if (yych == 'a') goto yy464;
+ goto yy44;
+yy375:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'Y') goto yy554;
- if (yych == 'y') goto yy554;
- goto yy171;
-yy465:
+ if (yych == 'Y') goto yy465;
+ if (yych == 'y') goto yy465;
+ goto yy82;
+yy376:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'R') goto yy556;
- if (yych == 'r') goto yy556;
- goto yy171;
-yy466:
+ if (yych == 'R') goto yy467;
+ if (yych == 'r') goto yy467;
+ goto yy82;
+yy377:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy561;
- if (yych == 'e') goto yy561;
- goto yy558;
-yy467:
+ if (yych == 'E') goto yy472;
+ if (yych == 'e') goto yy472;
+ goto yy469;
+yy378:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'L') goto yy562;
- if (yych == 'l') goto yy562;
- goto yy171;
-yy468:
+ if (yych == 'L') goto yy473;
+ if (yych == 'l') goto yy473;
+ goto yy82;
+yy379:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'T') goto yy475;
- if (yych == 't') goto yy475;
- goto yy171;
-yy469:
+ if (yych == 'T') goto yy386;
+ if (yych == 't') goto yy386;
+ goto yy82;
+yy380:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
-yy470:
+yy381:
if (yych <= 0x1F) {
- if (yych == '\t') goto yy469;
- goto yy171;
+ if (yych == '\t') goto yy380;
+ goto yy82;
} else {
- if (yych <= ' ') goto yy469;
- if (yych != ')') goto yy171;
+ if (yych <= ' ') goto yy380;
+ if (yych != ')') goto yy82;
}
YYSKIP ();
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 52);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 48);
continue;
-yy473:
+yy384:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'G') goto yy563;
- if (yych == 'g') goto yy563;
- goto yy171;
-yy474:
+ if (yych == 'G') goto yy474;
+ if (yych == 'g') goto yy474;
+ goto yy82;
+yy385:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'C') goto yy564;
- if (yych == 'c') goto yy564;
- goto yy171;
-yy475:
+ if (yych == 'C') goto yy475;
+ if (yych == 'c') goto yy475;
+ goto yy82;
+yy386:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
if (yych <= 0x1F) {
- if (yych == '\t') goto yy475;
- goto yy171;
+ if (yych == '\t') goto yy386;
+ goto yy82;
} else {
- if (yych <= ' ') goto yy475;
- if (yych == ')') goto yy565;
- goto yy171;
+ if (yych <= ' ') goto yy386;
+ if (yych == ')') goto yy476;
+ goto yy82;
}
-yy477:
+yy388:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'N') goto yy567;
- if (yych == 'n') goto yy567;
- goto yy171;
-yy478:
+ if (yych == 'N') goto yy478;
+ if (yych == 'n') goto yy478;
+ goto yy82;
+yy389:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'T') goto yy568;
- if (yych == 't') goto yy568;
- goto yy171;
-yy479:
+ if (yych == 'T') goto yy479;
+ if (yych == 't') goto yy479;
+ goto yy82;
+yy390:
YYSKIP ();
if (YYLESSTHAN (3)) YYFILL(3);
yych = YYPEEK ();
-yy480:
+yy391:
{
static void *yytarget[256] = {
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy570, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479,
- &&yy479, &&yy479, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479,
- &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479,
- &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479,
- &&yy479, &&yy479, &&yy479, &&yy171, &&yy171, &&yy171, &&yy171, &&yy479,
- &&yy171, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479,
- &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479,
- &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479,
- &&yy479, &&yy479, &&yy479, &&yy171, &&yy171, &&yy171, &&yy171, &&yy479,
- &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479,
- &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479,
- &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479,
- &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479,
- &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479,
- &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479,
- &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479,
- &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479,
- &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479,
- &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479,
- &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479,
- &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479,
- &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479,
- &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479,
- &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479,
- &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479, &&yy479
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy481, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy82, &&yy82, &&yy82, &&yy82, &&yy390,
+ &&yy82, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy82, &&yy82, &&yy82, &&yy82, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390,
+ &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390, &&yy390
};
goto *yytarget[yych];
}
-yy481:
+yy392:
YYSKIP ();
if (YYLESSTHAN (3)) YYFILL(3);
yych = YYPEEK ();
-yy482:
+yy393:
{
static void *yytarget[256] = {
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy570,
- &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481,
- &&yy481, &&yy481, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171, &&yy171,
- &&yy171, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481,
- &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481,
- &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481,
- &&yy481, &&yy481, &&yy481, &&yy171, &&yy171, &&yy171, &&yy171, &&yy481,
- &&yy171, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481,
- &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481,
- &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481,
- &&yy481, &&yy481, &&yy481, &&yy171, &&yy171, &&yy171, &&yy171, &&yy481,
- &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481,
- &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481,
- &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481,
- &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481,
- &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481,
- &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481,
- &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481,
- &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481,
- &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481,
- &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481,
- &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481,
- &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481,
- &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481,
- &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481,
- &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481,
- &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481, &&yy481
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy481,
+ &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82, &&yy82,
+ &&yy82, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy82, &&yy82, &&yy82, &&yy82, &&yy392,
+ &&yy82, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy82, &&yy82, &&yy82, &&yy82, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392,
+ &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392, &&yy392
};
goto *yytarget[yych];
}
-yy483:
+yy394:
YYSKIP ();
-yy484:
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 157);
+yy395:
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 128);
continue;
-yy485:
+yy396:
YYSKIP ();
yych = YYPEEK ();
- if (yych == '\n') goto yy483;
- goto yy484;
-yy486:
+ if (yych == '\n') goto yy394;
+ goto yy395;
+yy397:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'A') goto yy571;
- if (yych == 'a') goto yy571;
- goto yy133;
-yy487:
+ if (yych == 'A') goto yy482;
+ if (yych == 'a') goto yy482;
+ goto yy44;
+yy398:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 80);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 76);
continue;
-yy489:
+yy400:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 29);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 29);
continue;
-yy491:
+yy402:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'B') goto yy572;
- if (yych == 'b') goto yy572;
- goto yy133;
-yy492:
+ if (yych == 'B') goto yy483;
+ if (yych == 'b') goto yy483;
+ goto yy44;
+yy403:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 7);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 7);
continue;
-yy494:
+yy405:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 34);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 34);
continue;
-yy496:
+yy407:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 50);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 46);
continue;
-yy498:
+yy409:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 3);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 3);
continue;
-yy500:
+yy411:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'N') goto yy573;
- if (yych == 'n') goto yy573;
- goto yy133;
-yy501:
+ if (yych == 'N') goto yy484;
+ if (yych == 'n') goto yy484;
+ goto yy44;
+yy412:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'R') goto yy574;
- if (yych == 'r') goto yy574;
- goto yy133;
-yy502:
+ if (yych == 'R') goto yy485;
+ if (yych == 'r') goto yy485;
+ goto yy44;
+yy413:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'L') goto yy575;
- if (yych == 'l') goto yy575;
- goto yy133;
-yy503:
+ if (yych == 'L') goto yy486;
+ if (yych == 'l') goto yy486;
+ goto yy44;
+yy414:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'F') goto yy576;
- if (yych == 'f') goto yy576;
- goto yy133;
-yy504:
+ if (yych == 'F') goto yy487;
+ if (yych == 'f') goto yy487;
+ goto yy44;
+yy415:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 69);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 65);
continue;
-yy506:
+yy417:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'C') goto yy578;
- if (yych == 'c') goto yy578;
- goto yy133;
-yy507:
+ if (yych == 'C') goto yy489;
+ if (yych == 'c') goto yy489;
+ goto yy44;
+yy418:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'R') goto yy579;
- if (yych == 'r') goto yy579;
- goto yy133;
-yy508:
+ if (yych == 'R') goto yy490;
+ if (yych == 'r') goto yy490;
+ goto yy44;
+yy419:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 12);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 12);
continue;
-yy510:
+yy421:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'I') goto yy581;
- if (yych == 'i') goto yy581;
- goto yy133;
-yy511:
+ if (yych == 'I') goto yy492;
+ if (yych == 'i') goto yy492;
+ goto yy44;
+yy422:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'I') goto yy582;
- if (yych == 'i') goto yy582;
- goto yy133;
-yy512:
+ if (yych == 'I') goto yy493;
+ if (yych == 'i') goto yy493;
+ goto yy44;
+yy423:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'D') goto yy583;
- if (yych == 'd') goto yy583;
- goto yy133;
-yy513:
+ if (yych == 'D') goto yy494;
+ if (yych == 'd') goto yy494;
+ goto yy44;
+yy424:
YYSKIP ();
+ yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy514, &&yy514, &&yy514, &&yy514, &&yy514, &&yy514, &&yy514, &&yy514,
- &&yy514, &&yy514, &&yy514, &&yy514, &&yy514, &&yy514, &&yy514, &&yy514,
- &&yy514, &&yy514, &&yy514, &&yy514, &&yy514, &&yy514, &&yy514, &&yy514,
- &&yy514, &&yy514, &&yy514, &&yy514, &&yy514, &&yy514, &&yy514, &&yy514,
- &&yy514, &&yy514, &&yy514, &&yy514, &&yy514, &&yy514, &&yy514, &&yy514,
- &&yy514, &&yy514, &&yy514, &&yy514, &&yy514, &&yy514, &&yy514, &&yy514,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy514, &&yy514, &&yy514, &&yy514, &&yy514, &&yy514,
- &&yy514, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy584, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy514, &&yy514, &&yy514, &&yy514, &&yy132,
- &&yy514, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy584, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy514, &&yy514, &&yy514, &&yy514, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132
+ &&yy425, &&yy425, &&yy425, &&yy425, &&yy425, &&yy425, &&yy425, &&yy425,
+ &&yy425, &&yy425, &&yy425, &&yy425, &&yy425, &&yy425, &&yy425, &&yy425,
+ &&yy425, &&yy425, &&yy425, &&yy425, &&yy425, &&yy425, &&yy425, &&yy425,
+ &&yy425, &&yy425, &&yy425, &&yy425, &&yy425, &&yy425, &&yy425, &&yy425,
+ &&yy425, &&yy425, &&yy425, &&yy425, &&yy425, &&yy425, &&yy425, &&yy425,
+ &&yy425, &&yy425, &&yy425, &&yy425, &&yy425, &&yy425, &&yy425, &&yy425,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy425, &&yy425, &&yy425, &&yy425, &&yy425, &&yy425,
+ &&yy425, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy495, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy425, &&yy425, &&yy425, &&yy425, &&yy43,
+ &&yy425, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy495, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy425, &&yy425, &&yy425, &&yy425, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43
};
- goto *yytarget[(yych = YYPEEK ())];
+ goto *yytarget[yych];
}
-yy514:
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 73);
+yy425:
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 69);
continue;
-yy515:
+yy426:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'C') goto yy585;
- if (yych == 'c') goto yy585;
- goto yy133;
-yy516:
+ if (yych == 'C') goto yy496;
+ if (yych == 'c') goto yy496;
+ goto yy44;
+yy427:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'I') goto yy586;
- if (yych == 'i') goto yy586;
- goto yy133;
-yy517:
+ if (yych == 'I') goto yy497;
+ if (yych == 'i') goto yy497;
+ goto yy44;
+yy428:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'L') goto yy587;
- if (yych == 'l') goto yy587;
- goto yy133;
-yy518:
+ if (yych == 'L') goto yy498;
+ if (yych == 'l') goto yy498;
+ goto yy44;
+yy429:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'M') goto yy589;
- if (yych == 'm') goto yy589;
- goto yy133;
-yy519:
+ if (yych == 'M') goto yy500;
+ if (yych == 'm') goto yy500;
+ goto yy44;
+yy430:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'D') goto yy590;
- if (yych == 'd') goto yy590;
- goto yy133;
-yy520:
+ if (yych == 'D') goto yy501;
+ if (yych == 'd') goto yy501;
+ goto yy44;
+yy431:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'N') goto yy591;
- if (yych == 'n') goto yy591;
- goto yy133;
-yy521:
+ if (yych == 'N') goto yy502;
+ if (yych == 'n') goto yy502;
+ goto yy44;
+yy432:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'A') goto yy592;
- if (yych == 'a') goto yy592;
- goto yy133;
-yy522:
+ if (yych == 'A') goto yy503;
+ if (yych == 'a') goto yy503;
+ goto yy44;
+yy433:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'F') goto yy593;
- if (yych == 'f') goto yy593;
- goto yy133;
-yy523:
+ if (yych == 'F') goto yy504;
+ if (yych == 'f') goto yy504;
+ goto yy44;
+yy434:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 68);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 64);
continue;
-yy525:
+yy436:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'P') goto yy594;
- if (yych == 'p') goto yy594;
- goto yy133;
-yy526:
+ if (yych == 'P') goto yy505;
+ if (yych == 'p') goto yy505;
+ goto yy44;
+yy437:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 33);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 33);
continue;
-yy528:
+yy439:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'T') goto yy595;
- if (yych == 't') goto yy595;
- goto yy133;
-yy529:
+ if (yych == 'T') goto yy506;
+ if (yych == 't') goto yy506;
+ goto yy44;
+yy440:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'C') goto yy596;
- if (yych == 'c') goto yy596;
- goto yy133;
-yy530:
+ if (yych == 'C') goto yy507;
+ if (yych == 'c') goto yy507;
+ goto yy44;
+yy441:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'C') goto yy597;
- if (yych == 'c') goto yy597;
- goto yy133;
-yy531:
+ if (yych == 'C') goto yy508;
+ if (yych == 'c') goto yy508;
+ goto yy44;
+yy442:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'R') goto yy599;
- if (yych == 'r') goto yy599;
- goto yy133;
-yy532:
+ if (yych == 'R') goto yy510;
+ if (yych == 'r') goto yy510;
+ goto yy44;
+yy443:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'N') goto yy600;
- if (yych == 'n') goto yy600;
- goto yy133;
-yy533:
+ if (yych == 'N') goto yy511;
+ if (yych == 'n') goto yy511;
+ goto yy44;
+yy444:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'C') goto yy602;
- if (yych == 'c') goto yy602;
- goto yy133;
-yy534:
+ if (yych == 'C') goto yy513;
+ if (yych == 'c') goto yy513;
+ goto yy44;
+yy445:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'H') goto yy604;
- if (yych == 'h') goto yy604;
- goto yy133;
-yy535:
+ if (yych == 'H') goto yy515;
+ if (yych == 'h') goto yy515;
+ goto yy44;
+yy446:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 9);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 9);
continue;
-yy537:
+yy448:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 36);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 36);
continue;
-yy539:
+yy450:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 77);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 73);
continue;
-yy541:
+yy452:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 14);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 14);
continue;
-yy543:
+yy454:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 5);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 5);
continue;
-yy545:
+yy456:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'S') goto yy606;
- if (yych == 's') goto yy606;
- goto yy133;
-yy546:
+ if (yych == 'S') goto yy517;
+ if (yych == 's') goto yy517;
+ goto yy44;
+yy457:
YYSKIP ();
yych = YYPEEK ();
- if (yych == '_') goto yy607;
- goto yy133;
-yy547:
+ if (yych == '_') goto yy518;
+ goto yy44;
+yy458:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy608;
- if (yych == 'e') goto yy608;
- goto yy133;
-yy548:
+ if (yych == 'E') goto yy519;
+ if (yych == 'e') goto yy519;
+ goto yy44;
+yy459:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'C') goto yy609;
- if (yych == 'c') goto yy609;
- goto yy133;
-yy549:
+ if (yych == 'C') goto yy520;
+ if (yych == 'c') goto yy520;
+ goto yy44;
+yy460:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'T') goto yy610;
- if (yych == 't') goto yy610;
- goto yy133;
-yy550:
+ if (yych == 'T') goto yy521;
+ if (yych == 't') goto yy521;
+ goto yy44;
+yy461:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy611;
- if (yych == 'e') goto yy611;
- goto yy133;
-yy551:
+ if (yych == 'E') goto yy522;
+ if (yych == 'e') goto yy522;
+ goto yy44;
+yy462:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'H') goto yy612;
- if (yych == 'h') goto yy612;
- goto yy133;
-yy552:
+ if (yych == 'H') goto yy523;
+ if (yych == 'h') goto yy523;
+ goto yy44;
+yy463:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy613;
- if (yych == 'e') goto yy613;
- goto yy133;
-yy553:
+ if (yych == 'E') goto yy524;
+ if (yych == 'e') goto yy524;
+ goto yy44;
+yy464:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'I') goto yy614;
- if (yych == 'i') goto yy614;
- goto yy133;
-yy554:
+ if (yych == 'I') goto yy525;
+ if (yych == 'i') goto yy525;
+ goto yy44;
+yy465:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
if (yych <= 0x1F) {
- if (yych == '\t') goto yy554;
- goto yy171;
+ if (yych == '\t') goto yy465;
+ goto yy82;
} else {
- if (yych <= ' ') goto yy554;
- if (yych == ')') goto yy615;
- goto yy171;
+ if (yych <= ' ') goto yy465;
+ if (yych == ')') goto yy526;
+ goto yy82;
}
-yy556:
+yy467:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'Y') goto yy617;
- if (yych == 'y') goto yy617;
- goto yy171;
-yy557:
+ if (yych == 'Y') goto yy528;
+ if (yych == 'y') goto yy528;
+ goto yy82;
+yy468:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
-yy558:
+yy469:
if (yych <= 0x1F) {
- if (yych == '\t') goto yy557;
- goto yy171;
+ if (yych == '\t') goto yy468;
+ goto yy82;
} else {
- if (yych <= ' ') goto yy557;
- if (yych != ')') goto yy171;
+ if (yych <= ' ') goto yy468;
+ if (yych != ')') goto yy82;
}
YYSKIP ();
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 57);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 53);
continue;
-yy561:
+yy472:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'A') goto yy619;
- if (yych == 'a') goto yy619;
- goto yy171;
-yy562:
+ if (yych == 'A') goto yy530;
+ if (yych == 'a') goto yy530;
+ goto yy82;
+yy473:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy475;
- if (yych == 'e') goto yy475;
- goto yy171;
-yy563:
+ if (yych == 'E') goto yy386;
+ if (yych == 'e') goto yy386;
+ goto yy82;
+yy474:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy620;
- if (yych == 'e') goto yy620;
- goto yy171;
-yy564:
+ if (yych == 'E') goto yy531;
+ if (yych == 'e') goto yy531;
+ goto yy82;
+yy475:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'T') goto yy621;
- if (yych == 't') goto yy621;
- goto yy171;
-yy565:
+ if (yych == 'T') goto yy532;
+ if (yych == 't') goto yy532;
+ goto yy82;
+yy476:
YYSKIP ();
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 53);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 49);
continue;
-yy567:
+yy478:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'G') goto yy617;
- if (yych == 'g') goto yy617;
- goto yy171;
-yy568:
+ if (yych == 'G') goto yy528;
+ if (yych == 'g') goto yy528;
+ goto yy82;
+yy479:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
if (yych <= 0x1F) {
- if (yych == '\t') goto yy568;
- goto yy171;
+ if (yych == '\t') goto yy479;
+ goto yy82;
} else {
- if (yych <= ' ') goto yy568;
- if (yych == ')') goto yy623;
- goto yy171;
+ if (yych <= ' ') goto yy479;
+ if (yych == ')') goto yy534;
+ goto yy82;
}
-yy570:
+yy481:
YYSKIP ();
yych = YYPEEK ();
- if (yych == '\n') goto yy483;
- if (yych == '\r') goto yy485;
- goto yy171;
-yy571:
+ if (yych == '\n') goto yy394;
+ if (yych == '\r') goto yy396;
+ goto yy82;
+yy482:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'C') goto yy625;
- if (yych == 'c') goto yy625;
- goto yy133;
-yy572:
+ if (yych == 'C') goto yy536;
+ if (yych == 'c') goto yy536;
+ goto yy44;
+yy483:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'L') goto yy626;
- if (yych == 'l') goto yy626;
- goto yy133;
-yy573:
+ if (yych == 'L') goto yy537;
+ if (yych == 'l') goto yy537;
+ goto yy44;
+yy484:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'U') goto yy627;
- if (yych == 'u') goto yy627;
- goto yy133;
-yy574:
+ if (yych == 'U') goto yy538;
+ if (yych == 'u') goto yy538;
+ goto yy44;
+yy485:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy628;
- if (yych == 'e') goto yy628;
- goto yy133;
-yy575:
+ if (yych == 'E') goto yy539;
+ if (yych == 'e') goto yy539;
+ goto yy44;
+yy486:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'T') goto yy630;
- if (yych == 't') goto yy630;
- goto yy133;
-yy576:
+ if (yych == 'T') goto yy541;
+ if (yych == 't') goto yy541;
+ goto yy44;
+yy487:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 11);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 11);
continue;
-yy578:
+yy489:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'L') goto yy632;
- if (yych == 'l') goto yy632;
- goto yy133;
-yy579:
+ if (yych == 'L') goto yy543;
+ if (yych == 'l') goto yy543;
+ goto yy44;
+yy490:
YYSKIP ();
+ yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy580, &&yy580, &&yy580, &&yy580, &&yy580, &&yy580, &&yy580, &&yy580,
- &&yy580, &&yy580, &&yy580, &&yy580, &&yy580, &&yy580, &&yy580, &&yy580,
- &&yy580, &&yy580, &&yy580, &&yy580, &&yy580, &&yy580, &&yy580, &&yy580,
- &&yy580, &&yy580, &&yy580, &&yy580, &&yy580, &&yy580, &&yy580, &&yy580,
- &&yy580, &&yy580, &&yy580, &&yy580, &&yy580, &&yy580, &&yy580, &&yy580,
- &&yy580, &&yy580, &&yy580, &&yy580, &&yy580, &&yy580, &&yy580, &&yy580,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy580, &&yy580, &&yy580, &&yy580, &&yy580, &&yy580,
- &&yy580, &&yy132, &&yy132, &&yy132, &&yy132, &&yy633, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy580, &&yy580, &&yy580, &&yy580, &&yy132,
- &&yy580, &&yy132, &&yy132, &&yy132, &&yy132, &&yy633, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy580, &&yy580, &&yy580, &&yy580, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132
+ &&yy491, &&yy491, &&yy491, &&yy491, &&yy491, &&yy491, &&yy491, &&yy491,
+ &&yy491, &&yy491, &&yy491, &&yy491, &&yy491, &&yy491, &&yy491, &&yy491,
+ &&yy491, &&yy491, &&yy491, &&yy491, &&yy491, &&yy491, &&yy491, &&yy491,
+ &&yy491, &&yy491, &&yy491, &&yy491, &&yy491, &&yy491, &&yy491, &&yy491,
+ &&yy491, &&yy491, &&yy491, &&yy491, &&yy491, &&yy491, &&yy491, &&yy491,
+ &&yy491, &&yy491, &&yy491, &&yy491, &&yy491, &&yy491, &&yy491, &&yy491,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy491, &&yy491, &&yy491, &&yy491, &&yy491, &&yy491,
+ &&yy491, &&yy43, &&yy43, &&yy43, &&yy43, &&yy544, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy491, &&yy491, &&yy491, &&yy491, &&yy43,
+ &&yy491, &&yy43, &&yy43, &&yy43, &&yy43, &&yy544, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy491, &&yy491, &&yy491, &&yy491, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43
};
- goto *yytarget[(yych = YYPEEK ())];
+ goto *yytarget[yych];
}
-yy580:
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 18);
+yy491:
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 18);
continue;
-yy581:
+yy492:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'T') goto yy634;
- if (yych == 't') goto yy634;
- goto yy133;
-yy582:
+ if (yych == 'T') goto yy545;
+ if (yych == 't') goto yy545;
+ goto yy44;
+yy493:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'L') goto yy635;
- if (yych == 'l') goto yy635;
- goto yy133;
-yy583:
+ if (yych == 'L') goto yy546;
+ if (yych == 'l') goto yy546;
+ goto yy44;
+yy494:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'S') goto yy636;
- if (yych == 's') goto yy636;
- goto yy133;
-yy584:
+ if (yych == 'S') goto yy547;
+ if (yych == 's') goto yy547;
+ goto yy44;
+yy495:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'Y') goto yy638;
- if (yych == 'y') goto yy638;
- goto yy133;
-yy585:
+ if (yych == 'Y') goto yy549;
+ if (yych == 'y') goto yy549;
+ goto yy44;
+yy496:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'H') goto yy640;
- if (yych == 'h') goto yy640;
- goto yy133;
-yy586:
+ if (yych == 'H') goto yy551;
+ if (yych == 'h') goto yy551;
+ goto yy44;
+yy497:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'O') goto yy642;
- if (yych == 'o') goto yy642;
- goto yy133;
-yy587:
+ if (yych == 'O') goto yy553;
+ if (yych == 'o') goto yy553;
+ goto yy44;
+yy498:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 67);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 63);
continue;
-yy589:
+yy500:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy643;
- if (yych == 'e') goto yy643;
- goto yy133;
-yy590:
+ if (yych == 'E') goto yy554;
+ if (yych == 'e') goto yy554;
+ goto yy44;
+yy501:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy644;
- if (yych == 'e') goto yy644;
- goto yy133;
-yy591:
+ if (yych == 'E') goto yy555;
+ if (yych == 'e') goto yy555;
+ goto yy44;
+yy502:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'C') goto yy646;
- if (yych == 'c') goto yy646;
- goto yy133;
-yy592:
+ if (yych == 'C') goto yy557;
+ if (yych == 'c') goto yy557;
+ goto yy44;
+yy503:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'D') goto yy647;
- if (yych == 'd') goto yy647;
- goto yy133;
-yy593:
+ if (yych == 'D') goto yy558;
+ if (yych == 'd') goto yy558;
+ goto yy44;
+yy504:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'A') goto yy648;
- if (yych == 'a') goto yy648;
- goto yy133;
-yy594:
+ if (yych == 'A') goto yy559;
+ if (yych == 'a') goto yy559;
+ goto yy44;
+yy505:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'A') goto yy649;
- if (yych == 'a') goto yy649;
- goto yy133;
-yy595:
+ if (yych == 'A') goto yy560;
+ if (yych == 'a') goto yy560;
+ goto yy44;
+yy506:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy650;
- if (yych == 'e') goto yy650;
- goto yy133;
-yy596:
+ if (yych == 'E') goto yy561;
+ if (yych == 'e') goto yy561;
+ goto yy44;
+yy507:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'T') goto yy652;
- if (yych == 't') goto yy652;
- goto yy133;
-yy597:
+ if (yych == 'T') goto yy563;
+ if (yych == 't') goto yy563;
+ goto yy44;
+yy508:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 76);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 72);
continue;
-yy599:
+yy510:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy653;
- if (yych == 'e') goto yy653;
- goto yy133;
-yy600:
+ if (yych == 'E') goto yy564;
+ if (yych == 'e') goto yy564;
+ goto yy44;
+yy511:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 4);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 4);
continue;
-yy602:
+yy513:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 71);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 67);
continue;
-yy604:
+yy515:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 25);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 25);
continue;
-yy606:
+yy517:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'S') goto yy655;
- if (yych == 's') goto yy655;
- goto yy133;
-yy607:
+ if (yych == 'S') goto yy566;
+ if (yych == 's') goto yy566;
+ goto yy44;
+yy518:
YYSKIP ();
yych = YYPEEK ();
- if (yych == '_') goto yy656;
- goto yy133;
-yy608:
+ if (yych == '_') goto yy567;
+ goto yy44;
+yy519:
YYSKIP ();
yych = YYPEEK ();
- if (yych == '_') goto yy658;
- goto yy133;
-yy609:
+ if (yych == '_') goto yy569;
+ goto yy44;
+yy520:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'T') goto yy659;
- if (yych == 't') goto yy659;
- goto yy133;
-yy610:
+ if (yych == 'T') goto yy570;
+ if (yych == 't') goto yy570;
+ goto yy44;
+yy521:
YYSKIP ();
yych = YYPEEK ();
- if (yych == '_') goto yy660;
- goto yy133;
-yy611:
+ if (yych == '_') goto yy571;
+ goto yy44;
+yy522:
YYSKIP ();
yych = YYPEEK ();
- if (yych == '_') goto yy661;
- goto yy133;
-yy612:
+ if (yych == '_') goto yy572;
+ goto yy44;
+yy523:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'O') goto yy662;
- if (yych == 'o') goto yy662;
- goto yy133;
-yy613:
+ if (yych == 'O') goto yy573;
+ if (yych == 'o') goto yy573;
+ goto yy44;
+yy524:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'S') goto yy663;
- if (yych == 's') goto yy663;
- goto yy133;
-yy614:
+ if (yych == 'S') goto yy574;
+ if (yych == 's') goto yy574;
+ goto yy44;
+yy525:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'T') goto yy664;
- if (yych == 't') goto yy664;
- goto yy133;
-yy615:
+ if (yych == 'T') goto yy575;
+ if (yych == 't') goto yy575;
+ goto yy44;
+yy526:
YYSKIP ();
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 55);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 51);
continue;
-yy617:
+yy528:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
if (yych <= 0x1F) {
- if (yych == '\t') goto yy617;
- goto yy171;
+ if (yych == '\t') goto yy528;
+ goto yy82;
} else {
- if (yych <= ' ') goto yy617;
- if (yych == ')') goto yy665;
- goto yy171;
+ if (yych <= ' ') goto yy528;
+ if (yych == ')') goto yy576;
+ goto yy82;
}
-yy619:
+yy530:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'N') goto yy557;
- if (yych == 'n') goto yy557;
- goto yy171;
-yy620:
+ if (yych == 'N') goto yy468;
+ if (yych == 'n') goto yy468;
+ goto yy82;
+yy531:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'R') goto yy469;
- if (yych == 'r') goto yy469;
- goto yy171;
-yy621:
+ if (yych == 'R') goto yy380;
+ if (yych == 'r') goto yy380;
+ goto yy82;
+yy532:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
if (yych <= 0x1F) {
- if (yych == '\t') goto yy621;
- goto yy171;
+ if (yych == '\t') goto yy532;
+ goto yy82;
} else {
- if (yych <= ' ') goto yy621;
- if (yych == ')') goto yy667;
- goto yy171;
+ if (yych <= ' ') goto yy532;
+ if (yych == ')') goto yy578;
+ goto yy82;
}
-yy623:
+yy534:
YYSKIP ();
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 58);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 54);
continue;
-yy625:
+yy536:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'T') goto yy669;
- if (yych == 't') goto yy669;
- goto yy133;
-yy626:
+ if (yych == 'T') goto yy580;
+ if (yych == 't') goto yy580;
+ goto yy44;
+yy537:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy671;
- if (yych == 'e') goto yy671;
- goto yy133;
-yy627:
+ if (yych == 'E') goto yy582;
+ if (yych == 'e') goto yy582;
+ goto yy44;
+yy538:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy673;
- if (yych == 'e') goto yy673;
- goto yy133;
-yy628:
+ if (yych == 'E') goto yy584;
+ if (yych == 'e') goto yy584;
+ goto yy44;
+yy539:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 21);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 21);
continue;
-yy630:
+yy541:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 28);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 28);
continue;
-yy632:
+yy543:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'A') goto yy675;
- if (yych == 'a') goto yy675;
- goto yy133;
-yy633:
+ if (yych == 'A') goto yy586;
+ if (yych == 'a') goto yy586;
+ goto yy44;
+yy544:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'A') goto yy676;
- if (yych == 'a') goto yy676;
- goto yy133;
-yy634:
+ if (yych == 'A') goto yy587;
+ if (yych == 'a') goto yy587;
+ goto yy44;
+yy545:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'C') goto yy677;
- if (yych == 'c') goto yy677;
- goto yy133;
-yy635:
+ if (yych == 'C') goto yy588;
+ if (yych == 'c') goto yy588;
+ goto yy44;
+yy546:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy678;
- if (yych == 'e') goto yy678;
- goto yy133;
-yy636:
+ if (yych == 'E') goto yy589;
+ if (yych == 'e') goto yy589;
+ goto yy44;
+yy547:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 37);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 37);
continue;
-yy638:
+yy549:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 8);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 8);
continue;
-yy640:
+yy551:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 19);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 19);
continue;
-yy642:
+yy553:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'N') goto yy680;
- if (yych == 'n') goto yy680;
- goto yy133;
-yy643:
+ if (yych == 'N') goto yy591;
+ if (yych == 'n') goto yy591;
+ goto yy44;
+yy554:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'N') goto yy682;
- if (yych == 'n') goto yy682;
- goto yy133;
-yy644:
+ if (yych == 'N') goto yy593;
+ if (yych == 'n') goto yy593;
+ goto yy44;
+yy555:
YYSKIP ();
+ yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy645, &&yy645, &&yy645, &&yy645, &&yy645, &&yy645, &&yy645, &&yy645,
- &&yy645, &&yy645, &&yy645, &&yy645, &&yy645, &&yy645, &&yy645, &&yy645,
- &&yy645, &&yy645, &&yy645, &&yy645, &&yy645, &&yy645, &&yy645, &&yy645,
- &&yy645, &&yy645, &&yy645, &&yy645, &&yy645, &&yy645, &&yy645, &&yy645,
- &&yy645, &&yy645, &&yy645, &&yy645, &&yy645, &&yy645, &&yy645, &&yy645,
- &&yy645, &&yy645, &&yy645, &&yy645, &&yy645, &&yy645, &&yy645, &&yy645,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy645, &&yy645, &&yy645, &&yy645, &&yy645, &&yy645,
- &&yy645, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy645, &&yy645, &&yy645, &&yy645, &&yy683,
- &&yy645, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy645, &&yy645, &&yy645, &&yy645, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132
+ &&yy556, &&yy556, &&yy556, &&yy556, &&yy556, &&yy556, &&yy556, &&yy556,
+ &&yy556, &&yy556, &&yy556, &&yy556, &&yy556, &&yy556, &&yy556, &&yy556,
+ &&yy556, &&yy556, &&yy556, &&yy556, &&yy556, &&yy556, &&yy556, &&yy556,
+ &&yy556, &&yy556, &&yy556, &&yy556, &&yy556, &&yy556, &&yy556, &&yy556,
+ &&yy556, &&yy556, &&yy556, &&yy556, &&yy556, &&yy556, &&yy556, &&yy556,
+ &&yy556, &&yy556, &&yy556, &&yy556, &&yy556, &&yy556, &&yy556, &&yy556,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy556, &&yy556, &&yy556, &&yy556, &&yy556, &&yy556,
+ &&yy556, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy556, &&yy556, &&yy556, &&yy556, &&yy594,
+ &&yy556, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy556, &&yy556, &&yy556, &&yy556, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43
};
- goto *yytarget[(yych = YYPEEK ())];
+ goto *yytarget[yych];
}
-yy645:
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 60);
+yy556:
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 56);
continue;
-yy646:
+yy557:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy684;
- if (yych == 'e') goto yy684;
- goto yy133;
-yy647:
+ if (yych == 'E') goto yy595;
+ if (yych == 'e') goto yy595;
+ goto yy44;
+yy558:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'O') goto yy685;
- if (yych == 'o') goto yy685;
- goto yy133;
-yy648:
+ if (yych == 'O') goto yy596;
+ if (yych == 'o') goto yy596;
+ goto yy44;
+yy559:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'C') goto yy686;
- if (yych == 'c') goto yy686;
- goto yy133;
-yy649:
+ if (yych == 'C') goto yy597;
+ if (yych == 'c') goto yy597;
+ goto yy44;
+yy560:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'C') goto yy687;
- if (yych == 'c') goto yy687;
- goto yy133;
-yy650:
+ if (yych == 'C') goto yy598;
+ if (yych == 'c') goto yy598;
+ goto yy44;
+yy561:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 74);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 70);
continue;
-yy652:
+yy563:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy688;
- if (yych == 'e') goto yy688;
- goto yy133;
-yy653:
+ if (yych == 'E') goto yy599;
+ if (yych == 'e') goto yy599;
+ goto yy44;
+yy564:
YYSKIP ();
+ yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy654, &&yy654, &&yy654, &&yy654, &&yy654, &&yy654, &&yy654, &&yy654,
- &&yy654, &&yy654, &&yy654, &&yy654, &&yy654, &&yy654, &&yy654, &&yy654,
- &&yy654, &&yy654, &&yy654, &&yy654, &&yy654, &&yy654, &&yy654, &&yy654,
- &&yy654, &&yy654, &&yy654, &&yy654, &&yy654, &&yy654, &&yy654, &&yy654,
- &&yy654, &&yy654, &&yy654, &&yy654, &&yy654, &&yy654, &&yy654, &&yy654,
- &&yy654, &&yy654, &&yy654, &&yy654, &&yy654, &&yy654, &&yy654, &&yy654,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy654, &&yy654, &&yy654, &&yy654, &&yy654, &&yy654,
- &&yy654, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy654, &&yy654, &&yy654, &&yy654, &&yy689,
- &&yy654, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy654, &&yy654, &&yy654, &&yy654, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132,
- &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132, &&yy132
+ &&yy565, &&yy565, &&yy565, &&yy565, &&yy565, &&yy565, &&yy565, &&yy565,
+ &&yy565, &&yy565, &&yy565, &&yy565, &&yy565, &&yy565, &&yy565, &&yy565,
+ &&yy565, &&yy565, &&yy565, &&yy565, &&yy565, &&yy565, &&yy565, &&yy565,
+ &&yy565, &&yy565, &&yy565, &&yy565, &&yy565, &&yy565, &&yy565, &&yy565,
+ &&yy565, &&yy565, &&yy565, &&yy565, &&yy565, &&yy565, &&yy565, &&yy565,
+ &&yy565, &&yy565, &&yy565, &&yy565, &&yy565, &&yy565, &&yy565, &&yy565,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy565, &&yy565, &&yy565, &&yy565, &&yy565, &&yy565,
+ &&yy565, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy565, &&yy565, &&yy565, &&yy565, &&yy600,
+ &&yy565, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy565, &&yy565, &&yy565, &&yy565, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43,
+ &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43, &&yy43
};
- goto *yytarget[(yych = YYPEEK ())];
+ goto *yytarget[yych];
}
-yy654:
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 62);
+yy565:
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 58);
continue;
-yy655:
+yy566:
YYSKIP ();
yych = YYPEEK ();
- if (yych == '_') goto yy690;
- goto yy133;
-yy656:
+ if (yych == '_') goto yy601;
+ goto yy44;
+yy567:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 130);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 119);
continue;
-yy658:
+yy569:
YYSKIP ();
yych = YYPEEK ();
- if (yych == '_') goto yy691;
- goto yy133;
-yy659:
+ if (yych == '_') goto yy602;
+ goto yy44;
+yy570:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'I') goto yy693;
- if (yych == 'i') goto yy693;
- goto yy133;
-yy660:
+ if (yych == 'I') goto yy604;
+ if (yych == 'i') goto yy604;
+ goto yy44;
+yy571:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'C') goto yy694;
- if (yych == 'c') goto yy694;
- goto yy133;
-yy661:
+ if (yych == 'C') goto yy605;
+ if (yych == 'c') goto yy605;
+ goto yy44;
+yy572:
YYSKIP ();
yych = YYPEEK ();
- if (yych == '_') goto yy695;
- goto yy133;
-yy662:
+ if (yych == '_') goto yy606;
+ goto yy44;
+yy573:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'D') goto yy697;
- if (yych == 'd') goto yy697;
- goto yy133;
-yy663:
+ if (yych == 'D') goto yy608;
+ if (yych == 'd') goto yy608;
+ goto yy44;
+yy574:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'P') goto yy698;
- if (yych == 'p') goto yy698;
- goto yy133;
-yy664:
+ if (yych == 'P') goto yy609;
+ if (yych == 'p') goto yy609;
+ goto yy44;
+yy575:
YYSKIP ();
yych = YYPEEK ();
- if (yych == '_') goto yy699;
- goto yy133;
-yy665:
+ if (yych == '_') goto yy610;
+ goto yy44;
+yy576:
YYSKIP ();
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 54);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 50);
continue;
-yy667:
+yy578:
YYSKIP ();
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 56);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 52);
continue;
-yy669:
+yy580:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 72);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 68);
continue;
-yy671:
+yy582:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 81);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 77);
continue;
-yy673:
+yy584:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 30);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 30);
continue;
-yy675:
+yy586:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'R') goto yy700;
- if (yych == 'r') goto yy700;
- goto yy133;
-yy676:
+ if (yych == 'R') goto yy611;
+ if (yych == 'r') goto yy611;
+ goto yy44;
+yy587:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'C') goto yy701;
- if (yych == 'c') goto yy701;
- goto yy133;
-yy677:
+ if (yych == 'C') goto yy612;
+ if (yych == 'c') goto yy612;
+ goto yy44;
+yy588:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'H') goto yy702;
- if (yych == 'h') goto yy702;
- goto yy133;
-yy678:
+ if (yych == 'H') goto yy613;
+ if (yych == 'h') goto yy613;
+ goto yy44;
+yy589:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 15);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 15);
continue;
-yy680:
+yy591:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 2);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 2);
continue;
-yy682:
+yy593:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'T') goto yy704;
- if (yych == 't') goto yy704;
- goto yy133;
-yy683:
+ if (yych == 'T') goto yy615;
+ if (yych == 't') goto yy615;
+ goto yy44;
+yy594:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'O') goto yy705;
- if (yych == 'o') goto yy705;
- goto yy133;
-yy684:
+ if (yych == 'O') goto yy616;
+ if (yych == 'o') goto yy616;
+ goto yy44;
+yy595:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'O') goto yy706;
- if (yych == 'o') goto yy706;
- goto yy133;
-yy685:
+ if (yych == 'O') goto yy617;
+ if (yych == 'o') goto yy617;
+ goto yy44;
+yy596:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'F') goto yy707;
- if (yych == 'f') goto yy707;
- goto yy133;
-yy686:
+ if (yych == 'F') goto yy618;
+ if (yych == 'f') goto yy618;
+ goto yy44;
+yy597:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy709;
- if (yych == 'e') goto yy709;
- goto yy133;
-yy687:
+ if (yych == 'E') goto yy620;
+ if (yych == 'e') goto yy620;
+ goto yy44;
+yy598:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy711;
- if (yych == 'e') goto yy711;
- goto yy133;
-yy688:
+ if (yych == 'E') goto yy622;
+ if (yych == 'e') goto yy622;
+ goto yy44;
+yy599:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'D') goto yy713;
- if (yych == 'd') goto yy713;
- goto yy133;
-yy689:
+ if (yych == 'D') goto yy624;
+ if (yych == 'd') goto yy624;
+ goto yy44;
+yy600:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'O') goto yy715;
- if (yych == 'o') goto yy715;
- goto yy133;
-yy690:
+ if (yych == 'O') goto yy626;
+ if (yych == 'o') goto yy626;
+ goto yy44;
+yy601:
YYSKIP ();
yych = YYPEEK ();
- if (yych == '_') goto yy716;
- goto yy133;
-yy691:
+ if (yych == '_') goto yy627;
+ goto yy44;
+yy602:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 129);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 118);
continue;
-yy693:
+yy604:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'O') goto yy718;
- if (yych == 'o') goto yy718;
- goto yy133;
-yy694:
+ if (yych == 'O') goto yy629;
+ if (yych == 'o') goto yy629;
+ goto yy44;
+yy605:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'O') goto yy719;
- if (yych == 'o') goto yy719;
- goto yy133;
-yy695:
+ if (yych == 'O') goto yy630;
+ if (yych == 'o') goto yy630;
+ goto yy44;
+yy606:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 128);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 117);
continue;
-yy697:
+yy608:
YYSKIP ();
yych = YYPEEK ();
- if (yych == '_') goto yy720;
- goto yy133;
-yy698:
+ if (yych == '_') goto yy631;
+ goto yy44;
+yy609:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'A') goto yy721;
- if (yych == 'a') goto yy721;
- goto yy133;
-yy699:
+ if (yych == 'A') goto yy632;
+ if (yych == 'a') goto yy632;
+ goto yy44;
+yy610:
YYSKIP ();
yych = YYPEEK ();
- if (yych == '_') goto yy722;
- goto yy133;
-yy700:
+ if (yych == '_') goto yy633;
+ goto yy44;
+yy611:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy724;
- if (yych == 'e') goto yy724;
- goto yy133;
-yy701:
+ if (yych == 'E') goto yy635;
+ if (yych == 'e') goto yy635;
+ goto yy44;
+yy612:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'H') goto yy726;
- if (yych == 'h') goto yy726;
- goto yy133;
-yy702:
+ if (yych == 'H') goto yy637;
+ if (yych == 'h') goto yy637;
+ goto yy44;
+yy613:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 26);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 26);
continue;
-yy704:
+yy615:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'S') goto yy728;
- if (yych == 's') goto yy728;
- goto yy133;
-yy705:
+ if (yych == 'S') goto yy639;
+ if (yych == 's') goto yy639;
+ goto yy44;
+yy616:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'N') goto yy730;
- if (yych == 'n') goto yy730;
- goto yy133;
-yy706:
+ if (yych == 'N') goto yy641;
+ if (yych == 'n') goto yy641;
+ goto yy44;
+yy617:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'F') goto yy731;
- if (yych == 'f') goto yy731;
- goto yy133;
-yy707:
+ if (yych == 'F') goto yy642;
+ if (yych == 'f') goto yy642;
+ goto yy44;
+yy618:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 66);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 62);
continue;
-yy709:
+yy620:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 35);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 35);
continue;
-yy711:
+yy622:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 64);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 60);
continue;
-yy713:
+yy624:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 75);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 71);
continue;
-yy715:
+yy626:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'N') goto yy733;
- if (yych == 'n') goto yy733;
- goto yy133;
-yy716:
+ if (yych == 'N') goto yy644;
+ if (yych == 'n') goto yy644;
+ goto yy44;
+yy627:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 124);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 113);
continue;
-yy718:
+yy629:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'N') goto yy734;
- if (yych == 'n') goto yy734;
- goto yy133;
-yy719:
+ if (yych == 'N') goto yy645;
+ if (yych == 'n') goto yy645;
+ goto yy44;
+yy630:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'M') goto yy735;
- if (yych == 'm') goto yy735;
- goto yy133;
-yy720:
+ if (yych == 'M') goto yy646;
+ if (yych == 'm') goto yy646;
+ goto yy44;
+yy631:
YYSKIP ();
yych = YYPEEK ();
- if (yych == '_') goto yy736;
- goto yy133;
-yy721:
+ if (yych == '_') goto yy647;
+ goto yy44;
+yy632:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'C') goto yy738;
- if (yych == 'c') goto yy738;
- goto yy133;
-yy722:
+ if (yych == 'C') goto yy649;
+ if (yych == 'c') goto yy649;
+ goto yy44;
+yy633:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 125);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 114);
continue;
-yy724:
+yy635:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 22);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 22);
continue;
-yy726:
+yy637:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 20);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 20);
continue;
-yy728:
+yy639:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 38);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 38);
continue;
-yy730:
+yy641:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'C') goto yy739;
- if (yych == 'c') goto yy739;
- goto yy133;
-yy731:
+ if (yych == 'C') goto yy650;
+ if (yych == 'c') goto yy650;
+ goto yy44;
+yy642:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 23);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 23);
continue;
-yy733:
+yy644:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'C') goto yy740;
- if (yych == 'c') goto yy740;
- goto yy133;
-yy734:
+ if (yych == 'C') goto yy651;
+ if (yych == 'c') goto yy651;
+ goto yy44;
+yy645:
YYSKIP ();
yych = YYPEEK ();
- if (yych == '_') goto yy741;
- goto yy133;
-yy735:
+ if (yych == '_') goto yy652;
+ goto yy44;
+yy646:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'P') goto yy742;
- if (yych == 'p') goto yy742;
- goto yy133;
-yy736:
+ if (yych == 'P') goto yy653;
+ if (yych == 'p') goto yy653;
+ goto yy44;
+yy647:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 127);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 116);
continue;
-yy738:
+yy649:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy743;
- if (yych == 'e') goto yy743;
- goto yy133;
-yy739:
+ if (yych == 'E') goto yy654;
+ if (yych == 'e') goto yy654;
+ goto yy44;
+yy650:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy744;
- if (yych == 'e') goto yy744;
- goto yy133;
-yy740:
+ if (yych == 'E') goto yy655;
+ if (yych == 'e') goto yy655;
+ goto yy44;
+yy651:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy746;
- if (yych == 'e') goto yy746;
- goto yy133;
-yy741:
+ if (yych == 'E') goto yy657;
+ if (yych == 'e') goto yy657;
+ goto yy44;
+yy652:
YYSKIP ();
yych = YYPEEK ();
- if (yych == '_') goto yy748;
- goto yy133;
-yy742:
+ if (yych == '_') goto yy659;
+ goto yy44;
+yy653:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'I') goto yy750;
- if (yych == 'i') goto yy750;
- goto yy133;
-yy743:
+ if (yych == 'I') goto yy661;
+ if (yych == 'i') goto yy661;
+ goto yy44;
+yy654:
YYSKIP ();
yych = YYPEEK ();
- if (yych == '_') goto yy751;
- goto yy133;
-yy744:
+ if (yych == '_') goto yy662;
+ goto yy44;
+yy655:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 61);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 57);
continue;
-yy746:
+yy657:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 63);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 59);
continue;
-yy748:
+yy659:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 126);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 115);
continue;
-yy750:
+yy661:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'L') goto yy752;
- if (yych == 'l') goto yy752;
- goto yy133;
-yy751:
+ if (yych == 'L') goto yy663;
+ if (yych == 'l') goto yy663;
+ goto yy44;
+yy662:
YYSKIP ();
yych = YYPEEK ();
- if (yych == '_') goto yy753;
- goto yy133;
-yy752:
+ if (yych == '_') goto yy664;
+ goto yy44;
+yy663:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'E') goto yy755;
- if (yych == 'e') goto yy755;
- goto yy133;
-yy753:
+ if (yych == 'E') goto yy666;
+ if (yych == 'e') goto yy666;
+ goto yy44;
+yy664:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 131);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 120);
continue;
-yy755:
+yy666:
YYSKIP ();
yych = YYPEEK ();
- if (yych == 'R') goto yy756;
- if (yych != 'r') goto yy133;
-yy756:
+ if (yych == 'R') goto yy667;
+ if (yych != 'r') goto yy44;
+yy667:
YYSKIP ();
- if (yybm[0+(yych = YYPEEK ())] & 16) {
- goto yy132;
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 16) {
+ goto yy43;
}
- status = action_line2358_ST_IN_SCRIPTING(i, keys, input, token, &cursor, 70);
+ status = check_key_count_line2358_ST_IN_SCRIPTING(keys_count, i, 3)
+ || action_line2358_ST_IN_SCRIPTING(&i, keys, input, token, &cursor, 66);
continue;
}
@@ -5966,7 +5074,7 @@ yy756:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line2358_ST_IN_SCRIPTING: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line2358_ST_IN_SCRIPTING: unused keys left after %u keys\n", i);
}
}
@@ -5994,7 +5102,7 @@ end:
#define YYFILL(n) { break; }
static int action_line2358_ST_LOOKING_FOR_PROPERTY
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -6002,10 +5110,12 @@ static int action_line2358_ST_LOOKING_FOR_PROPERTY
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -6015,17 +5125,17 @@ static int action_line2358_ST_LOOKING_FOR_PROPERTY
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line2358_ST_LOOKING_FOR_PROPERTY: at position %ld (iteration %u):\n"
+ , "error: lex_line2358_ST_LOOKING_FOR_PROPERTY: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -6035,6 +5145,13 @@ static int action_line2358_ST_LOOKING_FOR_PROPERTY
}
}
+static int check_key_count_line2358_ST_LOOKING_FOR_PROPERTY(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line2358_ST_LOOKING_FOR_PROPERTY: not enough keys\n");
+ return 1;
+}
+
int lex_line2358_ST_LOOKING_FOR_PROPERTY()
{
const size_t padding = 2; /* YYMAXFILL */
@@ -6062,7 +5179,7 @@ int lex_line2358_ST_LOOKING_FOR_PROPERTY()
keys = (YYKEYTYPE *) read_file
("php20150211_zend_language_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line2358_ST_LOOKING_FOR_PROPERTY.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -6075,7 +5192,7 @@ int lex_line2358_ST_LOOKING_FOR_PROPERTY()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
static const unsigned char yybm[] = {
@@ -6117,72 +5234,76 @@ int lex_line2358_ST_LOOKING_FOR_PROPERTY()
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761,
- &&yy761, &&yy763, &&yy763, &&yy761, &&yy761, &&yy763, &&yy761, &&yy761,
- &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761,
- &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761,
- &&yy763, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761,
- &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy766, &&yy761, &&yy761,
- &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761,
- &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761, &&yy761,
- &&yy761, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767,
- &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767,
- &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767,
- &&yy767, &&yy767, &&yy767, &&yy761, &&yy761, &&yy761, &&yy761, &&yy767,
- &&yy761, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767,
- &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767,
- &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767,
- &&yy767, &&yy767, &&yy767, &&yy761, &&yy761, &&yy761, &&yy761, &&yy767,
- &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767,
- &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767,
- &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767,
- &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767,
- &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767,
- &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767,
- &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767,
- &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767,
- &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767,
- &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767,
- &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767,
- &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767,
- &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767,
- &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767,
- &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767,
- &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767, &&yy767
+ &&yy672, &&yy672, &&yy672, &&yy672, &&yy672, &&yy672, &&yy672, &&yy672,
+ &&yy672, &&yy674, &&yy674, &&yy672, &&yy672, &&yy674, &&yy672, &&yy672,
+ &&yy672, &&yy672, &&yy672, &&yy672, &&yy672, &&yy672, &&yy672, &&yy672,
+ &&yy672, &&yy672, &&yy672, &&yy672, &&yy672, &&yy672, &&yy672, &&yy672,
+ &&yy674, &&yy672, &&yy672, &&yy672, &&yy672, &&yy672, &&yy672, &&yy672,
+ &&yy672, &&yy672, &&yy672, &&yy672, &&yy672, &&yy677, &&yy672, &&yy672,
+ &&yy672, &&yy672, &&yy672, &&yy672, &&yy672, &&yy672, &&yy672, &&yy672,
+ &&yy672, &&yy672, &&yy672, &&yy672, &&yy672, &&yy672, &&yy672, &&yy672,
+ &&yy672, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678,
+ &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678,
+ &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678,
+ &&yy678, &&yy678, &&yy678, &&yy672, &&yy672, &&yy672, &&yy672, &&yy678,
+ &&yy672, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678,
+ &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678,
+ &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678,
+ &&yy678, &&yy678, &&yy678, &&yy672, &&yy672, &&yy672, &&yy672, &&yy678,
+ &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678,
+ &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678,
+ &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678,
+ &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678,
+ &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678,
+ &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678,
+ &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678,
+ &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678,
+ &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678,
+ &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678,
+ &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678,
+ &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678,
+ &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678,
+ &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678,
+ &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678,
+ &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678, &&yy678
};
goto *yytarget[yych];
}
-yy761:
+yy672:
YYSKIP ();
-yy762:
- status = action_line2358_ST_LOOKING_FOR_PROPERTY(i, keys, input, token, &cursor, 44);
+yy673:
+ status = check_key_count_line2358_ST_LOOKING_FOR_PROPERTY(keys_count, i, 3)
+ || action_line2358_ST_LOOKING_FOR_PROPERTY(&i, keys, input, token, &cursor, 3);
continue;
-yy763:
+yy674:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
if (yybm[0+yych] & 64) {
- goto yy763;
+ goto yy674;
}
- status = action_line2358_ST_LOOKING_FOR_PROPERTY(i, keys, input, token, &cursor, 41);
+ status = check_key_count_line2358_ST_LOOKING_FOR_PROPERTY(keys_count, i, 3)
+ || action_line2358_ST_LOOKING_FOR_PROPERTY(&i, keys, input, token, &cursor, 0);
continue;
-yy766:
+yy677:
YYSKIP ();
yych = YYPEEK ();
- if (yych == '>') goto yy770;
- goto yy762;
-yy767:
+ if (yych == '>') goto yy681;
+ goto yy673;
+yy678:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
if (yybm[0+yych] & 128) {
- goto yy767;
+ goto yy678;
}
- status = action_line2358_ST_LOOKING_FOR_PROPERTY(i, keys, input, token, &cursor, 43);
+ status = check_key_count_line2358_ST_LOOKING_FOR_PROPERTY(keys_count, i, 3)
+ || action_line2358_ST_LOOKING_FOR_PROPERTY(&i, keys, input, token, &cursor, 2);
continue;
-yy770:
+yy681:
YYSKIP ();
- status = action_line2358_ST_LOOKING_FOR_PROPERTY(i, keys, input, token, &cursor, 42);
+ status = check_key_count_line2358_ST_LOOKING_FOR_PROPERTY(keys_count, i, 3)
+ || action_line2358_ST_LOOKING_FOR_PROPERTY(&i, keys, input, token, &cursor, 1);
continue;
}
@@ -6194,7 +5315,7 @@ yy770:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line2358_ST_LOOKING_FOR_PROPERTY: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line2358_ST_LOOKING_FOR_PROPERTY: unused keys left after %u keys\n", i);
}
}
@@ -6221,8 +5342,8 @@ end:
#define YYLESSTHAN(n) (limit - cursor) < n
#define YYFILL(n) { break; }
-static int action_line2358_ST_LOOKING_FOR_VARNAME
- ( unsigned int i
+static int action_line2358_ST_BACKQUOTE
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -6230,30 +5351,32 @@ static int action_line2358_ST_LOOKING_FOR_VARNAME
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
- , "warning: lex_line2358_ST_LOOKING_FOR_VARNAME: control flow is undefined for input"
+ , "warning: lex_line2358_ST_BACKQUOTE: control flow is undefined for input"
" at position %ld, rerun re2c with '-W'\n"
, pos
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line2358_ST_LOOKING_FOR_VARNAME: at position %ld (iteration %u):\n"
+ , "error: lex_line2358_ST_BACKQUOTE: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -6263,9 +5386,16 @@ static int action_line2358_ST_LOOKING_FOR_VARNAME
}
}
-int lex_line2358_ST_LOOKING_FOR_VARNAME()
+static int check_key_count_line2358_ST_BACKQUOTE(unsigned have, unsigned used, unsigned need)
{
- const size_t padding = 2; /* YYMAXFILL */
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line2358_ST_BACKQUOTE: not enough keys\n");
+ return 1;
+}
+
+int lex_line2358_ST_BACKQUOTE()
+{
+ const size_t padding = 3; /* YYMAXFILL */
int status = 0;
size_t input_len = 0;
size_t keys_count = 0;
@@ -6278,7 +5408,7 @@ int lex_line2358_ST_LOOKING_FOR_VARNAME()
unsigned int i = 0;
input = (YYCTYPE *) read_file
- ("php20150211_zend_language_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line2358_ST_LOOKING_FOR_VARNAME.input"
+ ("php20150211_zend_language_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line2358_ST_BACKQUOTE.input"
, sizeof (YYCTYPE)
, padding
, &input_len
@@ -6289,8 +5419,8 @@ int lex_line2358_ST_LOOKING_FOR_VARNAME()
}
keys = (YYKEYTYPE *) read_file
- ("php20150211_zend_language_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line2358_ST_LOOKING_FOR_VARNAME.keys"
- , 3 * sizeof (YYKEYTYPE)
+ ("php20150211_zend_language_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line2358_ST_BACKQUOTE.keys"
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -6303,7 +5433,7 @@ int lex_line2358_ST_LOOKING_FOR_VARNAME()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -6345,77 +5475,405 @@ int lex_line2358_ST_LOOKING_FOR_VARNAME()
if (YYLESSTHAN (2)) YYFILL(2);
yych = YYPEEK ();
if (yych <= '_') {
- if (yych <= '@') goto yy775;
- if (yych <= 'Z') goto yy777;
- if (yych >= '_') goto yy777;
+ if (yych == '$') goto yy688;
} else {
- if (yych <= '`') goto yy775;
- if (yych <= 'z') goto yy777;
- if (yych >= 0x7F) goto yy777;
+ if (yych <= '`') goto yy689;
+ if (yych == '{') goto yy691;
}
-yy775:
YYSKIP ();
-yy776:
- status = action_line2358_ST_LOOKING_FOR_VARNAME(i, keys, input, token, &cursor, 117);
+yy687:
+ status = check_key_count_line2358_ST_BACKQUOTE(keys_count, i, 3)
+ || action_line2358_ST_BACKQUOTE(&i, keys, input, token, &cursor, 6);
+ continue;
+yy688:
+ YYSKIP ();
+ yych = YYPEEK ();
+ {
+ static void *yytarget[256] = {
+ &&yy687, &&yy687, &&yy687, &&yy687, &&yy687, &&yy687, &&yy687, &&yy687,
+ &&yy687, &&yy687, &&yy687, &&yy687, &&yy687, &&yy687, &&yy687, &&yy687,
+ &&yy687, &&yy687, &&yy687, &&yy687, &&yy687, &&yy687, &&yy687, &&yy687,
+ &&yy687, &&yy687, &&yy687, &&yy687, &&yy687, &&yy687, &&yy687, &&yy687,
+ &&yy687, &&yy687, &&yy687, &&yy687, &&yy687, &&yy687, &&yy687, &&yy687,
+ &&yy687, &&yy687, &&yy687, &&yy687, &&yy687, &&yy687, &&yy687, &&yy687,
+ &&yy687, &&yy687, &&yy687, &&yy687, &&yy687, &&yy687, &&yy687, &&yy687,
+ &&yy687, &&yy687, &&yy687, &&yy687, &&yy687, &&yy687, &&yy687, &&yy687,
+ &&yy687, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692,
+ &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692,
+ &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692,
+ &&yy692, &&yy692, &&yy692, &&yy687, &&yy687, &&yy687, &&yy687, &&yy692,
+ &&yy687, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692,
+ &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692,
+ &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692,
+ &&yy692, &&yy692, &&yy692, &&yy695, &&yy687, &&yy687, &&yy687, &&yy692,
+ &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692,
+ &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692,
+ &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692,
+ &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692,
+ &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692,
+ &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692,
+ &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692,
+ &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692,
+ &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692,
+ &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692,
+ &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692,
+ &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692,
+ &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692,
+ &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692,
+ &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692,
+ &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692, &&yy692
+ };
+ goto *yytarget[yych];
+ }
+yy689:
+ YYSKIP ();
+ status = check_key_count_line2358_ST_BACKQUOTE(keys_count, i, 3)
+ || action_line2358_ST_BACKQUOTE(&i, keys, input, token, &cursor, 5);
continue;
-yy777:
+yy691:
+ YYSKIP ();
+ yych = YYPEEK ();
+ if (yych == '$') goto yy697;
+ goto yy687;
+yy692:
YYSKIP ();
YYBACKUP ();
+ if (YYLESSTHAN (3)) YYFILL(3);
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 128) {
+ goto yy692;
+ }
+ if (yych == '-') goto yy699;
+ if (yych <= '@') goto yy694;
+ if (yych <= '[') goto yy701;
+yy694:
+ status = check_key_count_line2358_ST_BACKQUOTE(keys_count, i, 3)
+ || action_line2358_ST_BACKQUOTE(&i, keys, input, token, &cursor, 3);
+ continue;
+yy695:
+ YYSKIP ();
+ status = check_key_count_line2358_ST_BACKQUOTE(keys_count, i, 3)
+ || action_line2358_ST_BACKQUOTE(&i, keys, input, token, &cursor, 0);
+ continue;
+yy697:
+ YYSKIP ();
+ status = check_key_count_line2358_ST_BACKQUOTE(keys_count, i, 3)
+ || action_line2358_ST_BACKQUOTE(&i, keys, input, token, &cursor, 4);
+ continue;
+yy699:
+ YYSKIP ();
+ yych = YYPEEK ();
+ if (yych == '>') goto yy703;
+yy700:
+ YYRESTORE ();
+ goto yy694;
+yy701:
+ YYSKIP ();
+ status = check_key_count_line2358_ST_BACKQUOTE(keys_count, i, 3)
+ || action_line2358_ST_BACKQUOTE(&i, keys, input, token, &cursor, 2);
+ continue;
+yy703:
+ YYSKIP ();
+ yych = YYPEEK ();
+ if (yych <= '_') {
+ if (yych <= '@') goto yy700;
+ if (yych <= 'Z') goto yy704;
+ if (yych <= '^') goto yy700;
+ } else {
+ if (yych <= '`') goto yy700;
+ if (yych <= 'z') goto yy704;
+ if (yych <= '~') goto yy700;
+ }
+yy704:
+ YYSKIP ();
+ status = check_key_count_line2358_ST_BACKQUOTE(keys_count, i, 3)
+ || action_line2358_ST_BACKQUOTE(&i, keys, input, token, &cursor, 1);
+ continue;
+
+ }
+ if (status == 0) {
+ if (cursor != eof) {
+ status = 1;
+ const long pos = token - input;
+ fprintf(stderr, "error: lex_line2358_ST_BACKQUOTE: unused input strings left at position %ld\n", pos);
+ }
+ if (i != keys_count) {
+ status = 1;
+ fprintf(stderr, "error: lex_line2358_ST_BACKQUOTE: unused keys left after %u keys\n", i);
+ }
+ }
+
+end:
+ free(input);
+ free(keys);
+
+ return status;
+}
+
+#undef YYCTYPE
+#undef YYKEYTYPE
+#undef YYPEEK
+#undef YYSKIP
+#undef YYBACKUP
+#undef YYRESTORE
+#undef YYLESSTHAN
+#undef YYFILL
+
+#define YYCTYPE unsigned char
+#define YYKEYTYPE unsigned char
+#define YYPEEK() *cursor
+#define YYSKIP() ++cursor
+#define YYBACKUP() marker = cursor
+#define YYRESTORE() cursor = marker
+#define YYLESSTHAN(n) (limit - cursor) < n
+#define YYFILL(n) { break; }
+
+static int action_line2358_ST_DOUBLE_QUOTES
+ ( unsigned *pkix
+ , const YYKEYTYPE *keys
+ , const YYCTYPE *start
+ , const YYCTYPE *token
+ , const YYCTYPE **cursor
+ , YYKEYTYPE rule_act
+ )
+{
+ const unsigned kix = *pkix;
+ const long pos = token - start;
+ const long len_act = *cursor - token;
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
+ if (rule_exp == 255) {
+ fprintf
+ ( stderr
+ , "warning: lex_line2358_ST_DOUBLE_QUOTES: control flow is undefined for input"
+ " at position %ld, rerun re2c with '-W'\n"
+ , pos
+ );
+ }
+ if (len_act == len_exp && rule_act == rule_exp) {
+ const YYKEYTYPE offset = keys[kix];
+ *cursor = token + offset;
+ return 0;
+ } else {
+ fprintf
+ ( stderr
+ , "error: lex_line2358_ST_DOUBLE_QUOTES: at position %ld (key %u):\n"
+ "\texpected: match length %ld, rule %u\n"
+ "\tactual: match length %ld, rule %u\n"
+ , pos
+ , kix
+ , len_exp
+ , rule_exp
+ , len_act
+ , rule_act
+ );
+ return 1;
+ }
+}
+
+static int check_key_count_line2358_ST_DOUBLE_QUOTES(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line2358_ST_DOUBLE_QUOTES: not enough keys\n");
+ return 1;
+}
+
+int lex_line2358_ST_DOUBLE_QUOTES()
+{
+ const size_t padding = 3; /* YYMAXFILL */
+ int status = 0;
+ size_t input_len = 0;
+ size_t keys_count = 0;
+ YYCTYPE *input = NULL;
+ YYKEYTYPE *keys = NULL;
+ const YYCTYPE *cursor = NULL;
+ const YYCTYPE *limit = NULL;
+ const YYCTYPE *token = NULL;
+ const YYCTYPE *eof = NULL;
+ unsigned int i = 0;
+
+ input = (YYCTYPE *) read_file
+ ("php20150211_zend_language_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line2358_ST_DOUBLE_QUOTES.input"
+ , sizeof (YYCTYPE)
+ , padding
+ , &input_len
+ );
+ if (input == NULL) {
+ status = 1;
+ goto end;
+ }
+
+ keys = (YYKEYTYPE *) read_file
+ ("php20150211_zend_language_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line2358_ST_DOUBLE_QUOTES.keys"
+ , sizeof (YYKEYTYPE)
+ , 0
+ , &keys_count
+ );
+ if (keys == NULL) {
+ status = 1;
+ goto end;
+ }
+
+ cursor = input;
+ limit = input + input_len + padding;
+ eof = input + input_len;
+
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
+ token = cursor;
+ const YYCTYPE *marker = NULL;
+ YYCTYPE yych;
+ static const unsigned char yybm[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 0, 0, 0, 0, 0, 0,
+ 0, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 0, 0, 0, 0, 128,
+ 0, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 0, 0, 0, 0, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ };
+
+ if (YYLESSTHAN (2)) YYFILL(2);
+ yych = YYPEEK ();
+ if (yych <= '#') {
+ if (yych == '"') goto yy711;
+ } else {
+ if (yych <= '$') goto yy713;
+ if (yych == '{') goto yy714;
+ }
+ YYSKIP ();
+yy710:
+ status = check_key_count_line2358_ST_DOUBLE_QUOTES(keys_count, i, 3)
+ || action_line2358_ST_DOUBLE_QUOTES(&i, keys, input, token, &cursor, 6);
+ continue;
+yy711:
+ YYSKIP ();
+ status = check_key_count_line2358_ST_DOUBLE_QUOTES(keys_count, i, 3)
+ || action_line2358_ST_DOUBLE_QUOTES(&i, keys, input, token, &cursor, 5);
+ continue;
+yy713:
+ YYSKIP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy776, &&yy776, &&yy776, &&yy776, &&yy776, &&yy776, &&yy776, &&yy776,
- &&yy776, &&yy776, &&yy776, &&yy776, &&yy776, &&yy776, &&yy776, &&yy776,
- &&yy776, &&yy776, &&yy776, &&yy776, &&yy776, &&yy776, &&yy776, &&yy776,
- &&yy776, &&yy776, &&yy776, &&yy776, &&yy776, &&yy776, &&yy776, &&yy776,
- &&yy776, &&yy776, &&yy776, &&yy776, &&yy776, &&yy776, &&yy776, &&yy776,
- &&yy776, &&yy776, &&yy776, &&yy776, &&yy776, &&yy776, &&yy776, &&yy776,
- &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779,
- &&yy779, &&yy779, &&yy776, &&yy776, &&yy776, &&yy776, &&yy776, &&yy776,
- &&yy776, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779,
- &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779,
- &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779,
- &&yy779, &&yy779, &&yy779, &&yy779, &&yy776, &&yy776, &&yy776, &&yy779,
- &&yy776, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779,
- &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779,
- &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779,
- &&yy779, &&yy779, &&yy779, &&yy776, &&yy776, &&yy779, &&yy776, &&yy779,
- &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779,
- &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779,
- &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779,
- &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779,
- &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779,
- &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779,
- &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779,
- &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779,
- &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779,
- &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779,
- &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779,
- &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779,
- &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779,
- &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779,
- &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779,
- &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779, &&yy779
+ &&yy710, &&yy710, &&yy710, &&yy710, &&yy710, &&yy710, &&yy710, &&yy710,
+ &&yy710, &&yy710, &&yy710, &&yy710, &&yy710, &&yy710, &&yy710, &&yy710,
+ &&yy710, &&yy710, &&yy710, &&yy710, &&yy710, &&yy710, &&yy710, &&yy710,
+ &&yy710, &&yy710, &&yy710, &&yy710, &&yy710, &&yy710, &&yy710, &&yy710,
+ &&yy710, &&yy710, &&yy710, &&yy710, &&yy710, &&yy710, &&yy710, &&yy710,
+ &&yy710, &&yy710, &&yy710, &&yy710, &&yy710, &&yy710, &&yy710, &&yy710,
+ &&yy710, &&yy710, &&yy710, &&yy710, &&yy710, &&yy710, &&yy710, &&yy710,
+ &&yy710, &&yy710, &&yy710, &&yy710, &&yy710, &&yy710, &&yy710, &&yy710,
+ &&yy710, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715,
+ &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715,
+ &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715,
+ &&yy715, &&yy715, &&yy715, &&yy710, &&yy710, &&yy710, &&yy710, &&yy715,
+ &&yy710, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715,
+ &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715,
+ &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715,
+ &&yy715, &&yy715, &&yy715, &&yy718, &&yy710, &&yy710, &&yy710, &&yy715,
+ &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715,
+ &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715,
+ &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715,
+ &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715,
+ &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715,
+ &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715,
+ &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715,
+ &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715,
+ &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715,
+ &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715,
+ &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715,
+ &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715,
+ &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715,
+ &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715,
+ &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715,
+ &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715, &&yy715
};
goto *yytarget[yych];
}
-yy778:
+yy714:
YYSKIP ();
- if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
-yy779:
+ if (yych == '$') goto yy720;
+ goto yy710;
+yy715:
+ YYSKIP ();
+ YYBACKUP ();
+ if (YYLESSTHAN (3)) YYFILL(3);
+ yych = YYPEEK ();
if (yybm[0+yych] & 128) {
- goto yy778;
+ goto yy715;
}
- if (yych <= '@') goto yy780;
- if (yych <= '[') goto yy781;
- if (yych == '}') goto yy781;
-yy780:
+ if (yych == '-') goto yy722;
+ if (yych <= '@') goto yy717;
+ if (yych <= '[') goto yy724;
+yy717:
+ status = check_key_count_line2358_ST_DOUBLE_QUOTES(keys_count, i, 3)
+ || action_line2358_ST_DOUBLE_QUOTES(&i, keys, input, token, &cursor, 3);
+ continue;
+yy718:
+ YYSKIP ();
+ status = check_key_count_line2358_ST_DOUBLE_QUOTES(keys_count, i, 3)
+ || action_line2358_ST_DOUBLE_QUOTES(&i, keys, input, token, &cursor, 0);
+ continue;
+yy720:
+ YYSKIP ();
+ status = check_key_count_line2358_ST_DOUBLE_QUOTES(keys_count, i, 3)
+ || action_line2358_ST_DOUBLE_QUOTES(&i, keys, input, token, &cursor, 4);
+ continue;
+yy722:
+ YYSKIP ();
+ yych = YYPEEK ();
+ if (yych == '>') goto yy726;
+yy723:
YYRESTORE ();
- goto yy776;
-yy781:
+ goto yy717;
+yy724:
YYSKIP ();
- status = action_line2358_ST_LOOKING_FOR_VARNAME(i, keys, input, token, &cursor, 116);
+ status = check_key_count_line2358_ST_DOUBLE_QUOTES(keys_count, i, 3)
+ || action_line2358_ST_DOUBLE_QUOTES(&i, keys, input, token, &cursor, 2);
+ continue;
+yy726:
+ YYSKIP ();
+ yych = YYPEEK ();
+ if (yych <= '_') {
+ if (yych <= '@') goto yy723;
+ if (yych <= 'Z') goto yy727;
+ if (yych <= '^') goto yy723;
+ } else {
+ if (yych <= '`') goto yy723;
+ if (yych <= 'z') goto yy727;
+ if (yych <= '~') goto yy723;
+ }
+yy727:
+ YYSKIP ();
+ status = check_key_count_line2358_ST_DOUBLE_QUOTES(keys_count, i, 3)
+ || action_line2358_ST_DOUBLE_QUOTES(&i, keys, input, token, &cursor, 1);
continue;
}
@@ -6423,11 +5881,11 @@ yy781:
if (cursor != eof) {
status = 1;
const long pos = token - input;
- fprintf(stderr, "error: lex_line2358_ST_LOOKING_FOR_VARNAME: unused input strings left at position %ld\n", pos);
+ fprintf(stderr, "error: lex_line2358_ST_DOUBLE_QUOTES: unused input strings left at position %ld\n", pos);
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line2358_ST_LOOKING_FOR_VARNAME: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line2358_ST_DOUBLE_QUOTES: unused keys left after %u keys\n", i);
}
}
@@ -6451,11 +5909,13 @@ end:
#define YYKEYTYPE unsigned char
#define YYPEEK() *cursor
#define YYSKIP() ++cursor
+#define YYBACKUP() marker = cursor
+#define YYRESTORE() cursor = marker
#define YYLESSTHAN(n) (limit - cursor) < n
#define YYFILL(n) { break; }
-static int action_line2358_ST_NOWDOC
- ( unsigned int i
+static int action_line2358_ST_HEREDOC
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -6463,30 +5923,32 @@ static int action_line2358_ST_NOWDOC
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
- , "warning: lex_line2358_ST_NOWDOC: control flow is undefined for input"
+ , "warning: lex_line2358_ST_HEREDOC: control flow is undefined for input"
" at position %ld, rerun re2c with '-W'\n"
, pos
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line2358_ST_NOWDOC: at position %ld (iteration %u):\n"
+ , "error: lex_line2358_ST_HEREDOC: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -6496,9 +5958,16 @@ static int action_line2358_ST_NOWDOC
}
}
-int lex_line2358_ST_NOWDOC()
+static int check_key_count_line2358_ST_HEREDOC(unsigned have, unsigned used, unsigned need)
{
- const size_t padding = 1; /* YYMAXFILL */
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line2358_ST_HEREDOC: not enough keys\n");
+ return 1;
+}
+
+int lex_line2358_ST_HEREDOC()
+{
+ const size_t padding = 3; /* YYMAXFILL */
int status = 0;
size_t input_len = 0;
size_t keys_count = 0;
@@ -6511,7 +5980,7 @@ int lex_line2358_ST_NOWDOC()
unsigned int i = 0;
input = (YYCTYPE *) read_file
- ("php20150211_zend_language_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line2358_ST_NOWDOC.input"
+ ("php20150211_zend_language_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line2358_ST_HEREDOC.input"
, sizeof (YYCTYPE)
, padding
, &input_len
@@ -6522,8 +5991,8 @@ int lex_line2358_ST_NOWDOC()
}
keys = (YYKEYTYPE *) read_file
- ("php20150211_zend_language_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line2358_ST_NOWDOC.keys"
- , 3 * sizeof (YYKEYTYPE)
+ ("php20150211_zend_language_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line2358_ST_HEREDOC.keys"
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -6536,14 +6005,398 @@ int lex_line2358_ST_NOWDOC()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
+ const YYCTYPE *marker = NULL;
YYCTYPE yych;
+ static const unsigned char yybm[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 0, 0, 0, 0, 0, 0,
+ 0, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 0, 0, 0, 0, 128,
+ 0, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 0, 0, 0, 0, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ };
+
+ if (YYLESSTHAN (2)) YYFILL(2);
+ yych = YYPEEK ();
+ if (yych == '$') goto yy734;
+ if (yych == '{') goto yy735;
+ YYSKIP ();
+yy733:
+ status = check_key_count_line2358_ST_HEREDOC(keys_count, i, 3)
+ || action_line2358_ST_HEREDOC(&i, keys, input, token, &cursor, 5);
+ continue;
+yy734:
+ YYSKIP ();
+ yych = YYPEEK ();
+ {
+ static void *yytarget[256] = {
+ &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733,
+ &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733,
+ &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733,
+ &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733,
+ &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733,
+ &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733,
+ &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733,
+ &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733, &&yy733,
+ &&yy733, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy733, &&yy733, &&yy733, &&yy733, &&yy736,
+ &&yy733, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy739, &&yy733, &&yy733, &&yy733, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736,
+ &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736, &&yy736
+ };
+ goto *yytarget[yych];
+ }
+yy735:
+ YYSKIP ();
+ yych = YYPEEK ();
+ if (yych == '$') goto yy741;
+ goto yy733;
+yy736:
+ YYSKIP ();
+ YYBACKUP ();
+ if (YYLESSTHAN (3)) YYFILL(3);
+ yych = YYPEEK ();
+ if (yybm[0+yych] & 128) {
+ goto yy736;
+ }
+ if (yych == '-') goto yy743;
+ if (yych <= '@') goto yy738;
+ if (yych <= '[') goto yy745;
+yy738:
+ status = check_key_count_line2358_ST_HEREDOC(keys_count, i, 3)
+ || action_line2358_ST_HEREDOC(&i, keys, input, token, &cursor, 3);
+ continue;
+yy739:
+ YYSKIP ();
+ status = check_key_count_line2358_ST_HEREDOC(keys_count, i, 3)
+ || action_line2358_ST_HEREDOC(&i, keys, input, token, &cursor, 0);
+ continue;
+yy741:
+ YYSKIP ();
+ status = check_key_count_line2358_ST_HEREDOC(keys_count, i, 3)
+ || action_line2358_ST_HEREDOC(&i, keys, input, token, &cursor, 4);
+ continue;
+yy743:
+ YYSKIP ();
+ yych = YYPEEK ();
+ if (yych == '>') goto yy747;
+yy744:
+ YYRESTORE ();
+ goto yy738;
+yy745:
+ YYSKIP ();
+ status = check_key_count_line2358_ST_HEREDOC(keys_count, i, 3)
+ || action_line2358_ST_HEREDOC(&i, keys, input, token, &cursor, 2);
+ continue;
+yy747:
+ YYSKIP ();
+ yych = YYPEEK ();
+ if (yych <= '_') {
+ if (yych <= '@') goto yy744;
+ if (yych <= 'Z') goto yy748;
+ if (yych <= '^') goto yy744;
+ } else {
+ if (yych <= '`') goto yy744;
+ if (yych <= 'z') goto yy748;
+ if (yych <= '~') goto yy744;
+ }
+yy748:
+ YYSKIP ();
+ status = check_key_count_line2358_ST_HEREDOC(keys_count, i, 3)
+ || action_line2358_ST_HEREDOC(&i, keys, input, token, &cursor, 1);
+ continue;
+ }
+ if (status == 0) {
+ if (cursor != eof) {
+ status = 1;
+ const long pos = token - input;
+ fprintf(stderr, "error: lex_line2358_ST_HEREDOC: unused input strings left at position %ld\n", pos);
+ }
+ if (i != keys_count) {
+ status = 1;
+ fprintf(stderr, "error: lex_line2358_ST_HEREDOC: unused keys left after %u keys\n", i);
+ }
+ }
+
+end:
+ free(input);
+ free(keys);
+
+ return status;
+}
+
+#undef YYCTYPE
+#undef YYKEYTYPE
+#undef YYPEEK
+#undef YYSKIP
+#undef YYBACKUP
+#undef YYRESTORE
+#undef YYLESSTHAN
+#undef YYFILL
+
+#define YYCTYPE unsigned char
+#define YYKEYTYPE unsigned char
+#define YYPEEK() *cursor
+#define YYSKIP() ++cursor
+#define YYBACKUP() marker = cursor
+#define YYRESTORE() cursor = marker
+#define YYLESSTHAN(n) (limit - cursor) < n
+#define YYFILL(n) { break; }
+
+static int action_line2358_ST_LOOKING_FOR_VARNAME
+ ( unsigned *pkix
+ , const YYKEYTYPE *keys
+ , const YYCTYPE *start
+ , const YYCTYPE *token
+ , const YYCTYPE **cursor
+ , YYKEYTYPE rule_act
+ )
+{
+ const unsigned kix = *pkix;
+ const long pos = token - start;
+ const long len_act = *cursor - token;
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
+ if (rule_exp == 255) {
+ fprintf
+ ( stderr
+ , "warning: lex_line2358_ST_LOOKING_FOR_VARNAME: control flow is undefined for input"
+ " at position %ld, rerun re2c with '-W'\n"
+ , pos
+ );
+ }
+ if (len_act == len_exp && rule_act == rule_exp) {
+ const YYKEYTYPE offset = keys[kix];
+ *cursor = token + offset;
+ return 0;
+ } else {
+ fprintf
+ ( stderr
+ , "error: lex_line2358_ST_LOOKING_FOR_VARNAME: at position %ld (key %u):\n"
+ "\texpected: match length %ld, rule %u\n"
+ "\tactual: match length %ld, rule %u\n"
+ , pos
+ , kix
+ , len_exp
+ , rule_exp
+ , len_act
+ , rule_act
+ );
+ return 1;
+ }
+}
+
+static int check_key_count_line2358_ST_LOOKING_FOR_VARNAME(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line2358_ST_LOOKING_FOR_VARNAME: not enough keys\n");
+ return 1;
+}
+
+int lex_line2358_ST_LOOKING_FOR_VARNAME()
+{
+ const size_t padding = 2; /* YYMAXFILL */
+ int status = 0;
+ size_t input_len = 0;
+ size_t keys_count = 0;
+ YYCTYPE *input = NULL;
+ YYKEYTYPE *keys = NULL;
+ const YYCTYPE *cursor = NULL;
+ const YYCTYPE *limit = NULL;
+ const YYCTYPE *token = NULL;
+ const YYCTYPE *eof = NULL;
+ unsigned int i = 0;
+
+ input = (YYCTYPE *) read_file
+ ("php20150211_zend_language_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line2358_ST_LOOKING_FOR_VARNAME.input"
+ , sizeof (YYCTYPE)
+ , padding
+ , &input_len
+ );
+ if (input == NULL) {
+ status = 1;
+ goto end;
+ }
+
+ keys = (YYKEYTYPE *) read_file
+ ("php20150211_zend_language_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line2358_ST_LOOKING_FOR_VARNAME.keys"
+ , sizeof (YYKEYTYPE)
+ , 0
+ , &keys_count
+ );
+ if (keys == NULL) {
+ status = 1;
+ goto end;
+ }
+
+ cursor = input;
+ limit = input + input_len + padding;
+ eof = input + input_len;
+
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
+ token = cursor;
+ const YYCTYPE *marker = NULL;
+ YYCTYPE yych;
+ static const unsigned char yybm[] = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 0, 0, 0, 0, 0, 0,
+ 0, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 0, 0, 0, 0, 128,
+ 0, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 0, 0, 0, 0, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ 128, 128, 128, 128, 128, 128, 128, 128,
+ };
+
+ if (YYLESSTHAN (2)) YYFILL(2);
+ yych = YYPEEK ();
+ if (yych <= '_') {
+ if (yych <= '@') goto yy753;
+ if (yych <= 'Z') goto yy755;
+ if (yych >= '_') goto yy755;
+ } else {
+ if (yych <= '`') goto yy753;
+ if (yych <= 'z') goto yy755;
+ if (yych >= 0x7F) goto yy755;
+ }
+yy753:
+ YYSKIP ();
+yy754:
+ status = check_key_count_line2358_ST_LOOKING_FOR_VARNAME(keys_count, i, 3)
+ || action_line2358_ST_LOOKING_FOR_VARNAME(&i, keys, input, token, &cursor, 1);
+ continue;
+yy755:
+ YYSKIP ();
+ YYBACKUP ();
+ yych = YYPEEK ();
+ {
+ static void *yytarget[256] = {
+ &&yy754, &&yy754, &&yy754, &&yy754, &&yy754, &&yy754, &&yy754, &&yy754,
+ &&yy754, &&yy754, &&yy754, &&yy754, &&yy754, &&yy754, &&yy754, &&yy754,
+ &&yy754, &&yy754, &&yy754, &&yy754, &&yy754, &&yy754, &&yy754, &&yy754,
+ &&yy754, &&yy754, &&yy754, &&yy754, &&yy754, &&yy754, &&yy754, &&yy754,
+ &&yy754, &&yy754, &&yy754, &&yy754, &&yy754, &&yy754, &&yy754, &&yy754,
+ &&yy754, &&yy754, &&yy754, &&yy754, &&yy754, &&yy754, &&yy754, &&yy754,
+ &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757,
+ &&yy757, &&yy757, &&yy754, &&yy754, &&yy754, &&yy754, &&yy754, &&yy754,
+ &&yy754, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757,
+ &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757,
+ &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757,
+ &&yy757, &&yy757, &&yy757, &&yy757, &&yy754, &&yy754, &&yy754, &&yy757,
+ &&yy754, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757,
+ &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757,
+ &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757,
+ &&yy757, &&yy757, &&yy757, &&yy754, &&yy754, &&yy757, &&yy754, &&yy757,
+ &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757,
+ &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757,
+ &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757,
+ &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757,
+ &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757,
+ &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757,
+ &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757,
+ &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757,
+ &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757,
+ &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757,
+ &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757,
+ &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757,
+ &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757,
+ &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757,
+ &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757,
+ &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757, &&yy757
+ };
+ goto *yytarget[yych];
+ }
+yy756:
+ YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
+yy757:
+ if (yybm[0+yych] & 128) {
+ goto yy756;
+ }
+ if (yych <= '@') goto yy758;
+ if (yych <= '[') goto yy759;
+ if (yych == '}') goto yy759;
+yy758:
+ YYRESTORE ();
+ goto yy754;
+yy759:
YYSKIP ();
- status = action_line2358_ST_NOWDOC(i, keys, input, token, &cursor, 168);
+ status = check_key_count_line2358_ST_LOOKING_FOR_VARNAME(keys_count, i, 3)
+ || action_line2358_ST_LOOKING_FOR_VARNAME(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -6551,11 +6404,11 @@ int lex_line2358_ST_NOWDOC()
if (cursor != eof) {
status = 1;
const long pos = token - input;
- fprintf(stderr, "error: lex_line2358_ST_NOWDOC: unused input strings left at position %ld\n", pos);
+ fprintf(stderr, "error: lex_line2358_ST_LOOKING_FOR_VARNAME: unused input strings left at position %ld\n", pos);
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line2358_ST_NOWDOC: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line2358_ST_LOOKING_FOR_VARNAME: unused keys left after %u keys\n", i);
}
}
@@ -6570,6 +6423,8 @@ end:
#undef YYKEYTYPE
#undef YYPEEK
#undef YYSKIP
+#undef YYBACKUP
+#undef YYRESTORE
#undef YYLESSTHAN
#undef YYFILL
@@ -6583,7 +6438,7 @@ end:
#define YYFILL(n) { break; }
static int action_line2358_ST_VAR_OFFSET
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -6591,10 +6446,12 @@ static int action_line2358_ST_VAR_OFFSET
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -6604,17 +6461,17 @@ static int action_line2358_ST_VAR_OFFSET
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line2358_ST_VAR_OFFSET: at position %ld (iteration %u):\n"
+ , "error: lex_line2358_ST_VAR_OFFSET: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -6624,6 +6481,13 @@ static int action_line2358_ST_VAR_OFFSET
}
}
+static int check_key_count_line2358_ST_VAR_OFFSET(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line2358_ST_VAR_OFFSET: not enough keys\n");
+ return 1;
+}
+
int lex_line2358_ST_VAR_OFFSET()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -6651,7 +6515,7 @@ int lex_line2358_ST_VAR_OFFSET()
keys = (YYKEYTYPE *) read_file
("php20150211_zend_language_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line2358_ST_VAR_OFFSET.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -6664,7 +6528,7 @@ int lex_line2358_ST_VAR_OFFSET()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -6707,218 +6571,226 @@ int lex_line2358_ST_VAR_OFFSET()
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy791, &&yy791, &&yy791, &&yy791, &&yy791, &&yy791, &&yy791, &&yy791,
- &&yy791, &&yy793, &&yy793, &&yy791, &&yy791, &&yy793, &&yy791, &&yy791,
- &&yy791, &&yy791, &&yy791, &&yy791, &&yy791, &&yy791, &&yy791, &&yy791,
- &&yy791, &&yy791, &&yy791, &&yy791, &&yy791, &&yy791, &&yy791, &&yy791,
- &&yy793, &&yy795, &&yy795, &&yy793, &&yy797, &&yy795, &&yy795, &&yy793,
- &&yy795, &&yy795, &&yy795, &&yy795, &&yy795, &&yy795, &&yy795, &&yy795,
- &&yy798, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800, &&yy800,
- &&yy800, &&yy800, &&yy795, &&yy795, &&yy795, &&yy795, &&yy795, &&yy795,
- &&yy795, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy795, &&yy793, &&yy805, &&yy795, &&yy802,
- &&yy795, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy795, &&yy795, &&yy795, &&yy795, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802,
- &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802, &&yy802
+ &&yy764, &&yy764, &&yy764, &&yy764, &&yy764, &&yy764, &&yy764, &&yy764,
+ &&yy764, &&yy766, &&yy766, &&yy764, &&yy764, &&yy766, &&yy764, &&yy764,
+ &&yy764, &&yy764, &&yy764, &&yy764, &&yy764, &&yy764, &&yy764, &&yy764,
+ &&yy764, &&yy764, &&yy764, &&yy764, &&yy764, &&yy764, &&yy764, &&yy764,
+ &&yy766, &&yy768, &&yy768, &&yy766, &&yy770, &&yy768, &&yy768, &&yy766,
+ &&yy768, &&yy768, &&yy768, &&yy768, &&yy768, &&yy768, &&yy768, &&yy768,
+ &&yy771, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773, &&yy773,
+ &&yy773, &&yy773, &&yy768, &&yy768, &&yy768, &&yy768, &&yy768, &&yy768,
+ &&yy768, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775,
+ &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775,
+ &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775,
+ &&yy775, &&yy775, &&yy775, &&yy768, &&yy766, &&yy778, &&yy768, &&yy775,
+ &&yy768, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775,
+ &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775,
+ &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775,
+ &&yy775, &&yy775, &&yy775, &&yy768, &&yy768, &&yy768, &&yy768, &&yy775,
+ &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775,
+ &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775,
+ &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775,
+ &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775,
+ &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775,
+ &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775,
+ &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775,
+ &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775,
+ &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775,
+ &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775,
+ &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775,
+ &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775,
+ &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775,
+ &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775,
+ &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775,
+ &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775, &&yy775
};
goto *yytarget[yych];
}
-yy791:
+yy764:
YYSKIP ();
- status = action_line2358_ST_VAR_OFFSET(i, keys, input, token, &cursor, 170);
+ status = check_key_count_line2358_ST_VAR_OFFSET(keys_count, i, 3)
+ || action_line2358_ST_VAR_OFFSET(&i, keys, input, token, &cursor, 7);
continue;
-yy793:
+yy766:
YYSKIP ();
- status = action_line2358_ST_VAR_OFFSET(i, keys, input, token, &cursor, 149);
+ status = check_key_count_line2358_ST_VAR_OFFSET(keys_count, i, 3)
+ || action_line2358_ST_VAR_OFFSET(&i, keys, input, token, &cursor, 5);
continue;
-yy795:
+yy768:
YYSKIP ();
-yy796:
- status = action_line2358_ST_VAR_OFFSET(i, keys, input, token, &cursor, 148);
+yy769:
+ status = check_key_count_line2358_ST_VAR_OFFSET(keys_count, i, 3)
+ || action_line2358_ST_VAR_OFFSET(&i, keys, input, token, &cursor, 4);
continue;
-yy797:
+yy770:
YYSKIP ();
yych = YYPEEK ();
if (yych <= '_') {
- if (yych <= '@') goto yy796;
- if (yych <= 'Z') goto yy807;
- if (yych <= '^') goto yy796;
- goto yy807;
+ if (yych <= '@') goto yy769;
+ if (yych <= 'Z') goto yy780;
+ if (yych <= '^') goto yy769;
+ goto yy780;
} else {
- if (yych <= '`') goto yy796;
- if (yych <= 'z') goto yy807;
- if (yych <= '~') goto yy796;
- goto yy807;
+ if (yych <= '`') goto yy769;
+ if (yych <= 'z') goto yy780;
+ if (yych <= '~') goto yy769;
+ goto yy780;
}
-yy798:
+yy771:
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799,
- &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799,
- &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799,
- &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799,
- &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799,
- &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799,
- &&yy810, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810, &&yy810,
- &&yy810, &&yy810, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799,
- &&yy799, &&yy799, &&yy813, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799,
- &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799,
- &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799,
- &&yy815, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799,
- &&yy799, &&yy799, &&yy813, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799,
- &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799,
- &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799,
- &&yy815, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799,
- &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799,
- &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799,
- &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799,
- &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799,
- &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799,
- &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799,
- &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799,
- &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799,
- &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799,
- &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799,
- &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799,
- &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799,
- &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799,
- &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799,
- &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799,
- &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799, &&yy799
+ &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
+ &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
+ &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
+ &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
+ &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
+ &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
+ &&yy783, &&yy783, &&yy783, &&yy783, &&yy783, &&yy783, &&yy783, &&yy783,
+ &&yy783, &&yy783, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
+ &&yy772, &&yy772, &&yy786, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
+ &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
+ &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
+ &&yy788, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
+ &&yy772, &&yy772, &&yy786, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
+ &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
+ &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
+ &&yy788, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
+ &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
+ &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
+ &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
+ &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
+ &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
+ &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
+ &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
+ &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
+ &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
+ &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
+ &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
+ &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
+ &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
+ &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
+ &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772,
+ &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772, &&yy772
};
goto *yytarget[yych];
}
-yy799:
- status = action_line2358_ST_VAR_OFFSET(i, keys, input, token, &cursor, 121);
+yy772:
+ status = check_key_count_line2358_ST_VAR_OFFSET(keys_count, i, 3)
+ || action_line2358_ST_VAR_OFFSET(&i, keys, input, token, &cursor, 0);
continue;
-yy800:
+yy773:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
if (yybm[0+yych] & 16) {
- goto yy800;
+ goto yy773;
}
- goto yy799;
-yy802:
+ goto yy772;
+yy775:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
if (yybm[0+yych] & 32) {
- goto yy802;
+ goto yy775;
}
- status = action_line2358_ST_VAR_OFFSET(i, keys, input, token, &cursor, 151);
+ status = check_key_count_line2358_ST_VAR_OFFSET(keys_count, i, 3)
+ || action_line2358_ST_VAR_OFFSET(&i, keys, input, token, &cursor, 6);
continue;
-yy805:
+yy778:
YYSKIP ();
- status = action_line2358_ST_VAR_OFFSET(i, keys, input, token, &cursor, 147);
+ status = check_key_count_line2358_ST_VAR_OFFSET(keys_count, i, 3)
+ || action_line2358_ST_VAR_OFFSET(&i, keys, input, token, &cursor, 3);
continue;
-yy807:
+yy780:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
{
static void *yytarget[256] = {
- &&yy809, &&yy809, &&yy809, &&yy809, &&yy809, &&yy809, &&yy809, &&yy809,
- &&yy809, &&yy809, &&yy809, &&yy809, &&yy809, &&yy809, &&yy809, &&yy809,
- &&yy809, &&yy809, &&yy809, &&yy809, &&yy809, &&yy809, &&yy809, &&yy809,
- &&yy809, &&yy809, &&yy809, &&yy809, &&yy809, &&yy809, &&yy809, &&yy809,
- &&yy809, &&yy809, &&yy809, &&yy809, &&yy809, &&yy809, &&yy809, &&yy809,
- &&yy809, &&yy809, &&yy809, &&yy809, &&yy809, &&yy809, &&yy809, &&yy809,
- &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807,
- &&yy807, &&yy807, &&yy809, &&yy809, &&yy809, &&yy809, &&yy809, &&yy809,
- &&yy809, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807,
- &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807,
- &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807,
- &&yy807, &&yy807, &&yy807, &&yy809, &&yy809, &&yy809, &&yy809, &&yy807,
- &&yy809, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807,
- &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807,
- &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807,
- &&yy807, &&yy807, &&yy807, &&yy809, &&yy809, &&yy809, &&yy809, &&yy807,
- &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807,
- &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807,
- &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807,
- &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807,
- &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807,
- &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807,
- &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807,
- &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807,
- &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807,
- &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807,
- &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807,
- &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807,
- &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807,
- &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807,
- &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807,
- &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807, &&yy807
+ &&yy782, &&yy782, &&yy782, &&yy782, &&yy782, &&yy782, &&yy782, &&yy782,
+ &&yy782, &&yy782, &&yy782, &&yy782, &&yy782, &&yy782, &&yy782, &&yy782,
+ &&yy782, &&yy782, &&yy782, &&yy782, &&yy782, &&yy782, &&yy782, &&yy782,
+ &&yy782, &&yy782, &&yy782, &&yy782, &&yy782, &&yy782, &&yy782, &&yy782,
+ &&yy782, &&yy782, &&yy782, &&yy782, &&yy782, &&yy782, &&yy782, &&yy782,
+ &&yy782, &&yy782, &&yy782, &&yy782, &&yy782, &&yy782, &&yy782, &&yy782,
+ &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780,
+ &&yy780, &&yy780, &&yy782, &&yy782, &&yy782, &&yy782, &&yy782, &&yy782,
+ &&yy782, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780,
+ &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780,
+ &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780,
+ &&yy780, &&yy780, &&yy780, &&yy782, &&yy782, &&yy782, &&yy782, &&yy780,
+ &&yy782, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780,
+ &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780,
+ &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780,
+ &&yy780, &&yy780, &&yy780, &&yy782, &&yy782, &&yy782, &&yy782, &&yy780,
+ &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780,
+ &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780,
+ &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780,
+ &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780,
+ &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780,
+ &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780,
+ &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780,
+ &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780,
+ &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780,
+ &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780,
+ &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780,
+ &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780,
+ &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780,
+ &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780,
+ &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780,
+ &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780, &&yy780
};
goto *yytarget[yych];
}
-yy809:
- status = action_line2358_ST_VAR_OFFSET(i, keys, input, token, &cursor, 146);
+yy782:
+ status = check_key_count_line2358_ST_VAR_OFFSET(keys_count, i, 3)
+ || action_line2358_ST_VAR_OFFSET(&i, keys, input, token, &cursor, 2);
continue;
-yy810:
+yy783:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
- if (yych <= '/') goto yy812;
- if (yych <= '9') goto yy810;
-yy812:
- status = action_line2358_ST_VAR_OFFSET(i, keys, input, token, &cursor, 122);
+ if (yych <= '/') goto yy785;
+ if (yych <= '9') goto yy783;
+yy785:
+ status = check_key_count_line2358_ST_VAR_OFFSET(keys_count, i, 3)
+ || action_line2358_ST_VAR_OFFSET(&i, keys, input, token, &cursor, 1);
continue;
-yy813:
+yy786:
YYSKIP ();
yych = YYPEEK ();
if (yybm[0+yych] & 64) {
- goto yy816;
+ goto yy789;
}
-yy814:
+yy787:
YYRESTORE ();
- goto yy799;
-yy815:
+ goto yy772;
+yy788:
YYSKIP ();
yych = YYPEEK ();
if (yybm[0+yych] & 128) {
- goto yy818;
+ goto yy791;
}
- goto yy814;
-yy816:
+ goto yy787;
+yy789:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
if (yybm[0+yych] & 64) {
- goto yy816;
+ goto yy789;
}
- goto yy812;
-yy818:
+ goto yy785;
+yy791:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
if (yybm[0+yych] & 128) {
- goto yy818;
+ goto yy791;
}
- goto yy812;
+ goto yy785;
}
if (status == 0) {
@@ -6929,7 +6801,7 @@ yy818:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line2358_ST_VAR_OFFSET: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line2358_ST_VAR_OFFSET: unused keys left after %u keys\n", i);
}
}
@@ -6949,6 +6821,477 @@ end:
#undef YYLESSTHAN
#undef YYFILL
+#define YYCTYPE unsigned char
+#define YYKEYTYPE unsigned char
+#define YYPEEK() *cursor
+#define YYSKIP() ++cursor
+#define YYBACKUP() marker = cursor
+#define YYRESTORE() cursor = marker
+#define YYLESSTHAN(n) (limit - cursor) < n
+#define YYFILL(n) { break; }
+
+static int action_line2358_INITIAL
+ ( unsigned *pkix
+ , const YYKEYTYPE *keys
+ , const YYCTYPE *start
+ , const YYCTYPE *token
+ , const YYCTYPE **cursor
+ , YYKEYTYPE rule_act
+ )
+{
+ const unsigned kix = *pkix;
+ const long pos = token - start;
+ const long len_act = *cursor - token;
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
+ if (rule_exp == 255) {
+ fprintf
+ ( stderr
+ , "warning: lex_line2358_INITIAL: control flow is undefined for input"
+ " at position %ld, rerun re2c with '-W'\n"
+ , pos
+ );
+ }
+ if (len_act == len_exp && rule_act == rule_exp) {
+ const YYKEYTYPE offset = keys[kix];
+ *cursor = token + offset;
+ return 0;
+ } else {
+ fprintf
+ ( stderr
+ , "error: lex_line2358_INITIAL: at position %ld (key %u):\n"
+ "\texpected: match length %ld, rule %u\n"
+ "\tactual: match length %ld, rule %u\n"
+ , pos
+ , kix
+ , len_exp
+ , rule_exp
+ , len_act
+ , rule_act
+ );
+ return 1;
+ }
+}
+
+static int check_key_count_line2358_INITIAL(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line2358_INITIAL: not enough keys\n");
+ return 1;
+}
+
+int lex_line2358_INITIAL()
+{
+ const size_t padding = 7; /* YYMAXFILL */
+ int status = 0;
+ size_t input_len = 0;
+ size_t keys_count = 0;
+ YYCTYPE *input = NULL;
+ YYKEYTYPE *keys = NULL;
+ const YYCTYPE *cursor = NULL;
+ const YYCTYPE *limit = NULL;
+ const YYCTYPE *token = NULL;
+ const YYCTYPE *eof = NULL;
+ unsigned int i = 0;
+
+ input = (YYCTYPE *) read_file
+ ("php20150211_zend_language_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line2358_INITIAL.input"
+ , sizeof (YYCTYPE)
+ , padding
+ , &input_len
+ );
+ if (input == NULL) {
+ status = 1;
+ goto end;
+ }
+
+ keys = (YYKEYTYPE *) read_file
+ ("php20150211_zend_language_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line2358_INITIAL.keys"
+ , sizeof (YYKEYTYPE)
+ , 0
+ , &keys_count
+ );
+ if (keys == NULL) {
+ status = 1;
+ goto end;
+ }
+
+ cursor = input;
+ limit = input + input_len + padding;
+ eof = input + input_len;
+
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
+ token = cursor;
+ const YYCTYPE *marker = NULL;
+ YYCTYPE yych;
+
+ if (YYLESSTHAN (7)) YYFILL(7);
+ yych = YYPEEK ();
+ if (yych == '<') goto yy798;
+ YYSKIP ();
+yy797:
+ status = check_key_count_line2358_INITIAL(keys_count, i, 3)
+ || action_line2358_INITIAL(&i, keys, input, token, &cursor, 3);
+ continue;
+yy798:
+ YYSKIP ();
+ yych = YYPEEK ();
+ if (yych != '?') goto yy797;
+ YYSKIP ();
+ YYBACKUP ();
+ yych = YYPEEK ();
+ if (yych <= 'O') {
+ if (yych == '=') goto yy801;
+ } else {
+ if (yych <= 'P') goto yy803;
+ if (yych == 'p') goto yy803;
+ }
+yy800:
+ status = check_key_count_line2358_INITIAL(keys_count, i, 3)
+ || action_line2358_INITIAL(&i, keys, input, token, &cursor, 2);
+ continue;
+yy801:
+ YYSKIP ();
+ status = check_key_count_line2358_INITIAL(keys_count, i, 3)
+ || action_line2358_INITIAL(&i, keys, input, token, &cursor, 0);
+ continue;
+yy803:
+ YYSKIP ();
+ yych = YYPEEK ();
+ if (yych == 'H') goto yy805;
+ if (yych == 'h') goto yy805;
+yy804:
+ YYRESTORE ();
+ goto yy800;
+yy805:
+ YYSKIP ();
+ yych = YYPEEK ();
+ if (yych == 'P') goto yy806;
+ if (yych != 'p') goto yy804;
+yy806:
+ YYSKIP ();
+ yych = YYPEEK ();
+ if (yych <= '\f') {
+ if (yych <= 0x08) goto yy804;
+ if (yych >= '\v') goto yy804;
+ } else {
+ if (yych <= '\r') goto yy809;
+ if (yych != ' ') goto yy804;
+ }
+yy807:
+ YYSKIP ();
+yy808:
+ status = check_key_count_line2358_INITIAL(keys_count, i, 3)
+ || action_line2358_INITIAL(&i, keys, input, token, &cursor, 1);
+ continue;
+yy809:
+ YYSKIP ();
+ yych = YYPEEK ();
+ if (yych == '\n') goto yy807;
+ goto yy808;
+
+ }
+ if (status == 0) {
+ if (cursor != eof) {
+ status = 1;
+ const long pos = token - input;
+ fprintf(stderr, "error: lex_line2358_INITIAL: unused input strings left at position %ld\n", pos);
+ }
+ if (i != keys_count) {
+ status = 1;
+ fprintf(stderr, "error: lex_line2358_INITIAL: unused keys left after %u keys\n", i);
+ }
+ }
+
+end:
+ free(input);
+ free(keys);
+
+ return status;
+}
+
+#undef YYCTYPE
+#undef YYKEYTYPE
+#undef YYPEEK
+#undef YYSKIP
+#undef YYBACKUP
+#undef YYRESTORE
+#undef YYLESSTHAN
+#undef YYFILL
+
+#define YYCTYPE unsigned char
+#define YYKEYTYPE unsigned char
+#define YYPEEK() *cursor
+#define YYSKIP() ++cursor
+#define YYLESSTHAN(n) (limit - cursor) < n
+#define YYFILL(n) { break; }
+
+static int action_line2358_ST_END_HEREDOC
+ ( unsigned *pkix
+ , const YYKEYTYPE *keys
+ , const YYCTYPE *start
+ , const YYCTYPE *token
+ , const YYCTYPE **cursor
+ , YYKEYTYPE rule_act
+ )
+{
+ const unsigned kix = *pkix;
+ const long pos = token - start;
+ const long len_act = *cursor - token;
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
+ if (rule_exp == 255) {
+ fprintf
+ ( stderr
+ , "warning: lex_line2358_ST_END_HEREDOC: control flow is undefined for input"
+ " at position %ld, rerun re2c with '-W'\n"
+ , pos
+ );
+ }
+ if (len_act == len_exp && rule_act == rule_exp) {
+ const YYKEYTYPE offset = keys[kix];
+ *cursor = token + offset;
+ return 0;
+ } else {
+ fprintf
+ ( stderr
+ , "error: lex_line2358_ST_END_HEREDOC: at position %ld (key %u):\n"
+ "\texpected: match length %ld, rule %u\n"
+ "\tactual: match length %ld, rule %u\n"
+ , pos
+ , kix
+ , len_exp
+ , rule_exp
+ , len_act
+ , rule_act
+ );
+ return 1;
+ }
+}
+
+static int check_key_count_line2358_ST_END_HEREDOC(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line2358_ST_END_HEREDOC: not enough keys\n");
+ return 1;
+}
+
+int lex_line2358_ST_END_HEREDOC()
+{
+ const size_t padding = 1; /* YYMAXFILL */
+ int status = 0;
+ size_t input_len = 0;
+ size_t keys_count = 0;
+ YYCTYPE *input = NULL;
+ YYKEYTYPE *keys = NULL;
+ const YYCTYPE *cursor = NULL;
+ const YYCTYPE *limit = NULL;
+ const YYCTYPE *token = NULL;
+ const YYCTYPE *eof = NULL;
+ unsigned int i = 0;
+
+ input = (YYCTYPE *) read_file
+ ("php20150211_zend_language_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line2358_ST_END_HEREDOC.input"
+ , sizeof (YYCTYPE)
+ , padding
+ , &input_len
+ );
+ if (input == NULL) {
+ status = 1;
+ goto end;
+ }
+
+ keys = (YYKEYTYPE *) read_file
+ ("php20150211_zend_language_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line2358_ST_END_HEREDOC.keys"
+ , sizeof (YYKEYTYPE)
+ , 0
+ , &keys_count
+ );
+ if (keys == NULL) {
+ status = 1;
+ goto end;
+ }
+
+ cursor = input;
+ limit = input + input_len + padding;
+ eof = input + input_len;
+
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
+ token = cursor;
+ YYCTYPE yych;
+
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ YYSKIP ();
+ status = check_key_count_line2358_ST_END_HEREDOC(keys_count, i, 3)
+ || action_line2358_ST_END_HEREDOC(&i, keys, input, token, &cursor, 0);
+ continue;
+
+ }
+ if (status == 0) {
+ if (cursor != eof) {
+ status = 1;
+ const long pos = token - input;
+ fprintf(stderr, "error: lex_line2358_ST_END_HEREDOC: unused input strings left at position %ld\n", pos);
+ }
+ if (i != keys_count) {
+ status = 1;
+ fprintf(stderr, "error: lex_line2358_ST_END_HEREDOC: unused keys left after %u keys\n", i);
+ }
+ }
+
+end:
+ free(input);
+ free(keys);
+
+ return status;
+}
+
+#undef YYCTYPE
+#undef YYKEYTYPE
+#undef YYPEEK
+#undef YYSKIP
+#undef YYLESSTHAN
+#undef YYFILL
+
+#define YYCTYPE unsigned char
+#define YYKEYTYPE unsigned char
+#define YYPEEK() *cursor
+#define YYSKIP() ++cursor
+#define YYLESSTHAN(n) (limit - cursor) < n
+#define YYFILL(n) { break; }
+
+static int action_line2358_ST_NOWDOC
+ ( unsigned *pkix
+ , const YYKEYTYPE *keys
+ , const YYCTYPE *start
+ , const YYCTYPE *token
+ , const YYCTYPE **cursor
+ , YYKEYTYPE rule_act
+ )
+{
+ const unsigned kix = *pkix;
+ const long pos = token - start;
+ const long len_act = *cursor - token;
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
+ if (rule_exp == 255) {
+ fprintf
+ ( stderr
+ , "warning: lex_line2358_ST_NOWDOC: control flow is undefined for input"
+ " at position %ld, rerun re2c with '-W'\n"
+ , pos
+ );
+ }
+ if (len_act == len_exp && rule_act == rule_exp) {
+ const YYKEYTYPE offset = keys[kix];
+ *cursor = token + offset;
+ return 0;
+ } else {
+ fprintf
+ ( stderr
+ , "error: lex_line2358_ST_NOWDOC: at position %ld (key %u):\n"
+ "\texpected: match length %ld, rule %u\n"
+ "\tactual: match length %ld, rule %u\n"
+ , pos
+ , kix
+ , len_exp
+ , rule_exp
+ , len_act
+ , rule_act
+ );
+ return 1;
+ }
+}
+
+static int check_key_count_line2358_ST_NOWDOC(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line2358_ST_NOWDOC: not enough keys\n");
+ return 1;
+}
+
+int lex_line2358_ST_NOWDOC()
+{
+ const size_t padding = 1; /* YYMAXFILL */
+ int status = 0;
+ size_t input_len = 0;
+ size_t keys_count = 0;
+ YYCTYPE *input = NULL;
+ YYKEYTYPE *keys = NULL;
+ const YYCTYPE *cursor = NULL;
+ const YYCTYPE *limit = NULL;
+ const YYCTYPE *token = NULL;
+ const YYCTYPE *eof = NULL;
+ unsigned int i = 0;
+
+ input = (YYCTYPE *) read_file
+ ("php20150211_zend_language_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line2358_ST_NOWDOC.input"
+ , sizeof (YYCTYPE)
+ , padding
+ , &input_len
+ );
+ if (input == NULL) {
+ status = 1;
+ goto end;
+ }
+
+ keys = (YYKEYTYPE *) read_file
+ ("php20150211_zend_language_scanner.igcd--skeleton--flex-syntax--case-inverted.c.line2358_ST_NOWDOC.keys"
+ , sizeof (YYKEYTYPE)
+ , 0
+ , &keys_count
+ );
+ if (keys == NULL) {
+ status = 1;
+ goto end;
+ }
+
+ cursor = input;
+ limit = input + input_len + padding;
+ eof = input + input_len;
+
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
+ token = cursor;
+ YYCTYPE yych;
+
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ YYSKIP ();
+ status = check_key_count_line2358_ST_NOWDOC(keys_count, i, 3)
+ || action_line2358_ST_NOWDOC(&i, keys, input, token, &cursor, 0);
+ continue;
+
+ }
+ if (status == 0) {
+ if (cursor != eof) {
+ status = 1;
+ const long pos = token - input;
+ fprintf(stderr, "error: lex_line2358_ST_NOWDOC: unused input strings left at position %ld\n", pos);
+ }
+ if (i != keys_count) {
+ status = 1;
+ fprintf(stderr, "error: lex_line2358_ST_NOWDOC: unused keys left after %u keys\n", i);
+ }
+ }
+
+end:
+ free(input);
+ free(keys);
+
+ return status;
+}
+
+#undef YYCTYPE
+#undef YYKEYTYPE
+#undef YYPEEK
+#undef YYSKIP
+#undef YYLESSTHAN
+#undef YYFILL
+
int main()
{
if(lex_line2358_INITIAL() != 0) {
@@ -6991,7 +7334,7 @@ int main()
<?ph <?PH <?ph <?PH<?ph<?PH<?ph<?PH<?ph<?PH<?ph<?PH<?ph<?PH<?ph<?PH<?ph<?PH<?ph<?PH<?ph<?PH <?ph!<?PH"<?ph#<?PH$<?ph%<?PH&<?ph'<?PH(<?ph)<?PH*<?ph+<?PH,<?ph-<?PH.<?ph/<?PH0<?ph1<?PH2<?ph3<?PH4<?ph5<?PH6<?ph7<?PH8<?ph9<?PH:<?ph;<?PH<<?ph=<?PH><?ph?<?PH@<?phA<?PHB<?phC<?PHD<?phE<?PHF<?phG<?PHH<?phI<?PHJ<?phK<?PHL<?phM<?PHN<?phO<?PHQ<?phR<?PHS<?phT<?PHU<?phV<?PHW<?phX<?PHY<?phZ<?PH[<?ph\<?PH]<?ph^<?PH_<?ph`<?PHa<?phb<?PHc<?phd<?PHe<?phf<?PHg<?phh<?PHi<?phj<?PHk<?phl<?PHm<?phn<?PHo<?phq<?PHr<?phs<?PHt<?phu<?PHv<?phw<?PHx<?phy<?PHz<?ph{<?PH|<?ph}<?PH~<?ph<?PH€<?ph<?PH‚<?phƒ<?PH„<?ph…<?PH†<?ph‡<?PHˆ<?ph‰<?PHŠ<?ph‹<?PHŒ<?ph<?PHŽ<?ph<?PH<?ph‘<?PH’<?ph“<?PH”<?ph•<?PH–<?ph—<?PH˜<?ph™<?PHš<?ph›<?PHœ<?ph<?PHž<?phŸ<?PH <?ph¡<?PH¢<?ph£<?PH¤<?ph¥<?PH¦<?ph§<?PH¨<?ph©<?PHª<?ph«<?PH¬<?ph­<?PH®<?ph¯<?PH°<?ph±<?PH²<?ph³<?PH´<?phµ<?PH¶<?ph·<?PH¸<?ph¹<?PHº<?ph»<?PH¼<?ph½<?PH¾<?ph¿<?PHÀ<?phÁ<?PHÂ<?phÃ<?PHÄ<?phÅ<?PHÆ<?phÇ<?PHÈ<?phÉ<?PHÊ<?phË<?PHÌ<?phÍ<?PHÎ<?phÏ<?PHÐ<?phÑ<?PHÒ<?phÓ<?PHÔ<?phÕ<?PHÖ<?ph×<?PHØ<?phÙ<?PHÚ<?phÛ<?PHÜ<?phÝ<?PHÞ<?phß<?PHà<?phá<?PHâ<?phã<?PHä<?phå<?PHæ<?phç<?PHè<?phé<?PHê<?phë<?PHì<?phí<?PHî<?phï<?PHð<?phñ<?PHò<?phó<?PHô<?phõ<?PHö<?ph÷<?PHø<?phù<?PHú<?phû<?PHü<?phý<?PHþ<?phÿ<?P
<?p <?P <?p <?P<?p<?P<?p<?P<?p<?P<?p<?P<?p<?P<?p<?P<?p<?P<?p<?P<?p<?P <?p!<?P"<?p#<?P$<?p%<?P&<?p'<?P(<?p)<?P*<?p+<?P,<?p-<?P.<?p/<?P0<?p1<?P2<?p3<?P4<?p5<?P6<?p7<?P8<?p9<?P:<?p;<?P<<?p=<?P><?p?<?P@<?pA<?PB<?pC<?PD<?pE<?PF<?pG<?PI<?pJ<?PK<?pL<?PM<?pN<?PO<?pP<?PQ<?pR<?PS<?pT<?PU<?pV<?PW<?pX<?PY<?pZ<?P[<?p\<?P]<?p^<?P_<?p`<?Pa<?pb<?Pc<?pd<?Pe<?pf<?Pg<?pi<?Pj<?pk<?Pl<?pm<?Pn<?po<?Pp<?pq<?Pr<?ps<?Pt<?pu<?Pv<?pw<?Px<?py<?Pz<?p{<?P|<?p}<?P~<?p<?P€<?p<?P‚<?pƒ<?P„<?p…<?P†<?p‡<?Pˆ<?p‰<?PŠ<?p‹<?PŒ<?p<?PŽ<?p<?P<?p‘<?P’<?p“<?P”<?p•<?P–<?p—<?P˜<?p™<?Pš<?p›<?Pœ<?p<?Pž<?pŸ<?P <?p¡<?P¢<?p£<?P¤<?p¥<?P¦<?p§<?P¨<?p©<?Pª<?p«<?P¬<?p­<?P®<?p¯<?P°<?p±<?P²<?p³<?P´<?pµ<?P¶<?p·<?P¸<?p¹<?Pº<?p»<?P¼<?p½<?P¾<?p¿<?PÀ<?pÁ<?PÂ<?pÃ<?PÄ<?pÅ<?PÆ<?pÇ<?PÈ<?pÉ<?PÊ<?pË<?PÌ<?pÍ<?PÎ<?pÏ<?PÐ<?pÑ<?PÒ<?pÓ<?PÔ<?pÕ<?PÖ<?p×<?PØ<?pÙ<?PÚ<?pÛ<?PÜ<?pÝ<?PÞ<?pß<?Pà<?pá<?Pâ<?pã<?Pä<?på<?Pæ<?pç<?Pè<?pé<?Pê<?pë<?Pì<?pí<?Pî<?pï<?Pð<?pñ<?Pò<?pó<?Pô<?põ<?Pö<?p÷<?Pø<?pù<?Pú<?pû<?Pü<?pý<?Pþ<?pÿ<?
<? <? <? <?<?<?<?<?<?<?<?<?<?<?<?<?<?<?<?<?<?<? <?!<?"<?#<?$<?%<?&<?'<?(<?)<?*<?+<?,<?-<?.<?/<?0<?1<?2<?3<?4<?5<?6<?7<?8<?9<?:<?;<?<<?><??<?@<?A<?B<?C<?D<?E<?F<?G<?H<?I<?J<?K<?L<?M<?N<?O<?Q<?R<?S<?T<?U<?V<?W<?X<?Y<?Z<?[<?\<?]<?^<?_<?`<?a<?b<?c<?d<?e<?f<?g<?h<?i<?j<?k<?l<?m<?n<?o<?q<?r<?s<?t<?u<?v<?w<?x<?y<?z<?{<?|<?}<?~<?<?€<?<?‚<?ƒ<?„<?…<?†<?‡<?ˆ<?‰<?Š<?‹<?Œ<?<?Ž<?<?<?‘<?’<?“<?”<?•<?–<?—<?˜<?™<?š<?›<?œ<?<?ž<?Ÿ<? <?¡<?¢<?£<?¤<?¥<?¦<?§<?¨<?©<?ª<?«<?¬<?­<?®<?¯<?°<?±<?²<?³<?´<?µ<?¶<?·<?¸<?¹<?º<?»<?¼<?½<?¾<?¿<?À<?Á<?Â<?Ã<?Ä<?Å<?Æ<?Ç<?È<?É<?Ê<?Ë<?Ì<?Í<?Î<?Ï<?Ð<?Ñ<?Ò<?Ó<?Ô<?Õ<?Ö<?×<?Ø<?Ù<?Ú<?Û<?Ü<?Ý<?Þ<?ß<?à<?á<?â<?ã<?ä<?å<?æ<?ç<?è<?é<?ê<?ë<?ì<?í<?î<?ï<?ð<?ñ<?ò<?ó<?ô<?õ<?ö<?÷<?ø<?ù<?ú<?û<?ü<?ý<?þ<?ÿ<
-< < < <<<<<<<<<<<<<<<<<<< <!<"<#<$<%<&<'<(<)<*<+<,<-<.</<0<1<2<3<4<5<6<7<8<9<:<;<<<=<><@<A<B<C<D<E<F<G<H<I<J<K<L<M<N<O<P<Q<R<S<T<U<V<W<X<Y<Z<[<\<]<^<_<`<a<b<c<d<e<f<g<h<i<j<k<l<m<n<o<p<q<r<s<t<u<v<w<x<y<z<{<|<}<~<<€<<‚<ƒ<„<…<†<‡<ˆ<‰<Š<‹<Œ<<Ž<<<‘<’<“<”<•<–<—<˜<™<š<›<œ<<ž<Ÿ< <¡<¢<£<¤<¥<¦<§<¨<©<ª<«<¬<­<®<¯<°<±<²<³<´<µ<¶<·<¸<¹<º<»<¼<½<¾<¿<À<Á<Â<Ã<Ä<Å<Æ<Ç<È<É<Ê<Ë<Ì<Í<Î<Ï<Ð<Ñ<Ò<Ó<Ô<Õ<Ö<×<Ø<Ù<Ú<Û<Ü<Ý<Þ<ß<à<á<â<ã<ä<å<æ<ç<è<é<ê<ë<ì<í<î<ï<ð<ñ<ò<ó<ô<õ<ö<÷<ø<ù<ú<û<ü<ý<þ<ÿ‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡„……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………†††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††††‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡‡
+< < < <<<<<<<<<<<<<<<<<<< <!<"<#<$<%<&<'<(<)<*<+<,<-<.</<0<1<2<3<4<5<6<7<8<9<:<;<<<=<><@<A<B<C<D<E<F<G<H<I<J<K<L<M<N<O<P<Q<R<S<T<U<V<W<X<Y<Z<[<\<]<^<_<`<a<b<c<d<e<f<g<h<i<j<k<l<m<n<o<p<q<r<s<t<u<v<w<x<y<z<{<|<}<~<<€<<‚<ƒ<„<…<†<‡<ˆ<‰<Š<‹<Œ<<Ž<<<‘<’<“<”<•<–<—<˜<™<š<›<œ<<ž<Ÿ< <¡<¢<£<¤<¥<¦<§<¨<©<ª<«<¬<­<®<¯<°<±<²<³<´<µ<¶<·<¸<¹<º<»<¼<½<¾<¿<À<Á<Â<Ã<Ä<Å<Æ<Ç<È<É<Ê<Ë<Ì<Í<Î<Ï<Ð<Ñ<Ò<Ó<Ô<Õ<Ö<×<Ø<Ù<Ú<Û<Ü<Ý<Þ<ß<à<á<â<ã<ä<å<æ<ç<è<é<ê<ë<ì<í<î<ï<ð<ñ<ò<ó<ô<õ<ö<÷<ø<ù<ú<û<ü<ý<þ<ÿ
 !"#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_abcdefghijklmnopqrstuvwxyz|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ$A0->A$B1->B$C2->C$D3->D$E4->E$F5->F$G6->G$H7->H$I8->I$J9->J$KA->K$LB->L$MC->M$ND->N$OE->O$PF->P$QG->Q$RH->R$SI->S$TJ->T$UK->U$VL->V$WM->W$XN->X$YO->Y$ZP->Z$_Q->_$aR->a$bS->b$cT->c$dU->d$eV->e$fW->f$gX->g$hY->h$iZ->i$j_->j$ka->k$lb->l$mc->m$nd->n$oe->o$pf->p$qg->q$rh->r$si->s$tj->t$uk->u$vl->v$wm->w$xn->x$yo->y$zp->z$q->$€r->€$s->$‚t->‚$ƒu->ƒ$„v->„$…w->…$†x->†$‡y->‡$ˆz->ˆ$‰->‰$Š€->Š$‹->‹$Œ‚->Œ$ƒ->$Ž„->Ž$…->$†->$‘‡->‘$’ˆ->’$“‰->“$”Š->”$•‹->•$–Œ->–$—->—$˜Ž->˜$™->™$š->š$›‘->›$œ’->œ$“->$ž”->ž$Ÿ•->Ÿ$ –-> $¡—->¡$¢˜->¢$£™->£$¤š->¤$¥›->¥$¦œ->¦$§->§$¨ž->¨$©Ÿ->©$ª ->ª$«¡->«$¬¢->¬$­£->­$®¤->®$¯¥->¯$°¦->°$±§->±$²¨->²$³©->³$´ª->´$µ«->µ$¶¬->¶$·­->·$¸®->¸$¹¯->¹$º°->º$»±->»$¼²->¼$½³->½$¾´->¾$¿µ->¿$À¶->À$Á·->Á$¸->Â$ù->Ã$ĺ->Ä$Å»->Å$Ƽ->Æ$ǽ->Ç$Ⱦ->È$É¿->É$ÊÀ->Ê$ËÁ->Ë$ÌÂ->Ì$ÍÃ->Í$ÎÄ->Î$ÏÅ->Ï$ÐÆ->Ð$ÑÇ->Ñ$ÒÈ->Ò$ÓÉ->Ó$ÔÊ->Ô$ÕË->Õ$ÖÌ->Ö$×Í->×$ØÎ->Ø$ÙÏ->Ù$ÚÐ->Ú$ÛÑ->Û$ÜÒ->Ü$ÝÓ->Ý$ÞÔ->Þ$ßÕ->ß$àÖ->à$á×->á$âØ->â$ãÙ->ã$äÚ->ä$åÛ->å$æÜ->æ$çÝ->ç$èÞ->è$éß->é$êà->ê$ëá->ë$ìâ->ì$íã->í$îä->î$ïå->ï$ðæ->ð$ñç->ñ$òè->ò$óé->ó$ôê->ô$õë->õ$öì->ö$÷í->÷$øî->ø$ùï->ù$úð->ú$ûñ->û$üò->ü$ýó->ý$þô->þ$ÿõ->ÿ$Aö->A$B÷->B$Cø->C$Dù->D$Eú->E$Fû->F$Gü->G$Hý->H$Iþ->I$Jÿ->J$A0->
$LB-> $MC-> $ND-> $OE->$PF->$QG->$RH->$SI->$TJ->$UK->$VL->$WM->$XN->$YO->$ZP->$_Q->$aR->$bS->$cT->$dU->$eV->$fW-> $gX->!$hY->"$iZ->#$j_->$$ka->%$lb->&$mc->'$nd->($oe->)$pf->*$qg->+$rh->,$si->-$tj->.$uk->/$vl->0$wm->1$xn->2$yo->3$zp->4$q->5$€r->6$s->7$‚t->8$ƒu->9$„v->:$…w->;$†x-><$‡y->=$ˆz->>$‰->?$Š€->@$‹->[$Œ‚->\$ƒ->]$Ž„->^$…->`$†->{$‘‡->|$’ˆ->}$“‰->~$”Š->
$Ÿ•-> $ –-> $¡—-> $¢˜->$£™->$¤š->$¥›->$¦œ->$§->$¨ž->$©Ÿ->$ª ->$«¡->$¬¢->$­£->$®¤->$¯¥->$°¦->$±§->$²¨->$³©->$´ª-> $µ«->!$¶¬->"$·­->#$¸®->$$¹¯->%$º°->&$»±->'$¼²->($½³->)$¾´->*$¿µ->+$À¶->,$Á·->-$¸->.$ù->/$ĺ->0$Å»->1$Ƽ->2$ǽ->3$Ⱦ->4$É¿->5$ÊÀ->6$ËÁ->7$ÌÂ->8$ÍÃ->9$ÎÄ->:$ÏÅ->;$ÐÆ-><$ÑÇ->=$ÒÈ->>$ÓÉ->?$ÔÊ->@$ÕË->[$ÖÌ->\$×Í->]$ØÎ->^$ÙÏ->`$ÚÐ->{$ÛÑ->|$ÜÒ->}$ÝÓ->~$ÞÔ->
@@ -7004,7 +7347,7 @@ $L $M $N $O$P$Q$R$S$T$U$V$W$X$Y$Z$_$a$b$c$d$e$f $g!$h"$i#$j$$k
$“ $” $• $–$—$˜$™$š$›$œ$$ž$Ÿ$ $¡$¢$£$¤$¥$¦$§$¨ $©!$ª"$«#$¬$$­%$®&$¯'$°($±)$²*$³+$´,$µ.$¶/$·:$¸;$¹<$º=$»>$¼?$½@$¾\$¿]$À^$Á`$Â{$Ã|$Ä}$Å~$Æ
$Ñ $Ò $Ó $Ô$Õ$Ö$×$Ø$Ù$Ú$Û$Ü$Ý$Þ$ß$à$á$â$ã$ä$å$æ $ç!$è"$é#$ê$$ë%$ì&$í'$î($ï)$ð*$ñ+$ò,$ó.$ô/$õ:$ö;$÷<$ø=$ù>$ú?$û@$ü\$ý]$þ^$ÿ`${$
$ $ $ $$$$$$$$$$$$$$$$$$$ $!$"$#$$$%$&$'$($)$*$+$,$-$.$/$0$1$2$3$4$5$6$7$8$9$:$;$<$=$>$?$@$[$\$]$^$`$|$}$~`{${
-{ { { {{{{{{{{{{{{{{{{{{{ {!{"{#{%{&{'{({){*{+{,{-{.{/{0{1{2{3{4{5{6{7{8{9{:{;{<{={>{?{@{A{B{C{D{E{F{G{H{I{J{K{L{M{N{O{P{Q{R{S{T{U{V{W{X{Y{Z{[{\{]{^{_{`{a{b{c{d{e{f{g{h{i{j{k{l{m{n{o{p{q{r{s{t{u{v{w{x{y{z{{{|{}{~{{€{{‚{ƒ{„{…{†{‡{ˆ{‰{Š{‹{Œ{{Ž{{{‘{’{“{”{•{–{—{˜{™{š{›{œ{{ž{Ÿ{ {¡{¢{£{¤{¥{¦{§{¨{©{ª{«{¬{­{®{¯{°{±{²{³{´{µ{¶{·{¸{¹{º{»{¼{½{¾{¿{À{Á{Â{Ã{Ä{Å{Æ{Ç{È{É{Ê{Ë{Ì{Í{Î{Ï{Ð{Ñ{Ò{Ó{Ô{Õ{Ö{×{Ø{Ù{Ú{Û{Ü{Ý{Þ{ß{à{á{â{ã{ä{å{æ{ç{è{é{ê{ë{ì{í{î{ï{ð{ñ{ò{ó{ô{õ{ö{÷{ø{ù{ú{û{ü{ý{þ{ÿ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽ‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹ŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹‹ŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽp¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¤ ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
+{ { { {{{{{{{{{{{{{{{{{{{ {!{"{#{%{&{'{({){*{+{,{-{.{/{0{1{2{3{4{5{6{7{8{9{:{;{<{={>{?{@{A{B{C{D{E{F{G{H{I{J{K{L{M{N{O{P{Q{R{S{T{U{V{W{X{Y{Z{[{\{]{^{_{`{a{b{c{d{e{f{g{h{i{j{k{l{m{n{o{p{q{r{s{t{u{v{w{x{y{z{{{|{}{~{{€{{‚{ƒ{„{…{†{‡{ˆ{‰{Š{‹{Œ{{Ž{{{‘{’{“{”{•{–{—{˜{™{š{›{œ{{ž{Ÿ{ {¡{¢{£{¤{¥{¦{§{¨{©{ª{«{¬{­{®{¯{°{±{²{³{´{µ{¶{·{¸{¹{º{»{¼{½{¾{¿{À{Á{Â{Ã{Ä{Å{Æ{Ç{È{É{Ê{Ë{Ì{Í{Î{Ï{Ð{Ñ{Ò{Ó{Ô{Õ{Ö{×{Ø{Ù{Ú{Û{Ü{Ý{Þ{ß{à{á{â{ã{ä{å{æ{ç{è{é{ê{ë{ì{í{î{ï{ð{ñ{ò{ó{ô{õ{ö{÷{ø{ù{ú{û{ü{ý{þ{ÿ
 !#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"$A0->A$B1->B$C2->C$D3->D$E4->E$F5->F$G6->G$H7->H$I8->I$J9->J$KA->K$LB->L$MC->M$ND->N$OE->O$PF->P$QG->Q$RH->R$SI->S$TJ->T$UK->U$VL->V$WM->W$XN->X$YO->Y$ZP->Z$_Q->_$aR->a$bS->b$cT->c$dU->d$eV->e$fW->f$gX->g$hY->h$iZ->i$j_->j$ka->k$lb->l$mc->m$nd->n$oe->o$pf->p$qg->q$rh->r$si->s$tj->t$uk->u$vl->v$wm->w$xn->x$yo->y$zp->z$q->$€r->€$s->$‚t->‚$ƒu->ƒ$„v->„$…w->…$†x->†$‡y->‡$ˆz->ˆ$‰->‰$Š€->Š$‹->‹$Œ‚->Œ$ƒ->$Ž„->Ž$…->$†->$‘‡->‘$’ˆ->’$“‰->“$”Š->”$•‹->•$–Œ->–$—->—$˜Ž->˜$™->™$š->š$›‘->›$œ’->œ$“->$ž”->ž$Ÿ•->Ÿ$ –-> $¡—->¡$¢˜->¢$£™->£$¤š->¤$¥›->¥$¦œ->¦$§->§$¨ž->¨$©Ÿ->©$ª ->ª$«¡->«$¬¢->¬$­£->­$®¤->®$¯¥->¯$°¦->°$±§->±$²¨->²$³©->³$´ª->´$µ«->µ$¶¬->¶$·­->·$¸®->¸$¹¯->¹$º°->º$»±->»$¼²->¼$½³->½$¾´->¾$¿µ->¿$À¶->À$Á·->Á$¸->Â$ù->Ã$ĺ->Ä$Å»->Å$Ƽ->Æ$ǽ->Ç$Ⱦ->È$É¿->É$ÊÀ->Ê$ËÁ->Ë$ÌÂ->Ì$ÍÃ->Í$ÎÄ->Î$ÏÅ->Ï$ÐÆ->Ð$ÑÇ->Ñ$ÒÈ->Ò$ÓÉ->Ó$ÔÊ->Ô$ÕË->Õ$ÖÌ->Ö$×Í->×$ØÎ->Ø$ÙÏ->Ù$ÚÐ->Ú$ÛÑ->Û$ÜÒ->Ü$ÝÓ->Ý$ÞÔ->Þ$ßÕ->ß$àÖ->à$á×->á$âØ->â$ãÙ->ã$äÚ->ä$åÛ->å$æÜ->æ$çÝ->ç$èÞ->è$éß->é$êà->ê$ëá->ë$ìâ->ì$íã->í$îä->î$ïå->ï$ðæ->ð$ñç->ñ$òè->ò$óé->ó$ôê->ô$õë->õ$öì->ö$÷í->÷$øî->ø$ùï->ù$úð->ú$ûñ->û$üò->ü$ýó->ý$þô->þ$ÿõ->ÿ$Aö->A$B÷->B$Cø->C$Dù->D$Eú->E$Fû->F$Gü->G$Hý->H$Iþ->I$Jÿ->J$A0->
$LB-> $MC-> $ND-> $OE->$PF->$QG->$RH->$SI->$TJ->$UK->$VL->$WM->$XN->$YO->$ZP->$_Q->$aR->$bS->$cT->$dU->$eV->$fW-> $gX->!$hY->"$iZ->#$j_->$$ka->%$lb->&$mc->'$nd->($oe->)$pf->*$qg->+$rh->,$si->-$tj->.$uk->/$vl->0$wm->1$xn->2$yo->3$zp->4$q->5$€r->6$s->7$‚t->8$ƒu->9$„v->:$…w->;$†x-><$‡y->=$ˆz->>$‰->?$Š€->@$‹->[$Œ‚->\$ƒ->]$Ž„->^$…->`$†->{$‘‡->|$’ˆ->}$“‰->~$”Š->
$Ÿ•-> $ –-> $¡—-> $¢˜->$£™->$¤š->$¥›->$¦œ->$§->$¨ž->$©Ÿ->$ª ->$«¡->$¬¢->$­£->$®¤->$¯¥->$°¦->$±§->$²¨->$³©->$´ª-> $µ«->!$¶¬->"$·­->#$¸®->$$¹¯->%$º°->&$»±->'$¼²->($½³->)$¾´->*$¿µ->+$À¶->,$Á·->-$¸->.$ù->/$ĺ->0$Å»->1$Ƽ->2$ǽ->3$Ⱦ->4$É¿->5$ÊÀ->6$ËÁ->7$ÌÂ->8$ÍÃ->9$ÎÄ->:$ÏÅ->;$ÐÆ-><$ÑÇ->=$ÒÈ->>$ÓÉ->?$ÔÊ->@$ÕË->[$ÖÌ->\$×Í->]$ØÎ->^$ÙÏ->`$ÚÐ->{$ÛÑ->|$ÜÒ->}$ÝÓ->~$ÞÔ->
@@ -7017,8 +7360,8 @@ $L $M $N $O$P$Q$R$S$T$U$V$W$X$Y$Z$_$a$b$c$d$e$f $g!$h"$i#$j$$k
$“ $” $• $–$—$˜$™$š$›$œ$$ž$Ÿ$ $¡$¢$£$¤$¥$¦$§$¨ $©!$ª"$«#$¬$$­%$®&$¯'$°($±)$²*$³+$´,$µ.$¶/$·:$¸;$¹<$º=$»>$¼?$½@$¾\$¿]$À^$Á`$Â{$Ã|$Ä}$Å~$Æ
$Ñ $Ò $Ó $Ô$Õ$Ö$×$Ø$Ù$Ú$Û$Ü$Ý$Þ$ß$à$á$â$ã$ä$å$æ $ç!$è"$é#$ê$$ë%$ì&$í'$î($ï)$ð*$ñ+$ò,$ó.$ô/$õ:$ö;$÷<$ø=$ù>$ú?$û@$ü\$ý]$þ^$ÿ`${$
$ $ $ $$$$$$$$$$$$$$$$$$$ $!$"$#$$$%$&$'$($)$*$+$,$-$.$/$0$1$2$3$4$5$6$7$8$9$:$;$<$=$>$?$@$[$\$]$^$`$|$}$~{${
-{ { { {{{{{{{{{{{{{{{{{{{ {!{"{#{%{&{'{({){*{+{,{-{.{/{0{1{2{3{4{5{6{7{8{9{:{;{<{={>{?{@{A{B{C{D{E{F{G{H{I{J{K{L{M{N{O{P{Q{R{S{T{U{V{W{X{Y{Z{[{\{]{^{_{`{a{b{c{d{e{f{g{h{i{j{k{l{m{n{o{p{q{r{s{t{u{v{w{x{y{z{{{|{}{~{{€{{‚{ƒ{„{…{†{‡{ˆ{‰{Š{‹{Œ{{Ž{{{‘{’{“{”{•{–{—{˜{™{š{›{œ{{ž{Ÿ{ {¡{¢{£{¤{¥{¦{§{¨{©{ª{«{¬{­{®{¯{°{±{²{³{´{µ{¶{·{¸{¹{º{»{¼{½{¾{¿{À{Á{Â{Ã{Ä{Å{Æ{Ç{È{É{Ê{Ë{Ì{Í{Î{Ï{Ð{Ñ{Ò{Ó{Ô{Õ{Ö{×{Ø{Ù{Ú{Û{Ü{Ý{Þ{ß{à{á{â{ã{ä{å{æ{ç{è{é{ê{ë{ì{í{î{ï{ð{ñ{ò{ó{ô{õ{ö{÷{ø{ù{ú{û{ü{ý{þ{ÿ¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥£‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰ŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒ‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰‰ŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒŒq¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¡¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥
-  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸŸ
+{ { { {{{{{{{{{{{{{{{{{{{ {!{"{#{%{&{'{({){*{+{,{-{.{/{0{1{2{3{4{5{6{7{8{9{:{;{<{={>{?{@{A{B{C{D{E{F{G{H{I{J{K{L{M{N{O{P{Q{R{S{T{U{V{W{X{Y{Z{[{\{]{^{_{`{a{b{c{d{e{f{g{h{i{j{k{l{m{n{o{p{q{r{s{t{u{v{w{x{y{z{{{|{}{~{{€{{‚{ƒ{„{…{†{‡{ˆ{‰{Š{‹{Œ{{Ž{{{‘{’{“{”{•{–{—{˜{™{š{›{œ{{ž{Ÿ{ {¡{¢{£{¤{¥{¦{§{¨{©{ª{«{¬{­{®{¯{°{±{²{³{´{µ{¶{·{¸{¹{º{»{¼{½{¾{¿{À{Á{Â{Ã{Ä{Å{Æ{Ç{È{É{Ê{Ë{Ì{Í{Î{Ï{Ð{Ñ{Ò{Ó{Ô{Õ{Ö{×{Ø{Ù{Ú{Û{Ü{Ý{Þ{ß{à{á{â{ã{ä{å{æ{ç{è{é{ê{ë{ì{í{î{ï{ð{ñ{ò{ó{ô{õ{ö{÷{ø{ù{ú{û{ü{ý{þ{ÿ
+  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
 !"#%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ$A0->A$B1->B$C2->C$D3->D$E4->E$F5->F$G6->G$H7->H$I8->I$J9->J$KA->K$LB->L$MC->M$ND->N$OE->O$PF->P$QG->Q$RH->R$SI->S$TJ->T$UK->U$VL->V$WM->W$XN->X$YO->Y$ZP->Z$_Q->_$aR->a$bS->b$cT->c$dU->d$eV->e$fW->f$gX->g$hY->h$iZ->i$j_->j$ka->k$lb->l$mc->m$nd->n$oe->o$pf->p$qg->q$rh->r$si->s$tj->t$uk->u$vl->v$wm->w$xn->x$yo->y$zp->z$q->$€r->€$s->$‚t->‚$ƒu->ƒ$„v->„$…w->…$†x->†$‡y->‡$ˆz->ˆ$‰->‰$Š€->Š$‹->‹$Œ‚->Œ$ƒ->$Ž„->Ž$…->$†->$‘‡->‘$’ˆ->’$“‰->“$”Š->”$•‹->•$–Œ->–$—->—$˜Ž->˜$™->™$š->š$›‘->›$œ’->œ$“->$ž”->ž$Ÿ•->Ÿ$ –-> $¡—->¡$¢˜->¢$£™->£$¤š->¤$¥›->¥$¦œ->¦$§->§$¨ž->¨$©Ÿ->©$ª ->ª$«¡->«$¬¢->¬$­£->­$®¤->®$¯¥->¯$°¦->°$±§->±$²¨->²$³©->³$´ª->´$µ«->µ$¶¬->¶$·­->·$¸®->¸$¹¯->¹$º°->º$»±->»$¼²->¼$½³->½$¾´->¾$¿µ->¿$À¶->À$Á·->Á$¸->Â$ù->Ã$ĺ->Ä$Å»->Å$Ƽ->Æ$ǽ->Ç$Ⱦ->È$É¿->É$ÊÀ->Ê$ËÁ->Ë$ÌÂ->Ì$ÍÃ->Í$ÎÄ->Î$ÏÅ->Ï$ÐÆ->Ð$ÑÇ->Ñ$ÒÈ->Ò$ÓÉ->Ó$ÔÊ->Ô$ÕË->Õ$ÖÌ->Ö$×Í->×$ØÎ->Ø$ÙÏ->Ù$ÚÐ->Ú$ÛÑ->Û$ÜÒ->Ü$ÝÓ->Ý$ÞÔ->Þ$ßÕ->ß$àÖ->à$á×->á$âØ->â$ãÙ->ã$äÚ->ä$åÛ->å$æÜ->æ$çÝ->ç$èÞ->è$éß->é$êà->ê$ëá->ë$ìâ->ì$íã->í$îä->î$ïå->ï$ðæ->ð$ñç->ñ$òè->ò$óé->ó$ôê->ô$õë->õ$öì->ö$÷í->÷$øî->ø$ùï->ù$úð->ú$ûñ->û$üò->ü$ýó->ý$þô->þ$ÿõ->ÿ$Aö->A$B÷->B$Cø->C$Dù->D$Eú->E$Fû->F$Gü->G$Hý->H$Iþ->I$Jÿ->J$A0->
$LB-> $MC-> $ND-> $OE->$PF->$QG->$RH->$SI->$TJ->$UK->$VL->$WM->$XN->$YO->$ZP->$_Q->$aR->$bS->$cT->$dU->$eV->$fW-> $gX->!$hY->"$iZ->#$j_->$$ka->%$lb->&$mc->'$nd->($oe->)$pf->*$qg->+$rh->,$si->-$tj->.$uk->/$vl->0$wm->1$xn->2$yo->3$zp->4$q->5$€r->6$s->7$‚t->8$ƒu->9$„v->:$…w->;$†x-><$‡y->=$ˆz->>$‰->?$Š€->@$‹->[$Œ‚->\$ƒ->]$Ž„->^$…->`$†->{$‘‡->|$’ˆ->}$“‰->~$”Š->
$Ÿ•-> $ –-> $¡—-> $¢˜->$£™->$¤š->$¥›->$¦œ->$§->$¨ž->$©Ÿ->$ª ->$«¡->$¬¢->$­£->$®¤->$¯¥->$°¦->$±§->$²¨->$³©->$´ª-> $µ«->!$¶¬->"$·­->#$¸®->$$¹¯->%$º°->&$»±->'$¼²->($½³->)$¾´->*$¿µ->+$À¶->,$Á·->-$¸->.$ù->/$ĺ->0$Å»->1$Ƽ->2$ǽ->3$Ⱦ->4$É¿->5$ÊÀ->6$ËÁ->7$ÌÂ->8$ÍÃ->9$ÎÄ->:$ÏÅ->;$ÐÆ-><$ÑÇ->=$ÒÈ->>$ÓÉ->?$ÔÊ->@$ÕË->[$ÖÌ->\$×Í->]$ØÎ->^$ÙÏ->`$ÚÐ->{$ÛÑ->|$ÜÒ->}$ÝÓ->~$ÞÔ->
@@ -7031,196 +7374,7 @@ $L $M $N $O$P$Q$R$S$T$U$V$W$X$Y$Z$_$a$b$c$d$e$f $g!$h"$i#$j$$k
$“ $” $• $–$—$˜$™$š$›$œ$$ž$Ÿ$ $¡$¢$£$¤$¥$¦$§$¨ $©!$ª"$«#$¬$$­%$®&$¯'$°($±)$²*$³+$´,$µ.$¶/$·:$¸;$¹<$º=$»>$¼?$½@$¾\$¿]$À^$Á`$Â{$Ã|$Ä}$Å~$Æ
$Ñ $Ò $Ó $Ô$Õ$Ö$×$Ø$Ù$Ú$Û$Ü$Ý$Þ$ß$à$á$â$ã$ä$å$æ $ç!$è"$é#$ê$$ë%$ì&$í'$î($ï)$ð*$ñ+$ò,$ó.$ô/$õ:$ö;$÷<$ø=$ù>$ú?$û@$ü\$ý]$þ^$ÿ`${$
$ $ $ $$$$$$$$$$$$$$$$$$$ $!$"$#$$$%$&$'$($)$*$+$,$-$.$/$0$1$2$3$4$5$6$7$8$9$:$;$<$=$>$?$@$[$\$]$^$`$|$}$~{${
-{ { { {{{{{{{{{{{{{{{{{{{ {!{"{#{%{&{'{({){*{+{,{-{.{/{0{1{2{3{4{5{6{7{8{9{:{;{<{={>{?{@{A{B{C{D{E{F{G{H{I{J{K{L{M{N{O{P{Q{R{S{T{U{V{W{X{Y{Z{[{\{]{^{_{`{a{b{c{d{e{f{g{h{i{j{k{l{m{n{o{p{q{r{s{t{u{v{w{x{y{z{{{|{}{~{{€{{‚{ƒ{„{…{†{‡{ˆ{‰{Š{‹{Œ{{Ž{{{‘{’{“{”{•{–{—{˜{™{š{›{œ{{ž{Ÿ{ {¡{¢{£{¤{¥{¦{§{¨{©{ª{«{¬{­{®{¯{°{±{²{³{´{µ{¶{·{¸{¹{º{»{¼{½{¾{¿{À{Á{Â{Ã{Ä{Å{Æ{Ç{È{É{Ê{Ë{Ì{Í{Î{Ï{Ð{Ñ{Ò{Ó{Ô{Õ{Ö{×{Ø{Ù{Ú{Û{Ü{Ý{Þ{ß{à{á{â{ã{ä{å{æ{ç{è{é{ê{ë{ì{í{î{ï{ð{ñ{ò{ó{ô{õ{ö{÷{ø{ù{ú{û{ü{ý{þ{ÿ§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§ŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠŠr§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§¢§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§
-
-
-   
-
-
-   
-
-
-  
-
-
-   
-
-
-   
-
-
-   
-
-
-   
-
-
-! " # $
-
-
-% & ' (
-
-
-) * + ,
-
-
-- . / 0
-
-
-1 2 3 4
-
-
-5 6 7 8
-
-
-9 : ; <
-
-
-= > ? @
-
-
-A B C D
-
-
-E F G H
-
-
-I J K L
-
-
-M N O P
-
-
-Q R S T
-
-
-U V W X
-
-
-Y Z [ \
-
-
-] ^ _ `
-
-
-a b c d
-
-
-e f g h
-
-
-i j k l
-
-
-m n o p
-
-
-q r s t
-
-
-u v w x
-
-
-y z { |
-
-
-} ~  €
-
-
- ‚ ƒ „
-
-
-… † ‡ ˆ
-
-
-‰ Š ‹ Œ
-
-
- Ž
-
-
-‘ ’ “ ”
-
-
-• – — ˜
-
-
-™ š › œ
-
-
- ž Ÿ  
-
-
-¡ ¢ £ ¤
-
-
-¥ ¦ § ¨
-
-
-© ª « ¬
-
-
-­ ® ¯ °
-
-
-± ² ³ ´
-
-
-µ ¶ · ¸
-
-
-¹ º » ¼
-
-
-½ ¾ ¿ À
-
-
-Á Â Ã Ä
-
-
-Å Æ Ç È
-
-
-É Ê Ë Ì
-
-
-Í Î Ï Ð
-
-
-Ñ Ò Ó Ô
-
-
-Õ Ö × Ø
-
-
-Ù Ú Û Ü
-
-
-Ý Þ ß à
-
-
-á â ã ä
-
-
-å æ ç è
-
-
-é ê ë ì
-
-
-í î ï ð
-
-
-ñ ò ó ô
-
-
-õ ö ÷ ø
-
-
-ù ú û ü
-
-
-ý þ ÿ
+{ { { {{{{{{{{{{{{{{{{{{{ {!{"{#{%{&{'{({){*{+{,{-{.{/{0{1{2{3{4{5{6{7{8{9{:{;{<{={>{?{@{A{B{C{D{E{F{G{H{I{J{K{L{M{N{O{P{Q{R{S{T{U{V{W{X{Y{Z{[{\{]{^{_{`{a{b{c{d{e{f{g{h{i{j{k{l{m{n{o{p{q{r{s{t{u{v{w{x{y{z{{{|{}{~{{€{{‚{ƒ{„{…{†{‡{ˆ{‰{Š{‹{Œ{{Ž{{{‘{’{“{”{•{–{—{˜{™{š{›{œ{{ž{Ÿ{ {¡{¢{£{¤{¥{¦{§{¨{©{ª{«{¬{­{®{¯{°{±{²{³{´{µ{¶{·{¸{¹{º{»{¼{½{¾{¿{À{Á{Â{Ã{Ä{Å{Æ{Ç{È{É{Ê{Ë{Ì{Í{Î{Ï{Ð{Ñ{Ò{Ó{Ô{Õ{Ö{×{Ø{Ù{Ú{Û{Ü{Ý{Þ{ß{à{á{â{ã{ä{å{æ{ç{è{é{ê{ë{ì{í{î{ï{ð{ñ{ò{ó{ô{õ{ö{÷{ø{ù{ú{û{ü{ý{þ{ÿ
   
@@ -7497,7 +7651,7 @@ $ $ $ $$$$$$$$$$$$$$$$$$$ $!$"$#$$$%$&$'$($)$*$+$,$-$.$/$0$1$2
.11 .22 .33 .44.55.66.77.88.99.00.11.22.33.44.55.66.77.88.99.00.11.22 .33!.44".55#.66$.77%.88&.99'.00(.11).22*.33+.44,.55-.66..77/.88:.99;.00<.11=.22>.33?.44@.55A.66B.77C.88D.99F.00G.11H.22I.33J.44K.55L.66M.77N.88O.99P.00Q.11R.22S.33T.44U.55V.66W.77X.88Y.99Z.00[.11\.22].33^.44_.55`.66a.77b.88c.99d.00f.11g.22h.33i.44j.55k.66l.77m.88n.99o.00p.11q.22r.33s.44t.55u.66v.77w.88x.99y.00z.11{.22|.33}.44~.55.66€.77.88‚.99ƒ.00„.11….22†.33‡.44ˆ.55‰.66Š.77‹.88Œ.99.00Ž.11.22.33‘.44’.55“.66”.77•.88–.99—.00˜.11™.22š.33›.44œ.55.66ž.77Ÿ.88 .99¡.00¢.11£.22¤.33¥.44¦.55§.66¨.77©.88ª.99«.00¬.11­.22®.33¯.44°.55±.66².77³.88´.99µ.00¶.11·.22¸.33¹.44º.55».66¼.77½.88¾.99¿.00À.11Á.22Â.33Ã.44Ä.55Å.66Æ.77Ç.88È.99É.00Ê.11Ë.22Ì.33Í.44Î.55Ï.66Ð.77Ñ.88Ò.99Ó.00Ô.11Õ.22Ö.33×.44Ø.55Ù.66Ú.77Û.88Ü.99Ý.00Þ.11ß.22à.33á.44â.55ã.66ä.77å.88æ.99ç.00è.11é.22ê.33ë.44ì.55í.66î.77ï.88ð.99ñ.00ò.11ó.22ô.33õ.44ö.55÷.66ø.77ù.88ú.99û.00ü.11ý.22þ.33ÿ.0E+0
.1e-1 .2E+2 .3e-3 .4E+4.5e-5.6E+6.7e-7.8E+8.9e-9.0E+0.1e-1.2E+2.3e-3.4E+4.5e-5.6E+6.7e-7.8E+8.9e-9.0E+0.1e-1.2E+2 .3e-3!.4E+4".5e-5#.6E+6$.7e-7%.8E+8&.9e-9'.0E+0(.1e-1).2E+2*.3e-3+.4E+4,.5e-5-.6E+6..7e-7/.8E+8:.9e-9;.0E+0<.1e-1=.2E+2>.3e-3?.4E+4@.5e-5A.6E+6B.7e-7C.8E+8D.9e-9E.0E+0F.1e-1G.2E+2H.3e-3I.4E+4J.5e-5K.6E+6L.7e-7M.8E+8N.9e-9O.0E+0P.1e-1Q.2E+2R.3e-3S.4E+4T.5e-5U.6E+6V.7e-7W.8E+8X.9e-9Y.0E+0Z.1e-1[.2E+2\.3e-3].4E+4^.5e-5_.6E+6`.7e-7a.8E+8b.9e-9c.0E+0d.1e-1e.2E+2f.3e-3g.4E+4h.5e-5i.6E+6j.7e-7k.8E+8l.9e-9m.0E+0n.1e-1o.2E+2p.3e-3q.4E+4r.5e-5s.6E+6t.7e-7u.8E+8v.9e-9w.0E+0x.1e-1y.2E+2z.3e-3{.4E+4|.5e-5}.6E+6~.7e-7.8E+8€.9e-9.0E+0‚.1e-1ƒ.2E+2„.3e-3….4E+4†.5e-5‡.6E+6ˆ.7e-7‰.8E+8Š.9e-9‹.0E+0Œ.1e-1.2E+2Ž.3e-3.4E+4.5e-5‘.6E+6’.7e-7“.8E+8”.9e-9•.0E+0–.1e-1—.2E+2˜.3e-3™.4E+4š.5e-5›.6E+6œ.7e-7.8E+8ž.9e-9Ÿ.0E+0 .1e-1¡.2E+2¢.3e-3£.4E+4¤.5e-5¥.6E+6¦.7e-7§.8E+8¨.9e-9©.0E+0ª.1e-1«.2E+2¬.3e-3­.4E+4®.5e-5¯.6E+6°.7e-7±.8E+8².9e-9³.0E+0´.1e-1µ.2E+2¶.3e-3·.4E+4¸.5e-5¹.6E+6º.7e-7».8E+8¼.9e-9½.0E+0¾.1e-1¿.2E+2À.3e-3Á.4E+4Â.5e-5Ã.6E+6Ä.7e-7Å.8E+8Æ.9e-9Ç.0E+0È.1e-1É.2E+2Ê.3e-3Ë.4E+4Ì.5e-5Í.6E+6Î.7e-7Ï.8E+8Ð.9e-9Ñ.0E+0Ò.1e-1Ó.2E+2Ô.3e-3Õ.4E+4Ö.5e-5×.6E+6Ø.7e-7Ù.8E+8Ú.9e-9Û.0E+0Ü.1e-1Ý.2E+2Þ.3e-3ß.4E+4à.5e-5á.6E+6â.7e-7ã.8E+8ä.9e-9å.0E+0æ.1e-1ç.2E+2è.3e-3é.4E+4ê.5e-5ë.6E+6ì.7e-7í.8E+8î.9e-9ï.0E+0ð.1e-1ñ.2E+2ò.3e-3ó.4E+4ô.5e-5õ.6E+6ö.7e-7÷.8E+8ø.9e-9ù.0E+0ú.1e-1û.2E+2ü.3e-3ý.4E+4þ.5e-5ÿ.0
.1 .2 .3 .4.5.6.7.8.9.0.1.2.3.4.5.6.7.8.9.0.1.2 .3!.4".5#.6$.7%.8&.9'.0(.1).2*.3+.4,.5-.6..7/.8:.9;.0<.1=.2>.3?.4@.5A.6B.7C.8D.9F.0G.1H.2I.3J.4K.5L.6M.7N.8O.9P.0Q.1R.2S.3T.4U.5V.6W.7X.8Y.9Z.0[.1\.2].3^.4_.5`.6a.7b.8c.9d.0f.1g.2h.3i.4j.5k.6l.7m.8n.9o.0p.1q.2r.3s.4t.5u.6v.7w.8x.9y.0z.1{.2|.3}.4~.5.6€.7.8‚.9ƒ.0„.1….2†.3‡.4ˆ.5‰.6Š.7‹.8Œ.9.0Ž.1.2.3‘.4’.5“.6”.7•.8–.9—.0˜.1™.2š.3›.4œ.5.6ž.7Ÿ.8 .9¡.0¢.1£.2¤.3¥.4¦.5§.6¨.7©.8ª.9«.0¬.1­.2®.3¯.4°.5±.6².7³.8´.9µ.0¶.1·.2¸.3¹.4º.5».6¼.7½.8¾.9¿.0À.1Á.2Â.3Ã.4Ä.5Å.6Æ.7Ç.8È.9É.0Ê.1Ë.2Ì.3Í.4Î.5Ï.6Ð.7Ñ.8Ò.9Ó.0Ô.1Õ.2Ö.3×.4Ø.5Ù.6Ú.7Û.8Ü.9Ý.0Þ.1ß.2à.3á.4â.5ã.6ä.7å.8æ.9ç.0è.1é.2ê.3ë.4ì.5í.6î.7ï.8ð.9ñ.0ò.1ó.2ô.3õ.4ö.5÷.6ø.7ù.8ú.9û.0ü.1ý.2þ.3ÿ.=.
-. . . ................... .!.".#.$.%.&.'.(.).*.+.,.-./.:.;.<.>.?.@.A.B.C.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.U.V.W.X.Y.Z.[.\.].^._.`.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.{.|.}.~..€..‚.ƒ.„.….†.‡.ˆ.‰.Š.‹.Œ..Ž...‘.’.“.”.•.–.—.˜.™.š.›.œ..ž.Ÿ. .¡.¢.£.¤.¥.¦.§.¨.©.ª.«.¬.­.®.¯.°.±.².³.´.µ.¶.·.¸.¹.º.».¼.½.¾.¿.À.Á.Â.Ã.Ä.Å.Æ.Ç.È.É.Ê.Ë.Ì.Í.Î.Ï.Ð.Ñ.Ò.Ó.Ô.Õ.Ö.×.Ø.Ù.Ú.Û.Ü.Ý.Þ.ß.à.á.â.ã.ä.å.æ.ç.è.é.ê.ë.ì.í.î.ï.ð.ñ.ò.ó.ô.õ.ö.÷.ø.ù.ú.û.ü.ý.þ.ÿ/**
+. . . ................... .!.".#.$.%.&.'.(.).*.+.,.-./.:.;.<.>.?.@.A.B.C.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.U.V.W.X.Y.Z.[.\.].^._.`.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.{.|.}.~..€..‚.ƒ.„.….†.‡.ˆ.‰.Š.‹.Œ..Ž...‘.’.“.”.•.–.—.˜.™.š.›.œ..ž.Ÿ. .¡.¢.£.¤.¥.¦.§.¨.©.ª.«.¬.­.®.¯.°.±.².³.´.µ.¶.·.¸.¹.º.».¼.½.¾.¿.À.Á.Â.Ã.Ä.Å.Æ.Ç.È.É.Ê.Ë.Ì.Í.Î.Ï.Ð.Ñ.Ò.Ó.Ô.Õ.Ö.×.Ø.Ù.Ú.Û.Ü.Ý.Þ.ß.à.á.â.ã.ä.å.æ.ç.è.é.ê.ë.ì.í.î.ï.ð.ñ.ò.ó.ô.õ.ö.÷.ø.ù.ú.û.ü.ý.þ.ÿ///**
/** /** /** /**
@@ -7687,16 +7841,19 @@ y/** z/** {/** |/**
õ/** ö/** ÷/** ø/**
ù/** ú/** û/** ü/**
ý/** þ/** ÿ/**
-/* /* /* /*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/* /*!/*"/*#/*$/*%/*&/*'/*(/*)/*+/*,/*-/*./*//*0/*1/*2/*3/*4/*5/*6/*7/*8/*9/*:/*;/*</*=/*>/*?/*@/*A/*B/*C/*D/*E/*F/*G/*H/*I/*J/*K/*L/*M/*N/*O/*P/*Q/*R/*S/*T/*U/*V/*W/*X/*Y/*Z/*[/*\/*]/*^/*_/*`/*a/*b/*c/*d/*e/*f/*g/*h/*i/*j/*k/*l/*m/*n/*o/*p/*q/*r/*s/*t/*u/*v/*w/*x/*y/*z/*{/*|/*}/*~/*/*€/*/*‚/*ƒ/*„/*…/*†/*‡/*ˆ/*‰/*Š/*‹/*Œ/*/*Ž/*/*/*‘/*’/*“/*”/*•/*–/*—/*˜/*™/*š/*›/*œ/*/*ž/*Ÿ/* /*¡/*¢/*£/*¤/*¥/*¦/*§/*¨/*©/*ª/*«/*¬/*­/*®/*¯/*°/*±/*²/*³/*´/*µ/*¶/*·/*¸/*¹/*º/*»/*¼/*½/*¾/*¿/*À/*Á/*Â/*Ã/*Ä/*Å/*Æ/*Ç/*È/*É/*Ê/*Ë/*Ì/*Í/*Î/*Ï/*Ð/*Ñ/*Ò/*Ó/*Ô/*Õ/*Ö/*×/*Ø/*Ù/*Ú/*Û/*Ü/*Ý/*Þ/*ß/*à/*á/*â/*ã/*ä/*å/*æ/*ç/*è/*é/*ê/*ë/*ì/*í/*î/*ï/*ð/*ñ/*ò/*ó/*ô/*õ/*ö/*÷/*ø/*ù/*ú/*û/*ü/*ý/*þ/*ÿ///=/
-/ / / /////////////////// /!/"/#/$/%/&/'/(/)/+/,/-/./0/1/2/3/4/5/6/7/8/9/:/;/</>/?/@/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/[/\/]/^/_/`/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/{/|/}/~//€//‚/ƒ/„/…/†/‡/ˆ/‰/Š/‹/Œ//Ž///‘/’/“/”/•/–/—/˜/™/š/›/œ//ž/Ÿ/ /¡/¢/£/¤/¥/¦/§/¨/©/ª/«/¬/­/®/¯/°/±/²/³/´/µ/¶/·/¸/¹/º/»/¼/½/¾/¿/À/Á/Â/Ã/Ä/Å/Æ/Ç/È/É/Ê/Ë/Ì/Í/Î/Ï/Ð/Ñ/Ò/Ó/Ô/Õ/Ö/×/Ø/Ù/Ú/Û/Ü/Ý/Þ/ß/à/á/â/ã/ä/å/æ/ç/è/é/ê/ë/ì/í/î/ï/ð/ñ/ò/ó/ô/õ/ö/÷/ø/ù/ú/û/ü/ý/þ/ÿ0.0E+0
-0.1e-1 0.2E+2 0.3e-3 0.4E+40.5e-50.6E+60.7e-70.8E+80.9e-90.0E+00.1e-10.2E+20.3e-30.4E+40.5e-50.6E+60.7e-70.8E+80.9e-90.0E+00.1e-10.2E+2 0.3e-3!0.4E+4"0.5e-5#0.6E+6$0.7e-7%0.8E+8&0.9e-9'0.0E+0(0.1e-1)0.2E+2*0.3e-3+0.4E+4,0.5e-5-0.6E+6.0.7e-7/0.8E+8:0.9e-9;0.0E+0<0.1e-1=0.2E+2>0.3e-3?0.4E+4@0.5e-5A0.6E+6B0.7e-7C0.8E+8D0.9e-9E0.0E+0F0.1e-1G0.2E+2H0.3e-3I0.4E+4J0.5e-5K0.6E+6L0.7e-7M0.8E+8N0.9e-9O0.0E+0P0.1e-1Q0.2E+2R0.3e-3S0.4E+4T0.5e-5U0.6E+6V0.7e-7W0.8E+8X0.9e-9Y0.0E+0Z0.1e-1[0.2E+2\0.3e-3]0.4E+4^0.5e-5_0.6E+6`0.7e-7a0.8E+8b0.9e-9c0.0E+0d0.1e-1e0.2E+2f0.3e-3g0.4E+4h0.5e-5i0.6E+6j0.7e-7k0.8E+8l0.9e-9m0.0E+0n0.1e-1o0.2E+2p0.3e-3q0.4E+4r0.5e-5s0.6E+6t0.7e-7u0.8E+8v0.9e-9w0.0E+0x0.1e-1y0.2E+2z0.3e-3{0.4E+4|0.5e-5}0.6E+6~0.7e-70.8E+8€0.9e-90.0E+0‚0.1e-1ƒ0.2E+2„0.3e-3…0.4E+4†0.5e-5‡0.6E+6ˆ0.7e-7‰0.8E+8Š0.9e-9‹0.0E+0Œ0.1e-10.2E+2Ž0.3e-30.4E+40.5e-5‘0.6E+6’0.7e-7“0.8E+8”0.9e-9•0.0E+0–0.1e-1—0.2E+2˜0.3e-3™0.4E+4š0.5e-5›0.6E+6œ0.7e-70.8E+8ž0.9e-9Ÿ0.0E+0 0.1e-1¡0.2E+2¢0.3e-3£0.4E+4¤0.5e-5¥0.6E+6¦0.7e-7§0.8E+8¨0.9e-9©0.0E+0ª0.1e-1«0.2E+2¬0.3e-3­0.4E+4®0.5e-5¯0.6E+6°0.7e-7±0.8E+8²0.9e-9³0.0E+0´0.1e-1µ0.2E+2¶0.3e-3·0.4E+4¸0.5e-5¹0.6E+6º0.7e-7»0.8E+8¼0.9e-9½0.0E+0¾0.1e-1¿0.2E+2À0.3e-3Á0.4E+4Â0.5e-5Ã0.6E+6Ä0.7e-7Å0.8E+8Æ0.9e-9Ç0.0E+0È0.1e-1É0.2E+2Ê0.3e-3Ë0.4E+4Ì0.5e-5Í0.6E+6Î0.7e-7Ï0.8E+8Ð0.9e-9Ñ0.0E+0Ò0.1e-1Ó0.2E+2Ô0.3e-3Õ0.4E+4Ö0.5e-5×0.6E+6Ø0.7e-7Ù0.8E+8Ú0.9e-9Û0.0E+0Ü0.1e-1Ý0.2E+2Þ0.3e-3ß0.4E+4à0.5e-5á0.6E+6â0.7e-7ã0.8E+8ä0.9e-9å0.0E+0æ0.1e-1ç0.2E+2è0.3e-3é0.4E+4ê0.5e-5ë0.6E+6ì0.7e-7í0.8E+8î0.9e-9ï0.0E+0ð0.1e-1ñ0.2E+2ò0.3e-3ó0.4E+4ô0.5e-5õ0.6E+6ö0.7e-7÷0.8E+8ø0.9e-9ù0.0E+0ú0.1e-1û0.2E+2ü0.3e-3ý0.4E+4þ0.5e-5ÿ0.0
-0.1 0.2 0.3 0.40.50.60.70.80.90.00.10.20.30.40.50.60.70.80.90.00.10.2 0.3!0.4"0.5#0.6$0.7%0.8&0.9'0.0(0.1)0.2*0.3+0.4,0.5-0.6.0.7/0.8:0.9;0.0<0.1=0.2>0.3?0.4@0.5A0.6B0.7C0.8D0.9F0.0G0.1H0.2I0.3J0.4K0.5L0.6M0.7N0.8O0.9P0.0Q0.1R0.2S0.3T0.4U0.5V0.6W0.7X0.8Y0.9Z0.0[0.1\0.2]0.3^0.4_0.5`0.6a0.7b0.8c0.9d0.0f0.1g0.2h0.3i0.4j0.5k0.6l0.7m0.8n0.9o0.0p0.1q0.2r0.3s0.4t0.5u0.6v0.7w0.8x0.9y0.0z0.1{0.2|0.3}0.4~0.50.6€0.70.8‚0.9ƒ0.0„0.1…0.2†0.3‡0.4ˆ0.5‰0.6Š0.7‹0.8Œ0.90.0Ž0.10.20.3‘0.4’0.5“0.6”0.7•0.8–0.9—0.0˜0.1™0.2š0.3›0.4œ0.50.6ž0.7Ÿ0.8 0.9¡0.0¢0.1£0.2¤0.3¥0.4¦0.5§0.6¨0.7©0.8ª0.9«0.0¬0.1­0.2®0.3¯0.4°0.5±0.6²0.7³0.8´0.9µ0.0¶0.1·0.2¸0.3¹0.4º0.5»0.6¼0.7½0.8¾0.9¿0.0À0.1Á0.2Â0.3Ã0.4Ä0.5Å0.6Æ0.7Ç0.8È0.9É0.0Ê0.1Ë0.2Ì0.3Í0.4Î0.5Ï0.6Ð0.7Ñ0.8Ò0.9Ó0.0Ô0.1Õ0.2Ö0.3×0.4Ø0.5Ù0.6Ú0.7Û0.8Ü0.9Ý0.0Þ0.1ß0.2à0.3á0.4â0.5ã0.6ä0.7å0.8æ0.9ç0.0è0.1é0.2ê0.3ë0.4ì0.5í0.6î0.7ï0.8ð0.9ñ0.0ò0.1ó0.2ô0.3õ0.4ö0.5÷0.6ø0.7ù0.8ú0.9û0.0ü0.1ý0.2þ0.3ÿ0.E+0
-0.e-1 0.E+2 0.e-3 0.E+40.e-50.E+60.e-70.E+80.e-90.E+00.e-10.E+20.e-30.E+40.e-50.E+60.e-70.E+80.e-90.E+00.e-10.E+2 0.e-3!0.E+4"0.e-5#0.E+6$0.e-7%0.E+8&0.e-9'0.E+0(0.e-1)0.E+2*0.e-3+0.E+4,0.e-5-0.E+6.0.e-7/0.E+8:0.e-9;0.E+0<0.e-1=0.E+2>0.e-3?0.E+4@0.e-5A0.E+6B0.e-7C0.E+8D0.e-9E0.E+0F0.e-1G0.E+2H0.e-3I0.E+4J0.e-5K0.E+6L0.e-7M0.E+8N0.e-9O0.E+0P0.e-1Q0.E+2R0.e-3S0.E+4T0.e-5U0.E+6V0.e-7W0.E+8X0.e-9Y0.E+0Z0.e-1[0.E+2\0.e-3]0.E+4^0.e-5_0.E+6`0.e-7a0.E+8b0.e-9c0.E+0d0.e-1e0.E+2f0.e-3g0.E+4h0.e-5i0.E+6j0.e-7k0.E+8l0.e-9m0.E+0n0.e-1o0.E+2p0.e-3q0.E+4r0.e-5s0.E+6t0.e-7u0.E+8v0.e-9w0.E+0x0.e-1y0.E+2z0.e-3{0.E+4|0.e-5}0.E+6~0.e-70.E+8€0.e-90.E+0‚0.e-1ƒ0.E+2„0.e-3…0.E+4†0.e-5‡0.E+6ˆ0.e-7‰0.E+8Š0.e-9‹0.E+0Œ0.e-10.E+2Ž0.e-30.E+40.e-5‘0.E+6’0.e-7“0.E+8”0.e-9•0.E+0–0.e-1—0.E+2˜0.e-3™0.E+4š0.e-5›0.E+6œ0.e-70.E+8ž0.e-9Ÿ0.E+0 0.e-1¡0.E+2¢0.e-3£0.E+4¤0.e-5¥0.E+6¦0.e-7§0.E+8¨0.e-9©0.E+0ª0.e-1«0.E+2¬0.e-3­0.E+4®0.e-5¯0.E+6°0.e-7±0.E+8²0.e-9³0.E+0´0.e-1µ0.E+2¶0.e-3·0.E+4¸0.e-5¹0.E+6º0.e-7»0.E+8¼0.e-9½0.E+0¾0.e-1¿0.E+2À0.e-3Á0.E+4Â0.e-5Ã0.E+6Ä0.e-7Å0.E+8Æ0.e-9Ç0.E+0È0.e-1É0.E+2Ê0.e-3Ë0.E+4Ì0.e-5Í0.E+6Î0.e-7Ï0.E+8Ð0.e-9Ñ0.E+0Ò0.e-1Ó0.E+2Ô0.e-3Õ0.E+4Ö0.e-5×0.E+6Ø0.e-7Ù0.E+8Ú0.e-9Û0.E+0Ü0.e-1Ý0.E+2Þ0.e-3ß0.E+4à0.e-5á0.E+6â0.e-7ã0.E+8ä0.e-9å0.E+0æ0.e-1ç0.E+2è0.e-3é0.E+4ê0.e-5ë0.E+6ì0.e-7í0.E+8î0.e-9ï0.E+0ð0.e-1ñ0.E+2ò0.e-3ó0.E+4ô0.e-5õ0.E+6ö0.e-7÷0.E+8ø0.e-9ù0.E+0ú0.e-1û0.E+2ü0.e-3ý0.E+4þ0.e-5ÿ0.
-0. 0. 0. 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0. 0.!0."0.#0.$0.%0.&0.'0.(0.)0.*0.+0.,0.-0..0./0.:0.;0.<0.=0.>0.?0.@0.A0.B0.C0.D0.F0.G0.H0.I0.J0.K0.L0.M0.N0.O0.P0.Q0.R0.S0.T0.U0.V0.W0.X0.Y0.Z0.[0.\0.]0.^0._0.`0.a0.b0.c0.d0.f0.g0.h0.i0.j0.k0.l0.m0.n0.o0.p0.q0.r0.s0.t0.u0.v0.w0.x0.y0.z0.{0.|0.}0.~0.0.€0.0.‚0.ƒ0.„0.…0.†0.‡0.ˆ0.‰0.Š0.‹0.Œ0.0.Ž0.0.0.‘0.’0.“0.”0.•0.–0.—0.˜0.™0.š0.›0.œ0.0.ž0.Ÿ0. 0.¡0.¢0.£0.¤0.¥0.¦0.§0.¨0.©0.ª0.«0.¬0.­0.®0.¯0.°0.±0.²0.³0.´0.µ0.¶0.·0.¸0.¹0.º0.»0.¼0.½0.¾0.¿0.À0.Á0.Â0.Ã0.Ä0.Å0.Æ0.Ç0.È0.É0.Ê0.Ë0.Ì0.Í0.Î0.Ï0.Ð0.Ñ0.Ò0.Ó0.Ô0.Õ0.Ö0.×0.Ø0.Ù0.Ú0.Û0.Ü0.Ý0.Þ0.ß0.à0.á0.â0.ã0.ä0.å0.æ0.ç0.è0.é0.ê0.ë0.ì0.í0.î0.ï0.ð0.ñ0.ò0.ó0.ô0.õ0.ö0.÷0.ø0.ù0.ú0.û0.ü0.ý0.þ0.ÿ00.E+0
-01.e-1 02.E+2 03.e-3 04.E+405.e-506.E+607.e-708.E+809.e-900.E+001.e-102.E+203.e-304.E+405.e-506.E+607.e-708.E+809.e-900.E+001.e-102.E+2 03.e-3!04.E+4"05.e-5#06.E+6$07.e-7%08.E+8&09.e-9'00.E+0(01.e-1)02.E+2*03.e-3+04.E+4,05.e-5-06.E+6.07.e-7/08.E+8:09.e-9;00.E+0<01.e-1=02.E+2>03.e-3?04.E+4@05.e-5A06.E+6B07.e-7C08.E+8D09.e-9E00.E+0F01.e-1G02.E+2H03.e-3I04.E+4J05.e-5K06.E+6L07.e-7M08.E+8N09.e-9O00.E+0P01.e-1Q02.E+2R03.e-3S04.E+4T05.e-5U06.E+6V07.e-7W08.E+8X09.e-9Y00.E+0Z01.e-1[02.E+2\03.e-3]04.E+4^05.e-5_06.E+6`07.e-7a08.E+8b09.e-9c00.E+0d01.e-1e02.E+2f03.e-3g04.E+4h05.e-5i06.E+6j07.e-7k08.E+8l09.e-9m00.E+0n01.e-1o02.E+2p03.e-3q04.E+4r05.e-5s06.E+6t07.e-7u08.E+8v09.e-9w00.E+0x01.e-1y02.E+2z03.e-3{04.E+4|05.e-5}06.E+6~07.e-708.E+8€09.e-900.E+0‚01.e-1ƒ02.E+2„03.e-3…04.E+4†05.e-5‡06.E+6ˆ07.e-7‰08.E+8Š09.e-9‹00.E+0Œ01.e-102.E+2Ž03.e-304.E+405.e-5‘06.E+6’07.e-7“08.E+8”09.e-9•00.E+0–01.e-1—02.E+2˜03.e-3™04.E+4š05.e-5›06.E+6œ07.e-708.E+8ž09.e-9Ÿ00.E+0 01.e-1¡02.E+2¢03.e-3£04.E+4¤05.e-5¥06.E+6¦07.e-7§08.E+8¨09.e-9©00.E+0ª01.e-1«02.E+2¬03.e-3­04.E+4®05.e-5¯06.E+6°07.e-7±08.E+8²09.e-9³00.E+0´01.e-1µ02.E+2¶03.e-3·04.E+4¸05.e-5¹06.E+6º07.e-7»08.E+8¼09.e-9½00.E+0¾01.e-1¿02.E+2À03.e-3Á04.E+4Â05.e-5Ã06.E+6Ä07.e-7Å08.E+8Æ09.e-9Ç00.E+0È01.e-1É02.E+2Ê03.e-3Ë04.E+4Ì05.e-5Í06.E+6Î07.e-7Ï08.E+8Ð09.e-9Ñ00.E+0Ò01.e-1Ó02.E+2Ô03.e-3Õ04.E+4Ö05.e-5×06.E+6Ø07.e-7Ù08.E+8Ú09.e-9Û00.E+0Ü01.e-1Ý02.E+2Þ03.e-3ß04.E+4à05.e-5á06.E+6â07.e-7ã08.E+8ä09.e-9å00.E+0æ01.e-1ç02.E+2è03.e-3é04.E+4ê05.e-5ë06.E+6ì07.e-7í08.E+8î09.e-9ï00.E+0ð01.e-1ñ02.E+2ò03.e-3ó04.E+4ô05.e-5õ06.E+6ö07.e-7÷08.E+8ø09.e-9ù00.E+0ú01.e-1û02.E+2ü03.e-3ý04.E+4þ05.e-5ÿ000.E+0
-011.e-1 022.E+2 033.e-3 044.E+4055.e-5066.E+6077.e-7088.E+8099.e-9000.E+0011.e-1022.E+2033.e-3044.E+4055.e-5066.E+6077.e-7088.E+8099.e-9000.E+0011.e-1022.E+2 033.e-3!044.E+4"055.e-5#066.E+6$077.e-7%088.E+8&099.e-9'000.E+0(011.e-1)022.E+2*033.e-3+044.E+4,055.e-5-066.E+6.077.e-7/088.E+8:099.e-9;000.E+0<011.e-1=022.E+2>033.e-3?044.E+4@055.e-5A066.E+6B077.e-7C088.E+8D099.e-9E000.E+0F011.e-1G022.E+2H033.e-3I044.E+4J055.e-5K066.E+6L077.e-7M088.E+8N099.e-9O000.E+0P011.e-1Q022.E+2R033.e-3S044.E+4T055.e-5U066.E+6V077.e-7W088.E+8X099.e-9Y000.E+0Z011.e-1[022.E+2\033.e-3]044.E+4^055.e-5_066.E+6`077.e-7a088.E+8b099.e-9c000.E+0d011.e-1e022.E+2f033.e-3g044.E+4h055.e-5i066.E+6j077.e-7k088.E+8l099.e-9m000.E+0n011.e-1o022.E+2p033.e-3q044.E+4r055.e-5s066.E+6t077.e-7u088.E+8v099.e-9w000.E+0x011.e-1y022.E+2z033.e-3{044.E+4|055.e-5}066.E+6~077.e-7088.E+8€099.e-9000.E+0‚011.e-1ƒ022.E+2„033.e-3…044.E+4†055.e-5‡066.E+6ˆ077.e-7‰088.E+8Š099.e-9‹000.E+0Œ011.e-1022.E+2Ž033.e-3044.E+4055.e-5‘066.E+6’077.e-7“088.E+8”099.e-9•000.E+0–011.e-1—022.E+2˜033.e-3™044.E+4š055.e-5›066.E+6œ077.e-7088.E+8ž099.e-9Ÿ000.E+0 011.e-1¡022.E+2¢033.e-3£044.E+4¤055.e-5¥066.E+6¦077.e-7§088.E+8¨099.e-9©000.E+0ª011.e-1«022.E+2¬033.e-3­044.E+4®055.e-5¯066.E+6°077.e-7±088.E+8²099.e-9³000.E+0´011.e-1µ022.E+2¶033.e-3·044.E+4¸055.e-5¹066.E+6º077.e-7»088.E+8¼099.e-9½000.E+0¾011.e-1¿022.E+2À033.e-3Á044.E+4Â055.e-5Ã066.E+6Ä077.e-7Å088.E+8Æ099.e-9Ç000.E+0È011.e-1É022.E+2Ê033.e-3Ë044.E+4Ì055.e-5Í066.E+6Î077.e-7Ï088.E+8Ð099.e-9Ñ000.E+0Ò011.e-1Ó022.E+2Ô033.e-3Õ044.E+4Ö055.e-5×066.E+6Ø077.e-7Ù088.E+8Ú099.e-9Û000.E+0Ü011.e-1Ý022.E+2Þ033.e-3ß044.E+4à055.e-5á066.E+6â077.e-7ã088.E+8ä099.e-9å000.E+0æ011.e-1ç022.E+2è033.e-3é044.E+4ê055.e-5ë066.E+6ì077.e-7í088.E+8î099.e-9ï000.E+0ð011.e-1ñ022.E+2ò033.e-3ó044.E+4ô055.e-5õ066.E+6ö077.e-7÷088.E+8ø099.e-9ù000.E+0ú011.e-1û022.E+2ü033.e-3ý044.E+4þ055.e-5ÿ00E+0
+/* /* /* /*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/* /*!/*"/*#/*$/*%/*&/*'/*(/*)/*+/*,/*-/*./*//*0/*1/*2/*3/*4/*5/*6/*7/*8/*9/*:/*;/*</*=/*>/*?/*@/*A/*B/*C/*D/*E/*F/*G/*H/*I/*J/*K/*L/*M/*N/*O/*P/*Q/*R/*S/*T/*U/*V/*W/*X/*Y/*Z/*[/*\/*]/*^/*_/*`/*a/*b/*c/*d/*e/*f/*g/*h/*i/*j/*k/*l/*m/*n/*o/*p/*q/*r/*s/*t/*u/*v/*w/*x/*y/*z/*{/*|/*}/*~/*/*€/*/*‚/*ƒ/*„/*…/*†/*‡/*ˆ/*‰/*Š/*‹/*Œ/*/*Ž/*/*/*‘/*’/*“/*”/*•/*–/*—/*˜/*™/*š/*›/*œ/*/*ž/*Ÿ/* /*¡/*¢/*£/*¤/*¥/*¦/*§/*¨/*©/*ª/*«/*¬/*­/*®/*¯/*°/*±/*²/*³/*´/*µ/*¶/*·/*¸/*¹/*º/*»/*¼/*½/*¾/*¿/*À/*Á/*Â/*Ã/*Ä/*Å/*Æ/*Ç/*È/*É/*Ê/*Ë/*Ì/*Í/*Î/*Ï/*Ð/*Ñ/*Ò/*Ó/*Ô/*Õ/*Ö/*×/*Ø/*Ù/*Ú/*Û/*Ü/*Ý/*Þ/*ß/*à/*á/*â/*ã/*ä/*å/*æ/*ç/*è/*é/*ê/*ë/*ì/*í/*î/*ï/*ð/*ñ/*ò/*ó/*ô/*õ/*ö/*÷/*ø/*ù/*ú/*û/*ü/*ý/*þ/*ÿ/=/
+/ / / /////////////////// /!/"/#/$/%/&/'/(/)/+/,/-/./0/1/2/3/4/5/6/7/8/9/:/;/</>/?/@/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/[/\/]/^/_/`/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/{/|/}/~//€//‚/ƒ/„/…/†/‡/ˆ/‰/Š/‹/Œ//Ž///‘/’/“/”/•/–/—/˜/™/š/›/œ//ž/Ÿ/ /¡/¢/£/¤/¥/¦/§/¨/©/ª/«/¬/­/®/¯/°/±/²/³/´/µ/¶/·/¸/¹/º/»/¼/½/¾/¿/À/Á/Â/Ã/Ä/Å/Æ/Ç/È/É/Ê/Ë/Ì/Í/Î/Ï/Ð/Ñ/Ò/Ó/Ô/Õ/Ö/×/Ø/Ù/Ú/Û/Ü/Ý/Þ/ß/à/á/â/ã/ä/å/æ/ç/è/é/ê/ë/ì/í/î/ï/ð/ñ/ò/ó/ô/õ/ö/÷/ø/ù/ú/û/ü/ý/þ/ÿ000.E+0
+011.e-1 022.E+2 033.e-3 044.E+4055.e-5066.E+6077.e-7088.E+8099.e-9000.E+0011.e-1022.E+2033.e-3044.E+4055.e-5066.E+6077.e-7088.E+8099.e-9000.E+0011.e-1022.E+2 033.e-3!044.E+4"055.e-5#066.E+6$077.e-7%088.E+8&099.e-9'000.E+0(011.e-1)022.E+2*033.e-3+044.E+4,055.e-5-066.E+6.077.e-7/088.E+8:099.e-9;000.E+0<011.e-1=022.E+2>033.e-3?044.E+4@055.e-5A066.E+6B077.e-7C088.E+8D099.e-9E000.E+0F011.e-1G022.E+2H033.e-3I044.E+4J055.e-5K066.E+6L077.e-7M088.E+8N099.e-9O000.E+0P011.e-1Q022.E+2R033.e-3S044.E+4T055.e-5U066.E+6V077.e-7W088.E+8X099.e-9Y000.E+0Z011.e-1[022.E+2\033.e-3]044.E+4^055.e-5_066.E+6`077.e-7a088.E+8b099.e-9c000.E+0d011.e-1e022.E+2f033.e-3g044.E+4h055.e-5i066.E+6j077.e-7k088.E+8l099.e-9m000.E+0n011.e-1o022.E+2p033.e-3q044.E+4r055.e-5s066.E+6t077.e-7u088.E+8v099.e-9w000.E+0x011.e-1y022.E+2z033.e-3{044.E+4|055.e-5}066.E+6~077.e-7088.E+8€099.e-9000.E+0‚011.e-1ƒ022.E+2„033.e-3…044.E+4†055.e-5‡066.E+6ˆ077.e-7‰088.E+8Š099.e-9‹000.E+0Œ011.e-1022.E+2Ž033.e-3044.E+4055.e-5‘066.E+6’077.e-7“088.E+8”099.e-9•000.E+0–011.e-1—022.E+2˜033.e-3™044.E+4š055.e-5›066.E+6œ077.e-7088.E+8ž099.e-9Ÿ000.E+0 011.e-1¡022.E+2¢033.e-3£044.E+4¤055.e-5¥066.E+6¦077.e-7§088.E+8¨099.e-9©000.E+0ª011.e-1«022.E+2¬033.e-3­044.E+4®055.e-5¯066.E+6°077.e-7±088.E+8²099.e-9³000.E+0´011.e-1µ022.E+2¶033.e-3·044.E+4¸055.e-5¹066.E+6º077.e-7»088.E+8¼099.e-9½000.E+0¾011.e-1¿022.E+2À033.e-3Á044.E+4Â055.e-5Ã066.E+6Ä077.e-7Å088.E+8Æ099.e-9Ç000.E+0È011.e-1É022.E+2Ê033.e-3Ë044.E+4Ì055.e-5Í066.E+6Î077.e-7Ï088.E+8Ð099.e-9Ñ000.E+0Ò011.e-1Ó022.E+2Ô033.e-3Õ044.E+4Ö055.e-5×066.E+6Ø077.e-7Ù088.E+8Ú099.e-9Û000.E+0Ü011.e-1Ý022.E+2Þ033.e-3ß044.E+4à055.e-5á066.E+6â077.e-7ã088.E+8ä099.e-9å000.E+0æ011.e-1ç022.E+2è033.e-3é044.E+4ê055.e-5ë066.E+6ì077.e-7í088.E+8î099.e-9ï000.E+0ð011.e-1ñ022.E+2ò033.e-3ó044.E+4ô055.e-5õ066.E+6ö077.e-7÷088.E+8ø099.e-9ù000.E+0ú011.e-1û022.E+2ü033.e-3ý044.E+4þ055.e-5ÿ000.0E+0
+011.1e-1 022.2E+2 033.3e-3 044.4E+4055.5e-5066.6E+6077.7e-7088.8E+8099.9e-9000.0E+0011.1e-1022.2E+2033.3e-3044.4E+4055.5e-5066.6E+6077.7e-7088.8E+8099.9e-9000.0E+0011.1e-1022.2E+2 033.3e-3!044.4E+4"055.5e-5#066.6E+6$077.7e-7%088.8E+8&099.9e-9'000.0E+0(011.1e-1)022.2E+2*033.3e-3+044.4E+4,055.5e-5-066.6E+6.077.7e-7/088.8E+8:099.9e-9;000.0E+0<011.1e-1=022.2E+2>033.3e-3?044.4E+4@055.5e-5A066.6E+6B077.7e-7C088.8E+8D099.9e-9E000.0E+0F011.1e-1G022.2E+2H033.3e-3I044.4E+4J055.5e-5K066.6E+6L077.7e-7M088.8E+8N099.9e-9O000.0E+0P011.1e-1Q022.2E+2R033.3e-3S044.4E+4T055.5e-5U066.6E+6V077.7e-7W088.8E+8X099.9e-9Y000.0E+0Z011.1e-1[022.2E+2\033.3e-3]044.4E+4^055.5e-5_066.6E+6`077.7e-7a088.8E+8b099.9e-9c000.0E+0d011.1e-1e022.2E+2f033.3e-3g044.4E+4h055.5e-5i066.6E+6j077.7e-7k088.8E+8l099.9e-9m000.0E+0n011.1e-1o022.2E+2p033.3e-3q044.4E+4r055.5e-5s066.6E+6t077.7e-7u088.8E+8v099.9e-9w000.0E+0x011.1e-1y022.2E+2z033.3e-3{044.4E+4|055.5e-5}066.6E+6~077.7e-7088.8E+8€099.9e-9000.0E+0‚011.1e-1ƒ022.2E+2„033.3e-3…044.4E+4†055.5e-5‡066.6E+6ˆ077.7e-7‰088.8E+8Š099.9e-9‹000.0E+0Œ011.1e-1022.2E+2Ž033.3e-3044.4E+4055.5e-5‘066.6E+6’077.7e-7“088.8E+8”099.9e-9•000.0E+0–011.1e-1—022.2E+2˜033.3e-3™044.4E+4š055.5e-5›066.6E+6œ077.7e-7088.8E+8ž099.9e-9Ÿ000.0E+0 011.1e-1¡022.2E+2¢033.3e-3£044.4E+4¤055.5e-5¥066.6E+6¦077.7e-7§088.8E+8¨099.9e-9©000.0E+0ª011.1e-1«022.2E+2¬033.3e-3­044.4E+4®055.5e-5¯066.6E+6°077.7e-7±088.8E+8²099.9e-9³000.0E+0´011.1e-1µ022.2E+2¶033.3e-3·044.4E+4¸055.5e-5¹066.6E+6º077.7e-7»088.8E+8¼099.9e-9½000.0E+0¾011.1e-1¿022.2E+2À033.3e-3Á044.4E+4Â055.5e-5Ã066.6E+6Ä077.7e-7Å088.8E+8Æ099.9e-9Ç000.0E+0È011.1e-1É022.2E+2Ê033.3e-3Ë044.4E+4Ì055.5e-5Í066.6E+6Î077.7e-7Ï088.8E+8Ð099.9e-9Ñ000.0E+0Ò011.1e-1Ó022.2E+2Ô033.3e-3Õ044.4E+4Ö055.5e-5×066.6E+6Ø077.7e-7Ù088.8E+8Ú099.9e-9Û000.0E+0Ü011.1e-1Ý022.2E+2Þ033.3e-3ß044.4E+4à055.5e-5á066.6E+6â077.7e-7ã088.8E+8ä099.9e-9å000.0E+0æ011.1e-1ç022.2E+2è033.3e-3é044.4E+4ê055.5e-5ë066.6E+6ì077.7e-7í088.8E+8î099.9e-9ï000.0E+0ð011.1e-1ñ022.2E+2ò033.3e-3ó044.4E+4ô055.5e-5õ066.6E+6ö077.7e-7÷088.8E+8ø099.9e-9ù000.0E+0ú011.1e-1û022.2E+2ü033.3e-3ý044.4E+4þ055.5e-5ÿ000.00E+0
+011.11e-1 022.22E+2 033.33e-3 044.44E+4055.55e-5066.66E+6077.77e-7088.88E+8099.99e-9000.00E+0011.11e-1022.22E+2033.33e-3044.44E+4055.55e-5066.66E+6077.77e-7088.88E+8099.99e-9000.00E+0011.11e-1022.22E+2 033.33e-3!044.44E+4"055.55e-5#066.66E+6$077.77e-7%088.88E+8&099.99e-9'000.00E+0(011.11e-1)022.22E+2*033.33e-3+044.44E+4,055.55e-5-066.66E+6.077.77e-7/088.88E+8:099.99e-9;000.00E+0<011.11e-1=022.22E+2>033.33e-3?044.44E+4@055.55e-5A066.66E+6B077.77e-7C088.88E+8D099.99e-9E000.00E+0F011.11e-1G022.22E+2H033.33e-3I044.44E+4J055.55e-5K066.66E+6L077.77e-7M088.88E+8N099.99e-9O000.00E+0P011.11e-1Q022.22E+2R033.33e-3S044.44E+4T055.55e-5U066.66E+6V077.77e-7W088.88E+8X099.99e-9Y000.00E+0Z011.11e-1[022.22E+2\033.33e-3]044.44E+4^055.55e-5_066.66E+6`077.77e-7a088.88E+8b099.99e-9c000.00E+0d011.11e-1e022.22E+2f033.33e-3g044.44E+4h055.55e-5i066.66E+6j077.77e-7k088.88E+8l099.99e-9m000.00E+0n011.11e-1o022.22E+2p033.33e-3q044.44E+4r055.55e-5s066.66E+6t077.77e-7u088.88E+8v099.99e-9w000.00E+0x011.11e-1y022.22E+2z033.33e-3{044.44E+4|055.55e-5}066.66E+6~077.77e-7088.88E+8€099.99e-9000.00E+0‚011.11e-1ƒ022.22E+2„033.33e-3…044.44E+4†055.55e-5‡066.66E+6ˆ077.77e-7‰088.88E+8Š099.99e-9‹000.00E+0Œ011.11e-1022.22E+2Ž033.33e-3044.44E+4055.55e-5‘066.66E+6’077.77e-7“088.88E+8”099.99e-9•000.00E+0–011.11e-1—022.22E+2˜033.33e-3™044.44E+4š055.55e-5›066.66E+6œ077.77e-7088.88E+8ž099.99e-9Ÿ000.00E+0 011.11e-1¡022.22E+2¢033.33e-3£044.44E+4¤055.55e-5¥066.66E+6¦077.77e-7§088.88E+8¨099.99e-9©000.00E+0ª011.11e-1«022.22E+2¬033.33e-3­044.44E+4®055.55e-5¯066.66E+6°077.77e-7±088.88E+8²099.99e-9³000.00E+0´011.11e-1µ022.22E+2¶033.33e-3·044.44E+4¸055.55e-5¹066.66E+6º077.77e-7»088.88E+8¼099.99e-9½000.00E+0¾011.11e-1¿022.22E+2À033.33e-3Á044.44E+4Â055.55e-5Ã066.66E+6Ä077.77e-7Å088.88E+8Æ099.99e-9Ç000.00E+0È011.11e-1É022.22E+2Ê033.33e-3Ë044.44E+4Ì055.55e-5Í066.66E+6Î077.77e-7Ï088.88E+8Ð099.99e-9Ñ000.00E+0Ò011.11e-1Ó022.22E+2Ô033.33e-3Õ044.44E+4Ö055.55e-5×066.66E+6Ø077.77e-7Ù088.88E+8Ú099.99e-9Û000.00E+0Ü011.11e-1Ý022.22E+2Þ033.33e-3ß044.44E+4à055.55e-5á066.66E+6â077.77e-7ã088.88E+8ä099.99e-9å000.00E+0æ011.11e-1ç022.22E+2è033.33e-3é044.44E+4ê055.55e-5ë066.66E+6ì077.77e-7í088.88E+8î099.99e-9ï000.00E+0ð011.11e-1ñ022.22E+2ò033.33e-3ó044.44E+4ô055.55e-5õ066.66E+6ö077.77e-7÷088.88E+8ø099.99e-9ù000.00E+0ú011.11e-1û022.22E+2ü033.33e-3ý044.44E+4þ055.55e-5ÿ000.0
+011.1 022.2 033.3 044.4055.5066.6077.7088.8099.9000.0011.1022.2033.3044.4055.5066.6077.7088.8099.9000.0011.1022.2 033.3!044.4"055.5#066.6$077.7%088.8&099.9'000.0(011.1)022.2*033.3+044.4,055.5-066.6.077.7/088.8:099.9;000.0<011.1=022.2>033.3?044.4@055.5A066.6B077.7C088.8D099.9F000.0G011.1H022.2I033.3J044.4K055.5L066.6M077.7N088.8O099.9P000.0Q011.1R022.2S033.3T044.4U055.5V066.6W077.7X088.8Y099.9Z000.0[011.1\022.2]033.3^044.4_055.5`066.6a077.7b088.8c099.9d000.0f011.1g022.2h033.3i044.4j055.5k066.6l077.7m088.8n099.9o000.0p011.1q022.2r033.3s044.4t055.5u066.6v077.7w088.8x099.9y000.0z011.1{022.2|033.3}044.4~055.5066.6€077.7088.8‚099.9ƒ000.0„011.1…022.2†033.3‡044.4ˆ055.5‰066.6Š077.7‹088.8Œ099.9000.0Ž011.1022.2033.3‘044.4’055.5“066.6”077.7•088.8–099.9—000.0˜011.1™022.2š033.3›044.4œ055.5066.6ž077.7Ÿ088.8 099.9¡000.0¢011.1£022.2¤033.3¥044.4¦055.5§066.6¨077.7©088.8ª099.9«000.0¬011.1­022.2®033.3¯044.4°055.5±066.6²077.7³088.8´099.9µ000.0¶011.1·022.2¸033.3¹044.4º055.5»066.6¼077.7½088.8¾099.9¿000.0À011.1Á022.2Â033.3Ã044.4Ä055.5Å066.6Æ077.7Ç088.8È099.9É000.0Ê011.1Ë022.2Ì033.3Í044.4Î055.5Ï066.6Ð077.7Ñ088.8Ò099.9Ó000.0Ô011.1Õ022.2Ö033.3×044.4Ø055.5Ù066.6Ú077.7Û088.8Ü099.9Ý000.0Þ011.1ß022.2à033.3á044.4â055.5ã066.6ä077.7å088.8æ099.9ç000.0è011.1é022.2ê033.3ë044.4ì055.5í066.6î077.7ï088.8ð099.9ñ000.0ò011.1ó022.2ô033.3õ044.4ö055.5÷066.6ø077.7ù088.8ú099.9û000.0ü011.1ý022.2þ033.3ÿ000.
+011. 022. 033. 044.055.066.077.088.099.000.011.022.033.044.055.066.077.088.099.000.011.022. 033.!044."055.#066.$077.%088.&099.'000.(011.)022.*033.+044.,055.-066..077./088.:099.;000.<011.=022.>033.?044.@055.A066.B077.C088.D099.F000.G011.H022.I033.J044.K055.L066.M077.N088.O099.P000.Q011.R022.S033.T044.U055.V066.W077.X088.Y099.Z000.[011.\022.]033.^044._055.`066.a077.b088.c099.d000.f011.g022.h033.i044.j055.k066.l077.m088.n099.o000.p011.q022.r033.s044.t055.u066.v077.w088.x099.y000.z011.{022.|033.}044.~055.066.€077.088.‚099.ƒ000.„011.…022.†033.‡044.ˆ055.‰066.Š077.‹088.Œ099.000.Ž011.022.033.‘044.’055.“066.”077.•088.–099.—000.˜011.™022.š033.›044.œ055.066.ž077.Ÿ088. 099.¡000.¢011.£022.¤033.¥044.¦055.§066.¨077.©088.ª099.«000.¬011.­022.®033.¯044.°055.±066.²077.³088.´099.µ000.¶011.·022.¸033.¹044.º055.»066.¼077.½088.¾099.¿000.À011.Á022.Â033.Ã044.Ä055.Å066.Æ077.Ç088.È099.É000.Ê011.Ë022.Ì033.Í044.Î055.Ï066.Ð077.Ñ088.Ò099.Ó000.Ô011.Õ022.Ö033.×044.Ø055.Ù066.Ú077.Û088.Ü099.Ý000.Þ011.ß022.à033.á044.â055.ã066.ä077.å088.æ099.ç000.è011.é022.ê033.ë044.ì055.í066.î077.ï088.ð099.ñ000.ò011.ó022.ô033.õ044.ö055.÷066.ø077.ù088.ú099.û000.ü011.ý022.þ033.ÿ000E+0
+011e-1 022E+2 033e-3 044E+4055e-5066E+6077e-7088E+8099e-9000E+0011e-1022E+2033e-3044E+4055e-5066E+6077e-7088E+8099e-9000E+0011e-1022E+2 033e-3!044E+4"055e-5#066E+6$077e-7%088E+8&099e-9'000E+0(011e-1)022E+2*033e-3+044E+4,055e-5-066E+6.077e-7/088E+8:099e-9;000E+0<011e-1=022E+2>033e-3?044E+4@055e-5A066E+6B077e-7C088E+8D099e-9E000E+0F011e-1G022E+2H033e-3I044E+4J055e-5K066E+6L077e-7M088E+8N099e-9O000E+0P011e-1Q022E+2R033e-3S044E+4T055e-5U066E+6V077e-7W088E+8X099e-9Y000E+0Z011e-1[022E+2\033e-3]044E+4^055e-5_066E+6`077e-7a088E+8b099e-9c000E+0d011e-1e022E+2f033e-3g044E+4h055e-5i066E+6j077e-7k088E+8l099e-9m000E+0n011e-1o022E+2p033e-3q044E+4r055e-5s066E+6t077e-7u088E+8v099e-9w000E+0x011e-1y022E+2z033e-3{044E+4|055e-5}066E+6~077e-7088E+8€099e-9000E+0‚011e-1ƒ022E+2„033e-3…044E+4†055e-5‡066E+6ˆ077e-7‰088E+8Š099e-9‹000E+0Œ011e-1022E+2Ž033e-3044E+4055e-5‘066E+6’077e-7“088E+8”099e-9•000E+0–011e-1—022E+2˜033e-3™044E+4š055e-5›066E+6œ077e-7088E+8ž099e-9Ÿ000E+0 011e-1¡022E+2¢033e-3£044E+4¤055e-5¥066E+6¦077e-7§088E+8¨099e-9©000E+0ª011e-1«022E+2¬033e-3­044E+4®055e-5¯066E+6°077e-7±088E+8²099e-9³000E+0´011e-1µ022E+2¶033e-3·044E+4¸055e-5¹066E+6º077e-7»088E+8¼099e-9½000E+0¾011e-1¿022E+2À033e-3Á044E+4Â055e-5Ã066E+6Ä077e-7Å088E+8Æ099e-9Ç000E+0È011e-1É022E+2Ê033e-3Ë044E+4Ì055e-5Í066E+6Î077e-7Ï088E+8Ð099e-9Ñ000E+0Ò011e-1Ó022E+2Ô033e-3Õ044E+4Ö055e-5×066E+6Ø077e-7Ù088E+8Ú099e-9Û000E+0Ü011e-1Ý022E+2Þ033e-3ß044E+4à055e-5á066E+6â077e-7ã088E+8ä099e-9å000E+0æ011e-1ç022E+2è033e-3é044E+4ê055e-5ë066E+6ì077e-7í088E+8î099e-9ï000E+0ð011e-1ñ022E+2ò033e-3ó044E+4ô055e-5õ066E+6ö077e-7÷088E+8ø099e-9ù000E+0ú011e-1û022E+2ü033e-3ý044E+4þ055e-5ÿ000
+011 022 033 044055066077088099000011022033044055066077088099000011022 033!044"055#066$077%088&099'000(011)022*033+044,055-066/077:088;099<000=011>022?033@044A055B066C077D088F099G000H011I022J033K044L055M066N077O088P099Q000R011S022T033U044V055W066X077Y088Z099[000\011]022^033_044`055a066b077c088d099f000g011h022i033j044k055l066m077n088o099p000q011r022s033t044u055v066w077x088y099z000{011|022}033~044055€066077‚088ƒ099„000…011†022‡033ˆ044‰055Š066‹077Œ088099Ž000011022‘033’044“055”066•077–088—099˜000™011š022›033œ044055ž066Ÿ077 088¡099¢000£011¤022¥033¦044§055¨066©077ª088«099¬000­011®022¯033°044±055²066³077´088µ099¶000·011¸022¹033º044»055¼066½077¾088¿099À000Á011Â022Ã033Ä044Å055Æ066Ç077È088É099Ê000Ë011Ì022Í033Î044Ï055Ð066Ñ077Ò088Ó099Ô000Õ011Ö022×033Ø044Ù055Ú066Û077Ü088Ý099Þ000ß011à022á033â044ã055ä066å077æ088ç099è000é011ê022ë033ì044í055î066ï077ð088ñ099ò000ó011ô022õ033ö044÷055ø066ù077ú088û099ü000ý011þ022ÿ00.E+0
+01.e-1 02.E+2 03.e-3 04.E+405.e-506.E+607.e-708.E+809.e-900.E+001.e-102.E+203.e-304.E+405.e-506.E+607.e-708.E+809.e-900.E+001.e-102.E+2 03.e-3!04.E+4"05.e-5#06.E+6$07.e-7%08.E+8&09.e-9'00.E+0(01.e-1)02.E+2*03.e-3+04.E+4,05.e-5-06.E+6.07.e-7/08.E+8:09.e-9;00.E+0<01.e-1=02.E+2>03.e-3?04.E+4@05.e-5A06.E+6B07.e-7C08.E+8D09.e-9E00.E+0F01.e-1G02.E+2H03.e-3I04.E+4J05.e-5K06.E+6L07.e-7M08.E+8N09.e-9O00.E+0P01.e-1Q02.E+2R03.e-3S04.E+4T05.e-5U06.E+6V07.e-7W08.E+8X09.e-9Y00.E+0Z01.e-1[02.E+2\03.e-3]04.E+4^05.e-5_06.E+6`07.e-7a08.E+8b09.e-9c00.E+0d01.e-1e02.E+2f03.e-3g04.E+4h05.e-5i06.E+6j07.e-7k08.E+8l09.e-9m00.E+0n01.e-1o02.E+2p03.e-3q04.E+4r05.e-5s06.E+6t07.e-7u08.E+8v09.e-9w00.E+0x01.e-1y02.E+2z03.e-3{04.E+4|05.e-5}06.E+6~07.e-708.E+8€09.e-900.E+0‚01.e-1ƒ02.E+2„03.e-3…04.E+4†05.e-5‡06.E+6ˆ07.e-7‰08.E+8Š09.e-9‹00.E+0Œ01.e-102.E+2Ž03.e-304.E+405.e-5‘06.E+6’07.e-7“08.E+8”09.e-9•00.E+0–01.e-1—02.E+2˜03.e-3™04.E+4š05.e-5›06.E+6œ07.e-708.E+8ž09.e-9Ÿ00.E+0 01.e-1¡02.E+2¢03.e-3£04.E+4¤05.e-5¥06.E+6¦07.e-7§08.E+8¨09.e-9©00.E+0ª01.e-1«02.E+2¬03.e-3­04.E+4®05.e-5¯06.E+6°07.e-7±08.E+8²09.e-9³00.E+0´01.e-1µ02.E+2¶03.e-3·04.E+4¸05.e-5¹06.E+6º07.e-7»08.E+8¼09.e-9½00.E+0¾01.e-1¿02.E+2À03.e-3Á04.E+4Â05.e-5Ã06.E+6Ä07.e-7Å08.E+8Æ09.e-9Ç00.E+0È01.e-1É02.E+2Ê03.e-3Ë04.E+4Ì05.e-5Í06.E+6Î07.e-7Ï08.E+8Ð09.e-9Ñ00.E+0Ò01.e-1Ó02.E+2Ô03.e-3Õ04.E+4Ö05.e-5×06.E+6Ø07.e-7Ù08.E+8Ú09.e-9Û00.E+0Ü01.e-1Ý02.E+2Þ03.e-3ß04.E+4à05.e-5á06.E+6â07.e-7ã08.E+8ä09.e-9å00.E+0æ01.e-1ç02.E+2è03.e-3é04.E+4ê05.e-5ë06.E+6ì07.e-7í08.E+8î09.e-9ï00.E+0ð01.e-1ñ02.E+2ò03.e-3ó04.E+4ô05.e-5õ06.E+6ö07.e-7÷08.E+8ø09.e-9ù00.E+0ú01.e-1û02.E+2ü03.e-3ý04.E+4þ05.e-5ÿ00E+0
01e-1 02E+2 03e-3 04E+405e-506E+607e-708E+809e-900E+001e-102E+203e-304E+405e-506E+607e-708E+809e-900E+001e-102E+2 03e-3!04E+4"05e-5#06E+6$07e-7%08E+8&09e-9'00E+0(01e-1)02E+2*03e-3+04E+4,05e-5-06E+6.07e-7/08E+8:09e-9;00E+0<01e-1=02E+2>03e-3?04E+4@05e-5A06E+6B07e-7C08E+8D09e-9E00E+0F01e-1G02E+2H03e-3I04E+4J05e-5K06E+6L07e-7M08E+8N09e-9O00E+0P01e-1Q02E+2R03e-3S04E+4T05e-5U06E+6V07e-7W08E+8X09e-9Y00E+0Z01e-1[02E+2\03e-3]04E+4^05e-5_06E+6`07e-7a08E+8b09e-9c00E+0d01e-1e02E+2f03e-3g04E+4h05e-5i06E+6j07e-7k08E+8l09e-9m00E+0n01e-1o02E+2p03e-3q04E+4r05e-5s06E+6t07e-7u08E+8v09e-9w00E+0x01e-1y02E+2z03e-3{04E+4|05e-5}06E+6~07e-708E+8€09e-900E+0‚01e-1ƒ02E+2„03e-3…04E+4†05e-5‡06E+6ˆ07e-7‰08E+8Š09e-9‹00E+0Œ01e-102E+2Ž03e-304E+405e-5‘06E+6’07e-7“08E+8”09e-9•00E+0–01e-1—02E+2˜03e-3™04E+4š05e-5›06E+6œ07e-708E+8ž09e-9Ÿ00E+0 01e-1¡02E+2¢03e-3£04E+4¤05e-5¥06E+6¦07e-7§08E+8¨09e-9©00E+0ª01e-1«02E+2¬03e-3­04E+4®05e-5¯06E+6°07e-7±08E+8²09e-9³00E+0´01e-1µ02E+2¶03e-3·04E+4¸05e-5¹06E+6º07e-7»08E+8¼09e-9½00E+0¾01e-1¿02E+2À03e-3Á04E+4Â05e-5Ã06E+6Ä07e-7Å08E+8Æ09e-9Ç00E+0È01e-1É02E+2Ê03e-3Ë04E+4Ì05e-5Í06E+6Î07e-7Ï08E+8Ð09e-9Ñ00E+0Ò01e-1Ó02E+2Ô03e-3Õ04E+4Ö05e-5×06E+6Ø07e-7Ù08E+8Ú09e-9Û00E+0Ü01e-1Ý02E+2Þ03e-3ß04E+4à05e-5á06E+6â07e-7ã08E+8ä09e-9å00E+0æ01e-1ç02E+2è03e-3é04E+4ê05e-5ë06E+6ì07e-7í08E+8î09e-9ï00E+0ð01e-1ñ02E+2ò03e-3ó04E+4ô05e-5õ06E+6ö07e-7÷08E+8ø09e-9ù00E+0ú01e-1û02E+2ü03e-3ý04E+4þ05e-5ÿ00
-01 02 03 04050607080900010203040506070809000102 03!04"05#06$07%08&09'00(01)02*03+04,05-06/07:08;09<00=01>02?03@04A05B06C07D08F09G00H01I02J03K04L05M06N07O08P09Q00R01S02T03U04V05W06X07Y08Z09[00\01]02^03_04`05a06b07c08d09f00g01h02i03j04k05l06m07n08o09p00q01r02s03t04u05v06w07x08y09z00{01|02}03~0405€0607‚08ƒ09„00…01†02‡03ˆ04‰05Š06‹07Œ0809Ž000102‘03’04“05”06•07–08—09˜00™01š02›03œ0405ž06Ÿ07 08¡09¢00£01¤02¥03¦04§05¨06©07ª08«09¬00­01®02¯03°04±05²06³07´08µ09¶00·01¸02¹03º04»05¼06½07¾08¿09À00Á01Â02Ã03Ä04Å05Æ06Ç07È08É09Ê00Ë01Ì02Í03Î04Ï05Ð06Ñ07Ò08Ó09Ô00Õ01Ö02×03Ø04Ù05Ú06Û07Ü08Ý09Þ00ß01à02á03â04ã05ä06å07æ08ç09è00é01ê02ë03ì04í05î06ï07ð08ñ09ò00ó01ô02õ03ö04÷05ø06ù07ú08û09ü00ý01þ02ÿ0B00
+01 02 03 04050607080900010203040506070809000102 03!04"05#06$07%08&09'00(01)02*03+04,05-06/07:08;09<00=01>02?03@04A05B06C07D08F09G00H01I02J03K04L05M06N07O08P09Q00R01S02T03U04V05W06X07Y08Z09[00\01]02^03_04`05a06b07c08d09f00g01h02i03j04k05l06m07n08o09p00q01r02s03t04u05v06w07x08y09z00{01|02}03~0405€0607‚08ƒ09„00…01†02‡03ˆ04‰05Š06‹07Œ0809Ž000102‘03’04“05”06•07–08—09˜00™01š02›03œ0405ž06Ÿ07 08¡09¢00£01¤02¥03¦04§05¨06©07ª08«09¬00­01®02¯03°04±05²06³07´08µ09¶00·01¸02¹03º04»05¼06½07¾08¿09À00Á01Â02Ã03Ä04Å05Æ06Ç07È08É09Ê00Ë01Ì02Í03Î04Ï05Ð06Ñ07Ò08Ó09Ô00Õ01Ö02×03Ø04Ù05Ú06Û07Ü08Ý09Þ00ß01à02á03â04ã05ä06å07æ08ç09è00é01ê02ë03ì04í05î06ï07ð08ñ09ò00ó01ô02õ03ö04÷05ø06ù07ú08û09ü00ý01þ02ÿ0.E+0
+0.e-1 0.E+2 0.e-3 0.E+40.e-50.E+60.e-70.E+80.e-90.E+00.e-10.E+20.e-30.E+40.e-50.E+60.e-70.E+80.e-90.E+00.e-10.E+2 0.e-3!0.E+4"0.e-5#0.E+6$0.e-7%0.E+8&0.e-9'0.E+0(0.e-1)0.E+2*0.e-3+0.E+4,0.e-5-0.E+6.0.e-7/0.E+8:0.e-9;0.E+0<0.e-1=0.E+2>0.e-3?0.E+4@0.e-5A0.E+6B0.e-7C0.E+8D0.e-9E0.E+0F0.e-1G0.E+2H0.e-3I0.E+4J0.e-5K0.E+6L0.e-7M0.E+8N0.e-9O0.E+0P0.e-1Q0.E+2R0.e-3S0.E+4T0.e-5U0.E+6V0.e-7W0.E+8X0.e-9Y0.E+0Z0.e-1[0.E+2\0.e-3]0.E+4^0.e-5_0.E+6`0.e-7a0.E+8b0.e-9c0.E+0d0.e-1e0.E+2f0.e-3g0.E+4h0.e-5i0.E+6j0.e-7k0.E+8l0.e-9m0.E+0n0.e-1o0.E+2p0.e-3q0.E+4r0.e-5s0.E+6t0.e-7u0.E+8v0.e-9w0.E+0x0.e-1y0.E+2z0.e-3{0.E+4|0.e-5}0.E+6~0.e-70.E+8€0.e-90.E+0‚0.e-1ƒ0.E+2„0.e-3…0.E+4†0.e-5‡0.E+6ˆ0.e-7‰0.E+8Š0.e-9‹0.E+0Œ0.e-10.E+2Ž0.e-30.E+40.e-5‘0.E+6’0.e-7“0.E+8”0.e-9•0.E+0–0.e-1—0.E+2˜0.e-3™0.E+4š0.e-5›0.E+6œ0.e-70.E+8ž0.e-9Ÿ0.E+0 0.e-1¡0.E+2¢0.e-3£0.E+4¤0.e-5¥0.E+6¦0.e-7§0.E+8¨0.e-9©0.E+0ª0.e-1«0.E+2¬0.e-3­0.E+4®0.e-5¯0.E+6°0.e-7±0.E+8²0.e-9³0.E+0´0.e-1µ0.E+2¶0.e-3·0.E+4¸0.e-5¹0.E+6º0.e-7»0.E+8¼0.e-9½0.E+0¾0.e-1¿0.E+2À0.e-3Á0.E+4Â0.e-5Ã0.E+6Ä0.e-7Å0.E+8Æ0.e-9Ç0.E+0È0.e-1É0.E+2Ê0.e-3Ë0.E+4Ì0.e-5Í0.E+6Î0.e-7Ï0.E+8Ð0.e-9Ñ0.E+0Ò0.e-1Ó0.E+2Ô0.e-3Õ0.E+4Ö0.e-5×0.E+6Ø0.e-7Ù0.E+8Ú0.e-9Û0.E+0Ü0.e-1Ý0.E+2Þ0.e-3ß0.E+4à0.e-5á0.E+6â0.e-7ã0.E+8ä0.e-9å0.E+0æ0.e-1ç0.E+2è0.e-3é0.E+4ê0.e-5ë0.E+6ì0.e-7í0.E+8î0.e-9ï0.E+0ð0.e-1ñ0.E+2ò0.e-3ó0.E+4ô0.e-5õ0.E+6ö0.e-7÷0.E+8ø0.e-9ù0.E+0ú0.e-1û0.E+2ü0.e-3ý0.E+4þ0.e-5ÿ0B00
0b11 0B00 0b11 0B000b110B000b110B000b110B000b110B000b110B000b110B000b110B000b110B000b110B00 0b11!0B00"0b11#0B00$0b11%0B00&0b11'0B00(0b11)0B00*0b11+0B00,0b11-0B00.0b11/0B0020b1130B0040b1150B0060b1170B0080b1190B00:0b11;0B00<0b11=0B00>0b11?0B00@0b11A0B00B0b11C0B00D0b11E0B00F0b11G0B00H0b11I0B00J0b11K0B00L0b11M0B00N0b11O0B00P0b11Q0B00R0b11S0B00T0b11U0B00V0b11W0B00X0b11Y0B00Z0b11[0B00\0b11]0B00^0b11_0B00`0b11a0B00b0b11c0B00d0b11e0B00f0b11g0B00h0b11i0B00j0b11k0B00l0b11m0B00n0b11o0B00p0b11q0B00r0b11s0B00t0b11u0B00v0b11w0B00x0b11y0B00z0b11{0B00|0b11}0B00~0b110B00€0b110B00‚0b11ƒ0B00„0b11…0B00†0b11‡0B00ˆ0b11‰0B00Š0b11‹0B00Œ0b110B00Ž0b110B000b11‘0B00’0b11“0B00”0b11•0B00–0b11—0B00˜0b11™0B00š0b11›0B00œ0b110B00ž0b11Ÿ0B00 0b11¡0B00¢0b11£0B00¤0b11¥0B00¦0b11§0B00¨0b11©0B00ª0b11«0B00¬0b11­0B00®0b11¯0B00°0b11±0B00²0b11³0B00´0b11µ0B00¶0b11·0B00¸0b11¹0B00º0b11»0B00¼0b11½0B00¾0b11¿0B00À0b11Á0B00Â0b11Ã0B00Ä0b11Å0B00Æ0b11Ç0B00È0b11É0B00Ê0b11Ë0B00Ì0b11Í0B00Î0b11Ï0B00Ð0b11Ñ0B00Ò0b11Ó0B00Ô0b11Õ0B00Ö0b11×0B00Ø0b11Ù0B00Ú0b11Û0B00Ü0b11Ý0B00Þ0b11ß0B00à0b11á0B00â0b11ã0B00ä0b11å0B00æ0b11ç0B00è0b11é0B00ê0b11ë0B00ì0b11í0B00î0b11ï0B00ð0b11ñ0B00ò0b11ó0B00ô0b11õ0B00ö0b11÷0B00ø0b11ù0B00ú0b11û0B00ü0b11ý0B00þ0b11ÿ0B0
0b1 0B0 0b1 0B00b10B00b10B00b10B00b10B00b10B00b10B00b10B00b10B00b10B0 0b1!0B0"0b1#0B0$0b1%0B0&0b1'0B0(0b1)0B0*0b1+0B0,0b1-0B0.0b1/0B020b130B040b150B060b170B080b190B0:0b1;0B0<0b1=0B0>0b1?0B0@0b1A0B0B0b1C0B0D0b1E0B0F0b1G0B0H0b1I0B0J0b1K0B0L0b1M0B0N0b1O0B0P0b1Q0B0R0b1S0B0T0b1U0B0V0b1W0B0X0b1Y0B0Z0b1[0B0\0b1]0B0^0b1_0B0`0b1a0B0b0b1c0B0d0b1e0B0f0b1g0B0h0b1i0B0j0b1k0B0l0b1m0B0n0b1o0B0p0b1q0B0r0b1s0B0t0b1u0B0v0b1w0B0x0b1y0B0z0b1{0B0|0b1}0B0~0b10B0€0b10B0‚0b1ƒ0B0„0b1…0B0†0b1‡0B0ˆ0b1‰0B0Š0b1‹0B0Œ0b10B0Ž0b10B00b1‘0B0’0b1“0B0”0b1•0B0–0b1—0B0˜0b1™0B0š0b1›0B0œ0b10B0ž0b1Ÿ0B0 0b1¡0B0¢0b1£0B0¤0b1¥0B0¦0b1§0B0¨0b1©0B0ª0b1«0B0¬0b1­0B0®0b1¯0B0°0b1±0B0²0b1³0B0´0b1µ0B0¶0b1·0B0¸0b1¹0B0º0b1»0B0¼0b1½0B0¾0b1¿0B0À0b1Á0B0Â0b1Ã0B0Ä0b1Å0B0Æ0b1Ç0B0È0b1É0B0Ê0b1Ë0B0Ì0b1Í0B0Î0b1Ï0B0Ð0b1Ñ0B0Ò0b1Ó0B0Ô0b1Õ0B0Ö0b1×0B0Ø0b1Ù0B0Ú0b1Û0B0Ü0b1Ý0B0Þ0b1ß0B0à0b1á0B0â0b1ã0B0ä0b1å0B0æ0b1ç0B0è0b1é0B0ê0b1ë0B0ì0b1í0B0î0b1ï0B0ð0b1ñ0B0ò0b1ó0B0ô0b1õ0B0ö0b1÷0B0ø0b1ù0B0ú0b1û0B0ü0b1ý0B0þ0b1ÿ0B
0b 0B 0b 0B0b0B0b0B0b0B0b0B0b0B0b0B0b0B0b0B0b0B 0b!0B"0b#0B$0b%0B&0b'0B(0b)0B*0b+0B,0b-0B.0b/0B20b30B40b50B60b70B80b90B:0b;0B<0b=0B>0b?0B@0bA0BB0bC0BD0bE0BF0bG0BH0bI0BJ0bK0BL0bM0BN0bO0BP0bQ0BR0bS0BT0bU0BV0bW0BX0bY0BZ0b[0B\0b]0B^0b_0B`0ba0Bb0bc0Bd0be0Bf0bg0Bh0bi0Bj0bk0Bl0bm0Bn0bo0Bp0bq0Br0bs0Bt0bu0Bv0bw0Bx0by0Bz0b{0B|0b}0B~0b0B€0b0B‚0bƒ0B„0b…0B†0b‡0Bˆ0b‰0BŠ0b‹0BŒ0b0BŽ0b0B0b‘0B’0b“0B”0b•0B–0b—0B˜0b™0Bš0b›0Bœ0b0Bž0bŸ0B 0b¡0B¢0b£0B¤0b¥0B¦0b§0B¨0b©0Bª0b«0B¬0b­0B®0b¯0B°0b±0B²0b³0B´0bµ0B¶0b·0B¸0b¹0Bº0b»0B¼0b½0B¾0b¿0BÀ0bÁ0BÂ0bÃ0BÄ0bÅ0BÆ0bÇ0BÈ0bÉ0BÊ0bË0BÌ0bÍ0BÎ0bÏ0BÐ0bÑ0BÒ0bÓ0BÔ0bÕ0BÖ0b×0BØ0bÙ0BÚ0bÛ0BÜ0bÝ0BÞ0bß0Bà0bá0Bâ0bã0Bä0bå0Bæ0bç0Bè0bé0Bê0bë0Bì0bí0Bî0bï0Bð0bñ0Bò0bó0Bô0bõ0Bö0b÷0Bø0bù0Bú0bû0Bü0bý0Bþ0bÿ0E+0
@@ -7705,10 +7862,7 @@ y/** z/** {/** |/**
0xB 0XC 0xD 0XE0xF0Xa0xb0Xc0xd0Xe0xf0X00x10X20x30X40x50X60x70X80x90XA 0xB!0XC"0xD#0XE$0xF%0Xa&0xb'0Xc(0xd)0Xe*0xf+0X0,0x1-0X2.0x3/0X4:0x5;0X6<0x7=0X8>0x9?0XA@0xBG0XCH0xDI0XEJ0xFK0XaL0xbM0XcN0xdO0XeP0xfQ0X0R0x1S0X2T0x3U0X4V0x5W0X6X0x7Y0X8Z0x9[0XA\0xB]0XC^0xD_0XE`0xFg0Xah0xbi0Xcj0xdk0Xel0xfm0X0n0x1o0X2p0x3q0X4r0x5s0X6t0x7u0X8v0x9w0XAx0xBy0XCz0xD{0XE|0xF}0Xa~0xb0Xc€0xd0Xe‚0xfƒ0X0„0x1…0X2†0x3‡0X4ˆ0x5‰0X6Š0x7‹0X8Œ0x90XAŽ0xB0XC0xD‘0XE’0xF“0Xa”0xb•0Xc–0xd—0Xe˜0xf™0X0š0x1›0X2œ0x30X4ž0x5Ÿ0X6 0x7¡0X8¢0x9£0XA¤0xB¥0XC¦0xD§0XE¨0xF©0Xaª0xb«0Xc¬0xd­0Xe®0xf¯0X0°0x1±0X2²0x3³0X4´0x5µ0X6¶0x7·0X8¸0x9¹0XAº0xB»0XC¼0xD½0XE¾0xF¿0XaÀ0xbÁ0XcÂ0xdÃ0XeÄ0xfÅ0X0Æ0x1Ç0X2È0x3É0X4Ê0x5Ë0X6Ì0x7Í0X8Î0x9Ï0XAÐ0xBÑ0XCÒ0xDÓ0XEÔ0xFÕ0XaÖ0xb×0XcØ0xdÙ0XeÚ0xfÛ0X0Ü0x1Ý0X2Þ0x3ß0X4à0x5á0X6â0x7ã0X8ä0x9å0XAæ0xBç0XCè0xDé0XEê0xFë0Xaì0xbí0Xcî0xdï0Xeð0xfñ0X0ò0x1ó0X2ô0x3õ0X4ö0x5÷0X6ø0x7ù0X8ú0x9û0XAü0xBý0XCþ0xDÿ0X
0x 0X 0x 0X0x0X0x0X0x0X0x0X0x0X0x0X0x0X0x0X0x0X 0x!0X"0x#0X$0x%0X&0x'0X(0x)0X*0x+0X,0x-0X.0x/0X:0x;0X<0x=0X>0x?0X@0xG0XH0xI0XJ0xK0XL0xM0XN0xO0XP0xQ0XR0xS0XT0xU0XV0xW0XX0xY0XZ0x[0X\0x]0X^0x_0X`0xg0Xh0xi0Xj0xk0Xl0xm0Xn0xo0Xp0xq0Xr0xs0Xt0xu0Xv0xw0Xx0xy0Xz0x{0X|0x}0X~0x0X€0x0X‚0xƒ0X„0x…0X†0x‡0Xˆ0x‰0XŠ0x‹0XŒ0x0XŽ0x0X0x‘0X’0x“0X”0x•0X–0x—0X˜0x™0Xš0x›0Xœ0x0Xž0xŸ0X 0x¡0X¢0x£0X¤0x¥0X¦0x§0X¨0x©0Xª0x«0X¬0x­0X®0x¯0X°0x±0X²0x³0X´0xµ0X¶0x·0X¸0x¹0Xº0x»0X¼0x½0X¾0x¿0XÀ0xÁ0XÂ0xÃ0XÄ0xÅ0XÆ0xÇ0XÈ0xÉ0XÊ0xË0XÌ0xÍ0XÎ0xÏ0XÐ0xÑ0XÒ0xÓ0XÔ0xÕ0XÖ0x×0XØ0xÙ0XÚ0xÛ0XÜ0xÝ0XÞ0xß0Xà0xá0Xâ0xã0Xä0xå0Xæ0xç0Xè0xé0Xê0xë0Xì0xí0Xî0xï0Xð0xñ0Xò0xó0Xô0xõ0Xö0x÷0Xø0xù0Xú0xû0Xü0xý0Xþ0xÿ0
0 0 0 0000000000000000000 0!0"0#0$0%0&0'0(0)0*0+0,0-0/0:0;0<0=0>0?0@0A0C0D0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0Y0Z0[0\0]0^0_0`0a0c0d0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0y0z0{0|0}0~00€00‚0ƒ0„0…0†0‡0ˆ0‰0Š0‹0Œ00Ž000‘0’0“0”0•0–0—0˜0™0š0›0œ00ž0Ÿ0 0¡0¢0£0¤0¥0¦0§0¨0©0ª0«0¬0­0®0¯0°0±0²0³0´0µ0¶0·0¸0¹0º0»0¼0½0¾0¿0À0Á0Â0Ã0Ä0Å0Æ0Ç0È0É0Ê0Ë0Ì0Í0Î0Ï0Ð0Ñ0Ò0Ó0Ô0Õ0Ö0×0Ø0Ù0Ú0Û0Ü0Ý0Þ0ß0à0á0â0ã0ä0å0æ0ç0è0é0ê0ë0ì0í0î0ï0ð0ñ0ò0ó0ô0õ0ö0÷0ø0ù0ú0û0ü0ý0þ0ÿ1.E+0
-3.e-1 4.E+2 5.e-3 6.E+47.e-58.E+69.e-71.E+82.e-93.E+04.e-15.E+26.e-37.E+48.e-59.E+61.e-72.E+83.e-94.E+05.e-16.E+2 7.e-3!8.E+4"9.e-5#1.E+6$2.e-7%3.E+8&4.e-9'5.E+0(6.e-1)7.E+2*8.e-3+9.E+4,1.e-5-2.E+6.3.e-7/4.E+8:5.e-9;6.E+0<7.e-1=8.E+2>9.e-3?1.E+4@2.e-5A3.E+6B4.e-7C5.E+8D6.e-9E7.E+0F8.e-1G9.E+2H1.e-3I2.E+4J3.e-5K4.E+6L5.e-7M6.E+8N7.e-9O8.E+0P9.e-1Q1.E+2R2.e-3S3.E+4T4.e-5U5.E+6V6.e-7W7.E+8X8.e-9Y9.E+0Z1.e-1[2.E+2\3.e-3]4.E+4^5.e-5_6.E+6`7.e-7a8.E+8b9.e-9c1.E+0d2.e-1e3.E+2f4.e-3g5.E+4h6.e-5i7.E+6j8.e-7k9.E+8l1.e-9m2.E+0n3.e-1o4.E+2p5.e-3q6.E+4r7.e-5s8.E+6t9.e-7u1.E+8v2.e-9w3.E+0x4.e-1y5.E+2z6.e-3{7.E+4|8.e-5}9.E+6~1.e-72.E+8€3.e-94.E+0‚5.e-1ƒ6.E+2„7.e-3…8.E+4†9.e-5‡1.E+6ˆ2.e-7‰3.E+8Š4.e-9‹5.E+0Œ6.e-17.E+2Ž8.e-39.E+41.e-5‘2.E+6’3.e-7“4.E+8”5.e-9•6.E+0–7.e-1—8.E+2˜9.e-3™1.E+4š2.e-5›3.E+6œ4.e-75.E+8ž6.e-9Ÿ7.E+0 8.e-1¡9.E+2¢1.e-3£2.E+4¤3.e-5¥4.E+6¦5.e-7§6.E+8¨7.e-9©8.E+0ª9.e-1«1.E+2¬2.e-3­3.E+4®4.e-5¯5.E+6°6.e-7±7.E+8²8.e-9³9.E+0´1.e-1µ2.E+2¶3.e-3·4.E+4¸5.e-5¹6.E+6º7.e-7»8.E+8¼9.e-9½1.E+0¾2.e-1¿3.E+2À4.e-3Á5.E+4Â6.e-5Ã7.E+6Ä8.e-7Å9.E+8Æ1.e-9Ç2.E+0È3.e-1É4.E+2Ê5.e-3Ë6.E+4Ì7.e-5Í8.E+6Î9.e-7Ï1.E+8Ð2.e-9Ñ3.E+0Ò4.e-1Ó5.E+2Ô6.e-3Õ7.E+4Ö8.e-5×9.E+6Ø1.e-7Ù2.E+8Ú3.e-9Û4.E+0Ü5.e-1Ý6.E+2Þ7.e-3ß8.E+4à9.e-5á1.E+6â2.e-7ã3.E+8ä4.e-9å5.E+0æ6.e-1ç7.E+2è8.e-3é9.E+4ê1.e-5ë2.E+6ì3.e-7í4.E+8î5.e-9ï6.E+0ð7.e-1ñ8.E+2ò9.e-3ó1.E+4ô2.e-5õ3.E+6ö4.e-7÷5.E+8ø6.e-9ù7.E+0ú8.e-1û9.E+2ü1.e-3ý2.E+4þ3.e-5ÿ10.E+0
-31.e-1 42.E+2 53.e-3 64.E+475.e-586.E+697.e-718.E+829.e-930.E+041.e-152.E+263.e-374.E+485.e-596.E+617.e-728.E+839.e-940.E+051.e-162.E+2 73.e-3!84.E+4"95.e-5#16.E+6$27.e-7%38.E+8&49.e-9'50.E+0(61.e-1)72.E+2*83.e-3+94.E+4,15.e-5-26.E+6.37.e-7/48.E+8:59.e-9;60.E+0<71.e-1=82.E+2>93.e-3?14.E+4@25.e-5A36.E+6B47.e-7C58.E+8D69.e-9E70.E+0F81.e-1G92.E+2H13.e-3I24.E+4J35.e-5K46.E+6L57.e-7M68.E+8N79.e-9O80.E+0P91.e-1Q12.E+2R23.e-3S34.E+4T45.e-5U56.E+6V67.e-7W78.E+8X89.e-9Y90.E+0Z11.e-1[22.E+2\33.e-3]44.E+4^55.e-5_66.E+6`77.e-7a88.E+8b99.e-9c10.E+0d21.e-1e32.E+2f43.e-3g54.E+4h65.e-5i76.E+6j87.e-7k98.E+8l19.e-9m20.E+0n31.e-1o42.E+2p53.e-3q64.E+4r75.e-5s86.E+6t97.e-7u18.E+8v29.e-9w30.E+0x41.e-1y52.E+2z63.e-3{74.E+4|85.e-5}96.E+6~17.e-728.E+8€39.e-940.E+0‚51.e-1ƒ62.E+2„73.e-3…84.E+4†95.e-5‡16.E+6ˆ27.e-7‰38.E+8Š49.e-9‹50.E+0Œ61.e-172.E+2Ž83.e-394.E+415.e-5‘26.E+6’37.e-7“48.E+8”59.e-9•60.E+0–71.e-1—82.E+2˜93.e-3™14.E+4š25.e-5›36.E+6œ47.e-758.E+8ž69.e-9Ÿ70.E+0 81.e-1¡92.E+2¢13.e-3£24.E+4¤35.e-5¥46.E+6¦57.e-7§68.E+8¨79.e-9©80.E+0ª91.e-1«12.E+2¬23.e-3­34.E+4®45.e-5¯56.E+6°67.e-7±78.E+8²89.e-9³90.E+0´11.e-1µ22.E+2¶33.e-3·44.E+4¸55.e-5¹66.E+6º77.e-7»88.E+8¼99.e-9½10.E+0¾21.e-1¿32.E+2À43.e-3Á54.E+4Â65.e-5Ã76.E+6Ä87.e-7Å98.E+8Æ19.e-9Ç20.E+0È31.e-1É42.E+2Ê53.e-3Ë64.E+4Ì75.e-5Í86.E+6Î97.e-7Ï18.E+8Ð29.e-9Ñ30.E+0Ò41.e-1Ó52.E+2Ô63.e-3Õ74.E+4Ö85.e-5×96.E+6Ø17.e-7Ù28.E+8Ú39.e-9Û40.E+0Ü51.e-1Ý62.E+2Þ73.e-3ß84.E+4à95.e-5á16.E+6â27.e-7ã38.E+8ä49.e-9å50.E+0æ61.e-1ç72.E+2è83.e-3é94.E+4ê15.e-5ë26.E+6ì37.e-7í48.E+8î59.e-9ï60.E+0ð71.e-1ñ82.E+2ò93.e-3ó14.E+4ô25.e-5õ36.E+6ö47.e-7÷58.E+8ø69.e-9ù70.E+0ú81.e-1û92.E+2ü13.e-3ý24.E+4þ35.e-5ÿ1E+0
-3e-1 4E+2 5e-3 6E+47e-58E+69e-71E+82e-93E+04e-15E+26e-37E+48e-59E+61e-72E+83e-94E+05e-16E+2 7e-3!8E+4"9e-5#1E+6$2e-7%3E+8&4e-9'5E+0(6e-1)7E+2*8e-3+9E+4,1e-5-2E+6.3e-7/4E+8:5e-9;6E+0<7e-1=8E+2>9e-3?1E+4@2e-5A3E+6B4e-7C5E+8D6e-9E7E+0F8e-1G9E+2H1e-3I2E+4J3e-5K4E+6L5e-7M6E+8N7e-9O8E+0P9e-1Q1E+2R2e-3S3E+4T4e-5U5E+6V6e-7W7E+8X8e-9Y9E+0Z1e-1[2E+2\3e-3]4E+4^5e-5_6E+6`7e-7a8E+8b9e-9c1E+0d2e-1e3E+2f4e-3g5E+4h6e-5i7E+6j8e-7k9E+8l1e-9m2E+0n3e-1o4E+2p5e-3q6E+4r7e-5s8E+6t9e-7u1E+8v2e-9w3E+0x4e-1y5E+2z6e-3{7E+4|8e-5}9E+6~1e-72E+8€3e-94E+0‚5e-1ƒ6E+2„7e-3…8E+4†9e-5‡1E+6ˆ2e-7‰3E+8Š4e-9‹5E+0Œ6e-17E+2Ž8e-39E+41e-5‘2E+6’3e-7“4E+8”5e-9•6E+0–7e-1—8E+2˜9e-3™1E+4š2e-5›3E+6œ4e-75E+8ž6e-9Ÿ7E+0 8e-1¡9E+2¢1e-3£2E+4¤3e-5¥4E+6¦5e-7§6E+8¨7e-9©8E+0ª9e-1«1E+2¬2e-3­3E+4®4e-5¯5E+6°6e-7±7E+8²8e-9³9E+0´1e-1µ2E+2¶3e-3·4E+4¸5e-5¹6E+6º7e-7»8E+8¼9e-9½1E+0¾2e-1¿3E+2À4e-3Á5E+4Â6e-5Ã7E+6Ä8e-7Å9E+8Æ1e-9Ç2E+0È3e-1É4E+2Ê5e-3Ë6E+4Ì7e-5Í8E+6Î9e-7Ï1E+8Ð2e-9Ñ3E+0Ò4e-1Ó5E+2Ô6e-3Õ7E+4Ö8e-5×9E+6Ø1e-7Ù2E+8Ú3e-9Û4E+0Ü5e-1Ý6E+2Þ7e-3ß8E+4à9e-5á1E+6â2e-7ã3E+8ä4e-9å5E+0æ6e-1ç7E+2è8e-3é9E+4ê1e-5ë2E+6ì3e-7í4E+8î5e-9ï6E+0ð7e-1ñ8E+2ò9e-3ó1E+4ô2e-5õ3E+6ö4e-7÷5E+8ø6e-9ù7E+0ú8e-1û9E+2ü1e-3ý2E+4þ3e-5ÿ1
-3 4 5 6789123456789123456 7!8"9#1$2%3&4'5(6)7*8+9,1-2/3:4;5<6=7>8?9@1A2B3C4D5F6G7H8I9J1K2L3M4N5O6P7Q8R9S1T2U3V4W5X6Y7Z8[9\1]2^3_4`5a6b7c8d9f1g2h3i4j5k6l7m8n9o1p2q3r4s5t6u7v8w9x1y2z3{4|5}6~78€91‚2ƒ3„4…5†6‡7ˆ8‰9Š1‹2Œ34Ž567‘8’9“1”2•3–4—5˜6™7š8›9œ12ž3Ÿ4 5¡6¢7£8¤9¥1¦2§3¨4©5ª6«7¬8­9®1¯2°3±4²5³6´7µ8¶9·1¸2¹3º4»5¼6½7¾8¿9À1Á2Â3Ã4Ä5Å6Æ7Ç8È9É1Ê2Ë3Ì4Í5Î6Ï7Ð8Ñ9Ò1Ó2Ô3Õ4Ö5×6Ø7Ù8Ú9Û1Ü2Ý3Þ4ß5à6á7â8ã9ä1å2æ3ç4è5é6ê7ë8ì9í1î2ï3ð4ñ5ò6ó7ô8õ9ö1÷2ø3ù4ú5û6ü7ý8þ9ÿ:::
+3.e-1 4.E+2 5.e-3 6.E+47.e-58.E+69.e-71.E+82.e-93.E+04.e-15.E+26.e-37.E+48.e-59.E+61.e-72.E+83.e-94.E+05.e-16.E+2 7.e-3!8.E+4"9.e-5#1.E+6$2.e-7%3.E+8&4.e-9'5.E+0(6.e-1)7.E+2*8.e-3+9.E+4,1.e-5-2.E+6.3.e-7/4.E+8:5.e-9;6.E+0<7.e-1=8.E+2>9.e-3?1.E+4@2.e-5A3.E+6B4.e-7C5.E+8D6.e-9E7.E+0F8.e-1G9.E+2H1.e-3I2.E+4J3.e-5K4.E+6L5.e-7M6.E+8N7.e-9O8.E+0P9.e-1Q1.E+2R2.e-3S3.E+4T4.e-5U5.E+6V6.e-7W7.E+8X8.e-9Y9.E+0Z1.e-1[2.E+2\3.e-3]4.E+4^5.e-5_6.E+6`7.e-7a8.E+8b9.e-9c1.E+0d2.e-1e3.E+2f4.e-3g5.E+4h6.e-5i7.E+6j8.e-7k9.E+8l1.e-9m2.E+0n3.e-1o4.E+2p5.e-3q6.E+4r7.e-5s8.E+6t9.e-7u1.E+8v2.e-9w3.E+0x4.e-1y5.E+2z6.e-3{7.E+4|8.e-5}9.E+6~1.e-72.E+8€3.e-94.E+0‚5.e-1ƒ6.E+2„7.e-3…8.E+4†9.e-5‡1.E+6ˆ2.e-7‰3.E+8Š4.e-9‹5.E+0Œ6.e-17.E+2Ž8.e-39.E+41.e-5‘2.E+6’3.e-7“4.E+8”5.e-9•6.E+0–7.e-1—8.E+2˜9.e-3™1.E+4š2.e-5›3.E+6œ4.e-75.E+8ž6.e-9Ÿ7.E+0 8.e-1¡9.E+2¢1.e-3£2.E+4¤3.e-5¥4.E+6¦5.e-7§6.E+8¨7.e-9©8.E+0ª9.e-1«1.E+2¬2.e-3­3.E+4®4.e-5¯5.E+6°6.e-7±7.E+8²8.e-9³9.E+0´1.e-1µ2.E+2¶3.e-3·4.E+4¸5.e-5¹6.E+6º7.e-7»8.E+8¼9.e-9½1.E+0¾2.e-1¿3.E+2À4.e-3Á5.E+4Â6.e-5Ã7.E+6Ä8.e-7Å9.E+8Æ1.e-9Ç2.E+0È3.e-1É4.E+2Ê5.e-3Ë6.E+4Ì7.e-5Í8.E+6Î9.e-7Ï1.E+8Ð2.e-9Ñ3.E+0Ò4.e-1Ó5.E+2Ô6.e-3Õ7.E+4Ö8.e-5×9.E+6Ø1.e-7Ù2.E+8Ú3.e-9Û4.E+0Ü5.e-1Ý6.E+2Þ7.e-3ß8.E+4à9.e-5á1.E+6â2.e-7ã3.E+8ä4.e-9å5.E+0æ6.e-1ç7.E+2è8.e-3é9.E+4ê1.e-5ë2.E+6ì3.e-7í4.E+8î5.e-9ï6.E+0ð7.e-1ñ8.E+2ò9.e-3ó1.E+4ô2.e-5õ3.E+6ö4.e-7÷5.E+8ø6.e-9ù7.E+0ú8.e-1û9.E+2ü1.e-3ý2.E+4þ3.e-5ÿ:::
: : : ::::::::::::::::::: :!:":#:$:%:&:':(:):*:+:,:-:.:/:0:1:2:3:4:5:6:7:8:9:;:<:=:>:?:@:A:B:C:D:E:F:G:H:I:J:K:L:M:N:O:P:Q:R:S:T:U:V:W:X:Y:Z:[:\:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:}:~::€::‚:ƒ:„:…:†:‡:ˆ:‰:Š:‹:Œ::Ž:::‘:’:“:”:•:–:—:˜:™:š:›:œ::ž:Ÿ: :¡:¢:£:¤:¥:¦:§:¨:©:ª:«:¬:­:®:¯:°:±:²:³:´:µ:¶:·:¸:¹:º:»:¼:½:¾:¿:À:Á:Â:Ã:Ä:Å:Æ:Ç:È:É:Ê:Ë:Ì:Í:Î:Ï:Ð:Ñ:Ò:Ó:Ô:Õ:Ö:×:Ø:Ù:Ú:Û:Ü:Ý:Þ:ß:à:á:â:ã:ä:å:æ:ç:è:é:ê:ë:ì:í:î:ï:ð:ñ:ò:ó:ô:õ:ö:÷:ø:ù:ú:û:ü:ý:þ:ÿ<<< "A0"
<<< "B1"
<<< "C2"
@@ -10031,10 +10185,10 @@ asB ASC asD ASEasFASGasHASIasJASKasLASMasNASOasPASQasRASSasTASU
as‹ ASŒ as ASŽasASas‘AS’as“AS”as•AS–as—AS˜as™ASšas›ASœasASžasŸAS  as¡!AS¢"as£#AS¤$as¥%AS¦&as§'AS¨(as©)ASª*as«+AS¬,as­-AS®.as¯/AS°:as±;AS²<as³=AS´>asµ?AS¶@as·[AS¸\as¹]ASº^as»`AS¼{as½|AS¾}as¿~ASÀ
asË ASÌ asÍ ASÎasÏASÐasÑASÒasÓASÔasÕASÖas×ASØasÙASÚasÛASÜasÝASÞasßASà asá!ASâ"asã#ASä$aså%ASæ&asç'ASè(asé)ASê*asë+ASì,así-ASî.asï/ASð:asñ;ASò<asó=ASô>asõ?ASö@as÷[ASø\asù]ASú^asû`ASü{asý|ASþ}asÿ~AS
as AS as ASasASasASasASasASasASasASasASasASasAS as!AS"as#AS$as%AS&as'AS(as)AS*as+AS,as-AS.as/AS:as;AS<as=AS>as?AS@as[AS\as]AS^as`AS{as|AS}as~A
-a A a AaAaAaAaAaAaAaAaAaA a!A"a#A$a%A&a'A(a)A*a+A,a-A.a/A:a;A<a=A>a?A@a[A\a]A^a`A{a|A}a~B0
+a A a AaAaAaAaAaAaAaAaAaA a!A"a#A$a%A&a'A(a)A*a+A,a-A.a/A:a;A<a=A>a?A@a[A\a]A^a`A{a|A}a~B"b"B'b'B0
bB BC bD BEbFBGbHBIbJBKbLBMbNBObPBQbSBTbUBVbWBX bY!BZ"b_#Ba$bb%Bc&bd'Be(bf)Bg*bh+Bi,bj-Bk.bl/Bm:bn;Bo<bp=Bq>bs?Bt@bu[Bv\bw]Bx^by`Bz{b|B€}b~B‚
b BŽ b Bb‘B’b“B”b•B–b—B˜b™Bšb›BœbBžbŸB b¡B¢ b£!B¤"b¥#B¦$b§%B¨&b©'Bª(b«)B¬*b­+B®,b¯-B°.b±/B²:b³;B´<bµ=B¶>b·?B¸@b¹[Bº\b»]B¼^b½`B¾{b¿|BÀ}bÁ~BÂ
-bÍ BÎ bÏ BÐbÑBÒbÓBÔbÕBÖb×BØbÙBÚbÛBÜbÝBÞbßBàbáBâ bã!Bä"bå#Bæ$bç%Bè&bé'Bê(bë)Bì*bí+Bî,bï-Bð.bñ/Bò:bó;Bô<bõ=Bö>b÷?Bø@bù[Bú\bû]Bü^bý`Bþ{bÿ|B"b"B'b'B<<<"A"
+bÍ BÎ bÏ BÐbÑBÒbÓBÔbÕBÖb×BØbÙBÚbÛBÜbÝBÞbßBàbáBâ bã!Bä"bå#Bæ$bç%Bè&bé'Bê(bë)Bì*bí+Bî,bï-Bð.bñ/Bò:bó;Bô<bõ=Bö>b÷?Bø@bù[Bú\bû]Bü^bý`Bþ{bÿ|B<<<"A"
b<<<"B"
B<<<"C"
b<<<"D"
@@ -10739,10 +10893,7 @@ gotoË GOTOÌ gotoÍ GOTOÎgotoÏGOTOÐgotoÑGOTOÒgotoÓGOTOÔgotoÕGOTOÖgoto×GO
goto GOTO goto GOTOgotoGOTOgotoGOTOgotoGOTOgotoGOTOgotoGOTOgotoGOTOgotoGOTOgotoGOTOgotoGOTO goto!GOTO"goto#GOTO$goto%GOTO&goto'GOTO(goto)GOTO*goto+GOTO,goto-GOTO.goto/GOTO:goto;GOTO<goto=GOTO>goto?GOTO@goto[GOTO\goto]GOTO^goto`GOTO{goto|GOTO}goto~GOT
got GOT got GOTgotGOTgotGOTgotGOTgotGOTgotGOTgotGOTgotGOTgotGOTgotGOT got!GOT"got#GOT$got%GOT&got'GOT(got)GOT*got+GOT,got-GOT.got/GOT:got;GOT<got=GOT>got?GOT@got[GOT\got]GOT^got`GOT{got|GOT}got~GO
go GO go GOgoGOgoGOgoGOgoGOgoGOgoGOgoGOgoGOgoGO go!GO"go#GO$go%GO&go'GO(go)GO*go+GO,go-GO.go/GO:go;GO<go=GO>go?GO@go[GO\go]GO^go`GO{go|GO}go~G
-g G g GgGgGgGgGgGgGgGgGgG g!G"g#G$g%G&g'G(g)G*g+G,g-G.g/G:g;G<g=G>g?G@g[G\g]G^g`G{g|G}g~H0
-zB C €D E‚FƒG„H…I†J‡KˆL‰MŠN‹OŒPQŽRST‘U’V“W ”X!•Y"–Z#—_$˜a%™b&šc'›d(œe)f*žg+Ÿh, i-¡j.¢k/£l:¤m;¥n<¦o=§p>¨q?©r@ªs[«t\¬u]­v^®w`¯x{°y|±z}²~³€
-¾‹ ¿Œ À ÁŽÂÃđŒƓǔȕɖʗ˘Ì™ÍšΛÏœÐÑžÒŸÓ  Ô¡!Õ¢"Ö£#פ$Ø¥%Ù¦&Ú§'Û¨(Ü©)ݪ*Þ«+߬,à­-á®.â¯/ã°:ä±;å²<æ³=ç´>èµ?é¶@ê·[ë¸\ì¹]íº^î»`ï¼{ð½|ñ¾}ò¿~óÀ
-þË ÿÌ HÍ JÎKÏMÐQÑZÒhÓjÔkÕmÖq×zØÙ€ÚÛ‚ÜƒÝ„Þ…ß†à ‡á!ˆâ"‰ã#Šä$‹å%Œæ&ç'Žè(é)ê*‘ë+’ì,“í-”î.•ï/–ð:—ñ;˜ò<™ó=šô>›õ?œö@÷[žø\Ÿù] ú^¡û`¢ü{£ý|¤þ}¥ÿ~H
+g G g GgGgGgGgGgGgGgGgGgG g!G"g#G$g%G&g'G(g)G*g+G,g-G.g/G:g;G<g=G>g?G@g[G\g]G^g`G{g|G}g~H
z  € ‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“ ”!•"–#—$˜%™&š'›(œ)*ž+Ÿ, -¡.¢/£:¤;¥<¦=§>¨?©@ª[«\¬]­^®`¯{°|±}²~³
¾ ¿ À ÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓ Ô!Õ"Ö#×$Ø%Ù&Ú'Û(Ü)Ý*Þ+ß,à-á.â/ã:ä;å<æ=ç>è?é@ê[ë\ì]í^î`ï{ð|ñ}ò~ó
þ ÿ I0
@@ -11619,3656 +11770,3902 @@ __tr __TR __tr __TR__tr__TR__tr__TR__tr__TR__tr__TR__tr__TR__tr__TR
__t __T __t __T__t__T__t__T__t__T__t__T__t__T__t__T__t__T__t__T__t__T __t!__T"__t#__T$__t%__T&__t'__T(__t)__T*__t+__T,__t-__T.__t/__T:__t;__T<__t=__T>__t?__T@__t[__T\__t]__T^__t`__T{__t|__T}__t~__
__ __ __ ______________________________________ __!__"__#__$__%__&__'__(__)__*__+__,__-__.__/__:__;__<__=__>__?__@__[__\__]__^__`__{__|__}__~_
_ _ _ ___________________ _!_"_#_$_%_&_'_(_)_*_+_,_-_._/_:_;_<_=_>_?_@_[_\_]_^_`_{_|_}_~`{|=|||
-| | | ||||||||||||||||||| |!|"|#|$|%|&|'|(|)|*|+|,|-|.|/|0|1|2|3|4|5|6|7|8|9|:|;|<|>|?|@|A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z|[|\|]|^|_|`|a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z|{|}|~||€||‚|ƒ|„|…|†|‡|ˆ|‰|Š|‹|Œ||Ž|||‘|’|“|”|•|–|—|˜|™|š|›|œ||ž|Ÿ| |¡|¢|£|¤|¥|¦|§|¨|©|ª|«|¬|­|®|¯|°|±|²|³|´|µ|¶|·|¸|¹|º|»|¼|½|¾|¿|À|Á|Â|Ã|Ä|Å|Æ|Ç|È|É|Ê|Ë|Ì|Í|Î|Ï|Ð|Ñ|Ò|Ó|Ô|Õ|Ö|×|Ø|Ù|Ú|Û|Ü|Ý|Þ|ß|à|á|â|ã|ä|å|æ|ç|è|é|ê|ë|ì|í|î|ï|ð|ñ|ò|ó|ô|õ|ö|÷|ø|ù|ú|û|ü|ý|þ|ÿ}©©©©©©©©©©©©©©©©©©©©©©©©©©©©©((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((UWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnœ˜‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnannnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnhdnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn›
-
-7
-
-7
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n 7 7 n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 6 6 n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n
-
-6
-
-6
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
-
-9
-
-9
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n 9 9 n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n99 9 9
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 5 5 n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n
+| | | ||||||||||||||||||| |!|"|#|$|%|&|'|(|)|*|+|,|-|.|/|0|1|2|3|4|5|6|7|8|9|:|;|<|>|?|@|A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z|[|\|]|^|_|`|a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z|{|}|~||€||‚|ƒ|„|…|†|‡|ˆ|‰|Š|‹|Œ||Ž|||‘|’|“|”|•|–|—|˜|™|š|›|œ||ž|Ÿ| |¡|¢|£|¤|¥|¦|§|¨|©|ª|«|¬|­|®|¯|°|±|²|³|´|µ|¶|·|¸|¹|º|»|¼|½|¾|¿|À|Á|Â|Ã|Ä|Å|Æ|Ç|È|É|Ê|Ë|Ì|Í|Î|Ï|Ð|Ñ|Ò|Ó|Ô|Õ|Ö|×|Ø|Ù|Ú|Û|Ü|Ý|Þ|ß|à|á|â|ã|ä|å|æ|ç|è|é|ê|ë|ì|í|î|ï|ð|ñ|ò|ó|ô|õ|ö|÷|ø|ù|ú|û|ü|ý|þ|ÿ}‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((QSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj{yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj]jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjd`jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj~
+
+3
+
+3
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j 3 3 j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj 2 2 j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j
+
+2
+
+2
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
5
5
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 5 5nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 4 4 n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n44nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn44 4 4
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 8 8 n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n
-
-8
-
-8
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn55nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j 5 5 j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j55 5 5
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj 1 1 j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j
+
+1
+
+1
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj 1 1jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj 0 0 j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j00jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj00 0 0
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj 4 4 j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j
+
+4
+
+4
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj11jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
+
+2
+
+2 j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
6
-6 n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
-
-:
-
-:
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n
-n : : n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n n nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn77 6 6 5 55544 8 855 6 6::nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn7766555544885566::nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnRZnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnS['nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn/nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{`nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™™˜_nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww-nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
+6
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j
+j 6 6 j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j j jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj33 2 2 1 11100 4 411 2 266jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj332211110044112266jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjNVjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjOW'jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj+jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp\jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||[jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ p
+ pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp)jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € €
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
+€
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l l lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllbllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllXWnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnTVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVNnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnYcmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššššš0nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- – H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H H––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––œœ››––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- – Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––2222222222222222222222222222222222222222222222222222222222222222–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –                                                                –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––                                                                ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––                                                                ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––                                                                ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
+€
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ €
+ € h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h h hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € €hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh^hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhTSjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjPRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRJjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjU_iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D D DzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz~~zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€€zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M M Mzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz................................................................zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z                                                                zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz                                                                zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz                                                                zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz                                                                zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z



@@ -15333,450 +15730,450 @@ _ _ _ ___________________ _!_"_#_$_%_&_'_(_)_*_+_,_-_._/_:_;_<



- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z



@@ -15841,452 +16238,452 @@ _ _ _ ___________________ _!_"_#_$_%_&_'_(_)_*_+_,_-_._/_:_;_<



- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––                                                                –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz                                                                zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z



@@ -16350,391 +16747,391 @@ _ _ _ ___________________ _!_"_#_$_%_&_'_(_)_*_+_,_-_._/_:_;_<



-  – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –                                                                ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –                                                                ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––
+  z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z                                                                zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz7777777777777777777777777777777777777777777777777777777777777777zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z                                                                zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz????????????????????????????????????????????????????????????????zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz



@@ -16798,387 +17195,387 @@ _ _ _ ___________________ _!_"_#_$_%_&_'_(_)_*_+_,_-_._/_:_;_<



-–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
+zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z
&
&
&
@@ -17243,958 +17640,958 @@ _ _ _ ___________________ _!_"_#_$_%_&_'_(_)_*_+_,_-_._/_:_;_<
&
&
&
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z8888888888888888888888888888888888888888888888888888888888888888zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z



@@ -18259,898 +18656,898 @@ _ _ _ ___________________ _!_"_#_$_%_&_'_(_)_*_+_,_-_._/_:_;_<



- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B
- B – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ >
+ > z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
#
#
#
@@ -19214,4908 +19611,4719 @@ _ _ _ ___________________ _!_"_#_$_%_&_'_(_)_*_+_,_-_._/_:_;_<
#
#
#
- # – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @
- @ – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––1111111111111111111111111111111111111111111111111111111111111111––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K
- K – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––                                                                ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––3333333333333333333333333333333333333333333333333333333333333333––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––.fnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- | – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚‚––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –                                                                –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- – € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € € €–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ ƒ – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
- –
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
-–
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- } – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––žoegnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnns
-
-
-   
-
-
-   
-
-
-  
-
-
-   
-
-
-   
-
-
-   
-
-
-   
-
-
-! " # $
-
-
-% & ' (
-
-
-) * + ,
-
-
-- . / 0
-
-
-1 2 3 4
-
-
-5 6 7 8
-
-
-9 : ; <
-
-
-= > ? @
-
-
-A B C D
-
-
-E F G H
-
-
-I J K L
-
-
-M N O P
-
-
-Q R S T
-
-
-U V W X
-
-
-Y Z [ \
-
-
-] ^ _ `
-
-
-a b c d
-
-
-e f g h
-
-
-i j k l
-
-
-m n o p
-
-
-q r s t
-
-
-u v w x
-
-
-y z { |
-
-
-} ~  €
-
-
- ‚ ƒ „
-
-
-… † ‡ ˆ
-
-
-‰ Š ‹ Œ
-
-
- Ž
-
-
-‘ ’ “ ”
-
-
-• – — ˜
-
-
-™ š › œ
-
-
- ž Ÿ  
-
-
-¡ ¢ £ ¤
-
-
-¥ ¦ § ¨
-
-
-© ª « ¬
-
-
-­ ® ¯ °
-
-
-± ² ³ ´
-
-
-µ ¶ · ¸
-
-
-¹ º » ¼
-
-
-½ ¾ ¿ À
-
-
-Á Â Ã Ä
-
-
-Å Æ Ç È
-
-
-É Ê Ë Ì
-
-
-Í Î Ï Ð
-
-
-Ñ Ò Ó Ô
-
-
-Õ Ö × Ø
-
-
-Ù Ú Û Ü
-
-
-Ý Þ ß à
-
-
-á â ã ä
-
-
-å æ ç è
-
-
-é ê ë ì
-
-
-í î ï ð
-
-
-ñ ò ó ô
-
-
-õ ö ÷ ø
-
-
-ù ú û ü
-
-
-ý þ ÿ
+ # z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ <
+ < z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz----------------------------------------------------------------zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeezzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z zFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G
+ G z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz                                                                zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz================================================================zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz////////////////////////////////////////////////////////////////zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz*bjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q
+ q z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z zwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v v vzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s s z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u u uzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+t
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+ z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+z
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r
+ r z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzkacjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjl
   
@@ -24305,16 +24513,13 @@ y z { |
õ ö ÷ ø
ù ú û ü
ý þ ÿ->-
-- - - ------------------- -!-"-#-$-%-&-'-(-)-*-+-,---.-/-0-1-2-3-4-5-6-7-8-9-:-;-<-=-?-@-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z-[-\-]-^-_-`-a-b-c-d-e-f-g-h-i-j-k-l-m-n-o-p-q-r-s-t-u-v-w-x-y-z-{-|-}-~--€--‚-ƒ-„-…-†-‡-ˆ-‰-Š-‹-Œ--Ž---‘-’-“-”-•-–-—-˜-™-š-›-œ--ž-Ÿ- -¡-¢-£-¤-¥-¦-§-¨-©-ª-«-¬-­-®-¯-°-±-²-³-´-µ-¶-·-¸-¹-º-»-¼-½-¾-¿-À-Á-Â-Ã-Ä-Å-Æ-Ç-È-É-Ê-Ë-Ì-Í-Î-Ï-Ð-Ñ-Ò-Ó-Ô-Õ-Ö-×-Ø-Ù-Ú-Û-Ü-Ý-Þ-ß-à-á-â-ã-ä-å-æ-ç-è-é-ê-ë-ì-í-î-ï-ð-ñ-ò-ó-ô-õ-ö-÷-ø-ù-ú-û-ü-ý-þ-ÿA00
-LBB MCC NDD OEEPFFQGGRHHSIITJJUKKVLLWMMXNNYOOZPP_QQaRRbSScTTdUUeVVfWW gXX!hYY"iZZ#j__$kaa%lbb&mcc'ndd(oee)pff*qgg+rhh,sii-tjj.ukk/vll:wmm;xnn<yoo=zpp>qq?€rr@ss[‚tt\ƒuu]„vv^…ww`†xx{‡yy|ˆzz}‰~Š€€
-•‹‹ –ŒŒ — ˜ŽŽ™š›‘‘œ’’““ž””Ÿ•• ––¡——¢˜˜£™™¤šš¥››¦œœ§¨žž©ŸŸª   «¡¡!¬¢¢"­££#®¤¤$¯¥¥%°¦¦&±§§'²¨¨(³©©)´ªª*µ««+¶¬¬,·­­-¸®®.¹¯¯/º°°:»±±;¼²²<½³³=¾´´>¿µµ?À¶¶@Á··[¸¸\ù¹]ĺº^Å»»`Ƽ¼{ǽ½|Ⱦ¾}É¿¿~ÊÀÀ
-ÕËË ÖÌÌ ×ÍÍ ØÎÎÙÏÏÚÐÐÛÑÑÜÒÒÝÓÓÞÔÔßÕÕàÖÖá××âØØãÙÙäÚÚåÛÛæÜÜçÝÝèÞÞéßßêàà ëáá!ìââ"íãã#îää$ïåå%ðææ&ñçç'òèè(óéé)ôêê*õëë+öìì,÷íí-øîî.ùïï/úðð:ûññ;üòò<ýóó=þôô>ÿõõ?Aöö@B÷÷[Cøø\Dùù]Eúú^Fûû`Güü{Hýý|Iþþ}Jÿÿ~A0
+- - - ------------------- -!-"-#-$-%-&-'-(-)-*-+-,---.-/-0-1-2-3-4-5-6-7-8-9-:-;-<-=-?-@-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z-[-\-]-^-_-`-a-b-c-d-e-f-g-h-i-j-k-l-m-n-o-p-q-r-s-t-u-v-w-x-y-z-{-|-}-~--€--‚-ƒ-„-…-†-‡-ˆ-‰-Š-‹-Œ--Ž---‘-’-“-”-•-–-—-˜-™-š-›-œ--ž-Ÿ- -¡-¢-£-¤-¥-¦-§-¨-©-ª-«-¬-­-®-¯-°-±-²-³-´-µ-¶-·-¸-¹-º-»-¼-½-¾-¿-À-Á-Â-Ã-Ä-Å-Æ-Ç-È-É-Ê-Ë-Ì-Í-Î-Ï-Ð-Ñ-Ò-Ó-Ô-Õ-Ö-×-Ø-Ù-Ú-Û-Ü-Ý-Þ-ß-à-á-â-ã-ä-å-æ-ç-è-é-ê-ë-ì-í-î-ï-ð-ñ-ò-ó-ô-õ-ö-÷-ø-ù-ú-û-ü-ý-þ-ÿA0
LB MC ND OEPFQGRHSITJUKVLWMXNYOZP_QaRbScTdUeVfW gX!hY"iZ#j_$ka%lb&mc'nd(oe)pf*qg+rh,si-tj.uk/vl:wm;xn<yo=zp>q?€r@s[‚t\ƒu]„v^…w`†x{‡y|ˆz}‰~Š€
•‹ –Œ — ˜Ž™š›‘œ’“ž”Ÿ• –¡—¢˜£™¤š¥›¦œ§¨ž©Ÿª  «¡!¬¢"­£#®¤$¯¥%°¦&±§'²¨(³©)´ª*µ«+¶¬,·­-¸®.¹¯/º°:»±;¼²<½³=¾´>¿µ?À¶@Á·[¸\ù]ĺ^Å»`Ƽ{ǽ|Ⱦ}É¿~ÊÀ
ÕË ÖÌ ×Í ØÎÙÏÚÐÛÑÜÒÝÓÞÔßÕàÖá×âØãÙäÚåÛæÜçÝèÞéßêà ëá!ìâ"íã#îä$ïå%ðæ&ñç'òè(óé)ôê*õë+öì,÷í-øî.ùï/úð:ûñ;üò<ýó=þô>ÿõ?Aö@B÷[Cø\Dù]Eú^Fû`Gü{Hý|Iþ}Jÿ~A
L M N OPQRSTUVWXYZ_abcdef g!h"i#j$k%l&m'n(o)p*q+r,s-t.u/v:w;x<y=z>?€@[‚\ƒ]„^…`†{‡|ˆ}‰~Š
• – — ˜™š›œžŸ ¡¢£¤¥¦§¨©ª «!¬"­#®$¯%°&±'²(³)´*µ+¶,·-¸.¹/º:»;¼<½=¾>¿?À@Á[Â\Ã]Ä^Å`Æ{Ç|È}É~Ê
-Õ Ö × ØÙÚÛÜÝÞßàáâãäåæçèéê ë!ì"í#î$ï%ð&ñ'ò(ó)ô*õ+ö,÷-ø.ù/ú:û;ü<ý=þ>ÿ?,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+Õ Ö × ØÙÚÛÜÝÞßàáâãäåæçèéê ë!ì"í#î$ï%ð&ñ'ò(ó)ô*õ+ö,÷-ø.ù/ú:û;ü<ý=þ>ÿ?
 !"#$%&'()*+,-./0123456789:;<=>?@[\]^`{|}~A00[B11}C22[D33}E44[F55}G66[H77}I88[J99}KAA[LBB}MCC[NDD}OEE[PFF}QGG[RHH}SII[TJJ}UKK[VLL}WMM[XNN}YOO[ZPP}_QQ[aRR}bSS[cTT}dUU[eVV}fWW[gXX}hYY[iZZ}j__[kaa}lbb[mcc}ndd[oee}pff[qgg}rhh[sii}tjj[ukk}vll[wmm}xnn[yoo}zpp[qq}€rr[ss}‚tt[ƒuu}„vv[…ww}†xx[‡yy}ˆzz[‰}Š€€[‹}Œ‚‚[ƒƒ}Ž„„[……}††[‘‡‡}’ˆˆ[“‰‰}”ŠŠ[•‹‹}–ŒŒ[—}˜ŽŽ[™}š[›‘‘}œ’’[““}ž””[Ÿ••} ––[¡——}¢˜˜[£™™}¤šš[¥››}¦œœ[§}¨žž[©ŸŸ}ª  [«¡¡}¬¢¢[­££}®¤¤[¯¥¥}°¦¦[±§§}²¨¨[³©©}´ªª[µ««}¶¬¬[·­­}¸®®[¹¯¯}º°°[»±±}¼²²[½³³}¾´´[¿µµ}À¶¶[Á··}¸¸[ù¹}ĺº[Å»»}Ƽ¼[ǽ½}Ⱦ¾[É¿¿}ÊÀÀ[ËÁÁ}ÌÂÂ[ÍÃÃ}ÎÄÄ[ÏÅÅ}ÐÆÆ[ÑÇÇ}ÒÈÈ[ÓÉÉ}ÔÊÊ[ÕËË}ÖÌÌ[×ÍÍ}ØÎÎ[ÙÏÏ}ÚÐÐ[ÛÑÑ}ÜÒÒ[ÝÓÓ}ÞÔÔ[ßÕÕ}àÖÖ[á××}âØØ[ãÙÙ}äÚÚ[åÛÛ}æÜÜ[çÝÝ}èÞÞ[éßß}êàà[ëáá}ìââ[íãã}îää[ïåå}ðææ[ñçç}òèè[óéé}ôêê[õëë}öìì[÷íí}øîî[ùïï}úðð[ûññ}üòò[ýóó}þôô[ÿõõ}Aöö[B÷÷}Cøø[Dùù}Eúú[Fûû}Güü[Hýý}Iþþ[Jÿÿ}A00
LBB MCC NDD OEEPFFQGGRHHSIITJJUKKVLLWMMXNNYOOZPP_QQaRRbSScTTdUUeVVfWW gXX!hYY"iZZ#j__$kaa%lbb&mcc'ndd(oee)pff*qgg+rhh,sii-tjj.ukk/vll:wmm;xnn<yoo=zpp>qq?€rr@ss\‚tt]ƒuu^„vv`…ww{†xx|‡yy~ˆzz
“‰‰ ”ŠŠ •‹‹ –ŒŒ—˜ŽŽ™š›‘‘œ’’““ž””Ÿ•• ––¡——¢˜˜£™™¤šš¥››¦œœ§¨žž ©ŸŸ!ª  "«¡¡#¬¢¢$­££%®¤¤&¯¥¥'°¦¦(±§§)²¨¨*³©©+´ªª,µ««-¶¬¬.·­­/¸®®:¹¯¯;º°°<»±±=¼²²>½³³?¾´´@¿µµ\À¶¶]Á··^¸¸`ù¹{ĺº|Å»»~Ƽ¼
@@ -24324,8 +24529,8 @@ LB MC ND OEPFQGRHSITJUKVLWMXNYOZP_QaRbScTdUeVfW gX!hY"iZ#j_$ka
ÑÇ ÒÈ ÓÉ ÔÊÕËÖÌ×ÍØÎÙÏÚÐÛÑÜÒÝÓÞÔßÕàÖá×âØãÙäÚåÛæÜ çÝ!èÞ"éß#êà$ëá%ìâ&íã'îä(ïå)ðæ*ñç+òè,óé-ôê.õë/öì:÷í;øî<ùï=úð>ûñ?üò@ýó\þô]ÿõ^Aö`B÷{Cø|Dù~Eú
L M N OPQRSTUVWXYZ_abcdef g!h"i#j$k%l&m'n(o)p*q+r,s-t.u/v:w;x<y=z>?€@\‚]ƒ^„`…{†|‡~ˆ
“ ” • –—˜™š›œžŸ ¡¢£¤¥¦§¨ ©!ª"«#¬$­%®&¯'°(±)²*³+´,µ-¶.·/¸:¹;º<»=¼>½?¾@¿\À]Á^Â`Ã{Ä|Å~Æ
-Ñ Ò Ó ÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæ ç!è"é#ê$ë%ì&í'î(ï)ð*ñ+ò,ó-ô.õ/ö:÷;ø<ù=ú>û?ü@ý\þ]ÿ^uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
-  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨
+Ñ Ò Ó ÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæ ç!è"é#ê$ë%ì&í'î(ï)ð*ñ+ò,ó-ô.õ/ö:÷;ø<ù=ú>û?ü@ý\þ]ÿ^
+  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
#'\!"%&()*+,-./:;<=>?@[^`{|}~$A0
$LB $MC $ND $OE$PF$QG$RH$SI$TJ$UK$VL$WM$XN$YO$ZP$_Q$aR$bS$cT$dU$eV$fW $gX!$hY"$iZ#$j_$$ka%$lb&$mc'$nd($oe)$pf*$qg+$rh,$si-$tj.$uk/$vl:$wm;$xn<$yo=$zp>$q?$€r@$s[$‚t\$ƒu]$„v^$…w`$†x{$‡y|$ˆz}$‰~$Š€
$•‹ $–Œ $— $˜Ž$™$š$›‘$œ’$“$ž”$Ÿ•$ –$¡—$¢˜$£™$¤š$¥›$¦œ$§$¨ž$©Ÿ$ª  $«¡!$¬¢"$­£#$®¤$$¯¥%$°¦&$±§'$²¨($³©)$´ª*$µ«+$¶¬,$·­-$¸®.$¹¯/$º°:$»±;$¼²<$½³=$¾´>$¿µ?$À¶@$Á·[$¸\$ù]$ĺ^$Å»`$Ƽ{$ǽ|$Ⱦ}$É¿~$ÊÀ
@@ -24342,18 +24547,14 @@ $ $ $ $$$$$$$$$$$$$$$$$$$ $!$"$#$$$%$&$'$($)$*$+$,$-$.$/$0$1$2
0xBB 0XCC 0xDD 0XEE0xFF0Xaa0xbb0Xcc0xdd0Xee0xff0X000x110X220x330X440x550X660x770X880x990XAA 0xBB!0XCC"0xDD#0XEE$0xFF%0Xaa&0xbb'0Xcc(0xdd)0Xee*0xff+0X00,0x11-0X22.0x33/0X44:0x55;0X66<0x77=0X88>0x99?0XAA@0xBBG0XCCH0xDDI0XEEJ0xFFK0XaaL0xbbM0XccN0xddO0XeeP0xffQ0X00R0x11S0X22T0x33U0X44V0x55W0X66X0x77Y0X88Z0x99[0XAA\0xBB]0XCC^0xDD_0XEE`0xFFg0Xaah0xbbi0Xccj0xddk0Xeel0xffm0X00n0x11o0X22p0x33q0X44r0x55s0X66t0x77u0X88v0x99w0XAAx0xBBy0XCCz0xDD{0XEE|0xFF}0Xaa~0xbb0Xcc€0xdd0Xee‚0xffƒ0X00„0x11…0X22†0x33‡0X44ˆ0x55‰0X66Š0x77‹0X88Œ0x990XAAŽ0xBB0XCC0xDD‘0XEE’0xFF“0Xaa”0xbb•0Xcc–0xdd—0Xee˜0xff™0X00š0x11›0X22œ0x330X44ž0x55Ÿ0X66 0x77¡0X88¢0x99£0XAA¤0xBB¥0XCC¦0xDD§0XEE¨0xFF©0Xaaª0xbb«0Xcc¬0xdd­0Xee®0xff¯0X00°0x11±0X22²0x33³0X44´0x55µ0X66¶0x77·0X88¸0x99¹0XAAº0xBB»0XCC¼0xDD½0XEE¾0xFF¿0XaaÀ0xbbÁ0XccÂ0xddÃ0XeeÄ0xffÅ0X00Æ0x11Ç0X22È0x33É0X44Ê0x55Ë0X66Ì0x77Í0X88Î0x99Ï0XAAÐ0xBBÑ0XCCÒ0xDDÓ0XEEÔ0xFFÕ0XaaÖ0xbb×0XccØ0xddÙ0XeeÚ0xffÛ0X00Ü0x11Ý0X22Þ0x33ß0X44à0x55á0X66â0x77ã0X88ä0x99å0XAAæ0xBBç0XCCè0xDDé0XEEê0xFFë0Xaaì0xbbí0Xccî0xddï0Xeeð0xffñ0X00ò0x11ó0X22ô0x33õ0X44ö0x55÷0X66ø0x77ù0X88ú0x99û0XAAü0xBBý0XCCþ0xDDÿ0X0
0xB 0XC 0xD 0XE0xF0Xa0xb0Xc0xd0Xe0xf0X00x10X20x30X40x50X60x70X80x90XA 0xB!0XC"0xD#0XE$0xF%0Xa&0xb'0Xc(0xd)0Xe*0xf+0X0,0x1-0X2.0x3/0X4:0x5;0X6<0x7=0X8>0x9?0XA@0xBG0XCH0xDI0XEJ0xFK0XaL0xbM0XcN0xdO0XeP0xfQ0X0R0x1S0X2T0x3U0X4V0x5W0X6X0x7Y0X8Z0x9[0XA\0xB]0XC^0xD_0XE`0xFg0Xah0xbi0Xcj0xdk0Xel0xfm0X0n0x1o0X2p0x3q0X4r0x5s0X6t0x7u0X8v0x9w0XAx0xBy0XCz0xD{0XE|0xF}0Xa~0xb0Xc€0xd0Xe‚0xfƒ0X0„0x1…0X2†0x3‡0X4ˆ0x5‰0X6Š0x7‹0X8Œ0x90XAŽ0xB0XC0xD‘0XE’0xF“0Xa”0xb•0Xc–0xd—0Xe˜0xf™0X0š0x1›0X2œ0x30X4ž0x5Ÿ0X6 0x7¡0X8¢0x9£0XA¤0xB¥0XC¦0xD§0XE¨0xF©0Xaª0xb«0Xc¬0xd­0Xe®0xf¯0X0°0x1±0X2²0x3³0X4´0x5µ0X6¶0x7·0X8¸0x9¹0XAº0xB»0XC¼0xD½0XE¾0xF¿0XaÀ0xbÁ0XcÂ0xdÃ0XeÄ0xfÅ0X0Æ0x1Ç0X2È0x3É0X4Ê0x5Ë0X6Ì0x7Í0X8Î0x9Ï0XAÐ0xBÑ0XCÒ0xDÓ0XEÔ0xFÕ0XaÖ0xb×0XcØ0xdÙ0XeÚ0xfÛ0X0Ü0x1Ý0X2Þ0x3ß0X4à0x5á0X6â0x7ã0X8ä0x9å0XAæ0xBç0XCè0xDé0XEê0xFë0Xaì0xbí0Xcî0xdï0Xeð0xfñ0X0ò0x1ó0X2ô0x3õ0X4ö0x5÷0X6ø0x7ù0X8ú0x9û0XAü0xBý0XCþ0xDÿ0X
0x 0X 0x 0X0x0X0x0X0x0X0x0X0x0X0x0X0x0X0x0X0x0X 0x!0X"0x#0X$0x%0X&0x'0X(0x)0X*0x+0X,0x-0X.0x/0X:0x;0X<0x=0X>0x?0X@0xG0XH0xI0XJ0xK0XL0xM0XN0xO0XP0xQ0XR0xS0XT0xU0XV0xW0XX0xY0XZ0x[0X\0x]0X^0x_0X`0xg0Xh0xi0Xj0xk0Xl0xm0Xn0xo0Xp0xq0Xr0xs0Xt0xu0Xv0xw0Xx0xy0Xz0x{0X|0x}0X~0x0X€0x0X‚0xƒ0X„0x…0X†0x‡0Xˆ0x‰0XŠ0x‹0XŒ0x0XŽ0x0X0x‘0X’0x“0X”0x•0X–0x—0X˜0x™0Xš0x›0Xœ0x0Xž0xŸ0X 0x¡0X¢0x£0X¤0x¥0X¦0x§0X¨0x©0Xª0x«0X¬0x­0X®0x¯0X°0x±0X²0x³0X´0xµ0X¶0x·0X¸0x¹0Xº0x»0X¼0x½0X¾0x¿0XÀ0xÁ0XÂ0xÃ0XÄ0xÅ0XÆ0xÇ0XÈ0xÉ0XÊ0xË0XÌ0xÍ0XÎ0xÏ0XÐ0xÑ0XÒ0xÓ0XÔ0xÕ0XÖ0x×0XØ0xÙ0XÚ0xÛ0XÜ0xÝ0XÞ0xß0Xà0xá0Xâ0xã0Xä0xå0Xæ0xç0Xè0xé0Xê0xë0Xì0xí0Xî0xï0Xð0xñ0Xò0xó0Xô0xõ0Xö0x÷0Xø0xù0Xú0xû0Xü0xý0Xþ0xÿ0
-0 0 0 0000000000000000000 0!0"0#0$0%0&0'0(0)0*0+0,0-0.0/0:0;0<0=0>0?0@0A0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0Y0Z0[0\0]0^0_0`0a0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0y0z0{0|0}0~00€00‚0ƒ0„0…0†0‡0ˆ0‰0Š0‹0Œ00Ž000‘0’0“0”0•0–0—0˜0™0š0›0œ00ž0Ÿ0 0¡0¢0£0¤0¥0¦0§0¨0©0ª0«0¬0­0®0¯0°0±0²0³0´0µ0¶0·0¸0¹0º0»0¼0½0¾0¿0À0Á0Â0Ã0Ä0Å0Æ0Ç0È0É0Ê0Ë0Ì0Í0Î0Ï0Ð0Ñ0Ò0Ó0Ô0Õ0Ö0×0Ø0Ù0Ú0Û0Ü0Ý0Þ0ß0à0á0â0ã0ä0å0æ0ç0è0é0ê0ë0ì0í0î0ï0ð0ñ0ò0ó0ô0õ0ö0÷0ø0ù0ú0û0ü0ý0þ0ÿ100
-311 422 533 644755866977188299300411522633744855966177288399400511622 733!844"955#166$277%388&499'500(611)722*833+944,155-266.377/488:599;600<711=822>933?144@255A366B477C588D699E700F811G922H133I244J355K466L577M688N799O800P911Q122R233S344T455U566V677W788X899Y900Z111[222\333]444^555_666`777a888b999c100d211e322f433g544h655i766j877k988l199m200n311o422p533q644r755s866t977u188v299w300x411y522z633{744|855}966~177288€399400‚511ƒ622„733…844†955‡166ˆ277‰388Š499‹500Œ611722Ž833944155‘266’377“488”599•600–711—822˜933™144š255›366œ477588ž699Ÿ700 811¡922¢133£244¤355¥466¦577§688¨799©800ª911«122¬233­344®455¯566°677±788²899³900´111µ222¶333·444¸555¹666º777»888¼999½100¾211¿322À433Á544Â655Ã766Ä877Å988Æ199Ç200È311É422Ê533Ë644Ì755Í866Î977Ï188Ð299Ñ300Ò411Ó522Ô633Õ744Ö855×966Ø177Ù288Ú399Û400Ü511Ý622Þ733ß844à955á166â277ã388ä499å500æ611ç722è833é944ê155ë266ì377í488î599ï600ð711ñ822ò933ó144ô255õ366ö477÷588ø699ù700ú811û922ü133ý244þ355ÿ10
+0 0 0 0000000000000000000 0!0"0#0$0%0&0'0(0)0*0+0,0-0.0/0:0;0<0=0>0?0@0A0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0Y0Z0[0\0]0^0_0`0a0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0y0z0{0|0}0~00€00‚0ƒ0„0…0†0‡0ˆ0‰0Š0‹0Œ00Ž000‘0’0“0”0•0–0—0˜0™0š0›0œ00ž0Ÿ0 0¡0¢0£0¤0¥0¦0§0¨0©0ª0«0¬0­0®0¯0°0±0²0³0´0µ0¶0·0¸0¹0º0»0¼0½0¾0¿0À0Á0Â0Ã0Ä0Å0Æ0Ç0È0É0Ê0Ë0Ì0Í0Î0Ï0Ð0Ñ0Ò0Ó0Ô0Õ0Ö0×0Ø0Ù0Ú0Û0Ü0Ý0Þ0ß0à0á0â0ã0ä0å0æ0ç0è0é0ê0ë0ì0í0î0ï0ð0ñ0ò0ó0ô0õ0ö0÷0ø0ù0ú0û0ü0ý0þ0ÿ10
31 42 53 64758697182930415263748596172839405162 73!84"95#16$27%38&49'50(61)72*83+94,15-26.37/48:59;60<71=82>93?14@25A36B47C58D69E70F81G92H13I24J35K46L57M68N79O80P91Q12R23S34T45U56V67W78X89Y90Z11[22\33]44^55_66`77a88b99c10d21e32f43g54h65i76j87k98l19m20n31o42p53q64r75s86t97u18v29w30x41y52z63{74|85}96~1728€3940‚51ƒ62„73…84†95‡16ˆ27‰38Š49‹50Œ6172Ž839415‘26’37“48”59•60–71—82˜93™14š25›36œ4758ž69Ÿ70 81¡92¢13£24¤35¥46¦57§68¨79©80ª91«12¬23­34®45¯56°67±78²89³90´11µ22¶33·44¸55¹66º77»88¼99½10¾21¿32À43Á54Â65Ã76Ä87Å98Æ19Ç20È31É42Ê53Ë64Ì75Í86Î97Ï18Ð29Ñ30Ò41Ó52Ô63Õ74Ö85×96Ø17Ù28Ú39Û40Ü51Ý62Þ73ß84à95á16â27ã38ä49å50æ61ç72è83é94ê15ë26ì37í48î59ï60ð71ñ82ò93ó14ô25õ36ö47÷58ø69ù70ú81û92ü13ý24þ35ÿ1
-3 4 5 6789123456789123456 7!8"9#1$2%3&4'5(6)7*8+9,1-2.3/4:5;6<7=8>9?1@2A3B4C5D6E7F8G9H1I2J3K4L5M6N7O8P9Q1R2S3T4U5V6W7X8Y9Z1[2\3]4^5_6`7a8b9c1d2e3f4g5h6i7j8k9l1m2n3o4p5q6r7s8t9u1v2w3x4y5z6{7|8}9~12€34‚5ƒ6„7…8†9‡1ˆ2‰3Š4‹5Œ67Ž891‘2’3“4”5•6–7—8˜9™1š2›3œ45ž6Ÿ7 8¡9¢1£2¤3¥4¦5§6¨7©8ª9«1¬2­3®4¯5°6±7²8³9´1µ2¶3·4¸5¹6º7»8¼9½1¾2¿3À4Á5Â6Ã7Ä8Å9Æ1Ç2È3É4Ê5Ë6Ì7Í8Î9Ï1Ð2Ñ3Ò4Ó5Ô6Õ7Ö8×9Ø1Ù2Ú3Û4Ü5Ý6Þ7ß8à9á1â2ã3ä4å5æ6ç7è8é9ê1ë2ì3í4î5ï6ð7ñ8ò9ó1ô2õ3ö4÷5ø6ù7ú8û9ü1ý2þ3ÿA00
-LBB MCC NDD OEEPFFQGGRHHSIITJJUKKVLLWMMXNNYOOZPP_QQaRRbSScTTdUUeVVfWW gXX!hYY"iZZ#j__$kaa%lbb&mcc'ndd(oee)pff*qgg+rhh,sii-tjj.ukk/vll:wmm;xnn<yoo=zpp>qq?€rr@ss[‚tt\ƒuu]„vv^…ww`†xx{‡yy|ˆzz}‰~Š€€
-•‹‹ –ŒŒ — ˜ŽŽ™š›‘‘œ’’““ž””Ÿ•• ––¡——¢˜˜£™™¤šš¥››¦œœ§¨žž©ŸŸª   «¡¡!¬¢¢"­££#®¤¤$¯¥¥%°¦¦&±§§'²¨¨(³©©)´ªª*µ««+¶¬¬,·­­-¸®®.¹¯¯/º°°:»±±;¼²²<½³³=¾´´>¿µµ?À¶¶@Á··[¸¸\ù¹]ĺº^Å»»`Ƽ¼{ǽ½|Ⱦ¾}É¿¿~ÊÀÀ
-ÕËË ÖÌÌ ×ÍÍ ØÎÎÙÏÏÚÐÐÛÑÑÜÒÒÝÓÓÞÔÔßÕÕàÖÖá××âØØãÙÙäÚÚåÛÛæÜÜçÝÝèÞÞéßßêàà ëáá!ìââ"íãã#îää$ïåå%ðææ&ñçç'òèè(óéé)ôêê*õëë+öìì,÷íí-øîî.ùïï/úðð:ûññ;üòò<ýóó=þôô>ÿõõ?Aöö@B÷÷[Cøø\Dùù]Eúú^Fûû`Güü{Hýý|Iþþ}Jÿÿ~A0
+3 4 5 6789123456789123456 7!8"9#1$2%3&4'5(6)7*8+9,1-2.3/4:5;6<7=8>9?1@2A3B4C5D6E7F8G9H1I2J3K4L5M6N7O8P9Q1R2S3T4U5V6W7X8Y9Z1[2\3]4^5_6`7a8b9c1d2e3f4g5h6i7j8k9l1m2n3o4p5q6r7s8t9u1v2w3x4y5z6{7|8}9~12€34‚5ƒ6„7…8†9‡1ˆ2‰3Š4‹5Œ67Ž891‘2’3“4”5•6–7—8˜9™1š2›3œ45ž6Ÿ7 8¡9¢1£2¤3¥4¦5§6¨7©8ª9«1¬2­3®4¯5°6±7²8³9´1µ2¶3·4¸5¹6º7»8¼9½1¾2¿3À4Á5Â6Ã7Ä8Å9Æ1Ç2È3É4Ê5Ë6Ì7Í8Î9Ï1Ð2Ñ3Ò4Ó5Ô6Õ7Ö8×9Ø1Ù2Ú3Û4Ü5Ý6Þ7ß8à9á1â2ã3ä4å5æ6ç7è8é9ê1ë2ì3í4î5ï6ð7ñ8ò9ó1ô2õ3ö4÷5ø6ù7ú8û9ü1ý2þ3ÿA0
LB MC ND OEPFQGRHSITJUKVLWMXNYOZP_QaRbScTdUeVfW gX!hY"iZ#j_$ka%lb&mc'nd(oe)pf*qg+rh,si-tj.uk/vl:wm;xn<yo=zp>q?€r@s[‚t\ƒu]„v^…w`†x{‡y|ˆz}‰~Š€
•‹ –Œ — ˜Ž™š›‘œ’“ž”Ÿ• –¡—¢˜£™¤š¥›¦œ§¨ž©Ÿª  «¡!¬¢"­£#®¤$¯¥%°¦&±§'²¨(³©)´ª*µ«+¶¬,·­-¸®.¹¯/º°:»±;¼²<½³=¾´>¿µ?À¶@Á·[¸\ù]ĺ^Å»`Ƽ{ǽ|Ⱦ}É¿~ÊÀ
ÕË ÖÌ ×Í ØÎÙÏÚÐÛÑÜÒÝÓÞÔßÕàÖá×âØãÙäÚåÛæÜçÝèÞéßêà ëá!ìâ"íã#îä$ïå%ðæ&ñç'òè(óé)ôê*õë+öì,÷í-øî.ùï/úð:ûñ;üò<ýó=þô>ÿõ?Aö@B÷[Cø\Dù]Eú^Fû`Gü{Hý|Iþ}Jÿ~A
L M N OPQRSTUVWXYZ_abcdef g!h"i#j$k%l&m'n(o)p*q+r,s-t.u/v:w;x<y=z>?€@[‚\ƒ]„^…`†{‡|ˆ}‰~Š
• – — ˜™š›œžŸ ¡¢£¤¥¦§¨©ª «!¬"­#®$¯%°&±'²(³)´*µ+¶,·-¸.¹/º:»;¼<½=¾>¿?À@Á[Â\Ã]Ä^Å`Æ{Ç|È}É~Ê
-Õ Ö × ØÙÚÛÜÝÞßàáâãäåæçèéê ë!ì"í#î$ï%ð&ñ'ò(ó)ô*õ+ö,÷-ø.ù/ú:û;ü<ý=þ>ÿ?]ªªªªªªªªªªªªªªªªªªªªªªªªªªªªª•••••••””””””””””””””””””””””””””’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””””zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————“re2c: warning: line 1095: column 12: escape has no effect: '\[' [-Wuseless-escape]
+Õ Ö × ØÙÚÛÜÝÞßàáâãäåæçèéê ë!ì"í#î$ï%ð&ñ'ò(ó)ô*õ+ö,÷-ø.ù/ú:û;ü<ý=þ>ÿ?]
re2c: warning: line 1476: column 19: escape has no effect: '\*' [-Wuseless-escape]
re2c: warning: line 1480: column 19: escape has no effect: '\*' [-Wuseless-escape]
diff --git a/test/posix_captures/.dat/basic.dat b/test/posix_captures/.dat/basic.dat
new file mode 100644
index 00000000..3ed2993f
--- /dev/null
+++ b/test/posix_captures/.dat/basic.dat
@@ -0,0 +1,59 @@
+(..)*(...)* a (0,0)(?,?)(?,?)
+(..)*(...)* abcd (0,4)(2,4)(?,?)
+(ab|a)(bc|c) abc (0,3)(0,2)(2,3)
+(ab)c|abc abc (0,3)(0,2)
+(a*)(b?)(b+)b{3} aaabbbbbbb (0,10)(0,3)(3,4)(4,7)
+(a*)(b{0,1})(b{1,})b{3} aaabbbbbbb (0,10)(0,3)(3,4)(4,7)
+((a|a)|a) a (0,1)(0,1)(0,1)
+(a*)(a|aa) aaaa (0,4)(0,3)(3,4)
+a*(a.|aa) aaaa (0,4)(2,4)
+a(b)|c(d)|a(e)f aef (0,3)(?,?)(?,?)(1,2)
+(a|b)?.* b (0,1)(0,1)
+(a|b)c|a(b|c) ac (0,2)(0,1)(?,?)
+(a|b)c|a(b|c) ab (0,2)(?,?)(1,2)
+(a|b)*c|(a|ab)*c abc (0,3)(1,2)(?,?)
+(.a|.b).*|.*(.a|.b) xa (0,2)(0,2)(?,?)
+a?(ab|ba)ab abab (0,4)(0,2)
+a?(a[c]{0}b|ba)ab abab (0,4)(0,2)
+ab|abab abbabab (0,2)
+(aa|aaa)*|(a|aaaaa) aa (0,2)(0,2)(?,?)
+(a.|.a.)*|(a|.a...) aa (0,2)(0,2)(?,?)
+(a)(b)(c) abc (0,3)(0,1)(1,2)(2,3)
+((((((((((((((((((((((((((((((x)))))))))))))))))))))))))))))) x (0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)
+((((((((((((((((((((((((((((((x))))))))))))))))))))))))))))))* xx (0,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)(1,2)
+a?(ab|ba)* ababababababababababababababababababababababababababababababababababababababababa (0,81)(79,81)
+a*a*a*a*a*b aaaaaaaaab (0,10)
+a[b]+bc abbc (0,4)
+a[b]+bc abbbbc (0,6)
+a[b]?bc abbc (0,4)
+a[b]?bc abc (0,3)
+a[b]?c abc (0,3)
+ab|cd abc (0,2)
+ab|cd abcd (0,2)
+((a)) abc (0,1)(0,1)(0,1)
+(a)b(c) abc (0,3)(0,1)(2,3)
+a* aaa (0,3)
+(a*)* - (0,0)(0,0)
+(a*)+ - (0,0)(0,0)
+(a*|b)* - (0,0)(0,0)
+(a+|b)* ab (0,2)(1,2)
+(a+|b)+ ab (0,2)(1,2)
+(a+|b)? ab (0,1)(0,1)
+([abc])*d abbbcd (0,6)(4,5)
+([abc])*bcd abcd (0,4)(0,1)
+a|b|c|d|e e (0,1)
+(a|b|c|d|e)f ef (0,2)(0,1)
+((a*|b))* - (0,0)(0,0)(0,0)
+(ab|a[b]*)bc abc (0,3)(0,1)
+a([bc]*)c* abc (0,3)(1,3)
+a([bc]*)(c*d) abcd (0,4)(1,3)(3,4)
+a([bc]+)(c*d) abcd (0,4)(1,3)(3,4)
+a([bc]*)(c+d) abcd (0,4)(1,2)(2,4)
+a[bcd]*dcdcde adcdcde (0,7)
+(ab|a)b*c abc (0,3)(0,2)
+((a)(b)c)(d) abcd (0,4)(0,3)(0,1)(1,2)(3,4)
+(((((((((a))))))))) a (0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)(0,1)
+(.*)c(.*) abcde (0,5)(0,2)(3,5)
+a(bc)d abcd (0,4)(1,3)
+a[-]?c ac (0,3)
+a+(b|c)*d+ aabcdd (0,6)(3,4)
diff --git a/test/posix_captures/.dat/categorize.dat b/test/posix_captures/.dat/categorize.dat
new file mode 100644
index 00000000..959646fc
--- /dev/null
+++ b/test/posix_captures/.dat/categorize.dat
@@ -0,0 +1,11 @@
+(a*)(ab)*(b*) abc (0,2)(0,1)(?,?)(1,2)
+((a*)(ab)*)((b*)(a*)) aba (0,3)(0,2)(0,0)(0,2)(2,3)(2,2)(2,3)
+(...?.?)* xxxxxx (0,6)(4,6)
+(a|ab)(bc|c) abcabc (0,3)(0,2)(2,3)
+(aba|a*b)(aba|a*b) ababa (0,5)(0,2)(2,5)
+(a*){2} xxxxx (0,0)(0,0)
+(a*)* a (0,1)(0,1)
+(aba|a*b)* ababa (0,5)(2,5)
+(a(b)?)+ aba (0,3)(2,3)(?,?)
+.*(.*) ab (0,2)(2,2)
+(a?)((ab)?)(b?)a?(ab)?b? abab (0,4)(0,1)(1,1)(?,?)(1,2)(?,?)
diff --git a/test/posix_captures/.dat/forcedassoc.dat b/test/posix_captures/.dat/forcedassoc.dat
new file mode 100644
index 00000000..a7c7fb28
--- /dev/null
+++ b/test/posix_captures/.dat/forcedassoc.dat
@@ -0,0 +1,28 @@
+(a|ab)(c|bcd) abcd (0,4)(0,1)(1,4)
+(a|ab)(bcd|c) abcd (0,4)(0,1)(1,4)
+(ab|a)(c|bcd) abcd (0,4)(0,1)(1,4)
+(ab|a)(bcd|c) abcd (0,4)(0,1)(1,4)
+((a|ab)(c|bcd))(d*) abcd (0,4)(0,4)(0,1)(1,4)(4,4)
+((a|ab)(bcd|c))(d*) abcd (0,4)(0,4)(0,1)(1,4)(4,4)
+((ab|a)(c|bcd))(d*) abcd (0,4)(0,4)(0,1)(1,4)(4,4)
+((ab|a)(bcd|c))(d*) abcd (0,4)(0,4)(0,1)(1,4)(4,4)
+(a|ab)((c|bcd)(d*)) abcd (0,4)(0,2)(2,4)(2,3)(3,4)
+(a|ab)((bcd|c)(d*)) abcd (0,4)(0,2)(2,4)(2,3)(3,4)
+(ab|a)((c|bcd)(d*)) abcd (0,4)(0,2)(2,4)(2,3)(3,4)
+(ab|a)((bcd|c)(d*)) abcd (0,4)(0,2)(2,4)(2,3)(3,4)
+(a*)(b|abc) abc (0,3)(0,0)(0,3)
+(a*)(abc|b) abc (0,3)(0,0)(0,3)
+((a*)(b|abc))(c*) abc (0,3)(0,3)(0,0)(0,3)(3,3)
+((a*)(abc|b))(c*) abc (0,3)(0,3)(0,0)(0,3)(3,3)
+(a*)((b|abc)(c*)) abc (0,3)(0,1)(1,3)(1,2)(2,3)
+(a*)((abc|b)(c*)) abc (0,3)(0,1)(1,3)(1,2)(2,3)
+(a*)(b|abc) abc (0,3)(0,0)(0,3)
+(a*)(abc|b) abc (0,3)(0,0)(0,3)
+((a*)(b|abc))(c*) abc (0,3)(0,3)(0,0)(0,3)(3,3)
+((a*)(abc|b))(c*) abc (0,3)(0,3)(0,0)(0,3)(3,3)
+(a*)((b|abc)(c*)) abc (0,3)(0,1)(1,3)(1,2)(2,3)
+(a*)((abc|b)(c*)) abc (0,3)(0,1)(1,3)(1,2)(2,3)
+(a|ab) ab (0,2)(0,2)
+(ab|a) ab (0,2)(0,2)
+(a|ab)(b*) ab (0,2)(0,2)(2,2)
+(ab|a)(b*) ab (0,2)(0,2)(2,2)
diff --git a/test/posix_captures/.dat/glennfowler.dat b/test/posix_captures/.dat/glennfowler.dat
new file mode 100644
index 00000000..f789c494
--- /dev/null
+++ b/test/posix_captures/.dat/glennfowler.dat
@@ -0,0 +1,59 @@
+(a?)((ab)?) ab (0,2)(0,0)(0,2)(0,2)
+(a?)((ab)?)(b?) ab (0,2)(0,1)(1,1)(?,?)(1,2)
+((a?)((ab)?))(b?) ab (0,2)(0,2)(0,0)(0,2)(0,2)(2,2)
+(a?)(((ab)?)(b?)) ab (0,2)(0,1)(1,2)(1,1)(?,?)(1,2)
+
+(.?) x (0,1)(0,1)
+(.?){1} x (0,1)(0,1)
+(.?)(.?) x (0,1)(0,1)(1,1)
+(.?){2} x (0,1)(1,1)
+(.?)* x (0,1)(0,1)
+
+(.?.?) xxx (0,2)(0,2)
+(.?.?){1} xxx (0,2)(0,2)
+(.?.?)(.?.?) xxx (0,3)(0,2)(2,3)
+(.?.?){2} xxx (0,3)(2,3)
+(.?.?)(.?.?)(.?.?) xxx (0,3)(0,2)(2,3)(3,3)
+(.?.?){3} xxx (0,3)(3,3)
+(.?.?)* xxx (0,3)(2,3)
+
+a?((ab)?)(b?) ab (0,2)(1,1)(?,?)(1,2)
+(a?)((ab)?)b? ab (0,2)(0,1)(1,1)(?,?)
+a?((ab)?)b? ab (0,2)(1,1)(?,?)
+
+(a*){2} xxxxx (0,0)(0,0)
+
+(ab?)(b?a) aba (0,3)(0,2)(2,3)
+(a|ab)(ba|a) aba (0,3)(0,2)(2,3)
+(a|ab|ba) aba (0,2)(0,2)
+(a|ab|ba)(a|ab|ba) aba (0,3)(0,2)(2,3)
+(a|ab|ba)* aba (0,3)(2,3)
+
+(aba|a*b) ababa (0,3)(0,3)
+(aba|a*b)(aba|a*b) ababa (0,5)(0,2)(2,5)
+(aba|a*b)(aba|a*b)(aba|a*b) ababa NOMATCH
+(aba|a*b)* ababa (0,5)(2,5)
+(aba|ab|a) ababa (0,3)(0,3)
+(aba|ab|a)(aba|ab|a) ababa (0,5)(0,2)(2,5)
+(aba|ab|a)(aba|ab|a)(aba|ab|a) ababa (0,5)(0,2)(2,4)(4,5)
+(aba|ab|a)* ababa (0,5)(2,5)
+
+(a(b)?) aba (0,2)(0,2)(1,2)
+(a(b)?)(a(b)?) aba (0,3)(0,2)(1,2)(2,3)(?,?)
+(a(b)?)+ aba (0,3)(2,3)(?,?)
+
+(.*)(.*) xx (0,2)(0,2)(2,2)
+.*(.*) xx (0,2)(2,2)
+
+(a.*z|b.*y) azbazby (0,5)(0,5)
+(a.*z|b.*y)(a.*z|b.*y) azbazby (0,7)(0,5)(5,7)
+(a.*z|b.*y)* azbazby (0,7)(5,7)
+
+(.|..)(.*) ab (0,2)(0,2)(2,2)
+
+((..)*(...)*) xxx (0,3)(0,3)(?,?)(0,3)
+((..)*(...)*)((..)*(...)*) xxx (0,3)(0,3)(?,?)(0,3)(3,3)(?,?)(?,?)
+((..)*(...)*)* xxx (0,3)(0,3)(?,?)(0,3)
+
+
+
diff --git a/test/posix_captures/.dat/nullsubexpr.dat b/test/posix_captures/.dat/nullsubexpr.dat
new file mode 100644
index 00000000..c9f92d01
--- /dev/null
+++ b/test/posix_captures/.dat/nullsubexpr.dat
@@ -0,0 +1,51 @@
+(a*)* a (0,1)(0,1)
+SAME x (0,0)(0,0)
+SAME aaaaaa (0,6)(0,6)
+SAME aaaaaax (0,6)(0,6)
+(a*)+ a (0,1)(0,1)
+SAME x (0,0)(0,0)
+SAME aaaaaa (0,6)(0,6)
+SAME aaaaaax (0,6)(0,6)
+(a+)* a (0,1)(0,1)
+SAME x (0,0)(?,?)
+SAME aaaaaa (0,6)(0,6)
+SAME aaaaaax (0,6)(0,6)
+(a+)+ a (0,1)(0,1)
+SAME x NOMATCH
+SAME aaaaaa (0,6)(0,6)
+SAME aaaaaax (0,6)(0,6)
+([a]*)* a (0,1)(0,1)
+SAME x (0,0)(0,0)
+SAME aaaaaa (0,6)(0,6)
+SAME aaaaaax (0,6)(0,6)
+([a]*)+ a (0,1)(0,1)
+SAME x (0,0)(0,0)
+SAME aaaaaa (0,6)(0,6)
+SAME aaaaaax (0,6)(0,6)
+([^b]*)* a (0,1)(0,1)
+SAME b (0,0)(0,0)
+SAME aaaaaa (0,6)(0,6)
+SAME aaaaaab (0,6)(0,6)
+([ab]*)* a (0,1)(0,1)
+SAME aaaaaa (0,6)(0,6)
+SAME ababab (0,6)(0,6)
+SAME bababa (0,6)(0,6)
+SAME b (0,1)(0,1)
+SAME bbbbbb (0,6)(0,6)
+SAME aaaabcde (0,5)(0,5)
+([^a]*)* b (0,1)(0,1)
+SAME bbbbbb (0,6)(0,6)
+SAME aaaaaa (0,0)(0,0)
+([^ab]*)* ccccxx (0,6)(0,6)
+SAME ababab (0,0)(0,0)
+((z)+|a)* zabcde (0,2)(1,2)(?,?)
+(a) aaa (0,1)(0,1)
+(a*)*(x) x (0,1)(0,0)(0,1)
+(a*)*(x) ax (0,2)(0,1)(1,2)
+(a*)*(x) axa (0,2)(0,1)(1,2)
+(a*)+(x) x (0,1)(0,0)(0,1)
+(a*)+(x) ax (0,2)(0,1)(1,2)
+(a*)+(x) axa (0,2)(0,1)(1,2)
+(a*){2}(x) x (0,1)(0,0)(0,1)
+(a*){2}(x) ax (0,2)(1,1)(1,2)
+(a*){2}(x) axa (0,2)(1,1)(1,2)
diff --git a/test/posix_captures/.dat/osxbsdcritical.dat b/test/posix_captures/.dat/osxbsdcritical.dat
new file mode 100644
index 00000000..fc6b5fd0
--- /dev/null
+++ b/test/posix_captures/.dat/osxbsdcritical.dat
@@ -0,0 +1,7 @@
+(()|.)(b) ab (0,2)(0,1)(?,?)(1,2)
+(()|[ab])(b) ab (0,2)(0,1)(?,?)(1,2)
+(()|[ab])+b aaab (0,4)(2,3)(?,?)
+(.|())(b) ab (0,2)(0,1)(?,?)(1,2)
+([ab]|())(b) ab (0,2)(0,1)(?,?)(1,2)
+([ab]|())+b aaab (0,4)(2,3)(?,?)
+(.?)(b) ab (0,2)(0,1)(1,2)
diff --git a/test/posix_captures/.dat/other.dat b/test/posix_captures/.dat/other.dat
new file mode 100644
index 00000000..261682b2
--- /dev/null
+++ b/test/posix_captures/.dat/other.dat
@@ -0,0 +1,69 @@
+
+(a|aa)* aaa (0,3)(2,3)
+SAME aaaa (0,4)(2,4)
+(aa|a)* aaa (0,3)(2,3)
+SAME aaaa (0,4)(2,4)
+
+a|(a) a (0,1)(?,?)
+(a)|a a (0,1)(0,1)
+(b)a|b(a) ba (0,2)(0,1)(?,?)
+b(a)|(b)a ba (0,2)(1,2)(?,?)
+a*|(a|aa)* aa (0,2)(?,?)
+(a|aa)*|a* aa (0,2)(0,2)
+
+(aa*|aaa*)* aaaaaa (0,6)(0,6)
+(aa*|aaa*)(aa*|aaa*) aaaaaa (0,6)(0,6)(6,6)
+(aa)*|(aaa)* aaaaaa (0,6)(4,6)(?,?)
+
+(X|Xa|Xab|Xaba|abab|baba|bY|Y)* XY (0,2)(1,2)
+SAME XabY (0,4)(3,4)
+SAME XababY (0,6)(4,6)
+SAME XabababY (0,8)(7,8)
+SAME XababababY (0,10)(8,10)
+
+(y){2} NULL NOMATCH
+SAME y NOMATCH
+SAME yy (0,2)(1,2)
+(y){0,2} NULL (0,0)(?,?)
+SAME y (0,1)(0,1)
+SAME yy (0,2)(1,2)
+(y){1,2} NULL NOMATCH
+SAME y (0,1)(0,1)
+SAME yy (0,2)(1,2)
+(y){1,2}y NULL NOMATCH
+SAME y NOMATCH
+SAME yy (0,2)(0,1)
+SAME yyy (0,3)(1,2)
+(y){1,2}y? NULL NOMATCH
+SAME y (0,1)(0,1)
+SAME yy (0,2)(1,2)
+SAME yyy (0,3)(1,2)
+(y){2,} NULL NOMATCH
+SAME y NOMATCH
+SAME yy (0,2)(1,2)
+SAME yyy (0,3)(2,3)
+
+(y?){2} NULL (0,0)(0,0)
+SAME y (0,1)(1,1)
+SAME yy (0,2)(1,2)
+(y?){0,2} NULL (0,0)(0,0)
+SAME y (0,1)(0,1)
+SAME yy (0,2)(1,2)
+(y?){1,2} NULL (0,0)(0,0)
+SAME y (0,1)(0,1)
+SAME yy (0,2)(1,2)
+(y?){1,2}y NULL NOMATCH
+SAME y (0,1)(0,0)
+SAME yy (0,2)(0,1)
+SAME yyy (0,3)(1,2)
+(y?){1,2}y? NULL (0,0)(0,0)
+SAME y (0,1)(0,1)
+SAME yy (0,2)(1,2)
+SAME yyy (0,3)(1,2)
+(y?){2,} NULL (0,0)(0,0)
+SAME y (0,1)(1,1)
+SAME yy (0,2)(1,2)
+SAME yyy (0,3)(2,3)
+
+(y|(x?)){1,3} y (0,1)(0,1)(?,?)
+(y[y]?){3} yyyy (0,4)(3,4)
diff --git a/test/posix_captures/.dat/repetition.dat b/test/posix_captures/.dat/repetition.dat
new file mode 100644
index 00000000..e5b2bba0
--- /dev/null
+++ b/test/posix_captures/.dat/repetition.dat
@@ -0,0 +1,94 @@
+((..)|(.)) NULL NOMATCH
+((..)|(.))((..)|(.)) NULL NOMATCH
+((..)|(.))((..)|(.))((..)|(.)) NULL NOMATCH
+((..)|(.)){1} NULL NOMATCH
+((..)|(.)){2} NULL NOMATCH
+((..)|(.)){3} NULL NOMATCH
+((..)|(.))* NULL (0,0)(?,?)(?,?)(?,?)
+((..)|(.)) a (0,1)(0,1)(?,?)(0,1)
+((..)|(.))((..)|(.)) a NOMATCH
+((..)|(.))((..)|(.))((..)|(.)) a NOMATCH
+((..)|(.)){1} a (0,1)(0,1)(?,?)(0,1)
+((..)|(.)){2} a NOMATCH
+((..)|(.)){3} a NOMATCH
+((..)|(.))* a (0,1)(0,1)(?,?)(0,1)
+((..)|(.)) aa (0,2)(0,2)(0,2)(?,?)
+((..)|(.))((..)|(.)) aa (0,2)(0,1)(?,?)(0,1)(1,2)(?,?)(1,2)
+((..)|(.))((..)|(.))((..)|(.)) aa NOMATCH
+((..)|(.)){1} aa (0,2)(0,2)(0,2)(?,?)
+((..)|(.)){2} aa (0,2)(1,2)(?,?)(1,2)
+((..)|(.)){3} aa NOMATCH
+((..)|(.))* aa (0,2)(0,2)(0,2)(?,?)
+((..)|(.)) aaa (0,2)(0,2)(0,2)(?,?)
+((..)|(.))((..)|(.)) aaa (0,3)(0,2)(0,2)(?,?)(2,3)(?,?)(2,3)
+((..)|(.))((..)|(.))((..)|(.)) aaa (0,3)(0,1)(?,?)(0,1)(1,2)(?,?)(1,2)(2,3)(?,?)(2,3)
+((..)|(.)){1} aaa (0,2)(0,2)(0,2)(?,?)
+((..)|(.)){2} aaa (0,3)(2,3)(?,?)(2,3)
+((..)|(.)){3} aaa (0,3)(2,3)(?,?)(2,3)
+((..)|(.))* aaa (0,3)(2,3)(?,?)(2,3)
+((..)|(.)) aaaa (0,2)(0,2)(0,2)(?,?)
+((..)|(.))((..)|(.)) aaaa (0,4)(0,2)(0,2)(?,?)(2,4)(2,4)(?,?)
+((..)|(.))((..)|(.))((..)|(.)) aaaa (0,4)(0,2)(0,2)(?,?)(2,3)(?,?)(2,3)(3,4)(?,?)(3,4)
+((..)|(.)){1} aaaa (0,2)(0,2)(0,2)(?,?)
+((..)|(.)){2} aaaa (0,4)(2,4)(2,4)(?,?)
+((..)|(.)){3} aaaa (0,4)(3,4)(?,?)(3,4)
+((..)|(.))* aaaa (0,4)(2,4)(2,4)(?,?)
+((..)|(.)) aaaaa (0,2)(0,2)(0,2)(?,?)
+((..)|(.))((..)|(.)) aaaaa (0,4)(0,2)(0,2)(?,?)(2,4)(2,4)(?,?)
+((..)|(.))((..)|(.))((..)|(.)) aaaaa (0,5)(0,2)(0,2)(?,?)(2,4)(2,4)(?,?)(4,5)(?,?)(4,5)
+((..)|(.)){1} aaaaa (0,2)(0,2)(0,2)(?,?)
+((..)|(.)){2} aaaaa (0,4)(2,4)(2,4)(?,?)
+((..)|(.)){3} aaaaa (0,5)(4,5)(?,?)(4,5)
+((..)|(.))* aaaaa (0,5)(4,5)(?,?)(4,5)
+((..)|(.)) aaaaaa (0,2)(0,2)(0,2)(?,?)
+((..)|(.))((..)|(.)) aaaaaa (0,4)(0,2)(0,2)(?,?)(2,4)(2,4)(?,?)
+((..)|(.))((..)|(.))((..)|(.)) aaaaaa (0,6)(0,2)(0,2)(?,?)(2,4)(2,4)(?,?)(4,6)(4,6)(?,?)
+((..)|(.)){1} aaaaaa (0,2)(0,2)(0,2)(?,?)
+((..)|(.)){2} aaaaaa (0,4)(2,4)(2,4)(?,?)
+((..)|(.)){3} aaaaaa (0,6)(4,6)(4,6)(?,?)
+((..)|(.))* aaaaaa (0,6)(4,6)(4,6)(?,?)
+
+X(.?){0,}Y X1234567Y (0,9)(7,8)
+X(.?){1,}Y X1234567Y (0,9)(7,8)
+X(.?){2,}Y X1234567Y (0,9)(7,8)
+X(.?){3,}Y X1234567Y (0,9)(7,8)
+X(.?){4,}Y X1234567Y (0,9)(7,8)
+X(.?){5,}Y X1234567Y (0,9)(7,8)
+X(.?){6,}Y X1234567Y (0,9)(7,8)
+X(.?){7,}Y X1234567Y (0,9)(7,8)
+X(.?){8,}Y X1234567Y (0,9)(8,8)
+X(.?){0,8}Y X1234567Y (0,9)(7,8)
+X(.?){1,8}Y X1234567Y (0,9)(7,8)
+X(.?){2,8}Y X1234567Y (0,9)(7,8)
+X(.?){3,8}Y X1234567Y (0,9)(7,8)
+X(.?){4,8}Y X1234567Y (0,9)(7,8)
+X(.?){5,8}Y X1234567Y (0,9)(7,8)
+X(.?){6,8}Y X1234567Y (0,9)(7,8)
+X(.?){7,8}Y X1234567Y (0,9)(7,8)
+X(.?){8,8}Y X1234567Y (0,9)(8,8)
+
+(a|ab|c|bcd){0,}(d*) ababcd (0,6)(3,6)(6,6)
+(a|ab|c|bcd){1,}(d*) ababcd (0,6)(3,6)(6,6)
+(a|ab|c|bcd){2,}(d*) ababcd (0,6)(3,6)(6,6)
+(a|ab|c|bcd){3,}(d*) ababcd (0,6)(3,6)(6,6)
+(a|ab|c|bcd){4,}(d*) ababcd NOMATCH
+(a|ab|c|bcd){0,10}(d*) ababcd (0,6)(3,6)(6,6)
+(a|ab|c|bcd){1,10}(d*) ababcd (0,6)(3,6)(6,6)
+(a|ab|c|bcd){2,10}(d*) ababcd (0,6)(3,6)(6,6)
+(a|ab|c|bcd){3,10}(d*) ababcd (0,6)(3,6)(6,6)
+(a|ab|c|bcd){4,10}(d*) ababcd NOMATCH
+(a|ab|c|bcd)*(d*) ababcd (0,6)(3,6)(6,6)
+(a|ab|c|bcd)+(d*) ababcd (0,6)(3,6)(6,6)
+
+(ab|a|c|bcd){0,}(d*) ababcd (0,6)(3,6)(6,6)
+(ab|a|c|bcd){1,}(d*) ababcd (0,6)(3,6)(6,6)
+(ab|a|c|bcd){2,}(d*) ababcd (0,6)(3,6)(6,6)
+(ab|a|c|bcd){3,}(d*) ababcd (0,6)(3,6)(6,6)
+(ab|a|c|bcd){4,}(d*) ababcd NOMATCH
+(ab|a|c|bcd){0,10}(d*) ababcd (0,6)(3,6)(6,6)
+(ab|a|c|bcd){1,10}(d*) ababcd (0,6)(3,6)(6,6)
+(ab|a|c|bcd){2,10}(d*) ababcd (0,6)(3,6)(6,6)
+(ab|a|c|bcd){3,10}(d*) ababcd (0,6)(3,6)(6,6)
+(ab|a|c|bcd){4,10}(d*) ababcd NOMATCH
+(ab|a|c|bcd)*(d*) ababcd (0,6)(3,6)(6,6)
+(ab|a|c|bcd)+(d*) ababcd (0,6)(3,6)(6,6)
diff --git a/test/posix_captures/.dat/rightassoc.dat b/test/posix_captures/.dat/rightassoc.dat
new file mode 100644
index 00000000..e0e146c0
--- /dev/null
+++ b/test/posix_captures/.dat/rightassoc.dat
@@ -0,0 +1,12 @@
+(a|ab)(c|bcd)(d*) abcd (0,4)(0,2)(2,3)(3,4)
+(a|ab)(bcd|c)(d*) abcd (0,4)(0,2)(2,3)(3,4)
+(ab|a)(c|bcd)(d*) abcd (0,4)(0,2)(2,3)(3,4)
+(ab|a)(bcd|c)(d*) abcd (0,4)(0,2)(2,3)(3,4)
+(a*)(b|abc)(c*) abc (0,3)(0,1)(1,2)(2,3)
+(a*)(abc|b)(c*) abc (0,3)(0,1)(1,2)(2,3)
+(a*)(b|abc)(c*) abc (0,3)(0,1)(1,2)(2,3)
+(a*)(abc|b)(c*) abc (0,3)(0,1)(1,2)(2,3)
+(a|ab)(c|bcd)(d|.*) abcd (0,4)(0,2)(2,3)(3,4)
+(a|ab)(bcd|c)(d|.*) abcd (0,4)(0,2)(2,3)(3,4)
+(ab|a)(c|bcd)(d|.*) abcd (0,4)(0,2)(2,3)(3,4)
+(ab|a)(bcd|c)(d|.*) abcd (0,4)(0,2)(2,3)(3,4)
diff --git a/test/posix_captures/.gen/__gen.sh b/test/posix_captures/.gen/__gen.sh
new file mode 100755
index 00000000..cbdae8ff
--- /dev/null
+++ b/test/posix_captures/.gen/__gen.sh
@@ -0,0 +1,25 @@
+
+for f in ../.dat/*.dat; do
+
+ d=../`basename ${f%.dat}`
+ mkdir -p $d
+
+ i=0
+ while read l; do
+
+ [ -z "$l" ] && continue
+ set $l
+ [ "$1" == SAME ] && continue
+
+ i=$((i + 1))
+ x=`printf '%02d' $i`.i--flex-syntax.re
+ regexp=`printf "%s" "$1" | sed \
+ -e 's/\[^/[^\\\\x00/g' \
+ -e 's/\./[^\\\\x00]/g' \
+ -e 's/()/("")/g'`
+
+ cat template | sed "s/<<<<REGEXP>>>>/$regexp/" > $d/$x
+
+ done < $f
+done
+
diff --git a/test/posix_captures/.gen/template b/test/posix_captures/.gen/template
new file mode 100644
index 00000000..fa29a394
--- /dev/null
+++ b/test/posix_captures/.gen/template
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ <<<<REGEXP>>>>
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/.run/__run.sh b/test/posix_captures/.run/__run.sh
new file mode 100755
index 00000000..37053452
--- /dev/null
+++ b/test/posix_captures/.run/__run.sh
@@ -0,0 +1,44 @@
+
+# run <regex> <string> <match> [re2c-flags]
+run() {
+ re2c="../../../__build/re2c"
+ f="test_"`date +%y%m%d%H%M%S`
+ fail=0
+
+ cat template | sed "s/<<<<REGEXP>>>>/$1/" > $f.re \
+ && echo "$3" > $f.expected \
+ && $re2c -iF --posix-captures $4 $f.re -o$f.cpp \
+ && g++ -W $f.cpp -o$f \
+ && ./$f "$2" > $f.actual \
+ && diff $f.expected $f.actual \
+ || fail=1
+
+ rm $f*
+ [ $fail == 1 ] && { echo "$1 failed"; exit 1; }
+}
+
+for f in ../.dat/*.dat; do
+ i=0
+ n=`grep -cv "^$" $f` # nonempty lines
+
+ printf "%s\n" `basename $f`
+ while read l; do
+
+ [ -z "$l" ] && continue
+ set $l
+ [ "$1" == SAME ] || regexp=`printf "%s" "$1" | sed \
+ -e 's/\[^/[^\\\\x00/g' \
+ -e 's/\./[^\\\\x00]/g' \
+ -e 's/()/("")/g'`
+ string="${2#NULL}"
+ match="$3"
+ i=$((i + 1))
+
+ printf "\r%3d / %-3d" $i $n
+ run "$regexp" "$string" "$match"
+ run "$regexp" "$string" "$match" "--no-lookahead"
+
+ done < $f
+ printf "\n"
+done
+
diff --git a/test/posix_captures/.run/template b/test/posix_captures/.run/template
new file mode 100644
index 00000000..adc96bb4
--- /dev/null
+++ b/test/posix_captures/.run/template
@@ -0,0 +1,49 @@
+#include <stddef.h>
+#include <stdio.h>
+
+static int lex(const char *YYCURSOR)
+{
+ const char *YYMARKER;
+ /*!maxnmatch:re2c*/
+ size_t yynmatch;
+ const char *yypmatch[YYMAXNMATCH * 2];
+ /*!stags:re2c format = "const char *@@;"; */
+ /*!re2c
+ re2c:yyfill:enable = 0;
+ re2c:define:YYCTYPE = char;
+
+ <<<<REGEXP>>>>
+ {
+ const char *p0 = yypmatch[0], *p;
+ for (size_t i = 0; i < yynmatch; ++i) {
+ p = yypmatch[2 * i];
+ if (p) {
+ printf("(%ld,", p - p0);
+ } else {
+ printf("(?,");
+ }
+ p = yypmatch[2 * i + 1];
+ if (p) {
+ printf("%ld)", p - p0);
+ } else {
+ printf("?)");
+ }
+ }
+ printf("\n");
+ return 0;
+ }
+
+ "" {
+ printf("NOMATCH\n");
+ return 1;
+ }
+ */
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ lex(argv[i]);
+ }
+ return 0;
+}
diff --git a/test/posix_captures/basic/01.i--flex-syntax.c b/test/posix_captures/basic/01.i--flex-syntax.c
new file mode 100644
index 00000000..f5a76faa
--- /dev/null
+++ b/test/posix_captures/basic/01.i--flex-syntax.c
@@ -0,0 +1,87 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt3 = yyt5 = NULL;
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+ yyt2 = yyt3 = yyt4 = yyt5 = NULL;
+ yyt1 = YYCURSOR;
+yy2:
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[4] = yyt4;
+ yypmatch[5] = yyt5;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+ YYCURSOR = YYMARKER;
+ yyt2 = yyt3 = yyt4 = yyt5 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+ yyt6 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt5;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ }
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt6;
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+ yyt3 = yyt4 = yyt5 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt6;
+ yyt4 = yyt6;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt5;
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+ yyt2 = YYCURSOR;
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt6;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ }
+ yyt3 = yyt2;
+ yyt4 = yyt2;
+ yyt6 = yyt5;
+ yyt5 = yyt2;
+ goto yy9;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/basic/01.i--flex-syntax.re b/test/posix_captures/basic/01.i--flex-syntax.re
new file mode 100644
index 00000000..019f229d
--- /dev/null
+++ b/test/posix_captures/basic/01.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/basic/02.i--flex-syntax.c b/test/posix_captures/basic/02.i--flex-syntax.c
new file mode 100644
index 00000000..f5a76faa
--- /dev/null
+++ b/test/posix_captures/basic/02.i--flex-syntax.c
@@ -0,0 +1,87 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt3 = yyt5 = NULL;
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+ yyt2 = yyt3 = yyt4 = yyt5 = NULL;
+ yyt1 = YYCURSOR;
+yy2:
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[4] = yyt4;
+ yypmatch[5] = yyt5;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+ YYCURSOR = YYMARKER;
+ yyt2 = yyt3 = yyt4 = yyt5 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+ yyt6 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt5;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ }
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt6;
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+ yyt3 = yyt4 = yyt5 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt6;
+ yyt4 = yyt6;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt5;
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+ yyt2 = YYCURSOR;
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt6;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ }
+ yyt3 = yyt2;
+ yyt4 = yyt2;
+ yyt6 = yyt5;
+ yyt5 = yyt2;
+ goto yy9;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/basic/02.i--flex-syntax.re b/test/posix_captures/basic/02.i--flex-syntax.re
new file mode 100644
index 00000000..019f229d
--- /dev/null
+++ b/test/posix_captures/basic/02.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/basic/03.i--flex-syntax.c b/test/posix_captures/basic/03.i--flex-syntax.c
new file mode 100644
index 00000000..6af69473
--- /dev/null
+++ b/test/posix_captures/basic/03.i--flex-syntax.c
@@ -0,0 +1,59 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ yynmatch = 3;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/03.i--flex-syntax.re b/test/posix_captures/basic/03.i--flex-syntax.re
new file mode 100644
index 00000000..074ce8ab
--- /dev/null
+++ b/test/posix_captures/basic/03.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (ab|a)(bc|c)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/04.i--flex-syntax.c b/test/posix_captures/basic/04.i--flex-syntax.c
new file mode 100644
index 00000000..1f44040f
--- /dev/null
+++ b/test/posix_captures/basic/04.i--flex-syntax.c
@@ -0,0 +1,45 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ yynmatch = 2;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[0] = YYCURSOR - 3;
+ yypmatch[1] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/04.i--flex-syntax.re b/test/posix_captures/basic/04.i--flex-syntax.re
new file mode 100644
index 00000000..31b5c8d1
--- /dev/null
+++ b/test/posix_captures/basic/04.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (ab)c|abc
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/05.i--flex-syntax.c b/test/posix_captures/basic/05.i--flex-syntax.c
new file mode 100644
index 00000000..929f6328
--- /dev/null
+++ b/test/posix_captures/basic/05.i--flex-syntax.c
@@ -0,0 +1,95 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = yyt3 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'b':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy7;
+ default: goto yy5;
+ }
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt5 = YYCURSOR;
+ goto yy8;
+ default: goto yy5;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt6 = YYCURSOR;
+ goto yy9;
+ default: goto yy5;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy10:
+ yynmatch = 4;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[6] = yyt3;
+ yypmatch[7] = yyt4;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = yyt3;
+ {}
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt5 = yyt6;
+ yyt6 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt4;
+ yyt4 = yyt5;
+ goto yy10;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/05.i--flex-syntax.re b/test/posix_captures/basic/05.i--flex-syntax.re
new file mode 100644
index 00000000..0fd53918
--- /dev/null
+++ b/test/posix_captures/basic/05.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a*)(b?)(b+)b{3}
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/06.i--flex-syntax.c b/test/posix_captures/basic/06.i--flex-syntax.c
new file mode 100644
index 00000000..929f6328
--- /dev/null
+++ b/test/posix_captures/basic/06.i--flex-syntax.c
@@ -0,0 +1,95 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = yyt3 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'b':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy7;
+ default: goto yy5;
+ }
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt5 = YYCURSOR;
+ goto yy8;
+ default: goto yy5;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt6 = YYCURSOR;
+ goto yy9;
+ default: goto yy5;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy10:
+ yynmatch = 4;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[6] = yyt3;
+ yypmatch[7] = yyt4;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = yyt3;
+ {}
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt5 = yyt6;
+ yyt6 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt4;
+ yyt4 = yyt5;
+ goto yy10;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/06.i--flex-syntax.re b/test/posix_captures/basic/06.i--flex-syntax.re
new file mode 100644
index 00000000..97aeafde
--- /dev/null
+++ b/test/posix_captures/basic/06.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a*)(b{0,1})(b{1,})b{3}
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/07.i--flex-syntax.c b/test/posix_captures/basic/07.i--flex-syntax.c
new file mode 100644
index 00000000..9ec45b91
--- /dev/null
+++ b/test/posix_captures/basic/07.i--flex-syntax.c
@@ -0,0 +1,31 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ yyt2 = YYCURSOR;
+ yynmatch = 3;
+ yypmatch[4] = yyt1;
+ yypmatch[5] = yyt2;
+ yypmatch[0] = YYCURSOR - 1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = YYCURSOR - 1;
+ yypmatch[3] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/07.i--flex-syntax.re b/test/posix_captures/basic/07.i--flex-syntax.re
new file mode 100644
index 00000000..3671eac7
--- /dev/null
+++ b/test/posix_captures/basic/07.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ ((a|a)|a)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/08.i--flex-syntax.c b/test/posix_captures/basic/08.i--flex-syntax.c
new file mode 100644
index 00000000..e68ac071
--- /dev/null
+++ b/test/posix_captures/basic/08.i--flex-syntax.c
@@ -0,0 +1,39 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ default: goto yy5;
+ }
+yy5:
+ yynmatch = 3;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/08.i--flex-syntax.re b/test/posix_captures/basic/08.i--flex-syntax.re
new file mode 100644
index 00000000..01794fbf
--- /dev/null
+++ b/test/posix_captures/basic/08.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a*)(a|aa)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/09.i--flex-syntax.c b/test/posix_captures/basic/09.i--flex-syntax.c
new file mode 100644
index 00000000..99cfb739
--- /dev/null
+++ b/test/posix_captures/basic/09.i--flex-syntax.c
@@ -0,0 +1,44 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy8;
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ ++YYCURSOR;
+yy6:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = YYCURSOR - 2;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy7:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy8:
+ switch (yych) {
+ case 0x00: goto yy6;
+ case 'a': goto yy7;
+ default: goto yy5;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/09.i--flex-syntax.re b/test/posix_captures/basic/09.i--flex-syntax.re
new file mode 100644
index 00000000..9349161c
--- /dev/null
+++ b/test/posix_captures/basic/09.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/basic/10.i--flex-syntax.c b/test/posix_captures/basic/10.i--flex-syntax.c
new file mode 100644
index 00000000..ec2b7aea
--- /dev/null
+++ b/test/posix_captures/basic/10.i--flex-syntax.c
@@ -0,0 +1,77 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ case 'e':
+ yyt6 = YYCURSOR;
+ goto yy8;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt4 = YYCURSOR;
+ goto yy9;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ yyt4 = yyt5 = yyt6 = yyt7 = NULL;
+ yyt3 = YYCURSOR;
+yy7:
+ yynmatch = 4;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[4] = yyt4;
+ yypmatch[5] = yyt5;
+ yypmatch[6] = yyt6;
+ yypmatch[7] = yyt7;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'f':
+ yyt7 = YYCURSOR;
+ goto yy10;
+ default: goto yy4;
+ }
+yy9:
+ ++YYCURSOR;
+ yyt2 = yyt3 = yyt6 = yyt7 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy7;
+yy10:
+ ++YYCURSOR;
+ yyt2 = yyt3 = yyt4 = yyt5 = NULL;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/10.i--flex-syntax.re b/test/posix_captures/basic/10.i--flex-syntax.re
new file mode 100644
index 00000000..bc5afbec
--- /dev/null
+++ b/test/posix_captures/basic/10.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ a(b)|c(d)|a(e)f
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/11.i--flex-syntax.c b/test/posix_captures/basic/11.i--flex-syntax.c
new file mode 100644
index 00000000..847505ad
--- /dev/null
+++ b/test/posix_captures/basic/11.i--flex-syntax.c
@@ -0,0 +1,43 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ case 'a':
+ case 'b':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt3;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy4:
+ if (yych <= 0x00) goto yy2;
+ goto yy3;
+yy5:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/basic/11.i--flex-syntax.re b/test/posix_captures/basic/11.i--flex-syntax.re
new file mode 100644
index 00000000..837629a6
--- /dev/null
+++ b/test/posix_captures/basic/11.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/basic/12.i--flex-syntax.c b/test/posix_captures/basic/12.i--flex-syntax.c
new file mode 100644
index 00000000..74ee05cf
--- /dev/null
+++ b/test/posix_captures/basic/12.i--flex-syntax.c
@@ -0,0 +1,62 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy6;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy8;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy8;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ yyt1 = yyt2 = NULL;
+ yyt4 = YYCURSOR;
+yy7:
+ yynmatch = 3;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[0] = YYCURSOR - 2;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy8:
+ ++YYCURSOR;
+ yyt3 = yyt4 = NULL;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/12.i--flex-syntax.re b/test/posix_captures/basic/12.i--flex-syntax.re
new file mode 100644
index 00000000..b85242e3
--- /dev/null
+++ b/test/posix_captures/basic/12.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a|b)c|a(b|c)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/13.i--flex-syntax.c b/test/posix_captures/basic/13.i--flex-syntax.c
new file mode 100644
index 00000000..74ee05cf
--- /dev/null
+++ b/test/posix_captures/basic/13.i--flex-syntax.c
@@ -0,0 +1,62 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy6;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy8;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy8;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ yyt1 = yyt2 = NULL;
+ yyt4 = YYCURSOR;
+yy7:
+ yynmatch = 3;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[0] = YYCURSOR - 2;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy8:
+ ++YYCURSOR;
+ yyt3 = yyt4 = NULL;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/13.i--flex-syntax.re b/test/posix_captures/basic/13.i--flex-syntax.re
new file mode 100644
index 00000000..b85242e3
--- /dev/null
+++ b/test/posix_captures/basic/13.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a|b)c|a(b|c)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/14.i--flex-syntax.c b/test/posix_captures/basic/14.i--flex-syntax.c
new file mode 100644
index 00000000..02316976
--- /dev/null
+++ b/test/posix_captures/basic/14.i--flex-syntax.c
@@ -0,0 +1,53 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ case 'b':
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy3;
+ case 'c':
+ yyt2 = yyt4 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy3;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ ++YYCURSOR;
+ yyt3 = NULL;
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt4;
+ yypmatch[3] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/14.i--flex-syntax.re b/test/posix_captures/basic/14.i--flex-syntax.re
new file mode 100644
index 00000000..e812ca91
--- /dev/null
+++ b/test/posix_captures/basic/14.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a|b)*c|(a|ab)*c
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/15.i--flex-syntax.c b/test/posix_captures/basic/15.i--flex-syntax.c
new file mode 100644
index 00000000..25df7b2d
--- /dev/null
+++ b/test/posix_captures/basic/15.i--flex-syntax.c
@@ -0,0 +1,97 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ case 'b': goto yy7;
+ default: goto yy6;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy2;
+ } else {
+ yyt2 = yyt3 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy8;
+ }
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy6:
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'a':
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy5;
+ }
+yy7:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt3 = YYCURSOR;
+ goto yy11;
+ }
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+yy8:
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[4] = yyt4;
+ yypmatch[5] = yyt5;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy9:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy8;
+ case 'a':
+ case 'b':
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt4 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy5;
+ }
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt5 = NULL;
+ goto yy8;
+ }
+ goto yy11;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/15.i--flex-syntax.re b/test/posix_captures/basic/15.i--flex-syntax.re
new file mode 100644
index 00000000..9e2919c7
--- /dev/null
+++ b/test/posix_captures/basic/15.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/basic/16.i--flex-syntax.c b/test/posix_captures/basic/16.i--flex-syntax.c
new file mode 100644
index 00000000..29470f09
--- /dev/null
+++ b/test/posix_captures/basic/16.i--flex-syntax.c
@@ -0,0 +1,78 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy6;
+ case 'b': goto yy7;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy8;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy8;
+ default: goto yy4;
+ }
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy9;
+ default: goto yy4;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy10;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy10;
+ case 'b': goto yy11;
+ default: goto yy4;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy11;
+ default: goto yy4;
+ }
+yy11:
+ ++YYCURSOR;
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = YYCURSOR - 4;
+ yypmatch[3] = YYCURSOR - 2;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/16.i--flex-syntax.re b/test/posix_captures/basic/16.i--flex-syntax.re
new file mode 100644
index 00000000..a0b902a0
--- /dev/null
+++ b/test/posix_captures/basic/16.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ a?(ab|ba)ab
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/17.i--flex-syntax.c b/test/posix_captures/basic/17.i--flex-syntax.c
new file mode 100644
index 00000000..29470f09
--- /dev/null
+++ b/test/posix_captures/basic/17.i--flex-syntax.c
@@ -0,0 +1,78 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy6;
+ case 'b': goto yy7;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy8;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy8;
+ default: goto yy4;
+ }
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy9;
+ default: goto yy4;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy10;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy10;
+ case 'b': goto yy11;
+ default: goto yy4;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy11;
+ default: goto yy4;
+ }
+yy11:
+ ++YYCURSOR;
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = YYCURSOR - 4;
+ yypmatch[3] = YYCURSOR - 2;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/17.i--flex-syntax.re b/test/posix_captures/basic/17.i--flex-syntax.re
new file mode 100644
index 00000000..fb69ed3e
--- /dev/null
+++ b/test/posix_captures/basic/17.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ a?(a[c]{0}b|ba)ab
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/18.i--flex-syntax.c b/test/posix_captures/basic/18.i--flex-syntax.c
new file mode 100644
index 00000000..a116caff
--- /dev/null
+++ b/test/posix_captures/basic/18.i--flex-syntax.c
@@ -0,0 +1,55 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy2;
+ } else {
+ goto yy6;
+ }
+yy5:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a': goto yy7;
+ default: goto yy6;
+ }
+yy6:
+ yynmatch = 1;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy8;
+ default: goto yy4;
+ }
+yy8:
+ ++YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/18.i--flex-syntax.re b/test/posix_captures/basic/18.i--flex-syntax.re
new file mode 100644
index 00000000..ebc4bfa6
--- /dev/null
+++ b/test/posix_captures/basic/18.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ ab|abab
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/19.i--flex-syntax.c b/test/posix_captures/basic/19.i--flex-syntax.c
new file mode 100644
index 00000000..c38420f3
--- /dev/null
+++ b/test/posix_captures/basic/19.i--flex-syntax.c
@@ -0,0 +1,109 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt2 = yyt3 = yyt4 = yyt5 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[4] = yyt4;
+ yypmatch[5] = yyt5;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy4;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ }
+yy4:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy6;
+ default:
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ default:
+ yyt2 = yyt3;
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy7:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy8;
+ default:
+ yyt2 = yyt4;
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy8:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt2 = yyt4;
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ default:
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/basic/19.i--flex-syntax.re b/test/posix_captures/basic/19.i--flex-syntax.re
new file mode 100644
index 00000000..efd8adf3
--- /dev/null
+++ b/test/posix_captures/basic/19.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (aa|aaa)*|(a|aaaaa)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/20.i--flex-syntax.c b/test/posix_captures/basic/20.i--flex-syntax.c
new file mode 100644
index 00000000..87189ff9
--- /dev/null
+++ b/test/posix_captures/basic/20.i--flex-syntax.c
@@ -0,0 +1,318 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3 = yyt4 = yyt5 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ case 'a':
+ yyt1 = yyt2 = yyt3 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt1 = yyt2 = yyt3 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt5;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0:
+ yyt2 = yyt3 = yyt4 = yyt5 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ case 1:
+ yyt3 = yyt4 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ default:
+ yyt2 = yyt5 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt5 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy2;
+ case 'a': goto yy8;
+ default: goto yy7;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy4;
+ goto yy9;
+yy7:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt3 = yyt4 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt5 = YYCURSOR;
+ goto yy10;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt3 = yyt4 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy12;
+ default: goto yy9;
+ }
+yy9:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt3 = yyt4 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt5 = YYCURSOR;
+ goto yy13;
+ }
+yy10:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy14;
+ default: goto yy4;
+ }
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'a': goto yy15;
+ default:
+ yyt2 = yyt5;
+ goto yy7;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt3 = yyt4 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy17;
+ default:
+ yyt5 = YYCURSOR;
+ goto yy16;
+ }
+yy13:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'a': goto yy19;
+ default: goto yy18;
+ }
+yy14:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) goto yy4;
+ yyt2 = yyt5;
+ goto yy7;
+yy15:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt5;
+ yyt3 = yyt4 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy21;
+ default: goto yy20;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt4;
+ yyt3 = yyt4 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy23;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy22;
+ }
+yy17:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt4;
+ yyt3 = yyt4 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ case 'a': goto yy15;
+ default: goto yy20;
+ }
+yy18:
+ ++YYCURSOR;
+ yyt2 = yyt5 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy2;
+yy19:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt5 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy2;
+ }
+ yyt2 = yyt5;
+ goto yy7;
+yy20:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt5;
+ yyt3 = yyt4 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ case 'a':
+ yyt2 = yyt5;
+ yyt5 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt2 = yyt5;
+ yyt5 = YYCURSOR;
+ goto yy10;
+ }
+yy21:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt5;
+ yyt3 = yyt4 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy25;
+ default:
+ yyt5 = YYCURSOR;
+ goto yy24;
+ }
+yy22:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt5 = yyt2;
+ goto yy14;
+ default:
+ yyt2 = yyt5 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy23:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt5 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy2;
+ case 'a': goto yy21;
+ default:
+ yyt2 = yyt5;
+ goto yy7;
+ }
+yy24:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt3 = yyt4 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy26;
+ default:
+ yyt5 = YYCURSOR;
+ goto yy10;
+ }
+yy25:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt3 = yyt4 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ case 'a': goto yy15;
+ default: goto yy20;
+ }
+yy26:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'a':
+ yyt2 = yyt3;
+ goto yy21;
+ default:
+ yyt2 = yyt5;
+ goto yy7;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/basic/20.i--flex-syntax.re b/test/posix_captures/basic/20.i--flex-syntax.re
new file mode 100644
index 00000000..fe1954f9
--- /dev/null
+++ b/test/posix_captures/basic/20.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/basic/21.i--flex-syntax.c b/test/posix_captures/basic/21.i--flex-syntax.c
new file mode 100644
index 00000000..4710b20f
--- /dev/null
+++ b/test/posix_captures/basic/21.i--flex-syntax.c
@@ -0,0 +1,45 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ yynmatch = 4;
+ yypmatch[0] = YYCURSOR - 3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = YYCURSOR - 3;
+ yypmatch[3] = YYCURSOR - 2;
+ yypmatch[4] = YYCURSOR - 2;
+ yypmatch[5] = YYCURSOR - 1;
+ yypmatch[6] = YYCURSOR - 1;
+ yypmatch[7] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/21.i--flex-syntax.re b/test/posix_captures/basic/21.i--flex-syntax.re
new file mode 100644
index 00000000..c521be84
--- /dev/null
+++ b/test/posix_captures/basic/21.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a)(b)(c)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/22.i--flex-syntax.c b/test/posix_captures/basic/22.i--flex-syntax.c
new file mode 100644
index 00000000..7da1611b
--- /dev/null
+++ b/test/posix_captures/basic/22.i--flex-syntax.c
@@ -0,0 +1,84 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'x': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ yynmatch = 31;
+ yypmatch[0] = YYCURSOR - 1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = YYCURSOR - 1;
+ yypmatch[3] = YYCURSOR;
+ yypmatch[4] = YYCURSOR - 1;
+ yypmatch[5] = YYCURSOR;
+ yypmatch[6] = YYCURSOR - 1;
+ yypmatch[7] = YYCURSOR;
+ yypmatch[8] = YYCURSOR - 1;
+ yypmatch[9] = YYCURSOR;
+ yypmatch[10] = YYCURSOR - 1;
+ yypmatch[11] = YYCURSOR;
+ yypmatch[12] = YYCURSOR - 1;
+ yypmatch[13] = YYCURSOR;
+ yypmatch[14] = YYCURSOR - 1;
+ yypmatch[15] = YYCURSOR;
+ yypmatch[16] = YYCURSOR - 1;
+ yypmatch[17] = YYCURSOR;
+ yypmatch[18] = YYCURSOR - 1;
+ yypmatch[19] = YYCURSOR;
+ yypmatch[20] = YYCURSOR - 1;
+ yypmatch[21] = YYCURSOR;
+ yypmatch[22] = YYCURSOR - 1;
+ yypmatch[23] = YYCURSOR;
+ yypmatch[24] = YYCURSOR - 1;
+ yypmatch[25] = YYCURSOR;
+ yypmatch[26] = YYCURSOR - 1;
+ yypmatch[27] = YYCURSOR;
+ yypmatch[28] = YYCURSOR - 1;
+ yypmatch[29] = YYCURSOR;
+ yypmatch[30] = YYCURSOR - 1;
+ yypmatch[31] = YYCURSOR;
+ yypmatch[32] = YYCURSOR - 1;
+ yypmatch[33] = YYCURSOR;
+ yypmatch[34] = YYCURSOR - 1;
+ yypmatch[35] = YYCURSOR;
+ yypmatch[36] = YYCURSOR - 1;
+ yypmatch[37] = YYCURSOR;
+ yypmatch[38] = YYCURSOR - 1;
+ yypmatch[39] = YYCURSOR;
+ yypmatch[40] = YYCURSOR - 1;
+ yypmatch[41] = YYCURSOR;
+ yypmatch[42] = YYCURSOR - 1;
+ yypmatch[43] = YYCURSOR;
+ yypmatch[44] = YYCURSOR - 1;
+ yypmatch[45] = YYCURSOR;
+ yypmatch[46] = YYCURSOR - 1;
+ yypmatch[47] = YYCURSOR;
+ yypmatch[48] = YYCURSOR - 1;
+ yypmatch[49] = YYCURSOR;
+ yypmatch[50] = YYCURSOR - 1;
+ yypmatch[51] = YYCURSOR;
+ yypmatch[52] = YYCURSOR - 1;
+ yypmatch[53] = YYCURSOR;
+ yypmatch[54] = YYCURSOR - 1;
+ yypmatch[55] = YYCURSOR;
+ yypmatch[56] = YYCURSOR - 1;
+ yypmatch[57] = YYCURSOR;
+ yypmatch[58] = YYCURSOR - 1;
+ yypmatch[59] = YYCURSOR;
+ yypmatch[60] = YYCURSOR - 1;
+ yypmatch[61] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/22.i--flex-syntax.re b/test/posix_captures/basic/22.i--flex-syntax.re
new file mode 100644
index 00000000..aca639df
--- /dev/null
+++ b/test/posix_captures/basic/22.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ ((((((((((((((((((((((((((((((x))))))))))))))))))))))))))))))
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/23.i--flex-syntax.c b/test/posix_captures/basic/23.i--flex-syntax.c
new file mode 100644
index 00000000..663f7760
--- /dev/null
+++ b/test/posix_captures/basic/23.i--flex-syntax.c
@@ -0,0 +1,97 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'x':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 31;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt2;
+ yypmatch[7] = yyt3;
+ yypmatch[8] = yyt2;
+ yypmatch[9] = yyt3;
+ yypmatch[10] = yyt2;
+ yypmatch[11] = yyt3;
+ yypmatch[12] = yyt2;
+ yypmatch[13] = yyt3;
+ yypmatch[14] = yyt2;
+ yypmatch[15] = yyt3;
+ yypmatch[16] = yyt2;
+ yypmatch[17] = yyt3;
+ yypmatch[18] = yyt2;
+ yypmatch[19] = yyt3;
+ yypmatch[20] = yyt2;
+ yypmatch[21] = yyt3;
+ yypmatch[22] = yyt2;
+ yypmatch[23] = yyt3;
+ yypmatch[24] = yyt2;
+ yypmatch[25] = yyt3;
+ yypmatch[26] = yyt2;
+ yypmatch[27] = yyt3;
+ yypmatch[28] = yyt2;
+ yypmatch[29] = yyt3;
+ yypmatch[30] = yyt2;
+ yypmatch[31] = yyt3;
+ yypmatch[32] = yyt2;
+ yypmatch[33] = yyt3;
+ yypmatch[34] = yyt2;
+ yypmatch[35] = yyt3;
+ yypmatch[36] = yyt2;
+ yypmatch[37] = yyt3;
+ yypmatch[38] = yyt2;
+ yypmatch[39] = yyt3;
+ yypmatch[40] = yyt2;
+ yypmatch[41] = yyt3;
+ yypmatch[42] = yyt2;
+ yypmatch[43] = yyt3;
+ yypmatch[44] = yyt2;
+ yypmatch[45] = yyt3;
+ yypmatch[46] = yyt2;
+ yypmatch[47] = yyt3;
+ yypmatch[48] = yyt2;
+ yypmatch[49] = yyt3;
+ yypmatch[50] = yyt2;
+ yypmatch[51] = yyt3;
+ yypmatch[52] = yyt2;
+ yypmatch[53] = yyt3;
+ yypmatch[54] = yyt2;
+ yypmatch[55] = yyt3;
+ yypmatch[56] = yyt2;
+ yypmatch[57] = yyt3;
+ yypmatch[58] = yyt2;
+ yypmatch[59] = yyt3;
+ yypmatch[60] = yyt2;
+ yypmatch[61] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'x':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/basic/23.i--flex-syntax.re b/test/posix_captures/basic/23.i--flex-syntax.re
new file mode 100644
index 00000000..f552ab62
--- /dev/null
+++ b/test/posix_captures/basic/23.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ ((((((((((((((((((((((((((((((x))))))))))))))))))))))))))))))*
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/24.i--flex-syntax.c b/test/posix_captures/basic/24.i--flex-syntax.c
new file mode 100644
index 00000000..4c44a79e
--- /dev/null
+++ b/test/posix_captures/basic/24.i--flex-syntax.c
@@ -0,0 +1,132 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy6;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = NULL;
+ goto yy2;
+ }
+yy4:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy8;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0:
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ case 1:
+ yyt2 = yyt3 = NULL;
+ goto yy2;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = yyt4;
+ goto yy8;
+ default: goto yy5;
+ }
+yy7:
+ yyaccept = 2;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ case 'b':
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy8:
+ yyaccept = 2;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = yyt3;
+ yyt4 = YYCURSOR;
+ goto yy6;
+ case 'b':
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy9:
+ yyaccept = 2;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = yyt4;
+ yyt4 = YYCURSOR;
+ goto yy6;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/basic/24.i--flex-syntax.re b/test/posix_captures/basic/24.i--flex-syntax.re
new file mode 100644
index 00000000..f764ab3f
--- /dev/null
+++ b/test/posix_captures/basic/24.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ a?(ab|ba)*
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/25.i--flex-syntax.c b/test/posix_captures/basic/25.i--flex-syntax.c
new file mode 100644
index 00000000..8c551166
--- /dev/null
+++ b/test/posix_captures/basic/25.i--flex-syntax.c
@@ -0,0 +1,41 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'b': goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ ++YYCURSOR;
+ yynmatch = 1;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/25.i--flex-syntax.re b/test/posix_captures/basic/25.i--flex-syntax.re
new file mode 100644
index 00000000..9a45bd66
--- /dev/null
+++ b/test/posix_captures/basic/25.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ a*a*a*a*a*b
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/26.i--flex-syntax.c b/test/posix_captures/basic/26.i--flex-syntax.c
new file mode 100644
index 00000000..a9cbf84e
--- /dev/null
+++ b/test/posix_captures/basic/26.i--flex-syntax.c
@@ -0,0 +1,50 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy6;
+ case 'c': goto yy8;
+ default: goto yy4;
+ }
+yy8:
+ ++YYCURSOR;
+ yynmatch = 1;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/26.i--flex-syntax.re b/test/posix_captures/basic/26.i--flex-syntax.re
new file mode 100644
index 00000000..bfca025f
--- /dev/null
+++ b/test/posix_captures/basic/26.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ a[b]+bc
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/27.i--flex-syntax.c b/test/posix_captures/basic/27.i--flex-syntax.c
new file mode 100644
index 00000000..a9cbf84e
--- /dev/null
+++ b/test/posix_captures/basic/27.i--flex-syntax.c
@@ -0,0 +1,50 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy6;
+ case 'c': goto yy8;
+ default: goto yy4;
+ }
+yy8:
+ ++YYCURSOR;
+ yynmatch = 1;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/27.i--flex-syntax.re b/test/posix_captures/basic/27.i--flex-syntax.re
new file mode 100644
index 00000000..bfca025f
--- /dev/null
+++ b/test/posix_captures/basic/27.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ a[b]+bc
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/28.i--flex-syntax.c b/test/posix_captures/basic/28.i--flex-syntax.c
new file mode 100644
index 00000000..88f250ed
--- /dev/null
+++ b/test/posix_captures/basic/28.i--flex-syntax.c
@@ -0,0 +1,48 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy6;
+ case 'c': goto yy7;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy7;
+ default: goto yy4;
+ }
+yy7:
+ ++YYCURSOR;
+ yynmatch = 1;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/28.i--flex-syntax.re b/test/posix_captures/basic/28.i--flex-syntax.re
new file mode 100644
index 00000000..3951370e
--- /dev/null
+++ b/test/posix_captures/basic/28.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ a[b]?bc
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/29.i--flex-syntax.c b/test/posix_captures/basic/29.i--flex-syntax.c
new file mode 100644
index 00000000..88f250ed
--- /dev/null
+++ b/test/posix_captures/basic/29.i--flex-syntax.c
@@ -0,0 +1,48 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy6;
+ case 'c': goto yy7;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy7;
+ default: goto yy4;
+ }
+yy7:
+ ++YYCURSOR;
+ yynmatch = 1;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/29.i--flex-syntax.re b/test/posix_captures/basic/29.i--flex-syntax.re
new file mode 100644
index 00000000..3951370e
--- /dev/null
+++ b/test/posix_captures/basic/29.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ a[b]?bc
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/30.i--flex-syntax.c b/test/posix_captures/basic/30.i--flex-syntax.c
new file mode 100644
index 00000000..04f6b0ca
--- /dev/null
+++ b/test/posix_captures/basic/30.i--flex-syntax.c
@@ -0,0 +1,42 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ case 'c': goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ yynmatch = 1;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/30.i--flex-syntax.re b/test/posix_captures/basic/30.i--flex-syntax.re
new file mode 100644
index 00000000..c263de47
--- /dev/null
+++ b/test/posix_captures/basic/30.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ a[b]?c
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/31.i--flex-syntax.c b/test/posix_captures/basic/31.i--flex-syntax.c
new file mode 100644
index 00000000..157f517b
--- /dev/null
+++ b/test/posix_captures/basic/31.i--flex-syntax.c
@@ -0,0 +1,40 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'c': goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR - 2;
+ yypmatch[1] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/31.i--flex-syntax.re b/test/posix_captures/basic/31.i--flex-syntax.re
new file mode 100644
index 00000000..d36cbdd2
--- /dev/null
+++ b/test/posix_captures/basic/31.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ ab|cd
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/32.i--flex-syntax.c b/test/posix_captures/basic/32.i--flex-syntax.c
new file mode 100644
index 00000000..157f517b
--- /dev/null
+++ b/test/posix_captures/basic/32.i--flex-syntax.c
@@ -0,0 +1,40 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'c': goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR - 2;
+ yypmatch[1] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/32.i--flex-syntax.re b/test/posix_captures/basic/32.i--flex-syntax.re
new file mode 100644
index 00000000..d36cbdd2
--- /dev/null
+++ b/test/posix_captures/basic/32.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ ab|cd
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/33.i--flex-syntax.c b/test/posix_captures/basic/33.i--flex-syntax.c
new file mode 100644
index 00000000..11647d5e
--- /dev/null
+++ b/test/posix_captures/basic/33.i--flex-syntax.c
@@ -0,0 +1,28 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ yynmatch = 3;
+ yypmatch[0] = YYCURSOR - 1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = YYCURSOR - 1;
+ yypmatch[3] = YYCURSOR;
+ yypmatch[4] = YYCURSOR - 1;
+ yypmatch[5] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/33.i--flex-syntax.re b/test/posix_captures/basic/33.i--flex-syntax.re
new file mode 100644
index 00000000..b4689206
--- /dev/null
+++ b/test/posix_captures/basic/33.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ ((a))
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/34.i--flex-syntax.c b/test/posix_captures/basic/34.i--flex-syntax.c
new file mode 100644
index 00000000..69c5d95a
--- /dev/null
+++ b/test/posix_captures/basic/34.i--flex-syntax.c
@@ -0,0 +1,43 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ yynmatch = 3;
+ yypmatch[0] = YYCURSOR - 3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = YYCURSOR - 3;
+ yypmatch[3] = YYCURSOR - 2;
+ yypmatch[4] = YYCURSOR - 1;
+ yypmatch[5] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/34.i--flex-syntax.re b/test/posix_captures/basic/34.i--flex-syntax.re
new file mode 100644
index 00000000..53b95b32
--- /dev/null
+++ b/test/posix_captures/basic/34.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a)b(c)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/35.i--flex-syntax.c b/test/posix_captures/basic/35.i--flex-syntax.c
new file mode 100644
index 00000000..e0f95086
--- /dev/null
+++ b/test/posix_captures/basic/35.i--flex-syntax.c
@@ -0,0 +1,29 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ yyt1 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/basic/35.i--flex-syntax.re b/test/posix_captures/basic/35.i--flex-syntax.re
new file mode 100644
index 00000000..9c22c4cb
--- /dev/null
+++ b/test/posix_captures/basic/35.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ a*
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/36.i--flex-syntax.c b/test/posix_captures/basic/36.i--flex-syntax.c
new file mode 100644
index 00000000..101e077f
--- /dev/null
+++ b/test/posix_captures/basic/36.i--flex-syntax.c
@@ -0,0 +1,36 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/basic/36.i--flex-syntax.re b/test/posix_captures/basic/36.i--flex-syntax.re
new file mode 100644
index 00000000..d7abe6a1
--- /dev/null
+++ b/test/posix_captures/basic/36.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a*)*
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/37.i--flex-syntax.c b/test/posix_captures/basic/37.i--flex-syntax.c
new file mode 100644
index 00000000..7b70c2f9
--- /dev/null
+++ b/test/posix_captures/basic/37.i--flex-syntax.c
@@ -0,0 +1,31 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ yyt1 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/basic/37.i--flex-syntax.re b/test/posix_captures/basic/37.i--flex-syntax.re
new file mode 100644
index 00000000..bf900e96
--- /dev/null
+++ b/test/posix_captures/basic/37.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a*)+
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/38.i--flex-syntax.c b/test/posix_captures/basic/38.i--flex-syntax.c
new file mode 100644
index 00000000..fca4ae43
--- /dev/null
+++ b/test/posix_captures/basic/38.i--flex-syntax.c
@@ -0,0 +1,57 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt1 = yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/basic/38.i--flex-syntax.re b/test/posix_captures/basic/38.i--flex-syntax.re
new file mode 100644
index 00000000..6b0c87d7
--- /dev/null
+++ b/test/posix_captures/basic/38.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a*|b)*
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/39.i--flex-syntax.c b/test/posix_captures/basic/39.i--flex-syntax.c
new file mode 100644
index 00000000..13f6b47c
--- /dev/null
+++ b/test/posix_captures/basic/39.i--flex-syntax.c
@@ -0,0 +1,58 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/basic/39.i--flex-syntax.re b/test/posix_captures/basic/39.i--flex-syntax.re
new file mode 100644
index 00000000..eec83eb0
--- /dev/null
+++ b/test/posix_captures/basic/39.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a+|b)*
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/40.i--flex-syntax.c b/test/posix_captures/basic/40.i--flex-syntax.c
new file mode 100644
index 00000000..2ed422b1
--- /dev/null
+++ b/test/posix_captures/basic/40.i--flex-syntax.c
@@ -0,0 +1,54 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/40.i--flex-syntax.re b/test/posix_captures/basic/40.i--flex-syntax.re
new file mode 100644
index 00000000..01ad3520
--- /dev/null
+++ b/test/posix_captures/basic/40.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a+|b)+
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/41.i--flex-syntax.c b/test/posix_captures/basic/41.i--flex-syntax.c
new file mode 100644
index 00000000..3624dd9c
--- /dev/null
+++ b/test/posix_captures/basic/41.i--flex-syntax.c
@@ -0,0 +1,44 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy5:
+ ++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy2;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/basic/41.i--flex-syntax.re b/test/posix_captures/basic/41.i--flex-syntax.re
new file mode 100644
index 00000000..d5b27189
--- /dev/null
+++ b/test/posix_captures/basic/41.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a+|b)?
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/42.i--flex-syntax.c b/test/posix_captures/basic/42.i--flex-syntax.c
new file mode 100644
index 00000000..f9aaf28a
--- /dev/null
+++ b/test/posix_captures/basic/42.i--flex-syntax.c
@@ -0,0 +1,52 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ case 'b':
+ case 'c':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy3;
+ case 'd':
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ case 'b':
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy3;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ ++YYCURSOR;
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt3;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/42.i--flex-syntax.re b/test/posix_captures/basic/42.i--flex-syntax.re
new file mode 100644
index 00000000..a7b7cf40
--- /dev/null
+++ b/test/posix_captures/basic/42.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ ([abc])*d
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/43.i--flex-syntax.c b/test/posix_captures/basic/43.i--flex-syntax.c
new file mode 100644
index 00000000..3dc66565
--- /dev/null
+++ b/test/posix_captures/basic/43.i--flex-syntax.c
@@ -0,0 +1,100 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ case 'c':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = yyt4 = NULL;
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy4:
+ switch (yych) {
+ case 'a':
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy7;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default: goto yy4;
+ }
+yy7:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = yyt2;
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy7;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy10;
+ default: goto yy5;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy11;
+ default: goto yy4;
+ }
+yy10:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = yyt2;
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy7;
+ case 'd':
+ yyt2 = yyt3;
+ goto yy11;
+ default: goto yy5;
+ }
+yy11:
+ ++YYCURSOR;
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt4;
+ yypmatch[1] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/43.i--flex-syntax.re b/test/posix_captures/basic/43.i--flex-syntax.re
new file mode 100644
index 00000000..fec20ddc
--- /dev/null
+++ b/test/posix_captures/basic/43.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ ([abc])*bcd
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/44.i--flex-syntax.c b/test/posix_captures/basic/44.i--flex-syntax.c
new file mode 100644
index 00000000..abeddee0
--- /dev/null
+++ b/test/posix_captures/basic/44.i--flex-syntax.c
@@ -0,0 +1,28 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR - 1;
+ yypmatch[1] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/44.i--flex-syntax.re b/test/posix_captures/basic/44.i--flex-syntax.re
new file mode 100644
index 00000000..fc2c080c
--- /dev/null
+++ b/test/posix_captures/basic/44.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ a|b|c|d|e
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/45.i--flex-syntax.c b/test/posix_captures/basic/45.i--flex-syntax.c
new file mode 100644
index 00000000..410ac189
--- /dev/null
+++ b/test/posix_captures/basic/45.i--flex-syntax.c
@@ -0,0 +1,39 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'f': goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ ++YYCURSOR;
+ yynmatch = 2;
+ yypmatch[0] = YYCURSOR - 2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = YYCURSOR - 2;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/45.i--flex-syntax.re b/test/posix_captures/basic/45.i--flex-syntax.re
new file mode 100644
index 00000000..c02a88b7
--- /dev/null
+++ b/test/posix_captures/basic/45.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a|b|c|d|e)f
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/46.i--flex-syntax.c b/test/posix_captures/basic/46.i--flex-syntax.c
new file mode 100644
index 00000000..c7c85264
--- /dev/null
+++ b/test/posix_captures/basic/46.i--flex-syntax.c
@@ -0,0 +1,59 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt1 = yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/basic/46.i--flex-syntax.re b/test/posix_captures/basic/46.i--flex-syntax.re
new file mode 100644
index 00000000..de34fdfe
--- /dev/null
+++ b/test/posix_captures/basic/46.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ ((a*|b))*
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/47.i--flex-syntax.c b/test/posix_captures/basic/47.i--flex-syntax.c
new file mode 100644
index 00000000..c1a9f94e
--- /dev/null
+++ b/test/posix_captures/basic/47.i--flex-syntax.c
@@ -0,0 +1,46 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ case 'c': goto yy7;
+ default: goto yy4;
+ }
+yy7:
+ ++YYCURSOR;
+ yynmatch = 2;
+ yypmatch[2] = yyt1;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR - 2;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/47.i--flex-syntax.re b/test/posix_captures/basic/47.i--flex-syntax.re
new file mode 100644
index 00000000..3e1502fe
--- /dev/null
+++ b/test/posix_captures/basic/47.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (ab|a[b]*)bc
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/48.i--flex-syntax.c b/test/posix_captures/basic/48.i--flex-syntax.c
new file mode 100644
index 00000000..3ffefae8
--- /dev/null
+++ b/test/posix_captures/basic/48.i--flex-syntax.c
@@ -0,0 +1,47 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy4:
+ yynmatch = 2;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[0] = yyt1 - 1;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b':
+ case 'c': goto yy5;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/48.i--flex-syntax.re b/test/posix_captures/basic/48.i--flex-syntax.re
new file mode 100644
index 00000000..c72b061e
--- /dev/null
+++ b/test/posix_captures/basic/48.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ a([bc]*)c*
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/49.i--flex-syntax.c b/test/posix_captures/basic/49.i--flex-syntax.c
new file mode 100644
index 00000000..f08954a0
--- /dev/null
+++ b/test/posix_captures/basic/49.i--flex-syntax.c
@@ -0,0 +1,55 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ case 'd':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy7;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b':
+ case 'c': goto yy5;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy7;
+ default: goto yy4;
+ }
+yy7:
+ ++YYCURSOR;
+ yynmatch = 3;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1 - 1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/49.i--flex-syntax.re b/test/posix_captures/basic/49.i--flex-syntax.re
new file mode 100644
index 00000000..5b8112c9
--- /dev/null
+++ b/test/posix_captures/basic/49.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ a([bc]*)(c*d)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/50.i--flex-syntax.c b/test/posix_captures/basic/50.i--flex-syntax.c
new file mode 100644
index 00000000..fa3282df
--- /dev/null
+++ b/test/posix_captures/basic/50.i--flex-syntax.c
@@ -0,0 +1,52 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b':
+ case 'c': goto yy5;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy7;
+ default: goto yy4;
+ }
+yy7:
+ ++YYCURSOR;
+ yynmatch = 3;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1 - 1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/50.i--flex-syntax.re b/test/posix_captures/basic/50.i--flex-syntax.re
new file mode 100644
index 00000000..bae3ff4c
--- /dev/null
+++ b/test/posix_captures/basic/50.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ a([bc]+)(c*d)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/51.i--flex-syntax.c b/test/posix_captures/basic/51.i--flex-syntax.c
new file mode 100644
index 00000000..0817ce37
--- /dev/null
+++ b/test/posix_captures/basic/51.i--flex-syntax.c
@@ -0,0 +1,65 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy7;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy7;
+ default: goto yy4;
+ }
+yy7:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy7;
+ case 'd': goto yy9;
+ default: goto yy4;
+ }
+yy9:
+ ++YYCURSOR;
+ yynmatch = 3;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1 - 1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/51.i--flex-syntax.re b/test/posix_captures/basic/51.i--flex-syntax.re
new file mode 100644
index 00000000..0be49afb
--- /dev/null
+++ b/test/posix_captures/basic/51.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ a([bc]*)(c+d)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/52.i--flex-syntax.c b/test/posix_captures/basic/52.i--flex-syntax.c
new file mode 100644
index 00000000..6734473e
--- /dev/null
+++ b/test/posix_captures/basic/52.i--flex-syntax.c
@@ -0,0 +1,90 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b':
+ case 'c': goto yy3;
+ case 'd': goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy3;
+ case 'c': goto yy8;
+ case 'd': goto yy6;
+ default: goto yy5;
+ }
+yy8:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b':
+ case 'c': goto yy3;
+ case 'd': goto yy9;
+ default: goto yy5;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy3;
+ case 'c': goto yy10;
+ case 'd': goto yy6;
+ default: goto yy5;
+ }
+yy10:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b':
+ case 'c': goto yy3;
+ case 'd': goto yy11;
+ default: goto yy5;
+ }
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy3;
+ case 'c': goto yy10;
+ case 'd': goto yy6;
+ case 'e': goto yy12;
+ default: goto yy5;
+ }
+yy12:
+ ++YYCURSOR;
+ yynmatch = 1;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/52.i--flex-syntax.re b/test/posix_captures/basic/52.i--flex-syntax.re
new file mode 100644
index 00000000..48d9e2bb
--- /dev/null
+++ b/test/posix_captures/basic/52.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ a[bcd]*dcdcde
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/53.i--flex-syntax.c b/test/posix_captures/basic/53.i--flex-syntax.c
new file mode 100644
index 00000000..4cbdd990
--- /dev/null
+++ b/test/posix_captures/basic/53.i--flex-syntax.c
@@ -0,0 +1,60 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ yynmatch = 2;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy8:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy8;
+ case 'c': goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/53.i--flex-syntax.re b/test/posix_captures/basic/53.i--flex-syntax.re
new file mode 100644
index 00000000..da8f9fc0
--- /dev/null
+++ b/test/posix_captures/basic/53.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (ab|a)b*c
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/54.i--flex-syntax.c b/test/posix_captures/basic/54.i--flex-syntax.c
new file mode 100644
index 00000000..459e606f
--- /dev/null
+++ b/test/posix_captures/basic/54.i--flex-syntax.c
@@ -0,0 +1,53 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy7;
+ default: goto yy4;
+ }
+yy7:
+ ++YYCURSOR;
+ yynmatch = 5;
+ yypmatch[0] = YYCURSOR - 4;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = YYCURSOR - 4;
+ yypmatch[3] = YYCURSOR - 1;
+ yypmatch[4] = YYCURSOR - 4;
+ yypmatch[5] = YYCURSOR - 3;
+ yypmatch[6] = YYCURSOR - 3;
+ yypmatch[7] = YYCURSOR - 2;
+ yypmatch[8] = YYCURSOR - 1;
+ yypmatch[9] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/54.i--flex-syntax.re b/test/posix_captures/basic/54.i--flex-syntax.re
new file mode 100644
index 00000000..0a30058d
--- /dev/null
+++ b/test/posix_captures/basic/54.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ ((a)(b)c)(d)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/55.i--flex-syntax.c b/test/posix_captures/basic/55.i--flex-syntax.c
new file mode 100644
index 00000000..6c4e9a6c
--- /dev/null
+++ b/test/posix_captures/basic/55.i--flex-syntax.c
@@ -0,0 +1,42 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ yynmatch = 10;
+ yypmatch[0] = YYCURSOR - 1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = YYCURSOR - 1;
+ yypmatch[3] = YYCURSOR;
+ yypmatch[4] = YYCURSOR - 1;
+ yypmatch[5] = YYCURSOR;
+ yypmatch[6] = YYCURSOR - 1;
+ yypmatch[7] = YYCURSOR;
+ yypmatch[8] = YYCURSOR - 1;
+ yypmatch[9] = YYCURSOR;
+ yypmatch[10] = YYCURSOR - 1;
+ yypmatch[11] = YYCURSOR;
+ yypmatch[12] = YYCURSOR - 1;
+ yypmatch[13] = YYCURSOR;
+ yypmatch[14] = YYCURSOR - 1;
+ yypmatch[15] = YYCURSOR;
+ yypmatch[16] = YYCURSOR - 1;
+ yypmatch[17] = YYCURSOR;
+ yypmatch[18] = YYCURSOR - 1;
+ yypmatch[19] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/55.i--flex-syntax.re b/test/posix_captures/basic/55.i--flex-syntax.re
new file mode 100644
index 00000000..b960b4df
--- /dev/null
+++ b/test/posix_captures/basic/55.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (((((((((a)))))))))
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/56.i--flex-syntax.c b/test/posix_captures/basic/56.i--flex-syntax.c
new file mode 100644
index 00000000..c10dac5e
--- /dev/null
+++ b/test/posix_captures/basic/56.i--flex-syntax.c
@@ -0,0 +1,66 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy2;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default:
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy5;
+ case 'c': goto yy6;
+ default: goto yy3;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = YYCURSOR;
+ goto yy8;
+ case 'c': goto yy6;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy9;
+ }
+yy8:
+ yynmatch = 3;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2 - 1;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy8;
+ case 'c': goto yy6;
+ default: goto yy9;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/56.i--flex-syntax.re b/test/posix_captures/basic/56.i--flex-syntax.re
new file mode 100644
index 00000000..14ce3ae9
--- /dev/null
+++ b/test/posix_captures/basic/56.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/basic/57.i--flex-syntax.c b/test/posix_captures/basic/57.i--flex-syntax.c
new file mode 100644
index 00000000..f123a7f4
--- /dev/null
+++ b/test/posix_captures/basic/57.i--flex-syntax.c
@@ -0,0 +1,47 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy7;
+ default: goto yy4;
+ }
+yy7:
+ ++YYCURSOR;
+ yynmatch = 2;
+ yypmatch[0] = YYCURSOR - 4;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = YYCURSOR - 3;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/57.i--flex-syntax.re b/test/posix_captures/basic/57.i--flex-syntax.re
new file mode 100644
index 00000000..2aca5868
--- /dev/null
+++ b/test/posix_captures/basic/57.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ a(bc)d
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/58.i--flex-syntax.c b/test/posix_captures/basic/58.i--flex-syntax.c
new file mode 100644
index 00000000..b61d6017
--- /dev/null
+++ b/test/posix_captures/basic/58.i--flex-syntax.c
@@ -0,0 +1,44 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x01:
+ case 0x02:
+ case 0x03: goto yy5;
+ case 'c': goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ yynmatch = 1;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/58.i--flex-syntax.re b/test/posix_captures/basic/58.i--flex-syntax.re
new file mode 100644
index 00000000..d278a11f
--- /dev/null
+++ b/test/posix_captures/basic/58.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ a[-]?c
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/basic/59.i--flex-syntax.c b/test/posix_captures/basic/59.i--flex-syntax.c
new file mode 100644
index 00000000..008cc6f1
--- /dev/null
+++ b/test/posix_captures/basic/59.i--flex-syntax.c
@@ -0,0 +1,67 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'b':
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy6;
+ case 'd':
+ yyt2 = yyt3 = NULL;
+ goto yy8;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b':
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy6;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy8;
+ default: goto yy5;
+ }
+yy8:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy8;
+ default: goto yy10;
+ }
+yy10:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt3;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/basic/59.i--flex-syntax.re b/test/posix_captures/basic/59.i--flex-syntax.re
new file mode 100644
index 00000000..57b133cf
--- /dev/null
+++ b/test/posix_captures/basic/59.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ a+(b|c)*d+
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/categorize/01.i--flex-syntax.c b/test/posix_captures/categorize/01.i--flex-syntax.c
new file mode 100644
index 00000000..40115001
--- /dev/null
+++ b/test/posix_captures/categorize/01.i--flex-syntax.c
@@ -0,0 +1,122 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = yyt4 = NULL;
+ yyt1 = yyt2 = yyt5 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt3 = yyt4 = NULL;
+ yyt1 = yyt2 = yyt5 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 4;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[6] = yyt5;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[7] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = yyt4 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy8;
+ default: goto yy7;
+ }
+yy4:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy4;
+ default: goto yy2;
+ }
+yy6:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+yy7:
+ switch (yych) {
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy6;
+ case 'b':
+ yyt2 = yyt5;
+ yyt3 = yyt4 = NULL;
+ yyt5 = YYCURSOR;
+ goto yy8;
+ default:
+ yyt3 = yyt4 = NULL;
+ yyt2 = yyt5 = YYCURSOR;
+ goto yy2;
+ }
+yy8:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt6 = YYCURSOR;
+ goto yy9;
+ case 'b':
+ yyt2 = yyt5;
+ goto yy4;
+ default:
+ yyt2 = yyt5;
+ goto yy2;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy11;
+ default: goto yy10;
+ }
+yy10:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ yyt2 = yyt5;
+ goto yy2;
+ } else {
+ yyt4 = yyt5 = YYCURSOR;
+ goto yy2;
+ }
+yy11:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = yyt6;
+ yyt6 = YYCURSOR;
+ goto yy9;
+ case 'b':
+ yyt3 = yyt6;
+ yyt4 = yyt5 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt3 = yyt6;
+ yyt4 = yyt5 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/categorize/01.i--flex-syntax.re b/test/posix_captures/categorize/01.i--flex-syntax.re
new file mode 100644
index 00000000..40744117
--- /dev/null
+++ b/test/posix_captures/categorize/01.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a*)(ab)*(b*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/categorize/02.i--flex-syntax.c b/test/posix_captures/categorize/02.i--flex-syntax.c
new file mode 100644
index 00000000..55a812fc
--- /dev/null
+++ b/test/posix_captures/categorize/02.i--flex-syntax.c
@@ -0,0 +1,102 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = yyt3 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = yyt4 = NULL;
+ yyt1 = yyt2 = yyt5 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt3 = yyt4 = NULL;
+ yyt1 = yyt2 = yyt5 = yyt6 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 7;
+ yypmatch[4] = yyt1;
+ yypmatch[5] = yyt2;
+ yypmatch[6] = yyt3;
+ yypmatch[7] = yyt4;
+ yypmatch[10] = yyt5;
+ yypmatch[12] = yyt6;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt5;
+ yypmatch[8] = yyt5;
+ yypmatch[9] = YYCURSOR;
+ yypmatch[11] = yyt6;
+ yypmatch[13] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy3;
+ case 'b': goto yy7;
+ default:
+ yyt3 = yyt4 = NULL;
+ yyt2 = yyt5 = yyt6 = YYCURSOR;
+ goto yy2;
+ }
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt6 = YYCURSOR;
+ goto yy8;
+ case 'b': goto yy5;
+ default:
+ yyt6 = YYCURSOR;
+ goto yy2;
+ }
+yy7:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = yyt5 = yyt6 = YYCURSOR;
+ goto yy10;
+ case 'b':
+ yyt4 = yyt5 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt4 = yyt5 = yyt6 = YYCURSOR;
+ goto yy2;
+ }
+yy8:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy8;
+ default: goto yy2;
+ }
+yy10:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy8;
+ case 'b':
+ yyt3 = yyt4;
+ goto yy7;
+ default: goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/categorize/02.i--flex-syntax.re b/test/posix_captures/categorize/02.i--flex-syntax.re
new file mode 100644
index 00000000..3048501b
--- /dev/null
+++ b/test/posix_captures/categorize/02.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ ((a*)(ab)*)((b*)(a*))
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/categorize/03.i--flex-syntax.c b/test/posix_captures/categorize/03.i--flex-syntax.c
new file mode 100644
index 00000000..b870437e
--- /dev/null
+++ b/test/posix_captures/categorize/03.i--flex-syntax.c
@@ -0,0 +1,61 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy3;
+ }
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt3;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+ YYCURSOR = YYMARKER;
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ yyt2 = YYCURSOR;
+ if (yych <= 0x00) goto yy2;
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+ yyt3 = YYCURSOR;
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+ goto yy5;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/categorize/03.i--flex-syntax.re b/test/posix_captures/categorize/03.i--flex-syntax.re
new file mode 100644
index 00000000..404ceb58
--- /dev/null
+++ b/test/posix_captures/categorize/03.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/categorize/04.i--flex-syntax.c b/test/posix_captures/categorize/04.i--flex-syntax.c
new file mode 100644
index 00000000..6af69473
--- /dev/null
+++ b/test/posix_captures/categorize/04.i--flex-syntax.c
@@ -0,0 +1,59 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ yynmatch = 3;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/categorize/04.i--flex-syntax.re b/test/posix_captures/categorize/04.i--flex-syntax.re
new file mode 100644
index 00000000..2a2ebff9
--- /dev/null
+++ b/test/posix_captures/categorize/04.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a|ab)(bc|c)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/categorize/05.i--flex-syntax.c b/test/posix_captures/categorize/05.i--flex-syntax.c
new file mode 100644
index 00000000..3be56959
--- /dev/null
+++ b/test/posix_captures/categorize/05.i--flex-syntax.c
@@ -0,0 +1,116 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy8;
+ default: goto yy7;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy10;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *YYCURSOR;
+yy7:
+ switch (yych) {
+ case 'a': goto yy6;
+ case 'b': goto yy5;
+ default: goto yy4;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy10;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy15;
+ default: goto yy14;
+ }
+yy10:
+ ++YYCURSOR;
+yy11:
+ yynmatch = 3;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default: goto yy4;
+ }
+yy13:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy14:
+ switch (yych) {
+ case 'a': goto yy13;
+ case 'b': goto yy10;
+ default: goto yy4;
+ }
+yy15:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy10;
+ default: goto yy11;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy10;
+ default:
+ yyt2 = yyt3;
+ goto yy11;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/categorize/05.i--flex-syntax.re b/test/posix_captures/categorize/05.i--flex-syntax.re
new file mode 100644
index 00000000..42eac1a5
--- /dev/null
+++ b/test/posix_captures/categorize/05.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (aba|a*b)(aba|a*b)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/categorize/06.i--flex-syntax.c b/test/posix_captures/categorize/06.i--flex-syntax.c
new file mode 100644
index 00000000..7727f372
--- /dev/null
+++ b/test/posix_captures/categorize/06.i--flex-syntax.c
@@ -0,0 +1,36 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/categorize/06.i--flex-syntax.re b/test/posix_captures/categorize/06.i--flex-syntax.re
new file mode 100644
index 00000000..df5fdecb
--- /dev/null
+++ b/test/posix_captures/categorize/06.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a*){2}
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/categorize/07.i--flex-syntax.c b/test/posix_captures/categorize/07.i--flex-syntax.c
new file mode 100644
index 00000000..101e077f
--- /dev/null
+++ b/test/posix_captures/categorize/07.i--flex-syntax.c
@@ -0,0 +1,36 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/categorize/07.i--flex-syntax.re b/test/posix_captures/categorize/07.i--flex-syntax.re
new file mode 100644
index 00000000..d7abe6a1
--- /dev/null
+++ b/test/posix_captures/categorize/07.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a*)*
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/categorize/08.i--flex-syntax.c b/test/posix_captures/categorize/08.i--flex-syntax.c
new file mode 100644
index 00000000..a5a2027b
--- /dev/null
+++ b/test/posix_captures/categorize/08.i--flex-syntax.c
@@ -0,0 +1,152 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy9;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ } else {
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy5:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy7:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy5;
+ default: goto yy4;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy10;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy10:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy12:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy13;
+ case 'b': goto yy9;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy13:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b':
+ yyt2 = yyt4;
+ goto yy11;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/categorize/08.i--flex-syntax.re b/test/posix_captures/categorize/08.i--flex-syntax.re
new file mode 100644
index 00000000..df622f14
--- /dev/null
+++ b/test/posix_captures/categorize/08.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (aba|a*b)*
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/categorize/09.i--flex-syntax.c b/test/posix_captures/categorize/09.i--flex-syntax.c
new file mode 100644
index 00000000..a911bfc4
--- /dev/null
+++ b/test/posix_captures/categorize/09.i--flex-syntax.c
@@ -0,0 +1,56 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy6;
+ default:
+ yyt3 = yyt4 = NULL;
+ goto yy5;
+ }
+yy5:
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy5;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/categorize/09.i--flex-syntax.re b/test/posix_captures/categorize/09.i--flex-syntax.re
new file mode 100644
index 00000000..742f1fea
--- /dev/null
+++ b/test/posix_captures/categorize/09.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a(b)?)+
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/categorize/10.i--flex-syntax.c b/test/posix_captures/categorize/10.i--flex-syntax.c
new file mode 100644
index 00000000..872741c9
--- /dev/null
+++ b/test/posix_captures/categorize/10.i--flex-syntax.c
@@ -0,0 +1,32 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+ yyt1 = yyt2 = YYCURSOR;
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+ goto yy3;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/categorize/10.i--flex-syntax.re b/test/posix_captures/categorize/10.i--flex-syntax.re
new file mode 100644
index 00000000..3476ce61
--- /dev/null
+++ b/test/posix_captures/categorize/10.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/categorize/11.i--flex-syntax.c b/test/posix_captures/categorize/11.i--flex-syntax.c
new file mode 100644
index 00000000..236f52da
--- /dev/null
+++ b/test/posix_captures/categorize/11.i--flex-syntax.c
@@ -0,0 +1,193 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 8) YYFILL(8);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt4 = yyt5 = NULL;
+ yyt1 = yyt2 = yyt6 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt3 = yyt4 = yyt5 = yyt9 = NULL;
+ yyt1 = yyt2 = yyt6 = yyt8 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 6;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[8] = yyt6;
+ yypmatch[9] = yyt8;
+ yypmatch[10] = yyt9;
+ yypmatch[11] = yyt3;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = yyt6;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = yyt5 = NULL;
+ yyt3 = yyt6 = yyt7 = yyt8 = YYCURSOR;
+ goto yy5;
+ case 'b':
+ yyt4 = yyt5 = NULL;
+ yyt6 = yyt7 = YYCURSOR;
+ goto yy6;
+ default:
+ yyt3 = yyt4 = yyt5 = yyt9 = NULL;
+ yyt2 = yyt6 = yyt8 = YYCURSOR;
+ goto yy2;
+ }
+yy4:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt8 = yyt9 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt3 = yyt9 = NULL;
+ yyt8 = YYCURSOR;
+ goto yy8;
+ default:
+ yyt3 = yyt9 = NULL;
+ yyt8 = YYCURSOR;
+ goto yy2;
+ }
+yy5:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt9 = YYCURSOR;
+ goto yy9;
+ case 'b': goto yy11;
+ default:
+ yyt2 = yyt7;
+ yyt3 = yyt9 = NULL;
+ goto yy2;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = yyt7;
+ yyt8 = yyt9 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt3 = yyt9 = NULL;
+ yyt8 = YYCURSOR;
+ goto yy12;
+ default:
+ yyt2 = yyt7;
+ yyt3 = yyt9 = NULL;
+ yyt8 = YYCURSOR;
+ goto yy2;
+ }
+yy7:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt7 = yyt2;
+ yyt9 = YYCURSOR;
+ goto yy9;
+ case 'b':
+ yyt3 = yyt7 = NULL;
+ goto yy13;
+ default:
+ yyt3 = yyt9 = NULL;
+ goto yy2;
+ }
+yy8:
+ ++YYCURSOR;
+ goto yy2;
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy14;
+ default: goto yy10;
+ }
+yy10:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ yyt2 = yyt7;
+ yyt3 = yyt9 = NULL;
+ goto yy2;
+ } else {
+ yyt3 = yyt9 = NULL;
+ goto yy2;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = yyt7;
+ yyt4 = yyt3;
+ yyt5 = yyt6 = yyt8 = yyt9 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt2 = yyt7;
+ yyt4 = yyt3;
+ yyt5 = yyt6 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt2 = yyt7;
+ yyt4 = yyt3;
+ yyt3 = yyt9 = NULL;
+ yyt5 = yyt6 = yyt8 = YYCURSOR;
+ goto yy2;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = yyt1;
+ yyt5 = yyt8;
+ yyt6 = yyt8;
+ yyt8 = yyt9 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt4 = yyt1;
+ yyt5 = yyt8;
+ yyt6 = yyt8;
+ yyt3 = yyt9 = NULL;
+ yyt8 = YYCURSOR;
+ goto yy8;
+ default:
+ yyt2 = yyt7;
+ goto yy2;
+ }
+yy13:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy8;
+ default:
+ yyt9 = yyt7;
+ goto yy2;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ yyt2 = yyt7;
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy8;
+ default: goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/categorize/11.i--flex-syntax.re b/test/posix_captures/categorize/11.i--flex-syntax.re
new file mode 100644
index 00000000..ec5205d4
--- /dev/null
+++ b/test/posix_captures/categorize/11.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a?)((ab)?)(b?)a?(ab)?b?
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/exponential_epsilon_closure.i--posix-captures.c b/test/posix_captures/exponential_epsilon_closure.i--posix-captures.c
new file mode 100644
index 00000000..205ae487
--- /dev/null
+++ b/test/posix_captures/exponential_epsilon_closure.i--posix-captures.c
@@ -0,0 +1,19 @@
+/* Generated by re2c */
+// test for epsilon closure construction:
+// exponential blowup if paths are not merged
+// as soon as they arrive at the same NFA state
+
+{
+ YYCTYPE yych;
+ yyt1 = YYCURSOR;
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt1;
+ yypmatch[4] = yyt1;
+ yypmatch[5] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/exponential_epsilon_closure.i--posix-captures.re b/test/posix_captures/exponential_epsilon_closure.i--posix-captures.re
new file mode 100644
index 00000000..6d77a186
--- /dev/null
+++ b/test/posix_captures/exponential_epsilon_closure.i--posix-captures.re
@@ -0,0 +1,6 @@
+// test for epsilon closure construction:
+// exponential blowup if paths are not merged
+// as soon as they arrive at the same NFA state
+/*!re2c
+ ((""){0,100}){0,100} {}
+*/
diff --git a/test/posix_captures/forcedassoc/01.i--flex-syntax.c b/test/posix_captures/forcedassoc/01.i--flex-syntax.c
new file mode 100644
index 00000000..24dcea7a
--- /dev/null
+++ b/test/posix_captures/forcedassoc/01.i--flex-syntax.c
@@ -0,0 +1,78 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+yy7:
+ yynmatch = 3;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy10;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default:
+ yyt2 = yyt3;
+ goto yy7;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt2 = yyt3;
+ goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/forcedassoc/01.i--flex-syntax.re b/test/posix_captures/forcedassoc/01.i--flex-syntax.re
new file mode 100644
index 00000000..3ac53df6
--- /dev/null
+++ b/test/posix_captures/forcedassoc/01.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a|ab)(c|bcd)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/forcedassoc/02.i--flex-syntax.c b/test/posix_captures/forcedassoc/02.i--flex-syntax.c
new file mode 100644
index 00000000..24dcea7a
--- /dev/null
+++ b/test/posix_captures/forcedassoc/02.i--flex-syntax.c
@@ -0,0 +1,78 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+yy7:
+ yynmatch = 3;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy10;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default:
+ yyt2 = yyt3;
+ goto yy7;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt2 = yyt3;
+ goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/forcedassoc/02.i--flex-syntax.re b/test/posix_captures/forcedassoc/02.i--flex-syntax.re
new file mode 100644
index 00000000..6e4afe97
--- /dev/null
+++ b/test/posix_captures/forcedassoc/02.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a|ab)(bcd|c)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/forcedassoc/03.i--flex-syntax.c b/test/posix_captures/forcedassoc/03.i--flex-syntax.c
new file mode 100644
index 00000000..24dcea7a
--- /dev/null
+++ b/test/posix_captures/forcedassoc/03.i--flex-syntax.c
@@ -0,0 +1,78 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+yy7:
+ yynmatch = 3;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy10;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default:
+ yyt2 = yyt3;
+ goto yy7;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt2 = yyt3;
+ goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/forcedassoc/03.i--flex-syntax.re b/test/posix_captures/forcedassoc/03.i--flex-syntax.re
new file mode 100644
index 00000000..f44605a1
--- /dev/null
+++ b/test/posix_captures/forcedassoc/03.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (ab|a)(c|bcd)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/forcedassoc/04.i--flex-syntax.c b/test/posix_captures/forcedassoc/04.i--flex-syntax.c
new file mode 100644
index 00000000..24dcea7a
--- /dev/null
+++ b/test/posix_captures/forcedassoc/04.i--flex-syntax.c
@@ -0,0 +1,78 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+yy7:
+ yynmatch = 3;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy10;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default:
+ yyt2 = yyt3;
+ goto yy7;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt2 = yyt3;
+ goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/forcedassoc/04.i--flex-syntax.re b/test/posix_captures/forcedassoc/04.i--flex-syntax.re
new file mode 100644
index 00000000..bb51e95f
--- /dev/null
+++ b/test/posix_captures/forcedassoc/04.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (ab|a)(bcd|c)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/forcedassoc/05.i--flex-syntax.c b/test/posix_captures/forcedassoc/05.i--flex-syntax.c
new file mode 100644
index 00000000..e147c270
--- /dev/null
+++ b/test/posix_captures/forcedassoc/05.i--flex-syntax.c
@@ -0,0 +1,94 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy11;
+yy7:
+ yynmatch = 5;
+ yypmatch[4] = yyt1;
+ yypmatch[6] = yyt2;
+ yypmatch[8] = yyt3;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = yyt2;
+ yypmatch[7] = yyt3;
+ yypmatch[9] = YYCURSOR;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy12;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy7;
+ }
+yy10:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy11:
+ switch (yych) {
+ case 'd': goto yy10;
+ default: goto yy7;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt2 = yyt3;
+ goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/forcedassoc/05.i--flex-syntax.re b/test/posix_captures/forcedassoc/05.i--flex-syntax.re
new file mode 100644
index 00000000..6e1d6cf6
--- /dev/null
+++ b/test/posix_captures/forcedassoc/05.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ ((a|ab)(c|bcd))(d*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/forcedassoc/06.i--flex-syntax.c b/test/posix_captures/forcedassoc/06.i--flex-syntax.c
new file mode 100644
index 00000000..e147c270
--- /dev/null
+++ b/test/posix_captures/forcedassoc/06.i--flex-syntax.c
@@ -0,0 +1,94 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy11;
+yy7:
+ yynmatch = 5;
+ yypmatch[4] = yyt1;
+ yypmatch[6] = yyt2;
+ yypmatch[8] = yyt3;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = yyt2;
+ yypmatch[7] = yyt3;
+ yypmatch[9] = YYCURSOR;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy12;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy7;
+ }
+yy10:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy11:
+ switch (yych) {
+ case 'd': goto yy10;
+ default: goto yy7;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt2 = yyt3;
+ goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/forcedassoc/06.i--flex-syntax.re b/test/posix_captures/forcedassoc/06.i--flex-syntax.re
new file mode 100644
index 00000000..7639275c
--- /dev/null
+++ b/test/posix_captures/forcedassoc/06.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ ((a|ab)(bcd|c))(d*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/forcedassoc/07.i--flex-syntax.c b/test/posix_captures/forcedassoc/07.i--flex-syntax.c
new file mode 100644
index 00000000..e147c270
--- /dev/null
+++ b/test/posix_captures/forcedassoc/07.i--flex-syntax.c
@@ -0,0 +1,94 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy11;
+yy7:
+ yynmatch = 5;
+ yypmatch[4] = yyt1;
+ yypmatch[6] = yyt2;
+ yypmatch[8] = yyt3;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = yyt2;
+ yypmatch[7] = yyt3;
+ yypmatch[9] = YYCURSOR;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy12;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy7;
+ }
+yy10:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy11:
+ switch (yych) {
+ case 'd': goto yy10;
+ default: goto yy7;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt2 = yyt3;
+ goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/forcedassoc/07.i--flex-syntax.re b/test/posix_captures/forcedassoc/07.i--flex-syntax.re
new file mode 100644
index 00000000..c688da0d
--- /dev/null
+++ b/test/posix_captures/forcedassoc/07.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ ((ab|a)(c|bcd))(d*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/forcedassoc/08.i--flex-syntax.c b/test/posix_captures/forcedassoc/08.i--flex-syntax.c
new file mode 100644
index 00000000..e147c270
--- /dev/null
+++ b/test/posix_captures/forcedassoc/08.i--flex-syntax.c
@@ -0,0 +1,94 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy11;
+yy7:
+ yynmatch = 5;
+ yypmatch[4] = yyt1;
+ yypmatch[6] = yyt2;
+ yypmatch[8] = yyt3;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = yyt2;
+ yypmatch[7] = yyt3;
+ yypmatch[9] = YYCURSOR;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy12;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy7;
+ }
+yy10:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy11:
+ switch (yych) {
+ case 'd': goto yy10;
+ default: goto yy7;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt2 = yyt3;
+ goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/forcedassoc/08.i--flex-syntax.re b/test/posix_captures/forcedassoc/08.i--flex-syntax.re
new file mode 100644
index 00000000..7f186082
--- /dev/null
+++ b/test/posix_captures/forcedassoc/08.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ ((ab|a)(bcd|c))(d*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/forcedassoc/09.i--flex-syntax.c b/test/posix_captures/forcedassoc/09.i--flex-syntax.c
new file mode 100644
index 00000000..fdce1c19
--- /dev/null
+++ b/test/posix_captures/forcedassoc/09.i--flex-syntax.c
@@ -0,0 +1,81 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ goto yy10;
+yy7:
+ yynmatch = 5;
+ yypmatch[2] = yyt1;
+ yypmatch[6] = yyt3;
+ yypmatch[8] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt3;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = YYCURSOR;
+ yypmatch[7] = yyt2;
+ yypmatch[9] = YYCURSOR;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy11;
+ default: goto yy4;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy10:
+ switch (yych) {
+ case 'd': goto yy9;
+ default: goto yy7;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/forcedassoc/09.i--flex-syntax.re b/test/posix_captures/forcedassoc/09.i--flex-syntax.re
new file mode 100644
index 00000000..f7a6ec5a
--- /dev/null
+++ b/test/posix_captures/forcedassoc/09.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a|ab)((c|bcd)(d*))
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/forcedassoc/10.i--flex-syntax.c b/test/posix_captures/forcedassoc/10.i--flex-syntax.c
new file mode 100644
index 00000000..fdce1c19
--- /dev/null
+++ b/test/posix_captures/forcedassoc/10.i--flex-syntax.c
@@ -0,0 +1,81 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ goto yy10;
+yy7:
+ yynmatch = 5;
+ yypmatch[2] = yyt1;
+ yypmatch[6] = yyt3;
+ yypmatch[8] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt3;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = YYCURSOR;
+ yypmatch[7] = yyt2;
+ yypmatch[9] = YYCURSOR;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy11;
+ default: goto yy4;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy10:
+ switch (yych) {
+ case 'd': goto yy9;
+ default: goto yy7;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/forcedassoc/10.i--flex-syntax.re b/test/posix_captures/forcedassoc/10.i--flex-syntax.re
new file mode 100644
index 00000000..bf2232b6
--- /dev/null
+++ b/test/posix_captures/forcedassoc/10.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a|ab)((bcd|c)(d*))
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/forcedassoc/11.i--flex-syntax.c b/test/posix_captures/forcedassoc/11.i--flex-syntax.c
new file mode 100644
index 00000000..fdce1c19
--- /dev/null
+++ b/test/posix_captures/forcedassoc/11.i--flex-syntax.c
@@ -0,0 +1,81 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ goto yy10;
+yy7:
+ yynmatch = 5;
+ yypmatch[2] = yyt1;
+ yypmatch[6] = yyt3;
+ yypmatch[8] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt3;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = YYCURSOR;
+ yypmatch[7] = yyt2;
+ yypmatch[9] = YYCURSOR;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy11;
+ default: goto yy4;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy10:
+ switch (yych) {
+ case 'd': goto yy9;
+ default: goto yy7;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/forcedassoc/11.i--flex-syntax.re b/test/posix_captures/forcedassoc/11.i--flex-syntax.re
new file mode 100644
index 00000000..e2439bca
--- /dev/null
+++ b/test/posix_captures/forcedassoc/11.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (ab|a)((c|bcd)(d*))
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/forcedassoc/12.i--flex-syntax.c b/test/posix_captures/forcedassoc/12.i--flex-syntax.c
new file mode 100644
index 00000000..fdce1c19
--- /dev/null
+++ b/test/posix_captures/forcedassoc/12.i--flex-syntax.c
@@ -0,0 +1,81 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ goto yy10;
+yy7:
+ yynmatch = 5;
+ yypmatch[2] = yyt1;
+ yypmatch[6] = yyt3;
+ yypmatch[8] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt3;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = YYCURSOR;
+ yypmatch[7] = yyt2;
+ yypmatch[9] = YYCURSOR;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy11;
+ default: goto yy4;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy10:
+ switch (yych) {
+ case 'd': goto yy9;
+ default: goto yy7;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/forcedassoc/12.i--flex-syntax.re b/test/posix_captures/forcedassoc/12.i--flex-syntax.re
new file mode 100644
index 00000000..102c71e8
--- /dev/null
+++ b/test/posix_captures/forcedassoc/12.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (ab|a)((bcd|c)(d*))
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/forcedassoc/13.i--flex-syntax.c b/test/posix_captures/forcedassoc/13.i--flex-syntax.c
new file mode 100644
index 00000000..ef51205b
--- /dev/null
+++ b/test/posix_captures/forcedassoc/13.i--flex-syntax.c
@@ -0,0 +1,68 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ ++YYCURSOR;
+yy6:
+ yynmatch = 3;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy7:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+yy8:
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy5;
+ default:
+ yyt2 = yyt3;
+ goto yy6;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/forcedassoc/13.i--flex-syntax.re b/test/posix_captures/forcedassoc/13.i--flex-syntax.re
new file mode 100644
index 00000000..5cc0689e
--- /dev/null
+++ b/test/posix_captures/forcedassoc/13.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a*)(b|abc)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/forcedassoc/14.i--flex-syntax.c b/test/posix_captures/forcedassoc/14.i--flex-syntax.c
new file mode 100644
index 00000000..ef51205b
--- /dev/null
+++ b/test/posix_captures/forcedassoc/14.i--flex-syntax.c
@@ -0,0 +1,68 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ ++YYCURSOR;
+yy6:
+ yynmatch = 3;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy7:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+yy8:
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy5;
+ default:
+ yyt2 = yyt3;
+ goto yy6;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/forcedassoc/14.i--flex-syntax.re b/test/posix_captures/forcedassoc/14.i--flex-syntax.re
new file mode 100644
index 00000000..5479eb59
--- /dev/null
+++ b/test/posix_captures/forcedassoc/14.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a*)(abc|b)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/forcedassoc/15.i--flex-syntax.c b/test/posix_captures/forcedassoc/15.i--flex-syntax.c
new file mode 100644
index 00000000..0fbc3b55
--- /dev/null
+++ b/test/posix_captures/forcedassoc/15.i--flex-syntax.c
@@ -0,0 +1,84 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy11;
+yy6:
+ yynmatch = 5;
+ yypmatch[4] = yyt1;
+ yypmatch[6] = yyt2;
+ yypmatch[8] = yyt3;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = yyt2;
+ yypmatch[7] = yyt3;
+ yypmatch[9] = YYCURSOR;
+ {}
+yy7:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+yy8:
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy5;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy6;
+ }
+yy10:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy11:
+ switch (yych) {
+ case 'c': goto yy10;
+ default: goto yy6;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/forcedassoc/15.i--flex-syntax.re b/test/posix_captures/forcedassoc/15.i--flex-syntax.re
new file mode 100644
index 00000000..4d526eff
--- /dev/null
+++ b/test/posix_captures/forcedassoc/15.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ ((a*)(b|abc))(c*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/forcedassoc/16.i--flex-syntax.c b/test/posix_captures/forcedassoc/16.i--flex-syntax.c
new file mode 100644
index 00000000..0fbc3b55
--- /dev/null
+++ b/test/posix_captures/forcedassoc/16.i--flex-syntax.c
@@ -0,0 +1,84 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy11;
+yy6:
+ yynmatch = 5;
+ yypmatch[4] = yyt1;
+ yypmatch[6] = yyt2;
+ yypmatch[8] = yyt3;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = yyt2;
+ yypmatch[7] = yyt3;
+ yypmatch[9] = YYCURSOR;
+ {}
+yy7:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+yy8:
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy5;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy6;
+ }
+yy10:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy11:
+ switch (yych) {
+ case 'c': goto yy10;
+ default: goto yy6;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/forcedassoc/16.i--flex-syntax.re b/test/posix_captures/forcedassoc/16.i--flex-syntax.re
new file mode 100644
index 00000000..7ed6523f
--- /dev/null
+++ b/test/posix_captures/forcedassoc/16.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ ((a*)(abc|b))(c*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/forcedassoc/17.i--flex-syntax.c b/test/posix_captures/forcedassoc/17.i--flex-syntax.c
new file mode 100644
index 00000000..94e80813
--- /dev/null
+++ b/test/posix_captures/forcedassoc/17.i--flex-syntax.c
@@ -0,0 +1,63 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ goto yy9;
+yy7:
+ yynmatch = 5;
+ yypmatch[2] = yyt1;
+ yypmatch[6] = yyt3;
+ yypmatch[8] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt3;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = YYCURSOR;
+ yypmatch[7] = yyt2;
+ yypmatch[9] = YYCURSOR;
+ {}
+yy8:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy9:
+ switch (yych) {
+ case 'c': goto yy8;
+ default: goto yy7;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/forcedassoc/17.i--flex-syntax.re b/test/posix_captures/forcedassoc/17.i--flex-syntax.re
new file mode 100644
index 00000000..1e4cbc3d
--- /dev/null
+++ b/test/posix_captures/forcedassoc/17.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a*)((b|abc)(c*))
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/forcedassoc/18.i--flex-syntax.c b/test/posix_captures/forcedassoc/18.i--flex-syntax.c
new file mode 100644
index 00000000..94e80813
--- /dev/null
+++ b/test/posix_captures/forcedassoc/18.i--flex-syntax.c
@@ -0,0 +1,63 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ goto yy9;
+yy7:
+ yynmatch = 5;
+ yypmatch[2] = yyt1;
+ yypmatch[6] = yyt3;
+ yypmatch[8] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt3;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = YYCURSOR;
+ yypmatch[7] = yyt2;
+ yypmatch[9] = YYCURSOR;
+ {}
+yy8:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy9:
+ switch (yych) {
+ case 'c': goto yy8;
+ default: goto yy7;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/forcedassoc/18.i--flex-syntax.re b/test/posix_captures/forcedassoc/18.i--flex-syntax.re
new file mode 100644
index 00000000..512f4f21
--- /dev/null
+++ b/test/posix_captures/forcedassoc/18.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a*)((abc|b)(c*))
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/forcedassoc/19.i--flex-syntax.c b/test/posix_captures/forcedassoc/19.i--flex-syntax.c
new file mode 100644
index 00000000..ef51205b
--- /dev/null
+++ b/test/posix_captures/forcedassoc/19.i--flex-syntax.c
@@ -0,0 +1,68 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ ++YYCURSOR;
+yy6:
+ yynmatch = 3;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy7:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+yy8:
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy5;
+ default:
+ yyt2 = yyt3;
+ goto yy6;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/forcedassoc/19.i--flex-syntax.re b/test/posix_captures/forcedassoc/19.i--flex-syntax.re
new file mode 100644
index 00000000..5cc0689e
--- /dev/null
+++ b/test/posix_captures/forcedassoc/19.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a*)(b|abc)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/forcedassoc/20.i--flex-syntax.c b/test/posix_captures/forcedassoc/20.i--flex-syntax.c
new file mode 100644
index 00000000..ef51205b
--- /dev/null
+++ b/test/posix_captures/forcedassoc/20.i--flex-syntax.c
@@ -0,0 +1,68 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ ++YYCURSOR;
+yy6:
+ yynmatch = 3;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy7:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+yy8:
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy5;
+ default:
+ yyt2 = yyt3;
+ goto yy6;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/forcedassoc/20.i--flex-syntax.re b/test/posix_captures/forcedassoc/20.i--flex-syntax.re
new file mode 100644
index 00000000..5479eb59
--- /dev/null
+++ b/test/posix_captures/forcedassoc/20.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a*)(abc|b)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/forcedassoc/21.i--flex-syntax.c b/test/posix_captures/forcedassoc/21.i--flex-syntax.c
new file mode 100644
index 00000000..0fbc3b55
--- /dev/null
+++ b/test/posix_captures/forcedassoc/21.i--flex-syntax.c
@@ -0,0 +1,84 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy11;
+yy6:
+ yynmatch = 5;
+ yypmatch[4] = yyt1;
+ yypmatch[6] = yyt2;
+ yypmatch[8] = yyt3;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = yyt2;
+ yypmatch[7] = yyt3;
+ yypmatch[9] = YYCURSOR;
+ {}
+yy7:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+yy8:
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy5;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy6;
+ }
+yy10:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy11:
+ switch (yych) {
+ case 'c': goto yy10;
+ default: goto yy6;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/forcedassoc/21.i--flex-syntax.re b/test/posix_captures/forcedassoc/21.i--flex-syntax.re
new file mode 100644
index 00000000..4d526eff
--- /dev/null
+++ b/test/posix_captures/forcedassoc/21.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ ((a*)(b|abc))(c*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/forcedassoc/22.i--flex-syntax.c b/test/posix_captures/forcedassoc/22.i--flex-syntax.c
new file mode 100644
index 00000000..0fbc3b55
--- /dev/null
+++ b/test/posix_captures/forcedassoc/22.i--flex-syntax.c
@@ -0,0 +1,84 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy11;
+yy6:
+ yynmatch = 5;
+ yypmatch[4] = yyt1;
+ yypmatch[6] = yyt2;
+ yypmatch[8] = yyt3;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = yyt2;
+ yypmatch[7] = yyt3;
+ yypmatch[9] = YYCURSOR;
+ {}
+yy7:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+yy8:
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy5;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy6;
+ }
+yy10:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy11:
+ switch (yych) {
+ case 'c': goto yy10;
+ default: goto yy6;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/forcedassoc/22.i--flex-syntax.re b/test/posix_captures/forcedassoc/22.i--flex-syntax.re
new file mode 100644
index 00000000..7ed6523f
--- /dev/null
+++ b/test/posix_captures/forcedassoc/22.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ ((a*)(abc|b))(c*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/forcedassoc/23.i--flex-syntax.c b/test/posix_captures/forcedassoc/23.i--flex-syntax.c
new file mode 100644
index 00000000..94e80813
--- /dev/null
+++ b/test/posix_captures/forcedassoc/23.i--flex-syntax.c
@@ -0,0 +1,63 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ goto yy9;
+yy7:
+ yynmatch = 5;
+ yypmatch[2] = yyt1;
+ yypmatch[6] = yyt3;
+ yypmatch[8] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt3;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = YYCURSOR;
+ yypmatch[7] = yyt2;
+ yypmatch[9] = YYCURSOR;
+ {}
+yy8:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy9:
+ switch (yych) {
+ case 'c': goto yy8;
+ default: goto yy7;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/forcedassoc/23.i--flex-syntax.re b/test/posix_captures/forcedassoc/23.i--flex-syntax.re
new file mode 100644
index 00000000..1e4cbc3d
--- /dev/null
+++ b/test/posix_captures/forcedassoc/23.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a*)((b|abc)(c*))
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/forcedassoc/24.i--flex-syntax.c b/test/posix_captures/forcedassoc/24.i--flex-syntax.c
new file mode 100644
index 00000000..94e80813
--- /dev/null
+++ b/test/posix_captures/forcedassoc/24.i--flex-syntax.c
@@ -0,0 +1,63 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ goto yy9;
+yy7:
+ yynmatch = 5;
+ yypmatch[2] = yyt1;
+ yypmatch[6] = yyt3;
+ yypmatch[8] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt3;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = YYCURSOR;
+ yypmatch[7] = yyt2;
+ yypmatch[9] = YYCURSOR;
+ {}
+yy8:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy9:
+ switch (yych) {
+ case 'c': goto yy8;
+ default: goto yy7;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/forcedassoc/24.i--flex-syntax.re b/test/posix_captures/forcedassoc/24.i--flex-syntax.re
new file mode 100644
index 00000000..512f4f21
--- /dev/null
+++ b/test/posix_captures/forcedassoc/24.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a*)((abc|b)(c*))
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/forcedassoc/25.i--flex-syntax.c b/test/posix_captures/forcedassoc/25.i--flex-syntax.c
new file mode 100644
index 00000000..5655f6eb
--- /dev/null
+++ b/test/posix_captures/forcedassoc/25.i--flex-syntax.c
@@ -0,0 +1,36 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ yynmatch = 2;
+ yypmatch[2] = yyt1;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy5:
+ ++YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/forcedassoc/25.i--flex-syntax.re b/test/posix_captures/forcedassoc/25.i--flex-syntax.re
new file mode 100644
index 00000000..508398f5
--- /dev/null
+++ b/test/posix_captures/forcedassoc/25.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a|ab)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/forcedassoc/26.i--flex-syntax.c b/test/posix_captures/forcedassoc/26.i--flex-syntax.c
new file mode 100644
index 00000000..5655f6eb
--- /dev/null
+++ b/test/posix_captures/forcedassoc/26.i--flex-syntax.c
@@ -0,0 +1,36 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ yynmatch = 2;
+ yypmatch[2] = yyt1;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy5:
+ ++YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/forcedassoc/26.i--flex-syntax.re b/test/posix_captures/forcedassoc/26.i--flex-syntax.re
new file mode 100644
index 00000000..6966d373
--- /dev/null
+++ b/test/posix_captures/forcedassoc/26.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (ab|a)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/forcedassoc/27.i--flex-syntax.c b/test/posix_captures/forcedassoc/27.i--flex-syntax.c
new file mode 100644
index 00000000..9692ed33
--- /dev/null
+++ b/test/posix_captures/forcedassoc/27.i--flex-syntax.c
@@ -0,0 +1,50 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy4:
+ yynmatch = 3;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy5:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ goto yy7;
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy7:
+ switch (yych) {
+ case 'b': goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/forcedassoc/27.i--flex-syntax.re b/test/posix_captures/forcedassoc/27.i--flex-syntax.re
new file mode 100644
index 00000000..8c45ecff
--- /dev/null
+++ b/test/posix_captures/forcedassoc/27.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a|ab)(b*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/forcedassoc/28.i--flex-syntax.c b/test/posix_captures/forcedassoc/28.i--flex-syntax.c
new file mode 100644
index 00000000..9692ed33
--- /dev/null
+++ b/test/posix_captures/forcedassoc/28.i--flex-syntax.c
@@ -0,0 +1,50 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy4:
+ yynmatch = 3;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy5:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ goto yy7;
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy7:
+ switch (yych) {
+ case 'b': goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/forcedassoc/28.i--flex-syntax.re b/test/posix_captures/forcedassoc/28.i--flex-syntax.re
new file mode 100644
index 00000000..482cb5fa
--- /dev/null
+++ b/test/posix_captures/forcedassoc/28.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (ab|a)(b*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/glennfowler/01.i--flex-syntax.c b/test/posix_captures/glennfowler/01.i--flex-syntax.c
new file mode 100644
index 00000000..d50f0e81
--- /dev/null
+++ b/test/posix_captures/glennfowler/01.i--flex-syntax.c
@@ -0,0 +1,58 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt3 = yyt4 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt2 = yyt4 = NULL;
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 4;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy3:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy4;
+ case 'b': goto yy6;
+ default:
+ yyt2 = yyt4 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy4:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ yyt2 = yyt4 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy2;
+yy6:
+ ++YYCURSOR;
+ yyt2 = YYCURSOR;
+ goto yy2;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/glennfowler/01.i--flex-syntax.re b/test/posix_captures/glennfowler/01.i--flex-syntax.re
new file mode 100644
index 00000000..d21a2f31
--- /dev/null
+++ b/test/posix_captures/glennfowler/01.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a?)((ab)?)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/glennfowler/02.i--flex-syntax.c b/test/posix_captures/glennfowler/02.i--flex-syntax.c
new file mode 100644
index 00000000..58690c89
--- /dev/null
+++ b/test/posix_captures/glennfowler/02.i--flex-syntax.c
@@ -0,0 +1,85 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = yyt5 = NULL;
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt3 = yyt5 = NULL;
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 5;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[6] = yyt5;
+ yypmatch[7] = yyt3;
+ yypmatch[8] = yyt4;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = yyt4;
+ yypmatch[9] = YYCURSOR;
+ {}
+yy3:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = yyt5 = YYCURSOR;
+ goto yy5;
+ case 'b':
+ yyt3 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt3 = yyt5 = NULL;
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy4:
+ ++YYCURSOR;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy8;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = YYMARKER;
+ yyt3 = yyt5 = NULL;
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt2 = yyt4;
+ yyt5 = yyt3;
+ goto yy2;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ yyt2 = yyt4;
+ yyt3 = yyt4 = YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy4;
+ default: goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/glennfowler/02.i--flex-syntax.re b/test/posix_captures/glennfowler/02.i--flex-syntax.re
new file mode 100644
index 00000000..f2e3ee11
--- /dev/null
+++ b/test/posix_captures/glennfowler/02.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a?)((ab)?)(b?)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/glennfowler/03.i--flex-syntax.c b/test/posix_captures/glennfowler/03.i--flex-syntax.c
new file mode 100644
index 00000000..55d0977f
--- /dev/null
+++ b/test/posix_captures/glennfowler/03.i--flex-syntax.c
@@ -0,0 +1,72 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt4 = yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = yyt5 = NULL;
+ yyt1 = yyt3 = yyt4 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt2 = yyt5 = NULL;
+ yyt1 = yyt3 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 6;
+ yypmatch[4] = yyt1;
+ yypmatch[6] = yyt4;
+ yypmatch[8] = yyt5;
+ yypmatch[9] = yyt2;
+ yypmatch[10] = yyt3;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[7] = yyt3;
+ yypmatch[11] = YYCURSOR;
+ {}
+yy3:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = yyt5 = YYCURSOR;
+ goto yy5;
+ case 'b': goto yy7;
+ default:
+ yyt2 = yyt5 = NULL;
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy4:
+ ++YYCURSOR;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy7;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = YYMARKER;
+ yyt2 = yyt5 = NULL;
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy2;
+yy7:
+ yych = *++YYCURSOR;
+ yyt2 = yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy4;
+ default: goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/glennfowler/03.i--flex-syntax.re b/test/posix_captures/glennfowler/03.i--flex-syntax.re
new file mode 100644
index 00000000..3f170e51
--- /dev/null
+++ b/test/posix_captures/glennfowler/03.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ ((a?)((ab)?))(b?)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/glennfowler/04.i--flex-syntax.c b/test/posix_captures/glennfowler/04.i--flex-syntax.c
new file mode 100644
index 00000000..d0ae1591
--- /dev/null
+++ b/test/posix_captures/glennfowler/04.i--flex-syntax.c
@@ -0,0 +1,87 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = yyt5 = NULL;
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt3 = yyt5 = NULL;
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 6;
+ yypmatch[2] = yyt1;
+ yypmatch[6] = yyt2;
+ yypmatch[8] = yyt5;
+ yypmatch[9] = yyt3;
+ yypmatch[10] = yyt4;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ yypmatch[7] = yyt4;
+ yypmatch[11] = YYCURSOR;
+ {}
+yy3:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = yyt5 = YYCURSOR;
+ goto yy5;
+ case 'b':
+ yyt3 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt3 = yyt5 = NULL;
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy4:
+ ++YYCURSOR;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy8;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = YYMARKER;
+ yyt3 = yyt5 = NULL;
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt2 = yyt4;
+ yyt5 = yyt3;
+ goto yy2;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ yyt2 = yyt4;
+ yyt3 = yyt4 = YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy4;
+ default: goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/glennfowler/04.i--flex-syntax.re b/test/posix_captures/glennfowler/04.i--flex-syntax.re
new file mode 100644
index 00000000..99b00da7
--- /dev/null
+++ b/test/posix_captures/glennfowler/04.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a?)(((ab)?)(b?))
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/glennfowler/05.i--flex-syntax.c b/test/posix_captures/glennfowler/05.i--flex-syntax.c
new file mode 100644
index 00000000..2c93ea98
--- /dev/null
+++ b/test/posix_captures/glennfowler/05.i--flex-syntax.c
@@ -0,0 +1,23 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ yyt1 = YYCURSOR;
+ if (yych >= 0x01) goto yy3;
+yy2:
+ yynmatch = 2;
+ yypmatch[2] = yyt1;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ goto yy2;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/glennfowler/05.i--flex-syntax.re b/test/posix_captures/glennfowler/05.i--flex-syntax.re
new file mode 100644
index 00000000..59398366
--- /dev/null
+++ b/test/posix_captures/glennfowler/05.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/glennfowler/06.i--flex-syntax.c b/test/posix_captures/glennfowler/06.i--flex-syntax.c
new file mode 100644
index 00000000..2c93ea98
--- /dev/null
+++ b/test/posix_captures/glennfowler/06.i--flex-syntax.c
@@ -0,0 +1,23 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ yyt1 = YYCURSOR;
+ if (yych >= 0x01) goto yy3;
+yy2:
+ yynmatch = 2;
+ yypmatch[2] = yyt1;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ goto yy2;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/glennfowler/06.i--flex-syntax.re b/test/posix_captures/glennfowler/06.i--flex-syntax.re
new file mode 100644
index 00000000..2b30ffbf
--- /dev/null
+++ b/test/posix_captures/glennfowler/06.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/glennfowler/07.i--flex-syntax.c b/test/posix_captures/glennfowler/07.i--flex-syntax.c
new file mode 100644
index 00000000..aed763b4
--- /dev/null
+++ b/test/posix_captures/glennfowler/07.i--flex-syntax.c
@@ -0,0 +1,31 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+ yyt1 = yyt2 = YYCURSOR;
+yy2:
+ yynmatch = 3;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ if (yych <= 0x00) goto yy2;
+ ++YYCURSOR;
+ goto yy2;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/glennfowler/07.i--flex-syntax.re b/test/posix_captures/glennfowler/07.i--flex-syntax.re
new file mode 100644
index 00000000..09f21c3c
--- /dev/null
+++ b/test/posix_captures/glennfowler/07.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/glennfowler/08.i--flex-syntax.c b/test/posix_captures/glennfowler/08.i--flex-syntax.c
new file mode 100644
index 00000000..c22b766e
--- /dev/null
+++ b/test/posix_captures/glennfowler/08.i--flex-syntax.c
@@ -0,0 +1,29 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+ yyt1 = yyt2 = YYCURSOR;
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ if (yych <= 0x00) goto yy2;
+ ++YYCURSOR;
+ goto yy2;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/glennfowler/08.i--flex-syntax.re b/test/posix_captures/glennfowler/08.i--flex-syntax.re
new file mode 100644
index 00000000..4ee27ff4
--- /dev/null
+++ b/test/posix_captures/glennfowler/08.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/glennfowler/09.i--flex-syntax.c b/test/posix_captures/glennfowler/09.i--flex-syntax.c
new file mode 100644
index 00000000..73ef63bb
--- /dev/null
+++ b/test/posix_captures/glennfowler/09.i--flex-syntax.c
@@ -0,0 +1,33 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ }
+ yyt1 = yyt2 = yyt3 = YYCURSOR;
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+ yyt2 = YYCURSOR;
+ goto yy3;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/glennfowler/09.i--flex-syntax.re b/test/posix_captures/glennfowler/09.i--flex-syntax.re
new file mode 100644
index 00000000..13238e25
--- /dev/null
+++ b/test/posix_captures/glennfowler/09.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/glennfowler/10.i--flex-syntax.c b/test/posix_captures/glennfowler/10.i--flex-syntax.c
new file mode 100644
index 00000000..251bddcb
--- /dev/null
+++ b/test/posix_captures/glennfowler/10.i--flex-syntax.c
@@ -0,0 +1,25 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ yyt1 = YYCURSOR;
+ if (yych >= 0x01) goto yy3;
+yy2:
+ yynmatch = 2;
+ yypmatch[2] = yyt1;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy2;
+ ++YYCURSOR;
+ goto yy2;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/glennfowler/10.i--flex-syntax.re b/test/posix_captures/glennfowler/10.i--flex-syntax.re
new file mode 100644
index 00000000..4e1349cc
--- /dev/null
+++ b/test/posix_captures/glennfowler/10.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/glennfowler/11.i--flex-syntax.c b/test/posix_captures/glennfowler/11.i--flex-syntax.c
new file mode 100644
index 00000000..251bddcb
--- /dev/null
+++ b/test/posix_captures/glennfowler/11.i--flex-syntax.c
@@ -0,0 +1,25 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ yyt1 = YYCURSOR;
+ if (yych >= 0x01) goto yy3;
+yy2:
+ yynmatch = 2;
+ yypmatch[2] = yyt1;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy2;
+ ++YYCURSOR;
+ goto yy2;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/glennfowler/11.i--flex-syntax.re b/test/posix_captures/glennfowler/11.i--flex-syntax.re
new file mode 100644
index 00000000..1587b658
--- /dev/null
+++ b/test/posix_captures/glennfowler/11.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/glennfowler/12.i--flex-syntax.c b/test/posix_captures/glennfowler/12.i--flex-syntax.c
new file mode 100644
index 00000000..cd99362f
--- /dev/null
+++ b/test/posix_captures/glennfowler/12.i--flex-syntax.c
@@ -0,0 +1,38 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+ yyt1 = yyt2 = YYCURSOR;
+yy2:
+ yynmatch = 3;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ if (yych <= 0x00) goto yy2;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy2;
+ ++YYCURSOR;
+ goto yy2;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/glennfowler/12.i--flex-syntax.re b/test/posix_captures/glennfowler/12.i--flex-syntax.re
new file mode 100644
index 00000000..9fea7b44
--- /dev/null
+++ b/test/posix_captures/glennfowler/12.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/glennfowler/13.i--flex-syntax.c b/test/posix_captures/glennfowler/13.i--flex-syntax.c
new file mode 100644
index 00000000..27620d8a
--- /dev/null
+++ b/test/posix_captures/glennfowler/13.i--flex-syntax.c
@@ -0,0 +1,36 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+ yyt1 = yyt2 = YYCURSOR;
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ if (yych <= 0x00) goto yy2;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy2;
+ ++YYCURSOR;
+ goto yy2;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/glennfowler/13.i--flex-syntax.re b/test/posix_captures/glennfowler/13.i--flex-syntax.re
new file mode 100644
index 00000000..9be9df5d
--- /dev/null
+++ b/test/posix_captures/glennfowler/13.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/glennfowler/14.i--flex-syntax.c b/test/posix_captures/glennfowler/14.i--flex-syntax.c
new file mode 100644
index 00000000..746a922a
--- /dev/null
+++ b/test/posix_captures/glennfowler/14.i--flex-syntax.c
@@ -0,0 +1,51 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+ yyt1 = yyt2 = yyt3 = YYCURSOR;
+yy2:
+ yynmatch = 4;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[6] = yyt3;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[7] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+ yyt2 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ if (yych <= 0x00) goto yy2;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy2;
+ ++YYCURSOR;
+ goto yy2;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/glennfowler/14.i--flex-syntax.re b/test/posix_captures/glennfowler/14.i--flex-syntax.re
new file mode 100644
index 00000000..9010cf5b
--- /dev/null
+++ b/test/posix_captures/glennfowler/14.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/glennfowler/15.i--flex-syntax.c b/test/posix_captures/glennfowler/15.i--flex-syntax.c
new file mode 100644
index 00000000..a2b6486b
--- /dev/null
+++ b/test/posix_captures/glennfowler/15.i--flex-syntax.c
@@ -0,0 +1,46 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+ yyt1 = yyt2 = YYCURSOR;
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ if (yych <= 0x00) goto yy2;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy2;
+ ++YYCURSOR;
+ goto yy2;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/glennfowler/15.i--flex-syntax.re b/test/posix_captures/glennfowler/15.i--flex-syntax.re
new file mode 100644
index 00000000..0672168e
--- /dev/null
+++ b/test/posix_captures/glennfowler/15.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/glennfowler/16.i--flex-syntax.c b/test/posix_captures/glennfowler/16.i--flex-syntax.c
new file mode 100644
index 00000000..bdebb9b9
--- /dev/null
+++ b/test/posix_captures/glennfowler/16.i--flex-syntax.c
@@ -0,0 +1,40 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ }
+ yyt1 = yyt2 = yyt3 = YYCURSOR;
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+ yyt2 = YYCURSOR;
+ goto yy3;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/glennfowler/16.i--flex-syntax.re b/test/posix_captures/glennfowler/16.i--flex-syntax.re
new file mode 100644
index 00000000..749746a9
--- /dev/null
+++ b/test/posix_captures/glennfowler/16.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/glennfowler/17.i--flex-syntax.c b/test/posix_captures/glennfowler/17.i--flex-syntax.c
new file mode 100644
index 00000000..c6ddaf70
--- /dev/null
+++ b/test/posix_captures/glennfowler/17.i--flex-syntax.c
@@ -0,0 +1,83 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = yyt5 = NULL;
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt3 = yyt5 = NULL;
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 4;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt5;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt4;
+ yypmatch[7] = YYCURSOR;
+ {}
+yy3:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = yyt5 = YYCURSOR;
+ goto yy5;
+ case 'b':
+ yyt3 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt3 = yyt5 = NULL;
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy4:
+ ++YYCURSOR;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy8;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = YYMARKER;
+ yyt3 = yyt5 = NULL;
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt2 = yyt4;
+ yyt5 = yyt3;
+ goto yy2;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ yyt2 = yyt4;
+ yyt3 = yyt4 = YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy4;
+ default: goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/glennfowler/17.i--flex-syntax.re b/test/posix_captures/glennfowler/17.i--flex-syntax.re
new file mode 100644
index 00000000..aaedede7
--- /dev/null
+++ b/test/posix_captures/glennfowler/17.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ a?((ab)?)(b?)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/glennfowler/18.i--flex-syntax.c b/test/posix_captures/glennfowler/18.i--flex-syntax.c
new file mode 100644
index 00000000..1e884151
--- /dev/null
+++ b/test/posix_captures/glennfowler/18.i--flex-syntax.c
@@ -0,0 +1,83 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt4 = yyt5 = NULL;
+ yyt1 = yyt2 = yyt3 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt4 = yyt5 = NULL;
+ yyt1 = yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 4;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt5;
+ yypmatch[7] = yyt4;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ {}
+yy3:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = yyt5 = YYCURSOR;
+ goto yy5;
+ case 'b':
+ yyt4 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt5 = NULL;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy4:
+ ++YYCURSOR;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy8;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = YYMARKER;
+ yyt4 = yyt5 = NULL;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt2 = yyt3;
+ yyt5 = yyt4;
+ goto yy2;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ yyt2 = yyt3;
+ yyt3 = yyt4 = YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy4;
+ default: goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/glennfowler/18.i--flex-syntax.re b/test/posix_captures/glennfowler/18.i--flex-syntax.re
new file mode 100644
index 00000000..14c1e409
--- /dev/null
+++ b/test/posix_captures/glennfowler/18.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a?)((ab)?)b?
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/glennfowler/19.i--flex-syntax.c b/test/posix_captures/glennfowler/19.i--flex-syntax.c
new file mode 100644
index 00000000..8d9b3a50
--- /dev/null
+++ b/test/posix_captures/glennfowler/19.i--flex-syntax.c
@@ -0,0 +1,81 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt4 = yyt5 = NULL;
+ yyt1 = yyt2 = yyt3 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt4 = yyt5 = NULL;
+ yyt1 = yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[4] = yyt5;
+ yypmatch[5] = yyt4;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = yyt5 = YYCURSOR;
+ goto yy5;
+ case 'b':
+ yyt4 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt5 = NULL;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy4:
+ ++YYCURSOR;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy8;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = YYMARKER;
+ yyt4 = yyt5 = NULL;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt2 = yyt3;
+ yyt5 = yyt4;
+ goto yy2;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ yyt2 = yyt3;
+ yyt3 = yyt4 = YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy4;
+ default: goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/glennfowler/19.i--flex-syntax.re b/test/posix_captures/glennfowler/19.i--flex-syntax.re
new file mode 100644
index 00000000..7069f70b
--- /dev/null
+++ b/test/posix_captures/glennfowler/19.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ a?((ab)?)b?
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/glennfowler/20.i--flex-syntax.c b/test/posix_captures/glennfowler/20.i--flex-syntax.c
new file mode 100644
index 00000000..7727f372
--- /dev/null
+++ b/test/posix_captures/glennfowler/20.i--flex-syntax.c
@@ -0,0 +1,36 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/glennfowler/20.i--flex-syntax.re b/test/posix_captures/glennfowler/20.i--flex-syntax.re
new file mode 100644
index 00000000..df5fdecb
--- /dev/null
+++ b/test/posix_captures/glennfowler/20.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a*){2}
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/glennfowler/21.i--flex-syntax.c b/test/posix_captures/glennfowler/21.i--flex-syntax.c
new file mode 100644
index 00000000..10190d56
--- /dev/null
+++ b/test/posix_captures/glennfowler/21.i--flex-syntax.c
@@ -0,0 +1,69 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt2 = yyt3;
+ switch (yych) {
+ case 'b': goto yy7;
+ default: goto yy4;
+ }
+yy4:
+ yynmatch = 3;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy8;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy2;
+ } else {
+ goto yy4;
+ }
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy8;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy5;
+ default: goto yy6;
+ }
+yy8:
+ ++YYCURSOR;
+ yyt2 = yyt3;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/glennfowler/21.i--flex-syntax.re b/test/posix_captures/glennfowler/21.i--flex-syntax.re
new file mode 100644
index 00000000..2098b92f
--- /dev/null
+++ b/test/posix_captures/glennfowler/21.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (ab?)(b?a)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/glennfowler/22.i--flex-syntax.c b/test/posix_captures/glennfowler/22.i--flex-syntax.c
new file mode 100644
index 00000000..553e96c3
--- /dev/null
+++ b/test/posix_captures/glennfowler/22.i--flex-syntax.c
@@ -0,0 +1,59 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ case 'b': goto yy7;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ ++YYCURSOR;
+ yynmatch = 3;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy8;
+ default: goto yy4;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy5;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/glennfowler/22.i--flex-syntax.re b/test/posix_captures/glennfowler/22.i--flex-syntax.re
new file mode 100644
index 00000000..7aa8d2ec
--- /dev/null
+++ b/test/posix_captures/glennfowler/22.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a|ab)(ba|a)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/glennfowler/23.i--flex-syntax.c b/test/posix_captures/glennfowler/23.i--flex-syntax.c
new file mode 100644
index 00000000..a3fb5641
--- /dev/null
+++ b/test/posix_captures/glennfowler/23.i--flex-syntax.c
@@ -0,0 +1,48 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy7;
+ default: goto yy4;
+ }
+yy4:
+ yynmatch = 2;
+ yypmatch[2] = yyt1;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy7:
+ ++YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/glennfowler/23.i--flex-syntax.re b/test/posix_captures/glennfowler/23.i--flex-syntax.re
new file mode 100644
index 00000000..cab5aee0
--- /dev/null
+++ b/test/posix_captures/glennfowler/23.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a|ab|ba)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/glennfowler/24.i--flex-syntax.c b/test/posix_captures/glennfowler/24.i--flex-syntax.c
new file mode 100644
index 00000000..1801b09c
--- /dev/null
+++ b/test/posix_captures/glennfowler/24.i--flex-syntax.c
@@ -0,0 +1,76 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ case 'b': goto yy8;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy8;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy9;
+ default: goto yy7;
+ }
+yy7:
+ yynmatch = 3;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy10;
+ default: goto yy4;
+ }
+yy9:
+ ++YYCURSOR;
+ goto yy7;
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy9;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/glennfowler/24.i--flex-syntax.re b/test/posix_captures/glennfowler/24.i--flex-syntax.re
new file mode 100644
index 00000000..edbc00e9
--- /dev/null
+++ b/test/posix_captures/glennfowler/24.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a|ab|ba)(a|ab|ba)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/glennfowler/25.i--flex-syntax.c b/test/posix_captures/glennfowler/25.i--flex-syntax.c
new file mode 100644
index 00000000..dff2c39e
--- /dev/null
+++ b/test/posix_captures/glennfowler/25.i--flex-syntax.c
@@ -0,0 +1,81 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy3;
+ case 'b': goto yy7;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ } else {
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy7:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/glennfowler/25.i--flex-syntax.re b/test/posix_captures/glennfowler/25.i--flex-syntax.re
new file mode 100644
index 00000000..dc778a6b
--- /dev/null
+++ b/test/posix_captures/glennfowler/25.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a|ab|ba)*
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/glennfowler/26.i--flex-syntax.c b/test/posix_captures/glennfowler/26.i--flex-syntax.c
new file mode 100644
index 00000000..15cc29a7
--- /dev/null
+++ b/test/posix_captures/glennfowler/26.i--flex-syntax.c
@@ -0,0 +1,57 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy9;
+ default: goto yy8;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ ++YYCURSOR;
+yy6:
+ yynmatch = 2;
+ yypmatch[2] = yyt1;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy7:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy8:
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy5;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy5;
+ default: goto yy6;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/glennfowler/26.i--flex-syntax.re b/test/posix_captures/glennfowler/26.i--flex-syntax.re
new file mode 100644
index 00000000..283e2d37
--- /dev/null
+++ b/test/posix_captures/glennfowler/26.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (aba|a*b)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/glennfowler/27.i--flex-syntax.c b/test/posix_captures/glennfowler/27.i--flex-syntax.c
new file mode 100644
index 00000000..3be56959
--- /dev/null
+++ b/test/posix_captures/glennfowler/27.i--flex-syntax.c
@@ -0,0 +1,116 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy8;
+ default: goto yy7;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy10;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *YYCURSOR;
+yy7:
+ switch (yych) {
+ case 'a': goto yy6;
+ case 'b': goto yy5;
+ default: goto yy4;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy10;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy15;
+ default: goto yy14;
+ }
+yy10:
+ ++YYCURSOR;
+yy11:
+ yynmatch = 3;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default: goto yy4;
+ }
+yy13:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy14:
+ switch (yych) {
+ case 'a': goto yy13;
+ case 'b': goto yy10;
+ default: goto yy4;
+ }
+yy15:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy10;
+ default: goto yy11;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy10;
+ default:
+ yyt2 = yyt3;
+ goto yy11;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/glennfowler/27.i--flex-syntax.re b/test/posix_captures/glennfowler/27.i--flex-syntax.re
new file mode 100644
index 00000000..42eac1a5
--- /dev/null
+++ b/test/posix_captures/glennfowler/27.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (aba|a*b)(aba|a*b)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/glennfowler/28.i--flex-syntax.c b/test/posix_captures/glennfowler/28.i--flex-syntax.c
new file mode 100644
index 00000000..7186c58a
--- /dev/null
+++ b/test/posix_captures/glennfowler/28.i--flex-syntax.c
@@ -0,0 +1,202 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy8;
+ default: goto yy7;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy10;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
+ yych = *YYCURSOR;
+yy7:
+ switch (yych) {
+ case 'a': goto yy6;
+ case 'b': goto yy5;
+ default: goto yy4;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy11;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy10;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy14;
+ default: goto yy13;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy15;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy16;
+ default: goto yy4;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy18;
+ default: goto yy4;
+ }
+yy12:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *YYCURSOR;
+yy13:
+ switch (yych) {
+ case 'a': goto yy12;
+ case 'b': goto yy10;
+ default: goto yy4;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy19;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy16;
+ default: goto yy4;
+ }
+yy15:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy22;
+ default: goto yy21;
+ }
+yy16:
+ ++YYCURSOR;
+yy17:
+ yynmatch = 4;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[6] = yyt4;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = yyt4;
+ yypmatch[7] = YYCURSOR;
+ {}
+yy18:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy23;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy16;
+ default: goto yy4;
+ }
+yy19:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy15;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy24;
+ default: goto yy4;
+ }
+yy20:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy21:
+ switch (yych) {
+ case 'a': goto yy20;
+ case 'b': goto yy16;
+ default: goto yy4;
+ }
+yy22:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy16;
+ default: goto yy17;
+ }
+yy23:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy25;
+ case 'b': goto yy22;
+ default: goto yy4;
+ }
+yy24:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy16;
+ default:
+ yyt4 = yyt3;
+ goto yy17;
+ }
+yy25:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy26;
+ default: goto yy21;
+ }
+yy26:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = yyt3;
+ yyt4 = yyt5;
+ goto yy16;
+ default: goto yy17;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/glennfowler/28.i--flex-syntax.re b/test/posix_captures/glennfowler/28.i--flex-syntax.re
new file mode 100644
index 00000000..2a449fd7
--- /dev/null
+++ b/test/posix_captures/glennfowler/28.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (aba|a*b)(aba|a*b)(aba|a*b)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/glennfowler/29.i--flex-syntax.c b/test/posix_captures/glennfowler/29.i--flex-syntax.c
new file mode 100644
index 00000000..a5a2027b
--- /dev/null
+++ b/test/posix_captures/glennfowler/29.i--flex-syntax.c
@@ -0,0 +1,152 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy9;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ } else {
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy5:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy7:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy5;
+ default: goto yy4;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy10;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy10:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy12:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy13;
+ case 'b': goto yy9;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy13:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b':
+ yyt2 = yyt4;
+ goto yy11;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/glennfowler/29.i--flex-syntax.re b/test/posix_captures/glennfowler/29.i--flex-syntax.re
new file mode 100644
index 00000000..df622f14
--- /dev/null
+++ b/test/posix_captures/glennfowler/29.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (aba|a*b)*
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/glennfowler/30.i--flex-syntax.c b/test/posix_captures/glennfowler/30.i--flex-syntax.c
new file mode 100644
index 00000000..1c27d16c
--- /dev/null
+++ b/test/posix_captures/glennfowler/30.i--flex-syntax.c
@@ -0,0 +1,42 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ yynmatch = 2;
+ yypmatch[2] = yyt1;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/glennfowler/30.i--flex-syntax.re b/test/posix_captures/glennfowler/30.i--flex-syntax.re
new file mode 100644
index 00000000..74ba8735
--- /dev/null
+++ b/test/posix_captures/glennfowler/30.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (aba|ab|a)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/glennfowler/31.i--flex-syntax.c b/test/posix_captures/glennfowler/31.i--flex-syntax.c
new file mode 100644
index 00000000..ae4b9902
--- /dev/null
+++ b/test/posix_captures/glennfowler/31.i--flex-syntax.c
@@ -0,0 +1,73 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ case 'b': goto yy7;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy8;
+ default: goto yy6;
+ }
+yy6:
+ yynmatch = 3;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy4;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy10;
+ default: goto yy6;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ case 'b': goto yy8;
+ default: goto yy6;
+ }
+yy10:
+ ++YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/glennfowler/31.i--flex-syntax.re b/test/posix_captures/glennfowler/31.i--flex-syntax.re
new file mode 100644
index 00000000..aeee00e4
--- /dev/null
+++ b/test/posix_captures/glennfowler/31.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (aba|ab|a)(aba|ab|a)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/glennfowler/32.i--flex-syntax.c b/test/posix_captures/glennfowler/32.i--flex-syntax.c
new file mode 100644
index 00000000..75b40759
--- /dev/null
+++ b/test/posix_captures/glennfowler/32.i--flex-syntax.c
@@ -0,0 +1,120 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ case 'b': goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy7;
+ case 'b': goto yy9;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy10;
+ default: goto yy4;
+ }
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy11;
+ default: goto yy8;
+ }
+yy8:
+ yynmatch = 4;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[6] = yyt3;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[7] = YYCURSOR;
+ {}
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy12;
+ default: goto yy4;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy13;
+ case 'b': goto yy9;
+ default: goto yy4;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy14;
+ default: goto yy8;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy7;
+ case 'b': goto yy11;
+ default: goto yy8;
+ }
+yy13:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy7;
+ case 'b': goto yy15;
+ default: goto yy8;
+ }
+yy14:
+ ++YYCURSOR;
+ goto yy8;
+yy15:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy12;
+ default: goto yy8;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/glennfowler/32.i--flex-syntax.re b/test/posix_captures/glennfowler/32.i--flex-syntax.re
new file mode 100644
index 00000000..ebb323bc
--- /dev/null
+++ b/test/posix_captures/glennfowler/32.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (aba|ab|a)(aba|ab|a)(aba|ab|a)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/glennfowler/33.i--flex-syntax.c b/test/posix_captures/glennfowler/33.i--flex-syntax.c
new file mode 100644
index 00000000..60beab2d
--- /dev/null
+++ b/test/posix_captures/glennfowler/33.i--flex-syntax.c
@@ -0,0 +1,64 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b': goto yy5;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy6;
+ default: goto yy2;
+ }
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = yyt3;
+ goto yy5;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/glennfowler/33.i--flex-syntax.re b/test/posix_captures/glennfowler/33.i--flex-syntax.re
new file mode 100644
index 00000000..da702bf5
--- /dev/null
+++ b/test/posix_captures/glennfowler/33.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (aba|ab|a)*
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/glennfowler/34.i--flex-syntax.c b/test/posix_captures/glennfowler/34.i--flex-syntax.c
new file mode 100644
index 00000000..9fa11b3c
--- /dev/null
+++ b/test/posix_captures/glennfowler/34.i--flex-syntax.c
@@ -0,0 +1,43 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt2 = yyt3 = NULL;
+ goto yy4;
+ }
+yy4:
+ yynmatch = 3;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy5:
+ ++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/glennfowler/34.i--flex-syntax.re b/test/posix_captures/glennfowler/34.i--flex-syntax.re
new file mode 100644
index 00000000..a61a75fb
--- /dev/null
+++ b/test/posix_captures/glennfowler/34.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a(b)?)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/glennfowler/35.i--flex-syntax.c b/test/posix_captures/glennfowler/35.i--flex-syntax.c
new file mode 100644
index 00000000..d1a2d7de
--- /dev/null
+++ b/test/posix_captures/glennfowler/35.i--flex-syntax.c
@@ -0,0 +1,70 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = yyt6 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy5;
+ case 'b':
+ yyt6 = YYCURSOR;
+ goto yy7;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy8;
+ default:
+ yyt4 = yyt5 = NULL;
+ goto yy6;
+ }
+yy6:
+ yynmatch = 5;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt6;
+ yypmatch[5] = yyt2;
+ yypmatch[6] = yyt3;
+ yypmatch[8] = yyt4;
+ yypmatch[9] = yyt5;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt3;
+ yypmatch[7] = YYCURSOR;
+ {}
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy5;
+ default: goto yy4;
+ }
+yy8:
+ ++YYCURSOR;
+ yyt5 = YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/glennfowler/35.i--flex-syntax.re b/test/posix_captures/glennfowler/35.i--flex-syntax.re
new file mode 100644
index 00000000..61d8eff8
--- /dev/null
+++ b/test/posix_captures/glennfowler/35.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a(b)?)(a(b)?)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/glennfowler/36.i--flex-syntax.c b/test/posix_captures/glennfowler/36.i--flex-syntax.c
new file mode 100644
index 00000000..a911bfc4
--- /dev/null
+++ b/test/posix_captures/glennfowler/36.i--flex-syntax.c
@@ -0,0 +1,56 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy6;
+ default:
+ yyt3 = yyt4 = NULL;
+ goto yy5;
+ }
+yy5:
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy5;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/glennfowler/36.i--flex-syntax.re b/test/posix_captures/glennfowler/36.i--flex-syntax.re
new file mode 100644
index 00000000..742f1fea
--- /dev/null
+++ b/test/posix_captures/glennfowler/36.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a(b)?)+
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/glennfowler/37.i--flex-syntax.c b/test/posix_captures/glennfowler/37.i--flex-syntax.c
new file mode 100644
index 00000000..e0361455
--- /dev/null
+++ b/test/posix_captures/glennfowler/37.i--flex-syntax.c
@@ -0,0 +1,34 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+ yyt1 = yyt2 = YYCURSOR;
+yy2:
+ yynmatch = 3;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+ goto yy3;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/glennfowler/37.i--flex-syntax.re b/test/posix_captures/glennfowler/37.i--flex-syntax.re
new file mode 100644
index 00000000..92ff88de
--- /dev/null
+++ b/test/posix_captures/glennfowler/37.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/glennfowler/38.i--flex-syntax.c b/test/posix_captures/glennfowler/38.i--flex-syntax.c
new file mode 100644
index 00000000..872741c9
--- /dev/null
+++ b/test/posix_captures/glennfowler/38.i--flex-syntax.c
@@ -0,0 +1,32 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+ yyt1 = yyt2 = YYCURSOR;
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+ goto yy3;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/glennfowler/38.i--flex-syntax.re b/test/posix_captures/glennfowler/38.i--flex-syntax.re
new file mode 100644
index 00000000..3476ce61
--- /dev/null
+++ b/test/posix_captures/glennfowler/38.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/glennfowler/39.i--flex-syntax.c b/test/posix_captures/glennfowler/39.i--flex-syntax.c
new file mode 100644
index 00000000..3d93d31b
--- /dev/null
+++ b/test/posix_captures/glennfowler/39.i--flex-syntax.c
@@ -0,0 +1,76 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy5;
+ case 'z': goto yy8;
+ default: goto yy3;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy2;
+ } else {
+ goto yy10;
+ }
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy5;
+ case 'y': goto yy11;
+ default: goto yy6;
+ }
+yy8:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy10;
+ case 'z': goto yy8;
+ default: goto yy3;
+ }
+yy10:
+ yynmatch = 2;
+ yypmatch[2] = yyt1;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy11:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy10;
+ case 'y': goto yy11;
+ default: goto yy6;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/glennfowler/39.i--flex-syntax.re b/test/posix_captures/glennfowler/39.i--flex-syntax.re
new file mode 100644
index 00000000..e5f1aab1
--- /dev/null
+++ b/test/posix_captures/glennfowler/39.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/glennfowler/40.i--flex-syntax.c b/test/posix_captures/glennfowler/40.i--flex-syntax.c
new file mode 100644
index 00000000..24d961bd
--- /dev/null
+++ b/test/posix_captures/glennfowler/40.i--flex-syntax.c
@@ -0,0 +1,429 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy5;
+ case 'z': goto yy8;
+ default: goto yy3;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1: goto yy22;
+ case 2:
+ yyt2 = yyt4;
+ goto yy22;
+ default:
+ yyt2 = yyt3;
+ goto yy22;
+ }
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy5;
+ case 'y': goto yy10;
+ default: goto yy6;
+ }
+yy8:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy5;
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy14;
+ case 'z': goto yy8;
+ default: goto yy3;
+ }
+yy10:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy5;
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy16;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy18;
+ case 'y': goto yy10;
+ default: goto yy6;
+ }
+yy12:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy5;
+ case 'z': goto yy20;
+ default: goto yy12;
+ }
+yy14:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy5;
+ case 'y': goto yy23;
+ case 'z': goto yy25;
+ default: goto yy14;
+ }
+yy16:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy5;
+ case 'y': goto yy27;
+ case 'z': goto yy29;
+ default: goto yy16;
+ }
+yy18:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy5;
+ case 'y': goto yy31;
+ default: goto yy18;
+ }
+yy20:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy22;
+ case 'a':
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt2 = yyt3;
+ yyt4 = YYCURSOR;
+ goto yy33;
+ case 'z': goto yy20;
+ default:
+ yyt2 = yyt3;
+ goto yy12;
+ }
+yy22:
+ yynmatch = 3;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy23:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy22;
+ case 'y': goto yy23;
+ case 'z':
+ yyt2 = yyt3;
+ goto yy25;
+ default:
+ yyt2 = yyt3;
+ goto yy14;
+ }
+yy25:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy5;
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy35;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy14;
+ case 'y': goto yy23;
+ case 'z': goto yy25;
+ default: goto yy14;
+ }
+yy27:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy5;
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy16;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy37;
+ case 'y': goto yy27;
+ case 'z': goto yy29;
+ default: goto yy16;
+ }
+yy29:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy22;
+ case 'y':
+ yyt2 = yyt3;
+ goto yy27;
+ case 'z': goto yy29;
+ default:
+ yyt2 = yyt3;
+ goto yy16;
+ }
+yy31:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy22;
+ case 'a':
+ yyt2 = yyt3;
+ yyt4 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy18;
+ case 'y': goto yy31;
+ default:
+ yyt2 = yyt3;
+ goto yy18;
+ }
+yy33:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy5;
+ case 'y': goto yy41;
+ case 'z': goto yy43;
+ default: goto yy33;
+ }
+yy35:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy5;
+ case 'y': goto yy45;
+ case 'z': goto yy47;
+ default: goto yy35;
+ }
+yy37:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy5;
+ case 'y': goto yy49;
+ case 'z': goto yy51;
+ default: goto yy37;
+ }
+yy39:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy5;
+ case 'y': goto yy53;
+ case 'z': goto yy55;
+ default: goto yy39;
+ }
+yy41:
+ yyaccept = 2;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt4;
+ goto yy22;
+ case 'y': goto yy41;
+ case 'z': goto yy43;
+ default: goto yy33;
+ }
+yy43:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy22;
+ case 'a':
+ yyt2 = yyt3;
+ yyt3 = yyt4;
+ yyt4 = YYCURSOR;
+ goto yy35;
+ case 'b':
+ yyt2 = yyt3;
+ yyt4 = YYCURSOR;
+ goto yy33;
+ case 'y': goto yy41;
+ case 'z': goto yy43;
+ default:
+ yyt2 = yyt3;
+ goto yy33;
+ }
+yy45:
+ yyaccept = 3;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy22;
+ case 'y': goto yy45;
+ case 'z': goto yy47;
+ default: goto yy35;
+ }
+yy47:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt4;
+ goto yy22;
+ case 'a':
+ yyt2 = yyt4;
+ yyt4 = YYCURSOR;
+ goto yy35;
+ case 'b':
+ yyt2 = yyt4;
+ yyt3 = yyt4;
+ yyt4 = YYCURSOR;
+ goto yy33;
+ case 'y': goto yy45;
+ case 'z': goto yy47;
+ default:
+ yyt2 = yyt4;
+ goto yy35;
+ }
+yy49:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt4;
+ goto yy22;
+ case 'a':
+ yyt2 = yyt4;
+ yyt3 = yyt4;
+ yyt4 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt2 = yyt4;
+ yyt4 = YYCURSOR;
+ goto yy37;
+ case 'y': goto yy49;
+ case 'z': goto yy51;
+ default:
+ yyt2 = yyt4;
+ goto yy37;
+ }
+yy51:
+ yyaccept = 3;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy22;
+ case 'y': goto yy49;
+ case 'z': goto yy51;
+ default: goto yy37;
+ }
+yy53:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy22;
+ case 'a':
+ yyt2 = yyt3;
+ yyt4 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt2 = yyt3;
+ yyt3 = yyt4;
+ yyt4 = YYCURSOR;
+ goto yy37;
+ case 'y': goto yy53;
+ case 'z': goto yy55;
+ default:
+ yyt2 = yyt3;
+ goto yy39;
+ }
+yy55:
+ yyaccept = 2;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt4;
+ goto yy22;
+ case 'y': goto yy53;
+ case 'z': goto yy55;
+ default: goto yy39;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/glennfowler/40.i--flex-syntax.re b/test/posix_captures/glennfowler/40.i--flex-syntax.re
new file mode 100644
index 00000000..23d22667
--- /dev/null
+++ b/test/posix_captures/glennfowler/40.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/glennfowler/41.i--flex-syntax.c b/test/posix_captures/glennfowler/41.i--flex-syntax.c
new file mode 100644
index 00000000..aa19ec6c
--- /dev/null
+++ b/test/posix_captures/glennfowler/41.i--flex-syntax.c
@@ -0,0 +1,174 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy6;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy5;
+ case 'z': goto yy8;
+ default: goto yy3;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0:
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ case 1:
+ yyt3 = YYCURSOR;
+ goto yy2;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy5;
+ case 'y': goto yy10;
+ default: goto yy6;
+ }
+yy8:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt3 = YYCURSOR;
+ goto yy2;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy12;
+ case 'z': goto yy8;
+ default: goto yy3;
+ }
+yy10:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt3 = YYCURSOR;
+ goto yy2;
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy14;
+ case 'y': goto yy10;
+ default: goto yy6;
+ }
+yy12:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy5;
+ case 'y': goto yy16;
+ case 'z': goto yy18;
+ default: goto yy12;
+ }
+yy14:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy5;
+ case 'y': goto yy20;
+ case 'z': goto yy22;
+ default: goto yy14;
+ }
+yy16:
+ yyaccept = 2;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ case 'y': goto yy16;
+ case 'z': goto yy18;
+ default: goto yy12;
+ }
+yy18:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt3 = YYCURSOR;
+ goto yy2;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy12;
+ case 'y': goto yy16;
+ case 'z': goto yy18;
+ default: goto yy12;
+ }
+yy20:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt3 = YYCURSOR;
+ goto yy2;
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy14;
+ case 'y': goto yy20;
+ case 'z': goto yy22;
+ default: goto yy14;
+ }
+yy22:
+ yyaccept = 2;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ case 'y': goto yy20;
+ case 'z': goto yy22;
+ default: goto yy14;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/glennfowler/41.i--flex-syntax.re b/test/posix_captures/glennfowler/41.i--flex-syntax.re
new file mode 100644
index 00000000..72e09c89
--- /dev/null
+++ b/test/posix_captures/glennfowler/41.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/glennfowler/42.i--flex-syntax.c b/test/posix_captures/glennfowler/42.i--flex-syntax.c
new file mode 100644
index 00000000..cbbeef14
--- /dev/null
+++ b/test/posix_captures/glennfowler/42.i--flex-syntax.c
@@ -0,0 +1,41 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+ yyt2 = YYCURSOR;
+yy4:
+ yynmatch = 3;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy5:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ goto yy7;
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy7:
+ if (yych <= 0x00) goto yy4;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/glennfowler/42.i--flex-syntax.re b/test/posix_captures/glennfowler/42.i--flex-syntax.re
new file mode 100644
index 00000000..469b18a8
--- /dev/null
+++ b/test/posix_captures/glennfowler/42.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/glennfowler/43.i--flex-syntax.c b/test/posix_captures/glennfowler/43.i--flex-syntax.c
new file mode 100644
index 00000000..033385ea
--- /dev/null
+++ b/test/posix_captures/glennfowler/43.i--flex-syntax.c
@@ -0,0 +1,89 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt3 = yyt5 = NULL;
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+ yyt2 = yyt3 = yyt4 = yyt5 = NULL;
+ yyt1 = YYCURSOR;
+yy2:
+ yynmatch = 4;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+ YYCURSOR = YYMARKER;
+ yyt2 = yyt3 = yyt4 = yyt5 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+ yyt6 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt5;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ }
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt6;
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+ yyt3 = yyt4 = yyt5 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt6;
+ yyt4 = yyt6;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt5;
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+ yyt2 = YYCURSOR;
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt6;
+ yyt5 = YYCURSOR;
+ goto yy2;
+ }
+ yyt3 = yyt2;
+ yyt4 = yyt2;
+ yyt6 = yyt5;
+ yyt5 = yyt2;
+ goto yy9;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/glennfowler/43.i--flex-syntax.re b/test/posix_captures/glennfowler/43.i--flex-syntax.re
new file mode 100644
index 00000000..b071f877
--- /dev/null
+++ b/test/posix_captures/glennfowler/43.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/glennfowler/44.i--flex-syntax.c b/test/posix_captures/glennfowler/44.i--flex-syntax.c
new file mode 100644
index 00000000..c6835a9c
--- /dev/null
+++ b/test/posix_captures/glennfowler/44.i--flex-syntax.c
@@ -0,0 +1,98 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt3 = yyt5 = NULL;
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+ yyt2 = yyt3 = yyt4 = yyt5 = yyt7 = NULL;
+ yyt1 = yyt6 = YYCURSOR;
+yy2:
+ yynmatch = 7;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[8] = yyt6;
+ yypmatch[10] = yyt7;
+ yypmatch[11] = yyt7;
+ yypmatch[12] = yyt7;
+ yypmatch[13] = yyt7;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt6;
+ yypmatch[9] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+ YYCURSOR = YYMARKER;
+ yyt2 = yyt3 = yyt4 = yyt5 = yyt7 = NULL;
+ yyt1 = yyt6 = YYCURSOR;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt5 = yyt7 = NULL;
+ yyt3 = yyt6 = YYCURSOR;
+ goto yy2;
+ }
+ yyt6 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt5;
+ yyt7 = NULL;
+ yyt5 = yyt6 = YYCURSOR;
+ goto yy2;
+ }
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt6;
+ yyt4 = yyt5 = yyt7 = NULL;
+ yyt3 = yyt6 = YYCURSOR;
+ goto yy2;
+ }
+ yyt3 = yyt4 = yyt5 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt6;
+ yyt4 = yyt6;
+ yyt7 = NULL;
+ yyt5 = yyt6 = YYCURSOR;
+ goto yy2;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt5;
+ yyt4 = yyt5 = yyt7 = NULL;
+ yyt3 = yyt6 = YYCURSOR;
+ goto yy2;
+ }
+ yyt2 = YYCURSOR;
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt6;
+ yyt7 = NULL;
+ yyt5 = yyt6 = YYCURSOR;
+ goto yy2;
+ }
+ yyt3 = yyt2;
+ yyt4 = yyt2;
+ yyt6 = yyt5;
+ yyt5 = yyt2;
+ goto yy9;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/glennfowler/44.i--flex-syntax.re b/test/posix_captures/glennfowler/44.i--flex-syntax.re
new file mode 100644
index 00000000..02479afc
--- /dev/null
+++ b/test/posix_captures/glennfowler/44.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/glennfowler/45.i--flex-syntax.c b/test/posix_captures/glennfowler/45.i--flex-syntax.c
new file mode 100644
index 00000000..ae41f7e0
--- /dev/null
+++ b/test/posix_captures/glennfowler/45.i--flex-syntax.c
@@ -0,0 +1,89 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt2 = yyt4 = NULL;
+ yyt1 = yyt3 = yyt5 = YYCURSOR;
+ goto yy3;
+ }
+ yyt3 = yyt4 = yyt5 = yyt6 = NULL;
+ yyt1 = yyt2 = YYCURSOR;
+yy2:
+ yynmatch = 4;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[6] = yyt5;
+ yypmatch[7] = yyt6;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+ YYCURSOR = YYMARKER;
+ yyt3 = yyt4 = yyt5 = yyt6 = NULL;
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt5 = yyt6 = NULL;
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+ yyt6 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt2;
+ yyt2 = yyt6 = YYCURSOR;
+ goto yy2;
+ }
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt6;
+ yyt5 = yyt6 = NULL;
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+ yyt2 = yyt4 = yyt5 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt6;
+ yyt5 = yyt6;
+ yyt2 = yyt6 = YYCURSOR;
+ goto yy2;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt2;
+ yyt5 = yyt6 = NULL;
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+ yyt3 = YYCURSOR;
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt6;
+ yyt2 = yyt6 = YYCURSOR;
+ goto yy2;
+ }
+ yyt4 = yyt3;
+ yyt5 = yyt3;
+ yyt6 = yyt2;
+ yyt2 = yyt3;
+ goto yy9;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/glennfowler/45.i--flex-syntax.re b/test/posix_captures/glennfowler/45.i--flex-syntax.re
new file mode 100644
index 00000000..ef1d213e
--- /dev/null
+++ b/test/posix_captures/glennfowler/45.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/gor1.i--posix-captures.c b/test/posix_captures/gor1.i--posix-captures.c
new file mode 100644
index 00000000..c9a31a77
--- /dev/null
+++ b/test/posix_captures/gor1.i--posix-captures.c
@@ -0,0 +1,41 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt3 = yyt4 = NULL;
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 4;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[4] = yyt1;
+ yypmatch[5] = yyt2;
+ yypmatch[6] = yyt3;
+ yypmatch[7] = yyt4;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 2: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/gor1.i--posix-captures.re b/test/posix_captures/gor1.i--posix-captures.re
new file mode 100644
index 00000000..0b120e5c
--- /dev/null
+++ b/test/posix_captures/gor1.i--posix-captures.re
@@ -0,0 +1,3 @@
+/*!re2c
+ ((([a])*)*[a]*){0,50} {}
+*/
diff --git a/test/posix_captures/gor2.i--posix-captures.c b/test/posix_captures/gor2.i--posix-captures.c
new file mode 100644
index 00000000..24a9d2a2
--- /dev/null
+++ b/test/posix_captures/gor2.i--posix-captures.c
@@ -0,0 +1,36 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[4] = yyt1;
+ yypmatch[5] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 2: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/gor2.i--posix-captures.re b/test/posix_captures/gor2.i--posix-captures.re
new file mode 100644
index 00000000..a5046925
--- /dev/null
+++ b/test/posix_captures/gor2.i--posix-captures.re
@@ -0,0 +1,3 @@
+/*!re2c
+ (([a]*)*[a]*){0,50} {}
+*/
diff --git a/test/posix_captures/gor3.i--posix-captures.c b/test/posix_captures/gor3.i--posix-captures.c
new file mode 100644
index 00000000..b36591ef
--- /dev/null
+++ b/test/posix_captures/gor3.i--posix-captures.c
@@ -0,0 +1,149 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c':
+ yyt3 = yyt4 = NULL;
+ yyt1 = yyt2 = yyt5 = YYCURSOR;
+ goto yy2;
+ default:
+ yyt1 = yyt3 = yyt5 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ yynmatch = 4;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[4] = yyt5;
+ yypmatch[5] = yyt2;
+ yypmatch[6] = yyt3;
+ yypmatch[7] = yyt4;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c':
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy4:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c':
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy5;
+ }
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c':
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy6;
+ }
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c':
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy7;
+ }
+yy7:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c':
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy8:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c':
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy9;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c':
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy10;
+ }
+yy10:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c':
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy11;
+ }
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c':
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy12;
+ }
+yy12:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c':
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ default:
+ yyt3 = yyt5 = YYCURSOR;
+ goto yy3;
+ }
+}
+
+re2c: warning: line 2: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/gor3.i--posix-captures.re b/test/posix_captures/gor3.i--posix-captures.re
new file mode 100644
index 00000000..441e4018
--- /dev/null
+++ b/test/posix_captures/gor3.i--posix-captures.re
@@ -0,0 +1,3 @@
+/*!re2c
+ ((([^c]){0,10}|[a]?)*){0,10} {}
+*/
diff --git a/test/posix_captures/implicit_grouping1.i--posix-captures.c b/test/posix_captures/implicit_grouping1.i--posix-captures.c
new file mode 100644
index 00000000..3668cb0b
--- /dev/null
+++ b/test/posix_captures/implicit_grouping1.i--posix-captures.c
@@ -0,0 +1 @@
+re2c: error: line 2: implicit grouping is forbidden with '--posix-captures' option, please wrap 'x' in capturing parenthesis
diff --git a/test/posix_captures/implicit_grouping1.i--posix-captures.re b/test/posix_captures/implicit_grouping1.i--posix-captures.re
new file mode 100644
index 00000000..8b9ff1df
--- /dev/null
+++ b/test/posix_captures/implicit_grouping1.i--posix-captures.re
@@ -0,0 +1,4 @@
+/*!re2c
+ x = "a" | "aa";
+ x* {}
+*/
diff --git a/test/posix_captures/implicit_grouping2.i--posix-captures.c b/test/posix_captures/implicit_grouping2.i--posix-captures.c
new file mode 100644
index 00000000..8c84e225
--- /dev/null
+++ b/test/posix_captures/implicit_grouping2.i--posix-captures.c
@@ -0,0 +1,47 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy4;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy4:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 3: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/implicit_grouping2.i--posix-captures.re b/test/posix_captures/implicit_grouping2.i--posix-captures.re
new file mode 100644
index 00000000..0be75ab1
--- /dev/null
+++ b/test/posix_captures/implicit_grouping2.i--posix-captures.re
@@ -0,0 +1,4 @@
+/*!re2c
+ x = "a" | "aa";
+ (x)* {}
+*/
diff --git a/test/posix_captures/implicit_grouping3.i--posix-captures.c b/test/posix_captures/implicit_grouping3.i--posix-captures.c
new file mode 100644
index 00000000..8c84e225
--- /dev/null
+++ b/test/posix_captures/implicit_grouping3.i--posix-captures.c
@@ -0,0 +1,47 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy4;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy4:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 3: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/implicit_grouping3.i--posix-captures.re b/test/posix_captures/implicit_grouping3.i--posix-captures.re
new file mode 100644
index 00000000..b62a6bc4
--- /dev/null
+++ b/test/posix_captures/implicit_grouping3.i--posix-captures.re
@@ -0,0 +1,4 @@
+/*!re2c
+ x = ("a" | "aa");
+ x* {}
+*/
diff --git a/test/posix_captures/leftmost1.i--posix-captures.c b/test/posix_captures/leftmost1.i--posix-captures.c
new file mode 100644
index 00000000..2da40c8f
--- /dev/null
+++ b/test/posix_captures/leftmost1.i--posix-captures.c
@@ -0,0 +1,42 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt3 = yyt4 = yyt5 = NULL;
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 4;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[6] = yyt5;
+ yypmatch[7] = yyt5;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt5 = NULL;
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 2: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/leftmost1.i--posix-captures.re b/test/posix_captures/leftmost1.i--posix-captures.re
new file mode 100644
index 00000000..0242867a
--- /dev/null
+++ b/test/posix_captures/leftmost1.i--posix-captures.re
@@ -0,0 +1,3 @@
+/*!re2c
+ (("a")* | ("a"*))* {}
+*/
diff --git a/test/posix_captures/leftmost2.i--posix-captures.c b/test/posix_captures/leftmost2.i--posix-captures.c
new file mode 100644
index 00000000..124ac1ca
--- /dev/null
+++ b/test/posix_captures/leftmost2.i--posix-captures.c
@@ -0,0 +1,40 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b': goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ yyt3 = NULL;
+ yyt2 = YYCURSOR;
+yy4:
+ yynmatch = 4;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[4] = yyt1;
+ yypmatch[5] = yyt2;
+ yypmatch[6] = yyt3;
+ yypmatch[7] = yyt3;
+ yypmatch[0] = YYCURSOR - 1;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy5:
+ ++YYCURSOR;
+ yyt1 = yyt2 = yyt3 = NULL;
+ goto yy4;
+}
+
+re2c: warning: line 3: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/leftmost2.i--posix-captures.re b/test/posix_captures/leftmost2.i--posix-captures.re
new file mode 100644
index 00000000..7303a2cd
--- /dev/null
+++ b/test/posix_captures/leftmost2.i--posix-captures.re
@@ -0,0 +1,4 @@
+/*!re2c
+ (([a])) | [b] | [b] | ([b]) | [b] {}
+ "" {}
+*/
diff --git a/test/posix_captures/multisubhistories.i--posix-captures.c b/test/posix_captures/multisubhistories.i--posix-captures.c
new file mode 100644
index 00000000..b37d2c13
--- /dev/null
+++ b/test/posix_captures/multisubhistories.i--posix-captures.c
@@ -0,0 +1,65 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = yyt4 = NULL;
+ yyt1 = yyt2 = yyt5 = YYCURSOR;
+ goto yy2;
+ default:
+ yyt1 = yyt3 = yyt5 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ yynmatch = 4;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[4] = yyt5;
+ yypmatch[5] = yyt2;
+ yypmatch[6] = yyt3;
+ yypmatch[7] = yyt4;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy4:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy5;
+ }
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy2;
+ default:
+ yyt3 = yyt5 = YYCURSOR;
+ goto yy3;
+ }
+}
+
+re2c: warning: line 2: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/multisubhistories.i--posix-captures.re b/test/posix_captures/multisubhistories.i--posix-captures.re
new file mode 100644
index 00000000..1ec9c64a
--- /dev/null
+++ b/test/posix_captures/multisubhistories.i--posix-captures.re
@@ -0,0 +1,3 @@
+/*!re2c
+ ((([^a]){0,3})*"c"*){0,3} {}
+*/
diff --git a/test/posix_captures/nullsubexpr/01.i--flex-syntax.c b/test/posix_captures/nullsubexpr/01.i--flex-syntax.c
new file mode 100644
index 00000000..101e077f
--- /dev/null
+++ b/test/posix_captures/nullsubexpr/01.i--flex-syntax.c
@@ -0,0 +1,36 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/nullsubexpr/01.i--flex-syntax.re b/test/posix_captures/nullsubexpr/01.i--flex-syntax.re
new file mode 100644
index 00000000..d7abe6a1
--- /dev/null
+++ b/test/posix_captures/nullsubexpr/01.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a*)*
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/nullsubexpr/02.i--flex-syntax.c b/test/posix_captures/nullsubexpr/02.i--flex-syntax.c
new file mode 100644
index 00000000..7b70c2f9
--- /dev/null
+++ b/test/posix_captures/nullsubexpr/02.i--flex-syntax.c
@@ -0,0 +1,31 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ yyt1 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/nullsubexpr/02.i--flex-syntax.re b/test/posix_captures/nullsubexpr/02.i--flex-syntax.re
new file mode 100644
index 00000000..bf900e96
--- /dev/null
+++ b/test/posix_captures/nullsubexpr/02.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a*)+
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/nullsubexpr/03.i--flex-syntax.c b/test/posix_captures/nullsubexpr/03.i--flex-syntax.c
new file mode 100644
index 00000000..73cabb86
--- /dev/null
+++ b/test/posix_captures/nullsubexpr/03.i--flex-syntax.c
@@ -0,0 +1,37 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/nullsubexpr/03.i--flex-syntax.re b/test/posix_captures/nullsubexpr/03.i--flex-syntax.re
new file mode 100644
index 00000000..44c6c5b8
--- /dev/null
+++ b/test/posix_captures/nullsubexpr/03.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a+)*
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/nullsubexpr/04.i--flex-syntax.c b/test/posix_captures/nullsubexpr/04.i--flex-syntax.c
new file mode 100644
index 00000000..c4ab4f5c
--- /dev/null
+++ b/test/posix_captures/nullsubexpr/04.i--flex-syntax.c
@@ -0,0 +1,35 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy5;
+ }
+yy5:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/nullsubexpr/04.i--flex-syntax.re b/test/posix_captures/nullsubexpr/04.i--flex-syntax.re
new file mode 100644
index 00000000..d0450958
--- /dev/null
+++ b/test/posix_captures/nullsubexpr/04.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a+)+
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/nullsubexpr/05.i--flex-syntax.c b/test/posix_captures/nullsubexpr/05.i--flex-syntax.c
new file mode 100644
index 00000000..101e077f
--- /dev/null
+++ b/test/posix_captures/nullsubexpr/05.i--flex-syntax.c
@@ -0,0 +1,36 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/nullsubexpr/05.i--flex-syntax.re b/test/posix_captures/nullsubexpr/05.i--flex-syntax.re
new file mode 100644
index 00000000..0daf9c81
--- /dev/null
+++ b/test/posix_captures/nullsubexpr/05.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ ([a]*)*
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/nullsubexpr/06.i--flex-syntax.c b/test/posix_captures/nullsubexpr/06.i--flex-syntax.c
new file mode 100644
index 00000000..7b70c2f9
--- /dev/null
+++ b/test/posix_captures/nullsubexpr/06.i--flex-syntax.c
@@ -0,0 +1,31 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ yyt1 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/nullsubexpr/06.i--flex-syntax.re b/test/posix_captures/nullsubexpr/06.i--flex-syntax.re
new file mode 100644
index 00000000..325cad04
--- /dev/null
+++ b/test/posix_captures/nullsubexpr/06.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ ([a]*)+
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/nullsubexpr/07.i--flex-syntax.c b/test/posix_captures/nullsubexpr/07.i--flex-syntax.c
new file mode 100644
index 00000000..a474af53
--- /dev/null
+++ b/test/posix_captures/nullsubexpr/07.i--flex-syntax.c
@@ -0,0 +1,38 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy2;
+ default:
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy2;
+ default: goto yy3;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/nullsubexpr/07.i--flex-syntax.re b/test/posix_captures/nullsubexpr/07.i--flex-syntax.re
new file mode 100644
index 00000000..c58565fc
--- /dev/null
+++ b/test/posix_captures/nullsubexpr/07.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/nullsubexpr/08.i--flex-syntax.c b/test/posix_captures/nullsubexpr/08.i--flex-syntax.c
new file mode 100644
index 00000000..734d0132
--- /dev/null
+++ b/test/posix_captures/nullsubexpr/08.i--flex-syntax.c
@@ -0,0 +1,38 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ case 'b': goto yy3;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/nullsubexpr/08.i--flex-syntax.re b/test/posix_captures/nullsubexpr/08.i--flex-syntax.re
new file mode 100644
index 00000000..d54884fa
--- /dev/null
+++ b/test/posix_captures/nullsubexpr/08.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ ([ab]*)*
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/nullsubexpr/09.i--flex-syntax.c b/test/posix_captures/nullsubexpr/09.i--flex-syntax.c
new file mode 100644
index 00000000..0d64c47d
--- /dev/null
+++ b/test/posix_captures/nullsubexpr/09.i--flex-syntax.c
@@ -0,0 +1,38 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy2;
+ default:
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy2;
+ default: goto yy3;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/nullsubexpr/09.i--flex-syntax.re b/test/posix_captures/nullsubexpr/09.i--flex-syntax.re
new file mode 100644
index 00000000..2f784066
--- /dev/null
+++ b/test/posix_captures/nullsubexpr/09.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/nullsubexpr/10.i--flex-syntax.c b/test/posix_captures/nullsubexpr/10.i--flex-syntax.c
new file mode 100644
index 00000000..29618271
--- /dev/null
+++ b/test/posix_captures/nullsubexpr/10.i--flex-syntax.c
@@ -0,0 +1,40 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case 'a':
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy2;
+ default:
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case 'a':
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy2;
+ default: goto yy3;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/nullsubexpr/10.i--flex-syntax.re b/test/posix_captures/nullsubexpr/10.i--flex-syntax.re
new file mode 100644
index 00000000..3e894307
--- /dev/null
+++ b/test/posix_captures/nullsubexpr/10.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/nullsubexpr/11.i--flex-syntax.c b/test/posix_captures/nullsubexpr/11.i--flex-syntax.c
new file mode 100644
index 00000000..c4cc2994
--- /dev/null
+++ b/test/posix_captures/nullsubexpr/11.i--flex-syntax.c
@@ -0,0 +1,63 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ case 'z':
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt2 = yyt3 = yyt4 = yyt5 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[4] = yyt4;
+ yypmatch[5] = yyt5;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'z':
+ yyt2 = yyt4 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'z':
+ yyt4 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt3 = yyt5 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/nullsubexpr/11.i--flex-syntax.re b/test/posix_captures/nullsubexpr/11.i--flex-syntax.re
new file mode 100644
index 00000000..e0ec47bf
--- /dev/null
+++ b/test/posix_captures/nullsubexpr/11.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ ((z)+|a)*
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/nullsubexpr/12.i--flex-syntax.c b/test/posix_captures/nullsubexpr/12.i--flex-syntax.c
new file mode 100644
index 00000000..8b86d265
--- /dev/null
+++ b/test/posix_captures/nullsubexpr/12.i--flex-syntax.c
@@ -0,0 +1,26 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ yynmatch = 2;
+ yypmatch[0] = YYCURSOR - 1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[2] = YYCURSOR - 1;
+ yypmatch[3] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/nullsubexpr/12.i--flex-syntax.re b/test/posix_captures/nullsubexpr/12.i--flex-syntax.re
new file mode 100644
index 00000000..a0d25e87
--- /dev/null
+++ b/test/posix_captures/nullsubexpr/12.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/nullsubexpr/13.i--flex-syntax.c b/test/posix_captures/nullsubexpr/13.i--flex-syntax.c
new file mode 100644
index 00000000..6d7dcddd
--- /dev/null
+++ b/test/posix_captures/nullsubexpr/13.i--flex-syntax.c
@@ -0,0 +1,47 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'x':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'x':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ ++YYCURSOR;
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[4] = YYCURSOR - 1;
+ yypmatch[5] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/nullsubexpr/13.i--flex-syntax.re b/test/posix_captures/nullsubexpr/13.i--flex-syntax.re
new file mode 100644
index 00000000..68c7c500
--- /dev/null
+++ b/test/posix_captures/nullsubexpr/13.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a*)*(x)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/nullsubexpr/14.i--flex-syntax.c b/test/posix_captures/nullsubexpr/14.i--flex-syntax.c
new file mode 100644
index 00000000..6d7dcddd
--- /dev/null
+++ b/test/posix_captures/nullsubexpr/14.i--flex-syntax.c
@@ -0,0 +1,47 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'x':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'x':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ ++YYCURSOR;
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[4] = YYCURSOR - 1;
+ yypmatch[5] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/nullsubexpr/14.i--flex-syntax.re b/test/posix_captures/nullsubexpr/14.i--flex-syntax.re
new file mode 100644
index 00000000..68c7c500
--- /dev/null
+++ b/test/posix_captures/nullsubexpr/14.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a*)*(x)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/nullsubexpr/15.i--flex-syntax.c b/test/posix_captures/nullsubexpr/15.i--flex-syntax.c
new file mode 100644
index 00000000..6d7dcddd
--- /dev/null
+++ b/test/posix_captures/nullsubexpr/15.i--flex-syntax.c
@@ -0,0 +1,47 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'x':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'x':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ ++YYCURSOR;
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[4] = YYCURSOR - 1;
+ yypmatch[5] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/nullsubexpr/15.i--flex-syntax.re b/test/posix_captures/nullsubexpr/15.i--flex-syntax.re
new file mode 100644
index 00000000..68c7c500
--- /dev/null
+++ b/test/posix_captures/nullsubexpr/15.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a*)*(x)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/nullsubexpr/16.i--flex-syntax.c b/test/posix_captures/nullsubexpr/16.i--flex-syntax.c
new file mode 100644
index 00000000..b99d36bc
--- /dev/null
+++ b/test/posix_captures/nullsubexpr/16.i--flex-syntax.c
@@ -0,0 +1,45 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'x':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'x': goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ ++YYCURSOR;
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR - 1;
+ yypmatch[4] = YYCURSOR - 1;
+ yypmatch[5] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/nullsubexpr/16.i--flex-syntax.re b/test/posix_captures/nullsubexpr/16.i--flex-syntax.re
new file mode 100644
index 00000000..0cacc437
--- /dev/null
+++ b/test/posix_captures/nullsubexpr/16.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a*)+(x)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/nullsubexpr/17.i--flex-syntax.c b/test/posix_captures/nullsubexpr/17.i--flex-syntax.c
new file mode 100644
index 00000000..b99d36bc
--- /dev/null
+++ b/test/posix_captures/nullsubexpr/17.i--flex-syntax.c
@@ -0,0 +1,45 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'x':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'x': goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ ++YYCURSOR;
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR - 1;
+ yypmatch[4] = YYCURSOR - 1;
+ yypmatch[5] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/nullsubexpr/17.i--flex-syntax.re b/test/posix_captures/nullsubexpr/17.i--flex-syntax.re
new file mode 100644
index 00000000..0cacc437
--- /dev/null
+++ b/test/posix_captures/nullsubexpr/17.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a*)+(x)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/nullsubexpr/18.i--flex-syntax.c b/test/posix_captures/nullsubexpr/18.i--flex-syntax.c
new file mode 100644
index 00000000..b99d36bc
--- /dev/null
+++ b/test/posix_captures/nullsubexpr/18.i--flex-syntax.c
@@ -0,0 +1,45 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'x':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'x': goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ ++YYCURSOR;
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR - 1;
+ yypmatch[4] = YYCURSOR - 1;
+ yypmatch[5] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/nullsubexpr/18.i--flex-syntax.re b/test/posix_captures/nullsubexpr/18.i--flex-syntax.re
new file mode 100644
index 00000000..0cacc437
--- /dev/null
+++ b/test/posix_captures/nullsubexpr/18.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a*)+(x)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/nullsubexpr/19.i--flex-syntax.c b/test/posix_captures/nullsubexpr/19.i--flex-syntax.c
new file mode 100644
index 00000000..0d63898e
--- /dev/null
+++ b/test/posix_captures/nullsubexpr/19.i--flex-syntax.c
@@ -0,0 +1,47 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'x':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'x':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ ++YYCURSOR;
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR - 1;
+ yypmatch[4] = YYCURSOR - 1;
+ yypmatch[5] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/nullsubexpr/19.i--flex-syntax.re b/test/posix_captures/nullsubexpr/19.i--flex-syntax.re
new file mode 100644
index 00000000..3969b5d7
--- /dev/null
+++ b/test/posix_captures/nullsubexpr/19.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a*){2}(x)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/nullsubexpr/20.i--flex-syntax.c b/test/posix_captures/nullsubexpr/20.i--flex-syntax.c
new file mode 100644
index 00000000..0d63898e
--- /dev/null
+++ b/test/posix_captures/nullsubexpr/20.i--flex-syntax.c
@@ -0,0 +1,47 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'x':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'x':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ ++YYCURSOR;
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR - 1;
+ yypmatch[4] = YYCURSOR - 1;
+ yypmatch[5] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/nullsubexpr/20.i--flex-syntax.re b/test/posix_captures/nullsubexpr/20.i--flex-syntax.re
new file mode 100644
index 00000000..3969b5d7
--- /dev/null
+++ b/test/posix_captures/nullsubexpr/20.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a*){2}(x)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/nullsubexpr/21.i--flex-syntax.c b/test/posix_captures/nullsubexpr/21.i--flex-syntax.c
new file mode 100644
index 00000000..0d63898e
--- /dev/null
+++ b/test/posix_captures/nullsubexpr/21.i--flex-syntax.c
@@ -0,0 +1,47 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'x':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'x':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ ++YYCURSOR;
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR - 1;
+ yypmatch[4] = YYCURSOR - 1;
+ yypmatch[5] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/nullsubexpr/21.i--flex-syntax.re b/test/posix_captures/nullsubexpr/21.i--flex-syntax.re
new file mode 100644
index 00000000..3969b5d7
--- /dev/null
+++ b/test/posix_captures/nullsubexpr/21.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a*){2}(x)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/offsets.i--posix-captures--input(custom).c b/test/posix_captures/offsets.i--posix-captures--input(custom).c
new file mode 100644
index 00000000..20099b32
--- /dev/null
+++ b/test/posix_captures/offsets.i--posix-captures--input(custom).c
@@ -0,0 +1,76 @@
+/* Generated by re2c */
+#include <stddef.h>
+#include <stdio.h>
+
+static void lex(const char *s)
+{
+#define YYPEEK() *s
+#define YYSKIP() ++s
+#define YYBACKUP() marker = s
+#define YYRESTORE() s = marker
+#define YYSTAGP(t) t = (s - p)
+#define YYSTAGN(t) t = 0
+ #define YYMAXNMATCH 2
+
+ size_t yynmatch;
+ const char *marker, *p = s;
+ long yypmatch[YYMAXNMATCH * 2];
+ long yyt1;long yyt2;long yyt3;
+
+{
+ char yych;
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'a':
+ YYSTAGP (yyt1);
+ YYSTAGP (yyt3);
+ goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ YYSKIP ();
+ { printf("error\n"); return; }
+yy4:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'a': goto yy6;
+ default:
+ YYSTAGP (yyt2);
+ goto yy5;
+ }
+yy5:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = yyt2;
+ yypmatch[2] = yyt3;
+ yypmatch[3] = yyt2;
+ {
+ printf("'%.*s', '%.*s'\n",
+ yypmatch[1] - yypmatch[0], p + yypmatch[0],
+ yypmatch[3] - yypmatch[2], p + yypmatch[2]);
+ return;
+ }
+yy6:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'a':
+ YYSTAGP (yyt3);
+ goto yy4;
+ default:
+ YYSTAGP (yyt2);
+ goto yy5;
+ }
+}
+
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ lex(argv[i]);
+ }
+ return 0;
+}
+re2c: warning: line 22: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/offsets.i--posix-captures--input(custom).re b/test/posix_captures/offsets.i--posix-captures--input(custom).re
new file mode 100644
index 00000000..f3b076cc
--- /dev/null
+++ b/test/posix_captures/offsets.i--posix-captures--input(custom).re
@@ -0,0 +1,37 @@
+#include <stddef.h>
+#include <stdio.h>
+
+static void lex(const char *s)
+{
+#define YYPEEK() *s
+#define YYSKIP() ++s
+#define YYBACKUP() marker = s
+#define YYRESTORE() s = marker
+#define YYSTAGP(t) t = (s - p)
+#define YYSTAGN(t) t = 0
+ /*!maxnmatch:re2c*/
+ size_t yynmatch;
+ const char *marker, *p = s;
+ long yypmatch[YYMAXNMATCH * 2];
+ /*!stags:re2c format = "long @@;"; */
+ /*!re2c
+ re2c:define:YYCTYPE = char;
+ re2c:yyfill:enable = 0;
+
+ * { printf("error\n"); return; }
+ ("a" | "aa")* {
+ printf("'%.*s', '%.*s'\n",
+ yypmatch[1] - yypmatch[0], p + yypmatch[0],
+ yypmatch[3] - yypmatch[2], p + yypmatch[2]);
+ return;
+ }
+ */
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ lex(argv[i]);
+ }
+ return 0;
+}
diff --git a/test/posix_captures/osxbsdcritical/01.i--flex-syntax.c b/test/posix_captures/osxbsdcritical/01.i--flex-syntax.c
new file mode 100644
index 00000000..f33eabb0
--- /dev/null
+++ b/test/posix_captures/osxbsdcritical/01.i--flex-syntax.c
@@ -0,0 +1,56 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy2;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = NULL;
+ goto yy7;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = NULL;
+ goto yy7;
+ default: goto yy6;
+ }
+yy6:
+ yynmatch = 4;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR - 1;
+ yypmatch[6] = YYCURSOR - 1;
+ yypmatch[7] = YYCURSOR;
+ {}
+yy7:
+ ++YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/osxbsdcritical/01.i--flex-syntax.re b/test/posix_captures/osxbsdcritical/01.i--flex-syntax.re
new file mode 100644
index 00000000..0cea20ae
--- /dev/null
+++ b/test/posix_captures/osxbsdcritical/01.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/osxbsdcritical/02.i--flex-syntax.c b/test/posix_captures/osxbsdcritical/02.i--flex-syntax.c
new file mode 100644
index 00000000..4bdda914
--- /dev/null
+++ b/test/posix_captures/osxbsdcritical/02.i--flex-syntax.c
@@ -0,0 +1,56 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = NULL;
+ goto yy7;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = NULL;
+ goto yy7;
+ default: goto yy6;
+ }
+yy6:
+ yynmatch = 4;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR - 1;
+ yypmatch[6] = YYCURSOR - 1;
+ yypmatch[7] = YYCURSOR;
+ {}
+yy7:
+ ++YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/osxbsdcritical/02.i--flex-syntax.re b/test/posix_captures/osxbsdcritical/02.i--flex-syntax.re
new file mode 100644
index 00000000..8b992d13
--- /dev/null
+++ b/test/posix_captures/osxbsdcritical/02.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (("")|[ab])(b)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/osxbsdcritical/03.i--flex-syntax.c b/test/posix_captures/osxbsdcritical/03.i--flex-syntax.c
new file mode 100644
index 00000000..ba8d7eb3
--- /dev/null
+++ b/test/posix_captures/osxbsdcritical/03.i--flex-syntax.c
@@ -0,0 +1,84 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt3 = yyt4 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy2;
+ } else {
+ goto yy7;
+ }
+yy6:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'b':
+ yyt3 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ default: goto yy9;
+ }
+yy7:
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+yy8:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy9:
+ switch (yych) {
+ case 'a':
+ yyt2 = yyt4;
+ yyt4 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt4 = yyt2;
+ yyt3 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ default:
+ yyt2 = yyt4;
+ goto yy7;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/osxbsdcritical/03.i--flex-syntax.re b/test/posix_captures/osxbsdcritical/03.i--flex-syntax.re
new file mode 100644
index 00000000..8007117f
--- /dev/null
+++ b/test/posix_captures/osxbsdcritical/03.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (("")|[ab])+b
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/osxbsdcritical/04.i--flex-syntax.c b/test/posix_captures/osxbsdcritical/04.i--flex-syntax.c
new file mode 100644
index 00000000..f33eabb0
--- /dev/null
+++ b/test/posix_captures/osxbsdcritical/04.i--flex-syntax.c
@@ -0,0 +1,56 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy2;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = NULL;
+ goto yy7;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = NULL;
+ goto yy7;
+ default: goto yy6;
+ }
+yy6:
+ yynmatch = 4;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR - 1;
+ yypmatch[6] = YYCURSOR - 1;
+ yypmatch[7] = YYCURSOR;
+ {}
+yy7:
+ ++YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/osxbsdcritical/04.i--flex-syntax.re b/test/posix_captures/osxbsdcritical/04.i--flex-syntax.re
new file mode 100644
index 00000000..3d1a60b7
--- /dev/null
+++ b/test/posix_captures/osxbsdcritical/04.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/osxbsdcritical/05.i--flex-syntax.c b/test/posix_captures/osxbsdcritical/05.i--flex-syntax.c
new file mode 100644
index 00000000..4bdda914
--- /dev/null
+++ b/test/posix_captures/osxbsdcritical/05.i--flex-syntax.c
@@ -0,0 +1,56 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = NULL;
+ goto yy7;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = NULL;
+ goto yy7;
+ default: goto yy6;
+ }
+yy6:
+ yynmatch = 4;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR - 1;
+ yypmatch[6] = YYCURSOR - 1;
+ yypmatch[7] = YYCURSOR;
+ {}
+yy7:
+ ++YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/osxbsdcritical/05.i--flex-syntax.re b/test/posix_captures/osxbsdcritical/05.i--flex-syntax.re
new file mode 100644
index 00000000..330666fd
--- /dev/null
+++ b/test/posix_captures/osxbsdcritical/05.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ ([ab]|(""))(b)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/osxbsdcritical/06.i--flex-syntax.c b/test/posix_captures/osxbsdcritical/06.i--flex-syntax.c
new file mode 100644
index 00000000..ba8d7eb3
--- /dev/null
+++ b/test/posix_captures/osxbsdcritical/06.i--flex-syntax.c
@@ -0,0 +1,84 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt3 = yyt4 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy2;
+ } else {
+ goto yy7;
+ }
+yy6:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'b':
+ yyt3 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ default: goto yy9;
+ }
+yy7:
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+yy8:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy9:
+ switch (yych) {
+ case 'a':
+ yyt2 = yyt4;
+ yyt4 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt4 = yyt2;
+ yyt3 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ default:
+ yyt2 = yyt4;
+ goto yy7;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/osxbsdcritical/06.i--flex-syntax.re b/test/posix_captures/osxbsdcritical/06.i--flex-syntax.re
new file mode 100644
index 00000000..3f785d0b
--- /dev/null
+++ b/test/posix_captures/osxbsdcritical/06.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ ([ab]|(""))+b
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/osxbsdcritical/07.i--flex-syntax.c b/test/posix_captures/osxbsdcritical/07.i--flex-syntax.c
new file mode 100644
index 00000000..fd84cfa4
--- /dev/null
+++ b/test/posix_captures/osxbsdcritical/07.i--flex-syntax.c
@@ -0,0 +1,50 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy2;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy7;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy7;
+ default: goto yy6;
+ }
+yy6:
+ yynmatch = 3;
+ yypmatch[2] = yyt1;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR - 1;
+ yypmatch[4] = YYCURSOR - 1;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy7:
+ ++YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/osxbsdcritical/07.i--flex-syntax.re b/test/posix_captures/osxbsdcritical/07.i--flex-syntax.re
new file mode 100644
index 00000000..027f84f1
--- /dev/null
+++ b/test/posix_captures/osxbsdcritical/07.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/other/01.i--flex-syntax.c b/test/posix_captures/other/01.i--flex-syntax.c
new file mode 100644
index 00000000..8de9b9e9
--- /dev/null
+++ b/test/posix_captures/other/01.i--flex-syntax.c
@@ -0,0 +1,49 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy4;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy4:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/other/01.i--flex-syntax.re b/test/posix_captures/other/01.i--flex-syntax.re
new file mode 100644
index 00000000..6a801947
--- /dev/null
+++ b/test/posix_captures/other/01.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a|aa)*
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/other/02.i--flex-syntax.c b/test/posix_captures/other/02.i--flex-syntax.c
new file mode 100644
index 00000000..8de9b9e9
--- /dev/null
+++ b/test/posix_captures/other/02.i--flex-syntax.c
@@ -0,0 +1,49 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy4;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy4:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/other/02.i--flex-syntax.re b/test/posix_captures/other/02.i--flex-syntax.re
new file mode 100644
index 00000000..8188743e
--- /dev/null
+++ b/test/posix_captures/other/02.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (aa|a)*
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/other/03.i--flex-syntax.c b/test/posix_captures/other/03.i--flex-syntax.c
new file mode 100644
index 00000000..4b31e353
--- /dev/null
+++ b/test/posix_captures/other/03.i--flex-syntax.c
@@ -0,0 +1,27 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ yyt1 = NULL;
+ yynmatch = 2;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt1;
+ yypmatch[0] = YYCURSOR - 1;
+ yypmatch[1] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/other/03.i--flex-syntax.re b/test/posix_captures/other/03.i--flex-syntax.re
new file mode 100644
index 00000000..04913f74
--- /dev/null
+++ b/test/posix_captures/other/03.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ a|(a)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/other/04.i--flex-syntax.c b/test/posix_captures/other/04.i--flex-syntax.c
new file mode 100644
index 00000000..00dfd33d
--- /dev/null
+++ b/test/posix_captures/other/04.i--flex-syntax.c
@@ -0,0 +1,29 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ yyt2 = YYCURSOR;
+ yynmatch = 2;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[0] = YYCURSOR - 1;
+ yypmatch[1] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/other/04.i--flex-syntax.re b/test/posix_captures/other/04.i--flex-syntax.re
new file mode 100644
index 00000000..2e6e4780
--- /dev/null
+++ b/test/posix_captures/other/04.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a)|a
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/other/05.i--flex-syntax.c b/test/posix_captures/other/05.i--flex-syntax.c
new file mode 100644
index 00000000..8236d2cb
--- /dev/null
+++ b/test/posix_captures/other/05.i--flex-syntax.c
@@ -0,0 +1,42 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ ++YYCURSOR;
+ yyt3 = NULL;
+ yynmatch = 3;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt3;
+ yypmatch[0] = YYCURSOR - 2;
+ yypmatch[1] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/other/05.i--flex-syntax.re b/test/posix_captures/other/05.i--flex-syntax.re
new file mode 100644
index 00000000..4825bbc4
--- /dev/null
+++ b/test/posix_captures/other/05.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (b)a|b(a)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/other/06.i--flex-syntax.c b/test/posix_captures/other/06.i--flex-syntax.c
new file mode 100644
index 00000000..8857af4a
--- /dev/null
+++ b/test/posix_captures/other/06.i--flex-syntax.c
@@ -0,0 +1,41 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'b': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ ++YYCURSOR;
+ yyt3 = NULL;
+ yyt2 = YYCURSOR;
+ yynmatch = 3;
+ yypmatch[2] = yyt1;
+ yypmatch[3] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt3;
+ yypmatch[0] = YYCURSOR - 2;
+ yypmatch[1] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/other/06.i--flex-syntax.re b/test/posix_captures/other/06.i--flex-syntax.re
new file mode 100644
index 00000000..daa8211d
--- /dev/null
+++ b/test/posix_captures/other/06.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ b(a)|(b)a
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/other/07.i--flex-syntax.c b/test/posix_captures/other/07.i--flex-syntax.c
new file mode 100644
index 00000000..f6d6fba6
--- /dev/null
+++ b/test/posix_captures/other/07.i--flex-syntax.c
@@ -0,0 +1,37 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt2 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default:
+ yyt2 = NULL;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/other/07.i--flex-syntax.re b/test/posix_captures/other/07.i--flex-syntax.re
new file mode 100644
index 00000000..c95394df
--- /dev/null
+++ b/test/posix_captures/other/07.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ a*|(a|aa)*
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/other/08.i--flex-syntax.c b/test/posix_captures/other/08.i--flex-syntax.c
new file mode 100644
index 00000000..f8683519
--- /dev/null
+++ b/test/posix_captures/other/08.i--flex-syntax.c
@@ -0,0 +1,49 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt3;
+ yypmatch[3] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy4;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy4:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/other/08.i--flex-syntax.re b/test/posix_captures/other/08.i--flex-syntax.re
new file mode 100644
index 00000000..846ae97c
--- /dev/null
+++ b/test/posix_captures/other/08.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a|aa)*|a*
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/other/09.i--flex-syntax.c b/test/posix_captures/other/09.i--flex-syntax.c
new file mode 100644
index 00000000..e7f0902d
--- /dev/null
+++ b/test/posix_captures/other/09.i--flex-syntax.c
@@ -0,0 +1,99 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt1 = yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ yyt1 = yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy6;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ default: goto yy2;
+ }
+yy7:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy8;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy8:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy9;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy10;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy10:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy5;
+ default:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/other/09.i--flex-syntax.re b/test/posix_captures/other/09.i--flex-syntax.re
new file mode 100644
index 00000000..152512a6
--- /dev/null
+++ b/test/posix_captures/other/09.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (aa*|aaa*)*
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/other/10.i--flex-syntax.c b/test/posix_captures/other/10.i--flex-syntax.c
new file mode 100644
index 00000000..25e6925b
--- /dev/null
+++ b/test/posix_captures/other/10.i--flex-syntax.c
@@ -0,0 +1,97 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 3;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy2;
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy6;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ default: goto yy2;
+ }
+yy7:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy8;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy8:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy9;
+ default: goto yy2;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy10;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy10:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy5;
+ default:
+ yyt2 = yyt3;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/other/10.i--flex-syntax.re b/test/posix_captures/other/10.i--flex-syntax.re
new file mode 100644
index 00000000..19275b61
--- /dev/null
+++ b/test/posix_captures/other/10.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (aa*|aaa*)(aa*|aaa*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/other/11.i--flex-syntax.c b/test/posix_captures/other/11.i--flex-syntax.c
new file mode 100644
index 00000000..3225b112
--- /dev/null
+++ b/test/posix_captures/other/11.i--flex-syntax.c
@@ -0,0 +1,116 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt4 = yyt5 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt2 = yyt3 = yyt4 = yyt5 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt4;
+ yypmatch[3] = yyt2;
+ yypmatch[4] = yyt5;
+ yypmatch[5] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0:
+ yyt2 = yyt3 = yyt4 = yyt5 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ case 1:
+ yyt3 = yyt5 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy2;
+ default:
+ yyt4 = yyt2;
+ yyt3 = yyt5 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy6;
+ default:
+ yyt3 = yyt5 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ default:
+ yyt2 = yyt4 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy7:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy8;
+ default:
+ yyt3 = yyt5 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy8:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy9;
+ default: goto yy4;
+ }
+yy9:
+ yyaccept = 2;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = yyt5 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt4 = yyt2;
+ yyt3 = yyt5 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/other/11.i--flex-syntax.re b/test/posix_captures/other/11.i--flex-syntax.re
new file mode 100644
index 00000000..009ec8b2
--- /dev/null
+++ b/test/posix_captures/other/11.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (aa)*|(aaa)*
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/other/12.i--flex-syntax.c b/test/posix_captures/other/12.i--flex-syntax.c
new file mode 100644
index 00000000..0d65e797
--- /dev/null
+++ b/test/posix_captures/other/12.i--flex-syntax.c
@@ -0,0 +1,292 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'X':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy3;
+ case 'Y':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy5;
+ case 'a':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'X':
+ yyt3 = YYCURSOR;
+ goto yy3;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy5;
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy10;
+ case 'b':
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy5:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'X':
+ yyt3 = YYCURSOR;
+ goto yy3;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy5;
+ case 'a':
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy7:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy11;
+ default: goto yy8;
+ }
+yy8:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0:
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ case 1:
+ yyt3 = YYCURSOR;
+ goto yy2;
+ case 2:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ default:
+ yyt2 = yyt5;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'Y': goto yy5;
+ case 'a': goto yy12;
+ default: goto yy8;
+ }
+yy10:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'X':
+ yyt3 = YYCURSOR;
+ goto yy3;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy5;
+ case 'a':
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt5 = YYCURSOR;
+ goto yy13;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy14;
+ default: goto yy8;
+ }
+yy12:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy15;
+ default: goto yy8;
+ }
+yy13:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'X':
+ yyt3 = YYCURSOR;
+ goto yy3;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy5;
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy16;
+ case 'b':
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy14:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default: goto yy8;
+ }
+yy15:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy5;
+ default: goto yy8;
+ }
+yy16:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'X':
+ yyt3 = YYCURSOR;
+ goto yy3;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy5;
+ case 'a':
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy17;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy17:
+ yyaccept = 2;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'X':
+ yyt3 = YYCURSOR;
+ goto yy3;
+ case 'Y': goto yy5;
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy18;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy18:
+ yyaccept = 3;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'X':
+ yyt3 = YYCURSOR;
+ goto yy3;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy5;
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt5 = YYCURSOR;
+ goto yy19;
+ default:
+ yyt2 = yyt5;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy19:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'X':
+ yyt3 = YYCURSOR;
+ goto yy3;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy5;
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy16;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/other/12.i--flex-syntax.re b/test/posix_captures/other/12.i--flex-syntax.re
new file mode 100644
index 00000000..e27fe691
--- /dev/null
+++ b/test/posix_captures/other/12.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (X|Xa|Xab|Xaba|abab|baba|bY|Y)*
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/other/13.i--flex-syntax.c b/test/posix_captures/other/13.i--flex-syntax.c
new file mode 100644
index 00000000..5348b4ca
--- /dev/null
+++ b/test/posix_captures/other/13.i--flex-syntax.c
@@ -0,0 +1,39 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'y':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ ++YYCURSOR;
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/other/13.i--flex-syntax.re b/test/posix_captures/other/13.i--flex-syntax.re
new file mode 100644
index 00000000..bb541b2f
--- /dev/null
+++ b/test/posix_captures/other/13.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (y){2}
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/other/14.i--flex-syntax.c b/test/posix_captures/other/14.i--flex-syntax.c
new file mode 100644
index 00000000..d9d28c11
--- /dev/null
+++ b/test/posix_captures/other/14.i--flex-syntax.c
@@ -0,0 +1,41 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt2 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy4:
+ ++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy2;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/other/14.i--flex-syntax.re b/test/posix_captures/other/14.i--flex-syntax.re
new file mode 100644
index 00000000..f5be94a8
--- /dev/null
+++ b/test/posix_captures/other/14.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (y){0,2}
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/other/15.i--flex-syntax.c b/test/posix_captures/other/15.i--flex-syntax.c
new file mode 100644
index 00000000..4a8781bc
--- /dev/null
+++ b/test/posix_captures/other/15.i--flex-syntax.c
@@ -0,0 +1,38 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy5:
+ ++YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/other/15.i--flex-syntax.re b/test/posix_captures/other/15.i--flex-syntax.re
new file mode 100644
index 00000000..7ddd667d
--- /dev/null
+++ b/test/posix_captures/other/15.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (y){1,2}
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/other/16.i--flex-syntax.c b/test/posix_captures/other/16.i--flex-syntax.c
new file mode 100644
index 00000000..d3ee98e1
--- /dev/null
+++ b/test/posix_captures/other/16.i--flex-syntax.c
@@ -0,0 +1,48 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'y':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt3 = YYCURSOR;
+ goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'y': goto yy7;
+ default: goto yy6;
+ }
+yy6:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+yy7:
+ ++YYCURSOR;
+ yyt2 = yyt3;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/other/16.i--flex-syntax.re b/test/posix_captures/other/16.i--flex-syntax.re
new file mode 100644
index 00000000..19258930
--- /dev/null
+++ b/test/posix_captures/other/16.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (y){1,2}y
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/other/17.i--flex-syntax.c b/test/posix_captures/other/17.i--flex-syntax.c
new file mode 100644
index 00000000..b1308767
--- /dev/null
+++ b/test/posix_captures/other/17.i--flex-syntax.c
@@ -0,0 +1,47 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy4;
+ }
+yy4:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy5:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'y': goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/other/17.i--flex-syntax.re b/test/posix_captures/other/17.i--flex-syntax.re
new file mode 100644
index 00000000..593f4f52
--- /dev/null
+++ b/test/posix_captures/other/17.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (y){1,2}y?
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/other/18.i--flex-syntax.c b/test/posix_captures/other/18.i--flex-syntax.c
new file mode 100644
index 00000000..e9134c23
--- /dev/null
+++ b/test/posix_captures/other/18.i--flex-syntax.c
@@ -0,0 +1,48 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'y':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ default: goto yy7;
+ }
+yy7:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/other/18.i--flex-syntax.re b/test/posix_captures/other/18.i--flex-syntax.re
new file mode 100644
index 00000000..e4f059a6
--- /dev/null
+++ b/test/posix_captures/other/18.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (y){2,}
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/other/19.i--flex-syntax.c b/test/posix_captures/other/19.i--flex-syntax.c
new file mode 100644
index 00000000..d64803fc
--- /dev/null
+++ b/test/posix_captures/other/19.i--flex-syntax.c
@@ -0,0 +1,36 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'y': goto yy4;
+ default: goto yy2;
+ }
+yy4:
+ ++YYCURSOR;
+ goto yy2;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/other/19.i--flex-syntax.re b/test/posix_captures/other/19.i--flex-syntax.re
new file mode 100644
index 00000000..aa802ef8
--- /dev/null
+++ b/test/posix_captures/other/19.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (y?){2}
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/other/20.i--flex-syntax.c b/test/posix_captures/other/20.i--flex-syntax.c
new file mode 100644
index 00000000..c06320c3
--- /dev/null
+++ b/test/posix_captures/other/20.i--flex-syntax.c
@@ -0,0 +1,40 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt1 = yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt2 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy4:
+ ++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy2;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/other/20.i--flex-syntax.re b/test/posix_captures/other/20.i--flex-syntax.re
new file mode 100644
index 00000000..64dc237b
--- /dev/null
+++ b/test/posix_captures/other/20.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (y?){0,2}
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/other/21.i--flex-syntax.c b/test/posix_captures/other/21.i--flex-syntax.c
new file mode 100644
index 00000000..d31d8904
--- /dev/null
+++ b/test/posix_captures/other/21.i--flex-syntax.c
@@ -0,0 +1,34 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ yyt1 = yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'y': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt2 = YYCURSOR;
+ goto yy4;
+ default: goto yy2;
+ }
+yy4:
+ ++YYCURSOR;
+ goto yy2;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/other/21.i--flex-syntax.re b/test/posix_captures/other/21.i--flex-syntax.re
new file mode 100644
index 00000000..4269fa78
--- /dev/null
+++ b/test/posix_captures/other/21.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (y?){1,2}
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/other/22.i--flex-syntax.c b/test/posix_captures/other/22.i--flex-syntax.c
new file mode 100644
index 00000000..d6905cc3
--- /dev/null
+++ b/test/posix_captures/other/22.i--flex-syntax.c
@@ -0,0 +1,45 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt3 = YYCURSOR;
+ goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'y': goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ yyt2 = yyt3;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/other/22.i--flex-syntax.re b/test/posix_captures/other/22.i--flex-syntax.re
new file mode 100644
index 00000000..ab899d3b
--- /dev/null
+++ b/test/posix_captures/other/22.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (y?){1,2}y
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/other/23.i--flex-syntax.c b/test/posix_captures/other/23.i--flex-syntax.c
new file mode 100644
index 00000000..af72b8b4
--- /dev/null
+++ b/test/posix_captures/other/23.i--flex-syntax.c
@@ -0,0 +1,46 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt1 = yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt2 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy4:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ switch (yych) {
+ case 'y': goto yy5;
+ default: goto yy2;
+ }
+yy5:
+ ++YYCURSOR;
+ goto yy2;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/other/23.i--flex-syntax.re b/test/posix_captures/other/23.i--flex-syntax.re
new file mode 100644
index 00000000..b1946170
--- /dev/null
+++ b/test/posix_captures/other/23.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (y?){1,2}y?
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/other/24.i--flex-syntax.c b/test/posix_captures/other/24.i--flex-syntax.c
new file mode 100644
index 00000000..6503ad44
--- /dev/null
+++ b/test/posix_captures/other/24.i--flex-syntax.c
@@ -0,0 +1,43 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'y': goto yy4;
+ default: goto yy2;
+ }
+yy4:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt2 = YYCURSOR;
+ goto yy4;
+ default: goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/other/24.i--flex-syntax.re b/test/posix_captures/other/24.i--flex-syntax.re
new file mode 100644
index 00000000..820b29b3
--- /dev/null
+++ b/test/posix_captures/other/24.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (y?){2,}
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/other/25.i--flex-syntax.c b/test/posix_captures/other/25.i--flex-syntax.c
new file mode 100644
index 00000000..b9f450b3
--- /dev/null
+++ b/test/posix_captures/other/25.i--flex-syntax.c
@@ -0,0 +1,91 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'x':
+ yyt1 = yyt2 = yyt3 = YYCURSOR;
+ goto yy3;
+ case 'y':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt1 = yyt2 = yyt3 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'x':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy5;
+ case 'y':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy4:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'x':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy5;
+ case 'y':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default:
+ yyt3 = yyt4 = NULL;
+ goto yy2;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'x':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ case 'y':
+ yyt2 = YYCURSOR;
+ goto yy8;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'x':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ case 'y':
+ yyt2 = YYCURSOR;
+ goto yy8;
+ default:
+ yyt3 = yyt4 = NULL;
+ goto yy2;
+ }
+yy7:
+ ++YYCURSOR;
+ yyt4 = YYCURSOR;
+ goto yy2;
+yy8:
+ ++YYCURSOR;
+ yyt3 = yyt4 = NULL;
+ goto yy2;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/other/25.i--flex-syntax.re b/test/posix_captures/other/25.i--flex-syntax.re
new file mode 100644
index 00000000..837952c5
--- /dev/null
+++ b/test/posix_captures/other/25.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (y|(x?)){1,3}
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/other/26.i--flex-syntax.c b/test/posix_captures/other/26.i--flex-syntax.c
new file mode 100644
index 00000000..d3c538ad
--- /dev/null
+++ b/test/posix_captures/other/26.i--flex-syntax.c
@@ -0,0 +1,69 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'y':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'y': goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt2 = YYCURSOR;
+ goto yy8;
+ default: goto yy7;
+ }
+yy7:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy7;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'y': goto yy10;
+ default: goto yy7;
+ }
+yy10:
+ ++YYCURSOR;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/other/26.i--flex-syntax.re b/test/posix_captures/other/26.i--flex-syntax.re
new file mode 100644
index 00000000..800b2422
--- /dev/null
+++ b/test/posix_captures/other/26.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (y[y]?){3}
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/repetition/01.i--flex-syntax.c b/test/posix_captures/repetition/01.i--flex-syntax.c
new file mode 100644
index 00000000..1ae28e02
--- /dev/null
+++ b/test/posix_captures/repetition/01.i--flex-syntax.c
@@ -0,0 +1,38 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+ yyt2 = yyt3 = NULL;
+ yyt5 = YYCURSOR;
+yy4:
+ yynmatch = 4;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy5:
+ ++YYCURSOR;
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/01.i--flex-syntax.re b/test/posix_captures/repetition/01.i--flex-syntax.re
new file mode 100644
index 00000000..29f4067c
--- /dev/null
+++ b/test/posix_captures/repetition/01.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/02.i--flex-syntax.c b/test/posix_captures/repetition/02.i--flex-syntax.c
new file mode 100644
index 00000000..5d982296
--- /dev/null
+++ b/test/posix_captures/repetition/02.i--flex-syntax.c
@@ -0,0 +1,66 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt3 = NULL;
+ yyt5 = yyt6 = yyt9 = YYCURSOR;
+ goto yy5;
+ }
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt4 = yyt5 = NULL;
+ yyt3 = yyt6 = yyt7 = yyt9 = YYCURSOR;
+ goto yy7;
+ }
+ yyt7 = yyt8 = NULL;
+ yyt10 = YYCURSOR;
+yy6:
+ yynmatch = 7;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[8] = yyt6;
+ yypmatch[10] = yyt7;
+ yypmatch[11] = yyt8;
+ yypmatch[12] = yyt9;
+ yypmatch[13] = yyt10;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt6;
+ yypmatch[9] = YYCURSOR;
+ {}
+yy7:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt1;
+ yyt7 = yyt8 = NULL;
+ yyt10 = YYCURSOR;
+ goto yy6;
+ }
+ ++YYCURSOR;
+ yyt2 = yyt1;
+ yyt9 = yyt10 = NULL;
+ yyt8 = YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/02.i--flex-syntax.re b/test/posix_captures/repetition/02.i--flex-syntax.re
new file mode 100644
index 00000000..ee01941b
--- /dev/null
+++ b/test/posix_captures/repetition/02.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/03.i--flex-syntax.c b/test/posix_captures/repetition/03.i--flex-syntax.c
new file mode 100644
index 00000000..7c9bacb0
--- /dev/null
+++ b/test/posix_captures/repetition/03.i--flex-syntax.c
@@ -0,0 +1,101 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt3 = NULL;
+ yyt5 = yyt6 = yyt9 = YYCURSOR;
+ goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy4;
+ yyt7 = yyt8 = yyt15 = NULL;
+ yyt10 = yyt11 = yyt12 = yyt13 = yyt14 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt7 = yyt8 = NULL;
+ yyt10 = yyt11 = yyt14 = YYCURSOR;
+ goto yy8;
+ }
+ yyt12 = yyt13 = NULL;
+ yyt15 = YYCURSOR;
+yy7:
+ yynmatch = 10;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[8] = yyt6;
+ yypmatch[10] = yyt7;
+ yypmatch[11] = yyt8;
+ yypmatch[12] = yyt9;
+ yypmatch[13] = yyt10;
+ yypmatch[14] = yyt11;
+ yypmatch[16] = yyt12;
+ yypmatch[17] = yyt13;
+ yypmatch[18] = yyt14;
+ yypmatch[19] = yyt15;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt6;
+ yypmatch[9] = yyt11;
+ yypmatch[15] = YYCURSOR;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt1;
+ yyt3 = yyt13;
+ yyt4 = yyt15;
+ yyt5 = yyt15;
+ yyt6 = yyt13;
+ yyt9 = yyt12;
+ yyt12 = yyt13 = NULL;
+ yyt15 = YYCURSOR;
+ goto yy7;
+ }
+ yyt9 = yyt10 = NULL;
+ yyt8 = yyt11 = yyt12 = yyt14 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt1;
+ yyt3 = yyt13;
+ yyt4 = yyt15;
+ yyt5 = yyt15;
+ yyt6 = yyt13;
+ yyt7 = yyt13;
+ yyt12 = yyt13 = NULL;
+ yyt15 = YYCURSOR;
+ goto yy7;
+ }
+ ++YYCURSOR;
+ yyt2 = yyt1;
+ yyt3 = yyt13;
+ yyt4 = yyt15;
+ yyt5 = yyt15;
+ yyt6 = yyt13;
+ yyt7 = yyt13;
+ yyt14 = yyt15 = NULL;
+ yyt13 = YYCURSOR;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/03.i--flex-syntax.re b/test/posix_captures/repetition/03.i--flex-syntax.re
new file mode 100644
index 00000000..c1e1671c
--- /dev/null
+++ b/test/posix_captures/repetition/03.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/04.i--flex-syntax.c b/test/posix_captures/repetition/04.i--flex-syntax.c
new file mode 100644
index 00000000..1ae28e02
--- /dev/null
+++ b/test/posix_captures/repetition/04.i--flex-syntax.c
@@ -0,0 +1,38 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+ yyt2 = yyt3 = NULL;
+ yyt5 = YYCURSOR;
+yy4:
+ yynmatch = 4;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy5:
+ ++YYCURSOR;
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/04.i--flex-syntax.re b/test/posix_captures/repetition/04.i--flex-syntax.re
new file mode 100644
index 00000000..20cc0785
--- /dev/null
+++ b/test/posix_captures/repetition/04.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/05.i--flex-syntax.c b/test/posix_captures/repetition/05.i--flex-syntax.c
new file mode 100644
index 00000000..7306fe13
--- /dev/null
+++ b/test/posix_captures/repetition/05.i--flex-syntax.c
@@ -0,0 +1,56 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt5 = YYCURSOR;
+ goto yy5;
+ }
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt3 = yyt5 = YYCURSOR;
+ goto yy7;
+ }
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+yy6:
+ yynmatch = 4;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[6] = yyt5;
+ yypmatch[7] = yyt6;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy7:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+ goto yy6;
+ }
+ ++YYCURSOR;
+ yyt5 = yyt6 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/05.i--flex-syntax.re b/test/posix_captures/repetition/05.i--flex-syntax.re
new file mode 100644
index 00000000..430e13a4
--- /dev/null
+++ b/test/posix_captures/repetition/05.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/06.i--flex-syntax.c b/test/posix_captures/repetition/06.i--flex-syntax.c
new file mode 100644
index 00000000..8d53bf90
--- /dev/null
+++ b/test/posix_captures/repetition/06.i--flex-syntax.c
@@ -0,0 +1,64 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy4;
+ yyt2 = yyt5 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt5 = YYCURSOR;
+ goto yy8;
+ }
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+yy7:
+ yynmatch = 4;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[6] = yyt5;
+ yypmatch[7] = yyt6;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+ goto yy7;
+ }
+ yyt2 = yyt3 = yyt5 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+ goto yy7;
+ }
+ ++YYCURSOR;
+ yyt5 = yyt6 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/06.i--flex-syntax.re b/test/posix_captures/repetition/06.i--flex-syntax.re
new file mode 100644
index 00000000..0643a695
--- /dev/null
+++ b/test/posix_captures/repetition/06.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/07.i--flex-syntax.c b/test/posix_captures/repetition/07.i--flex-syntax.c
new file mode 100644
index 00000000..678a7a92
--- /dev/null
+++ b/test/posix_captures/repetition/07.i--flex-syntax.c
@@ -0,0 +1,47 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt2 = yyt4 = yyt6 = YYCURSOR;
+ goto yy3;
+ }
+ yyt2 = yyt3 = yyt4 = yyt5 = yyt6 = yyt7 = NULL;
+ yyt1 = YYCURSOR;
+yy2:
+ yynmatch = 4;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[4] = yyt4;
+ yypmatch[5] = yyt5;
+ yypmatch[6] = yyt6;
+ yypmatch[7] = yyt7;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt5 = NULL;
+ yyt3 = yyt7 = YYCURSOR;
+ goto yy2;
+ }
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt6 = yyt7 = NULL;
+ yyt3 = yyt5 = YYCURSOR;
+ goto yy2;
+ }
+ yyt2 = yyt4 = yyt6 = YYCURSOR;
+ goto yy3;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/repetition/07.i--flex-syntax.re b/test/posix_captures/repetition/07.i--flex-syntax.re
new file mode 100644
index 00000000..fe539f85
--- /dev/null
+++ b/test/posix_captures/repetition/07.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/08.i--flex-syntax.c b/test/posix_captures/repetition/08.i--flex-syntax.c
new file mode 100644
index 00000000..1ae28e02
--- /dev/null
+++ b/test/posix_captures/repetition/08.i--flex-syntax.c
@@ -0,0 +1,38 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+ yyt2 = yyt3 = NULL;
+ yyt5 = YYCURSOR;
+yy4:
+ yynmatch = 4;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy5:
+ ++YYCURSOR;
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/08.i--flex-syntax.re b/test/posix_captures/repetition/08.i--flex-syntax.re
new file mode 100644
index 00000000..29f4067c
--- /dev/null
+++ b/test/posix_captures/repetition/08.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/09.i--flex-syntax.c b/test/posix_captures/repetition/09.i--flex-syntax.c
new file mode 100644
index 00000000..5d982296
--- /dev/null
+++ b/test/posix_captures/repetition/09.i--flex-syntax.c
@@ -0,0 +1,66 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt3 = NULL;
+ yyt5 = yyt6 = yyt9 = YYCURSOR;
+ goto yy5;
+ }
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt4 = yyt5 = NULL;
+ yyt3 = yyt6 = yyt7 = yyt9 = YYCURSOR;
+ goto yy7;
+ }
+ yyt7 = yyt8 = NULL;
+ yyt10 = YYCURSOR;
+yy6:
+ yynmatch = 7;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[8] = yyt6;
+ yypmatch[10] = yyt7;
+ yypmatch[11] = yyt8;
+ yypmatch[12] = yyt9;
+ yypmatch[13] = yyt10;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt6;
+ yypmatch[9] = YYCURSOR;
+ {}
+yy7:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt1;
+ yyt7 = yyt8 = NULL;
+ yyt10 = YYCURSOR;
+ goto yy6;
+ }
+ ++YYCURSOR;
+ yyt2 = yyt1;
+ yyt9 = yyt10 = NULL;
+ yyt8 = YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/09.i--flex-syntax.re b/test/posix_captures/repetition/09.i--flex-syntax.re
new file mode 100644
index 00000000..ee01941b
--- /dev/null
+++ b/test/posix_captures/repetition/09.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/10.i--flex-syntax.c b/test/posix_captures/repetition/10.i--flex-syntax.c
new file mode 100644
index 00000000..7c9bacb0
--- /dev/null
+++ b/test/posix_captures/repetition/10.i--flex-syntax.c
@@ -0,0 +1,101 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt3 = NULL;
+ yyt5 = yyt6 = yyt9 = YYCURSOR;
+ goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy4;
+ yyt7 = yyt8 = yyt15 = NULL;
+ yyt10 = yyt11 = yyt12 = yyt13 = yyt14 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt7 = yyt8 = NULL;
+ yyt10 = yyt11 = yyt14 = YYCURSOR;
+ goto yy8;
+ }
+ yyt12 = yyt13 = NULL;
+ yyt15 = YYCURSOR;
+yy7:
+ yynmatch = 10;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[8] = yyt6;
+ yypmatch[10] = yyt7;
+ yypmatch[11] = yyt8;
+ yypmatch[12] = yyt9;
+ yypmatch[13] = yyt10;
+ yypmatch[14] = yyt11;
+ yypmatch[16] = yyt12;
+ yypmatch[17] = yyt13;
+ yypmatch[18] = yyt14;
+ yypmatch[19] = yyt15;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt6;
+ yypmatch[9] = yyt11;
+ yypmatch[15] = YYCURSOR;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt1;
+ yyt3 = yyt13;
+ yyt4 = yyt15;
+ yyt5 = yyt15;
+ yyt6 = yyt13;
+ yyt9 = yyt12;
+ yyt12 = yyt13 = NULL;
+ yyt15 = YYCURSOR;
+ goto yy7;
+ }
+ yyt9 = yyt10 = NULL;
+ yyt8 = yyt11 = yyt12 = yyt14 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt1;
+ yyt3 = yyt13;
+ yyt4 = yyt15;
+ yyt5 = yyt15;
+ yyt6 = yyt13;
+ yyt7 = yyt13;
+ yyt12 = yyt13 = NULL;
+ yyt15 = YYCURSOR;
+ goto yy7;
+ }
+ ++YYCURSOR;
+ yyt2 = yyt1;
+ yyt3 = yyt13;
+ yyt4 = yyt15;
+ yyt5 = yyt15;
+ yyt6 = yyt13;
+ yyt7 = yyt13;
+ yyt14 = yyt15 = NULL;
+ yyt13 = YYCURSOR;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/10.i--flex-syntax.re b/test/posix_captures/repetition/10.i--flex-syntax.re
new file mode 100644
index 00000000..c1e1671c
--- /dev/null
+++ b/test/posix_captures/repetition/10.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/11.i--flex-syntax.c b/test/posix_captures/repetition/11.i--flex-syntax.c
new file mode 100644
index 00000000..1ae28e02
--- /dev/null
+++ b/test/posix_captures/repetition/11.i--flex-syntax.c
@@ -0,0 +1,38 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+ yyt2 = yyt3 = NULL;
+ yyt5 = YYCURSOR;
+yy4:
+ yynmatch = 4;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy5:
+ ++YYCURSOR;
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/11.i--flex-syntax.re b/test/posix_captures/repetition/11.i--flex-syntax.re
new file mode 100644
index 00000000..20cc0785
--- /dev/null
+++ b/test/posix_captures/repetition/11.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/12.i--flex-syntax.c b/test/posix_captures/repetition/12.i--flex-syntax.c
new file mode 100644
index 00000000..7306fe13
--- /dev/null
+++ b/test/posix_captures/repetition/12.i--flex-syntax.c
@@ -0,0 +1,56 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt5 = YYCURSOR;
+ goto yy5;
+ }
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt3 = yyt5 = YYCURSOR;
+ goto yy7;
+ }
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+yy6:
+ yynmatch = 4;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[6] = yyt5;
+ yypmatch[7] = yyt6;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy7:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+ goto yy6;
+ }
+ ++YYCURSOR;
+ yyt5 = yyt6 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/12.i--flex-syntax.re b/test/posix_captures/repetition/12.i--flex-syntax.re
new file mode 100644
index 00000000..430e13a4
--- /dev/null
+++ b/test/posix_captures/repetition/12.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/13.i--flex-syntax.c b/test/posix_captures/repetition/13.i--flex-syntax.c
new file mode 100644
index 00000000..8d53bf90
--- /dev/null
+++ b/test/posix_captures/repetition/13.i--flex-syntax.c
@@ -0,0 +1,64 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy4;
+ yyt2 = yyt5 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt5 = YYCURSOR;
+ goto yy8;
+ }
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+yy7:
+ yynmatch = 4;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[6] = yyt5;
+ yypmatch[7] = yyt6;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+ goto yy7;
+ }
+ yyt2 = yyt3 = yyt5 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+ goto yy7;
+ }
+ ++YYCURSOR;
+ yyt5 = yyt6 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/13.i--flex-syntax.re b/test/posix_captures/repetition/13.i--flex-syntax.re
new file mode 100644
index 00000000..0643a695
--- /dev/null
+++ b/test/posix_captures/repetition/13.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/14.i--flex-syntax.c b/test/posix_captures/repetition/14.i--flex-syntax.c
new file mode 100644
index 00000000..678a7a92
--- /dev/null
+++ b/test/posix_captures/repetition/14.i--flex-syntax.c
@@ -0,0 +1,47 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt2 = yyt4 = yyt6 = YYCURSOR;
+ goto yy3;
+ }
+ yyt2 = yyt3 = yyt4 = yyt5 = yyt6 = yyt7 = NULL;
+ yyt1 = YYCURSOR;
+yy2:
+ yynmatch = 4;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[4] = yyt4;
+ yypmatch[5] = yyt5;
+ yypmatch[6] = yyt6;
+ yypmatch[7] = yyt7;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt5 = NULL;
+ yyt3 = yyt7 = YYCURSOR;
+ goto yy2;
+ }
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt6 = yyt7 = NULL;
+ yyt3 = yyt5 = YYCURSOR;
+ goto yy2;
+ }
+ yyt2 = yyt4 = yyt6 = YYCURSOR;
+ goto yy3;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/repetition/14.i--flex-syntax.re b/test/posix_captures/repetition/14.i--flex-syntax.re
new file mode 100644
index 00000000..fe539f85
--- /dev/null
+++ b/test/posix_captures/repetition/14.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/15.i--flex-syntax.c b/test/posix_captures/repetition/15.i--flex-syntax.c
new file mode 100644
index 00000000..1ae28e02
--- /dev/null
+++ b/test/posix_captures/repetition/15.i--flex-syntax.c
@@ -0,0 +1,38 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+ yyt2 = yyt3 = NULL;
+ yyt5 = YYCURSOR;
+yy4:
+ yynmatch = 4;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy5:
+ ++YYCURSOR;
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/15.i--flex-syntax.re b/test/posix_captures/repetition/15.i--flex-syntax.re
new file mode 100644
index 00000000..29f4067c
--- /dev/null
+++ b/test/posix_captures/repetition/15.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/16.i--flex-syntax.c b/test/posix_captures/repetition/16.i--flex-syntax.c
new file mode 100644
index 00000000..5d982296
--- /dev/null
+++ b/test/posix_captures/repetition/16.i--flex-syntax.c
@@ -0,0 +1,66 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt3 = NULL;
+ yyt5 = yyt6 = yyt9 = YYCURSOR;
+ goto yy5;
+ }
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt4 = yyt5 = NULL;
+ yyt3 = yyt6 = yyt7 = yyt9 = YYCURSOR;
+ goto yy7;
+ }
+ yyt7 = yyt8 = NULL;
+ yyt10 = YYCURSOR;
+yy6:
+ yynmatch = 7;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[8] = yyt6;
+ yypmatch[10] = yyt7;
+ yypmatch[11] = yyt8;
+ yypmatch[12] = yyt9;
+ yypmatch[13] = yyt10;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt6;
+ yypmatch[9] = YYCURSOR;
+ {}
+yy7:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt1;
+ yyt7 = yyt8 = NULL;
+ yyt10 = YYCURSOR;
+ goto yy6;
+ }
+ ++YYCURSOR;
+ yyt2 = yyt1;
+ yyt9 = yyt10 = NULL;
+ yyt8 = YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/16.i--flex-syntax.re b/test/posix_captures/repetition/16.i--flex-syntax.re
new file mode 100644
index 00000000..ee01941b
--- /dev/null
+++ b/test/posix_captures/repetition/16.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/17.i--flex-syntax.c b/test/posix_captures/repetition/17.i--flex-syntax.c
new file mode 100644
index 00000000..7c9bacb0
--- /dev/null
+++ b/test/posix_captures/repetition/17.i--flex-syntax.c
@@ -0,0 +1,101 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt3 = NULL;
+ yyt5 = yyt6 = yyt9 = YYCURSOR;
+ goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy4;
+ yyt7 = yyt8 = yyt15 = NULL;
+ yyt10 = yyt11 = yyt12 = yyt13 = yyt14 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt7 = yyt8 = NULL;
+ yyt10 = yyt11 = yyt14 = YYCURSOR;
+ goto yy8;
+ }
+ yyt12 = yyt13 = NULL;
+ yyt15 = YYCURSOR;
+yy7:
+ yynmatch = 10;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[8] = yyt6;
+ yypmatch[10] = yyt7;
+ yypmatch[11] = yyt8;
+ yypmatch[12] = yyt9;
+ yypmatch[13] = yyt10;
+ yypmatch[14] = yyt11;
+ yypmatch[16] = yyt12;
+ yypmatch[17] = yyt13;
+ yypmatch[18] = yyt14;
+ yypmatch[19] = yyt15;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt6;
+ yypmatch[9] = yyt11;
+ yypmatch[15] = YYCURSOR;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt1;
+ yyt3 = yyt13;
+ yyt4 = yyt15;
+ yyt5 = yyt15;
+ yyt6 = yyt13;
+ yyt9 = yyt12;
+ yyt12 = yyt13 = NULL;
+ yyt15 = YYCURSOR;
+ goto yy7;
+ }
+ yyt9 = yyt10 = NULL;
+ yyt8 = yyt11 = yyt12 = yyt14 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt1;
+ yyt3 = yyt13;
+ yyt4 = yyt15;
+ yyt5 = yyt15;
+ yyt6 = yyt13;
+ yyt7 = yyt13;
+ yyt12 = yyt13 = NULL;
+ yyt15 = YYCURSOR;
+ goto yy7;
+ }
+ ++YYCURSOR;
+ yyt2 = yyt1;
+ yyt3 = yyt13;
+ yyt4 = yyt15;
+ yyt5 = yyt15;
+ yyt6 = yyt13;
+ yyt7 = yyt13;
+ yyt14 = yyt15 = NULL;
+ yyt13 = YYCURSOR;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/17.i--flex-syntax.re b/test/posix_captures/repetition/17.i--flex-syntax.re
new file mode 100644
index 00000000..c1e1671c
--- /dev/null
+++ b/test/posix_captures/repetition/17.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/18.i--flex-syntax.c b/test/posix_captures/repetition/18.i--flex-syntax.c
new file mode 100644
index 00000000..1ae28e02
--- /dev/null
+++ b/test/posix_captures/repetition/18.i--flex-syntax.c
@@ -0,0 +1,38 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+ yyt2 = yyt3 = NULL;
+ yyt5 = YYCURSOR;
+yy4:
+ yynmatch = 4;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy5:
+ ++YYCURSOR;
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/18.i--flex-syntax.re b/test/posix_captures/repetition/18.i--flex-syntax.re
new file mode 100644
index 00000000..20cc0785
--- /dev/null
+++ b/test/posix_captures/repetition/18.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/19.i--flex-syntax.c b/test/posix_captures/repetition/19.i--flex-syntax.c
new file mode 100644
index 00000000..7306fe13
--- /dev/null
+++ b/test/posix_captures/repetition/19.i--flex-syntax.c
@@ -0,0 +1,56 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt5 = YYCURSOR;
+ goto yy5;
+ }
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt3 = yyt5 = YYCURSOR;
+ goto yy7;
+ }
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+yy6:
+ yynmatch = 4;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[6] = yyt5;
+ yypmatch[7] = yyt6;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy7:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+ goto yy6;
+ }
+ ++YYCURSOR;
+ yyt5 = yyt6 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/19.i--flex-syntax.re b/test/posix_captures/repetition/19.i--flex-syntax.re
new file mode 100644
index 00000000..430e13a4
--- /dev/null
+++ b/test/posix_captures/repetition/19.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/20.i--flex-syntax.c b/test/posix_captures/repetition/20.i--flex-syntax.c
new file mode 100644
index 00000000..8d53bf90
--- /dev/null
+++ b/test/posix_captures/repetition/20.i--flex-syntax.c
@@ -0,0 +1,64 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy4;
+ yyt2 = yyt5 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt5 = YYCURSOR;
+ goto yy8;
+ }
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+yy7:
+ yynmatch = 4;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[6] = yyt5;
+ yypmatch[7] = yyt6;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+ goto yy7;
+ }
+ yyt2 = yyt3 = yyt5 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+ goto yy7;
+ }
+ ++YYCURSOR;
+ yyt5 = yyt6 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/20.i--flex-syntax.re b/test/posix_captures/repetition/20.i--flex-syntax.re
new file mode 100644
index 00000000..0643a695
--- /dev/null
+++ b/test/posix_captures/repetition/20.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/21.i--flex-syntax.c b/test/posix_captures/repetition/21.i--flex-syntax.c
new file mode 100644
index 00000000..678a7a92
--- /dev/null
+++ b/test/posix_captures/repetition/21.i--flex-syntax.c
@@ -0,0 +1,47 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt2 = yyt4 = yyt6 = YYCURSOR;
+ goto yy3;
+ }
+ yyt2 = yyt3 = yyt4 = yyt5 = yyt6 = yyt7 = NULL;
+ yyt1 = YYCURSOR;
+yy2:
+ yynmatch = 4;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[4] = yyt4;
+ yypmatch[5] = yyt5;
+ yypmatch[6] = yyt6;
+ yypmatch[7] = yyt7;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt5 = NULL;
+ yyt3 = yyt7 = YYCURSOR;
+ goto yy2;
+ }
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt6 = yyt7 = NULL;
+ yyt3 = yyt5 = YYCURSOR;
+ goto yy2;
+ }
+ yyt2 = yyt4 = yyt6 = YYCURSOR;
+ goto yy3;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/repetition/21.i--flex-syntax.re b/test/posix_captures/repetition/21.i--flex-syntax.re
new file mode 100644
index 00000000..fe539f85
--- /dev/null
+++ b/test/posix_captures/repetition/21.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/22.i--flex-syntax.c b/test/posix_captures/repetition/22.i--flex-syntax.c
new file mode 100644
index 00000000..1ae28e02
--- /dev/null
+++ b/test/posix_captures/repetition/22.i--flex-syntax.c
@@ -0,0 +1,38 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+ yyt2 = yyt3 = NULL;
+ yyt5 = YYCURSOR;
+yy4:
+ yynmatch = 4;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy5:
+ ++YYCURSOR;
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/22.i--flex-syntax.re b/test/posix_captures/repetition/22.i--flex-syntax.re
new file mode 100644
index 00000000..29f4067c
--- /dev/null
+++ b/test/posix_captures/repetition/22.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/23.i--flex-syntax.c b/test/posix_captures/repetition/23.i--flex-syntax.c
new file mode 100644
index 00000000..5d982296
--- /dev/null
+++ b/test/posix_captures/repetition/23.i--flex-syntax.c
@@ -0,0 +1,66 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt3 = NULL;
+ yyt5 = yyt6 = yyt9 = YYCURSOR;
+ goto yy5;
+ }
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt4 = yyt5 = NULL;
+ yyt3 = yyt6 = yyt7 = yyt9 = YYCURSOR;
+ goto yy7;
+ }
+ yyt7 = yyt8 = NULL;
+ yyt10 = YYCURSOR;
+yy6:
+ yynmatch = 7;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[8] = yyt6;
+ yypmatch[10] = yyt7;
+ yypmatch[11] = yyt8;
+ yypmatch[12] = yyt9;
+ yypmatch[13] = yyt10;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt6;
+ yypmatch[9] = YYCURSOR;
+ {}
+yy7:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt1;
+ yyt7 = yyt8 = NULL;
+ yyt10 = YYCURSOR;
+ goto yy6;
+ }
+ ++YYCURSOR;
+ yyt2 = yyt1;
+ yyt9 = yyt10 = NULL;
+ yyt8 = YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/23.i--flex-syntax.re b/test/posix_captures/repetition/23.i--flex-syntax.re
new file mode 100644
index 00000000..ee01941b
--- /dev/null
+++ b/test/posix_captures/repetition/23.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/24.i--flex-syntax.c b/test/posix_captures/repetition/24.i--flex-syntax.c
new file mode 100644
index 00000000..7c9bacb0
--- /dev/null
+++ b/test/posix_captures/repetition/24.i--flex-syntax.c
@@ -0,0 +1,101 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt3 = NULL;
+ yyt5 = yyt6 = yyt9 = YYCURSOR;
+ goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy4;
+ yyt7 = yyt8 = yyt15 = NULL;
+ yyt10 = yyt11 = yyt12 = yyt13 = yyt14 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt7 = yyt8 = NULL;
+ yyt10 = yyt11 = yyt14 = YYCURSOR;
+ goto yy8;
+ }
+ yyt12 = yyt13 = NULL;
+ yyt15 = YYCURSOR;
+yy7:
+ yynmatch = 10;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[8] = yyt6;
+ yypmatch[10] = yyt7;
+ yypmatch[11] = yyt8;
+ yypmatch[12] = yyt9;
+ yypmatch[13] = yyt10;
+ yypmatch[14] = yyt11;
+ yypmatch[16] = yyt12;
+ yypmatch[17] = yyt13;
+ yypmatch[18] = yyt14;
+ yypmatch[19] = yyt15;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt6;
+ yypmatch[9] = yyt11;
+ yypmatch[15] = YYCURSOR;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt1;
+ yyt3 = yyt13;
+ yyt4 = yyt15;
+ yyt5 = yyt15;
+ yyt6 = yyt13;
+ yyt9 = yyt12;
+ yyt12 = yyt13 = NULL;
+ yyt15 = YYCURSOR;
+ goto yy7;
+ }
+ yyt9 = yyt10 = NULL;
+ yyt8 = yyt11 = yyt12 = yyt14 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt1;
+ yyt3 = yyt13;
+ yyt4 = yyt15;
+ yyt5 = yyt15;
+ yyt6 = yyt13;
+ yyt7 = yyt13;
+ yyt12 = yyt13 = NULL;
+ yyt15 = YYCURSOR;
+ goto yy7;
+ }
+ ++YYCURSOR;
+ yyt2 = yyt1;
+ yyt3 = yyt13;
+ yyt4 = yyt15;
+ yyt5 = yyt15;
+ yyt6 = yyt13;
+ yyt7 = yyt13;
+ yyt14 = yyt15 = NULL;
+ yyt13 = YYCURSOR;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/24.i--flex-syntax.re b/test/posix_captures/repetition/24.i--flex-syntax.re
new file mode 100644
index 00000000..c1e1671c
--- /dev/null
+++ b/test/posix_captures/repetition/24.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/25.i--flex-syntax.c b/test/posix_captures/repetition/25.i--flex-syntax.c
new file mode 100644
index 00000000..1ae28e02
--- /dev/null
+++ b/test/posix_captures/repetition/25.i--flex-syntax.c
@@ -0,0 +1,38 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+ yyt2 = yyt3 = NULL;
+ yyt5 = YYCURSOR;
+yy4:
+ yynmatch = 4;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy5:
+ ++YYCURSOR;
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/25.i--flex-syntax.re b/test/posix_captures/repetition/25.i--flex-syntax.re
new file mode 100644
index 00000000..20cc0785
--- /dev/null
+++ b/test/posix_captures/repetition/25.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/26.i--flex-syntax.c b/test/posix_captures/repetition/26.i--flex-syntax.c
new file mode 100644
index 00000000..7306fe13
--- /dev/null
+++ b/test/posix_captures/repetition/26.i--flex-syntax.c
@@ -0,0 +1,56 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt5 = YYCURSOR;
+ goto yy5;
+ }
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt3 = yyt5 = YYCURSOR;
+ goto yy7;
+ }
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+yy6:
+ yynmatch = 4;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[6] = yyt5;
+ yypmatch[7] = yyt6;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy7:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+ goto yy6;
+ }
+ ++YYCURSOR;
+ yyt5 = yyt6 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/26.i--flex-syntax.re b/test/posix_captures/repetition/26.i--flex-syntax.re
new file mode 100644
index 00000000..430e13a4
--- /dev/null
+++ b/test/posix_captures/repetition/26.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/27.i--flex-syntax.c b/test/posix_captures/repetition/27.i--flex-syntax.c
new file mode 100644
index 00000000..8d53bf90
--- /dev/null
+++ b/test/posix_captures/repetition/27.i--flex-syntax.c
@@ -0,0 +1,64 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy4;
+ yyt2 = yyt5 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt5 = YYCURSOR;
+ goto yy8;
+ }
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+yy7:
+ yynmatch = 4;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[6] = yyt5;
+ yypmatch[7] = yyt6;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+ goto yy7;
+ }
+ yyt2 = yyt3 = yyt5 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+ goto yy7;
+ }
+ ++YYCURSOR;
+ yyt5 = yyt6 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/27.i--flex-syntax.re b/test/posix_captures/repetition/27.i--flex-syntax.re
new file mode 100644
index 00000000..0643a695
--- /dev/null
+++ b/test/posix_captures/repetition/27.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/28.i--flex-syntax.c b/test/posix_captures/repetition/28.i--flex-syntax.c
new file mode 100644
index 00000000..678a7a92
--- /dev/null
+++ b/test/posix_captures/repetition/28.i--flex-syntax.c
@@ -0,0 +1,47 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt2 = yyt4 = yyt6 = YYCURSOR;
+ goto yy3;
+ }
+ yyt2 = yyt3 = yyt4 = yyt5 = yyt6 = yyt7 = NULL;
+ yyt1 = YYCURSOR;
+yy2:
+ yynmatch = 4;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[4] = yyt4;
+ yypmatch[5] = yyt5;
+ yypmatch[6] = yyt6;
+ yypmatch[7] = yyt7;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt5 = NULL;
+ yyt3 = yyt7 = YYCURSOR;
+ goto yy2;
+ }
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt6 = yyt7 = NULL;
+ yyt3 = yyt5 = YYCURSOR;
+ goto yy2;
+ }
+ yyt2 = yyt4 = yyt6 = YYCURSOR;
+ goto yy3;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/repetition/28.i--flex-syntax.re b/test/posix_captures/repetition/28.i--flex-syntax.re
new file mode 100644
index 00000000..fe539f85
--- /dev/null
+++ b/test/posix_captures/repetition/28.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/29.i--flex-syntax.c b/test/posix_captures/repetition/29.i--flex-syntax.c
new file mode 100644
index 00000000..1ae28e02
--- /dev/null
+++ b/test/posix_captures/repetition/29.i--flex-syntax.c
@@ -0,0 +1,38 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+ yyt2 = yyt3 = NULL;
+ yyt5 = YYCURSOR;
+yy4:
+ yynmatch = 4;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy5:
+ ++YYCURSOR;
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/29.i--flex-syntax.re b/test/posix_captures/repetition/29.i--flex-syntax.re
new file mode 100644
index 00000000..29f4067c
--- /dev/null
+++ b/test/posix_captures/repetition/29.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/30.i--flex-syntax.c b/test/posix_captures/repetition/30.i--flex-syntax.c
new file mode 100644
index 00000000..5d982296
--- /dev/null
+++ b/test/posix_captures/repetition/30.i--flex-syntax.c
@@ -0,0 +1,66 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt3 = NULL;
+ yyt5 = yyt6 = yyt9 = YYCURSOR;
+ goto yy5;
+ }
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt4 = yyt5 = NULL;
+ yyt3 = yyt6 = yyt7 = yyt9 = YYCURSOR;
+ goto yy7;
+ }
+ yyt7 = yyt8 = NULL;
+ yyt10 = YYCURSOR;
+yy6:
+ yynmatch = 7;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[8] = yyt6;
+ yypmatch[10] = yyt7;
+ yypmatch[11] = yyt8;
+ yypmatch[12] = yyt9;
+ yypmatch[13] = yyt10;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt6;
+ yypmatch[9] = YYCURSOR;
+ {}
+yy7:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt1;
+ yyt7 = yyt8 = NULL;
+ yyt10 = YYCURSOR;
+ goto yy6;
+ }
+ ++YYCURSOR;
+ yyt2 = yyt1;
+ yyt9 = yyt10 = NULL;
+ yyt8 = YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/30.i--flex-syntax.re b/test/posix_captures/repetition/30.i--flex-syntax.re
new file mode 100644
index 00000000..ee01941b
--- /dev/null
+++ b/test/posix_captures/repetition/30.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/31.i--flex-syntax.c b/test/posix_captures/repetition/31.i--flex-syntax.c
new file mode 100644
index 00000000..7c9bacb0
--- /dev/null
+++ b/test/posix_captures/repetition/31.i--flex-syntax.c
@@ -0,0 +1,101 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt3 = NULL;
+ yyt5 = yyt6 = yyt9 = YYCURSOR;
+ goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy4;
+ yyt7 = yyt8 = yyt15 = NULL;
+ yyt10 = yyt11 = yyt12 = yyt13 = yyt14 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt7 = yyt8 = NULL;
+ yyt10 = yyt11 = yyt14 = YYCURSOR;
+ goto yy8;
+ }
+ yyt12 = yyt13 = NULL;
+ yyt15 = YYCURSOR;
+yy7:
+ yynmatch = 10;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[8] = yyt6;
+ yypmatch[10] = yyt7;
+ yypmatch[11] = yyt8;
+ yypmatch[12] = yyt9;
+ yypmatch[13] = yyt10;
+ yypmatch[14] = yyt11;
+ yypmatch[16] = yyt12;
+ yypmatch[17] = yyt13;
+ yypmatch[18] = yyt14;
+ yypmatch[19] = yyt15;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt6;
+ yypmatch[9] = yyt11;
+ yypmatch[15] = YYCURSOR;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt1;
+ yyt3 = yyt13;
+ yyt4 = yyt15;
+ yyt5 = yyt15;
+ yyt6 = yyt13;
+ yyt9 = yyt12;
+ yyt12 = yyt13 = NULL;
+ yyt15 = YYCURSOR;
+ goto yy7;
+ }
+ yyt9 = yyt10 = NULL;
+ yyt8 = yyt11 = yyt12 = yyt14 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt1;
+ yyt3 = yyt13;
+ yyt4 = yyt15;
+ yyt5 = yyt15;
+ yyt6 = yyt13;
+ yyt7 = yyt13;
+ yyt12 = yyt13 = NULL;
+ yyt15 = YYCURSOR;
+ goto yy7;
+ }
+ ++YYCURSOR;
+ yyt2 = yyt1;
+ yyt3 = yyt13;
+ yyt4 = yyt15;
+ yyt5 = yyt15;
+ yyt6 = yyt13;
+ yyt7 = yyt13;
+ yyt14 = yyt15 = NULL;
+ yyt13 = YYCURSOR;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/31.i--flex-syntax.re b/test/posix_captures/repetition/31.i--flex-syntax.re
new file mode 100644
index 00000000..c1e1671c
--- /dev/null
+++ b/test/posix_captures/repetition/31.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/32.i--flex-syntax.c b/test/posix_captures/repetition/32.i--flex-syntax.c
new file mode 100644
index 00000000..1ae28e02
--- /dev/null
+++ b/test/posix_captures/repetition/32.i--flex-syntax.c
@@ -0,0 +1,38 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+ yyt2 = yyt3 = NULL;
+ yyt5 = YYCURSOR;
+yy4:
+ yynmatch = 4;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy5:
+ ++YYCURSOR;
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/32.i--flex-syntax.re b/test/posix_captures/repetition/32.i--flex-syntax.re
new file mode 100644
index 00000000..20cc0785
--- /dev/null
+++ b/test/posix_captures/repetition/32.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/33.i--flex-syntax.c b/test/posix_captures/repetition/33.i--flex-syntax.c
new file mode 100644
index 00000000..7306fe13
--- /dev/null
+++ b/test/posix_captures/repetition/33.i--flex-syntax.c
@@ -0,0 +1,56 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt5 = YYCURSOR;
+ goto yy5;
+ }
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt3 = yyt5 = YYCURSOR;
+ goto yy7;
+ }
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+yy6:
+ yynmatch = 4;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[6] = yyt5;
+ yypmatch[7] = yyt6;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy7:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+ goto yy6;
+ }
+ ++YYCURSOR;
+ yyt5 = yyt6 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/33.i--flex-syntax.re b/test/posix_captures/repetition/33.i--flex-syntax.re
new file mode 100644
index 00000000..430e13a4
--- /dev/null
+++ b/test/posix_captures/repetition/33.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/34.i--flex-syntax.c b/test/posix_captures/repetition/34.i--flex-syntax.c
new file mode 100644
index 00000000..8d53bf90
--- /dev/null
+++ b/test/posix_captures/repetition/34.i--flex-syntax.c
@@ -0,0 +1,64 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy4;
+ yyt2 = yyt5 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt5 = YYCURSOR;
+ goto yy8;
+ }
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+yy7:
+ yynmatch = 4;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[6] = yyt5;
+ yypmatch[7] = yyt6;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+ goto yy7;
+ }
+ yyt2 = yyt3 = yyt5 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+ goto yy7;
+ }
+ ++YYCURSOR;
+ yyt5 = yyt6 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/34.i--flex-syntax.re b/test/posix_captures/repetition/34.i--flex-syntax.re
new file mode 100644
index 00000000..0643a695
--- /dev/null
+++ b/test/posix_captures/repetition/34.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/35.i--flex-syntax.c b/test/posix_captures/repetition/35.i--flex-syntax.c
new file mode 100644
index 00000000..678a7a92
--- /dev/null
+++ b/test/posix_captures/repetition/35.i--flex-syntax.c
@@ -0,0 +1,47 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt2 = yyt4 = yyt6 = YYCURSOR;
+ goto yy3;
+ }
+ yyt2 = yyt3 = yyt4 = yyt5 = yyt6 = yyt7 = NULL;
+ yyt1 = YYCURSOR;
+yy2:
+ yynmatch = 4;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[4] = yyt4;
+ yypmatch[5] = yyt5;
+ yypmatch[6] = yyt6;
+ yypmatch[7] = yyt7;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt5 = NULL;
+ yyt3 = yyt7 = YYCURSOR;
+ goto yy2;
+ }
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt6 = yyt7 = NULL;
+ yyt3 = yyt5 = YYCURSOR;
+ goto yy2;
+ }
+ yyt2 = yyt4 = yyt6 = YYCURSOR;
+ goto yy3;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/repetition/35.i--flex-syntax.re b/test/posix_captures/repetition/35.i--flex-syntax.re
new file mode 100644
index 00000000..fe539f85
--- /dev/null
+++ b/test/posix_captures/repetition/35.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/36.i--flex-syntax.c b/test/posix_captures/repetition/36.i--flex-syntax.c
new file mode 100644
index 00000000..1ae28e02
--- /dev/null
+++ b/test/posix_captures/repetition/36.i--flex-syntax.c
@@ -0,0 +1,38 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+ yyt2 = yyt3 = NULL;
+ yyt5 = YYCURSOR;
+yy4:
+ yynmatch = 4;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy5:
+ ++YYCURSOR;
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/36.i--flex-syntax.re b/test/posix_captures/repetition/36.i--flex-syntax.re
new file mode 100644
index 00000000..29f4067c
--- /dev/null
+++ b/test/posix_captures/repetition/36.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/37.i--flex-syntax.c b/test/posix_captures/repetition/37.i--flex-syntax.c
new file mode 100644
index 00000000..5d982296
--- /dev/null
+++ b/test/posix_captures/repetition/37.i--flex-syntax.c
@@ -0,0 +1,66 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt3 = NULL;
+ yyt5 = yyt6 = yyt9 = YYCURSOR;
+ goto yy5;
+ }
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt4 = yyt5 = NULL;
+ yyt3 = yyt6 = yyt7 = yyt9 = YYCURSOR;
+ goto yy7;
+ }
+ yyt7 = yyt8 = NULL;
+ yyt10 = YYCURSOR;
+yy6:
+ yynmatch = 7;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[8] = yyt6;
+ yypmatch[10] = yyt7;
+ yypmatch[11] = yyt8;
+ yypmatch[12] = yyt9;
+ yypmatch[13] = yyt10;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt6;
+ yypmatch[9] = YYCURSOR;
+ {}
+yy7:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt1;
+ yyt7 = yyt8 = NULL;
+ yyt10 = YYCURSOR;
+ goto yy6;
+ }
+ ++YYCURSOR;
+ yyt2 = yyt1;
+ yyt9 = yyt10 = NULL;
+ yyt8 = YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/37.i--flex-syntax.re b/test/posix_captures/repetition/37.i--flex-syntax.re
new file mode 100644
index 00000000..ee01941b
--- /dev/null
+++ b/test/posix_captures/repetition/37.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/38.i--flex-syntax.c b/test/posix_captures/repetition/38.i--flex-syntax.c
new file mode 100644
index 00000000..7c9bacb0
--- /dev/null
+++ b/test/posix_captures/repetition/38.i--flex-syntax.c
@@ -0,0 +1,101 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt3 = NULL;
+ yyt5 = yyt6 = yyt9 = YYCURSOR;
+ goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy4;
+ yyt7 = yyt8 = yyt15 = NULL;
+ yyt10 = yyt11 = yyt12 = yyt13 = yyt14 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt7 = yyt8 = NULL;
+ yyt10 = yyt11 = yyt14 = YYCURSOR;
+ goto yy8;
+ }
+ yyt12 = yyt13 = NULL;
+ yyt15 = YYCURSOR;
+yy7:
+ yynmatch = 10;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[8] = yyt6;
+ yypmatch[10] = yyt7;
+ yypmatch[11] = yyt8;
+ yypmatch[12] = yyt9;
+ yypmatch[13] = yyt10;
+ yypmatch[14] = yyt11;
+ yypmatch[16] = yyt12;
+ yypmatch[17] = yyt13;
+ yypmatch[18] = yyt14;
+ yypmatch[19] = yyt15;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt6;
+ yypmatch[9] = yyt11;
+ yypmatch[15] = YYCURSOR;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt1;
+ yyt3 = yyt13;
+ yyt4 = yyt15;
+ yyt5 = yyt15;
+ yyt6 = yyt13;
+ yyt9 = yyt12;
+ yyt12 = yyt13 = NULL;
+ yyt15 = YYCURSOR;
+ goto yy7;
+ }
+ yyt9 = yyt10 = NULL;
+ yyt8 = yyt11 = yyt12 = yyt14 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt1;
+ yyt3 = yyt13;
+ yyt4 = yyt15;
+ yyt5 = yyt15;
+ yyt6 = yyt13;
+ yyt7 = yyt13;
+ yyt12 = yyt13 = NULL;
+ yyt15 = YYCURSOR;
+ goto yy7;
+ }
+ ++YYCURSOR;
+ yyt2 = yyt1;
+ yyt3 = yyt13;
+ yyt4 = yyt15;
+ yyt5 = yyt15;
+ yyt6 = yyt13;
+ yyt7 = yyt13;
+ yyt14 = yyt15 = NULL;
+ yyt13 = YYCURSOR;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/38.i--flex-syntax.re b/test/posix_captures/repetition/38.i--flex-syntax.re
new file mode 100644
index 00000000..c1e1671c
--- /dev/null
+++ b/test/posix_captures/repetition/38.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/39.i--flex-syntax.c b/test/posix_captures/repetition/39.i--flex-syntax.c
new file mode 100644
index 00000000..1ae28e02
--- /dev/null
+++ b/test/posix_captures/repetition/39.i--flex-syntax.c
@@ -0,0 +1,38 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+ yyt2 = yyt3 = NULL;
+ yyt5 = YYCURSOR;
+yy4:
+ yynmatch = 4;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy5:
+ ++YYCURSOR;
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/39.i--flex-syntax.re b/test/posix_captures/repetition/39.i--flex-syntax.re
new file mode 100644
index 00000000..20cc0785
--- /dev/null
+++ b/test/posix_captures/repetition/39.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/40.i--flex-syntax.c b/test/posix_captures/repetition/40.i--flex-syntax.c
new file mode 100644
index 00000000..7306fe13
--- /dev/null
+++ b/test/posix_captures/repetition/40.i--flex-syntax.c
@@ -0,0 +1,56 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt5 = YYCURSOR;
+ goto yy5;
+ }
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt3 = yyt5 = YYCURSOR;
+ goto yy7;
+ }
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+yy6:
+ yynmatch = 4;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[6] = yyt5;
+ yypmatch[7] = yyt6;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy7:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+ goto yy6;
+ }
+ ++YYCURSOR;
+ yyt5 = yyt6 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/40.i--flex-syntax.re b/test/posix_captures/repetition/40.i--flex-syntax.re
new file mode 100644
index 00000000..430e13a4
--- /dev/null
+++ b/test/posix_captures/repetition/40.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/41.i--flex-syntax.c b/test/posix_captures/repetition/41.i--flex-syntax.c
new file mode 100644
index 00000000..8d53bf90
--- /dev/null
+++ b/test/posix_captures/repetition/41.i--flex-syntax.c
@@ -0,0 +1,64 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy4;
+ yyt2 = yyt5 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt5 = YYCURSOR;
+ goto yy8;
+ }
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+yy7:
+ yynmatch = 4;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[6] = yyt5;
+ yypmatch[7] = yyt6;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+ goto yy7;
+ }
+ yyt2 = yyt3 = yyt5 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+ goto yy7;
+ }
+ ++YYCURSOR;
+ yyt5 = yyt6 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/41.i--flex-syntax.re b/test/posix_captures/repetition/41.i--flex-syntax.re
new file mode 100644
index 00000000..0643a695
--- /dev/null
+++ b/test/posix_captures/repetition/41.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/42.i--flex-syntax.c b/test/posix_captures/repetition/42.i--flex-syntax.c
new file mode 100644
index 00000000..678a7a92
--- /dev/null
+++ b/test/posix_captures/repetition/42.i--flex-syntax.c
@@ -0,0 +1,47 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt2 = yyt4 = yyt6 = YYCURSOR;
+ goto yy3;
+ }
+ yyt2 = yyt3 = yyt4 = yyt5 = yyt6 = yyt7 = NULL;
+ yyt1 = YYCURSOR;
+yy2:
+ yynmatch = 4;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[4] = yyt4;
+ yypmatch[5] = yyt5;
+ yypmatch[6] = yyt6;
+ yypmatch[7] = yyt7;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt5 = NULL;
+ yyt3 = yyt7 = YYCURSOR;
+ goto yy2;
+ }
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt6 = yyt7 = NULL;
+ yyt3 = yyt5 = YYCURSOR;
+ goto yy2;
+ }
+ yyt2 = yyt4 = yyt6 = YYCURSOR;
+ goto yy3;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/repetition/42.i--flex-syntax.re b/test/posix_captures/repetition/42.i--flex-syntax.re
new file mode 100644
index 00000000..fe539f85
--- /dev/null
+++ b/test/posix_captures/repetition/42.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/43.i--flex-syntax.c b/test/posix_captures/repetition/43.i--flex-syntax.c
new file mode 100644
index 00000000..1ae28e02
--- /dev/null
+++ b/test/posix_captures/repetition/43.i--flex-syntax.c
@@ -0,0 +1,38 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+ yyt2 = yyt3 = NULL;
+ yyt5 = YYCURSOR;
+yy4:
+ yynmatch = 4;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy5:
+ ++YYCURSOR;
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/43.i--flex-syntax.re b/test/posix_captures/repetition/43.i--flex-syntax.re
new file mode 100644
index 00000000..29f4067c
--- /dev/null
+++ b/test/posix_captures/repetition/43.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/44.i--flex-syntax.c b/test/posix_captures/repetition/44.i--flex-syntax.c
new file mode 100644
index 00000000..5d982296
--- /dev/null
+++ b/test/posix_captures/repetition/44.i--flex-syntax.c
@@ -0,0 +1,66 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt3 = NULL;
+ yyt5 = yyt6 = yyt9 = YYCURSOR;
+ goto yy5;
+ }
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt4 = yyt5 = NULL;
+ yyt3 = yyt6 = yyt7 = yyt9 = YYCURSOR;
+ goto yy7;
+ }
+ yyt7 = yyt8 = NULL;
+ yyt10 = YYCURSOR;
+yy6:
+ yynmatch = 7;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[8] = yyt6;
+ yypmatch[10] = yyt7;
+ yypmatch[11] = yyt8;
+ yypmatch[12] = yyt9;
+ yypmatch[13] = yyt10;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt6;
+ yypmatch[9] = YYCURSOR;
+ {}
+yy7:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt1;
+ yyt7 = yyt8 = NULL;
+ yyt10 = YYCURSOR;
+ goto yy6;
+ }
+ ++YYCURSOR;
+ yyt2 = yyt1;
+ yyt9 = yyt10 = NULL;
+ yyt8 = YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/44.i--flex-syntax.re b/test/posix_captures/repetition/44.i--flex-syntax.re
new file mode 100644
index 00000000..ee01941b
--- /dev/null
+++ b/test/posix_captures/repetition/44.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/45.i--flex-syntax.c b/test/posix_captures/repetition/45.i--flex-syntax.c
new file mode 100644
index 00000000..7c9bacb0
--- /dev/null
+++ b/test/posix_captures/repetition/45.i--flex-syntax.c
@@ -0,0 +1,101 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt3 = NULL;
+ yyt5 = yyt6 = yyt9 = YYCURSOR;
+ goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy4;
+ yyt7 = yyt8 = yyt15 = NULL;
+ yyt10 = yyt11 = yyt12 = yyt13 = yyt14 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt7 = yyt8 = NULL;
+ yyt10 = yyt11 = yyt14 = YYCURSOR;
+ goto yy8;
+ }
+ yyt12 = yyt13 = NULL;
+ yyt15 = YYCURSOR;
+yy7:
+ yynmatch = 10;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[8] = yyt6;
+ yypmatch[10] = yyt7;
+ yypmatch[11] = yyt8;
+ yypmatch[12] = yyt9;
+ yypmatch[13] = yyt10;
+ yypmatch[14] = yyt11;
+ yypmatch[16] = yyt12;
+ yypmatch[17] = yyt13;
+ yypmatch[18] = yyt14;
+ yypmatch[19] = yyt15;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt6;
+ yypmatch[9] = yyt11;
+ yypmatch[15] = YYCURSOR;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt1;
+ yyt3 = yyt13;
+ yyt4 = yyt15;
+ yyt5 = yyt15;
+ yyt6 = yyt13;
+ yyt9 = yyt12;
+ yyt12 = yyt13 = NULL;
+ yyt15 = YYCURSOR;
+ goto yy7;
+ }
+ yyt9 = yyt10 = NULL;
+ yyt8 = yyt11 = yyt12 = yyt14 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt2 = yyt1;
+ yyt3 = yyt13;
+ yyt4 = yyt15;
+ yyt5 = yyt15;
+ yyt6 = yyt13;
+ yyt7 = yyt13;
+ yyt12 = yyt13 = NULL;
+ yyt15 = YYCURSOR;
+ goto yy7;
+ }
+ ++YYCURSOR;
+ yyt2 = yyt1;
+ yyt3 = yyt13;
+ yyt4 = yyt15;
+ yyt5 = yyt15;
+ yyt6 = yyt13;
+ yyt7 = yyt13;
+ yyt14 = yyt15 = NULL;
+ yyt13 = YYCURSOR;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/45.i--flex-syntax.re b/test/posix_captures/repetition/45.i--flex-syntax.re
new file mode 100644
index 00000000..c1e1671c
--- /dev/null
+++ b/test/posix_captures/repetition/45.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/46.i--flex-syntax.c b/test/posix_captures/repetition/46.i--flex-syntax.c
new file mode 100644
index 00000000..1ae28e02
--- /dev/null
+++ b/test/posix_captures/repetition/46.i--flex-syntax.c
@@ -0,0 +1,38 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt2 = yyt4 = YYCURSOR;
+ goto yy3;
+ }
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+ yyt2 = yyt3 = NULL;
+ yyt5 = YYCURSOR;
+yy4:
+ yynmatch = 4;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[6] = yyt4;
+ yypmatch[7] = yyt5;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy5:
+ ++YYCURSOR;
+ yyt4 = yyt5 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/46.i--flex-syntax.re b/test/posix_captures/repetition/46.i--flex-syntax.re
new file mode 100644
index 00000000..20cc0785
--- /dev/null
+++ b/test/posix_captures/repetition/46.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/47.i--flex-syntax.c b/test/posix_captures/repetition/47.i--flex-syntax.c
new file mode 100644
index 00000000..7306fe13
--- /dev/null
+++ b/test/posix_captures/repetition/47.i--flex-syntax.c
@@ -0,0 +1,56 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt5 = YYCURSOR;
+ goto yy5;
+ }
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt3 = yyt5 = YYCURSOR;
+ goto yy7;
+ }
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+yy6:
+ yynmatch = 4;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[6] = yyt5;
+ yypmatch[7] = yyt6;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy7:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+ goto yy6;
+ }
+ ++YYCURSOR;
+ yyt5 = yyt6 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy6;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/47.i--flex-syntax.re b/test/posix_captures/repetition/47.i--flex-syntax.re
new file mode 100644
index 00000000..430e13a4
--- /dev/null
+++ b/test/posix_captures/repetition/47.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/48.i--flex-syntax.c b/test/posix_captures/repetition/48.i--flex-syntax.c
new file mode 100644
index 00000000..8d53bf90
--- /dev/null
+++ b/test/posix_captures/repetition/48.i--flex-syntax.c
@@ -0,0 +1,64 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych >= 0x01) {
+ yyt1 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) goto yy5;
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) goto yy4;
+ yyt2 = yyt5 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych >= 0x01) {
+ yyt2 = yyt5 = YYCURSOR;
+ goto yy8;
+ }
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+yy7:
+ yynmatch = 4;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[6] = yyt5;
+ yypmatch[7] = yyt6;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+ goto yy7;
+ }
+ yyt2 = yyt3 = yyt5 = YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= 0x00) {
+ yyt3 = yyt4 = NULL;
+ yyt6 = YYCURSOR;
+ goto yy7;
+ }
+ ++YYCURSOR;
+ yyt5 = yyt6 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/48.i--flex-syntax.re b/test/posix_captures/repetition/48.i--flex-syntax.re
new file mode 100644
index 00000000..0643a695
--- /dev/null
+++ b/test/posix_captures/repetition/48.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/49.i--flex-syntax.c b/test/posix_captures/repetition/49.i--flex-syntax.c
new file mode 100644
index 00000000..678a7a92
--- /dev/null
+++ b/test/posix_captures/repetition/49.i--flex-syntax.c
@@ -0,0 +1,47 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych >= 0x01) {
+ yyt1 = yyt2 = yyt4 = yyt6 = YYCURSOR;
+ goto yy3;
+ }
+ yyt2 = yyt3 = yyt4 = yyt5 = yyt6 = yyt7 = NULL;
+ yyt1 = YYCURSOR;
+yy2:
+ yynmatch = 4;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[4] = yyt4;
+ yypmatch[5] = yyt5;
+ yypmatch[6] = yyt6;
+ yypmatch[7] = yyt7;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt4 = yyt5 = NULL;
+ yyt3 = yyt7 = YYCURSOR;
+ goto yy2;
+ }
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= 0x00) {
+ yyt6 = yyt7 = NULL;
+ yyt3 = yyt5 = YYCURSOR;
+ goto yy2;
+ }
+ yyt2 = yyt4 = yyt6 = YYCURSOR;
+ goto yy3;
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/repetition/49.i--flex-syntax.re b/test/posix_captures/repetition/49.i--flex-syntax.re
new file mode 100644
index 00000000..fe539f85
--- /dev/null
+++ b/test/posix_captures/repetition/49.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/50.i--flex-syntax.c b/test/posix_captures/repetition/50.i--flex-syntax.c
new file mode 100644
index 00000000..a30233c6
--- /dev/null
+++ b/test/posix_captures/repetition/50.i--flex-syntax.c
@@ -0,0 +1,85 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'X':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y':
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy7;
+ default: goto yy6;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy2;
+ } else {
+ goto yy8;
+ }
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy6:
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy5;
+ }
+yy7:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'Y':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy9;
+ default: goto yy10;
+ }
+yy8:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy9:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy10:
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt4;
+ goto yy8;
+ case 'Y':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt2 = yyt4;
+ yyt4 = YYCURSOR;
+ goto yy5;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/50.i--flex-syntax.re b/test/posix_captures/repetition/50.i--flex-syntax.re
new file mode 100644
index 00000000..33c34dab
--- /dev/null
+++ b/test/posix_captures/repetition/50.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/51.i--flex-syntax.c b/test/posix_captures/repetition/51.i--flex-syntax.c
new file mode 100644
index 00000000..05e948f7
--- /dev/null
+++ b/test/posix_captures/repetition/51.i--flex-syntax.c
@@ -0,0 +1,85 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'X':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy7;
+ default: goto yy6;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy2;
+ } else {
+ goto yy8;
+ }
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy6:
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy5;
+ }
+yy7:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy10;
+ }
+yy8:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+yy9:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy10:
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy8;
+ case 'Y':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy5;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/51.i--flex-syntax.re b/test/posix_captures/repetition/51.i--flex-syntax.re
new file mode 100644
index 00000000..bf9cfaf6
--- /dev/null
+++ b/test/posix_captures/repetition/51.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/52.i--flex-syntax.c b/test/posix_captures/repetition/52.i--flex-syntax.c
new file mode 100644
index 00000000..1bc07695
--- /dev/null
+++ b/test/posix_captures/repetition/52.i--flex-syntax.c
@@ -0,0 +1,106 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'X':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy2;
+ } else {
+ goto yy7;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy10;
+ default: goto yy9;
+ }
+yy6:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy10;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy7:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+yy8:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy9:
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy10:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy12;
+ }
+yy11:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy12:
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy7;
+ case 'Y':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/52.i--flex-syntax.re b/test/posix_captures/repetition/52.i--flex-syntax.re
new file mode 100644
index 00000000..f2c54eac
--- /dev/null
+++ b/test/posix_captures/repetition/52.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/53.i--flex-syntax.c b/test/posix_captures/repetition/53.i--flex-syntax.c
new file mode 100644
index 00000000..4ff182d4
--- /dev/null
+++ b/test/posix_captures/repetition/53.i--flex-syntax.c
@@ -0,0 +1,125 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'X':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy2;
+ } else {
+ goto yy7;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy6:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy7:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy12;
+ default: goto yy11;
+ }
+yy9:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy12;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy10;
+ }
+yy10:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy11:
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy10;
+ }
+yy12:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ default: goto yy14;
+ }
+yy13:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy14:
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy7;
+ case 'Y':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy13;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy10;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/53.i--flex-syntax.re b/test/posix_captures/repetition/53.i--flex-syntax.re
new file mode 100644
index 00000000..bf6a8af5
--- /dev/null
+++ b/test/posix_captures/repetition/53.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/54.i--flex-syntax.c b/test/posix_captures/repetition/54.i--flex-syntax.c
new file mode 100644
index 00000000..f147e527
--- /dev/null
+++ b/test/posix_captures/repetition/54.i--flex-syntax.c
@@ -0,0 +1,144 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'X':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy2;
+ } else {
+ goto yy7;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy6:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy7:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy9:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy14;
+ default: goto yy13;
+ }
+yy11:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy14;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy12;
+ }
+yy12:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy13:
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy15;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy12;
+ }
+yy14:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy15;
+ default: goto yy16;
+ }
+yy15:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy16:
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy7;
+ case 'Y':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy15;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy12;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/54.i--flex-syntax.re b/test/posix_captures/repetition/54.i--flex-syntax.re
new file mode 100644
index 00000000..90b51138
--- /dev/null
+++ b/test/posix_captures/repetition/54.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/55.i--flex-syntax.c b/test/posix_captures/repetition/55.i--flex-syntax.c
new file mode 100644
index 00000000..758aa39b
--- /dev/null
+++ b/test/posix_captures/repetition/55.i--flex-syntax.c
@@ -0,0 +1,163 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'X':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy2;
+ } else {
+ goto yy7;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy6:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy7:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy9:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ default: goto yy12;
+ }
+yy11:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ default: goto yy12;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default: goto yy15;
+ }
+yy13:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy14;
+ }
+yy14:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy15:
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy17;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy14;
+ }
+yy16:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy17;
+ default: goto yy18;
+ }
+yy17:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy18:
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy7;
+ case 'Y':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy17;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy14;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/55.i--flex-syntax.re b/test/posix_captures/repetition/55.i--flex-syntax.re
new file mode 100644
index 00000000..87c2af55
--- /dev/null
+++ b/test/posix_captures/repetition/55.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/56.i--flex-syntax.c b/test/posix_captures/repetition/56.i--flex-syntax.c
new file mode 100644
index 00000000..74bfdc5d
--- /dev/null
+++ b/test/posix_captures/repetition/56.i--flex-syntax.c
@@ -0,0 +1,182 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 8) YYFILL(8);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'X':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy2;
+ } else {
+ goto yy7;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy6:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy7:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy9:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ default: goto yy12;
+ }
+yy11:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ default: goto yy12;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy15;
+ default: goto yy14;
+ }
+yy13:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy15;
+ default: goto yy14;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy18;
+ default: goto yy17;
+ }
+yy15:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy18;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy16;
+ }
+yy16:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy17:
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy19;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy16;
+ }
+yy18:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy19;
+ default: goto yy20;
+ }
+yy19:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy20:
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy7;
+ case 'Y':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy19;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy16;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/56.i--flex-syntax.re b/test/posix_captures/repetition/56.i--flex-syntax.re
new file mode 100644
index 00000000..14fc63a4
--- /dev/null
+++ b/test/posix_captures/repetition/56.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/57.i--flex-syntax.c b/test/posix_captures/repetition/57.i--flex-syntax.c
new file mode 100644
index 00000000..f5e0f460
--- /dev/null
+++ b/test/posix_captures/repetition/57.i--flex-syntax.c
@@ -0,0 +1,201 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 9) YYFILL(9);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'X':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy2;
+ } else {
+ goto yy7;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy6:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy7:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy9:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ default: goto yy12;
+ }
+yy11:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ default: goto yy12;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy15;
+ default: goto yy14;
+ }
+yy13:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy15;
+ default: goto yy14;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy17;
+ default: goto yy16;
+ }
+yy15:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy17;
+ default: goto yy16;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy20;
+ default: goto yy19;
+ }
+yy17:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy20;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy18;
+ }
+yy18:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy19:
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy21;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy18;
+ }
+yy20:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy21;
+ default: goto yy22;
+ }
+yy21:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy22:
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy7;
+ case 'Y':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy21;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy18;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/57.i--flex-syntax.re b/test/posix_captures/repetition/57.i--flex-syntax.re
new file mode 100644
index 00000000..2b45e70b
--- /dev/null
+++ b/test/posix_captures/repetition/57.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/58.i--flex-syntax.c b/test/posix_captures/repetition/58.i--flex-syntax.c
new file mode 100644
index 00000000..9e5193f8
--- /dev/null
+++ b/test/posix_captures/repetition/58.i--flex-syntax.c
@@ -0,0 +1,220 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'X':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy2;
+ } else {
+ goto yy7;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy6:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy7:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy9:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ default: goto yy12;
+ }
+yy11:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ default: goto yy12;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy15;
+ default: goto yy14;
+ }
+yy13:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy15;
+ default: goto yy14;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy17;
+ default: goto yy16;
+ }
+yy15:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy17;
+ default: goto yy16;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy19;
+ default: goto yy18;
+ }
+yy17:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy19;
+ default: goto yy18;
+ }
+yy18:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default: goto yy21;
+ }
+yy19:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy20;
+ }
+yy20:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy21:
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy23;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy20;
+ }
+yy22:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy23;
+ default: goto yy24;
+ }
+yy23:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy24:
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy7;
+ case 'Y':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy23;
+ default:
+ yyt2 = yyt3;
+ yyt3 = YYCURSOR;
+ goto yy20;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/58.i--flex-syntax.re b/test/posix_captures/repetition/58.i--flex-syntax.re
new file mode 100644
index 00000000..f858b343
--- /dev/null
+++ b/test/posix_captures/repetition/58.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/59.i--flex-syntax.c b/test/posix_captures/repetition/59.i--flex-syntax.c
new file mode 100644
index 00000000..0168779f
--- /dev/null
+++ b/test/posix_captures/repetition/59.i--flex-syntax.c
@@ -0,0 +1,253 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'X':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy6;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1: goto yy7;
+ case 2:
+ yyt2 = yyt4;
+ goto yy7;
+ case 3:
+ yyt2 = yyt5;
+ goto yy7;
+ case 4:
+ yyt2 = yyt6;
+ goto yy7;
+ case 5:
+ yyt2 = yyt7;
+ goto yy7;
+ default:
+ yyt2 = yyt8;
+ goto yy7;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy8;
+ }
+yy6:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy8;
+ }
+yy7:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt3 = yyt5 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt5 = YYCURSOR;
+ goto yy10;
+ }
+yy9:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt3 = yyt5 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt5 = YYCURSOR;
+ goto yy10;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt3 = yyt6 = YYCURSOR;
+ goto yy13;
+ default:
+ yyt6 = YYCURSOR;
+ goto yy12;
+ }
+yy11:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt4;
+ goto yy7;
+ case 'Y':
+ yyt3 = yyt6 = YYCURSOR;
+ goto yy13;
+ default:
+ yyt6 = YYCURSOR;
+ goto yy12;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt3 = yyt7 = YYCURSOR;
+ goto yy15;
+ default:
+ yyt7 = YYCURSOR;
+ goto yy14;
+ }
+yy13:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt5;
+ goto yy7;
+ case 'Y':
+ yyt3 = yyt7 = YYCURSOR;
+ goto yy15;
+ default:
+ yyt7 = YYCURSOR;
+ goto yy14;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt3 = yyt8 = YYCURSOR;
+ goto yy17;
+ default:
+ yyt8 = YYCURSOR;
+ goto yy16;
+ }
+yy15:
+ yyaccept = 4;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt6;
+ goto yy7;
+ case 'Y':
+ yyt3 = yyt8 = YYCURSOR;
+ goto yy17;
+ default:
+ yyt8 = YYCURSOR;
+ goto yy16;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt3 = yyt9 = YYCURSOR;
+ goto yy19;
+ default:
+ yyt9 = YYCURSOR;
+ goto yy18;
+ }
+yy17:
+ yyaccept = 5;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt7;
+ goto yy7;
+ case 'Y':
+ yyt3 = yyt9 = YYCURSOR;
+ goto yy19;
+ default:
+ yyt9 = YYCURSOR;
+ goto yy18;
+ }
+yy18:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt3 = yyt10 = YYCURSOR;
+ goto yy21;
+ default:
+ yyt10 = YYCURSOR;
+ goto yy20;
+ }
+yy19:
+ yyaccept = 6;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt8;
+ goto yy7;
+ case 'Y':
+ yyt3 = yyt10 = YYCURSOR;
+ goto yy21;
+ default:
+ yyt10 = YYCURSOR;
+ goto yy20;
+ }
+yy20:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default: goto yy4;
+ }
+yy21:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt2 = yyt9;
+ goto yy7;
+ }
+yy22:
+ ++YYCURSOR;
+ yyt2 = yyt10;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/59.i--flex-syntax.re b/test/posix_captures/repetition/59.i--flex-syntax.re
new file mode 100644
index 00000000..37c40ce5
--- /dev/null
+++ b/test/posix_captures/repetition/59.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/60.i--flex-syntax.c b/test/posix_captures/repetition/60.i--flex-syntax.c
new file mode 100644
index 00000000..f79fa692
--- /dev/null
+++ b/test/posix_captures/repetition/60.i--flex-syntax.c
@@ -0,0 +1,249 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'X':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1: goto yy7;
+ case 2:
+ yyt2 = yyt3;
+ goto yy7;
+ case 3:
+ yyt2 = yyt4;
+ goto yy7;
+ case 4:
+ yyt2 = yyt5;
+ goto yy7;
+ case 5:
+ yyt2 = yyt6;
+ goto yy7;
+ default:
+ yyt2 = yyt7;
+ goto yy7;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy6:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy7:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt4 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy10;
+ }
+yy9:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt4 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy10;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt5 = YYCURSOR;
+ goto yy13;
+ default:
+ yyt5 = YYCURSOR;
+ goto yy12;
+ }
+yy11:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy7;
+ case 'Y':
+ yyt5 = YYCURSOR;
+ goto yy13;
+ default:
+ yyt5 = YYCURSOR;
+ goto yy12;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt6 = YYCURSOR;
+ goto yy15;
+ default:
+ yyt6 = YYCURSOR;
+ goto yy14;
+ }
+yy13:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt4;
+ goto yy7;
+ case 'Y':
+ yyt6 = YYCURSOR;
+ goto yy15;
+ default:
+ yyt6 = YYCURSOR;
+ goto yy14;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt7 = YYCURSOR;
+ goto yy17;
+ default:
+ yyt7 = YYCURSOR;
+ goto yy16;
+ }
+yy15:
+ yyaccept = 4;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt5;
+ goto yy7;
+ case 'Y':
+ yyt7 = YYCURSOR;
+ goto yy17;
+ default:
+ yyt7 = YYCURSOR;
+ goto yy16;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt8 = YYCURSOR;
+ goto yy19;
+ default:
+ yyt8 = YYCURSOR;
+ goto yy18;
+ }
+yy17:
+ yyaccept = 5;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt6;
+ goto yy7;
+ case 'Y':
+ yyt8 = YYCURSOR;
+ goto yy19;
+ default:
+ yyt8 = YYCURSOR;
+ goto yy18;
+ }
+yy18:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt9 = YYCURSOR;
+ goto yy21;
+ default:
+ yyt9 = YYCURSOR;
+ goto yy20;
+ }
+yy19:
+ yyaccept = 6;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt7;
+ goto yy7;
+ case 'Y':
+ yyt9 = YYCURSOR;
+ goto yy21;
+ default:
+ yyt9 = YYCURSOR;
+ goto yy20;
+ }
+yy20:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y': goto yy22;
+ default: goto yy4;
+ }
+yy21:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y': goto yy22;
+ default:
+ yyt2 = yyt8;
+ goto yy7;
+ }
+yy22:
+ ++YYCURSOR;
+ yyt2 = yyt9;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/60.i--flex-syntax.re b/test/posix_captures/repetition/60.i--flex-syntax.re
new file mode 100644
index 00000000..2e2ca5b2
--- /dev/null
+++ b/test/posix_captures/repetition/60.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/61.i--flex-syntax.c b/test/posix_captures/repetition/61.i--flex-syntax.c
new file mode 100644
index 00000000..abe89e20
--- /dev/null
+++ b/test/posix_captures/repetition/61.i--flex-syntax.c
@@ -0,0 +1,249 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'X':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1: goto yy7;
+ case 2:
+ yyt2 = yyt3;
+ goto yy7;
+ case 3:
+ yyt2 = yyt4;
+ goto yy7;
+ case 4:
+ yyt2 = yyt5;
+ goto yy7;
+ case 5:
+ yyt2 = yyt6;
+ goto yy7;
+ default:
+ yyt2 = yyt7;
+ goto yy7;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy6:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy8;
+ }
+yy7:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt4 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy10;
+ }
+yy9:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy7;
+ case 'Y':
+ yyt4 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy10;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt5 = YYCURSOR;
+ goto yy13;
+ default:
+ yyt5 = YYCURSOR;
+ goto yy12;
+ }
+yy11:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy7;
+ case 'Y':
+ yyt5 = YYCURSOR;
+ goto yy13;
+ default:
+ yyt5 = YYCURSOR;
+ goto yy12;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt6 = YYCURSOR;
+ goto yy15;
+ default:
+ yyt6 = YYCURSOR;
+ goto yy14;
+ }
+yy13:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt4;
+ goto yy7;
+ case 'Y':
+ yyt6 = YYCURSOR;
+ goto yy15;
+ default:
+ yyt6 = YYCURSOR;
+ goto yy14;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt7 = YYCURSOR;
+ goto yy17;
+ default:
+ yyt7 = YYCURSOR;
+ goto yy16;
+ }
+yy15:
+ yyaccept = 4;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt5;
+ goto yy7;
+ case 'Y':
+ yyt7 = YYCURSOR;
+ goto yy17;
+ default:
+ yyt7 = YYCURSOR;
+ goto yy16;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt8 = YYCURSOR;
+ goto yy19;
+ default:
+ yyt8 = YYCURSOR;
+ goto yy18;
+ }
+yy17:
+ yyaccept = 5;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt6;
+ goto yy7;
+ case 'Y':
+ yyt8 = YYCURSOR;
+ goto yy19;
+ default:
+ yyt8 = YYCURSOR;
+ goto yy18;
+ }
+yy18:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt9 = YYCURSOR;
+ goto yy21;
+ default:
+ yyt9 = YYCURSOR;
+ goto yy20;
+ }
+yy19:
+ yyaccept = 6;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt7;
+ goto yy7;
+ case 'Y':
+ yyt9 = YYCURSOR;
+ goto yy21;
+ default:
+ yyt9 = YYCURSOR;
+ goto yy20;
+ }
+yy20:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y': goto yy22;
+ default: goto yy4;
+ }
+yy21:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y': goto yy22;
+ default:
+ yyt2 = yyt8;
+ goto yy7;
+ }
+yy22:
+ ++YYCURSOR;
+ yyt2 = yyt9;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/61.i--flex-syntax.re b/test/posix_captures/repetition/61.i--flex-syntax.re
new file mode 100644
index 00000000..25c1e7db
--- /dev/null
+++ b/test/posix_captures/repetition/61.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/62.i--flex-syntax.c b/test/posix_captures/repetition/62.i--flex-syntax.c
new file mode 100644
index 00000000..7942b60f
--- /dev/null
+++ b/test/posix_captures/repetition/62.i--flex-syntax.c
@@ -0,0 +1,240 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'X':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1: goto yy7;
+ case 2:
+ yyt2 = yyt3;
+ goto yy7;
+ case 3:
+ yyt2 = yyt4;
+ goto yy7;
+ case 4:
+ yyt2 = yyt5;
+ goto yy7;
+ default:
+ yyt2 = yyt6;
+ goto yy7;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy6:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy7:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy10;
+ }
+yy9:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy10;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt4 = YYCURSOR;
+ goto yy13;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy12;
+ }
+yy11:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy7;
+ case 'Y':
+ yyt4 = YYCURSOR;
+ goto yy13;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy12;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt5 = YYCURSOR;
+ goto yy15;
+ default:
+ yyt5 = YYCURSOR;
+ goto yy14;
+ }
+yy13:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy7;
+ case 'Y':
+ yyt5 = YYCURSOR;
+ goto yy15;
+ default:
+ yyt5 = YYCURSOR;
+ goto yy14;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt6 = YYCURSOR;
+ goto yy17;
+ default:
+ yyt6 = YYCURSOR;
+ goto yy16;
+ }
+yy15:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt4;
+ goto yy7;
+ case 'Y':
+ yyt6 = YYCURSOR;
+ goto yy17;
+ default:
+ yyt6 = YYCURSOR;
+ goto yy16;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt7 = YYCURSOR;
+ goto yy19;
+ default:
+ yyt7 = YYCURSOR;
+ goto yy18;
+ }
+yy17:
+ yyaccept = 4;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt5;
+ goto yy7;
+ case 'Y':
+ yyt7 = YYCURSOR;
+ goto yy19;
+ default:
+ yyt7 = YYCURSOR;
+ goto yy18;
+ }
+yy18:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt8 = YYCURSOR;
+ goto yy21;
+ default:
+ yyt8 = YYCURSOR;
+ goto yy20;
+ }
+yy19:
+ yyaccept = 5;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt6;
+ goto yy7;
+ case 'Y':
+ yyt8 = YYCURSOR;
+ goto yy21;
+ default:
+ yyt8 = YYCURSOR;
+ goto yy20;
+ }
+yy20:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y': goto yy22;
+ default: goto yy4;
+ }
+yy21:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y': goto yy22;
+ default:
+ yyt2 = yyt7;
+ goto yy7;
+ }
+yy22:
+ ++YYCURSOR;
+ yyt2 = yyt8;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/62.i--flex-syntax.re b/test/posix_captures/repetition/62.i--flex-syntax.re
new file mode 100644
index 00000000..2a6b34d7
--- /dev/null
+++ b/test/posix_captures/repetition/62.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/63.i--flex-syntax.c b/test/posix_captures/repetition/63.i--flex-syntax.c
new file mode 100644
index 00000000..28f7bf0b
--- /dev/null
+++ b/test/posix_captures/repetition/63.i--flex-syntax.c
@@ -0,0 +1,231 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'X':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1: goto yy7;
+ case 2:
+ yyt2 = yyt3;
+ goto yy7;
+ case 3:
+ yyt2 = yyt4;
+ goto yy7;
+ default:
+ yyt2 = yyt5;
+ goto yy7;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy6:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy7:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy9:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy13;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy12;
+ }
+yy11:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy13;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy12;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt4 = YYCURSOR;
+ goto yy15;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy14;
+ }
+yy13:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy7;
+ case 'Y':
+ yyt4 = YYCURSOR;
+ goto yy15;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy14;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt5 = YYCURSOR;
+ goto yy17;
+ default:
+ yyt5 = YYCURSOR;
+ goto yy16;
+ }
+yy15:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy7;
+ case 'Y':
+ yyt5 = YYCURSOR;
+ goto yy17;
+ default:
+ yyt5 = YYCURSOR;
+ goto yy16;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt6 = YYCURSOR;
+ goto yy19;
+ default:
+ yyt6 = YYCURSOR;
+ goto yy18;
+ }
+yy17:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt4;
+ goto yy7;
+ case 'Y':
+ yyt6 = YYCURSOR;
+ goto yy19;
+ default:
+ yyt6 = YYCURSOR;
+ goto yy18;
+ }
+yy18:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt7 = YYCURSOR;
+ goto yy21;
+ default:
+ yyt7 = YYCURSOR;
+ goto yy20;
+ }
+yy19:
+ yyaccept = 4;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt5;
+ goto yy7;
+ case 'Y':
+ yyt7 = YYCURSOR;
+ goto yy21;
+ default:
+ yyt7 = YYCURSOR;
+ goto yy20;
+ }
+yy20:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y': goto yy22;
+ default: goto yy4;
+ }
+yy21:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y': goto yy22;
+ default:
+ yyt2 = yyt6;
+ goto yy7;
+ }
+yy22:
+ ++YYCURSOR;
+ yyt2 = yyt7;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/63.i--flex-syntax.re b/test/posix_captures/repetition/63.i--flex-syntax.re
new file mode 100644
index 00000000..fa366459
--- /dev/null
+++ b/test/posix_captures/repetition/63.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/64.i--flex-syntax.c b/test/posix_captures/repetition/64.i--flex-syntax.c
new file mode 100644
index 00000000..89e8f22e
--- /dev/null
+++ b/test/posix_captures/repetition/64.i--flex-syntax.c
@@ -0,0 +1,222 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'X':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1: goto yy7;
+ case 2:
+ yyt2 = yyt3;
+ goto yy7;
+ default:
+ yyt2 = yyt4;
+ goto yy7;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy6:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy7:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy9:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ default: goto yy12;
+ }
+yy11:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ default: goto yy12;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy15;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy14;
+ }
+yy13:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy15;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy14;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt4 = YYCURSOR;
+ goto yy17;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy16;
+ }
+yy15:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy7;
+ case 'Y':
+ yyt4 = YYCURSOR;
+ goto yy17;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy16;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt5 = YYCURSOR;
+ goto yy19;
+ default:
+ yyt5 = YYCURSOR;
+ goto yy18;
+ }
+yy17:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy7;
+ case 'Y':
+ yyt5 = YYCURSOR;
+ goto yy19;
+ default:
+ yyt5 = YYCURSOR;
+ goto yy18;
+ }
+yy18:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt6 = YYCURSOR;
+ goto yy21;
+ default:
+ yyt6 = YYCURSOR;
+ goto yy20;
+ }
+yy19:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt4;
+ goto yy7;
+ case 'Y':
+ yyt6 = YYCURSOR;
+ goto yy21;
+ default:
+ yyt6 = YYCURSOR;
+ goto yy20;
+ }
+yy20:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y': goto yy22;
+ default: goto yy4;
+ }
+yy21:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y': goto yy22;
+ default:
+ yyt2 = yyt5;
+ goto yy7;
+ }
+yy22:
+ ++YYCURSOR;
+ yyt2 = yyt6;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/64.i--flex-syntax.re b/test/posix_captures/repetition/64.i--flex-syntax.re
new file mode 100644
index 00000000..d887065a
--- /dev/null
+++ b/test/posix_captures/repetition/64.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/65.i--flex-syntax.c b/test/posix_captures/repetition/65.i--flex-syntax.c
new file mode 100644
index 00000000..8302d2e6
--- /dev/null
+++ b/test/posix_captures/repetition/65.i--flex-syntax.c
@@ -0,0 +1,213 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'X':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1: goto yy7;
+ default:
+ yyt2 = yyt3;
+ goto yy7;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy6:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy7:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy9:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ default: goto yy12;
+ }
+yy11:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ default: goto yy12;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy15;
+ default: goto yy14;
+ }
+yy13:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy15;
+ default: goto yy14;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy17;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy16;
+ }
+yy15:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy17;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy16;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt4 = YYCURSOR;
+ goto yy19;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy18;
+ }
+yy17:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy7;
+ case 'Y':
+ yyt4 = YYCURSOR;
+ goto yy19;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy18;
+ }
+yy18:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt5 = YYCURSOR;
+ goto yy21;
+ default:
+ yyt5 = YYCURSOR;
+ goto yy20;
+ }
+yy19:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy7;
+ case 'Y':
+ yyt5 = YYCURSOR;
+ goto yy21;
+ default:
+ yyt5 = YYCURSOR;
+ goto yy20;
+ }
+yy20:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y': goto yy22;
+ default: goto yy4;
+ }
+yy21:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y': goto yy22;
+ default:
+ yyt2 = yyt4;
+ goto yy7;
+ }
+yy22:
+ ++YYCURSOR;
+ yyt2 = yyt5;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/65.i--flex-syntax.re b/test/posix_captures/repetition/65.i--flex-syntax.re
new file mode 100644
index 00000000..667db585
--- /dev/null
+++ b/test/posix_captures/repetition/65.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/66.i--flex-syntax.c b/test/posix_captures/repetition/66.i--flex-syntax.c
new file mode 100644
index 00000000..1a89c9d5
--- /dev/null
+++ b/test/posix_captures/repetition/66.i--flex-syntax.c
@@ -0,0 +1,207 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'X':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1: goto yy7;
+ default:
+ yyt2 = yyt3;
+ goto yy7;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy6:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy7:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy9:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ default: goto yy12;
+ }
+yy11:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ default: goto yy12;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy15;
+ default: goto yy14;
+ }
+yy13:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy15;
+ default: goto yy14;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy17;
+ default: goto yy16;
+ }
+yy15:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy17;
+ default: goto yy16;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy19;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy18;
+ }
+yy17:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy19;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy18;
+ }
+yy18:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt4 = YYCURSOR;
+ goto yy21;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy20;
+ }
+yy19:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00:
+ yyt2 = yyt3;
+ goto yy7;
+ case 'Y':
+ yyt4 = YYCURSOR;
+ goto yy21;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy20;
+ }
+yy20:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y': goto yy22;
+ default: goto yy4;
+ }
+yy21:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y': goto yy22;
+ default:
+ yyt2 = yyt3;
+ goto yy7;
+ }
+yy22:
+ ++YYCURSOR;
+ yyt2 = yyt4;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/66.i--flex-syntax.re b/test/posix_captures/repetition/66.i--flex-syntax.re
new file mode 100644
index 00000000..b909f287
--- /dev/null
+++ b/test/posix_captures/repetition/66.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/67.i--flex-syntax.c b/test/posix_captures/repetition/67.i--flex-syntax.c
new file mode 100644
index 00000000..e41ce6f1
--- /dev/null
+++ b/test/posix_captures/repetition/67.i--flex-syntax.c
@@ -0,0 +1,199 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'X':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy2;
+ } else {
+ goto yy7;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy6:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy7:
+ yynmatch = 2;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = YYCURSOR - 1;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy9:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ default: goto yy12;
+ }
+yy11:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ default: goto yy12;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy15;
+ default: goto yy14;
+ }
+yy13:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy15;
+ default: goto yy14;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy17;
+ default: goto yy16;
+ }
+yy15:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy17;
+ default: goto yy16;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy19;
+ default: goto yy18;
+ }
+yy17:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt2 = YYCURSOR;
+ goto yy19;
+ default: goto yy18;
+ }
+yy18:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy4;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy21;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy20;
+ }
+yy19:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 0x00: goto yy7;
+ case 'Y':
+ yyt3 = YYCURSOR;
+ goto yy21;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy20;
+ }
+yy20:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y': goto yy22;
+ default: goto yy4;
+ }
+yy21:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'Y': goto yy22;
+ default:
+ yyt2 = yyt3;
+ goto yy7;
+ }
+yy22:
+ ++YYCURSOR;
+ yyt2 = yyt3;
+ goto yy7;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/67.i--flex-syntax.re b/test/posix_captures/repetition/67.i--flex-syntax.re
new file mode 100644
index 00000000..da8b7a07
--- /dev/null
+++ b/test/posix_captures/repetition/67.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/repetition/68.i--flex-syntax.c b/test/posix_captures/repetition/68.i--flex-syntax.c
new file mode 100644
index 00000000..ee14a948
--- /dev/null
+++ b/test/posix_captures/repetition/68.i--flex-syntax.c
@@ -0,0 +1,168 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt5 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt1 = yyt5 = YYCURSOR;
+ goto yy7;
+ case 'd':
+ yyt3 = yyt5 = NULL;
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[4] = yyt4;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy11;
+ case 'c':
+ yyt5 = YYCURSOR;
+ goto yy7;
+ case 'd':
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt2 = yyt5;
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy12;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ yyt2 = yyt3 = NULL;
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy2;
+ } else {
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy7:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = yyt5;
+ yyt5 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt5 = YYCURSOR;
+ goto yy7;
+ case 'd':
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt2 = yyt5;
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy9;
+ default:
+ yyt2 = yyt5;
+ goto yy2;
+ }
+yy11:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = yyt5;
+ yyt5 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ case 'd':
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt2 = yyt5;
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy12:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy7;
+ default: goto yy6;
+ }
+yy13:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt5 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt5 = YYCURSOR;
+ goto yy7;
+ case 'd':
+ yyt5 = yyt3;
+ goto yy7;
+ default:
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/repetition/68.i--flex-syntax.re b/test/posix_captures/repetition/68.i--flex-syntax.re
new file mode 100644
index 00000000..67789e3d
--- /dev/null
+++ b/test/posix_captures/repetition/68.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a|ab|c|bcd){0,}(d*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/repetition/69.i--flex-syntax.c b/test/posix_captures/repetition/69.i--flex-syntax.c
new file mode 100644
index 00000000..5b0b3e33
--- /dev/null
+++ b/test/posix_captures/repetition/69.i--flex-syntax.c
@@ -0,0 +1,162 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy6;
+ case 'c':
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy8;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy10;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy8;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy5;
+ }
+yy5:
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy13;
+ default: goto yy7;
+ }
+yy7:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy2;
+ } else {
+ yyt3 = YYCURSOR;
+ goto yy5;
+ }
+yy8:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = yyt4;
+ yyt4 = YYCURSOR;
+ goto yy6;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy8;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy5;
+ }
+yy10:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = yyt4;
+ yyt4 = YYCURSOR;
+ goto yy6;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy14;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy5;
+ }
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy11;
+ default:
+ yyt2 = yyt4;
+ goto yy5;
+ }
+yy13:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy8;
+ default: goto yy7;
+ }
+yy14:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy6;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy8;
+ case 'd':
+ yyt4 = yyt3;
+ goto yy8;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy5;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/69.i--flex-syntax.re b/test/posix_captures/repetition/69.i--flex-syntax.re
new file mode 100644
index 00000000..d982180c
--- /dev/null
+++ b/test/posix_captures/repetition/69.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a|ab|c|bcd){1,}(d*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/repetition/70.i--flex-syntax.c b/test/posix_captures/repetition/70.i--flex-syntax.c
new file mode 100644
index 00000000..0571c7e4
--- /dev/null
+++ b/test/posix_captures/repetition/70.i--flex-syntax.c
@@ -0,0 +1,210 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy10;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1:
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy9;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy13;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ case 'b':
+ case 'c': goto yy12;
+ default: goto yy4;
+ }
+yy7:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy15;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy9;
+ }
+yy9:
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy14;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy18;
+ default: goto yy4;
+ }
+yy11:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy12:
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy14;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy9;
+ }
+yy13:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+yy14:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy19;
+ default: goto yy4;
+ }
+yy15:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy14;
+ case 'c':
+ yyt2 = yyt3;
+ yyt4 = YYCURSOR;
+ goto yy18;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy9;
+ }
+yy16:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy16;
+ default: goto yy9;
+ }
+yy18:
+ yyaccept = 2;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy14;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ case 'd': goto yy11;
+ default:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy9;
+ }
+yy19:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt2 = yyt3;
+ goto yy11;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/70.i--flex-syntax.re b/test/posix_captures/repetition/70.i--flex-syntax.re
new file mode 100644
index 00000000..79e71661
--- /dev/null
+++ b/test/posix_captures/repetition/70.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a|ab|c|bcd){2,}(d*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/repetition/71.i--flex-syntax.c b/test/posix_captures/repetition/71.i--flex-syntax.c
new file mode 100644
index 00000000..2f6bc478
--- /dev/null
+++ b/test/posix_captures/repetition/71.i--flex-syntax.c
@@ -0,0 +1,255 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy8;
+ case 'c': goto yy9;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1:
+ yyt3 = YYCURSOR;
+ goto yy14;
+ default:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy14;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy10;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy11;
+ case 'c': goto yy9;
+ default: goto yy4;
+ }
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy15;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy16;
+ default: goto yy4;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy11;
+ case 'c': goto yy18;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ case 'b':
+ case 'c': goto yy17;
+ default: goto yy4;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy20;
+ default: goto yy4;
+ }
+yy12:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy21;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy16;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy14;
+ }
+yy14:
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy15:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy19;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy24;
+ default: goto yy4;
+ }
+yy16:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy17:
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy19;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy16;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy14;
+ }
+yy18:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ case 'b':
+ case 'c': goto yy17;
+ case 'd': goto yy9;
+ default: goto yy4;
+ }
+yy19:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy25;
+ default: goto yy4;
+ }
+yy20:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy9;
+ default: goto yy4;
+ }
+yy21:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy19;
+ case 'c':
+ yyt2 = yyt3;
+ yyt4 = YYCURSOR;
+ goto yy24;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy14;
+ }
+yy22:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy22;
+ default: goto yy14;
+ }
+yy24:
+ yyaccept = 2;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy19;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy16;
+ case 'd': goto yy16;
+ default:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy14;
+ }
+yy25:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt2 = yyt3;
+ goto yy16;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/71.i--flex-syntax.re b/test/posix_captures/repetition/71.i--flex-syntax.re
new file mode 100644
index 00000000..d205f4ea
--- /dev/null
+++ b/test/posix_captures/repetition/71.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a|ab|c|bcd){3,}(d*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/repetition/72.i--flex-syntax.c b/test/posix_captures/repetition/72.i--flex-syntax.c
new file mode 100644
index 00000000..b3ae2e05
--- /dev/null
+++ b/test/posix_captures/repetition/72.i--flex-syntax.c
@@ -0,0 +1,300 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy8;
+ case 'c': goto yy9;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1:
+ yyt3 = YYCURSOR;
+ goto yy20;
+ default:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy20;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy10;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy11;
+ case 'c': goto yy9;
+ default: goto yy4;
+ }
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy12;
+ case 'b': goto yy13;
+ case 'c': goto yy14;
+ default: goto yy4;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy11;
+ case 'c': goto yy15;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy12;
+ case 'b': goto yy16;
+ case 'c': goto yy14;
+ default: goto yy4;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy17;
+ default: goto yy4;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy18;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy21;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy22;
+ default: goto yy4;
+ }
+yy13:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy12;
+ case 'b': goto yy16;
+ case 'c': goto yy24;
+ default: goto yy4;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ case 'b':
+ case 'c': goto yy23;
+ default: goto yy4;
+ }
+yy15:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy12;
+ case 'b': goto yy16;
+ case 'c': goto yy14;
+ case 'd': goto yy9;
+ default: goto yy4;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy26;
+ default: goto yy4;
+ }
+yy17:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy9;
+ default: goto yy4;
+ }
+yy18:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy18;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy27;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy22;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy20;
+ }
+yy20:
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy21:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy18;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy30;
+ default: goto yy4;
+ }
+yy22:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy23:
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy18;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy22;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy20;
+ }
+yy24:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ case 'b':
+ case 'c': goto yy23;
+ case 'd': goto yy14;
+ default: goto yy4;
+ }
+yy25:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy31;
+ default: goto yy4;
+ }
+yy26:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy14;
+ default: goto yy4;
+ }
+yy27:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy18;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt2 = yyt3;
+ yyt4 = YYCURSOR;
+ goto yy30;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy20;
+ }
+yy28:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy28;
+ default: goto yy20;
+ }
+yy30:
+ yyaccept = 2;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy18;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy22;
+ case 'd': goto yy22;
+ default:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy20;
+ }
+yy31:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt2 = yyt3;
+ goto yy22;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/72.i--flex-syntax.re b/test/posix_captures/repetition/72.i--flex-syntax.re
new file mode 100644
index 00000000..61c0db6d
--- /dev/null
+++ b/test/posix_captures/repetition/72.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a|ab|c|bcd){4,}(d*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/repetition/73.i--flex-syntax.c b/test/posix_captures/repetition/73.i--flex-syntax.c
new file mode 100644
index 00000000..f3123939
--- /dev/null
+++ b/test/posix_captures/repetition/73.i--flex-syntax.c
@@ -0,0 +1,921 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 31) YYFILL(31);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy4;
+ case 'c':
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy6;
+ case 'd':
+ yyt2 = yyt4 = NULL;
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt4 = NULL;
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt4;
+ yypmatch[3] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy10;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy4:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy12;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0:
+ yyt2 = yyt4 = NULL;
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy2;
+ case 1:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ case 2:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ default:
+ yyt4 = yyt3;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy6:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy7:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy8:
+ switch (yych) {
+ case 'd': goto yy7;
+ default: goto yy2;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy14;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy15;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy16;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy10:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy17;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy11:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy14;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy18;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy16;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy5;
+ }
+yy13:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy19;
+ default: goto yy5;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy20;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy21;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy22;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy15:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy14;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy18;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy23;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy16:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy20;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy24;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy22;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy17:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy14;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy18;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy16;
+ case 'd': goto yy11;
+ default:
+ yyt4 = yyt3;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy18:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy25;
+ default: goto yy5;
+ }
+yy19:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy11;
+ default: goto yy5;
+ }
+yy20:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy26;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy27;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy28;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy21:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy20;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy24;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy29;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy22:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy26;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy30;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy28;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy23:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy20;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy24;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy22;
+ case 'd': goto yy16;
+ default:
+ yyt4 = yyt3;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy24:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy31;
+ default: goto yy5;
+ }
+yy25:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy16;
+ default: goto yy5;
+ }
+yy26:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy32;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy33;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy34;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy27:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy26;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy30;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy35;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy28:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy32;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy36;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy34;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy29:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy26;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy30;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy28;
+ case 'd': goto yy22;
+ default:
+ yyt4 = yyt3;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy30:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy37;
+ default: goto yy5;
+ }
+yy31:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy22;
+ default: goto yy5;
+ }
+yy32:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy38;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy39;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy40;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy33:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy32;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy36;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy41;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy34:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy38;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy42;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy40;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy35:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy32;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy36;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy34;
+ case 'd': goto yy28;
+ default:
+ yyt4 = yyt3;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy36:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy43;
+ default: goto yy5;
+ }
+yy37:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy28;
+ default: goto yy5;
+ }
+yy38:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy44;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy45;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy46;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy39:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy38;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy42;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy47;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy40:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy44;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy48;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy46;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy41:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy38;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy42;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy40;
+ case 'd': goto yy34;
+ default:
+ yyt4 = yyt3;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy42:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy49;
+ default: goto yy5;
+ }
+yy43:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy34;
+ default: goto yy5;
+ }
+yy44:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy50;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy51;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy52;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy45:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy44;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy48;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy53;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy46:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy50;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy54;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy52;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy47:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy44;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy48;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy46;
+ case 'd': goto yy40;
+ default:
+ yyt4 = yyt3;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy48:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy55;
+ default: goto yy5;
+ }
+yy49:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy40;
+ default: goto yy5;
+ }
+yy50:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy56;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy57;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy58;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy51:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy50;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy54;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy59;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy52:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy56;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy60;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy58;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy53:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy50;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy54;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy52;
+ case 'd': goto yy46;
+ default:
+ yyt4 = yyt3;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy54:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy61;
+ default: goto yy5;
+ }
+yy55:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy46;
+ default: goto yy5;
+ }
+yy56:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy58;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy57:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy56;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy60;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy62;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy58:
+ yych = *++YYCURSOR;
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy8;
+yy59:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy56;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy60;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy58;
+ case 'd': goto yy52;
+ default:
+ yyt4 = yyt3;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy60:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy63;
+ default: goto yy5;
+ }
+yy61:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy52;
+ default: goto yy5;
+ }
+yy62:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy58;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy63:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy58;
+ default: goto yy5;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/repetition/73.i--flex-syntax.re b/test/posix_captures/repetition/73.i--flex-syntax.re
new file mode 100644
index 00000000..2864c2de
--- /dev/null
+++ b/test/posix_captures/repetition/73.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a|ab|c|bcd){0,10}(d*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/repetition/74.i--flex-syntax.c b/test/posix_captures/repetition/74.i--flex-syntax.c
new file mode 100644
index 00000000..03a92dad
--- /dev/null
+++ b/test/posix_captures/repetition/74.i--flex-syntax.c
@@ -0,0 +1,814 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 31) YYFILL(31);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy7;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy8;
+ case 'b': goto yy9;
+ case 'c': goto yy10;
+ default: goto yy12;
+ }
+yy4:
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt3;
+ yypmatch[4] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy13;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1:
+ yyt2 = YYCURSOR;
+ goto yy4;
+ case 2:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy7:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy8;
+ case 'b': goto yy14;
+ case 'c': goto yy10;
+ default: goto yy12;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy15;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy16;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy17;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy9:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy8;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy14;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy18;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy10:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy15;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy19;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy17;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy12:
+ switch (yych) {
+ case 'd': goto yy11;
+ default: goto yy4;
+ }
+yy13:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy7;
+ default: goto yy6;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy20;
+ default: goto yy6;
+ }
+yy15:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy21;
+ case 'b': goto yy22;
+ case 'c': goto yy23;
+ default: goto yy12;
+ }
+yy16:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy15;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy19;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy24;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy17:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy21;
+ case 'b': goto yy25;
+ case 'c': goto yy23;
+ default: goto yy12;
+ }
+yy18:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy15;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy19;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy17;
+ case 'd': goto yy10;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy19:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy26;
+ default: goto yy6;
+ }
+yy20:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy10;
+ default: goto yy6;
+ }
+yy21:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy27;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy28;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy29;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy22:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy21;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy30;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy23:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy27;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy31;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy29;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy24:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy21;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy23;
+ case 'd': goto yy17;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy25:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy32;
+ default: goto yy6;
+ }
+yy26:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy17;
+ default: goto yy6;
+ }
+yy27:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy33;
+ case 'b': goto yy34;
+ case 'c': goto yy35;
+ default: goto yy12;
+ }
+yy28:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy27;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy31;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy36;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy29:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy33;
+ case 'b': goto yy37;
+ case 'c': goto yy35;
+ default: goto yy12;
+ }
+yy30:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy27;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy31;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy29;
+ case 'd': goto yy23;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy31:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy38;
+ default: goto yy6;
+ }
+yy32:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy23;
+ default: goto yy6;
+ }
+yy33:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy40;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy41;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy34:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy37;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy42;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy35:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy43;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy41;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy36:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy37;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy35;
+ case 'd': goto yy29;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy37:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy44;
+ default: goto yy6;
+ }
+yy38:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy29;
+ default: goto yy6;
+ }
+yy39:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy45;
+ case 'b': goto yy46;
+ case 'c': goto yy47;
+ default: goto yy12;
+ }
+yy40:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy43;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy48;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy41:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy45;
+ case 'b': goto yy49;
+ case 'c': goto yy47;
+ default: goto yy12;
+ }
+yy42:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy43;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy41;
+ case 'd': goto yy35;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy43:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy50;
+ default: goto yy6;
+ }
+yy44:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy35;
+ default: goto yy6;
+ }
+yy45:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy52;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy53;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy46:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy49;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy54;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy47:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy55;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy53;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy48:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy49;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy47;
+ case 'd': goto yy41;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy49:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy56;
+ default: goto yy6;
+ }
+yy50:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy41;
+ default: goto yy6;
+ }
+yy51:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy57;
+ case 'b': goto yy58;
+ case 'c': goto yy59;
+ default: goto yy12;
+ }
+yy52:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy55;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy60;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy53:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy57;
+ case 'b': goto yy61;
+ case 'c': goto yy59;
+ default: goto yy12;
+ }
+yy54:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy55;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy53;
+ case 'd': goto yy47;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy55:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy62;
+ default: goto yy6;
+ }
+yy56:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy47;
+ default: goto yy6;
+ }
+yy57:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy59;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy58:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy61;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy63;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy59:
+ yych = *++YYCURSOR;
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy12;
+yy60:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy61;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy59;
+ case 'd': goto yy53;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy61:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy64;
+ default: goto yy6;
+ }
+yy62:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy53;
+ default: goto yy6;
+ }
+yy63:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy59;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy64:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy59;
+ default: goto yy6;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/74.i--flex-syntax.re b/test/posix_captures/repetition/74.i--flex-syntax.re
new file mode 100644
index 00000000..0fcc5a31
--- /dev/null
+++ b/test/posix_captures/repetition/74.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a|ab|c|bcd){1,10}(d*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/repetition/75.i--flex-syntax.c b/test/posix_captures/repetition/75.i--flex-syntax.c
new file mode 100644
index 00000000..505ecefb
--- /dev/null
+++ b/test/posix_captures/repetition/75.i--flex-syntax.c
@@ -0,0 +1,815 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 31) YYFILL(31);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy10;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1:
+ yyt2 = YYCURSOR;
+ goto yy8;
+ case 2:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy11;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy12;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy10;
+ default: goto yy4;
+ }
+yy7:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy13;
+ case 'b': goto yy14;
+ case 'c': goto yy15;
+ default: goto yy17;
+ }
+yy8:
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt3;
+ yypmatch[4] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy12;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy18;
+ default: goto yy4;
+ }
+yy10:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy13;
+ case 'b': goto yy19;
+ case 'c': goto yy15;
+ default: goto yy17;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy20;
+ default: goto yy4;
+ }
+yy13:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy21;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy22;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy23;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy14:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy19;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy24;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy15:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy21;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy23;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy16:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy17:
+ switch (yych) {
+ case 'd': goto yy16;
+ default: goto yy8;
+ }
+yy18:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy19;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy15;
+ case 'd': goto yy10;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy19:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy26;
+ default: goto yy4;
+ }
+yy20:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy10;
+ default: goto yy4;
+ }
+yy21:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy27;
+ case 'b': goto yy28;
+ case 'c': goto yy29;
+ default: goto yy17;
+ }
+yy22:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy21;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy30;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy23:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy27;
+ case 'b': goto yy31;
+ case 'c': goto yy29;
+ default: goto yy17;
+ }
+yy24:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy21;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy23;
+ case 'd': goto yy15;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy25:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy32;
+ default: goto yy4;
+ }
+yy26:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy15;
+ default: goto yy4;
+ }
+yy27:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy34;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy35;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy28:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy27;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy31;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy36;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy29:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy37;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy35;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy30:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy27;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy31;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy29;
+ case 'd': goto yy23;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy31:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy38;
+ default: goto yy4;
+ }
+yy32:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy23;
+ default: goto yy4;
+ }
+yy33:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy39;
+ case 'b': goto yy40;
+ case 'c': goto yy41;
+ default: goto yy17;
+ }
+yy34:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy37;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy42;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy35:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy39;
+ case 'b': goto yy43;
+ case 'c': goto yy41;
+ default: goto yy17;
+ }
+yy36:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy37;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy35;
+ case 'd': goto yy29;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy37:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy44;
+ default: goto yy4;
+ }
+yy38:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy29;
+ default: goto yy4;
+ }
+yy39:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy46;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy47;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy40:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy43;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy48;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy41:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy49;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy47;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy42:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy43;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy41;
+ case 'd': goto yy35;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy43:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy50;
+ default: goto yy4;
+ }
+yy44:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy35;
+ default: goto yy4;
+ }
+yy45:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy51;
+ case 'b': goto yy52;
+ case 'c': goto yy53;
+ default: goto yy17;
+ }
+yy46:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy49;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy54;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy47:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy51;
+ case 'b': goto yy55;
+ case 'c': goto yy53;
+ default: goto yy17;
+ }
+yy48:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy49;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy47;
+ case 'd': goto yy41;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy49:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy56;
+ default: goto yy4;
+ }
+yy50:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy41;
+ default: goto yy4;
+ }
+yy51:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy58;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy59;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy52:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy55;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy60;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy53:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy61;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy59;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy54:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy55;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy53;
+ case 'd': goto yy47;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy55:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy62;
+ default: goto yy4;
+ }
+yy56:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy47;
+ default: goto yy4;
+ }
+yy57:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy59;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy58:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy61;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy63;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy59:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ goto yy17;
+yy60:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy61;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy59;
+ case 'd': goto yy53;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy61:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy64;
+ default: goto yy4;
+ }
+yy62:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy53;
+ default: goto yy4;
+ }
+yy63:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy59;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy64:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy59;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/75.i--flex-syntax.re b/test/posix_captures/repetition/75.i--flex-syntax.re
new file mode 100644
index 00000000..e27f0eab
--- /dev/null
+++ b/test/posix_captures/repetition/75.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a|ab|c|bcd){2,10}(d*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/repetition/76.i--flex-syntax.c b/test/posix_captures/repetition/76.i--flex-syntax.c
new file mode 100644
index 00000000..fd504da9
--- /dev/null
+++ b/test/posix_captures/repetition/76.i--flex-syntax.c
@@ -0,0 +1,772 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 31) YYFILL(31);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy8;
+ case 'c': goto yy9;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1:
+ yyt2 = YYCURSOR;
+ goto yy13;
+ case 2:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy13;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy10;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy11;
+ case 'c': goto yy9;
+ default: goto yy4;
+ }
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy14;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy15;
+ default: goto yy4;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy11;
+ case 'c': goto yy16;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy17;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy15;
+ default: goto yy4;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy18;
+ default: goto yy4;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy19;
+ case 'b': goto yy20;
+ case 'c': goto yy21;
+ default: goto yy23;
+ }
+yy13:
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt3;
+ yypmatch[4] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy17;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy24;
+ default: goto yy4;
+ }
+yy15:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy19;
+ case 'b': goto yy25;
+ case 'c': goto yy21;
+ default: goto yy23;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy17;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy15;
+ case 'd': goto yy9;
+ default: goto yy4;
+ }
+yy17:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy26;
+ default: goto yy4;
+ }
+yy18:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy9;
+ default: goto yy4;
+ }
+yy19:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy27;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy28;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy29;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy20:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy19;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy30;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy21:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy27;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy31;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy29;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy22:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy23:
+ switch (yych) {
+ case 'd': goto yy22;
+ default: goto yy13;
+ }
+yy24:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy19;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy21;
+ case 'd': goto yy15;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy25:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy32;
+ default: goto yy4;
+ }
+yy26:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy15;
+ default: goto yy4;
+ }
+yy27:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy33;
+ case 'b': goto yy34;
+ case 'c': goto yy35;
+ default: goto yy23;
+ }
+yy28:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy27;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy31;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy36;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy29:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy33;
+ case 'b': goto yy37;
+ case 'c': goto yy35;
+ default: goto yy23;
+ }
+yy30:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy27;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy31;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy29;
+ case 'd': goto yy21;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy31:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy38;
+ default: goto yy4;
+ }
+yy32:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy21;
+ default: goto yy4;
+ }
+yy33:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy40;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy41;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy34:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy37;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy42;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy35:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy43;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy41;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy36:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy37;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy35;
+ case 'd': goto yy29;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy37:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy44;
+ default: goto yy4;
+ }
+yy38:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy29;
+ default: goto yy4;
+ }
+yy39:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy45;
+ case 'b': goto yy46;
+ case 'c': goto yy47;
+ default: goto yy23;
+ }
+yy40:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy43;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy48;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy41:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy45;
+ case 'b': goto yy49;
+ case 'c': goto yy47;
+ default: goto yy23;
+ }
+yy42:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy43;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy41;
+ case 'd': goto yy35;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy43:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy50;
+ default: goto yy4;
+ }
+yy44:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy35;
+ default: goto yy4;
+ }
+yy45:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy52;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy53;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy46:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy49;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy54;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy47:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy55;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy53;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy48:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy49;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy47;
+ case 'd': goto yy41;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy49:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy56;
+ default: goto yy4;
+ }
+yy50:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy41;
+ default: goto yy4;
+ }
+yy51:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy57;
+ case 'b': goto yy58;
+ case 'c': goto yy59;
+ default: goto yy23;
+ }
+yy52:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy55;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy60;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy53:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy57;
+ case 'b': goto yy61;
+ case 'c': goto yy59;
+ default: goto yy23;
+ }
+yy54:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy55;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy53;
+ case 'd': goto yy47;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy55:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy62;
+ default: goto yy4;
+ }
+yy56:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy47;
+ default: goto yy4;
+ }
+yy57:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy59;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy58:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy61;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy63;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy59:
+ yych = *++YYCURSOR;
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy23;
+yy60:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy61;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy59;
+ case 'd': goto yy53;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy61:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy64;
+ default: goto yy4;
+ }
+yy62:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy53;
+ default: goto yy4;
+ }
+yy63:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy59;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy64:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy59;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/76.i--flex-syntax.re b/test/posix_captures/repetition/76.i--flex-syntax.re
new file mode 100644
index 00000000..2d3617dc
--- /dev/null
+++ b/test/posix_captures/repetition/76.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a|ab|c|bcd){3,10}(d*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/repetition/77.i--flex-syntax.c b/test/posix_captures/repetition/77.i--flex-syntax.c
new file mode 100644
index 00000000..3bb79f83
--- /dev/null
+++ b/test/posix_captures/repetition/77.i--flex-syntax.c
@@ -0,0 +1,745 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 31) YYFILL(31);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy8;
+ case 'c': goto yy9;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1:
+ yyt2 = YYCURSOR;
+ goto yy19;
+ case 2:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy19;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy19;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy10;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy11;
+ case 'c': goto yy9;
+ default: goto yy4;
+ }
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy12;
+ case 'b': goto yy13;
+ case 'c': goto yy14;
+ default: goto yy4;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy11;
+ case 'c': goto yy15;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy12;
+ case 'b': goto yy16;
+ case 'c': goto yy14;
+ default: goto yy4;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy17;
+ default: goto yy4;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy18;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy20;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy21;
+ default: goto yy4;
+ }
+yy13:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy12;
+ case 'b': goto yy16;
+ case 'c': goto yy22;
+ default: goto yy4;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy18;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy23;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy21;
+ default: goto yy4;
+ }
+yy15:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy12;
+ case 'b': goto yy16;
+ case 'c': goto yy14;
+ case 'd': goto yy9;
+ default: goto yy4;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy24;
+ default: goto yy4;
+ }
+yy17:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy9;
+ default: goto yy4;
+ }
+yy18:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy25;
+ case 'b': goto yy26;
+ case 'c': goto yy27;
+ default: goto yy29;
+ }
+yy19:
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt3;
+ yypmatch[4] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy20:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy18;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy23;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy30;
+ default: goto yy4;
+ }
+yy21:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy25;
+ case 'b': goto yy31;
+ case 'c': goto yy27;
+ default: goto yy29;
+ }
+yy22:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy18;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy23;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy21;
+ case 'd': goto yy14;
+ default: goto yy4;
+ }
+yy23:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy32;
+ default: goto yy4;
+ }
+yy24:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy14;
+ default: goto yy4;
+ }
+yy25:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy34;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy35;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy19;
+ }
+yy26:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy25;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy31;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy36;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy19;
+ }
+yy27:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy37;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy35;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy19;
+ }
+yy28:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy29:
+ switch (yych) {
+ case 'd': goto yy28;
+ default: goto yy19;
+ }
+yy30:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy25;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy31;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy27;
+ case 'd': goto yy21;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy19;
+ }
+yy31:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy38;
+ default: goto yy4;
+ }
+yy32:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy21;
+ default: goto yy4;
+ }
+yy33:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy39;
+ case 'b': goto yy40;
+ case 'c': goto yy41;
+ default: goto yy29;
+ }
+yy34:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy37;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy42;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy19;
+ }
+yy35:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy39;
+ case 'b': goto yy43;
+ case 'c': goto yy41;
+ default: goto yy29;
+ }
+yy36:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy37;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy35;
+ case 'd': goto yy27;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy19;
+ }
+yy37:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy44;
+ default: goto yy4;
+ }
+yy38:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy27;
+ default: goto yy4;
+ }
+yy39:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy46;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy47;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy19;
+ }
+yy40:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy43;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy48;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy19;
+ }
+yy41:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy49;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy47;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy19;
+ }
+yy42:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy43;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy41;
+ case 'd': goto yy35;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy19;
+ }
+yy43:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy50;
+ default: goto yy4;
+ }
+yy44:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy35;
+ default: goto yy4;
+ }
+yy45:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy51;
+ case 'b': goto yy52;
+ case 'c': goto yy53;
+ default: goto yy29;
+ }
+yy46:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy49;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy54;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy19;
+ }
+yy47:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy51;
+ case 'b': goto yy55;
+ case 'c': goto yy53;
+ default: goto yy29;
+ }
+yy48:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy49;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy47;
+ case 'd': goto yy41;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy19;
+ }
+yy49:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy56;
+ default: goto yy4;
+ }
+yy50:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy41;
+ default: goto yy4;
+ }
+yy51:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy58;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy59;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy19;
+ }
+yy52:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy55;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy60;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy19;
+ }
+yy53:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy61;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy59;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy19;
+ }
+yy54:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy55;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy53;
+ case 'd': goto yy47;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy19;
+ }
+yy55:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy62;
+ default: goto yy4;
+ }
+yy56:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy47;
+ default: goto yy4;
+ }
+yy57:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy59;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy19;
+ }
+yy58:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy61;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy63;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy19;
+ }
+yy59:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ goto yy29;
+yy60:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy61;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy59;
+ case 'd': goto yy53;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy19;
+ }
+yy61:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy64;
+ default: goto yy4;
+ }
+yy62:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy53;
+ default: goto yy4;
+ }
+yy63:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy59;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy19;
+ }
+yy64:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy59;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/77.i--flex-syntax.re b/test/posix_captures/repetition/77.i--flex-syntax.re
new file mode 100644
index 00000000..0264aba4
--- /dev/null
+++ b/test/posix_captures/repetition/77.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a|ab|c|bcd){4,10}(d*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/repetition/78.i--flex-syntax.c b/test/posix_captures/repetition/78.i--flex-syntax.c
new file mode 100644
index 00000000..ee14a948
--- /dev/null
+++ b/test/posix_captures/repetition/78.i--flex-syntax.c
@@ -0,0 +1,168 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt5 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt1 = yyt5 = YYCURSOR;
+ goto yy7;
+ case 'd':
+ yyt3 = yyt5 = NULL;
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[4] = yyt4;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy11;
+ case 'c':
+ yyt5 = YYCURSOR;
+ goto yy7;
+ case 'd':
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt2 = yyt5;
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy12;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ yyt2 = yyt3 = NULL;
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy2;
+ } else {
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy7:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = yyt5;
+ yyt5 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt5 = YYCURSOR;
+ goto yy7;
+ case 'd':
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt2 = yyt5;
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy9;
+ default:
+ yyt2 = yyt5;
+ goto yy2;
+ }
+yy11:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = yyt5;
+ yyt5 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ case 'd':
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt2 = yyt5;
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy12:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy7;
+ default: goto yy6;
+ }
+yy13:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt5 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt5 = YYCURSOR;
+ goto yy7;
+ case 'd':
+ yyt5 = yyt3;
+ goto yy7;
+ default:
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/repetition/78.i--flex-syntax.re b/test/posix_captures/repetition/78.i--flex-syntax.re
new file mode 100644
index 00000000..1611698a
--- /dev/null
+++ b/test/posix_captures/repetition/78.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a|ab|c|bcd)*(d*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/repetition/79.i--flex-syntax.c b/test/posix_captures/repetition/79.i--flex-syntax.c
new file mode 100644
index 00000000..5b0b3e33
--- /dev/null
+++ b/test/posix_captures/repetition/79.i--flex-syntax.c
@@ -0,0 +1,162 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy6;
+ case 'c':
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy8;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy10;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy8;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy5;
+ }
+yy5:
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy13;
+ default: goto yy7;
+ }
+yy7:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy2;
+ } else {
+ yyt3 = YYCURSOR;
+ goto yy5;
+ }
+yy8:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = yyt4;
+ yyt4 = YYCURSOR;
+ goto yy6;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy8;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy5;
+ }
+yy10:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = yyt4;
+ yyt4 = YYCURSOR;
+ goto yy6;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy14;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy5;
+ }
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy11;
+ default:
+ yyt2 = yyt4;
+ goto yy5;
+ }
+yy13:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy8;
+ default: goto yy7;
+ }
+yy14:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy6;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy8;
+ case 'd':
+ yyt4 = yyt3;
+ goto yy8;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy5;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/79.i--flex-syntax.re b/test/posix_captures/repetition/79.i--flex-syntax.re
new file mode 100644
index 00000000..d3faef80
--- /dev/null
+++ b/test/posix_captures/repetition/79.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a|ab|c|bcd)+(d*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/repetition/80.i--flex-syntax.c b/test/posix_captures/repetition/80.i--flex-syntax.c
new file mode 100644
index 00000000..ee14a948
--- /dev/null
+++ b/test/posix_captures/repetition/80.i--flex-syntax.c
@@ -0,0 +1,168 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt5 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt1 = yyt5 = YYCURSOR;
+ goto yy7;
+ case 'd':
+ yyt3 = yyt5 = NULL;
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[4] = yyt4;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy11;
+ case 'c':
+ yyt5 = YYCURSOR;
+ goto yy7;
+ case 'd':
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt2 = yyt5;
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy12;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ yyt2 = yyt3 = NULL;
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy2;
+ } else {
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy7:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = yyt5;
+ yyt5 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt5 = YYCURSOR;
+ goto yy7;
+ case 'd':
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt2 = yyt5;
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy9;
+ default:
+ yyt2 = yyt5;
+ goto yy2;
+ }
+yy11:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = yyt5;
+ yyt5 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ case 'd':
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt2 = yyt5;
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy12:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy7;
+ default: goto yy6;
+ }
+yy13:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt5 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt5 = YYCURSOR;
+ goto yy7;
+ case 'd':
+ yyt5 = yyt3;
+ goto yy7;
+ default:
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/repetition/80.i--flex-syntax.re b/test/posix_captures/repetition/80.i--flex-syntax.re
new file mode 100644
index 00000000..8ad1bba4
--- /dev/null
+++ b/test/posix_captures/repetition/80.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (ab|a|c|bcd){0,}(d*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/repetition/81.i--flex-syntax.c b/test/posix_captures/repetition/81.i--flex-syntax.c
new file mode 100644
index 00000000..5b0b3e33
--- /dev/null
+++ b/test/posix_captures/repetition/81.i--flex-syntax.c
@@ -0,0 +1,162 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy6;
+ case 'c':
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy8;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy10;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy8;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy5;
+ }
+yy5:
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy13;
+ default: goto yy7;
+ }
+yy7:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy2;
+ } else {
+ yyt3 = YYCURSOR;
+ goto yy5;
+ }
+yy8:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = yyt4;
+ yyt4 = YYCURSOR;
+ goto yy6;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy8;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy5;
+ }
+yy10:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = yyt4;
+ yyt4 = YYCURSOR;
+ goto yy6;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy14;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy5;
+ }
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy11;
+ default:
+ yyt2 = yyt4;
+ goto yy5;
+ }
+yy13:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy8;
+ default: goto yy7;
+ }
+yy14:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy6;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy8;
+ case 'd':
+ yyt4 = yyt3;
+ goto yy8;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy5;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/81.i--flex-syntax.re b/test/posix_captures/repetition/81.i--flex-syntax.re
new file mode 100644
index 00000000..d1733911
--- /dev/null
+++ b/test/posix_captures/repetition/81.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (ab|a|c|bcd){1,}(d*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/repetition/82.i--flex-syntax.c b/test/posix_captures/repetition/82.i--flex-syntax.c
new file mode 100644
index 00000000..0571c7e4
--- /dev/null
+++ b/test/posix_captures/repetition/82.i--flex-syntax.c
@@ -0,0 +1,210 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy10;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1:
+ yyt3 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy9;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy13;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ case 'b':
+ case 'c': goto yy12;
+ default: goto yy4;
+ }
+yy7:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy15;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy9;
+ }
+yy9:
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy14;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy18;
+ default: goto yy4;
+ }
+yy11:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy12:
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy14;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy9;
+ }
+yy13:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+yy14:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy19;
+ default: goto yy4;
+ }
+yy15:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy14;
+ case 'c':
+ yyt2 = yyt3;
+ yyt4 = YYCURSOR;
+ goto yy18;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy9;
+ }
+yy16:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy16;
+ default: goto yy9;
+ }
+yy18:
+ yyaccept = 2;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy14;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ case 'd': goto yy11;
+ default:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy9;
+ }
+yy19:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt2 = yyt3;
+ goto yy11;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/82.i--flex-syntax.re b/test/posix_captures/repetition/82.i--flex-syntax.re
new file mode 100644
index 00000000..417efc03
--- /dev/null
+++ b/test/posix_captures/repetition/82.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (ab|a|c|bcd){2,}(d*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/repetition/83.i--flex-syntax.c b/test/posix_captures/repetition/83.i--flex-syntax.c
new file mode 100644
index 00000000..2f6bc478
--- /dev/null
+++ b/test/posix_captures/repetition/83.i--flex-syntax.c
@@ -0,0 +1,255 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy8;
+ case 'c': goto yy9;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1:
+ yyt3 = YYCURSOR;
+ goto yy14;
+ default:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy14;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy10;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy11;
+ case 'c': goto yy9;
+ default: goto yy4;
+ }
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy15;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy16;
+ default: goto yy4;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy11;
+ case 'c': goto yy18;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ case 'b':
+ case 'c': goto yy17;
+ default: goto yy4;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy20;
+ default: goto yy4;
+ }
+yy12:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy21;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy16;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy14;
+ }
+yy14:
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy15:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy19;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy24;
+ default: goto yy4;
+ }
+yy16:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy17:
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy19;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy16;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy14;
+ }
+yy18:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ case 'b':
+ case 'c': goto yy17;
+ case 'd': goto yy9;
+ default: goto yy4;
+ }
+yy19:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy25;
+ default: goto yy4;
+ }
+yy20:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy9;
+ default: goto yy4;
+ }
+yy21:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy19;
+ case 'c':
+ yyt2 = yyt3;
+ yyt4 = YYCURSOR;
+ goto yy24;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy14;
+ }
+yy22:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy22;
+ default: goto yy14;
+ }
+yy24:
+ yyaccept = 2;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy19;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy16;
+ case 'd': goto yy16;
+ default:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy14;
+ }
+yy25:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt2 = yyt3;
+ goto yy16;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/83.i--flex-syntax.re b/test/posix_captures/repetition/83.i--flex-syntax.re
new file mode 100644
index 00000000..47e975fc
--- /dev/null
+++ b/test/posix_captures/repetition/83.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (ab|a|c|bcd){3,}(d*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/repetition/84.i--flex-syntax.c b/test/posix_captures/repetition/84.i--flex-syntax.c
new file mode 100644
index 00000000..b3ae2e05
--- /dev/null
+++ b/test/posix_captures/repetition/84.i--flex-syntax.c
@@ -0,0 +1,300 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy8;
+ case 'c': goto yy9;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1:
+ yyt3 = YYCURSOR;
+ goto yy20;
+ default:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy20;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy10;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy11;
+ case 'c': goto yy9;
+ default: goto yy4;
+ }
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy12;
+ case 'b': goto yy13;
+ case 'c': goto yy14;
+ default: goto yy4;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy11;
+ case 'c': goto yy15;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy12;
+ case 'b': goto yy16;
+ case 'c': goto yy14;
+ default: goto yy4;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy17;
+ default: goto yy4;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy18;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy21;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy22;
+ default: goto yy4;
+ }
+yy13:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy12;
+ case 'b': goto yy16;
+ case 'c': goto yy24;
+ default: goto yy4;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ case 'b':
+ case 'c': goto yy23;
+ default: goto yy4;
+ }
+yy15:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy12;
+ case 'b': goto yy16;
+ case 'c': goto yy14;
+ case 'd': goto yy9;
+ default: goto yy4;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy26;
+ default: goto yy4;
+ }
+yy17:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy9;
+ default: goto yy4;
+ }
+yy18:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy18;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy27;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy22;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy20;
+ }
+yy20:
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy21:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy18;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy30;
+ default: goto yy4;
+ }
+yy22:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy23:
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy18;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy22;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy20;
+ }
+yy24:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ case 'b':
+ case 'c': goto yy23;
+ case 'd': goto yy14;
+ default: goto yy4;
+ }
+yy25:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy31;
+ default: goto yy4;
+ }
+yy26:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy14;
+ default: goto yy4;
+ }
+yy27:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy18;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt2 = yyt3;
+ yyt4 = YYCURSOR;
+ goto yy30;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy20;
+ }
+yy28:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy28;
+ default: goto yy20;
+ }
+yy30:
+ yyaccept = 2;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy18;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy22;
+ case 'd': goto yy22;
+ default:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy20;
+ }
+yy31:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt2 = yyt3;
+ goto yy22;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/84.i--flex-syntax.re b/test/posix_captures/repetition/84.i--flex-syntax.re
new file mode 100644
index 00000000..7a4e9c0e
--- /dev/null
+++ b/test/posix_captures/repetition/84.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (ab|a|c|bcd){4,}(d*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/repetition/85.i--flex-syntax.c b/test/posix_captures/repetition/85.i--flex-syntax.c
new file mode 100644
index 00000000..f3123939
--- /dev/null
+++ b/test/posix_captures/repetition/85.i--flex-syntax.c
@@ -0,0 +1,921 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 31) YYFILL(31);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy4;
+ case 'c':
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy6;
+ case 'd':
+ yyt2 = yyt4 = NULL;
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt4 = NULL;
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt4;
+ yypmatch[3] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy10;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy4:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy12;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0:
+ yyt2 = yyt4 = NULL;
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy2;
+ case 1:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ case 2:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ default:
+ yyt4 = yyt3;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy6:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy7:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy8:
+ switch (yych) {
+ case 'd': goto yy7;
+ default: goto yy2;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy14;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy15;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy16;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy10:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy17;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy11:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy14;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy18;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy16;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy5;
+ }
+yy13:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy19;
+ default: goto yy5;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy20;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy21;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy22;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy15:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy14;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy18;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy23;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy16:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy20;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy24;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy22;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy17:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy14;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy18;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy16;
+ case 'd': goto yy11;
+ default:
+ yyt4 = yyt3;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy18:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy25;
+ default: goto yy5;
+ }
+yy19:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy11;
+ default: goto yy5;
+ }
+yy20:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy26;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy27;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy28;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy21:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy20;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy24;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy29;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy22:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy26;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy30;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy28;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy23:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy20;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy24;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy22;
+ case 'd': goto yy16;
+ default:
+ yyt4 = yyt3;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy24:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy31;
+ default: goto yy5;
+ }
+yy25:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy16;
+ default: goto yy5;
+ }
+yy26:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy32;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy33;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy34;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy27:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy26;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy30;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy35;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy28:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy32;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy36;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy34;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy29:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy26;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy30;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy28;
+ case 'd': goto yy22;
+ default:
+ yyt4 = yyt3;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy30:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy37;
+ default: goto yy5;
+ }
+yy31:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy22;
+ default: goto yy5;
+ }
+yy32:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy38;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy39;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy40;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy33:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy32;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy36;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy41;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy34:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy38;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy42;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy40;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy35:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy32;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy36;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy34;
+ case 'd': goto yy28;
+ default:
+ yyt4 = yyt3;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy36:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy43;
+ default: goto yy5;
+ }
+yy37:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy28;
+ default: goto yy5;
+ }
+yy38:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy44;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy45;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy46;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy39:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy38;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy42;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy47;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy40:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy44;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy48;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy46;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy41:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy38;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy42;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy40;
+ case 'd': goto yy34;
+ default:
+ yyt4 = yyt3;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy42:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy49;
+ default: goto yy5;
+ }
+yy43:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy34;
+ default: goto yy5;
+ }
+yy44:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy50;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy51;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy52;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy45:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy44;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy48;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy53;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy46:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy50;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy54;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy52;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy47:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy44;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy48;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy46;
+ case 'd': goto yy40;
+ default:
+ yyt4 = yyt3;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy48:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy55;
+ default: goto yy5;
+ }
+yy49:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy40;
+ default: goto yy5;
+ }
+yy50:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy56;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy57;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy58;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy51:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy50;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy54;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy59;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy52:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy56;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy60;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy58;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy53:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy50;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy54;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy52;
+ case 'd': goto yy46;
+ default:
+ yyt4 = yyt3;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy54:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy61;
+ default: goto yy5;
+ }
+yy55:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy46;
+ default: goto yy5;
+ }
+yy56:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy58;
+ case 'd':
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy57:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy56;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy60;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy62;
+ case 'd':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy7;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy58:
+ yych = *++YYCURSOR;
+ yyt4 = yyt2;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy8;
+yy59:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy56;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy60;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy58;
+ case 'd': goto yy52;
+ default:
+ yyt4 = yyt3;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy60:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy63;
+ default: goto yy5;
+ }
+yy61:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy52;
+ default: goto yy5;
+ }
+yy62:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy58;
+ default:
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy63:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy58;
+ default: goto yy5;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/repetition/85.i--flex-syntax.re b/test/posix_captures/repetition/85.i--flex-syntax.re
new file mode 100644
index 00000000..7d46b09a
--- /dev/null
+++ b/test/posix_captures/repetition/85.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (ab|a|c|bcd){0,10}(d*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/repetition/86.i--flex-syntax.c b/test/posix_captures/repetition/86.i--flex-syntax.c
new file mode 100644
index 00000000..03a92dad
--- /dev/null
+++ b/test/posix_captures/repetition/86.i--flex-syntax.c
@@ -0,0 +1,814 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 31) YYFILL(31);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy7;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy8;
+ case 'b': goto yy9;
+ case 'c': goto yy10;
+ default: goto yy12;
+ }
+yy4:
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt3;
+ yypmatch[4] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy13;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1:
+ yyt2 = YYCURSOR;
+ goto yy4;
+ case 2:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy7:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy8;
+ case 'b': goto yy14;
+ case 'c': goto yy10;
+ default: goto yy12;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy15;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy16;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy17;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy9:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy8;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy14;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy18;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy10:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy15;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy19;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy17;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy12:
+ switch (yych) {
+ case 'd': goto yy11;
+ default: goto yy4;
+ }
+yy13:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy7;
+ default: goto yy6;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy20;
+ default: goto yy6;
+ }
+yy15:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy21;
+ case 'b': goto yy22;
+ case 'c': goto yy23;
+ default: goto yy12;
+ }
+yy16:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy15;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy19;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy24;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy17:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy21;
+ case 'b': goto yy25;
+ case 'c': goto yy23;
+ default: goto yy12;
+ }
+yy18:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy15;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy19;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy17;
+ case 'd': goto yy10;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy19:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy26;
+ default: goto yy6;
+ }
+yy20:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy10;
+ default: goto yy6;
+ }
+yy21:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy27;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy28;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy29;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy22:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy21;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy30;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy23:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy27;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy31;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy29;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy24:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy21;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy23;
+ case 'd': goto yy17;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy25:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy32;
+ default: goto yy6;
+ }
+yy26:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy17;
+ default: goto yy6;
+ }
+yy27:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy33;
+ case 'b': goto yy34;
+ case 'c': goto yy35;
+ default: goto yy12;
+ }
+yy28:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy27;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy31;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy36;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy29:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy33;
+ case 'b': goto yy37;
+ case 'c': goto yy35;
+ default: goto yy12;
+ }
+yy30:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy27;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy31;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy29;
+ case 'd': goto yy23;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy31:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy38;
+ default: goto yy6;
+ }
+yy32:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy23;
+ default: goto yy6;
+ }
+yy33:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy40;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy41;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy34:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy37;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy42;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy35:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy43;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy41;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy36:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy37;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy35;
+ case 'd': goto yy29;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy37:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy44;
+ default: goto yy6;
+ }
+yy38:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy29;
+ default: goto yy6;
+ }
+yy39:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy45;
+ case 'b': goto yy46;
+ case 'c': goto yy47;
+ default: goto yy12;
+ }
+yy40:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy43;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy48;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy41:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy45;
+ case 'b': goto yy49;
+ case 'c': goto yy47;
+ default: goto yy12;
+ }
+yy42:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy43;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy41;
+ case 'd': goto yy35;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy43:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy50;
+ default: goto yy6;
+ }
+yy44:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy35;
+ default: goto yy6;
+ }
+yy45:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy52;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy53;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy46:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy49;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy54;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy47:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy55;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy53;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy48:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy49;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy47;
+ case 'd': goto yy41;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy49:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy56;
+ default: goto yy6;
+ }
+yy50:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy41;
+ default: goto yy6;
+ }
+yy51:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy57;
+ case 'b': goto yy58;
+ case 'c': goto yy59;
+ default: goto yy12;
+ }
+yy52:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy55;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy60;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy53:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy57;
+ case 'b': goto yy61;
+ case 'c': goto yy59;
+ default: goto yy12;
+ }
+yy54:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy55;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy53;
+ case 'd': goto yy47;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy55:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy62;
+ default: goto yy6;
+ }
+yy56:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy47;
+ default: goto yy6;
+ }
+yy57:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy59;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy58:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy61;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy63;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy59:
+ yych = *++YYCURSOR;
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy12;
+yy60:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy61;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy59;
+ case 'd': goto yy53;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy61:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy64;
+ default: goto yy6;
+ }
+yy62:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy53;
+ default: goto yy6;
+ }
+yy63:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy59;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy4;
+ }
+yy64:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy59;
+ default: goto yy6;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/86.i--flex-syntax.re b/test/posix_captures/repetition/86.i--flex-syntax.re
new file mode 100644
index 00000000..274fe5f3
--- /dev/null
+++ b/test/posix_captures/repetition/86.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (ab|a|c|bcd){1,10}(d*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/repetition/87.i--flex-syntax.c b/test/posix_captures/repetition/87.i--flex-syntax.c
new file mode 100644
index 00000000..505ecefb
--- /dev/null
+++ b/test/posix_captures/repetition/87.i--flex-syntax.c
@@ -0,0 +1,815 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 31) YYFILL(31);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy10;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1:
+ yyt2 = YYCURSOR;
+ goto yy8;
+ case 2:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy11;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy12;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy10;
+ default: goto yy4;
+ }
+yy7:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy13;
+ case 'b': goto yy14;
+ case 'c': goto yy15;
+ default: goto yy17;
+ }
+yy8:
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt3;
+ yypmatch[4] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy7;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy12;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy18;
+ default: goto yy4;
+ }
+yy10:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy13;
+ case 'b': goto yy19;
+ case 'c': goto yy15;
+ default: goto yy17;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy20;
+ default: goto yy4;
+ }
+yy13:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy21;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy22;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy23;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy14:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy19;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy24;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy15:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy21;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy23;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy16:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy17:
+ switch (yych) {
+ case 'd': goto yy16;
+ default: goto yy8;
+ }
+yy18:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy19;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy15;
+ case 'd': goto yy10;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy19:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy26;
+ default: goto yy4;
+ }
+yy20:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy10;
+ default: goto yy4;
+ }
+yy21:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy27;
+ case 'b': goto yy28;
+ case 'c': goto yy29;
+ default: goto yy17;
+ }
+yy22:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy21;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy30;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy23:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy27;
+ case 'b': goto yy31;
+ case 'c': goto yy29;
+ default: goto yy17;
+ }
+yy24:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy21;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy23;
+ case 'd': goto yy15;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy25:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy32;
+ default: goto yy4;
+ }
+yy26:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy15;
+ default: goto yy4;
+ }
+yy27:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy34;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy35;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy28:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy27;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy31;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy36;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy29:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy37;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy35;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy30:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy27;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy31;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy29;
+ case 'd': goto yy23;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy31:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy38;
+ default: goto yy4;
+ }
+yy32:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy23;
+ default: goto yy4;
+ }
+yy33:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy39;
+ case 'b': goto yy40;
+ case 'c': goto yy41;
+ default: goto yy17;
+ }
+yy34:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy37;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy42;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy35:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy39;
+ case 'b': goto yy43;
+ case 'c': goto yy41;
+ default: goto yy17;
+ }
+yy36:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy37;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy35;
+ case 'd': goto yy29;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy37:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy44;
+ default: goto yy4;
+ }
+yy38:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy29;
+ default: goto yy4;
+ }
+yy39:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy46;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy47;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy40:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy43;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy48;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy41:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy49;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy47;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy42:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy43;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy41;
+ case 'd': goto yy35;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy43:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy50;
+ default: goto yy4;
+ }
+yy44:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy35;
+ default: goto yy4;
+ }
+yy45:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy51;
+ case 'b': goto yy52;
+ case 'c': goto yy53;
+ default: goto yy17;
+ }
+yy46:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy49;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy54;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy47:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy51;
+ case 'b': goto yy55;
+ case 'c': goto yy53;
+ default: goto yy17;
+ }
+yy48:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy49;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy47;
+ case 'd': goto yy41;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy49:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy56;
+ default: goto yy4;
+ }
+yy50:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy41;
+ default: goto yy4;
+ }
+yy51:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy58;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy59;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy52:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy55;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy60;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy53:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy61;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy59;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy54:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy55;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy53;
+ case 'd': goto yy47;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy55:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy62;
+ default: goto yy4;
+ }
+yy56:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy47;
+ default: goto yy4;
+ }
+yy57:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy59;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy58:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy61;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy63;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy16;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy59:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ goto yy17;
+yy60:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy61;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy59;
+ case 'd': goto yy53;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy61:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy64;
+ default: goto yy4;
+ }
+yy62:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy53;
+ default: goto yy4;
+ }
+yy63:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy59;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy64:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy59;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/87.i--flex-syntax.re b/test/posix_captures/repetition/87.i--flex-syntax.re
new file mode 100644
index 00000000..e02736c3
--- /dev/null
+++ b/test/posix_captures/repetition/87.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (ab|a|c|bcd){2,10}(d*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/repetition/88.i--flex-syntax.c b/test/posix_captures/repetition/88.i--flex-syntax.c
new file mode 100644
index 00000000..fd504da9
--- /dev/null
+++ b/test/posix_captures/repetition/88.i--flex-syntax.c
@@ -0,0 +1,772 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 31) YYFILL(31);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy8;
+ case 'c': goto yy9;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1:
+ yyt2 = YYCURSOR;
+ goto yy13;
+ case 2:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy13;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy10;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy11;
+ case 'c': goto yy9;
+ default: goto yy4;
+ }
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy14;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy15;
+ default: goto yy4;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy11;
+ case 'c': goto yy16;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy17;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy15;
+ default: goto yy4;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy18;
+ default: goto yy4;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy19;
+ case 'b': goto yy20;
+ case 'c': goto yy21;
+ default: goto yy23;
+ }
+yy13:
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt3;
+ yypmatch[4] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy17;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy24;
+ default: goto yy4;
+ }
+yy15:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy19;
+ case 'b': goto yy25;
+ case 'c': goto yy21;
+ default: goto yy23;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy12;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy17;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy15;
+ case 'd': goto yy9;
+ default: goto yy4;
+ }
+yy17:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy26;
+ default: goto yy4;
+ }
+yy18:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy9;
+ default: goto yy4;
+ }
+yy19:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy27;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy28;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy29;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy20:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy19;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy30;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy21:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy27;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy31;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy29;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy22:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy23:
+ switch (yych) {
+ case 'd': goto yy22;
+ default: goto yy13;
+ }
+yy24:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy19;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy25;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy21;
+ case 'd': goto yy15;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy25:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy32;
+ default: goto yy4;
+ }
+yy26:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy15;
+ default: goto yy4;
+ }
+yy27:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy33;
+ case 'b': goto yy34;
+ case 'c': goto yy35;
+ default: goto yy23;
+ }
+yy28:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy27;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy31;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy36;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy29:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy33;
+ case 'b': goto yy37;
+ case 'c': goto yy35;
+ default: goto yy23;
+ }
+yy30:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy27;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy31;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy29;
+ case 'd': goto yy21;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy31:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy38;
+ default: goto yy4;
+ }
+yy32:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy21;
+ default: goto yy4;
+ }
+yy33:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy40;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy41;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy34:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy37;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy42;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy35:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy43;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy41;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy36:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy37;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy35;
+ case 'd': goto yy29;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy37:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy44;
+ default: goto yy4;
+ }
+yy38:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy29;
+ default: goto yy4;
+ }
+yy39:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy45;
+ case 'b': goto yy46;
+ case 'c': goto yy47;
+ default: goto yy23;
+ }
+yy40:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy43;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy48;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy41:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy45;
+ case 'b': goto yy49;
+ case 'c': goto yy47;
+ default: goto yy23;
+ }
+yy42:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy43;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy41;
+ case 'd': goto yy35;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy43:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy50;
+ default: goto yy4;
+ }
+yy44:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy35;
+ default: goto yy4;
+ }
+yy45:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy52;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy53;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy46:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy49;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy54;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy47:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy55;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy53;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy48:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy49;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy47;
+ case 'd': goto yy41;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy49:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy56;
+ default: goto yy4;
+ }
+yy50:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy41;
+ default: goto yy4;
+ }
+yy51:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy57;
+ case 'b': goto yy58;
+ case 'c': goto yy59;
+ default: goto yy23;
+ }
+yy52:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy55;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy60;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy53:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy57;
+ case 'b': goto yy61;
+ case 'c': goto yy59;
+ default: goto yy23;
+ }
+yy54:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy55;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy53;
+ case 'd': goto yy47;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy55:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy62;
+ default: goto yy4;
+ }
+yy56:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy47;
+ default: goto yy4;
+ }
+yy57:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy59;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy58:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy61;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy63;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy22;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy59:
+ yych = *++YYCURSOR;
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy23;
+yy60:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy61;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy59;
+ case 'd': goto yy53;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy61:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy64;
+ default: goto yy4;
+ }
+yy62:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy53;
+ default: goto yy4;
+ }
+yy63:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy59;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy13;
+ }
+yy64:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy59;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/88.i--flex-syntax.re b/test/posix_captures/repetition/88.i--flex-syntax.re
new file mode 100644
index 00000000..465d7969
--- /dev/null
+++ b/test/posix_captures/repetition/88.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (ab|a|c|bcd){3,10}(d*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/repetition/89.i--flex-syntax.c b/test/posix_captures/repetition/89.i--flex-syntax.c
new file mode 100644
index 00000000..3bb79f83
--- /dev/null
+++ b/test/posix_captures/repetition/89.i--flex-syntax.c
@@ -0,0 +1,745 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 31) YYFILL(31);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy8;
+ case 'c': goto yy9;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0: goto yy2;
+ case 1:
+ yyt2 = YYCURSOR;
+ goto yy19;
+ case 2:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy19;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy19;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy10;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy11;
+ case 'c': goto yy9;
+ default: goto yy4;
+ }
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy12;
+ case 'b': goto yy13;
+ case 'c': goto yy14;
+ default: goto yy4;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy11;
+ case 'c': goto yy15;
+ default: goto yy4;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy12;
+ case 'b': goto yy16;
+ case 'c': goto yy14;
+ default: goto yy4;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy17;
+ default: goto yy4;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy18;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy20;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy21;
+ default: goto yy4;
+ }
+yy13:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy12;
+ case 'b': goto yy16;
+ case 'c': goto yy22;
+ default: goto yy4;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy18;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy23;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy21;
+ default: goto yy4;
+ }
+yy15:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy12;
+ case 'b': goto yy16;
+ case 'c': goto yy14;
+ case 'd': goto yy9;
+ default: goto yy4;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy24;
+ default: goto yy4;
+ }
+yy17:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy9;
+ default: goto yy4;
+ }
+yy18:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy25;
+ case 'b': goto yy26;
+ case 'c': goto yy27;
+ default: goto yy29;
+ }
+yy19:
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt3;
+ yypmatch[4] = yyt2;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy20:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy18;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy23;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy30;
+ default: goto yy4;
+ }
+yy21:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy25;
+ case 'b': goto yy31;
+ case 'c': goto yy27;
+ default: goto yy29;
+ }
+yy22:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy18;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy23;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy21;
+ case 'd': goto yy14;
+ default: goto yy4;
+ }
+yy23:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy32;
+ default: goto yy4;
+ }
+yy24:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy14;
+ default: goto yy4;
+ }
+yy25:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy34;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy35;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy19;
+ }
+yy26:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy25;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy31;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy36;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy19;
+ }
+yy27:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy37;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy35;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy19;
+ }
+yy28:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy29:
+ switch (yych) {
+ case 'd': goto yy28;
+ default: goto yy19;
+ }
+yy30:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy25;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy31;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy27;
+ case 'd': goto yy21;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy19;
+ }
+yy31:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy38;
+ default: goto yy4;
+ }
+yy32:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy21;
+ default: goto yy4;
+ }
+yy33:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy39;
+ case 'b': goto yy40;
+ case 'c': goto yy41;
+ default: goto yy29;
+ }
+yy34:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy37;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy42;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy19;
+ }
+yy35:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy39;
+ case 'b': goto yy43;
+ case 'c': goto yy41;
+ default: goto yy29;
+ }
+yy36:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy33;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy37;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy35;
+ case 'd': goto yy27;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy19;
+ }
+yy37:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy44;
+ default: goto yy4;
+ }
+yy38:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy27;
+ default: goto yy4;
+ }
+yy39:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy46;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy47;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy19;
+ }
+yy40:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy43;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy48;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy19;
+ }
+yy41:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy49;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy47;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy19;
+ }
+yy42:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy39;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy43;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy41;
+ case 'd': goto yy35;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy19;
+ }
+yy43:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy50;
+ default: goto yy4;
+ }
+yy44:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy35;
+ default: goto yy4;
+ }
+yy45:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy51;
+ case 'b': goto yy52;
+ case 'c': goto yy53;
+ default: goto yy29;
+ }
+yy46:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy49;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy54;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy19;
+ }
+yy47:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy51;
+ case 'b': goto yy55;
+ case 'c': goto yy53;
+ default: goto yy29;
+ }
+yy48:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy45;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy49;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy47;
+ case 'd': goto yy41;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy19;
+ }
+yy49:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy56;
+ default: goto yy4;
+ }
+yy50:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy41;
+ default: goto yy4;
+ }
+yy51:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy58;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy59;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy19;
+ }
+yy52:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy55;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy60;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy19;
+ }
+yy53:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy61;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy59;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy19;
+ }
+yy54:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy51;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy55;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy53;
+ case 'd': goto yy47;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy19;
+ }
+yy55:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy62;
+ default: goto yy4;
+ }
+yy56:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy47;
+ default: goto yy4;
+ }
+yy57:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy59;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy19;
+ }
+yy58:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy61;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy63;
+ case 'd':
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy28;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy19;
+ }
+yy59:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ goto yy29;
+yy60:
+ yyaccept = 3;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy57;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy61;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy59;
+ case 'd': goto yy53;
+ default:
+ yyt3 = yyt4;
+ yyt2 = YYCURSOR;
+ goto yy19;
+ }
+yy61:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy64;
+ default: goto yy4;
+ }
+yy62:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy53;
+ default: goto yy4;
+ }
+yy63:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy59;
+ default:
+ yyt3 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy19;
+ }
+yy64:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy59;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/89.i--flex-syntax.re b/test/posix_captures/repetition/89.i--flex-syntax.re
new file mode 100644
index 00000000..d1150fc8
--- /dev/null
+++ b/test/posix_captures/repetition/89.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (ab|a|c|bcd){4,10}(d*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/repetition/90.i--flex-syntax.c b/test/posix_captures/repetition/90.i--flex-syntax.c
new file mode 100644
index 00000000..ee14a948
--- /dev/null
+++ b/test/posix_captures/repetition/90.i--flex-syntax.c
@@ -0,0 +1,168 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt5 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt1 = yyt5 = YYCURSOR;
+ goto yy7;
+ case 'd':
+ yyt3 = yyt5 = NULL;
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt2 = yyt3 = NULL;
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[3] = yyt3;
+ yypmatch[4] = yyt4;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy11;
+ case 'c':
+ yyt5 = YYCURSOR;
+ goto yy7;
+ case 'd':
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt2 = yyt5;
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy12;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ yyt2 = yyt3 = NULL;
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy2;
+ } else {
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy7:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = yyt5;
+ yyt5 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt5 = YYCURSOR;
+ goto yy7;
+ case 'd':
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt2 = yyt5;
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy9;
+ default:
+ yyt2 = yyt5;
+ goto yy2;
+ }
+yy11:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = yyt5;
+ yyt5 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy13;
+ case 'd':
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy9;
+ default:
+ yyt2 = yyt5;
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy12:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy7;
+ default: goto yy6;
+ }
+yy13:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt5 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt5 = YYCURSOR;
+ goto yy7;
+ case 'd':
+ yyt5 = yyt3;
+ goto yy7;
+ default:
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: unreachable rule (shadowed by rule at line 5) [-Wunreachable-rules]
diff --git a/test/posix_captures/repetition/90.i--flex-syntax.re b/test/posix_captures/repetition/90.i--flex-syntax.re
new file mode 100644
index 00000000..bc57ab50
--- /dev/null
+++ b/test/posix_captures/repetition/90.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (ab|a|c|bcd)*(d*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/repetition/91.i--flex-syntax.c b/test/posix_captures/repetition/91.i--flex-syntax.c
new file mode 100644
index 00000000..5b0b3e33
--- /dev/null
+++ b/test/posix_captures/repetition/91.i--flex-syntax.c
@@ -0,0 +1,162 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy6;
+ case 'c':
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy8;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy10;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy8;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy5;
+ }
+yy5:
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = YYCURSOR;
+ {}
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy13;
+ default: goto yy7;
+ }
+yy7:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy2;
+ } else {
+ yyt3 = YYCURSOR;
+ goto yy5;
+ }
+yy8:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = yyt4;
+ yyt4 = YYCURSOR;
+ goto yy6;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy8;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy5;
+ }
+yy10:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = yyt4;
+ yyt4 = YYCURSOR;
+ goto yy6;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy14;
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt2 = yyt4;
+ yyt3 = YYCURSOR;
+ goto yy5;
+ }
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy11;
+ default:
+ yyt2 = yyt4;
+ goto yy5;
+ }
+yy13:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy8;
+ default: goto yy7;
+ }
+yy14:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt4 = YYCURSOR;
+ goto yy6;
+ case 'c':
+ yyt4 = YYCURSOR;
+ goto yy8;
+ case 'd':
+ yyt4 = yyt3;
+ goto yy8;
+ default:
+ yyt3 = YYCURSOR;
+ goto yy5;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/repetition/91.i--flex-syntax.re b/test/posix_captures/repetition/91.i--flex-syntax.re
new file mode 100644
index 00000000..518eb640
--- /dev/null
+++ b/test/posix_captures/repetition/91.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (ab|a|c|bcd)+(d*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/rightassoc/01.i--flex-syntax.c b/test/posix_captures/rightassoc/01.i--flex-syntax.c
new file mode 100644
index 00000000..d6c20567
--- /dev/null
+++ b/test/posix_captures/rightassoc/01.i--flex-syntax.c
@@ -0,0 +1,79 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ goto yy10;
+yy7:
+ yynmatch = 4;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt3;
+ yypmatch[6] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = yyt2;
+ yypmatch[7] = YYCURSOR;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy11;
+ default: goto yy4;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy10:
+ switch (yych) {
+ case 'd': goto yy9;
+ default: goto yy7;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/rightassoc/01.i--flex-syntax.re b/test/posix_captures/rightassoc/01.i--flex-syntax.re
new file mode 100644
index 00000000..e430d642
--- /dev/null
+++ b/test/posix_captures/rightassoc/01.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a|ab)(c|bcd)(d*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/rightassoc/02.i--flex-syntax.c b/test/posix_captures/rightassoc/02.i--flex-syntax.c
new file mode 100644
index 00000000..d6c20567
--- /dev/null
+++ b/test/posix_captures/rightassoc/02.i--flex-syntax.c
@@ -0,0 +1,79 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ goto yy10;
+yy7:
+ yynmatch = 4;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt3;
+ yypmatch[6] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = yyt2;
+ yypmatch[7] = YYCURSOR;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy11;
+ default: goto yy4;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy10:
+ switch (yych) {
+ case 'd': goto yy9;
+ default: goto yy7;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/rightassoc/02.i--flex-syntax.re b/test/posix_captures/rightassoc/02.i--flex-syntax.re
new file mode 100644
index 00000000..6de412cb
--- /dev/null
+++ b/test/posix_captures/rightassoc/02.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a|ab)(bcd|c)(d*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/rightassoc/03.i--flex-syntax.c b/test/posix_captures/rightassoc/03.i--flex-syntax.c
new file mode 100644
index 00000000..d6c20567
--- /dev/null
+++ b/test/posix_captures/rightassoc/03.i--flex-syntax.c
@@ -0,0 +1,79 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ goto yy10;
+yy7:
+ yynmatch = 4;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt3;
+ yypmatch[6] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = yyt2;
+ yypmatch[7] = YYCURSOR;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy11;
+ default: goto yy4;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy10:
+ switch (yych) {
+ case 'd': goto yy9;
+ default: goto yy7;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/rightassoc/03.i--flex-syntax.re b/test/posix_captures/rightassoc/03.i--flex-syntax.re
new file mode 100644
index 00000000..fc3a23a8
--- /dev/null
+++ b/test/posix_captures/rightassoc/03.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (ab|a)(c|bcd)(d*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/rightassoc/04.i--flex-syntax.c b/test/posix_captures/rightassoc/04.i--flex-syntax.c
new file mode 100644
index 00000000..d6c20567
--- /dev/null
+++ b/test/posix_captures/rightassoc/04.i--flex-syntax.c
@@ -0,0 +1,79 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt3 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ goto yy10;
+yy7:
+ yynmatch = 4;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt3;
+ yypmatch[6] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = yyt2;
+ yypmatch[7] = YYCURSOR;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy11;
+ default: goto yy4;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy10:
+ switch (yych) {
+ case 'd': goto yy9;
+ default: goto yy7;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/rightassoc/04.i--flex-syntax.re b/test/posix_captures/rightassoc/04.i--flex-syntax.re
new file mode 100644
index 00000000..a45f2e7d
--- /dev/null
+++ b/test/posix_captures/rightassoc/04.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (ab|a)(bcd|c)(d*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/rightassoc/05.i--flex-syntax.c b/test/posix_captures/rightassoc/05.i--flex-syntax.c
new file mode 100644
index 00000000..cc793659
--- /dev/null
+++ b/test/posix_captures/rightassoc/05.i--flex-syntax.c
@@ -0,0 +1,61 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ goto yy9;
+yy7:
+ yynmatch = 4;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt3;
+ yypmatch[6] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = yyt2;
+ yypmatch[7] = YYCURSOR;
+ {}
+yy8:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy9:
+ switch (yych) {
+ case 'c': goto yy8;
+ default: goto yy7;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/rightassoc/05.i--flex-syntax.re b/test/posix_captures/rightassoc/05.i--flex-syntax.re
new file mode 100644
index 00000000..1b56c9bc
--- /dev/null
+++ b/test/posix_captures/rightassoc/05.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a*)(b|abc)(c*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/rightassoc/06.i--flex-syntax.c b/test/posix_captures/rightassoc/06.i--flex-syntax.c
new file mode 100644
index 00000000..cc793659
--- /dev/null
+++ b/test/posix_captures/rightassoc/06.i--flex-syntax.c
@@ -0,0 +1,61 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ goto yy9;
+yy7:
+ yynmatch = 4;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt3;
+ yypmatch[6] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = yyt2;
+ yypmatch[7] = YYCURSOR;
+ {}
+yy8:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy9:
+ switch (yych) {
+ case 'c': goto yy8;
+ default: goto yy7;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/rightassoc/06.i--flex-syntax.re b/test/posix_captures/rightassoc/06.i--flex-syntax.re
new file mode 100644
index 00000000..2a5de55c
--- /dev/null
+++ b/test/posix_captures/rightassoc/06.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a*)(abc|b)(c*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/rightassoc/07.i--flex-syntax.c b/test/posix_captures/rightassoc/07.i--flex-syntax.c
new file mode 100644
index 00000000..cc793659
--- /dev/null
+++ b/test/posix_captures/rightassoc/07.i--flex-syntax.c
@@ -0,0 +1,61 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ goto yy9;
+yy7:
+ yynmatch = 4;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt3;
+ yypmatch[6] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = yyt2;
+ yypmatch[7] = YYCURSOR;
+ {}
+yy8:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy9:
+ switch (yych) {
+ case 'c': goto yy8;
+ default: goto yy7;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/rightassoc/07.i--flex-syntax.re b/test/posix_captures/rightassoc/07.i--flex-syntax.re
new file mode 100644
index 00000000..1b56c9bc
--- /dev/null
+++ b/test/posix_captures/rightassoc/07.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a*)(b|abc)(c*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/rightassoc/08.i--flex-syntax.c b/test/posix_captures/rightassoc/08.i--flex-syntax.c
new file mode 100644
index 00000000..cc793659
--- /dev/null
+++ b/test/posix_captures/rightassoc/08.i--flex-syntax.c
@@ -0,0 +1,61 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ goto yy9;
+yy7:
+ yynmatch = 4;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt3;
+ yypmatch[6] = yyt2;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt3;
+ yypmatch[5] = yyt2;
+ yypmatch[7] = YYCURSOR;
+ {}
+yy8:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy9:
+ switch (yych) {
+ case 'c': goto yy8;
+ default: goto yy7;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/rightassoc/08.i--flex-syntax.re b/test/posix_captures/rightassoc/08.i--flex-syntax.re
new file mode 100644
index 00000000..2a5de55c
--- /dev/null
+++ b/test/posix_captures/rightassoc/08.i--flex-syntax.re
@@ -0,0 +1,7 @@
+/*!re2c
+ re2c:flags:posix-captures = 1;
+
+ (a*)(abc|b)(c*)
+ {}
+ "" {}
+*/
diff --git a/test/posix_captures/rightassoc/09.i--flex-syntax.c b/test/posix_captures/rightassoc/09.i--flex-syntax.c
new file mode 100644
index 00000000..c9e6ac0b
--- /dev/null
+++ b/test/posix_captures/rightassoc/09.i--flex-syntax.c
@@ -0,0 +1,77 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy10;
+yy7:
+ yynmatch = 4;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[6] = yyt3;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[7] = YYCURSOR;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy11;
+ default: goto yy4;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy10:
+ if (yych <= 0x00) goto yy7;
+ goto yy9;
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/rightassoc/09.i--flex-syntax.re b/test/posix_captures/rightassoc/09.i--flex-syntax.re
new file mode 100644
index 00000000..892346e6
--- /dev/null
+++ b/test/posix_captures/rightassoc/09.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/rightassoc/10.i--flex-syntax.c b/test/posix_captures/rightassoc/10.i--flex-syntax.c
new file mode 100644
index 00000000..c9e6ac0b
--- /dev/null
+++ b/test/posix_captures/rightassoc/10.i--flex-syntax.c
@@ -0,0 +1,77 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy10;
+yy7:
+ yynmatch = 4;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[6] = yyt3;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[7] = YYCURSOR;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy11;
+ default: goto yy4;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy10:
+ if (yych <= 0x00) goto yy7;
+ goto yy9;
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/rightassoc/10.i--flex-syntax.re b/test/posix_captures/rightassoc/10.i--flex-syntax.re
new file mode 100644
index 00000000..20ed9353
--- /dev/null
+++ b/test/posix_captures/rightassoc/10.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/rightassoc/11.i--flex-syntax.c b/test/posix_captures/rightassoc/11.i--flex-syntax.c
new file mode 100644
index 00000000..c9e6ac0b
--- /dev/null
+++ b/test/posix_captures/rightassoc/11.i--flex-syntax.c
@@ -0,0 +1,77 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy10;
+yy7:
+ yynmatch = 4;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[6] = yyt3;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[7] = YYCURSOR;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy11;
+ default: goto yy4;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy10:
+ if (yych <= 0x00) goto yy7;
+ goto yy9;
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/rightassoc/11.i--flex-syntax.re b/test/posix_captures/rightassoc/11.i--flex-syntax.re
new file mode 100644
index 00000000..456f51c7
--- /dev/null
+++ b/test/posix_captures/rightassoc/11.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/rightassoc/12.i--flex-syntax.c b/test/posix_captures/rightassoc/12.i--flex-syntax.c
new file mode 100644
index 00000000..c9e6ac0b
--- /dev/null
+++ b/test/posix_captures/rightassoc/12.i--flex-syntax.c
@@ -0,0 +1,77 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ yynmatch = 1;
+ yypmatch[0] = YYCURSOR;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy8;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy10;
+yy7:
+ yynmatch = 4;
+ yypmatch[2] = yyt1;
+ yypmatch[4] = yyt2;
+ yypmatch[6] = yyt3;
+ yypmatch[0] = yyt1;
+ yypmatch[1] = YYCURSOR;
+ yypmatch[3] = yyt2;
+ yypmatch[5] = yyt3;
+ yypmatch[7] = YYCURSOR;
+ {}
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy11;
+ default: goto yy4;
+ }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy10:
+ if (yych <= 0x00) goto yy7;
+ goto yy9;
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy6;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/rightassoc/12.i--flex-syntax.re b/test/posix_captures/rightassoc/12.i--flex-syntax.re
new file mode 100644
index 00000000..460a6c0a
--- /dev/null
+++ b/test/posix_captures/rightassoc/12.i--flex-syntax.re
Binary files differ
diff --git a/test/posix_captures/uncomparable_bottoms.i--posix-captures.c b/test/posix_captures/uncomparable_bottoms.i--posix-captures.c
new file mode 100644
index 00000000..b3035f57
--- /dev/null
+++ b/test/posix_captures/uncomparable_bottoms.i--posix-captures.c
@@ -0,0 +1,68 @@
+/* Generated by re2c */
+// if two histories are both bottoms (default) for the given tag,
+// they are uncomparable from this tag's point of view: decision
+// should be relayed on less prioritized tags
+
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt5 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = yyt5 = NULL;
+ yyt1 = yyt3 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt2 = yyt3 = yyt4 = yyt5 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ yynmatch = 3;
+ yypmatch[0] = yyt1;
+ yypmatch[2] = yyt5;
+ yypmatch[3] = yyt2;
+ yypmatch[4] = yyt3;
+ yypmatch[5] = yyt4;
+ yypmatch[1] = YYCURSOR;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt3 = yyt4 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy2;
+ }
+yy4:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy2;
+ }
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = YYCURSOR;
+ goto yy4;
+ default:
+ yyt4 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/posix_captures/uncomparable_bottoms.i--posix-captures.re b/test/posix_captures/uncomparable_bottoms.i--posix-captures.re
new file mode 100644
index 00000000..0696df27
--- /dev/null
+++ b/test/posix_captures/uncomparable_bottoms.i--posix-captures.re
@@ -0,0 +1,7 @@
+// if two histories are both bottoms (default) for the given tag,
+// they are uncomparable from this tag's point of view: decision
+// should be relayed on less prioritized tags
+
+/*!re2c
+ ("a")? ("b" | "bb")* {}
+*/
diff --git a/test/push.--skeleton.c b/test/push.--skeleton.c
index 3a4b0c24..44000f38 100644
--- a/test/push.--skeleton.c
+++ b/test/push.--skeleton.c
@@ -1,7 +1,9 @@
/* Generated by re2c */
+#include <stddef.h> /* size_t */
#include <stdio.h>
#include <stdlib.h> /* malloc, free */
+#include <string.h> /* memcpy */
static void *read_file
( const char *fname
@@ -56,7 +58,7 @@ error:
#define YYFILL(n) { break; }
static int action_line261
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -64,10 +66,12 @@ static int action_line261
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -77,17 +81,17 @@ static int action_line261
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line261: at position %ld (iteration %u):\n"
+ , "error: lex_line261: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -97,6 +101,13 @@ static int action_line261
}
}
+static int check_key_count_line261(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line261: not enough keys\n");
+ return 1;
+}
+
int lex_line261()
{
const size_t padding = 7; /* YYMAXFILL */
@@ -124,7 +135,7 @@ int lex_line261()
keys = (YYKEYTYPE *) read_file
("push.--skeleton.c.line261.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -137,11 +148,10 @@ int lex_line261()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
-yy0:
if (YYLESSTHAN (7)) YYFILL(7);
yych = YYPEEK ();
switch (yych) {
@@ -226,43 +236,53 @@ yy0:
}
yy2:
YYSKIP ();
- status = action_line261(i, keys, input, token, &cursor, 18);
+ status = check_key_count_line261(keys_count, i, 3)
+ || action_line261(&i, keys, input, token, &cursor, 18);
continue;
yy4:
YYSKIP ();
- status = action_line261(i, keys, input, token, &cursor, 19);
+ status = check_key_count_line261(keys_count, i, 3)
+ || action_line261(&i, keys, input, token, &cursor, 19);
continue;
yy6:
YYSKIP ();
- status = action_line261(i, keys, input, token, &cursor, 17);
+ status = check_key_count_line261(keys_count, i, 3)
+ || action_line261(&i, keys, input, token, &cursor, 17);
continue;
yy8:
YYSKIP ();
- status = action_line261(i, keys, input, token, &cursor, 16);
+ status = check_key_count_line261(keys_count, i, 3)
+ || action_line261(&i, keys, input, token, &cursor, 16);
continue;
yy10:
YYSKIP ();
- status = action_line261(i, keys, input, token, &cursor, 10);
+ status = check_key_count_line261(keys_count, i, 3)
+ || action_line261(&i, keys, input, token, &cursor, 10);
continue;
yy12:
YYSKIP ();
- status = action_line261(i, keys, input, token, &cursor, 11);
+ status = check_key_count_line261(keys_count, i, 3)
+ || action_line261(&i, keys, input, token, &cursor, 11);
continue;
yy14:
YYSKIP ();
- status = action_line261(i, keys, input, token, &cursor, 14);
+ status = check_key_count_line261(keys_count, i, 3)
+ || action_line261(&i, keys, input, token, &cursor, 14);
continue;
yy16:
YYSKIP ();
- status = action_line261(i, keys, input, token, &cursor, 13);
+ status = check_key_count_line261(keys_count, i, 3)
+ || action_line261(&i, keys, input, token, &cursor, 13);
continue;
yy18:
YYSKIP ();
- status = action_line261(i, keys, input, token, &cursor, 12);
+ status = check_key_count_line261(keys_count, i, 3)
+ || action_line261(&i, keys, input, token, &cursor, 12);
continue;
yy20:
YYSKIP ();
- status = action_line261(i, keys, input, token, &cursor, 15);
+ status = check_key_count_line261(keys_count, i, 3)
+ || action_line261(&i, keys, input, token, &cursor, 15);
continue;
yy22:
YYSKIP ();
@@ -282,11 +302,13 @@ yy22:
default: goto yy24;
}
yy24:
- status = action_line261(i, keys, input, token, &cursor, 8);
+ status = check_key_count_line261(keys_count, i, 3)
+ || action_line261(&i, keys, input, token, &cursor, 8);
continue;
yy25:
YYSKIP ();
- status = action_line261(i, keys, input, token, &cursor, 9);
+ status = check_key_count_line261(keys_count, i, 3)
+ || action_line261(&i, keys, input, token, &cursor, 9);
continue;
yy27:
YYSKIP ();
@@ -360,7 +382,8 @@ yy28:
default: goto yy29;
}
yy29:
- status = action_line261(i, keys, input, token, &cursor, 7);
+ status = check_key_count_line261(keys_count, i, 3)
+ || action_line261(&i, keys, input, token, &cursor, 7);
continue;
yy30:
YYSKIP ();
@@ -441,7 +464,8 @@ yy40:
}
yy41:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -508,7 +532,8 @@ yy41:
default: goto yy42;
}
yy42:
- status = action_line261(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line261(keys_count, i, 3)
+ || action_line261(&i, keys, input, token, &cursor, 0);
continue;
yy43:
YYSKIP ();
@@ -540,7 +565,8 @@ yy46:
}
yy47:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -607,7 +633,8 @@ yy47:
default: goto yy48;
}
yy48:
- status = action_line261(i, keys, input, token, &cursor, 1);
+ status = check_key_count_line261(keys_count, i, 3)
+ || action_line261(&i, keys, input, token, &cursor, 1);
continue;
yy49:
YYSKIP ();
@@ -639,7 +666,8 @@ yy52:
}
yy53:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -706,11 +734,13 @@ yy53:
default: goto yy54;
}
yy54:
- status = action_line261(i, keys, input, token, &cursor, 2);
+ status = check_key_count_line261(keys_count, i, 3)
+ || action_line261(&i, keys, input, token, &cursor, 2);
continue;
yy55:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -777,7 +807,8 @@ yy55:
default: goto yy56;
}
yy56:
- status = action_line261(i, keys, input, token, &cursor, 3);
+ status = check_key_count_line261(keys_count, i, 3)
+ || action_line261(&i, keys, input, token, &cursor, 3);
continue;
yy57:
YYSKIP ();
@@ -795,7 +826,8 @@ yy58:
}
yy59:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -862,7 +894,8 @@ yy59:
default: goto yy60;
}
yy60:
- status = action_line261(i, keys, input, token, &cursor, 4);
+ status = check_key_count_line261(keys_count, i, 3)
+ || action_line261(&i, keys, input, token, &cursor, 4);
continue;
yy61:
YYSKIP ();
@@ -873,7 +906,8 @@ yy61:
}
yy62:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -940,11 +974,13 @@ yy62:
default: goto yy63;
}
yy63:
- status = action_line261(i, keys, input, token, &cursor, 5);
+ status = check_key_count_line261(keys_count, i, 3)
+ || action_line261(&i, keys, input, token, &cursor, 5);
continue;
yy64:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -1011,7 +1047,8 @@ yy64:
default: goto yy65;
}
yy65:
- status = action_line261(i, keys, input, token, &cursor, 6);
+ status = check_key_count_line261(keys_count, i, 3)
+ || action_line261(&i, keys, input, token, &cursor, 6);
continue;
}
@@ -1023,7 +1060,7 @@ yy65:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line261: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line261: unused keys left after %u keys\n", i);
}
}
@@ -1049,13 +1086,11 @@ int main()
return 0;
}
-()*+-/000
-111 222 333 444555666777888999000111222333444555666777888999000111222 333!444"555#666$777%888&999'000(111)222*333+444,555-666.777/888:999;000<111=222>333?444@555A666B777C888D999E000F111G222H333I444J555K666L777M888N999O000P111Q222R333S444T555U666V777W888X999Y000Z111[222\333]444^555_666`777a888b999c000d111e222f333g444h555i666j777k888l999m000n111o222p333q444r555s666t777u888v999w000x111y222z333{444|555}666~777888€999000‚111ƒ222„333…444†555‡666ˆ777‰888Š999‹000Œ111222Ž333444555‘666’777“888”999•000–111—222˜333™444š555›666œ777888ž999Ÿ000 111¡222¢333£444¤555¥666¦777§888¨999©000ª111«222¬333­444®555¯666°777±888²999³000´111µ222¶333·444¸555¹666º777»888¼999½000¾111¿222À333Á444Â555Ã666Ä777Å888Æ999Ç000È111É222Ê333Ë444Ì555Í666Î777Ï888Ð999Ñ000Ò111Ó222Ô333Õ444Ö555×666Ø777Ù888Ú999Û000Ü111Ý222Þ333ß444à555á666â777ã888ä999å000æ111ç222è333é444ê555ë666ì777í888î999ï000ð111ñ222ò333ó444ô555õ666ö777÷888ø999ù000ú111û222ü333ý444þ555ÿ00
+()*+-/00
11 22 33 44556677889900112233445566778899001122 33!44"55#66$77%88&99'00(11)22*33+44,55-66.77/88:99;00<11=22>33?44@55A66B77C88D99E00F11G22H33I44J55K66L77M88N99O00P11Q22R33S44T55U66V77W88X99Y00Z11[22\33]44^55_66`77a88b99c00d11e22f33g44h55i66j77k88l99m00n11o22p33q44r55s66t77u88v99w00x11y22z33{44|55}66~7788€9900‚11ƒ22„33…44†55‡66ˆ77‰88Š99‹00Œ1122Ž334455‘66’77“88”99•00–11—22˜33™44š55›66œ7788ž99Ÿ00 11¡22¢33£44¤55¥66¦77§88¨99©00ª11«22¬33­44®55¯66°77±88²99³00´11µ22¶33·44¸55¹66º77»88¼99½00¾11¿22À33Á44Â55Ã66Ä77Å88Æ99Ç00È11É22Ê33Ë44Ì55Í66Î77Ï88Ð99Ñ00Ò11Ó22Ô33Õ44Ö55×66Ø77Ù88Ú99Û00Ü11Ý22Þ33ß44à55á66â77ã88ä99å00æ11ç22è33é44ê55ë66ì77í88î99ï00ð11ñ22ò33ó44ô55õ66ö77÷88ø99ù00ú11û22ü33ý44þ55ÿ0
-1 2 3 4567890123456789012 3!4"5#6$7%8&9'0(1)2*3+4,5-6.7/8:9;0<1=2>3?4@5A6B7C8D9E0F1G2H3I4J5K6L7M8N9O0P1Q2R3S4T5U6V7W8X9Y0Z1[2\3]4^5_6`7a8b9c0d1e2f3g4h5i6j7k8l9m0n1o2p3q4r5s6t7u8v9w0x1y2z3{4|5}6~78€90‚1ƒ2„3…4†5‡6ˆ7‰8Š9‹0Œ12Ž345‘6’7“8”9•0–1—2˜3™4š5›6œ78ž9Ÿ0 1¡2¢3£4¤5¥6¦7§8¨9©0ª1«2¬3­4®5¯6°7±8²9³0´1µ2¶3·4¸5¹6º7»8¼9½0¾1¿2À3Á4Â5Ã6Ä7Å8Æ9Ç0È1É2Ê3Ë4Ì5Í6Î7Ï8Ð9Ñ0Ò1Ó2Ô3Õ4Ö5×6Ø7Ù8Ú9Û0Ü1Ý2Þ3ß4à5á6â7ã8ä9å0æ1ç2è3é4ê5ë6ì7í8î9ï0ð1ñ2ò3ó4ô5õ6ö7÷8ø9ù0ú1û2ü3ý4þ5ÿ=A00
-LBB MCC NDD OEEPFFQGGRHHSIITJJUKKVLLWMMXNNYOOZPP_QQaRRcSSdTTjUUkVVlWW mXX!nYY"oZZ#p__$qaa%sbb&tcc'udd(vee)xff*ygg+zhh,Aii-Bjj.Ckk/Dll:Emm;Fnn<Goo=Hpp>Iqq?Jrr@Kss[Ltt\Muu]Nvv^Oww`Pxx{Qyy|Rzz}S00~T11U22€V33W44‚X55ƒY66„Z77…_88†a99‡cAAˆdBB‰jCCŠkDD‹lEEŒmFFnGGŽoHHpIIqJJ‘sKK’tLL“uMM”vNN•xOO–yPP—zQQ˜ARR™BSSšCTT›DUUœEVVFWWžGXXŸHYY IZZ¡J__¢Kaa£Lbb¤Mcc¥Ndd¦Oee§Pff¨Qgg©RhhªSii«Tjj¬Ukk­Vll®Wmm¯Xnn°Yoo±Zpp²_qq³arr´cssµdtt¶juu·kvv¸lww¹mxxºnyy»ozz¼p00½q11¾s22¿t33Àu44Áv55Âx66Ãy77Äz88ÅA99ÆBAAÇCBBÈDCCÉEDDÊFEEËGFFÌHGGÍIHHÎJIIÏKJJÐLKKÑMLLÒNMMÓONNÔPOOÕQPPÖRQQ×SRRØTSSÙUTTÚVUUÛWVVÜXWWÝYXXÞZYYß_ZZàa__ácaaâdbbãjccäkddåleeæmffçnggèohhépiiêqjjëskkìtllíummîvnnïxooðyppñzqqòArróBssôCttõDuuöEvv÷FwwøGxxùHyyúIzzûJ00üK11ýL22þM33ÿA0
-LB MC ND OEPFQGRHSITJUKVLWMXNYOZP_QaRcSdTjUkVlW mX!nY"oZ#p_$qa%sb&tc'ud(ve)xf*yg+zh,Ai-Bj.Ck/Dl:Em;Fn<Go=Hp>Iq?Jr@Ks[Lt\Mu]Nv^Ow`Px{Qy|Rz}S0~T1U2€V3W4‚X5ƒY6„Z7…_8†a9‡cAˆdB‰jCŠkD‹lEŒmFnGŽoHpIqJ‘sK’tL“uM”vN•xO–yP—zQ˜AR™BSšCT›DUœEVFWžGXŸHY IZ¡J_¢Ka£Lb¤Mc¥Nd¦Oe§Pf¨Qg©RhªSi«Tj¬Uk­Vl®Wm¯Xn°Yo±Zp²_q³ar´csµdt¶ju·kv¸lw¹mxºny»oz¼p0½q1¾s2¿t3Àu4Áv5Âx6Ãy7Äz8ÅA9ÆBAÇCBÈDCÉEDÊFEËGFÌHGÍIHÎJIÏKJÐLKÑMLÒNMÓONÔPOÕQPÖRQ×SRØTSÙUTÚVUÛWVÜXWÝYXÞZYß_Zàa_ácaâdbãjcäkdåleæmfçngèohépiêqjëskìtlíumîvnïxoðypñzqòAróBsôCtõDuöEv÷FwøGxùHyúIzûJ0üK1ýL2þM3ÿA
-L M N OPQRSTUVWXYZ_acdjkl m!n"o#p$q%s&t'u(v)x*y+z,A-B.C/D:E;F<G=H>I?J@K[L\M]N^O`P{Q|R}S~TU€VW‚XƒY„Z…_†a‡cˆd‰jŠk‹lŒmnŽopq‘s’t“u”v•x–y—z˜A™BšC›DœEFžGŸH I¡J¢K£L¤M¥N¦O§P¨Q©RªS«T¬U­V®W¯X°Y±Z²_³a´cµd¶j·k¸l¹mºn»o¼p½q¾s¿tÀuÁvÂxÃyÄzÅAÆBÇCÈDÉEÊFËGÌHÍIÎJÏKÐLÑMÒNÓOÔPÕQÖR×SØTÙUÚVÛWÜXÝYÞZß_àaácâdãjäkålæmçnèoépêqësìtíuîvïxðyñzòAóBôCõDöE÷FøGùHúIûJüKýLþMÿb0
+1 2 3 4567890123456789012 3!4"5#6$7%8&9'0(1)2*3+4,5-6.7/8:9;0<1=2>3?4@5A6B7C8D9E0F1G2H3I4J5K6L7M8N9O0P1Q2R3S4T5U6V7W8X9Y0Z1[2\3]4^5_6`7a8b9c0d1e2f3g4h5i6j7k8l9m0n1o2p3q4r5s6t7u8v9w0x1y2z3{4|5}6~78€90‚1ƒ2„3…4†5‡6ˆ7‰8Š9‹0Œ12Ž345‘6’7“8”9•0–1—2˜3™4š5›6œ78ž9Ÿ0 1¡2¢3£4¤5¥6¦7§8¨9©0ª1«2¬3­4®5¯6°7±8²9³0´1µ2¶3·4¸5¹6º7»8¼9½0¾1¿2À3Á4Â5Ã6Ä7Å8Æ9Ç0È1É2Ê3Ë4Ì5Í6Î7Ï8Ð9Ñ0Ò1Ó2Ô3Õ4Ö5×6Ø7Ù8Ú9Û0Ü1Ý2Þ3ß4à5á6â7ã8ä9å0æ1ç2è3é4ê5ë6ì7í8î9ï0ð1ñ2ò3ó4ô5õ6ö7÷8ø9ù0ú1û2ü3ý4þ5ÿ=A0
+LB MC ND OEPFQGRHSITJUKVLWMXNYOZP_QaRcSdThUjVkW lX!mY"nZ#o_$pa%qb&sc'td(ue)vf*xg+yh,zi-Aj.Bk/Cl:Dm;En<Fo=Gp>Hq?Ir@Js[Kt\Lu]Mv^Nw`Ox{Py|Qz}R0~S1T2€U3V4‚W5ƒX6„Y7…Z8†_9‡aAˆcB‰dCŠhD‹jEŒkFlGŽmHnIoJ‘pK’qL“sM”tN•uO–vP—xQ˜yR™zSšAT›BUœCVDWžEXŸFY GZ¡H_¢Ia£Jb¤Kc¥Ld¦Me§Nf¨Og©PhªQi«Rj¬Sk­Tl®Um¯Vn°Wo±Xp²Yq³Zr´_sµat¶cu·dv¸hw¹jxºky»lz¼m0½n1¾o2¿p3Àq4Ás5Ât6Ãu7Äv8Åx9ÆyAÇzBÈACÉBDÊCEËDFÌEGÍFHÎGIÏHJÐIKÑJLÒKMÓLNÔMOÕNPÖOQ×PRØQSÙRTÚSUÛTVÜUWÝVXÞWYßXZàY_áZaâ_bãacäcdådeæhfçjgèkhéliêmjënkìolípmîqnïsoðtpñuqòvróxsôytõzuöAv÷BwøCxùDyúEzûF0üG1ýH2þI3ÿA
+L M N OPQRSTUVWXYZ_acdhjk l!m"n#o$p%q&s't(u)v*x+y,z-A.B/C:D;E<F=G>H?I@J[K\L]M^N`O{P|Q}R~ST€UV‚WƒX„Y…Z†_‡aˆc‰dŠh‹jŒklŽmno‘p’q“s”t•u–v—x˜y™zšA›BœCDžEŸF G¡H¢I£J¤K¥L¦M§N¨O©PªQ«R¬S­T®U¯V°W±X²Y³Z´_µa¶c·d¸h¹jºk»l¼m½n¾o¿pÀqÁsÂtÃuÄvÅxÆyÇzÈAÉBÊCËDÌEÍFÎGÏHÐIÑJÒKÓLÔMÕNÖO×PØQÙRÚSÛTÜUÝVÞWßXàYáZâ_ãaäcådæhçjèkélêmënìoípîqïsðtñuòvóxôyõzöA÷BøCùDúEûFüGýHþIÿb0
bB bC bD bEbFbGbHbIbJbKbLbMbNbObPbQbRbSbTbUbVbW bX!bY"bZ#b_$ba%bb&bc'bd(be)bf*bg+bh,bi-bj.bk/bl:bm;bn<bo=bp>bq?bs@bt[bu\bv]bw^bx`by{bz|b0}b1~b2b3€b4b5‚b6ƒb7„b8…b9†bA‡bBˆbC‰bDŠbE‹bFŒbGbHŽbIbJbK‘bL’bM“bN”bO•bP–bQ—bR˜bS™bTšbU›bVœbWbXžbYŸbZ b_¡ba¢bb£bc¤bd¥be¦bf§bg¨bh©biªbj«bk¬bl­bm®bn¯bo°bp±bq²bs³bt´buµbv¶bw·bx¸by¹bzºb0»b1¼b2½b3¾b4¿b5Àb6Áb7Âb8Ãb9ÄbAÅbBÆbCÇbDÈbEÉbFÊbGËbHÌbIÍbJÎbKÏbLÐbMÑbNÒbOÓbPÔbQÕbRÖbS×bTØbUÙbVÚbWÛbXÜbYÝbZÞb_ßbaàbbábcâbdãbeäbfåbgæbhçbièbjébkêblëbmìbníboîbpïbqðbsñbtòbuóbvôbwõbxöby÷bzøb0ùb1úb2ûb3üb4ýb5þb6ÿbr0
brB brC brD brEbrFbrGbrHbrIbrJbrKbrLbrMbrNbrObrPbrQbrRbrSbrTbrUbrVbrW brX!brY"brZ#br_$bra%brb&brc'brd(brf)brg*brh+bri,brj-brk.brl/brm:brn;bro<brp=brq>brr?brs@brt[bru\brv]brw^brx`bry{brz|br0}br1~br2br3€br4br5‚br6ƒbr7„br8…br9†brA‡brBˆbrC‰brDŠbrE‹brFŒbrGbrHŽbrIbrJbrK‘brL’brM“brN”brO•brP–brQ—brR˜brS™brTšbrU›brVœbrWbrXžbrYŸbrZ br_¡bra¢brb£brc¤brd¥brf¦brg§brh¨bri©brjªbrk«brl¬brm­brn®bro¯brp°brq±brr²brs³brt´bruµbrv¶brw·brx¸bry¹brzºbr0»br1¼br2½br3¾br4¿br5Àbr6Ábr7Âbr8Ãbr9ÄbrAÅbrBÆbrCÇbrDÈbrEÉbrFÊbrGËbrHÌbrIÍbrJÎbrKÏbrLÐbrMÑbrNÒbrOÓbrPÔbrQÕbrRÖbrS×brTØbrUÙbrVÚbrWÛbrXÜbrYÝbrZÞbr_ßbraàbrbábrcâbrdãbrfäbrgåbrhæbriçbrjèbrkébrlêbrmëbrnìbroíbrpîbrqïbrrðbrsñbrtòbruóbrvôbrwõbrxöbry÷brzøbr0ùbr1úbr2ûbr3übr4ýbr5þbr6ÿbre0
breB breC breD breEbreFbreGbreHbreIbreJbreKbreLbreMbreNbreObrePbreQbreRbreSbreTbreUbreVbreW breX!breY"breZ#bre_$breb%brec&bred'bree(bref)breg*breh+brei,brej-brek.brel/brem:bren;breo<brep=breq>brer?bres@bret[breu\brev]brew^brex`brey{brez|bre0}bre1~bre2bre3€bre4bre5‚bre6ƒbre7„bre8…bre9†breA‡breBˆbreC‰breDŠbreE‹breFŒbreGbreHŽbreIbreJbreK‘breL’breM“breN”breO•breP–breQ—breR˜breS™breTšbreU›breVœbreWbreXžbreYŸbreZ bre_¡breb¢brec£bred¤bree¥bref¦breg§breh¨brei©brejªbrek«brel¬brem­bren®breo¯brep°breq±brer²bres³bret´breuµbrev¶brew·brex¸brey¹brezºbre0»bre1¼bre2½bre3¾bre4¿bre5Àbre6Ábre7Âbre8Ãbre9ÄbreAÅbreBÆbreCÇbreDÈbreEÉbreFÊbreGËbreHÌbreIÍbreJÎbreKÏbreLÐbreMÑbreNÒbreOÓbrePÔbreQÕbreRÖbreS×breTØbreUÙbreVÚbreWÛbreXÜbreYÝbreZÞbre_ßbrebàbrecábredâbreeãbrefäbregåbrehæbreiçbrejèbrekébrelêbremëbrenìbreoíbrepîbreqïbrerðbresñbretòbreuóbrevôbrewõbrexöbrey÷brezøbre0ùbre1úbre2ûbre3übre4ýbre5þbre6ÿbrea0
@@ -1087,9 +1122,7 @@ gotoB gotoC gotoD gotoEgotoFgotoGgotoHgotoIgotoJgotoKgotoLgotoMgotoNgo
goto goto goto gotogotogotogotogotogotogotogotogotogotogotogotogotogotogotogotogotogotogoto goto!goto"goto#goto$goto%goto&goto'goto(goto)goto*goto+goto,goto-goto.goto/goto:goto;goto<goto=goto>goto?goto@goto[goto\goto]goto^goto`goto{goto|goto}goto~gotogoto€gotogoto‚gotoƒgoto„goto…goto†goto‡gotoˆgoto‰gotoŠgoto‹gotoŒgotogotoŽgotogotogoto‘goto’goto“goto”goto•goto–goto—goto˜goto™gotošgoto›gotoœgotogotožgotoŸgoto goto¡goto¢goto£goto¤goto¥goto¦goto§goto¨goto©gotoªgoto«goto¬goto­goto®goto¯goto°goto±goto²goto³goto´gotoµgoto¶goto·goto¸goto¹gotoºgoto»goto¼goto½goto¾goto¿gotoÀgotoÁgotoÂgotoÃgotoÄgotoÅgotoÆgotoÇgotoÈgotoÉgotoÊgotoËgotoÌgotoÍgotoÎgotoÏgotoÐgotoÑgotoÒgotoÓgotoÔgotoÕgotoÖgoto×gotoØgotoÙgotoÚgotoÛgotoÜgotoÝgotoÞgotoßgotoàgotoágotoâgotoãgotoägotoågotoægotoçgotoègotoégotoêgotoëgotoìgotoígotoîgotoïgotoðgotoñgotoògotoógotoôgotoõgotoögoto÷gotoøgotoùgotoúgotoûgotoügotoýgotoþgotoÿgot
got got got gotgotgotgotgotgotgotgotgotgotgotgotgotgotgotgotgotgotgot got!got"got#got$got%got&got'got(got)got*got+got,got-got.got/got:got;got<got=got>got?got@got[got\got]got^got`got{got|got}got~gotgot€gotgot‚gotƒgot„got…got†got‡gotˆgot‰gotŠgot‹gotŒgotgotŽgotgotgot‘got’got“got”got•got–got—got˜got™gotšgot›gotœgotgotžgotŸgot got¡got¢got£got¤got¥got¦got§got¨got©gotªgot«got¬got­got®got¯got°got±got²got³got´gotµgot¶got·got¸got¹gotºgot»got¼got½got¾got¿gotÀgotÁgotÂgotÃgotÄgotÅgotÆgotÇgotÈgotÉgotÊgotËgotÌgotÍgotÎgotÏgotÐgotÑgotÒgotÓgotÔgotÕgotÖgot×gotØgotÙgotÚgotÛgotÜgotÝgotÞgotßgotàgotágotâgotãgotägotågotægotçgotègotégotêgotëgotìgotígotîgotïgotðgotñgotògotógotôgotõgotögot÷gotøgotùgotúgotûgotügotýgotþgotÿgo
go go go gogogogogogogogogogogogogogogogogogogo go!go"go#go$go%go&go'go(go)go*go+go,go-go.go/go:go;go<go=go>go?go@go[go\go]go^go`go{go|go}go~gogo€gogo‚goƒgo„go…go†go‡goˆgo‰goŠgo‹goŒgogoŽgogogo‘go’go“go”go•go–go—go˜go™gošgo›goœgogožgoŸgo go¡go¢go£go¤go¥go¦go§go¨go©goªgo«go¬go­go®go¯go°go±go²go³go´goµgo¶go·go¸go¹goºgo»go¼go½go¾go¿goÀgoÁgoÂgoÃgoÄgoÅgoÆgoÇgoÈgoÉgoÊgoËgoÌgoÍgoÎgoÏgoÐgoÑgoÒgoÓgoÔgoÕgoÖgo×goØgoÙgoÚgoÛgoÜgoÝgoÞgoßgoàgoágoâgoãgoägoågoægoçgoègoégoêgoëgoìgoígoîgoïgoðgoñgoògoógoôgoõgoögo÷goøgoùgoúgoûgoügoýgoþgoÿg
-g g g ggggggggggggggggggg g!g"g#g$g%g&g'g(g)g*g+g,g-g.g/g:g;g<g=g>g?g@g[g\g]g^g`g{g|g}g~gg€gg‚gƒg„g…g†g‡gˆg‰gŠg‹gŒggŽggg‘g’g“g”g•g–g—g˜g™gšg›gœggžgŸg g¡g¢g£g¤g¥g¦g§g¨g©gªg«g¬g­g®g¯g°g±g²g³g´gµg¶g·g¸g¹gºg»g¼g½g¾g¿gÀgÁgÂgÃgÄgÅgÆgÇgÈgÉgÊgËgÌgÍgÎgÏgÐgÑgÒgÓgÔgÕgÖg×gØgÙgÚgÛgÜgÝgÞgßgàgágâgãgägågægçgègégêgëgìgígîgïgðgñgògógôgõgög÷gøgùgúgûgügýgþgÿh0
-hB hC hD hEhFhGhHhIhJhKhLhMhNhOhPhQhRhShThUhVhW hX!hY"hZ#h_$ha%hb&hc'hd(he)hf*hg+hh,hi-hj.hk/hl:hm;hn<ho=hp>hq?hr@hs[ht\hu]hv^hw`hx{hy|hz}h0~h1h2€h3h4‚h5ƒh6„h7…h8†h9‡hAˆhB‰hCŠhD‹hEŒhFhGŽhHhIhJ‘hK’hL“hM”hN•hO–hP—hQ˜hR™hSšhT›hUœhVhWžhXŸhY hZ¡h_¢ha£hb¤hc¥hd¦he§hf¨hg©hhªhi«hj¬hk­hl®hm¯hn°ho±hp²hq³hr´hsµht¶hu·hv¸hw¹hxºhy»hz¼h0½h1¾h2¿h3Àh4Áh5Âh6Ãh7Äh8Åh9ÆhAÇhBÈhCÉhDÊhEËhFÌhGÍhHÎhIÏhJÐhKÑhLÒhMÓhNÔhOÕhPÖhQ×hRØhSÙhTÚhUÛhVÜhWÝhXÞhYßhZàh_áhaâhbãhcähdåheæhfçhgèhhéhiêhjëhkìhlíhmîhnïhoðhpñhqòhróhsôhtõhuöhv÷hwøhxùhyúhzûh0üh1ýh2þh3ÿh
-h h h hhhhhhhhhhhhhhhhhhh h!h"h#h$h%h&h'h(h)h*h+h,h-h.h/h:h;h<h=h>h?h@h[h\h]h^h`h{h|h}h~hh€hh‚hƒh„h…h†h‡hˆh‰hŠh‹hŒhhŽhhh‘h’h“h”h•h–h—h˜h™hšh›hœhhžhŸh h¡h¢h£h¤h¥h¦h§h¨h©hªh«h¬h­h®h¯h°h±h²h³h´hµh¶h·h¸h¹hºh»h¼h½h¾h¿hÀhÁhÂhÃhÄhÅhÆhÇhÈhÉhÊhËhÌhÍhÎhÏhÐhÑhÒhÓhÔhÕhÖh×hØhÙhÚhÛhÜhÝhÞhßhàháhâhãhähåhæhçhèhéhêhëhìhíhîhïhðhñhòhóhôhõhöh÷høhùhúhûhühýhþhÿi0
+g g g ggggggggggggggggggg g!g"g#g$g%g&g'g(g)g*g+g,g-g.g/g:g;g<g=g>g?g@g[g\g]g^g`g{g|g}g~gg€gg‚gƒg„g…g†g‡gˆg‰gŠg‹gŒggŽggg‘g’g“g”g•g–g—g˜g™gšg›gœggžgŸg g¡g¢g£g¤g¥g¦g§g¨g©gªg«g¬g­g®g¯g°g±g²g³g´gµg¶g·g¸g¹gºg»g¼g½g¾g¿gÀgÁgÂgÃgÄgÅgÆgÇgÈgÉgÊgËgÌgÍgÎgÏgÐgÑgÒgÓgÔgÕgÖg×gØgÙgÚgÛgÜgÝgÞgßgàgágâgãgägågægçgègégêgëgìgígîgïgðgñgògógôgõgög÷gøgùgúgûgügýgþgÿi0
iB iC iD iEiFiGiHiIiJiKiLiMiNiOiPiQiRiSiTiUiViW iX!iY"iZ#i_$ia%ib&ic'id(ie)ig*ih+ii,ij-ik.il/im:in;io<ip=iq>ir?is@it[iu\iv]iw^ix`iy{iz|i0}i1~i2i3€i4i5‚i6ƒi7„i8…i9†iA‡iBˆiC‰iDŠiE‹iFŒiGiHŽiIiJiK‘iL’iM“iN”iO•iP–iQ—iR˜iS™iTšiU›iVœiWiXžiYŸiZ i_¡ia¢ib£ic¤id¥ie¦ig§ih¨ii©ijªik«il¬im­in®io¯ip°iq±ir²is³it´iuµiv¶iw·ix¸iy¹izºi0»i1¼i2½i3¾i4¿i5Ài6Ái7Âi8Ãi9ÄiAÅiBÆiCÇiDÈiEÉiFÊiGËiHÌiIÍiJÎiKÏiLÐiMÑiNÒiOÓiPÔiQÕiRÖiS×iTØiUÙiVÚiWÛiXÜiYÝiZÞi_ßiaàibáicâidãieäigåihæiiçijèikéilêimëinìioíipîiqïirðisñitòiuóivôiwõixöiy÷izøi0ùi1úi2ûi3üi4ýi5þi6ÿif0
ifB ifC ifD ifEifFifGifHifIifJifKifLifMifNifOifPifQifRifSifTifUifVifW ifX!ifY"ifZ#if_$ifa%ifb&ifc'ifd(ife)iff*ifg+ifh,ifi-ifj.ifk/ifl:ifm;ifn<ifo=ifp>ifq?ifr@ifs[ift\ifu]ifv^ifw`ifx{ify|ifz}if0~if1if2€if3if4‚if5ƒif6„if7…if8†if9‡ifAˆifB‰ifCŠifD‹ifEŒifFifGŽifHifIifJ‘ifK’ifL“ifM”ifN•ifO–ifP—ifQ˜ifR™ifSšifT›ifUœifVifWžifXŸifY ifZ¡if_¢ifa£ifb¤ifc¥ifd¦ife§iff¨ifg©ifhªifi«ifj¬ifk­ifl®ifm¯ifn°ifo±ifp²ifq³ifr´ifsµift¶ifu·ifv¸ifw¹ifxºify»ifz¼if0½if1¾if2¿if3Àif4Áif5Âif6Ãif7Äif8Åif9ÆifAÇifBÈifCÉifDÊifEËifFÌifGÍifHÎifIÏifJÐifKÑifLÒifMÓifNÔifOÕifPÖifQ×ifRØifSÙifTÚifUÛifVÜifWÝifXÞifYßifZàif_áifaâifbãifcäifdåifeæiffçifgèifhéifiêifjëifkìiflíifmîifnïifoðifpñifqòifróifsôiftõifuöifv÷ifwøifxùifyúifzûif0üif1ýif2þif3ÿif
if if if ififififififififififififififififififif if!if"if#if$if%if&if'if(if)if*if+if,if-if.if/if:if;if<if=if>if?if@if[if\if]if^if`if{if|if}if~ifif€ifif‚ifƒif„if…if†if‡ifˆif‰ifŠif‹ifŒififŽififif‘if’if“if”if•if–if—if˜if™ifšif›ifœififžifŸif if¡if¢if£if¤if¥if¦if§if¨if©ifªif«if¬if­if®if¯if°if±if²if³if´ifµif¶if·if¸if¹ifºif»if¼if½if¾if¿ifÀifÁifÂifÃifÄifÅifÆifÇifÈifÉifÊifËifÌifÍifÎifÏifÐifÑifÒifÓifÔifÕifÖif×ifØifÙifÚifÛifÜifÝifÞifßifàifáifâifãifäifåifæifçifèiféifêifëifìifíifîifïifðifñifòifóifôifõiföif÷iføifùifúifûifüifýifþifÿi
@@ -1116,4 +1149,4 @@ whil whil whil whilwhilwhilwhilwhilwhilwhilwhilwhilwhilwhilwhilwhil
whi whi whi whiwhiwhiwhiwhiwhiwhiwhiwhiwhiwhiwhiwhiwhiwhiwhiwhiwhiwhi whi!whi"whi#whi$whi%whi&whi'whi(whi)whi*whi+whi,whi-whi.whi/whi:whi;whi<whi=whi>whi?whi@whi[whi\whi]whi^whi`whi{whi|whi}whi~whiwhi€whiwhi‚whiƒwhi„whi…whi†whi‡whiˆwhi‰whiŠwhi‹whiŒwhiwhiŽwhiwhiwhi‘whi’whi“whi”whi•whi–whi—whi˜whi™whišwhi›whiœwhiwhižwhiŸwhi whi¡whi¢whi£whi¤whi¥whi¦whi§whi¨whi©whiªwhi«whi¬whi­whi®whi¯whi°whi±whi²whi³whi´whiµwhi¶whi·whi¸whi¹whiºwhi»whi¼whi½whi¾whi¿whiÀwhiÁwhiÂwhiÃwhiÄwhiÅwhiÆwhiÇwhiÈwhiÉwhiÊwhiËwhiÌwhiÍwhiÎwhiÏwhiÐwhiÑwhiÒwhiÓwhiÔwhiÕwhiÖwhi×whiØwhiÙwhiÚwhiÛwhiÜwhiÝwhiÞwhißwhiàwhiáwhiâwhiãwhiäwhiåwhiæwhiçwhièwhiéwhiêwhiëwhiìwhiíwhiîwhiïwhiðwhiñwhiòwhiówhiôwhiõwhiöwhi÷whiøwhiùwhiúwhiûwhiüwhiýwhiþwhiÿwh
wh wh wh whwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwhwh wh!wh"wh#wh$wh%wh&wh'wh(wh)wh*wh+wh,wh-wh.wh/wh:wh;wh<wh=wh>wh?wh@wh[wh\wh]wh^wh`wh{wh|wh}wh~whwh€whwh‚whƒwh„wh…wh†wh‡whˆwh‰whŠwh‹whŒwhwhŽwhwhwh‘wh’wh“wh”wh•wh–wh—wh˜wh™whšwh›whœwhwhžwhŸwh wh¡wh¢wh£wh¤wh¥wh¦wh§wh¨wh©whªwh«wh¬wh­wh®wh¯wh°wh±wh²wh³wh´whµwh¶wh·wh¸wh¹whºwh»wh¼wh½wh¾wh¿whÀwhÁwhÂwhÃwhÄwhÅwhÆwhÇwhÈwhÉwhÊwhËwhÌwhÍwhÎwhÏwhÐwhÑwhÒwhÓwhÔwhÕwhÖwh×whØwhÙwhÚwhÛwhÜwhÝwhÞwhßwhàwháwhâwhãwhäwhåwhæwhçwhèwhéwhêwhëwhìwhíwhîwhïwhðwhñwhòwhówhôwhõwhöwh÷whøwhùwhúwhûwhüwhýwhþwhÿw
w w w wwwwwwwwwwwwwwwwwww w!w"w#w$w%w&w'w(w)w*w+w,w-w.w/w:w;w<w=w>w?w@w[w\w]w^w`w{w|w}w~ww€ww‚wƒw„w…w†w‡wˆw‰wŠw‹wŒwwŽwww‘w’w“w”w•w–w—w˜w™wšw›wœwwžwŸw w¡w¢w£w¤w¥w¦w§w¨w©wªw«w¬w­w®w¯w°w±w²w³w´wµw¶w·w¸w¹wºw»w¼w½w¾w¿wÀwÁwÂwÃwÄwÅwÆwÇwÈwÉwÊwËwÌwÍwÎwÏwÐwÑwÒwÓwÔwÕwÖw×wØwÙwÚwÛwÜwÝwÞwßwàwáwâwãwäwåwæwçwèwéwêwëwìwíwîwïwðwñwòwówôwõwöw÷wøwùwúwûwüwýwþwÿ
-    
+    
diff --git a/test/push.c b/test/push.c
index 755a9797..838100f6 100644
--- a/test/push.c
+++ b/test/push.c
@@ -533,8 +533,8 @@ yy40:
default: goto yy28;
}
yy41:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -629,8 +629,8 @@ yy46:
default: goto yy28;
}
yy47:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -725,8 +725,8 @@ yy52:
default: goto yy28;
}
yy53:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -797,8 +797,8 @@ yy54:
{ SEND(kElse); }
#line 799 "push.c"
yy55:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -881,8 +881,8 @@ yy58:
default: goto yy28;
}
yy59:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -959,8 +959,8 @@ yy61:
default: goto yy28;
}
yy62:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -1031,8 +1031,8 @@ yy63:
{ SEND(kWhile); }
#line 1033 "push.c"
yy64:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
diff --git a/test/push.f.c b/test/push.f.c
index 69e1dd38..ea391239 100644
--- a/test/push.f.c
+++ b/test/push.f.c
@@ -544,8 +544,8 @@ yy40:
default: goto yy28;
}
yy41:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -640,8 +640,8 @@ yy46:
default: goto yy28;
}
yy47:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -736,8 +736,8 @@ yy52:
default: goto yy28;
}
yy53:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -808,8 +808,8 @@ yy54:
{ SEND(kElse); }
#line 810 "push.f.c"
yy55:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -892,8 +892,8 @@ yy58:
default: goto yy28;
}
yy59:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -970,8 +970,8 @@ yy61:
default: goto yy28;
}
yy62:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
@@ -1042,8 +1042,8 @@ yy63:
{ SEND(kWhile); }
#line 1044 "push.f.c"
yy64:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '0':
case '1':
case '2':
diff --git a/test/push.fb.c b/test/push.fb.c
index 7b749775..c91359ee 100644
--- a/test/push.fb.c
+++ b/test/push.fb.c
@@ -477,8 +477,8 @@ yy40:
if (yych == 't') goto yy49;
goto yy28;
yy41:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 128) {
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 128) {
goto yy27;
}
#line 239 "push.fb.re"
@@ -501,8 +501,8 @@ yy46:
if (yych == 'e') goto yy53;
goto yy28;
yy47:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 128) {
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 128) {
goto yy27;
}
#line 240 "push.fb.re"
@@ -525,16 +525,16 @@ yy52:
if (yych == 'k') goto yy59;
goto yy28;
yy53:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 128) {
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 128) {
goto yy27;
}
#line 241 "push.fb.re"
{ SEND(kElse); }
#line 535 "push.fb.c"
yy55:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 128) {
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 128) {
goto yy27;
}
#line 242 "push.fb.re"
@@ -549,8 +549,8 @@ yy58:
if (yych == 'e') goto yy62;
goto yy28;
yy59:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 128) {
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 128) {
goto yy27;
}
#line 243 "push.fb.re"
@@ -561,16 +561,16 @@ yy61:
if (yych == 'n') goto yy64;
goto yy28;
yy62:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 128) {
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 128) {
goto yy27;
}
#line 244 "push.fb.re"
{ SEND(kWhile); }
#line 571 "push.fb.c"
yy64:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 128) {
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 128) {
goto yy27;
}
#line 245 "push.fb.re"
diff --git a/test/push.fg.c b/test/push.fg.c
index 249b5f96..d60143d3 100644
--- a/test/push.fg.c
+++ b/test/push.fg.c
@@ -439,8 +439,8 @@ yy40:
if (yych == 't') goto yy49;
goto yy28;
yy41:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 128) {
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 128) {
goto yy27;
}
#line 239 "push.fg.re"
@@ -463,8 +463,8 @@ yy46:
if (yych == 'e') goto yy53;
goto yy28;
yy47:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 128) {
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 128) {
goto yy27;
}
#line 240 "push.fg.re"
@@ -487,16 +487,16 @@ yy52:
if (yych == 'k') goto yy59;
goto yy28;
yy53:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 128) {
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 128) {
goto yy27;
}
#line 241 "push.fg.re"
{ SEND(kElse); }
#line 497 "push.fg.c"
yy55:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 128) {
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 128) {
goto yy27;
}
#line 242 "push.fg.re"
@@ -511,8 +511,8 @@ yy58:
if (yych == 'e') goto yy62;
goto yy28;
yy59:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 128) {
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 128) {
goto yy27;
}
#line 243 "push.fg.re"
@@ -523,16 +523,16 @@ yy61:
if (yych == 'n') goto yy64;
goto yy28;
yy62:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 128) {
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 128) {
goto yy27;
}
#line 244 "push.fg.re"
{ SEND(kWhile); }
#line 533 "push.fg.c"
yy64:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 128) {
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 128) {
goto yy27;
}
#line 245 "push.fg.re"
diff --git a/test/push.fs.c b/test/push.fs.c
index 18157df9..180df806 100644
--- a/test/push.fs.c
+++ b/test/push.fs.c
@@ -242,8 +242,8 @@ yy40:
if (yych == 't') goto yy49;
goto yy28;
yy41:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 'Z') {
+ yych = *++YYCURSOR;
+ if (yych <= 'Z') {
if (yych <= '/') goto yy42;
if (yych <= '9') goto yy27;
if (yych >= 'A') goto yy27;
@@ -276,8 +276,8 @@ yy46:
if (yych == 'e') goto yy53;
goto yy28;
yy47:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 'Z') {
+ yych = *++YYCURSOR;
+ if (yych <= 'Z') {
if (yych <= '/') goto yy48;
if (yych <= '9') goto yy27;
if (yych >= 'A') goto yy27;
@@ -310,8 +310,8 @@ yy52:
if (yych == 'k') goto yy59;
goto yy28;
yy53:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 'Z') {
+ yych = *++YYCURSOR;
+ if (yych <= 'Z') {
if (yych <= '/') goto yy54;
if (yych <= '9') goto yy27;
if (yych >= 'A') goto yy27;
@@ -328,8 +328,8 @@ yy54:
{ SEND(kElse); }
#line 330 "push.fs.c"
yy55:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 'Z') {
+ yych = *++YYCURSOR;
+ if (yych <= 'Z') {
if (yych <= '/') goto yy56;
if (yych <= '9') goto yy27;
if (yych >= 'A') goto yy27;
@@ -354,8 +354,8 @@ yy58:
if (yych == 'e') goto yy62;
goto yy28;
yy59:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 'Z') {
+ yych = *++YYCURSOR;
+ if (yych <= 'Z') {
if (yych <= '/') goto yy60;
if (yych <= '9') goto yy27;
if (yych >= 'A') goto yy27;
@@ -376,8 +376,8 @@ yy61:
if (yych == 'n') goto yy64;
goto yy28;
yy62:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 'Z') {
+ yych = *++YYCURSOR;
+ if (yych <= 'Z') {
if (yych <= '/') goto yy63;
if (yych <= '9') goto yy27;
if (yych >= 'A') goto yy27;
@@ -394,8 +394,8 @@ yy63:
{ SEND(kWhile); }
#line 396 "push.fs.c"
yy64:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 'Z') {
+ yych = *++YYCURSOR;
+ if (yych <= 'Z') {
if (yych <= '/') goto yy65;
if (yych <= '9') goto yy27;
if (yych >= 'A') goto yy27;
diff --git a/test/range_dot.8.c b/test/range_dot.8.c
index 7ba289d5..bdd8efaf 100644
--- a/test/range_dot.8.c
+++ b/test/range_dot.8.c
@@ -491,8 +491,8 @@ yy9:
default: goto yy2;
}
yy10:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/range_dot.x.c b/test/range_dot.x.c
index d4a6fb9b..5856d766 100644
--- a/test/range_dot.x.c
+++ b/test/range_dot.x.c
@@ -18,8 +18,8 @@ yy4:
{return 0;}
#line 20 "range_dot.x.c"
yy5:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDBFF) goto yy4;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDBFF) goto yy4;
if (yych <= 0xDFFF) goto yy3;
goto yy4;
}
diff --git a/test/range_full.8.c b/test/range_full.8.c
index be935108..5ba9553d 100644
--- a/test/range_full.8.c
+++ b/test/range_full.8.c
@@ -492,8 +492,8 @@ yy9:
default: goto yy2;
}
yy10:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/range_full.c b/test/range_full.c
index 7e6a79a8..6aa48f61 100644
--- a/test/range_full.c
+++ b/test/range_full.c
@@ -5,11 +5,10 @@
{
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"
diff --git a/test/range_full.e.c b/test/range_full.e.c
index a2a45ff4..e3d170c2 100644
--- a/test/range_full.e.c
+++ b/test/range_full.e.c
@@ -5,11 +5,10 @@
{
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"
diff --git a/test/range_full.u.c b/test/range_full.u.c
index cba0d033..813cdc00 100644
--- a/test/range_full.u.c
+++ b/test/range_full.u.c
@@ -5,11 +5,10 @@
{
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"
diff --git a/test/range_full.w.c b/test/range_full.w.c
index 102768dc..918f2fb5 100644
--- a/test/range_full.w.c
+++ b/test/range_full.w.c
@@ -5,11 +5,10 @@
{
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"
diff --git a/test/range_full.x.c b/test/range_full.x.c
index 4ff721d3..a7dd8a0a 100644
--- a/test/range_full.x.c
+++ b/test/range_full.x.c
@@ -15,8 +15,8 @@ yy3:
{return 0;}
#line 17 "range_full.x.c"
yy4:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDBFF) goto yy3;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDBFF) goto yy3;
if (yych <= 0xDFFF) goto yy2;
goto yy3;
}
diff --git a/test/range_neg_lf.8.c b/test/range_neg_lf.8.c
index 464513a5..87a50b91 100644
--- a/test/range_neg_lf.8.c
+++ b/test/range_neg_lf.8.c
@@ -491,8 +491,8 @@ yy9:
default: goto yy2;
}
yy10:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/range_neg_lf.x.c b/test/range_neg_lf.x.c
index 477e019a..4b4b3fa1 100644
--- a/test/range_neg_lf.x.c
+++ b/test/range_neg_lf.x.c
@@ -18,8 +18,8 @@ yy4:
{return 0;}
#line 20 "range_neg_lf.x.c"
yy5:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDBFF) goto yy4;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDBFF) goto yy4;
if (yych <= 0xDFFF) goto yy3;
goto yy4;
}
diff --git a/test/repeat-00.cgi.c b/test/repeat-00.cgi.c
index eb94d5d3..2cfa3079 100644
--- a/test/repeat-00.cgi.c
+++ b/test/repeat-00.cgi.c
@@ -1 +1 @@
-re2c: error: line 5, column 1: found 'rules:re2c' block without -r flag
+re2c: error: line 5: found 'rules:re2c' block without -r flag
diff --git a/test/repeat-01.cgir--skeleton.c b/test/repeat-01.cgir--skeleton.c
index 92c707d4..c1a80108 100644
--- a/test/repeat-01.cgir--skeleton.c
+++ b/test/repeat-01.cgir--skeleton.c
@@ -1,7 +1,9 @@
/* Generated by re2c */
+#include <stddef.h> /* size_t */
#include <stdio.h>
#include <stdlib.h> /* malloc, free */
+#include <string.h> /* memcpy */
static void *read_file
( const char *fname
@@ -48,11 +50,484 @@ error:
return NULL;
}
-enum YYCONDTYPE {
- yycr1,
- yycr2,
-};
+#define YYCTYPE unsigned char
+#define YYKEYTYPE unsigned char
+#define YYPEEK() *cursor
+#define YYSKIP() ++cursor
+#define YYLESSTHAN(n) (limit - cursor) < n
+#define YYFILL(n) { break; }
+
+static int action_line22_r1
+ ( unsigned *pkix
+ , const YYKEYTYPE *keys
+ , const YYCTYPE *start
+ , const YYCTYPE *token
+ , const YYCTYPE **cursor
+ , YYKEYTYPE rule_act
+ )
+{
+ const unsigned kix = *pkix;
+ const long pos = token - start;
+ const long len_act = *cursor - token;
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
+ if (rule_exp == 255) {
+ fprintf
+ ( stderr
+ , "warning: lex_line22_r1: control flow is undefined for input"
+ " at position %ld, rerun re2c with '-W'\n"
+ , pos
+ );
+ }
+ if (len_act == len_exp && rule_act == rule_exp) {
+ const YYKEYTYPE offset = keys[kix];
+ *cursor = token + offset;
+ return 0;
+ } else {
+ fprintf
+ ( stderr
+ , "error: lex_line22_r1: at position %ld (key %u):\n"
+ "\texpected: match length %ld, rule %u\n"
+ "\tactual: match length %ld, rule %u\n"
+ , pos
+ , kix
+ , len_exp
+ , rule_exp
+ , len_act
+ , rule_act
+ );
+ return 1;
+ }
+}
+
+static int check_key_count_line22_r1(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line22_r1: not enough keys\n");
+ return 1;
+}
+
+int lex_line22_r1()
+{
+ const size_t padding = 1; /* YYMAXFILL */
+ int status = 0;
+ size_t input_len = 0;
+ size_t keys_count = 0;
+ YYCTYPE *input = NULL;
+ YYKEYTYPE *keys = NULL;
+ const YYCTYPE *cursor = NULL;
+ const YYCTYPE *limit = NULL;
+ const YYCTYPE *token = NULL;
+ const YYCTYPE *eof = NULL;
+ unsigned int i = 0;
+
+ input = (YYCTYPE *) read_file
+ ("repeat-01.cgir--skeleton.c.line22_r1.input"
+ , sizeof (YYCTYPE)
+ , padding
+ , &input_len
+ );
+ if (input == NULL) {
+ status = 1;
+ goto end;
+ }
+
+ keys = (YYKEYTYPE *) read_file
+ ("repeat-01.cgir--skeleton.c.line22_r1.keys"
+ , sizeof (YYKEYTYPE)
+ , 0
+ , &keys_count
+ );
+ if (keys == NULL) {
+ status = 1;
+ goto end;
+ }
+
+ cursor = input;
+ limit = input + input_len + padding;
+ eof = input + input_len;
+
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
+ token = cursor;
+ YYCTYPE yych;
+
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ if (yych <= '2') {
+ if (yych <= '0') goto yy3;
+ if (yych <= '1') goto yy4;
+ goto yy6;
+ } else {
+ if (yych <= '`') goto yy3;
+ if (yych <= 'a') goto yy8;
+ if (yych <= 'b') goto yy10;
+ }
+yy3:
+yy4:
+ YYSKIP ();
+ status = check_key_count_line22_r1(keys_count, i, 3)
+ || action_line22_r1(&i, keys, input, token, &cursor, 2);
+ continue;
+yy6:
+ YYSKIP ();
+ status = check_key_count_line22_r1(keys_count, i, 3)
+ || action_line22_r1(&i, keys, input, token, &cursor, 3);
+ continue;
+yy8:
+ YYSKIP ();
+ status = check_key_count_line22_r1(keys_count, i, 3)
+ || action_line22_r1(&i, keys, input, token, &cursor, 0);
+ continue;
+yy10:
+ YYSKIP ();
+ status = check_key_count_line22_r1(keys_count, i, 3)
+ || action_line22_r1(&i, keys, input, token, &cursor, 1);
+ continue;
+
+ }
+ if (status == 0) {
+ if (cursor != eof) {
+ status = 1;
+ const long pos = token - input;
+ fprintf(stderr, "error: lex_line22_r1: unused input strings left at position %ld\n", pos);
+ }
+ if (i != keys_count) {
+ status = 1;
+ fprintf(stderr, "error: lex_line22_r1: unused keys left after %u keys\n", i);
+ }
+ }
+
+end:
+ free(input);
+ free(keys);
+
+ return status;
+}
+
+#undef YYCTYPE
+#undef YYKEYTYPE
+#undef YYPEEK
+#undef YYSKIP
+#undef YYLESSTHAN
+#undef YYFILL
+
+#define YYCTYPE unsigned char
+#define YYKEYTYPE unsigned char
+#define YYPEEK() *cursor
+#define YYSKIP() ++cursor
+#define YYLESSTHAN(n) (limit - cursor) < n
+#define YYFILL(n) { break; }
+
+static int action_line22_r2
+ ( unsigned *pkix
+ , const YYKEYTYPE *keys
+ , const YYCTYPE *start
+ , const YYCTYPE *token
+ , const YYCTYPE **cursor
+ , YYKEYTYPE rule_act
+ )
+{
+ const unsigned kix = *pkix;
+ const long pos = token - start;
+ const long len_act = *cursor - token;
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
+ if (rule_exp == 255) {
+ fprintf
+ ( stderr
+ , "warning: lex_line22_r2: control flow is undefined for input"
+ " at position %ld, rerun re2c with '-W'\n"
+ , pos
+ );
+ }
+ if (len_act == len_exp && rule_act == rule_exp) {
+ const YYKEYTYPE offset = keys[kix];
+ *cursor = token + offset;
+ return 0;
+ } else {
+ fprintf
+ ( stderr
+ , "error: lex_line22_r2: at position %ld (key %u):\n"
+ "\texpected: match length %ld, rule %u\n"
+ "\tactual: match length %ld, rule %u\n"
+ , pos
+ , kix
+ , len_exp
+ , rule_exp
+ , len_act
+ , rule_act
+ );
+ return 1;
+ }
+}
+
+static int check_key_count_line22_r2(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line22_r2: not enough keys\n");
+ return 1;
+}
+
+int lex_line22_r2()
+{
+ const size_t padding = 1; /* YYMAXFILL */
+ int status = 0;
+ size_t input_len = 0;
+ size_t keys_count = 0;
+ YYCTYPE *input = NULL;
+ YYKEYTYPE *keys = NULL;
+ const YYCTYPE *cursor = NULL;
+ const YYCTYPE *limit = NULL;
+ const YYCTYPE *token = NULL;
+ const YYCTYPE *eof = NULL;
+ unsigned int i = 0;
+
+ input = (YYCTYPE *) read_file
+ ("repeat-01.cgir--skeleton.c.line22_r2.input"
+ , sizeof (YYCTYPE)
+ , padding
+ , &input_len
+ );
+ if (input == NULL) {
+ status = 1;
+ goto end;
+ }
+
+ keys = (YYKEYTYPE *) read_file
+ ("repeat-01.cgir--skeleton.c.line22_r2.keys"
+ , sizeof (YYKEYTYPE)
+ , 0
+ , &keys_count
+ );
+ if (keys == NULL) {
+ status = 1;
+ goto end;
+ }
+
+ cursor = input;
+ limit = input + input_len + padding;
+ eof = input + input_len;
+
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
+ token = cursor;
+ YYCTYPE yych;
+
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ if (yych <= '2') {
+ if (yych <= '0') goto yy15;
+ if (yych <= '1') goto yy16;
+ goto yy18;
+ } else {
+ if (yych == 'b') goto yy20;
+ }
+yy15:
+yy16:
+ YYSKIP ();
+ status = check_key_count_line22_r2(keys_count, i, 3)
+ || action_line22_r2(&i, keys, input, token, &cursor, 1);
+ continue;
+yy18:
+ YYSKIP ();
+ status = check_key_count_line22_r2(keys_count, i, 3)
+ || action_line22_r2(&i, keys, input, token, &cursor, 2);
+ continue;
+yy20:
+ YYSKIP ();
+ status = check_key_count_line22_r2(keys_count, i, 3)
+ || action_line22_r2(&i, keys, input, token, &cursor, 0);
+ continue;
+
+ }
+ if (status == 0) {
+ if (cursor != eof) {
+ status = 1;
+ const long pos = token - input;
+ fprintf(stderr, "error: lex_line22_r2: unused input strings left at position %ld\n", pos);
+ }
+ if (i != keys_count) {
+ status = 1;
+ fprintf(stderr, "error: lex_line22_r2: unused keys left after %u keys\n", i);
+ }
+ }
+
+end:
+ free(input);
+ free(keys);
+
+ return status;
+}
+
+#undef YYCTYPE
+#undef YYKEYTYPE
+#undef YYPEEK
+#undef YYSKIP
+#undef YYLESSTHAN
+#undef YYFILL
+
+#define YYCTYPE unsigned char
+#define YYKEYTYPE unsigned char
+#define YYPEEK() *cursor
+#define YYSKIP() ++cursor
+#define YYLESSTHAN(n) (limit - cursor) < n
+#define YYFILL(n) { break; }
+static int action_line34_r1
+ ( unsigned *pkix
+ , const YYKEYTYPE *keys
+ , const YYCTYPE *start
+ , const YYCTYPE *token
+ , const YYCTYPE **cursor
+ , YYKEYTYPE rule_act
+ )
+{
+ const unsigned kix = *pkix;
+ const long pos = token - start;
+ const long len_act = *cursor - token;
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
+ if (rule_exp == 255) {
+ fprintf
+ ( stderr
+ , "warning: lex_line34_r1: control flow is undefined for input"
+ " at position %ld, rerun re2c with '-W'\n"
+ , pos
+ );
+ }
+ if (len_act == len_exp && rule_act == rule_exp) {
+ const YYKEYTYPE offset = keys[kix];
+ *cursor = token + offset;
+ return 0;
+ } else {
+ fprintf
+ ( stderr
+ , "error: lex_line34_r1: at position %ld (key %u):\n"
+ "\texpected: match length %ld, rule %u\n"
+ "\tactual: match length %ld, rule %u\n"
+ , pos
+ , kix
+ , len_exp
+ , rule_exp
+ , len_act
+ , rule_act
+ );
+ return 1;
+ }
+}
+
+static int check_key_count_line34_r1(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line34_r1: not enough keys\n");
+ return 1;
+}
+
+int lex_line34_r1()
+{
+ const size_t padding = 1; /* YYMAXFILL */
+ int status = 0;
+ size_t input_len = 0;
+ size_t keys_count = 0;
+ YYCTYPE *input = NULL;
+ YYKEYTYPE *keys = NULL;
+ const YYCTYPE *cursor = NULL;
+ const YYCTYPE *limit = NULL;
+ const YYCTYPE *token = NULL;
+ const YYCTYPE *eof = NULL;
+ unsigned int i = 0;
+
+ input = (YYCTYPE *) read_file
+ ("repeat-01.cgir--skeleton.c.line34_r1.input"
+ , sizeof (YYCTYPE)
+ , padding
+ , &input_len
+ );
+ if (input == NULL) {
+ status = 1;
+ goto end;
+ }
+
+ keys = (YYKEYTYPE *) read_file
+ ("repeat-01.cgir--skeleton.c.line34_r1.keys"
+ , sizeof (YYKEYTYPE)
+ , 0
+ , &keys_count
+ );
+ if (keys == NULL) {
+ status = 1;
+ goto end;
+ }
+
+ cursor = input;
+ limit = input + input_len + padding;
+ eof = input + input_len;
+
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
+ token = cursor;
+ YYCTYPE yych;
+
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ if (yych <= '2') {
+ if (yych <= '0') goto yy3;
+ if (yych <= '1') goto yy4;
+ goto yy6;
+ } else {
+ if (yych <= '`') goto yy3;
+ if (yych <= 'a') goto yy8;
+ if (yych <= 'b') goto yy10;
+ }
+yy3:
+yy4:
+ YYSKIP ();
+ status = check_key_count_line34_r1(keys_count, i, 3)
+ || action_line34_r1(&i, keys, input, token, &cursor, 2);
+ continue;
+yy6:
+ YYSKIP ();
+ status = check_key_count_line34_r1(keys_count, i, 3)
+ || action_line34_r1(&i, keys, input, token, &cursor, 3);
+ continue;
+yy8:
+ YYSKIP ();
+ status = check_key_count_line34_r1(keys_count, i, 3)
+ || action_line34_r1(&i, keys, input, token, &cursor, 0);
+ continue;
+yy10:
+ YYSKIP ();
+ status = check_key_count_line34_r1(keys_count, i, 3)
+ || action_line34_r1(&i, keys, input, token, &cursor, 1);
+ continue;
+
+ }
+ if (status == 0) {
+ if (cursor != eof) {
+ status = 1;
+ const long pos = token - input;
+ fprintf(stderr, "error: lex_line34_r1: unused input strings left at position %ld\n", pos);
+ }
+ if (i != keys_count) {
+ status = 1;
+ fprintf(stderr, "error: lex_line34_r1: unused keys left after %u keys\n", i);
+ }
+ }
+
+end:
+ free(input);
+ free(keys);
+
+ return status;
+}
+
+#undef YYCTYPE
+#undef YYKEYTYPE
+#undef YYPEEK
+#undef YYSKIP
+#undef YYLESSTHAN
+#undef YYFILL
#define YYCTYPE unsigned char
#define YYKEYTYPE unsigned char
@@ -61,8 +536,8 @@ enum YYCONDTYPE {
#define YYLESSTHAN(n) (limit - cursor) < n
#define YYFILL(n) { break; }
-static int action_line13_r1
- ( unsigned int i
+static int action_line34_r2
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -70,30 +545,32 @@ static int action_line13_r1
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
- , "warning: lex_line13_r1: control flow is undefined for input"
+ , "warning: lex_line34_r2: control flow is undefined for input"
" at position %ld, rerun re2c with '-W'\n"
, pos
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line13_r1: at position %ld (iteration %u):\n"
+ , "error: lex_line34_r2: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -103,7 +580,14 @@ static int action_line13_r1
}
}
-int lex_line13_r1()
+static int check_key_count_line34_r2(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line34_r2: not enough keys\n");
+ return 1;
+}
+
+int lex_line34_r2()
{
const size_t padding = 1; /* YYMAXFILL */
int status = 0;
@@ -118,7 +602,7 @@ int lex_line13_r1()
unsigned int i = 0;
input = (YYCTYPE *) read_file
- ("repeat-01.cgir--skeleton.c.line13_r1.input"
+ ("repeat-01.cgir--skeleton.c.line34_r2.input"
, sizeof (YYCTYPE)
, padding
, &input_len
@@ -129,8 +613,8 @@ int lex_line13_r1()
}
keys = (YYKEYTYPE *) read_file
- ("repeat-01.cgir--skeleton.c.line13_r1.keys"
- , 3 * sizeof (YYKEYTYPE)
+ ("repeat-01.cgir--skeleton.c.line34_r2.keys"
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -143,7 +627,162 @@ int lex_line13_r1()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
+ token = cursor;
+ YYCTYPE yych;
+
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ if (yych <= '2') {
+ if (yych <= '0') goto yy15;
+ if (yych <= '1') goto yy16;
+ goto yy18;
+ } else {
+ if (yych == 'b') goto yy20;
+ }
+yy15:
+yy16:
+ YYSKIP ();
+ status = check_key_count_line34_r2(keys_count, i, 3)
+ || action_line34_r2(&i, keys, input, token, &cursor, 1);
+ continue;
+yy18:
+ YYSKIP ();
+ status = check_key_count_line34_r2(keys_count, i, 3)
+ || action_line34_r2(&i, keys, input, token, &cursor, 2);
+ continue;
+yy20:
+ YYSKIP ();
+ status = check_key_count_line34_r2(keys_count, i, 3)
+ || action_line34_r2(&i, keys, input, token, &cursor, 0);
+ continue;
+
+ }
+ if (status == 0) {
+ if (cursor != eof) {
+ status = 1;
+ const long pos = token - input;
+ fprintf(stderr, "error: lex_line34_r2: unused input strings left at position %ld\n", pos);
+ }
+ if (i != keys_count) {
+ status = 1;
+ fprintf(stderr, "error: lex_line34_r2: unused keys left after %u keys\n", i);
+ }
+ }
+
+end:
+ free(input);
+ free(keys);
+
+ return status;
+}
+
+#undef YYCTYPE
+#undef YYKEYTYPE
+#undef YYPEEK
+#undef YYSKIP
+#undef YYLESSTHAN
+#undef YYFILL
+
+#define YYCTYPE unsigned char
+#define YYKEYTYPE unsigned char
+#define YYPEEK() *cursor
+#define YYSKIP() ++cursor
+#define YYLESSTHAN(n) (limit - cursor) < n
+#define YYFILL(n) { break; }
+
+static int action_line46_r1
+ ( unsigned *pkix
+ , const YYKEYTYPE *keys
+ , const YYCTYPE *start
+ , const YYCTYPE *token
+ , const YYCTYPE **cursor
+ , YYKEYTYPE rule_act
+ )
+{
+ const unsigned kix = *pkix;
+ const long pos = token - start;
+ const long len_act = *cursor - token;
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
+ if (rule_exp == 255) {
+ fprintf
+ ( stderr
+ , "warning: lex_line46_r1: control flow is undefined for input"
+ " at position %ld, rerun re2c with '-W'\n"
+ , pos
+ );
+ }
+ if (len_act == len_exp && rule_act == rule_exp) {
+ const YYKEYTYPE offset = keys[kix];
+ *cursor = token + offset;
+ return 0;
+ } else {
+ fprintf
+ ( stderr
+ , "error: lex_line46_r1: at position %ld (key %u):\n"
+ "\texpected: match length %ld, rule %u\n"
+ "\tactual: match length %ld, rule %u\n"
+ , pos
+ , kix
+ , len_exp
+ , rule_exp
+ , len_act
+ , rule_act
+ );
+ return 1;
+ }
+}
+
+static int check_key_count_line46_r1(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line46_r1: not enough keys\n");
+ return 1;
+}
+
+int lex_line46_r1()
+{
+ const size_t padding = 1; /* YYMAXFILL */
+ int status = 0;
+ size_t input_len = 0;
+ size_t keys_count = 0;
+ YYCTYPE *input = NULL;
+ YYKEYTYPE *keys = NULL;
+ const YYCTYPE *cursor = NULL;
+ const YYCTYPE *limit = NULL;
+ const YYCTYPE *token = NULL;
+ const YYCTYPE *eof = NULL;
+ unsigned int i = 0;
+
+ input = (YYCTYPE *) read_file
+ ("repeat-01.cgir--skeleton.c.line46_r1.input"
+ , sizeof (YYCTYPE)
+ , padding
+ , &input_len
+ );
+ if (input == NULL) {
+ status = 1;
+ goto end;
+ }
+
+ keys = (YYKEYTYPE *) read_file
+ ("repeat-01.cgir--skeleton.c.line46_r1.keys"
+ , sizeof (YYKEYTYPE)
+ , 0
+ , &keys_count
+ );
+ if (keys == NULL) {
+ status = 1;
+ goto end;
+ }
+
+ cursor = input;
+ limit = input + input_len + padding;
+ eof = input + input_len;
+
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -161,19 +800,23 @@ int lex_line13_r1()
yy3:
yy4:
YYSKIP ();
- status = action_line13_r1(i, keys, input, token, &cursor, 5);
+ status = check_key_count_line46_r1(keys_count, i, 3)
+ || action_line46_r1(&i, keys, input, token, &cursor, 2);
continue;
yy6:
YYSKIP ();
- status = action_line13_r1(i, keys, input, token, &cursor, 6);
+ status = check_key_count_line46_r1(keys_count, i, 3)
+ || action_line46_r1(&i, keys, input, token, &cursor, 3);
continue;
yy8:
YYSKIP ();
- status = action_line13_r1(i, keys, input, token, &cursor, 2);
+ status = check_key_count_line46_r1(keys_count, i, 3)
+ || action_line46_r1(&i, keys, input, token, &cursor, 0);
continue;
yy10:
YYSKIP ();
- status = action_line13_r1(i, keys, input, token, &cursor, 3);
+ status = check_key_count_line46_r1(keys_count, i, 3)
+ || action_line46_r1(&i, keys, input, token, &cursor, 1);
continue;
}
@@ -181,11 +824,11 @@ yy10:
if (cursor != eof) {
status = 1;
const long pos = token - input;
- fprintf(stderr, "error: lex_line13_r1: unused input strings left at position %ld\n", pos);
+ fprintf(stderr, "error: lex_line46_r1: unused input strings left at position %ld\n", pos);
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line13_r1: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line46_r1: unused keys left after %u keys\n", i);
}
}
@@ -210,8 +853,8 @@ end:
#define YYLESSTHAN(n) (limit - cursor) < n
#define YYFILL(n) { break; }
-static int action_line13_r2
- ( unsigned int i
+static int action_line46_r2
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -219,30 +862,32 @@ static int action_line13_r2
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
- , "warning: lex_line13_r2: control flow is undefined for input"
+ , "warning: lex_line46_r2: control flow is undefined for input"
" at position %ld, rerun re2c with '-W'\n"
, pos
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line13_r2: at position %ld (iteration %u):\n"
+ , "error: lex_line46_r2: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -252,7 +897,14 @@ static int action_line13_r2
}
}
-int lex_line13_r2()
+static int check_key_count_line46_r2(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line46_r2: not enough keys\n");
+ return 1;
+}
+
+int lex_line46_r2()
{
const size_t padding = 1; /* YYMAXFILL */
int status = 0;
@@ -267,7 +919,7 @@ int lex_line13_r2()
unsigned int i = 0;
input = (YYCTYPE *) read_file
- ("repeat-01.cgir--skeleton.c.line13_r2.input"
+ ("repeat-01.cgir--skeleton.c.line46_r2.input"
, sizeof (YYCTYPE)
, padding
, &input_len
@@ -278,8 +930,8 @@ int lex_line13_r2()
}
keys = (YYKEYTYPE *) read_file
- ("repeat-01.cgir--skeleton.c.line13_r2.keys"
- , 3 * sizeof (YYKEYTYPE)
+ ("repeat-01.cgir--skeleton.c.line46_r2.keys"
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -292,7 +944,7 @@ int lex_line13_r2()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -308,15 +960,18 @@ int lex_line13_r2()
yy15:
yy16:
YYSKIP ();
- status = action_line13_r2(i, keys, input, token, &cursor, 5);
+ status = check_key_count_line46_r2(keys_count, i, 3)
+ || action_line46_r2(&i, keys, input, token, &cursor, 1);
continue;
yy18:
YYSKIP ();
- status = action_line13_r2(i, keys, input, token, &cursor, 6);
+ status = check_key_count_line46_r2(keys_count, i, 3)
+ || action_line46_r2(&i, keys, input, token, &cursor, 2);
continue;
yy20:
YYSKIP ();
- status = action_line13_r2(i, keys, input, token, &cursor, 4);
+ status = check_key_count_line46_r2(keys_count, i, 3)
+ || action_line46_r2(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -324,11 +979,11 @@ yy20:
if (cursor != eof) {
status = 1;
const long pos = token - input;
- fprintf(stderr, "error: lex_line13_r2: unused input strings left at position %ld\n", pos);
+ fprintf(stderr, "error: lex_line46_r2: unused input strings left at position %ld\n", pos);
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line13_r2: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line46_r2: unused keys left after %u keys\n", i);
}
}
@@ -348,19 +1003,35 @@ end:
int main()
{
- if(lex_line13_r1() != 0) {
+ if(lex_line22_r1() != 0) {
+ return 1;
+ }
+ if(lex_line22_r2() != 0) {
+ return 1;
+ }
+ if(lex_line34_r1() != 0) {
+ return 1;
+ }
+ if(lex_line34_r2() != 0) {
+ return 1;
+ }
+ if(lex_line46_r1() != 0) {
return 1;
}
- if(lex_line13_r2() != 0) {
+ if(lex_line46_r2() != 0) {
return 1;
}
return 0;
}
12ab
-  !"#$%&'()*+,-./03456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`cdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
-  !"#$%&'()*+,-./03456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`acdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
-re2c: warning: line 13: control flow in condition 'r2' is undefined for strings that match '[\x0-\x30\x33-\x61\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
-re2c: warning: line 13: control flow in condition 'r1' is undefined for strings that match '[\x0-\x30\x33-\x60\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
-re2c: warning: line 13: control flow in condition 'r2' is undefined for strings that match '[\x0-\x30\x33-\x61\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
-re2c: warning: line 13: control flow in condition 'r1' is undefined for strings that match '[\x0-\x30\x33-\x60\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
-re2c: warning: line 13: control flow in condition 'r2' is undefined for strings that match '[\x0-\x30\x33-\x61\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
+  !"#$%&'()*+,-./03456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`cdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
+  !"#$%&'()*+,-./03456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`acdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
+  !"#$%&'()*+,-./03456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`cdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
+  !"#$%&'()*+,-./03456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`acdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
+  !"#$%&'()*+,-./03456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`cdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
+  !"#$%&'()*+,-./03456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`acdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
+re2c: warning: line 22: control flow in condition 'r2' is undefined for strings that match '[\x0-\x30\x33-\x61\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
+re2c: warning: line 34: control flow in condition 'r1' is undefined for strings that match '[\x0-\x30\x33-\x60\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
+re2c: warning: line 34: control flow in condition 'r2' is undefined for strings that match '[\x0-\x30\x33-\x61\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
+re2c: warning: line 46: control flow in condition 'r1' is undefined for strings that match '[\x0-\x30\x33-\x60\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
+re2c: warning: line 46: control flow in condition 'r2' is undefined for strings that match '[\x0-\x30\x33-\x61\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
diff --git a/test/repeat-01.cgir.c b/test/repeat-01.cgir.c
index 829bcf4b..26acabc0 100644
--- a/test/repeat-01.cgir.c
+++ b/test/repeat-01.cgir.c
@@ -1,7 +1,6 @@
/* Generated by re2c */
// multiple scanners
-
enum YYCONDTYPE {
yycr1,
yycr2,
@@ -191,9 +190,9 @@ yy19:
}
-re2c: warning: line 13: control flow in condition 'r1' is undefined for strings that match '[\x0-\x30\x33-\x60\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
-re2c: warning: line 13: control flow in condition 'r2' is undefined for strings that match '[\x0-\x30\x33-\x61\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
-re2c: warning: line 13: control flow in condition 'r1' is undefined for strings that match '[\x0-\x30\x33-\x60\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
-re2c: warning: line 13: control flow in condition 'r2' is undefined for strings that match '[\x0-\x30\x33-\x61\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
-re2c: warning: line 13: control flow in condition 'r1' is undefined for strings that match '[\x0-\x30\x33-\x60\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
-re2c: warning: line 13: control flow in condition 'r2' is undefined for strings that match '[\x0-\x30\x33-\x61\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
+re2c: warning: line 22: control flow in condition 'r1' is undefined for strings that match '[\x0-\x30\x33-\x60\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
+re2c: warning: line 22: control flow in condition 'r2' is undefined for strings that match '[\x0-\x30\x33-\x61\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
+re2c: warning: line 34: control flow in condition 'r1' is undefined for strings that match '[\x0-\x30\x33-\x60\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
+re2c: warning: line 34: control flow in condition 'r2' is undefined for strings that match '[\x0-\x30\x33-\x61\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
+re2c: warning: line 46: control flow in condition 'r1' is undefined for strings that match '[\x0-\x30\x33-\x60\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
+re2c: warning: line 46: control flow in condition 'r2' is undefined for strings that match '[\x0-\x30\x33-\x61\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
diff --git a/test/repeat-02.cgir--skeleton.c b/test/repeat-02.cgir--skeleton.c
index 64327023..75b1c5ac 100644
--- a/test/repeat-02.cgir--skeleton.c
+++ b/test/repeat-02.cgir--skeleton.c
@@ -1,7 +1,9 @@
/* Generated by re2c */
+#include <stddef.h> /* size_t */
#include <stdio.h>
#include <stdlib.h> /* malloc, free */
+#include <string.h> /* memcpy */
static void *read_file
( const char *fname
@@ -48,11 +50,484 @@ error:
return NULL;
}
-enum YYCONDTYPE {
- yycr1,
- yycr2,
-};
+#define YYCTYPE unsigned char
+#define YYKEYTYPE unsigned char
+#define YYPEEK() *cursor
+#define YYSKIP() ++cursor
+#define YYLESSTHAN(n) (limit - cursor) < n
+#define YYFILL(n) { break; }
+
+static int action_line20_r1
+ ( unsigned *pkix
+ , const YYKEYTYPE *keys
+ , const YYCTYPE *start
+ , const YYCTYPE *token
+ , const YYCTYPE **cursor
+ , YYKEYTYPE rule_act
+ )
+{
+ const unsigned kix = *pkix;
+ const long pos = token - start;
+ const long len_act = *cursor - token;
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
+ if (rule_exp == 255) {
+ fprintf
+ ( stderr
+ , "warning: lex_line20_r1: control flow is undefined for input"
+ " at position %ld, rerun re2c with '-W'\n"
+ , pos
+ );
+ }
+ if (len_act == len_exp && rule_act == rule_exp) {
+ const YYKEYTYPE offset = keys[kix];
+ *cursor = token + offset;
+ return 0;
+ } else {
+ fprintf
+ ( stderr
+ , "error: lex_line20_r1: at position %ld (key %u):\n"
+ "\texpected: match length %ld, rule %u\n"
+ "\tactual: match length %ld, rule %u\n"
+ , pos
+ , kix
+ , len_exp
+ , rule_exp
+ , len_act
+ , rule_act
+ );
+ return 1;
+ }
+}
+
+static int check_key_count_line20_r1(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line20_r1: not enough keys\n");
+ return 1;
+}
+
+int lex_line20_r1()
+{
+ const size_t padding = 1; /* YYMAXFILL */
+ int status = 0;
+ size_t input_len = 0;
+ size_t keys_count = 0;
+ YYCTYPE *input = NULL;
+ YYKEYTYPE *keys = NULL;
+ const YYCTYPE *cursor = NULL;
+ const YYCTYPE *limit = NULL;
+ const YYCTYPE *token = NULL;
+ const YYCTYPE *eof = NULL;
+ unsigned int i = 0;
+
+ input = (YYCTYPE *) read_file
+ ("repeat-02.cgir--skeleton.c.line20_r1.input"
+ , sizeof (YYCTYPE)
+ , padding
+ , &input_len
+ );
+ if (input == NULL) {
+ status = 1;
+ goto end;
+ }
+
+ keys = (YYKEYTYPE *) read_file
+ ("repeat-02.cgir--skeleton.c.line20_r1.keys"
+ , sizeof (YYKEYTYPE)
+ , 0
+ , &keys_count
+ );
+ if (keys == NULL) {
+ status = 1;
+ goto end;
+ }
+
+ cursor = input;
+ limit = input + input_len + padding;
+ eof = input + input_len;
+
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
+ token = cursor;
+ YYCTYPE yych;
+
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ if (yych <= '2') {
+ if (yych <= '0') goto yy3;
+ if (yych <= '1') goto yy4;
+ goto yy6;
+ } else {
+ if (yych <= '`') goto yy3;
+ if (yych <= 'a') goto yy8;
+ if (yych <= 'b') goto yy10;
+ }
+yy3:
+yy4:
+ YYSKIP ();
+ status = check_key_count_line20_r1(keys_count, i, 3)
+ || action_line20_r1(&i, keys, input, token, &cursor, 2);
+ continue;
+yy6:
+ YYSKIP ();
+ status = check_key_count_line20_r1(keys_count, i, 3)
+ || action_line20_r1(&i, keys, input, token, &cursor, 3);
+ continue;
+yy8:
+ YYSKIP ();
+ status = check_key_count_line20_r1(keys_count, i, 3)
+ || action_line20_r1(&i, keys, input, token, &cursor, 0);
+ continue;
+yy10:
+ YYSKIP ();
+ status = check_key_count_line20_r1(keys_count, i, 3)
+ || action_line20_r1(&i, keys, input, token, &cursor, 1);
+ continue;
+
+ }
+ if (status == 0) {
+ if (cursor != eof) {
+ status = 1;
+ const long pos = token - input;
+ fprintf(stderr, "error: lex_line20_r1: unused input strings left at position %ld\n", pos);
+ }
+ if (i != keys_count) {
+ status = 1;
+ fprintf(stderr, "error: lex_line20_r1: unused keys left after %u keys\n", i);
+ }
+ }
+
+end:
+ free(input);
+ free(keys);
+
+ return status;
+}
+
+#undef YYCTYPE
+#undef YYKEYTYPE
+#undef YYPEEK
+#undef YYSKIP
+#undef YYLESSTHAN
+#undef YYFILL
+
+#define YYCTYPE unsigned char
+#define YYKEYTYPE unsigned char
+#define YYPEEK() *cursor
+#define YYSKIP() ++cursor
+#define YYLESSTHAN(n) (limit - cursor) < n
+#define YYFILL(n) { break; }
+
+static int action_line20_r2
+ ( unsigned *pkix
+ , const YYKEYTYPE *keys
+ , const YYCTYPE *start
+ , const YYCTYPE *token
+ , const YYCTYPE **cursor
+ , YYKEYTYPE rule_act
+ )
+{
+ const unsigned kix = *pkix;
+ const long pos = token - start;
+ const long len_act = *cursor - token;
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
+ if (rule_exp == 255) {
+ fprintf
+ ( stderr
+ , "warning: lex_line20_r2: control flow is undefined for input"
+ " at position %ld, rerun re2c with '-W'\n"
+ , pos
+ );
+ }
+ if (len_act == len_exp && rule_act == rule_exp) {
+ const YYKEYTYPE offset = keys[kix];
+ *cursor = token + offset;
+ return 0;
+ } else {
+ fprintf
+ ( stderr
+ , "error: lex_line20_r2: at position %ld (key %u):\n"
+ "\texpected: match length %ld, rule %u\n"
+ "\tactual: match length %ld, rule %u\n"
+ , pos
+ , kix
+ , len_exp
+ , rule_exp
+ , len_act
+ , rule_act
+ );
+ return 1;
+ }
+}
+
+static int check_key_count_line20_r2(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line20_r2: not enough keys\n");
+ return 1;
+}
+
+int lex_line20_r2()
+{
+ const size_t padding = 1; /* YYMAXFILL */
+ int status = 0;
+ size_t input_len = 0;
+ size_t keys_count = 0;
+ YYCTYPE *input = NULL;
+ YYKEYTYPE *keys = NULL;
+ const YYCTYPE *cursor = NULL;
+ const YYCTYPE *limit = NULL;
+ const YYCTYPE *token = NULL;
+ const YYCTYPE *eof = NULL;
+ unsigned int i = 0;
+
+ input = (YYCTYPE *) read_file
+ ("repeat-02.cgir--skeleton.c.line20_r2.input"
+ , sizeof (YYCTYPE)
+ , padding
+ , &input_len
+ );
+ if (input == NULL) {
+ status = 1;
+ goto end;
+ }
+
+ keys = (YYKEYTYPE *) read_file
+ ("repeat-02.cgir--skeleton.c.line20_r2.keys"
+ , sizeof (YYKEYTYPE)
+ , 0
+ , &keys_count
+ );
+ if (keys == NULL) {
+ status = 1;
+ goto end;
+ }
+
+ cursor = input;
+ limit = input + input_len + padding;
+ eof = input + input_len;
+
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
+ token = cursor;
+ YYCTYPE yych;
+
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ if (yych <= '2') {
+ if (yych <= '0') goto yy15;
+ if (yych <= '1') goto yy16;
+ goto yy18;
+ } else {
+ if (yych == 'b') goto yy20;
+ }
+yy15:
+yy16:
+ YYSKIP ();
+ status = check_key_count_line20_r2(keys_count, i, 3)
+ || action_line20_r2(&i, keys, input, token, &cursor, 1);
+ continue;
+yy18:
+ YYSKIP ();
+ status = check_key_count_line20_r2(keys_count, i, 3)
+ || action_line20_r2(&i, keys, input, token, &cursor, 2);
+ continue;
+yy20:
+ YYSKIP ();
+ status = check_key_count_line20_r2(keys_count, i, 3)
+ || action_line20_r2(&i, keys, input, token, &cursor, 0);
+ continue;
+
+ }
+ if (status == 0) {
+ if (cursor != eof) {
+ status = 1;
+ const long pos = token - input;
+ fprintf(stderr, "error: lex_line20_r2: unused input strings left at position %ld\n", pos);
+ }
+ if (i != keys_count) {
+ status = 1;
+ fprintf(stderr, "error: lex_line20_r2: unused keys left after %u keys\n", i);
+ }
+ }
+
+end:
+ free(input);
+ free(keys);
+
+ return status;
+}
+
+#undef YYCTYPE
+#undef YYKEYTYPE
+#undef YYPEEK
+#undef YYSKIP
+#undef YYLESSTHAN
+#undef YYFILL
+
+#define YYCTYPE unsigned char
+#define YYKEYTYPE unsigned char
+#define YYPEEK() *cursor
+#define YYSKIP() ++cursor
+#define YYLESSTHAN(n) (limit - cursor) < n
+#define YYFILL(n) { break; }
+static int action_line32_r1
+ ( unsigned *pkix
+ , const YYKEYTYPE *keys
+ , const YYCTYPE *start
+ , const YYCTYPE *token
+ , const YYCTYPE **cursor
+ , YYKEYTYPE rule_act
+ )
+{
+ const unsigned kix = *pkix;
+ const long pos = token - start;
+ const long len_act = *cursor - token;
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
+ if (rule_exp == 255) {
+ fprintf
+ ( stderr
+ , "warning: lex_line32_r1: control flow is undefined for input"
+ " at position %ld, rerun re2c with '-W'\n"
+ , pos
+ );
+ }
+ if (len_act == len_exp && rule_act == rule_exp) {
+ const YYKEYTYPE offset = keys[kix];
+ *cursor = token + offset;
+ return 0;
+ } else {
+ fprintf
+ ( stderr
+ , "error: lex_line32_r1: at position %ld (key %u):\n"
+ "\texpected: match length %ld, rule %u\n"
+ "\tactual: match length %ld, rule %u\n"
+ , pos
+ , kix
+ , len_exp
+ , rule_exp
+ , len_act
+ , rule_act
+ );
+ return 1;
+ }
+}
+
+static int check_key_count_line32_r1(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line32_r1: not enough keys\n");
+ return 1;
+}
+
+int lex_line32_r1()
+{
+ const size_t padding = 1; /* YYMAXFILL */
+ int status = 0;
+ size_t input_len = 0;
+ size_t keys_count = 0;
+ YYCTYPE *input = NULL;
+ YYKEYTYPE *keys = NULL;
+ const YYCTYPE *cursor = NULL;
+ const YYCTYPE *limit = NULL;
+ const YYCTYPE *token = NULL;
+ const YYCTYPE *eof = NULL;
+ unsigned int i = 0;
+
+ input = (YYCTYPE *) read_file
+ ("repeat-02.cgir--skeleton.c.line32_r1.input"
+ , sizeof (YYCTYPE)
+ , padding
+ , &input_len
+ );
+ if (input == NULL) {
+ status = 1;
+ goto end;
+ }
+
+ keys = (YYKEYTYPE *) read_file
+ ("repeat-02.cgir--skeleton.c.line32_r1.keys"
+ , sizeof (YYKEYTYPE)
+ , 0
+ , &keys_count
+ );
+ if (keys == NULL) {
+ status = 1;
+ goto end;
+ }
+
+ cursor = input;
+ limit = input + input_len + padding;
+ eof = input + input_len;
+
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
+ token = cursor;
+ YYCTYPE yych;
+
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ if (yych <= '2') {
+ if (yych <= '0') goto yy3;
+ if (yych <= '1') goto yy4;
+ goto yy6;
+ } else {
+ if (yych <= '`') goto yy3;
+ if (yych <= 'a') goto yy8;
+ if (yych <= 'b') goto yy10;
+ }
+yy3:
+yy4:
+ YYSKIP ();
+ status = check_key_count_line32_r1(keys_count, i, 3)
+ || action_line32_r1(&i, keys, input, token, &cursor, 2);
+ continue;
+yy6:
+ YYSKIP ();
+ status = check_key_count_line32_r1(keys_count, i, 3)
+ || action_line32_r1(&i, keys, input, token, &cursor, 3);
+ continue;
+yy8:
+ YYSKIP ();
+ status = check_key_count_line32_r1(keys_count, i, 3)
+ || action_line32_r1(&i, keys, input, token, &cursor, 0);
+ continue;
+yy10:
+ YYSKIP ();
+ status = check_key_count_line32_r1(keys_count, i, 3)
+ || action_line32_r1(&i, keys, input, token, &cursor, 1);
+ continue;
+
+ }
+ if (status == 0) {
+ if (cursor != eof) {
+ status = 1;
+ const long pos = token - input;
+ fprintf(stderr, "error: lex_line32_r1: unused input strings left at position %ld\n", pos);
+ }
+ if (i != keys_count) {
+ status = 1;
+ fprintf(stderr, "error: lex_line32_r1: unused keys left after %u keys\n", i);
+ }
+ }
+
+end:
+ free(input);
+ free(keys);
+
+ return status;
+}
+
+#undef YYCTYPE
+#undef YYKEYTYPE
+#undef YYPEEK
+#undef YYSKIP
+#undef YYLESSTHAN
+#undef YYFILL
#define YYCTYPE unsigned char
#define YYKEYTYPE unsigned char
@@ -61,8 +536,8 @@ enum YYCONDTYPE {
#define YYLESSTHAN(n) (limit - cursor) < n
#define YYFILL(n) { break; }
-static int action_line13_r1
- ( unsigned int i
+static int action_line32_r2
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -70,30 +545,32 @@ static int action_line13_r1
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
- , "warning: lex_line13_r1: control flow is undefined for input"
+ , "warning: lex_line32_r2: control flow is undefined for input"
" at position %ld, rerun re2c with '-W'\n"
, pos
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line13_r1: at position %ld (iteration %u):\n"
+ , "error: lex_line32_r2: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -103,7 +580,14 @@ static int action_line13_r1
}
}
-int lex_line13_r1()
+static int check_key_count_line32_r2(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line32_r2: not enough keys\n");
+ return 1;
+}
+
+int lex_line32_r2()
{
const size_t padding = 1; /* YYMAXFILL */
int status = 0;
@@ -118,7 +602,7 @@ int lex_line13_r1()
unsigned int i = 0;
input = (YYCTYPE *) read_file
- ("repeat-02.cgir--skeleton.c.line13_r1.input"
+ ("repeat-02.cgir--skeleton.c.line32_r2.input"
, sizeof (YYCTYPE)
, padding
, &input_len
@@ -129,8 +613,8 @@ int lex_line13_r1()
}
keys = (YYKEYTYPE *) read_file
- ("repeat-02.cgir--skeleton.c.line13_r1.keys"
- , 3 * sizeof (YYKEYTYPE)
+ ("repeat-02.cgir--skeleton.c.line32_r2.keys"
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -143,7 +627,162 @@ int lex_line13_r1()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
+ token = cursor;
+ YYCTYPE yych;
+
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ if (yych <= '2') {
+ if (yych <= '0') goto yy15;
+ if (yych <= '1') goto yy16;
+ goto yy18;
+ } else {
+ if (yych == 'b') goto yy20;
+ }
+yy15:
+yy16:
+ YYSKIP ();
+ status = check_key_count_line32_r2(keys_count, i, 3)
+ || action_line32_r2(&i, keys, input, token, &cursor, 1);
+ continue;
+yy18:
+ YYSKIP ();
+ status = check_key_count_line32_r2(keys_count, i, 3)
+ || action_line32_r2(&i, keys, input, token, &cursor, 2);
+ continue;
+yy20:
+ YYSKIP ();
+ status = check_key_count_line32_r2(keys_count, i, 3)
+ || action_line32_r2(&i, keys, input, token, &cursor, 0);
+ continue;
+
+ }
+ if (status == 0) {
+ if (cursor != eof) {
+ status = 1;
+ const long pos = token - input;
+ fprintf(stderr, "error: lex_line32_r2: unused input strings left at position %ld\n", pos);
+ }
+ if (i != keys_count) {
+ status = 1;
+ fprintf(stderr, "error: lex_line32_r2: unused keys left after %u keys\n", i);
+ }
+ }
+
+end:
+ free(input);
+ free(keys);
+
+ return status;
+}
+
+#undef YYCTYPE
+#undef YYKEYTYPE
+#undef YYPEEK
+#undef YYSKIP
+#undef YYLESSTHAN
+#undef YYFILL
+
+#define YYCTYPE unsigned char
+#define YYKEYTYPE unsigned char
+#define YYPEEK() *cursor
+#define YYSKIP() ++cursor
+#define YYLESSTHAN(n) (limit - cursor) < n
+#define YYFILL(n) { break; }
+
+static int action_line44_r1
+ ( unsigned *pkix
+ , const YYKEYTYPE *keys
+ , const YYCTYPE *start
+ , const YYCTYPE *token
+ , const YYCTYPE **cursor
+ , YYKEYTYPE rule_act
+ )
+{
+ const unsigned kix = *pkix;
+ const long pos = token - start;
+ const long len_act = *cursor - token;
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
+ if (rule_exp == 255) {
+ fprintf
+ ( stderr
+ , "warning: lex_line44_r1: control flow is undefined for input"
+ " at position %ld, rerun re2c with '-W'\n"
+ , pos
+ );
+ }
+ if (len_act == len_exp && rule_act == rule_exp) {
+ const YYKEYTYPE offset = keys[kix];
+ *cursor = token + offset;
+ return 0;
+ } else {
+ fprintf
+ ( stderr
+ , "error: lex_line44_r1: at position %ld (key %u):\n"
+ "\texpected: match length %ld, rule %u\n"
+ "\tactual: match length %ld, rule %u\n"
+ , pos
+ , kix
+ , len_exp
+ , rule_exp
+ , len_act
+ , rule_act
+ );
+ return 1;
+ }
+}
+
+static int check_key_count_line44_r1(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line44_r1: not enough keys\n");
+ return 1;
+}
+
+int lex_line44_r1()
+{
+ const size_t padding = 1; /* YYMAXFILL */
+ int status = 0;
+ size_t input_len = 0;
+ size_t keys_count = 0;
+ YYCTYPE *input = NULL;
+ YYKEYTYPE *keys = NULL;
+ const YYCTYPE *cursor = NULL;
+ const YYCTYPE *limit = NULL;
+ const YYCTYPE *token = NULL;
+ const YYCTYPE *eof = NULL;
+ unsigned int i = 0;
+
+ input = (YYCTYPE *) read_file
+ ("repeat-02.cgir--skeleton.c.line44_r1.input"
+ , sizeof (YYCTYPE)
+ , padding
+ , &input_len
+ );
+ if (input == NULL) {
+ status = 1;
+ goto end;
+ }
+
+ keys = (YYKEYTYPE *) read_file
+ ("repeat-02.cgir--skeleton.c.line44_r1.keys"
+ , sizeof (YYKEYTYPE)
+ , 0
+ , &keys_count
+ );
+ if (keys == NULL) {
+ status = 1;
+ goto end;
+ }
+
+ cursor = input;
+ limit = input + input_len + padding;
+ eof = input + input_len;
+
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -161,19 +800,23 @@ int lex_line13_r1()
yy3:
yy4:
YYSKIP ();
- status = action_line13_r1(i, keys, input, token, &cursor, 5);
+ status = check_key_count_line44_r1(keys_count, i, 3)
+ || action_line44_r1(&i, keys, input, token, &cursor, 2);
continue;
yy6:
YYSKIP ();
- status = action_line13_r1(i, keys, input, token, &cursor, 6);
+ status = check_key_count_line44_r1(keys_count, i, 3)
+ || action_line44_r1(&i, keys, input, token, &cursor, 3);
continue;
yy8:
YYSKIP ();
- status = action_line13_r1(i, keys, input, token, &cursor, 2);
+ status = check_key_count_line44_r1(keys_count, i, 3)
+ || action_line44_r1(&i, keys, input, token, &cursor, 0);
continue;
yy10:
YYSKIP ();
- status = action_line13_r1(i, keys, input, token, &cursor, 3);
+ status = check_key_count_line44_r1(keys_count, i, 3)
+ || action_line44_r1(&i, keys, input, token, &cursor, 1);
continue;
}
@@ -181,11 +824,11 @@ yy10:
if (cursor != eof) {
status = 1;
const long pos = token - input;
- fprintf(stderr, "error: lex_line13_r1: unused input strings left at position %ld\n", pos);
+ fprintf(stderr, "error: lex_line44_r1: unused input strings left at position %ld\n", pos);
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line13_r1: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line44_r1: unused keys left after %u keys\n", i);
}
}
@@ -210,8 +853,8 @@ end:
#define YYLESSTHAN(n) (limit - cursor) < n
#define YYFILL(n) { break; }
-static int action_line13_r2
- ( unsigned int i
+static int action_line44_r2
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -219,30 +862,32 @@ static int action_line13_r2
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
- , "warning: lex_line13_r2: control flow is undefined for input"
+ , "warning: lex_line44_r2: control flow is undefined for input"
" at position %ld, rerun re2c with '-W'\n"
, pos
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line13_r2: at position %ld (iteration %u):\n"
+ , "error: lex_line44_r2: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -252,7 +897,14 @@ static int action_line13_r2
}
}
-int lex_line13_r2()
+static int check_key_count_line44_r2(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line44_r2: not enough keys\n");
+ return 1;
+}
+
+int lex_line44_r2()
{
const size_t padding = 1; /* YYMAXFILL */
int status = 0;
@@ -267,7 +919,7 @@ int lex_line13_r2()
unsigned int i = 0;
input = (YYCTYPE *) read_file
- ("repeat-02.cgir--skeleton.c.line13_r2.input"
+ ("repeat-02.cgir--skeleton.c.line44_r2.input"
, sizeof (YYCTYPE)
, padding
, &input_len
@@ -278,8 +930,8 @@ int lex_line13_r2()
}
keys = (YYKEYTYPE *) read_file
- ("repeat-02.cgir--skeleton.c.line13_r2.keys"
- , 3 * sizeof (YYKEYTYPE)
+ ("repeat-02.cgir--skeleton.c.line44_r2.keys"
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -292,7 +944,7 @@ int lex_line13_r2()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -308,15 +960,18 @@ int lex_line13_r2()
yy15:
yy16:
YYSKIP ();
- status = action_line13_r2(i, keys, input, token, &cursor, 5);
+ status = check_key_count_line44_r2(keys_count, i, 3)
+ || action_line44_r2(&i, keys, input, token, &cursor, 1);
continue;
yy18:
YYSKIP ();
- status = action_line13_r2(i, keys, input, token, &cursor, 6);
+ status = check_key_count_line44_r2(keys_count, i, 3)
+ || action_line44_r2(&i, keys, input, token, &cursor, 2);
continue;
yy20:
YYSKIP ();
- status = action_line13_r2(i, keys, input, token, &cursor, 4);
+ status = check_key_count_line44_r2(keys_count, i, 3)
+ || action_line44_r2(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -324,11 +979,11 @@ yy20:
if (cursor != eof) {
status = 1;
const long pos = token - input;
- fprintf(stderr, "error: lex_line13_r2: unused input strings left at position %ld\n", pos);
+ fprintf(stderr, "error: lex_line44_r2: unused input strings left at position %ld\n", pos);
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line13_r2: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line44_r2: unused keys left after %u keys\n", i);
}
}
@@ -348,19 +1003,35 @@ end:
int main()
{
- if(lex_line13_r1() != 0) {
+ if(lex_line20_r1() != 0) {
+ return 1;
+ }
+ if(lex_line20_r2() != 0) {
+ return 1;
+ }
+ if(lex_line32_r1() != 0) {
+ return 1;
+ }
+ if(lex_line32_r2() != 0) {
+ return 1;
+ }
+ if(lex_line44_r1() != 0) {
return 1;
}
- if(lex_line13_r2() != 0) {
+ if(lex_line44_r2() != 0) {
return 1;
}
return 0;
}
12ab
-  !"#$%&'()*+,-./03456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`cdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
-  !"#$%&'()*+,-./03456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`acdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
-re2c: warning: line 13: control flow in condition 'r2' is undefined for strings that match '[\x0-\x30\x33-\x61\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
-re2c: warning: line 13: control flow in condition 'r1' is undefined for strings that match '[\x0-\x30\x33-\x60\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
-re2c: warning: line 13: control flow in condition 'r2' is undefined for strings that match '[\x0-\x30\x33-\x61\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
-re2c: warning: line 13: control flow in condition 'r1' is undefined for strings that match '[\x0-\x30\x33-\x60\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
-re2c: warning: line 13: control flow in condition 'r2' is undefined for strings that match '[\x0-\x30\x33-\x61\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
+  !"#$%&'()*+,-./03456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`cdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
+  !"#$%&'()*+,-./03456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`acdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
+  !"#$%&'()*+,-./03456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`cdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
+  !"#$%&'()*+,-./03456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`acdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
+  !"#$%&'()*+,-./03456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`cdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
+  !"#$%&'()*+,-./03456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`acdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
+re2c: warning: line 20: control flow in condition 'r2' is undefined for strings that match '[\x0-\x30\x33-\x61\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
+re2c: warning: line 32: control flow in condition 'r1' is undefined for strings that match '[\x0-\x30\x33-\x60\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
+re2c: warning: line 32: control flow in condition 'r2' is undefined for strings that match '[\x0-\x30\x33-\x61\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
+re2c: warning: line 44: control flow in condition 'r1' is undefined for strings that match '[\x0-\x30\x33-\x60\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
+re2c: warning: line 44: control flow in condition 'r2' is undefined for strings that match '[\x0-\x30\x33-\x61\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
diff --git a/test/repeat-02.cgir.c b/test/repeat-02.cgir.c
index c35fec37..d409df52 100644
--- a/test/repeat-02.cgir.c
+++ b/test/repeat-02.cgir.c
@@ -1,7 +1,6 @@
/* Generated by re2c */
// multiple scanners
-
enum YYCONDTYPE {
yycr1,
yycr2,
@@ -191,9 +190,9 @@ yy19:
}
-re2c: warning: line 13: control flow in condition 'r1' is undefined for strings that match '[\x0-\x30\x33-\x60\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
-re2c: warning: line 13: control flow in condition 'r2' is undefined for strings that match '[\x0-\x30\x33-\x61\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
-re2c: warning: line 13: control flow in condition 'r1' is undefined for strings that match '[\x0-\x30\x33-\x60\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
-re2c: warning: line 13: control flow in condition 'r2' is undefined for strings that match '[\x0-\x30\x33-\x61\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
-re2c: warning: line 13: control flow in condition 'r1' is undefined for strings that match '[\x0-\x30\x33-\x60\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
-re2c: warning: line 13: control flow in condition 'r2' is undefined for strings that match '[\x0-\x30\x33-\x61\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
+re2c: warning: line 20: control flow in condition 'r1' is undefined for strings that match '[\x0-\x30\x33-\x60\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
+re2c: warning: line 20: control flow in condition 'r2' is undefined for strings that match '[\x0-\x30\x33-\x61\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
+re2c: warning: line 32: control flow in condition 'r1' is undefined for strings that match '[\x0-\x30\x33-\x60\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
+re2c: warning: line 32: control flow in condition 'r2' is undefined for strings that match '[\x0-\x30\x33-\x61\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
+re2c: warning: line 44: control flow in condition 'r1' is undefined for strings that match '[\x0-\x30\x33-\x60\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
+re2c: warning: line 44: control flow in condition 'r2' is undefined for strings that match '[\x0-\x30\x33-\x61\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
diff --git a/test/repeat-03.cgir--skeleton.c b/test/repeat-03.cgir--skeleton.c
index e501c781..96cf802f 100644
--- a/test/repeat-03.cgir--skeleton.c
+++ b/test/repeat-03.cgir--skeleton.c
@@ -1,7 +1,9 @@
/* Generated by re2c */
+#include <stddef.h> /* size_t */
#include <stdio.h>
#include <stdlib.h> /* malloc, free */
+#include <string.h> /* memcpy */
static void *read_file
( const char *fname
@@ -48,12 +50,6 @@ error:
return NULL;
}
-enum YYCONDTYPE {
- yycr1,
- yycr2,
-};
-
-
#define YYCTYPE unsigned char
#define YYKEYTYPE unsigned char
#define YYPEEK() *cursor
@@ -62,7 +58,7 @@ enum YYCONDTYPE {
#define YYFILL(n) { break; }
static int action_line18_r1
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -70,10 +66,12 @@ static int action_line18_r1
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -83,17 +81,17 @@ static int action_line18_r1
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line18_r1: at position %ld (iteration %u):\n"
+ , "error: lex_line18_r1: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -103,6 +101,13 @@ static int action_line18_r1
}
}
+static int check_key_count_line18_r1(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line18_r1: not enough keys\n");
+ return 1;
+}
+
int lex_line18_r1()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -130,7 +135,7 @@ int lex_line18_r1()
keys = (YYKEYTYPE *) read_file
("repeat-03.cgir--skeleton.c.line18_r1.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -143,7 +148,7 @@ int lex_line18_r1()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -189,23 +194,28 @@ int lex_line18_r1()
yy3:
yy4:
YYSKIP ();
- status = action_line18_r1(i, keys, input, token, &cursor, 7);
+ status = check_key_count_line18_r1(keys_count, i, 3)
+ || action_line18_r1(&i, keys, input, token, &cursor, 4);
continue;
yy6:
YYSKIP ();
- status = action_line18_r1(i, keys, input, token, &cursor, 5);
+ status = check_key_count_line18_r1(keys_count, i, 3)
+ || action_line18_r1(&i, keys, input, token, &cursor, 2);
continue;
yy8:
YYSKIP ();
- status = action_line18_r1(i, keys, input, token, &cursor, 6);
+ status = check_key_count_line18_r1(keys_count, i, 3)
+ || action_line18_r1(&i, keys, input, token, &cursor, 3);
continue;
yy10:
YYSKIP ();
- status = action_line18_r1(i, keys, input, token, &cursor, 2);
+ status = check_key_count_line18_r1(keys_count, i, 3)
+ || action_line18_r1(&i, keys, input, token, &cursor, 0);
continue;
yy12:
YYSKIP ();
- status = action_line18_r1(i, keys, input, token, &cursor, 3);
+ status = check_key_count_line18_r1(keys_count, i, 3)
+ || action_line18_r1(&i, keys, input, token, &cursor, 1);
continue;
}
@@ -217,7 +227,7 @@ yy12:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line18_r1: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line18_r1: unused keys left after %u keys\n", i);
}
}
@@ -243,7 +253,7 @@ end:
#define YYFILL(n) { break; }
static int action_line18_r2
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -251,10 +261,12 @@ static int action_line18_r2
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -264,17 +276,17 @@ static int action_line18_r2
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line18_r2: at position %ld (iteration %u):\n"
+ , "error: lex_line18_r2: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -284,6 +296,13 @@ static int action_line18_r2
}
}
+static int check_key_count_line18_r2(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line18_r2: not enough keys\n");
+ return 1;
+}
+
int lex_line18_r2()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -311,7 +330,7 @@ int lex_line18_r2()
keys = (YYKEYTYPE *) read_file
("repeat-03.cgir--skeleton.c.line18_r2.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -324,7 +343,7 @@ int lex_line18_r2()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -339,15 +358,18 @@ int lex_line18_r2()
}
yy18:
YYSKIP ();
- status = action_line18_r2(i, keys, input, token, &cursor, 7);
+ status = check_key_count_line18_r2(keys_count, i, 3)
+ || action_line18_r2(&i, keys, input, token, &cursor, 2);
continue;
yy20:
YYSKIP ();
- status = action_line18_r2(i, keys, input, token, &cursor, 6);
+ status = check_key_count_line18_r2(keys_count, i, 3)
+ || action_line18_r2(&i, keys, input, token, &cursor, 1);
continue;
yy22:
YYSKIP ();
- status = action_line18_r2(i, keys, input, token, &cursor, 4);
+ status = check_key_count_line18_r2(keys_count, i, 3)
+ || action_line18_r2(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -359,7 +381,7 @@ yy22:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line18_r2: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line18_r2: unused keys left after %u keys\n", i);
}
}
@@ -385,7 +407,7 @@ end:
#define YYFILL(n) { break; }
static int action_line28_r1
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -393,10 +415,12 @@ static int action_line28_r1
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -406,17 +430,17 @@ static int action_line28_r1
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line28_r1: at position %ld (iteration %u):\n"
+ , "error: lex_line28_r1: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -426,6 +450,13 @@ static int action_line28_r1
}
}
+static int check_key_count_line28_r1(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line28_r1: not enough keys\n");
+ return 1;
+}
+
int lex_line28_r1()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -453,7 +484,7 @@ int lex_line28_r1()
keys = (YYKEYTYPE *) read_file
("repeat-03.cgir--skeleton.c.line28_r1.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -466,7 +497,7 @@ int lex_line28_r1()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -512,23 +543,28 @@ int lex_line28_r1()
yy3:
yy4:
YYSKIP ();
- status = action_line28_r1(i, keys, input, token, &cursor, 7);
+ status = check_key_count_line28_r1(keys_count, i, 3)
+ || action_line28_r1(&i, keys, input, token, &cursor, 4);
continue;
yy6:
YYSKIP ();
- status = action_line28_r1(i, keys, input, token, &cursor, 5);
+ status = check_key_count_line28_r1(keys_count, i, 3)
+ || action_line28_r1(&i, keys, input, token, &cursor, 2);
continue;
yy8:
YYSKIP ();
- status = action_line28_r1(i, keys, input, token, &cursor, 6);
+ status = check_key_count_line28_r1(keys_count, i, 3)
+ || action_line28_r1(&i, keys, input, token, &cursor, 3);
continue;
yy10:
YYSKIP ();
- status = action_line28_r1(i, keys, input, token, &cursor, 2);
+ status = check_key_count_line28_r1(keys_count, i, 3)
+ || action_line28_r1(&i, keys, input, token, &cursor, 0);
continue;
yy12:
YYSKIP ();
- status = action_line28_r1(i, keys, input, token, &cursor, 3);
+ status = check_key_count_line28_r1(keys_count, i, 3)
+ || action_line28_r1(&i, keys, input, token, &cursor, 1);
continue;
}
@@ -540,7 +576,7 @@ yy12:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line28_r1: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line28_r1: unused keys left after %u keys\n", i);
}
}
@@ -566,7 +602,7 @@ end:
#define YYFILL(n) { break; }
static int action_line28_r2
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -574,10 +610,12 @@ static int action_line28_r2
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -587,17 +625,17 @@ static int action_line28_r2
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line28_r2: at position %ld (iteration %u):\n"
+ , "error: lex_line28_r2: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -607,6 +645,13 @@ static int action_line28_r2
}
}
+static int check_key_count_line28_r2(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line28_r2: not enough keys\n");
+ return 1;
+}
+
int lex_line28_r2()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -634,7 +679,7 @@ int lex_line28_r2()
keys = (YYKEYTYPE *) read_file
("repeat-03.cgir--skeleton.c.line28_r2.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -647,7 +692,7 @@ int lex_line28_r2()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -662,15 +707,18 @@ int lex_line28_r2()
}
yy18:
YYSKIP ();
- status = action_line28_r2(i, keys, input, token, &cursor, 7);
+ status = check_key_count_line28_r2(keys_count, i, 3)
+ || action_line28_r2(&i, keys, input, token, &cursor, 2);
continue;
yy20:
YYSKIP ();
- status = action_line28_r2(i, keys, input, token, &cursor, 6);
+ status = check_key_count_line28_r2(keys_count, i, 3)
+ || action_line28_r2(&i, keys, input, token, &cursor, 1);
continue;
yy22:
YYSKIP ();
- status = action_line28_r2(i, keys, input, token, &cursor, 4);
+ status = check_key_count_line28_r2(keys_count, i, 3)
+ || action_line28_r2(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -682,7 +730,7 @@ yy22:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line28_r2: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line28_r2: unused keys left after %u keys\n", i);
}
}
@@ -717,10 +765,10 @@ int main()
return 0;
}
-
-
-
-
+
+
+
+
re2c: warning: line 18: control flow in condition 'r2' is undefined for strings that match '\xA', use default rule '*' [-Wundefined-control-flow]
re2c: warning: line 28: control flow in condition 'r1' is undefined for strings that match '\xA', use default rule '*' [-Wundefined-control-flow]
re2c: warning: line 28: control flow in condition 'r2' is undefined for strings that match '\xA', use default rule '*' [-Wundefined-control-flow]
diff --git a/test/repeat-03.cgir.c b/test/repeat-03.cgir.c
index 18c96caf..15730381 100644
--- a/test/repeat-03.cgir.c
+++ b/test/repeat-03.cgir.c
@@ -1,7 +1,6 @@
/* Generated by re2c */
// multiple scanners
-
enum YYCONDTYPE {
yycr1,
yycr2,
diff --git a/test/repeat-04.cgir.c b/test/repeat-04.cgir.c
index c4e18734..1b3cef40 100644
--- a/test/repeat-04.cgir.c
+++ b/test/repeat-04.cgir.c
@@ -1,3 +1,3 @@
-re2c: warning: line 14: control flow in condition 'r1' is undefined for strings that match '[\x0-\x30\x33-\x60\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
-re2c: warning: line 14: control flow in condition 'r2' is undefined for strings that match '[\x0-\x30\x33-\x61\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
-re2c: error: line 20, column 1: cannot have a second 'rules:re2c' block
+re2c: warning: line 18: control flow in condition 'r1' is undefined for strings that match '[\x0-\x30\x33-\x60\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
+re2c: warning: line 18: control flow in condition 'r2' is undefined for strings that match '[\x0-\x30\x33-\x61\x63-\xFF]', use default rule '*' [-Wundefined-control-flow]
+re2c: error: line 20: cannot have a second 'rules:re2c' block
diff --git a/test/repeat-05.cgir.c b/test/repeat-05.cgir.c
index 67f02944..06e97140 100644
--- a/test/repeat-05.cgir.c
+++ b/test/repeat-05.cgir.c
@@ -1 +1 @@
-re2c: error: line 7, column 1: found standard 're2c' block while using -r flag
+re2c: error: line 7: found standard 're2c' block while using -r flag
diff --git a/test/repeat-06.gir--skeleton.c b/test/repeat-06.gir--skeleton.c
index 48958360..ddca9396 100644
--- a/test/repeat-06.gir--skeleton.c
+++ b/test/repeat-06.gir--skeleton.c
@@ -1,7 +1,9 @@
/* Generated by re2c */
+#include <stddef.h> /* size_t */
#include <stdio.h>
#include <stdlib.h> /* malloc, free */
+#include <string.h> /* memcpy */
static void *read_file
( const char *fname
@@ -56,7 +58,7 @@ error:
#define YYFILL(n) { break; }
static int action_line24
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -64,10 +66,12 @@ static int action_line24
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -77,17 +81,17 @@ static int action_line24
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line24: at position %ld (iteration %u):\n"
+ , "error: lex_line24: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -97,6 +101,13 @@ static int action_line24
}
}
+static int check_key_count_line24(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line24: not enough keys\n");
+ return 1;
+}
+
int lex_line24()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -124,7 +135,7 @@ int lex_line24()
keys = (YYKEYTYPE *) read_file
("repeat-06.gir--skeleton.c.line24.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -137,7 +148,7 @@ int lex_line24()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -183,27 +194,33 @@ int lex_line24()
yy2:
yy3:
YYSKIP ();
- status = action_line24(i, keys, input, token, &cursor, 5);
+ status = check_key_count_line24(keys_count, i, 3)
+ || action_line24(&i, keys, input, token, &cursor, 5);
continue;
yy5:
YYSKIP ();
- status = action_line24(i, keys, input, token, &cursor, 4);
+ status = check_key_count_line24(keys_count, i, 3)
+ || action_line24(&i, keys, input, token, &cursor, 4);
continue;
yy7:
YYSKIP ();
- status = action_line24(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line24(keys_count, i, 3)
+ || action_line24(&i, keys, input, token, &cursor, 0);
continue;
yy9:
YYSKIP ();
- status = action_line24(i, keys, input, token, &cursor, 1);
+ status = check_key_count_line24(keys_count, i, 3)
+ || action_line24(&i, keys, input, token, &cursor, 1);
continue;
yy11:
YYSKIP ();
- status = action_line24(i, keys, input, token, &cursor, 2);
+ status = check_key_count_line24(keys_count, i, 3)
+ || action_line24(&i, keys, input, token, &cursor, 2);
continue;
yy13:
YYSKIP ();
- status = action_line24(i, keys, input, token, &cursor, 3);
+ status = check_key_count_line24(keys_count, i, 3)
+ || action_line24(&i, keys, input, token, &cursor, 3);
continue;
}
@@ -215,7 +232,7 @@ yy13:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line24: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line24: unused keys left after %u keys\n", i);
}
}
@@ -241,7 +258,7 @@ end:
#define YYFILL(n) { break; }
static int action_line39
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -249,10 +266,12 @@ static int action_line39
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -262,17 +281,17 @@ static int action_line39
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line39: at position %ld (iteration %u):\n"
+ , "error: lex_line39: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -282,6 +301,13 @@ static int action_line39
}
}
+static int check_key_count_line39(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line39: not enough keys\n");
+ return 1;
+}
+
int lex_line39()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -309,7 +335,7 @@ int lex_line39()
keys = (YYKEYTYPE *) read_file
("repeat-06.gir--skeleton.c.line39.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -322,7 +348,7 @@ int lex_line39()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -368,27 +394,33 @@ int lex_line39()
yy2:
yy3:
YYSKIP ();
- status = action_line39(i, keys, input, token, &cursor, 5);
+ status = check_key_count_line39(keys_count, i, 3)
+ || action_line39(&i, keys, input, token, &cursor, 5);
continue;
yy5:
YYSKIP ();
- status = action_line39(i, keys, input, token, &cursor, 4);
+ status = check_key_count_line39(keys_count, i, 3)
+ || action_line39(&i, keys, input, token, &cursor, 4);
continue;
yy7:
YYSKIP ();
- status = action_line39(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line39(keys_count, i, 3)
+ || action_line39(&i, keys, input, token, &cursor, 0);
continue;
yy9:
YYSKIP ();
- status = action_line39(i, keys, input, token, &cursor, 1);
+ status = check_key_count_line39(keys_count, i, 3)
+ || action_line39(&i, keys, input, token, &cursor, 1);
continue;
yy11:
YYSKIP ();
- status = action_line39(i, keys, input, token, &cursor, 2);
+ status = check_key_count_line39(keys_count, i, 3)
+ || action_line39(&i, keys, input, token, &cursor, 2);
continue;
yy13:
YYSKIP ();
- status = action_line39(i, keys, input, token, &cursor, 3);
+ status = check_key_count_line39(keys_count, i, 3)
+ || action_line39(&i, keys, input, token, &cursor, 3);
continue;
}
@@ -400,7 +432,7 @@ yy13:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line39: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line39: unused keys left after %u keys\n", i);
}
}
@@ -426,7 +458,7 @@ end:
#define YYFILL(n) { break; }
static int action_line54
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -434,10 +466,12 @@ static int action_line54
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -447,17 +481,17 @@ static int action_line54
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line54: at position %ld (iteration %u):\n"
+ , "error: lex_line54: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -467,6 +501,13 @@ static int action_line54
}
}
+static int check_key_count_line54(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line54: not enough keys\n");
+ return 1;
+}
+
int lex_line54()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -494,7 +535,7 @@ int lex_line54()
keys = (YYKEYTYPE *) read_file
("repeat-06.gir--skeleton.c.line54.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -507,7 +548,7 @@ int lex_line54()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -553,27 +594,33 @@ int lex_line54()
yy2:
yy3:
YYSKIP ();
- status = action_line54(i, keys, input, token, &cursor, 5);
+ status = check_key_count_line54(keys_count, i, 3)
+ || action_line54(&i, keys, input, token, &cursor, 5);
continue;
yy5:
YYSKIP ();
- status = action_line54(i, keys, input, token, &cursor, 4);
+ status = check_key_count_line54(keys_count, i, 3)
+ || action_line54(&i, keys, input, token, &cursor, 4);
continue;
yy7:
YYSKIP ();
- status = action_line54(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line54(keys_count, i, 3)
+ || action_line54(&i, keys, input, token, &cursor, 0);
continue;
yy9:
YYSKIP ();
- status = action_line54(i, keys, input, token, &cursor, 1);
+ status = check_key_count_line54(keys_count, i, 3)
+ || action_line54(&i, keys, input, token, &cursor, 1);
continue;
yy11:
YYSKIP ();
- status = action_line54(i, keys, input, token, &cursor, 2);
+ status = check_key_count_line54(keys_count, i, 3)
+ || action_line54(&i, keys, input, token, &cursor, 2);
continue;
yy13:
YYSKIP ();
- status = action_line54(i, keys, input, token, &cursor, 3);
+ status = check_key_count_line54(keys_count, i, 3)
+ || action_line54(&i, keys, input, token, &cursor, 3);
continue;
}
@@ -585,7 +632,7 @@ yy13:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line54: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line54: unused keys left after %u keys\n", i);
}
}
diff --git a/test/repeat-07_default.gir--skeleton.c b/test/repeat-07_default.gir--skeleton.c
index 9f7e573f..26592888 100644
--- a/test/repeat-07_default.gir--skeleton.c
+++ b/test/repeat-07_default.gir--skeleton.c
@@ -1,7 +1,9 @@
/* Generated by re2c */
+#include <stddef.h> /* size_t */
#include <stdio.h>
#include <stdlib.h> /* malloc, free */
+#include <string.h> /* memcpy */
static void *read_file
( const char *fname
@@ -56,7 +58,7 @@ error:
#define YYFILL(n) { break; }
static int action_line28
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -64,10 +66,12 @@ static int action_line28
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -77,17 +81,17 @@ static int action_line28
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line28: at position %ld (iteration %u):\n"
+ , "error: lex_line28: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -97,6 +101,13 @@ static int action_line28
}
}
+static int check_key_count_line28(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line28: not enough keys\n");
+ return 1;
+}
+
int lex_line28()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -124,7 +135,7 @@ int lex_line28()
keys = (YYKEYTYPE *) read_file
("repeat-07_default.gir--skeleton.c.line28.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -137,7 +148,7 @@ int lex_line28()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -182,31 +193,38 @@ int lex_line28()
}
yy2:
YYSKIP ();
- status = action_line28(i, keys, input, token, &cursor, 5);
+ status = check_key_count_line28(keys_count, i, 3)
+ || action_line28(&i, keys, input, token, &cursor, 5);
continue;
yy4:
YYSKIP ();
- status = action_line28(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line28(keys_count, i, 3)
+ || action_line28(&i, keys, input, token, &cursor, 254);
continue;
yy6:
YYSKIP ();
- status = action_line28(i, keys, input, token, &cursor, 4);
+ status = check_key_count_line28(keys_count, i, 3)
+ || action_line28(&i, keys, input, token, &cursor, 4);
continue;
yy8:
YYSKIP ();
- status = action_line28(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line28(keys_count, i, 3)
+ || action_line28(&i, keys, input, token, &cursor, 0);
continue;
yy10:
YYSKIP ();
- status = action_line28(i, keys, input, token, &cursor, 1);
+ status = check_key_count_line28(keys_count, i, 3)
+ || action_line28(&i, keys, input, token, &cursor, 1);
continue;
yy12:
YYSKIP ();
- status = action_line28(i, keys, input, token, &cursor, 2);
+ status = check_key_count_line28(keys_count, i, 3)
+ || action_line28(&i, keys, input, token, &cursor, 2);
continue;
yy14:
YYSKIP ();
- status = action_line28(i, keys, input, token, &cursor, 3);
+ status = check_key_count_line28(keys_count, i, 3)
+ || action_line28(&i, keys, input, token, &cursor, 3);
continue;
}
@@ -218,7 +236,7 @@ yy14:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line28: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line28: unused keys left after %u keys\n", i);
}
}
@@ -244,7 +262,7 @@ end:
#define YYFILL(n) { break; }
static int action_line46
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -252,10 +270,12 @@ static int action_line46
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -265,17 +285,17 @@ static int action_line46
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line46: at position %ld (iteration %u):\n"
+ , "error: lex_line46: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -285,6 +305,13 @@ static int action_line46
}
}
+static int check_key_count_line46(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line46: not enough keys\n");
+ return 1;
+}
+
int lex_line46()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -318,7 +345,7 @@ int lex_line46()
keys = (YYKEYTYPE *) read_file
("repeat-07_default.gir--skeleton.c.line46.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -331,7 +358,7 @@ int lex_line46()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -377,31 +404,38 @@ int lex_line46()
}
yy2:
YYSKIP ();
- status = action_line46(i, keys, input, token, &cursor, 5);
+ status = check_key_count_line46(keys_count, i, 3)
+ || action_line46(&i, keys, input, token, &cursor, 5);
continue;
yy4:
YYSKIP ();
- status = action_line46(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line46(keys_count, i, 3)
+ || action_line46(&i, keys, input, token, &cursor, 254);
continue;
yy6:
YYSKIP ();
- status = action_line46(i, keys, input, token, &cursor, 4);
+ status = check_key_count_line46(keys_count, i, 3)
+ || action_line46(&i, keys, input, token, &cursor, 4);
continue;
yy8:
YYSKIP ();
- status = action_line46(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line46(keys_count, i, 3)
+ || action_line46(&i, keys, input, token, &cursor, 0);
continue;
yy10:
YYSKIP ();
- status = action_line46(i, keys, input, token, &cursor, 1);
+ status = check_key_count_line46(keys_count, i, 3)
+ || action_line46(&i, keys, input, token, &cursor, 1);
continue;
yy12:
YYSKIP ();
- status = action_line46(i, keys, input, token, &cursor, 2);
+ status = check_key_count_line46(keys_count, i, 3)
+ || action_line46(&i, keys, input, token, &cursor, 2);
continue;
yy14:
YYSKIP ();
- status = action_line46(i, keys, input, token, &cursor, 3);
+ status = check_key_count_line46(keys_count, i, 3)
+ || action_line46(&i, keys, input, token, &cursor, 3);
continue;
}
@@ -413,7 +447,7 @@ yy14:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line46: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line46: unused keys left after %u keys\n", i);
}
}
@@ -439,7 +473,7 @@ end:
#define YYFILL(n) { break; }
static int action_line64
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -447,10 +481,12 @@ static int action_line64
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -460,17 +496,17 @@ static int action_line64
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line64: at position %ld (iteration %u):\n"
+ , "error: lex_line64: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -480,6 +516,13 @@ static int action_line64
}
}
+static int check_key_count_line64(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line64: not enough keys\n");
+ return 1;
+}
+
int lex_line64()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -513,7 +556,7 @@ int lex_line64()
keys = (YYKEYTYPE *) read_file
("repeat-07_default.gir--skeleton.c.line64.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -526,7 +569,7 @@ int lex_line64()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -572,31 +615,38 @@ int lex_line64()
}
yy2:
YYSKIP ();
- status = action_line64(i, keys, input, token, &cursor, 5);
+ status = check_key_count_line64(keys_count, i, 3)
+ || action_line64(&i, keys, input, token, &cursor, 5);
continue;
yy4:
YYSKIP ();
- status = action_line64(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line64(keys_count, i, 3)
+ || action_line64(&i, keys, input, token, &cursor, 254);
continue;
yy6:
YYSKIP ();
- status = action_line64(i, keys, input, token, &cursor, 4);
+ status = check_key_count_line64(keys_count, i, 3)
+ || action_line64(&i, keys, input, token, &cursor, 4);
continue;
yy8:
YYSKIP ();
- status = action_line64(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line64(keys_count, i, 3)
+ || action_line64(&i, keys, input, token, &cursor, 0);
continue;
yy10:
YYSKIP ();
- status = action_line64(i, keys, input, token, &cursor, 1);
+ status = check_key_count_line64(keys_count, i, 3)
+ || action_line64(&i, keys, input, token, &cursor, 1);
continue;
yy12:
YYSKIP ();
- status = action_line64(i, keys, input, token, &cursor, 2);
+ status = check_key_count_line64(keys_count, i, 3)
+ || action_line64(&i, keys, input, token, &cursor, 2);
continue;
yy14:
YYSKIP ();
- status = action_line64(i, keys, input, token, &cursor, 3);
+ status = check_key_count_line64(keys_count, i, 3)
+ || action_line64(&i, keys, input, token, &cursor, 3);
continue;
}
@@ -608,7 +658,7 @@ yy14:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line64: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line64: unused keys left after %u keys\n", i);
}
}
diff --git a/test/repeat-07_error.gir.c b/test/repeat-07_error.gir.c
deleted file mode 100644
index f90a68be..00000000
--- a/test/repeat-07_error.gir.c
+++ /dev/null
@@ -1,3 +0,0 @@
-re2c: warning: line 27: control flow is undefined for strings that match '\xA', use default rule '*' [-Wundefined-control-flow]
-re2c: warning: line 45: control flow is undefined for strings that match '\xA', use default rule '*' [-Wundefined-control-flow]
-re2c: error: line 52, column 1: Cannot set UTF32 encoding: please reset USC2 encoding first
diff --git a/test/repeat-07_error.gir.re b/test/repeat-07_error.gir.re
deleted file mode 100644
index 10d3793f..00000000
--- a/test/repeat-07_error.gir.re
+++ /dev/null
@@ -1,64 +0,0 @@
-// multiple scanners, additional rules, char width change
-
-void scan(unsigned char* in)
-{
-/*!rules:re2c
-
-"a" := return "a";
-"b" := return "b";
-"c" := return "c";
-"d" := return "d";
-
-re2c:indent:top = 1;
-
-*//*!use:re2c
-
-re2c:flags:u = 0;
-re2c:flags:w = 0;
-
-re2c:define:YYCTYPE = 'unsigned char';
-re2c:define:YYFILL = 'fill1';
-re2c:define:YYCURSOR = 'cursor1';
-re2c:define:YYLIMIT = 'limit1';
-
-"1" := return "1";
-. := return ".";
-
-*/
-}
-
-void scan(unsigned short* in)
-{
-/*!use:re2c
-
-re2c:flags:u = 0;
-re2c:flags:w = 1;
-
-re2c:define:YYCTYPE = 'unsigned short';
-re2c:define:YYFILL = 'fill2';
-re2c:define:YYCURSOR = 'cursor2';
-re2c:define:YYLIMIT = 'limit2';
-
-"2" := return "2";
-. := return ".";
-
-*/
-}
-
-void scan(unsigned int* in)
-{
-/*!use:re2c
-
-re2c:flags:u = 1;
-re2c:flags:w = 1;
-
-re2c:define:YYCTYPE = 'unsigned int';
-re2c:define:YYFILL = 'fill3';
-re2c:define:YYCURSOR = 'cursor3';
-re2c:define:YYLIMIT = 'limit3';
-
-"3" := return "3";
-. := return ".";
-
-*/
-}
diff --git a/test/repeat-08.ir.c b/test/repeat-08.ir.c
new file mode 100644
index 00000000..a4c25862
--- /dev/null
+++ b/test/repeat-08.ir.c
@@ -0,0 +1,5 @@
+/* Generated by re2c */
+// empty rules block should not trigger error
+
+
+
diff --git a/test/repeat-08.ir.re b/test/repeat-08.ir.re
new file mode 100644
index 00000000..74930fc3
--- /dev/null
+++ b/test/repeat-08.ir.re
@@ -0,0 +1,4 @@
+// empty rules block should not trigger error
+
+/*!rules:re2c*/
+/*!use:re2c*/
diff --git a/test/repeat-09.ir.c b/test/repeat-09.ir.c
new file mode 100644
index 00000000..1e17df47
--- /dev/null
+++ b/test/repeat-09.ir.c
@@ -0,0 +1,22 @@
+/* Generated by re2c */
+// 2nd use block must inherit options from rules block, not from the 1st use block
+
+
+
+
+ {
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR++;
+ {}
+ }
+
+
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR++;
+ {}
+}
+
diff --git a/test/repeat-09.ir.re b/test/repeat-09.ir.re
new file mode 100644
index 00000000..a3c76772
--- /dev/null
+++ b/test/repeat-09.ir.re
@@ -0,0 +1,11 @@
+// 2nd use block must inherit options from rules block, not from the 1st use block
+
+/*!rules:re2c
+ * {}
+*/
+
+/*!use:re2c
+ re2c:indent:top = 3;
+*/
+
+/*!use:re2c*/
diff --git a/test/repeater2.c b/test/repeater2.c
index d2959e21..c184225f 100644
--- a/test/repeater2.c
+++ b/test/repeater2.c
@@ -178,14 +178,13 @@ yy38:
#line 179 "repeater2.c"
yy39:
++YYCURSOR;
- yych = *YYCURSOR;
goto yy38;
}
#line 31 "repeater2.re"
-#line 189 "repeater2.c"
+#line 188 "repeater2.c"
{
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -199,13 +198,13 @@ yy43:
++YYCURSOR;
#line 34 "repeater2.re"
{}
-#line 203 "repeater2.c"
+#line 202 "repeater2.c"
}
#line 35 "repeater2.re"
-#line 209 "repeater2.c"
+#line 208 "repeater2.c"
{
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -219,13 +218,13 @@ yy48:
++YYCURSOR;
#line 38 "repeater2.re"
{}
-#line 223 "repeater2.c"
+#line 222 "repeater2.c"
}
#line 39 "repeater2.re"
-#line 229 "repeater2.c"
+#line 228 "repeater2.c"
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
@@ -242,15 +241,15 @@ yy53:
default: goto yy52;
}
yy54:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 'a': goto yy56;
default: goto yy55;
}
yy55:
#line 42 "repeater2.re"
{}
-#line 254 "repeater2.c"
+#line 253 "repeater2.c"
yy56:
yych = *++YYCURSOR;
switch (yych) {
@@ -265,14 +264,13 @@ yy57:
}
yy58:
++YYCURSOR;
- yych = *YYCURSOR;
goto yy55;
}
#line 43 "repeater2.re"
-#line 276 "repeater2.c"
+#line 274 "repeater2.c"
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
@@ -310,13 +308,13 @@ yy66:
++YYCURSOR;
#line 46 "repeater2.re"
{}
-#line 314 "repeater2.c"
+#line 312 "repeater2.c"
}
#line 47 "repeater2.re"
-#line 320 "repeater2.c"
+#line 318 "repeater2.c"
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
@@ -354,7 +352,7 @@ yy75:
++YYCURSOR;
#line 50 "repeater2.re"
{}
-#line 358 "repeater2.c"
+#line 356 "repeater2.c"
}
#line 51 "repeater2.re"
diff --git a/test/repeater_overflow.c b/test/repeater_overflow.c
index 026ef268..f4d4d187 100644
--- a/test/repeater_overflow.c
+++ b/test/repeater_overflow.c
@@ -1 +1 @@
-re2c: error: line 2, column 5: repetition count overflow
+re2c: error: line 2, column 4: repetition count overflow
diff --git a/test/reuse_conds_default_0.cgir--skeleton.c b/test/reuse_conds_default_0.cgir--skeleton.c
index 7da12b70..a6d9a80c 100644
--- a/test/reuse_conds_default_0.cgir--skeleton.c
+++ b/test/reuse_conds_default_0.cgir--skeleton.c
@@ -1,7 +1,9 @@
/* Generated by re2c */
+#include <stddef.h> /* size_t */
#include <stdio.h>
#include <stdlib.h> /* malloc, free */
+#include <string.h> /* memcpy */
static void *read_file
( const char *fname
@@ -56,7 +58,7 @@ error:
#define YYFILL(n) { break; }
static int action_line15_r1
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -64,10 +66,12 @@ static int action_line15_r1
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -77,17 +81,17 @@ static int action_line15_r1
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line15_r1: at position %ld (iteration %u):\n"
+ , "error: lex_line15_r1: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -97,6 +101,13 @@ static int action_line15_r1
}
}
+static int check_key_count_line15_r1(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line15_r1: not enough keys\n");
+ return 1;
+}
+
int lex_line15_r1()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -124,7 +135,7 @@ int lex_line15_r1()
keys = (YYKEYTYPE *) read_file
("reuse_conds_default_0.cgir--skeleton.c.line15_r1.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -137,7 +148,7 @@ int lex_line15_r1()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -182,27 +193,33 @@ int lex_line15_r1()
}
yy3:
YYSKIP ();
- status = action_line15_r1(i, keys, input, token, &cursor, 7);
+ status = check_key_count_line15_r1(keys_count, i, 3)
+ || action_line15_r1(&i, keys, input, token, &cursor, 4);
continue;
yy5:
YYSKIP ();
- status = action_line15_r1(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line15_r1(keys_count, i, 3)
+ || action_line15_r1(&i, keys, input, token, &cursor, 254);
continue;
yy7:
YYSKIP ();
- status = action_line15_r1(i, keys, input, token, &cursor, 5);
+ status = check_key_count_line15_r1(keys_count, i, 3)
+ || action_line15_r1(&i, keys, input, token, &cursor, 2);
continue;
yy9:
YYSKIP ();
- status = action_line15_r1(i, keys, input, token, &cursor, 6);
+ status = check_key_count_line15_r1(keys_count, i, 3)
+ || action_line15_r1(&i, keys, input, token, &cursor, 3);
continue;
yy11:
YYSKIP ();
- status = action_line15_r1(i, keys, input, token, &cursor, 2);
+ status = check_key_count_line15_r1(keys_count, i, 3)
+ || action_line15_r1(&i, keys, input, token, &cursor, 0);
continue;
yy13:
YYSKIP ();
- status = action_line15_r1(i, keys, input, token, &cursor, 3);
+ status = check_key_count_line15_r1(keys_count, i, 3)
+ || action_line15_r1(&i, keys, input, token, &cursor, 1);
continue;
}
@@ -214,7 +231,7 @@ yy13:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line15_r1: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line15_r1: unused keys left after %u keys\n", i);
}
}
@@ -240,7 +257,7 @@ end:
#define YYFILL(n) { break; }
static int action_line15_r2
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -248,10 +265,12 @@ static int action_line15_r2
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -261,17 +280,17 @@ static int action_line15_r2
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line15_r2: at position %ld (iteration %u):\n"
+ , "error: lex_line15_r2: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -281,6 +300,13 @@ static int action_line15_r2
}
}
+static int check_key_count_line15_r2(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line15_r2: not enough keys\n");
+ return 1;
+}
+
int lex_line15_r2()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -308,7 +334,7 @@ int lex_line15_r2()
keys = (YYKEYTYPE *) read_file
("reuse_conds_default_0.cgir--skeleton.c.line15_r2.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -321,7 +347,7 @@ int lex_line15_r2()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -336,15 +362,18 @@ int lex_line15_r2()
}
yy19:
YYSKIP ();
- status = action_line15_r2(i, keys, input, token, &cursor, 7);
+ status = check_key_count_line15_r2(keys_count, i, 3)
+ || action_line15_r2(&i, keys, input, token, &cursor, 2);
continue;
yy21:
YYSKIP ();
- status = action_line15_r2(i, keys, input, token, &cursor, 6);
+ status = check_key_count_line15_r2(keys_count, i, 3)
+ || action_line15_r2(&i, keys, input, token, &cursor, 1);
continue;
yy23:
YYSKIP ();
- status = action_line15_r2(i, keys, input, token, &cursor, 4);
+ status = check_key_count_line15_r2(keys_count, i, 3)
+ || action_line15_r2(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -356,7 +385,7 @@ yy23:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line15_r2: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line15_r2: unused keys left after %u keys\n", i);
}
}
@@ -382,7 +411,7 @@ end:
#define YYFILL(n) { break; }
static int action_line20_r1
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -390,10 +419,12 @@ static int action_line20_r1
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -403,17 +434,17 @@ static int action_line20_r1
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line20_r1: at position %ld (iteration %u):\n"
+ , "error: lex_line20_r1: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -423,6 +454,13 @@ static int action_line20_r1
}
}
+static int check_key_count_line20_r1(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line20_r1: not enough keys\n");
+ return 1;
+}
+
int lex_line20_r1()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -450,7 +488,7 @@ int lex_line20_r1()
keys = (YYKEYTYPE *) read_file
("reuse_conds_default_0.cgir--skeleton.c.line20_r1.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -463,7 +501,7 @@ int lex_line20_r1()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -509,23 +547,28 @@ int lex_line20_r1()
yy3:
yy4:
YYSKIP ();
- status = action_line20_r1(i, keys, input, token, &cursor, 7);
+ status = check_key_count_line20_r1(keys_count, i, 3)
+ || action_line20_r1(&i, keys, input, token, &cursor, 4);
continue;
yy6:
YYSKIP ();
- status = action_line20_r1(i, keys, input, token, &cursor, 5);
+ status = check_key_count_line20_r1(keys_count, i, 3)
+ || action_line20_r1(&i, keys, input, token, &cursor, 2);
continue;
yy8:
YYSKIP ();
- status = action_line20_r1(i, keys, input, token, &cursor, 6);
+ status = check_key_count_line20_r1(keys_count, i, 3)
+ || action_line20_r1(&i, keys, input, token, &cursor, 3);
continue;
yy10:
YYSKIP ();
- status = action_line20_r1(i, keys, input, token, &cursor, 2);
+ status = check_key_count_line20_r1(keys_count, i, 3)
+ || action_line20_r1(&i, keys, input, token, &cursor, 0);
continue;
yy12:
YYSKIP ();
- status = action_line20_r1(i, keys, input, token, &cursor, 3);
+ status = check_key_count_line20_r1(keys_count, i, 3)
+ || action_line20_r1(&i, keys, input, token, &cursor, 1);
continue;
}
@@ -537,7 +580,7 @@ yy12:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line20_r1: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line20_r1: unused keys left after %u keys\n", i);
}
}
@@ -563,7 +606,7 @@ end:
#define YYFILL(n) { break; }
static int action_line20_r2
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -571,10 +614,12 @@ static int action_line20_r2
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -584,17 +629,17 @@ static int action_line20_r2
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line20_r2: at position %ld (iteration %u):\n"
+ , "error: lex_line20_r2: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -604,6 +649,13 @@ static int action_line20_r2
}
}
+static int check_key_count_line20_r2(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line20_r2: not enough keys\n");
+ return 1;
+}
+
int lex_line20_r2()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -631,7 +683,7 @@ int lex_line20_r2()
keys = (YYKEYTYPE *) read_file
("reuse_conds_default_0.cgir--skeleton.c.line20_r2.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -644,7 +696,7 @@ int lex_line20_r2()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -657,19 +709,23 @@ int lex_line20_r2()
if (yych == 'c') goto yy23;
}
YYSKIP ();
- status = action_line20_r2(i, keys, input, token, &cursor, 7);
+ status = check_key_count_line20_r2(keys_count, i, 3)
+ || action_line20_r2(&i, keys, input, token, &cursor, 2);
continue;
yy19:
YYSKIP ();
- status = action_line20_r2(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line20_r2(keys_count, i, 3)
+ || action_line20_r2(&i, keys, input, token, &cursor, 254);
continue;
yy21:
YYSKIP ();
- status = action_line20_r2(i, keys, input, token, &cursor, 6);
+ status = check_key_count_line20_r2(keys_count, i, 3)
+ || action_line20_r2(&i, keys, input, token, &cursor, 1);
continue;
yy23:
YYSKIP ();
- status = action_line20_r2(i, keys, input, token, &cursor, 4);
+ status = check_key_count_line20_r2(keys_count, i, 3)
+ || action_line20_r2(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -681,7 +737,7 @@ yy23:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line20_r2: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line20_r2: unused keys left after %u keys\n", i);
}
}
@@ -716,8 +772,8 @@ int main()
return 0;
}
-1abcþ
-
-
-acþre2c: warning: line 15: control flow in condition 'r2' is undefined for strings that match '\xA', use default rule '*' [-Wundefined-control-flow]
+1abcþ
+
+
+acþ
re2c: warning: line 20: control flow in condition 'r1' is undefined for strings that match '\xA', use default rule '*' [-Wundefined-control-flow]
diff --git a/test/reuse_conds_default_1.cgir--skeleton.c b/test/reuse_conds_default_1.cgir--skeleton.c
index 6230086d..165eef3a 100644
--- a/test/reuse_conds_default_1.cgir--skeleton.c
+++ b/test/reuse_conds_default_1.cgir--skeleton.c
@@ -1,7 +1,9 @@
/* Generated by re2c */
+#include <stddef.h> /* size_t */
#include <stdio.h>
#include <stdlib.h> /* malloc, free */
+#include <string.h> /* memcpy */
static void *read_file
( const char *fname
@@ -48,11 +50,6 @@ error:
return NULL;
}
-enum YYCONDTYPE {
- yycr2,
-};
-
-
#define YYCTYPE unsigned char
#define YYKEYTYPE unsigned char
#define YYPEEK() *cursor
@@ -61,7 +58,7 @@ enum YYCONDTYPE {
#define YYFILL(n) { break; }
static int action_line22_r1
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -69,10 +66,12 @@ static int action_line22_r1
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -82,17 +81,17 @@ static int action_line22_r1
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line22_r1: at position %ld (iteration %u):\n"
+ , "error: lex_line22_r1: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -102,6 +101,13 @@ static int action_line22_r1
}
}
+static int check_key_count_line22_r1(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line22_r1: not enough keys\n");
+ return 1;
+}
+
int lex_line22_r1()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -129,7 +135,7 @@ int lex_line22_r1()
keys = (YYKEYTYPE *) read_file
("reuse_conds_default_1.cgir--skeleton.c.line22_r1.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -142,7 +148,7 @@ int lex_line22_r1()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -187,27 +193,33 @@ int lex_line22_r1()
}
yy3:
YYSKIP ();
- status = action_line22_r1(i, keys, input, token, &cursor, 7);
+ status = check_key_count_line22_r1(keys_count, i, 3)
+ || action_line22_r1(&i, keys, input, token, &cursor, 4);
continue;
yy5:
YYSKIP ();
- status = action_line22_r1(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line22_r1(keys_count, i, 3)
+ || action_line22_r1(&i, keys, input, token, &cursor, 254);
continue;
yy7:
YYSKIP ();
- status = action_line22_r1(i, keys, input, token, &cursor, 5);
+ status = check_key_count_line22_r1(keys_count, i, 3)
+ || action_line22_r1(&i, keys, input, token, &cursor, 2);
continue;
yy9:
YYSKIP ();
- status = action_line22_r1(i, keys, input, token, &cursor, 6);
+ status = check_key_count_line22_r1(keys_count, i, 3)
+ || action_line22_r1(&i, keys, input, token, &cursor, 3);
continue;
yy11:
YYSKIP ();
- status = action_line22_r1(i, keys, input, token, &cursor, 2);
+ status = check_key_count_line22_r1(keys_count, i, 3)
+ || action_line22_r1(&i, keys, input, token, &cursor, 0);
continue;
yy13:
YYSKIP ();
- status = action_line22_r1(i, keys, input, token, &cursor, 3);
+ status = check_key_count_line22_r1(keys_count, i, 3)
+ || action_line22_r1(&i, keys, input, token, &cursor, 1);
continue;
}
@@ -219,7 +231,7 @@ yy13:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line22_r1: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line22_r1: unused keys left after %u keys\n", i);
}
}
@@ -245,7 +257,7 @@ end:
#define YYFILL(n) { break; }
static int action_line22_r2
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -253,10 +265,12 @@ static int action_line22_r2
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -266,17 +280,17 @@ static int action_line22_r2
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line22_r2: at position %ld (iteration %u):\n"
+ , "error: lex_line22_r2: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -286,6 +300,13 @@ static int action_line22_r2
}
}
+static int check_key_count_line22_r2(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line22_r2: not enough keys\n");
+ return 1;
+}
+
int lex_line22_r2()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -313,7 +334,7 @@ int lex_line22_r2()
keys = (YYKEYTYPE *) read_file
("reuse_conds_default_1.cgir--skeleton.c.line22_r2.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -326,7 +347,7 @@ int lex_line22_r2()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -339,19 +360,23 @@ int lex_line22_r2()
if (yych == 'c') goto yy24;
}
YYSKIP ();
- status = action_line22_r2(i, keys, input, token, &cursor, 7);
+ status = check_key_count_line22_r2(keys_count, i, 3)
+ || action_line22_r2(&i, keys, input, token, &cursor, 2);
continue;
yy20:
YYSKIP ();
- status = action_line22_r2(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line22_r2(keys_count, i, 3)
+ || action_line22_r2(&i, keys, input, token, &cursor, 254);
continue;
yy22:
YYSKIP ();
- status = action_line22_r2(i, keys, input, token, &cursor, 6);
+ status = check_key_count_line22_r2(keys_count, i, 3)
+ || action_line22_r2(&i, keys, input, token, &cursor, 1);
continue;
yy24:
YYSKIP ();
- status = action_line22_r2(i, keys, input, token, &cursor, 4);
+ status = check_key_count_line22_r2(keys_count, i, 3)
+ || action_line22_r2(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -363,7 +388,7 @@ yy24:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line22_r2: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line22_r2: unused keys left after %u keys\n", i);
}
}
@@ -389,7 +414,7 @@ end:
#define YYFILL(n) { break; }
static int action_line32_r1
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -397,10 +422,12 @@ static int action_line32_r1
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -410,17 +437,17 @@ static int action_line32_r1
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line32_r1: at position %ld (iteration %u):\n"
+ , "error: lex_line32_r1: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -430,6 +457,13 @@ static int action_line32_r1
}
}
+static int check_key_count_line32_r1(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line32_r1: not enough keys\n");
+ return 1;
+}
+
int lex_line32_r1()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -457,7 +491,7 @@ int lex_line32_r1()
keys = (YYKEYTYPE *) read_file
("reuse_conds_default_1.cgir--skeleton.c.line32_r1.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -470,7 +504,7 @@ int lex_line32_r1()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -515,27 +549,33 @@ int lex_line32_r1()
}
yy3:
YYSKIP ();
- status = action_line32_r1(i, keys, input, token, &cursor, 7);
+ status = check_key_count_line32_r1(keys_count, i, 3)
+ || action_line32_r1(&i, keys, input, token, &cursor, 4);
continue;
yy5:
YYSKIP ();
- status = action_line32_r1(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line32_r1(keys_count, i, 3)
+ || action_line32_r1(&i, keys, input, token, &cursor, 254);
continue;
yy7:
YYSKIP ();
- status = action_line32_r1(i, keys, input, token, &cursor, 5);
+ status = check_key_count_line32_r1(keys_count, i, 3)
+ || action_line32_r1(&i, keys, input, token, &cursor, 2);
continue;
yy9:
YYSKIP ();
- status = action_line32_r1(i, keys, input, token, &cursor, 6);
+ status = check_key_count_line32_r1(keys_count, i, 3)
+ || action_line32_r1(&i, keys, input, token, &cursor, 3);
continue;
yy11:
YYSKIP ();
- status = action_line32_r1(i, keys, input, token, &cursor, 2);
+ status = check_key_count_line32_r1(keys_count, i, 3)
+ || action_line32_r1(&i, keys, input, token, &cursor, 0);
continue;
yy13:
YYSKIP ();
- status = action_line32_r1(i, keys, input, token, &cursor, 3);
+ status = check_key_count_line32_r1(keys_count, i, 3)
+ || action_line32_r1(&i, keys, input, token, &cursor, 1);
continue;
}
@@ -547,7 +587,7 @@ yy13:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line32_r1: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line32_r1: unused keys left after %u keys\n", i);
}
}
@@ -573,7 +613,7 @@ end:
#define YYFILL(n) { break; }
static int action_line32_r2
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -581,10 +621,12 @@ static int action_line32_r2
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -594,17 +636,17 @@ static int action_line32_r2
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line32_r2: at position %ld (iteration %u):\n"
+ , "error: lex_line32_r2: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -614,6 +656,13 @@ static int action_line32_r2
}
}
+static int check_key_count_line32_r2(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line32_r2: not enough keys\n");
+ return 1;
+}
+
int lex_line32_r2()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -641,7 +690,7 @@ int lex_line32_r2()
keys = (YYKEYTYPE *) read_file
("reuse_conds_default_1.cgir--skeleton.c.line32_r2.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -654,7 +703,7 @@ int lex_line32_r2()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -669,15 +718,18 @@ int lex_line32_r2()
}
yy19:
YYSKIP ();
- status = action_line32_r2(i, keys, input, token, &cursor, 7);
+ status = check_key_count_line32_r2(keys_count, i, 3)
+ || action_line32_r2(&i, keys, input, token, &cursor, 2);
continue;
yy21:
YYSKIP ();
- status = action_line32_r2(i, keys, input, token, &cursor, 6);
+ status = check_key_count_line32_r2(keys_count, i, 3)
+ || action_line32_r2(&i, keys, input, token, &cursor, 1);
continue;
yy23:
YYSKIP ();
- status = action_line32_r2(i, keys, input, token, &cursor, 4);
+ status = check_key_count_line32_r2(keys_count, i, 3)
+ || action_line32_r2(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -689,7 +741,7 @@ yy23:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line32_r2: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line32_r2: unused keys left after %u keys\n", i);
}
}
@@ -724,7 +776,7 @@ int main()
return 0;
}
-1abcþ
-acþ
-2abcþ
-
+1abcþ
+acþ
+2abcþ
+
diff --git a/test/reuse_conds_default_1.cgir.c b/test/reuse_conds_default_1.cgir.c
index ee35adf2..0c988704 100644
--- a/test/reuse_conds_default_1.cgir.c
+++ b/test/reuse_conds_default_1.cgir.c
@@ -1,10 +1,6 @@
/* Generated by re2c */
-// This test currently fails with error
-// 're2c: error: line 11, column 9: code to default rule 'r1' is already defined'
-// This must be fixed later
-
-
enum YYCONDTYPE {
+ yycr1,
yycr2,
};
@@ -14,7 +10,8 @@ void scan(unsigned char* in)
{
YYCTYPE yych;
- static void *yyctable[1] = {
+ static void *yyctable[2] = {
+ &&yyc_r1,
&&yyc_r2,
};
goto *yyctable[YYGETCONDITION()];
@@ -108,7 +105,8 @@ void scan(unsigned short* in)
{
YYCTYPE yych;
- static void *yyctable[1] = {
+ static void *yyctable[2] = {
+ &&yyc_r1,
&&yyc_r2,
};
goto *yyctable[YYGETCONDITION()];
@@ -194,4 +192,4 @@ yy22:
}
}
-re2c: warning: line 32: control flow in condition 'r2' is undefined for strings that match '\xA', use default rule '*' [-Wundefined-control-flow]
+re2c: warning: line 28: control flow in condition 'r2' is undefined for strings that match '\xA', use default rule '*' [-Wundefined-control-flow]
diff --git a/test/reuse_conds_default_1.cgir.re b/test/reuse_conds_default_1.cgir.re
index 4b834c0c..7c4c4857 100644
--- a/test/reuse_conds_default_1.cgir.re
+++ b/test/reuse_conds_default_1.cgir.re
@@ -1,7 +1,3 @@
-// This test currently fails with error
-// 're2c: error: line 11, column 9: code to default rule 'r1' is already defined'
-// This must be fixed later
-
/*!types:re2c */
void scan(unsigned char* in)
diff --git a/test/reuse_conds_setup_0.cgir.c b/test/reuse_conds_setup_0.cgir.c
index 8d084737..a4e5d991 100644
--- a/test/reuse_conds_setup_0.cgir.c
+++ b/test/reuse_conds_setup_0.cgir.c
@@ -1 +1,193 @@
-re2c: error: line 13, column 9: code to setup rule 'r1' is already defined
+/* Generated by re2c */
+
+
+
+
+{
+ YYCTYPE yych;
+ static void *yyctable[2] = {
+ &&yyc_r1,
+ &&yyc_r2,
+ };
+ goto *yyctable[YYGETCONDITION()];
+/* *********************************** */
+yyc_r1:
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ {
+ static void *yytarget[256] = {
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy3, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy6, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy8, &&yy10, &&yy12, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4
+ };
+ goto *yytarget[yych];
+ }
+yy3:
+yy4:
+ ++YYCURSOR;
+ { return "SETUP - r1"; }
+ { return "."; }
+yy6:
+ ++YYCURSOR;
+ { return "SETUP - r1"; }
+ { return "1"; }
+yy8:
+ ++YYCURSOR;
+ { return "SETUP - r1"; }
+ { return "a"; }
+yy10:
+ ++YYCURSOR;
+ { return "SETUP - r1"; }
+ { return "b"; }
+yy12:
+ ++YYCURSOR;
+ { return "SETUP - r1"; }
+ { return "c"; }
+/* *********************************** */
+yyc_r2:
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= '`') {
+ if (yych != '\n') goto yy17;
+ } else {
+ if (yych <= 'a') goto yy19;
+ if (yych == 'c') goto yy21;
+ goto yy17;
+ }
+yy17:
+ ++YYCURSOR;
+ { return "."; }
+yy19:
+ ++YYCURSOR;
+ { return "a"; }
+yy21:
+ ++YYCURSOR;
+ { return "c"; }
+}
+
+
+
+{
+ YYCTYPE yych;
+ static void *yyctable[2] = {
+ &&yyc_r1,
+ &&yyc_r2,
+ };
+ goto *yyctable[YYGETCONDITION()];
+/* *********************************** */
+yyc_r1:
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ {
+ static void *yytarget[256] = {
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy3, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy6, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy8, &&yy10, &&yy12, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4
+ };
+ goto *yytarget[yych];
+ }
+yy3:
+yy4:
+ ++YYCURSOR;
+ { return "."; }
+yy6:
+ ++YYCURSOR;
+ { return "2"; }
+yy8:
+ ++YYCURSOR;
+ { return "a"; }
+yy10:
+ ++YYCURSOR;
+ { return "b"; }
+yy12:
+ ++YYCURSOR;
+ { return "c"; }
+/* *********************************** */
+yyc_r2:
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= '`') {
+ if (yych != '\n') goto yy17;
+ } else {
+ if (yych <= 'a') goto yy19;
+ if (yych == 'c') goto yy21;
+ goto yy17;
+ }
+yy17:
+ ++YYCURSOR;
+ { return "SETUP - r2"; }
+ { return "."; }
+yy19:
+ ++YYCURSOR;
+ { return "SETUP - r2"; }
+ { return "a"; }
+yy21:
+ ++YYCURSOR;
+ { return "SETUP - r2"; }
+ { return "c"; }
+}
+
+re2c: warning: line 12: control flow in condition 'r1' is undefined for strings that match '\xA', use default rule '*' [-Wundefined-control-flow]
+re2c: warning: line 12: control flow in condition 'r2' is undefined for strings that match '\xA', use default rule '*' [-Wundefined-control-flow]
+re2c: warning: line 17: control flow in condition 'r1' is undefined for strings that match '\xA', use default rule '*' [-Wundefined-control-flow]
+re2c: warning: line 17: control flow in condition 'r2' is undefined for strings that match '\xA', use default rule '*' [-Wundefined-control-flow]
+re2c: warning: line 12: looks like you use hardcoded numbers instead of autogenerated condition names: better add '/*!types:re2c*/' directive or '-t, --type-header' option and don't rely on fixed condition order. [-Wcondition-order]
+re2c: warning: line 17: looks like you use hardcoded numbers instead of autogenerated condition names: better add '/*!types:re2c*/' directive or '-t, --type-header' option and don't rely on fixed condition order. [-Wcondition-order]
diff --git a/test/reuse_conds_setup_0.cgir.re b/test/reuse_conds_setup_0.cgir.re
index a52b7e83..21be4db4 100644
--- a/test/reuse_conds_setup_0.cgir.re
+++ b/test/reuse_conds_setup_0.cgir.re
@@ -1,6 +1,3 @@
-// This test currently fails with error
-// 're2c: error: line 13, column 9: code to setup rule 'r1' is already defined'
-// This must be fixed later
/*!rules:re2c
<*> "a" { return "a"; }
@@ -14,7 +11,7 @@
<r1> "1" { return "1"; }
*/
-/* !use:re2c
+/*!use:re2c
<!r2> { return "SETUP - r2"; }
<r1> "2" { return "2"; }
*/
diff --git a/test/reuse_conds_setup_1.cgir--eager-skip.c b/test/reuse_conds_setup_1.cgir--eager-skip.c
new file mode 100644
index 00000000..efdd6434
--- /dev/null
+++ b/test/reuse_conds_setup_1.cgir--eager-skip.c
@@ -0,0 +1,195 @@
+/* Generated by re2c */
+
+enum YYCONDTYPE {
+ yycr1,
+ yycr2,
+};
+
+
+void scan(unsigned char* in)
+{
+
+{
+ YYCTYPE yych;
+ static void *yyctable[2] = {
+ &&yyc_r1,
+ &&yyc_r2,
+ };
+ goto *yyctable[YYGETCONDITION()];
+/* *********************************** */
+yyc_r1:
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= '1') {
+ if (yych == '\n') goto yy3;
+ if (yych <= '0') {
+ ++YYCURSOR;
+ goto yy4;
+ }
+ ++YYCURSOR;
+ goto yy6;
+ } else {
+ if (yych <= 'a') {
+ if (yych <= '`') {
+ ++YYCURSOR;
+ goto yy4;
+ }
+ ++YYCURSOR;
+ goto yy8;
+ } else {
+ if (yych <= 'b') {
+ ++YYCURSOR;
+ goto yy10;
+ }
+ if (yych <= 'c') {
+ ++YYCURSOR;
+ goto yy12;
+ }
+ ++YYCURSOR;
+ goto yy4;
+ }
+ }
+yy3:
+yy4:
+ { return "SETUP-r1"; }
+ { return "."; }
+yy6:
+ { return "SETUP-r1"; }
+ { return "1"; }
+yy8:
+ { return "SETUP-r1"; }
+ { return "a"; }
+yy10:
+ { return "SETUP-r1"; }
+ { return "b"; }
+yy12:
+ { return "SETUP-r1"; }
+ { return "c"; }
+/* *********************************** */
+yyc_r2:
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= '`') {
+ if (yych != '\n') {
+ ++YYCURSOR;
+ goto yy17;
+ }
+ } else {
+ if (yych <= 'a') {
+ ++YYCURSOR;
+ goto yy19;
+ }
+ if (yych == 'c') {
+ ++YYCURSOR;
+ goto yy21;
+ }
+ ++YYCURSOR;
+ goto yy17;
+ }
+yy17:
+ { return "SETUP-r2"; }
+ { return "."; }
+yy19:
+ { return "SETUP-r2"; }
+ { return "a"; }
+yy21:
+ { return "SETUP-r2"; }
+ { return "c"; }
+}
+
+
+}
+
+void scan(unsigned short* in)
+{
+
+{
+ YYCTYPE yych;
+ static void *yyctable[2] = {
+ &&yyc_r1,
+ &&yyc_r2,
+ };
+ goto *yyctable[YYGETCONDITION()];
+/* *********************************** */
+yyc_r1:
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= '2') {
+ if (yych == '\n') goto yy3;
+ if (yych <= '1') {
+ ++YYCURSOR;
+ goto yy4;
+ }
+ ++YYCURSOR;
+ goto yy6;
+ } else {
+ if (yych <= 'a') {
+ if (yych <= '`') {
+ ++YYCURSOR;
+ goto yy4;
+ }
+ ++YYCURSOR;
+ goto yy8;
+ } else {
+ if (yych <= 'b') {
+ ++YYCURSOR;
+ goto yy10;
+ }
+ if (yych <= 'c') {
+ ++YYCURSOR;
+ goto yy12;
+ }
+ ++YYCURSOR;
+ goto yy4;
+ }
+ }
+yy3:
+yy4:
+ { return "SETUP-r1"; }
+ { return "."; }
+yy6:
+ { return "SETUP-r1"; }
+ { return "2"; }
+yy8:
+ { return "SETUP-r1"; }
+ { return "a"; }
+yy10:
+ { return "SETUP-r1"; }
+ { return "b"; }
+yy12:
+ { return "SETUP-r1"; }
+ { return "c"; }
+/* *********************************** */
+yyc_r2:
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= '`') {
+ if (yych != '\n') {
+ ++YYCURSOR;
+ goto yy17;
+ }
+ } else {
+ if (yych <= 'a') {
+ ++YYCURSOR;
+ goto yy19;
+ }
+ if (yych == 'c') {
+ ++YYCURSOR;
+ goto yy21;
+ }
+ ++YYCURSOR;
+ goto yy17;
+ }
+yy17:
+ { return "."; }
+yy19:
+ { return "a"; }
+yy21:
+ { return "c"; }
+}
+
+}
+re2c: warning: line 19: control flow in condition 'r1' is undefined for strings that match '\xA', use default rule '*' [-Wundefined-control-flow]
+re2c: warning: line 19: control flow in condition 'r2' is undefined for strings that match '\xA', use default rule '*' [-Wundefined-control-flow]
+re2c: warning: line 29: control flow in condition 'r1' is undefined for strings that match '\xA', use default rule '*' [-Wundefined-control-flow]
+re2c: warning: line 29: control flow in condition 'r2' is undefined for strings that match '\xA', use default rule '*' [-Wundefined-control-flow]
diff --git a/test/reuse_conds_setup_1.cgir--eager-skip.re b/test/reuse_conds_setup_1.cgir--eager-skip.re
new file mode 100644
index 00000000..44e918dd
--- /dev/null
+++ b/test/reuse_conds_setup_1.cgir--eager-skip.re
@@ -0,0 +1,30 @@
+
+/*!types:re2c */
+
+void scan(unsigned char* in)
+{
+/*!rules:re2c
+
+<!r1> { return "SETUP-r1"; }
+<*> "a" { return "a"; }
+<*> . { return "."; }
+<r1> "b" { return "b"; }
+<r1,r2> "c" { return "c"; }
+
+*//*!use:re2c
+
+<r1> "1" { return "1"; }
+<!r2> { return "SETUP-r2"; }
+
+*/
+
+}
+
+void scan(unsigned short* in)
+{
+/*!use:re2c
+
+<r1> "2" { return "2"; }
+
+*/
+}
diff --git a/test/reuse_conds_setup_1.cgir.c b/test/reuse_conds_setup_1.cgir.c
index e927119a..645c6f9a 100644
--- a/test/reuse_conds_setup_1.cgir.c
+++ b/test/reuse_conds_setup_1.cgir.c
@@ -1 +1,207 @@
-re2c: error: line 11, column 9: code to setup rule 'r1' is already defined
+/* Generated by re2c */
+
+enum YYCONDTYPE {
+ yycr1,
+ yycr2,
+};
+
+
+void scan(unsigned char* in)
+{
+
+{
+ YYCTYPE yych;
+ static void *yyctable[2] = {
+ &&yyc_r1,
+ &&yyc_r2,
+ };
+ goto *yyctable[YYGETCONDITION()];
+/* *********************************** */
+yyc_r1:
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ {
+ static void *yytarget[256] = {
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy3, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy6, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy8, &&yy10, &&yy12, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4
+ };
+ goto *yytarget[yych];
+ }
+yy3:
+yy4:
+ ++YYCURSOR;
+ { return "SETUP-r1"; }
+ { return "."; }
+yy6:
+ ++YYCURSOR;
+ { return "SETUP-r1"; }
+ { return "1"; }
+yy8:
+ ++YYCURSOR;
+ { return "SETUP-r1"; }
+ { return "a"; }
+yy10:
+ ++YYCURSOR;
+ { return "SETUP-r1"; }
+ { return "b"; }
+yy12:
+ ++YYCURSOR;
+ { return "SETUP-r1"; }
+ { return "c"; }
+/* *********************************** */
+yyc_r2:
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= '`') {
+ if (yych != '\n') goto yy17;
+ } else {
+ if (yych <= 'a') goto yy19;
+ if (yych == 'c') goto yy21;
+ goto yy17;
+ }
+yy17:
+ ++YYCURSOR;
+ { return "SETUP-r2"; }
+ { return "."; }
+yy19:
+ ++YYCURSOR;
+ { return "SETUP-r2"; }
+ { return "a"; }
+yy21:
+ ++YYCURSOR;
+ { return "SETUP-r2"; }
+ { return "c"; }
+}
+
+
+}
+
+void scan(unsigned short* in)
+{
+
+{
+ YYCTYPE yych;
+ static void *yyctable[2] = {
+ &&yyc_r1,
+ &&yyc_r2,
+ };
+ goto *yyctable[YYGETCONDITION()];
+/* *********************************** */
+yyc_r1:
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ {
+ static void *yytarget[256] = {
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy3, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy6, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy8, &&yy10, &&yy12, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4,
+ &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4, &&yy4
+ };
+ goto *yytarget[yych];
+ }
+yy3:
+yy4:
+ ++YYCURSOR;
+ { return "SETUP-r1"; }
+ { return "."; }
+yy6:
+ ++YYCURSOR;
+ { return "SETUP-r1"; }
+ { return "2"; }
+yy8:
+ ++YYCURSOR;
+ { return "SETUP-r1"; }
+ { return "a"; }
+yy10:
+ ++YYCURSOR;
+ { return "SETUP-r1"; }
+ { return "b"; }
+yy12:
+ ++YYCURSOR;
+ { return "SETUP-r1"; }
+ { return "c"; }
+/* *********************************** */
+yyc_r2:
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= '`') {
+ if (yych != '\n') goto yy17;
+ } else {
+ if (yych <= 'a') goto yy19;
+ if (yych == 'c') goto yy21;
+ goto yy17;
+ }
+yy17:
+ ++YYCURSOR;
+ { return "."; }
+yy19:
+ ++YYCURSOR;
+ { return "a"; }
+yy21:
+ ++YYCURSOR;
+ { return "c"; }
+}
+
+}
+re2c: warning: line 19: control flow in condition 'r1' is undefined for strings that match '\xA', use default rule '*' [-Wundefined-control-flow]
+re2c: warning: line 19: control flow in condition 'r2' is undefined for strings that match '\xA', use default rule '*' [-Wundefined-control-flow]
+re2c: warning: line 29: control flow in condition 'r1' is undefined for strings that match '\xA', use default rule '*' [-Wundefined-control-flow]
+re2c: warning: line 29: control flow in condition 'r2' is undefined for strings that match '\xA', use default rule '*' [-Wundefined-control-flow]
diff --git a/test/reuse_conds_setup_1.cgir.re b/test/reuse_conds_setup_1.cgir.re
index 148a5187..44e918dd 100644
--- a/test/reuse_conds_setup_1.cgir.re
+++ b/test/reuse_conds_setup_1.cgir.re
@@ -1,6 +1,3 @@
-// This test currently fails with error
-// 're2c: error: line 11, column 9: code to setup rule 'r1' is already defined'
-// This must be fixed later
/*!types:re2c */
diff --git a/test/rexx.--empty-class(error).c b/test/rexx.--empty-class(error).c
index b83b89e9..cf69714b 100644
--- a/test/rexx.--empty-class(error).c
+++ b/test/rexx.--empty-class(error).c
@@ -1,2 +1,2 @@
re2c: warning: line 253: rule matches empty string [-Wmatch-empty-string]
-re2c: error: line 288, column 1: empty character class
+re2c: error: line 288, column 0: empty character class
diff --git a/test/rexx.--empty-class(match-empty).c b/test/rexx.--empty-class(match-empty).c
index fbf48dd6..61474f3f 100644
--- a/test/rexx.--empty-class(match-empty).c
+++ b/test/rexx.--empty-class(match-empty).c
@@ -32,8 +32,8 @@ scan:
if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
yych = *YYCURSOR;
switch (yych) {
- case 0x00: goto yy3;
- case '\n': goto yy7;
+ case 0x00: goto yy2;
+ case '\n': goto yy6;
case '!':
case '?':
case 'G':
@@ -50,17 +50,17 @@ scan:
case 'm':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '"': goto yy12;
- case '%': goto yy13;
- case '&': goto yy15;
- case '\'': goto yy17;
- case '(': goto yy18;
- case ')': goto yy20;
- case '*': goto yy22;
- case '+': goto yy24;
- case ',': goto yy26;
- case '-': goto yy28;
+ case 'z': goto yy8;
+ case '"': goto yy11;
+ case '%': goto yy12;
+ case '&': goto yy14;
+ case '\'': goto yy16;
+ case '(': goto yy17;
+ case ')': goto yy19;
+ case '*': goto yy21;
+ case '+': goto yy23;
+ case ',': goto yy25;
+ case '-': goto yy27;
case '.':
case '0':
case '1':
@@ -71,72 +71,68 @@ scan:
case '6':
case '7':
case '8':
- case '9': goto yy30;
- case '/': goto yy33;
- case ':': goto yy35;
- case ';': goto yy37;
- case '<': goto yy39;
- case '=': goto yy41;
- case '>': goto yy43;
+ case '9': goto yy29;
+ case '/': goto yy32;
+ case ':': goto yy34;
+ case ';': goto yy36;
+ case '<': goto yy38;
+ case '=': goto yy40;
+ case '>': goto yy42;
case 'A':
- case 'a': goto yy45;
+ case 'a': goto yy44;
case 'B':
- case 'b': goto yy46;
+ case 'b': goto yy45;
case 'C':
- case 'c': goto yy47;
+ case 'c': goto yy46;
case 'D':
- case 'd': goto yy48;
+ case 'd': goto yy47;
case 'E':
- case 'e': goto yy49;
+ case 'e': goto yy48;
case 'F':
- case 'f': goto yy50;
+ case 'f': goto yy49;
case 'H':
- case 'h': goto yy51;
+ case 'h': goto yy50;
case 'I':
- case 'i': goto yy52;
+ case 'i': goto yy51;
case 'L':
- case 'l': goto yy53;
+ case 'l': goto yy52;
case 'N':
- case 'n': goto yy54;
+ case 'n': goto yy53;
case 'O':
- case 'o': goto yy55;
+ case 'o': goto yy54;
case 'P':
- case 'p': goto yy56;
+ case 'p': goto yy55;
case 'Q':
- case 'q': goto yy57;
+ case 'q': goto yy56;
case 'R':
- case 'r': goto yy58;
+ case 'r': goto yy57;
case 'S':
- case 's': goto yy59;
+ case 's': goto yy58;
case 'T':
- case 't': goto yy60;
+ case 't': goto yy59;
case 'U':
- case 'u': goto yy61;
+ case 'u': goto yy60;
case 'V':
- case 'v': goto yy62;
+ case 'v': goto yy61;
case 'W':
- case 'w': goto yy63;
+ case 'w': goto yy62;
case '\\':
- case '~': goto yy64;
- case '|': goto yy66;
- default: goto yy5;
+ case '~': goto yy63;
+ case '|': goto yy65;
+ default: goto yy4;
}
yy2:
-#line 253 "rexx.--empty-class(match-empty).re"
- { RETURN(SU_SYMBOL_COMPOUND); }
-#line 128 "rexx.--empty-class(match-empty).c"
-yy3:
++YYCURSOR;
#line 262 "rexx.--empty-class(match-empty).re"
{ RETURN(SU_EOF); }
-#line 133 "rexx.--empty-class(match-empty).c"
-yy5:
+#line 129 "rexx.--empty-class(match-empty).c"
+yy4:
++YYCURSOR;
-yy6:
+yy5:
#line 264 "rexx.--empty-class(match-empty).re"
{ RETURN(SU_ERROR); }
-#line 139 "rexx.--empty-class(match-empty).c"
-yy7:
+#line 135 "rexx.--empty-class(match-empty).c"
+yy6:
++YYCURSOR;
#line 68 "rexx.--empty-class(match-empty).re"
{
@@ -144,12 +140,12 @@ yy7:
ScanCB.linePos = ScanCB.pos + (cursor - ScanCB.mrk);
RETURN(SU_EOL);
}
-#line 148 "rexx.--empty-class(match-empty).c"
-yy9:
+#line 144 "rexx.--empty-class(match-empty).c"
+yy8:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
-yy10:
+yy9:
switch (yych) {
case '!':
case '0':
@@ -215,87 +211,87 @@ yy10:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
- default: goto yy11;
+ case 'z': goto yy8;
+ case '.': goto yy67;
+ default: goto yy10;
}
-yy11:
+yy10:
#line 249 "rexx.--empty-class(match-empty).re"
{ RETURN(SU_SYMBOL); }
-#line 226 "rexx.--empty-class(match-empty).c"
-yy12:
+#line 222 "rexx.--empty-class(match-empty).c"
+yy11:
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case 0x00:
- case '\n': goto yy6;
- default: goto yy71;
+ case '\n': goto yy5;
+ default: goto yy70;
}
-yy13:
+yy12:
++YYCURSOR;
#line 84 "rexx.--empty-class(match-empty).re"
{ RETURN(OP_IDIV); }
-#line 239 "rexx.--empty-class(match-empty).c"
-yy15:
+#line 235 "rexx.--empty-class(match-empty).c"
+yy14:
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case '\t':
- case ' ': goto yy75;
- case '&': goto yy77;
- default: goto yy16;
+ case ' ': goto yy74;
+ case '&': goto yy76;
+ default: goto yy15;
}
-yy16:
+yy15:
#line 114 "rexx.--empty-class(match-empty).re"
{ RETURN(OP_AND); }
-#line 252 "rexx.--empty-class(match-empty).c"
-yy17:
+#line 248 "rexx.--empty-class(match-empty).c"
+yy16:
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case 0x00:
- case '\n': goto yy6;
- default: goto yy80;
+ case '\n': goto yy5;
+ default: goto yy79;
}
-yy18:
+yy17:
++YYCURSOR;
#line 127 "rexx.--empty-class(match-empty).re"
{ RETURN(SU_POPEN); }
-#line 265 "rexx.--empty-class(match-empty).c"
-yy20:
+#line 261 "rexx.--empty-class(match-empty).c"
+yy19:
++YYCURSOR;
#line 129 "rexx.--empty-class(match-empty).re"
{ RETURN(SU_PCLOSE); }
-#line 270 "rexx.--empty-class(match-empty).c"
-yy22:
+#line 266 "rexx.--empty-class(match-empty).c"
+yy21:
yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case '\t':
- case ' ': goto yy82;
- case '*': goto yy84;
- default: goto yy23;
+ case ' ': goto yy81;
+ case '*': goto yy83;
+ default: goto yy22;
}
-yy23:
+yy22:
#line 80 "rexx.--empty-class(match-empty).re"
{ RETURN(OP_MULT); }
-#line 283 "rexx.--empty-class(match-empty).c"
-yy24:
+#line 279 "rexx.--empty-class(match-empty).c"
+yy23:
++YYCURSOR;
#line 76 "rexx.--empty-class(match-empty).re"
{ RETURN(OP_PLUS); }
-#line 288 "rexx.--empty-class(match-empty).c"
-yy26:
+#line 284 "rexx.--empty-class(match-empty).c"
+yy25:
++YYCURSOR;
#line 125 "rexx.--empty-class(match-empty).re"
{ RETURN(SU_COMMA); }
-#line 293 "rexx.--empty-class(match-empty).c"
-yy28:
+#line 289 "rexx.--empty-class(match-empty).c"
+yy27:
++YYCURSOR;
#line 78 "rexx.--empty-class(match-empty).re"
{ RETURN(OP_MINUS); }
-#line 298 "rexx.--empty-class(match-empty).c"
-yy30:
+#line 294 "rexx.--empty-class(match-empty).c"
+yy29:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
@@ -363,39 +359,39 @@ yy30:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy30;
+ case 'z': goto yy29;
case 'E':
- case 'e': goto yy86;
- default: goto yy32;
+ case 'e': goto yy85;
+ default: goto yy31;
}
-yy32:
+yy31:
#line 247 "rexx.--empty-class(match-empty).re"
{ RETURN(SU_CONST); }
-#line 375 "rexx.--empty-class(match-empty).c"
-yy33:
+#line 371 "rexx.--empty-class(match-empty).c"
+yy32:
yyaccept = 3;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case '\t':
- case ' ': goto yy88;
- case '/': goto yy90;
- default: goto yy34;
+ case ' ': goto yy87;
+ case '/': goto yy89;
+ default: goto yy33;
}
-yy34:
+yy33:
#line 82 "rexx.--empty-class(match-empty).re"
{ RETURN(OP_DIV); }
-#line 388 "rexx.--empty-class(match-empty).c"
-yy35:
+#line 384 "rexx.--empty-class(match-empty).c"
+yy34:
++YYCURSOR;
#line 123 "rexx.--empty-class(match-empty).re"
{ RETURN(SU_COLON); }
-#line 393 "rexx.--empty-class(match-empty).c"
-yy37:
+#line 389 "rexx.--empty-class(match-empty).c"
+yy36:
++YYCURSOR;
#line 131 "rexx.--empty-class(match-empty).re"
{ RETURN(SU_EOC); }
-#line 398 "rexx.--empty-class(match-empty).c"
-yy39:
+#line 394 "rexx.--empty-class(match-empty).c"
+yy38:
yyaccept = 4;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
@@ -403,27 +399,27 @@ yy39:
case ' ':
case '<':
case '=':
- case '>': goto yy93;
- default: goto yy40;
+ case '>': goto yy92;
+ default: goto yy39;
}
-yy40:
+yy39:
#line 96 "rexx.--empty-class(match-empty).re"
{ RETURN(OP_LT); }
-#line 413 "rexx.--empty-class(match-empty).c"
-yy41:
+#line 409 "rexx.--empty-class(match-empty).c"
+yy40:
yyaccept = 5;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case '\t':
- case ' ': goto yy100;
- case '=': goto yy102;
- default: goto yy42;
+ case ' ': goto yy99;
+ case '=': goto yy101;
+ default: goto yy41;
}
-yy42:
+yy41:
#line 90 "rexx.--empty-class(match-empty).re"
{ RETURN(OP_EQUAL); }
-#line 426 "rexx.--empty-class(match-empty).c"
-yy43:
+#line 422 "rexx.--empty-class(match-empty).c"
+yy42:
yyaccept = 6;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
@@ -431,203 +427,203 @@ yy43:
case ' ':
case '<':
case '=':
- case '>': goto yy105;
- default: goto yy44;
+ case '>': goto yy104;
+ default: goto yy43;
}
-yy44:
+yy43:
#line 94 "rexx.--empty-class(match-empty).re"
{ RETURN(OP_GT); }
-#line 441 "rexx.--empty-class(match-empty).c"
-yy45:
+#line 437 "rexx.--empty-class(match-empty).c"
+yy44:
yych = *++YYCURSOR;
switch (yych) {
case 'D':
- case 'd': goto yy110;
+ case 'd': goto yy109;
case 'R':
- case 'r': goto yy111;
- default: goto yy10;
+ case 'r': goto yy110;
+ default: goto yy9;
}
-yy46:
+yy45:
yych = *++YYCURSOR;
switch (yych) {
case 'Y':
- case 'y': goto yy112;
- default: goto yy10;
+ case 'y': goto yy111;
+ default: goto yy9;
}
-yy47:
+yy46:
yych = *++YYCURSOR;
switch (yych) {
case 'A':
- case 'a': goto yy114;
- default: goto yy10;
+ case 'a': goto yy113;
+ default: goto yy9;
}
-yy48:
+yy47:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
- case 'i': goto yy115;
+ case 'i': goto yy114;
case 'O':
- case 'o': goto yy116;
+ case 'o': goto yy115;
case 'R':
- case 'r': goto yy118;
- default: goto yy10;
+ case 'r': goto yy117;
+ default: goto yy9;
}
-yy49:
+yy48:
yych = *++YYCURSOR;
switch (yych) {
case 'L':
- case 'l': goto yy119;
+ case 'l': goto yy118;
case 'N':
- case 'n': goto yy120;
+ case 'n': goto yy119;
case 'R':
- case 'r': goto yy121;
+ case 'r': goto yy120;
case 'X':
- case 'x': goto yy122;
- default: goto yy10;
+ case 'x': goto yy121;
+ default: goto yy9;
}
-yy50:
+yy49:
yych = *++YYCURSOR;
switch (yych) {
case 'A':
- case 'a': goto yy123;
+ case 'a': goto yy122;
case 'O':
- case 'o': goto yy124;
+ case 'o': goto yy123;
case 'U':
- case 'u': goto yy125;
- default: goto yy10;
+ case 'u': goto yy124;
+ default: goto yy9;
}
-yy51:
+yy50:
yych = *++YYCURSOR;
switch (yych) {
case 'A':
- case 'a': goto yy126;
- default: goto yy10;
+ case 'a': goto yy125;
+ default: goto yy9;
}
-yy52:
+yy51:
yych = *++YYCURSOR;
switch (yych) {
case 'F':
- case 'f': goto yy127;
+ case 'f': goto yy126;
case 'N':
- case 'n': goto yy129;
+ case 'n': goto yy128;
case 'T':
- case 't': goto yy130;
- default: goto yy10;
+ case 't': goto yy129;
+ default: goto yy9;
}
-yy53:
+yy52:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
- case 'e': goto yy131;
+ case 'e': goto yy130;
case 'I':
- case 'i': goto yy132;
- default: goto yy10;
+ case 'i': goto yy131;
+ default: goto yy9;
}
-yy54:
+yy53:
yych = *++YYCURSOR;
switch (yych) {
case 'A':
- case 'a': goto yy133;
+ case 'a': goto yy132;
case 'O':
- case 'o': goto yy134;
+ case 'o': goto yy133;
case 'U':
- case 'u': goto yy135;
- default: goto yy10;
+ case 'u': goto yy134;
+ default: goto yy9;
}
-yy55:
+yy54:
yych = *++YYCURSOR;
switch (yych) {
case 'F':
- case 'f': goto yy136;
+ case 'f': goto yy135;
case 'N':
- case 'n': goto yy137;
+ case 'n': goto yy136;
case 'P':
- case 'p': goto yy139;
+ case 'p': goto yy138;
case 'T':
- case 't': goto yy140;
- default: goto yy10;
+ case 't': goto yy139;
+ default: goto yy9;
}
-yy56:
+yy55:
yych = *++YYCURSOR;
switch (yych) {
case 'A':
- case 'a': goto yy141;
+ case 'a': goto yy140;
case 'R':
- case 'r': goto yy142;
+ case 'r': goto yy141;
case 'U':
- case 'u': goto yy143;
- default: goto yy10;
+ case 'u': goto yy142;
+ default: goto yy9;
}
-yy57:
+yy56:
yych = *++YYCURSOR;
switch (yych) {
case 'U':
- case 'u': goto yy144;
- default: goto yy10;
+ case 'u': goto yy143;
+ default: goto yy9;
}
-yy58:
+yy57:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
- case 'e': goto yy145;
- default: goto yy10;
+ case 'e': goto yy144;
+ default: goto yy9;
}
-yy59:
+yy58:
yych = *++YYCURSOR;
switch (yych) {
case 'A':
- case 'a': goto yy146;
+ case 'a': goto yy145;
case 'C':
- case 'c': goto yy147;
+ case 'c': goto yy146;
case 'E':
- case 'e': goto yy148;
+ case 'e': goto yy147;
case 'I':
- case 'i': goto yy149;
+ case 'i': goto yy148;
case 'O':
- case 'o': goto yy150;
+ case 'o': goto yy149;
case 'Y':
- case 'y': goto yy151;
- default: goto yy10;
+ case 'y': goto yy150;
+ default: goto yy9;
}
-yy60:
+yy59:
yych = *++YYCURSOR;
switch (yych) {
case 'H':
- case 'h': goto yy152;
+ case 'h': goto yy151;
case 'O':
- case 'o': goto yy153;
+ case 'o': goto yy152;
case 'R':
- case 'r': goto yy155;
- default: goto yy10;
+ case 'r': goto yy154;
+ default: goto yy9;
}
-yy61:
+yy60:
yych = *++YYCURSOR;
switch (yych) {
case 'N':
- case 'n': goto yy156;
+ case 'n': goto yy155;
case 'P':
- case 'p': goto yy157;
- default: goto yy10;
+ case 'p': goto yy156;
+ default: goto yy9;
}
-yy62:
+yy61:
yych = *++YYCURSOR;
switch (yych) {
case 'A':
- case 'a': goto yy158;
+ case 'a': goto yy157;
case 'E':
- case 'e': goto yy159;
- default: goto yy10;
+ case 'e': goto yy158;
+ default: goto yy9;
}
-yy63:
+yy62:
yych = *++YYCURSOR;
switch (yych) {
case 'H':
- case 'h': goto yy160;
+ case 'h': goto yy159;
case 'I':
- case 'i': goto yy161;
- default: goto yy10;
+ case 'i': goto yy160;
+ default: goto yy9;
}
-yy64:
+yy63:
yyaccept = 7;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
@@ -635,29 +631,29 @@ yy64:
case ' ':
case '<':
case '=':
- case '>': goto yy163;
- default: goto yy65;
+ case '>': goto yy162;
+ default: goto yy64;
}
-yy65:
+yy64:
#line 120 "rexx.--empty-class(match-empty).re"
{ RETURN(OP_NOT); }
-#line 645 "rexx.--empty-class(match-empty).c"
-yy66:
+#line 641 "rexx.--empty-class(match-empty).c"
+yy65:
yyaccept = 8;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case '\t':
- case ' ': goto yy167;
- case '|': goto yy169;
- default: goto yy67;
+ case ' ': goto yy166;
+ case '|': goto yy168;
+ default: goto yy66;
}
-yy67:
+yy66:
#line 116 "rexx.--empty-class(match-empty).re"
{ RETURN(OP_OR); }
-#line 658 "rexx.--empty-class(match-empty).c"
-yy68:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+#line 654 "rexx.--empty-class(match-empty).c"
+yy67:
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '.':
case '0':
@@ -723,116 +719,116 @@ yy68:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy171;
- default: goto yy69;
+ case 'z': goto yy170;
+ default: goto yy68;
}
-yy69:
+yy68:
#line 251 "rexx.--empty-class(match-empty).re"
{ RETURN(SU_SYMBOL_STEM); }
-#line 733 "rexx.--empty-class(match-empty).c"
-yy70:
+#line 729 "rexx.--empty-class(match-empty).c"
+yy69:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy71:
+yy70:
switch (yych) {
case 0x00:
- case '\n': goto yy72;
- case '"': goto yy73;
- default: goto yy70;
+ case '\n': goto yy71;
+ case '"': goto yy72;
+ default: goto yy69;
}
-yy72:
+yy71:
YYCURSOR = YYMARKER;
switch (yyaccept) {
- case 0: goto yy6;
- case 1: goto yy16;
- case 2: goto yy23;
- case 3: goto yy34;
- case 4: goto yy40;
- case 5: goto yy42;
- case 6: goto yy44;
- case 7: goto yy65;
- case 8: goto yy67;
- case 9: goto yy74;
- case 10: goto yy32;
- case 11: goto yy95;
- case 12: goto yy109;
- case 13: goto yy107;
- case 14: goto yy99;
- default: goto yy97;
+ case 0: goto yy5;
+ case 1: goto yy15;
+ case 2: goto yy22;
+ case 3: goto yy33;
+ case 4: goto yy39;
+ case 5: goto yy41;
+ case 6: goto yy43;
+ case 7: goto yy64;
+ case 8: goto yy66;
+ case 9: goto yy73;
+ case 10: goto yy31;
+ case 11: goto yy94;
+ case 12: goto yy108;
+ case 13: goto yy106;
+ case 14: goto yy98;
+ default: goto yy96;
}
-yy73:
+yy72:
yyaccept = 9;
YYMARKER = ++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
switch (yych) {
- case '"': goto yy70;
+ case '"': goto yy69;
case 'B':
case 'b': goto yy173;
case 'X':
case 'x': goto yy174;
- default: goto yy74;
+ default: goto yy73;
}
-yy74:
+yy73:
#line 255 "rexx.--empty-class(match-empty).re"
{ RETURN(SU_LITERAL); }
-#line 781 "rexx.--empty-class(match-empty).c"
-yy75:
+#line 777 "rexx.--empty-class(match-empty).c"
+yy74:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case '\t':
- case ' ': goto yy75;
- case '&': goto yy77;
- default: goto yy72;
+ case ' ': goto yy74;
+ case '&': goto yy76;
+ default: goto yy71;
}
-yy77:
+yy76:
++YYCURSOR;
#line 118 "rexx.--empty-class(match-empty).re"
{ RETURN(OP_XOR); }
-#line 796 "rexx.--empty-class(match-empty).c"
-yy79:
+#line 792 "rexx.--empty-class(match-empty).c"
+yy78:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy80:
+yy79:
switch (yych) {
case 0x00:
- case '\n': goto yy72;
- case '\'': goto yy81;
- default: goto yy79;
+ case '\n': goto yy71;
+ case '\'': goto yy80;
+ default: goto yy78;
}
-yy81:
+yy80:
yyaccept = 9;
YYMARKER = ++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
switch (yych) {
- case '\'': goto yy79;
+ case '\'': goto yy78;
case 'B':
case 'b': goto yy173;
case 'X':
case 'x': goto yy174;
- default: goto yy74;
+ default: goto yy73;
}
-yy82:
+yy81:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case '\t':
- case ' ': goto yy82;
- case '*': goto yy84;
- default: goto yy72;
+ case ' ': goto yy81;
+ case '*': goto yy83;
+ default: goto yy71;
}
-yy84:
+yy83:
++YYCURSOR;
#line 88 "rexx.--empty-class(match-empty).re"
{ RETURN(OP_POWER); }
-#line 835 "rexx.--empty-class(match-empty).c"
-yy86:
+#line 831 "rexx.--empty-class(match-empty).c"
+yy85:
yyaccept = 10;
YYMARKER = ++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
@@ -901,130 +897,130 @@ yy86:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy30;
+ case 'z': goto yy29;
case '+':
case '-': goto yy175;
case 'E':
- case 'e': goto yy86;
- default: goto yy32;
+ case 'e': goto yy85;
+ default: goto yy31;
}
-yy88:
+yy87:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case '\t':
- case ' ': goto yy88;
- case '/': goto yy90;
- default: goto yy72;
+ case ' ': goto yy87;
+ case '/': goto yy89;
+ default: goto yy71;
}
-yy90:
+yy89:
++YYCURSOR;
#line 86 "rexx.--empty-class(match-empty).re"
{ RETURN(OP_REMAIN); }
-#line 926 "rexx.--empty-class(match-empty).c"
-yy92:
+#line 922 "rexx.--empty-class(match-empty).c"
+yy91:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
-yy93:
+yy92:
switch (yych) {
case '\t':
- case ' ': goto yy92;
- case '<': goto yy94;
- case '=': goto yy96;
- case '>': goto yy98;
- default: goto yy72;
+ case ' ': goto yy91;
+ case '<': goto yy93;
+ case '=': goto yy95;
+ case '>': goto yy97;
+ default: goto yy71;
}
-yy94:
+yy93:
yyaccept = 11;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case '\t':
case ' ': goto yy176;
case '=': goto yy178;
- default: goto yy95;
+ default: goto yy94;
}
-yy95:
+yy94:
#line 108 "rexx.--empty-class(match-empty).re"
{ RETURN(OP_LT_STRICT); }
-#line 952 "rexx.--empty-class(match-empty).c"
-yy96:
+#line 948 "rexx.--empty-class(match-empty).c"
+yy95:
++YYCURSOR;
-yy97:
+yy96:
#line 100 "rexx.--empty-class(match-empty).re"
{ RETURN(OP_LE); }
-#line 958 "rexx.--empty-class(match-empty).c"
-yy98:
+#line 954 "rexx.--empty-class(match-empty).c"
+yy97:
++YYCURSOR;
-yy99:
+yy98:
#line 92 "rexx.--empty-class(match-empty).re"
{ RETURN(OP_EQUAL_N); }
-#line 964 "rexx.--empty-class(match-empty).c"
-yy100:
+#line 960 "rexx.--empty-class(match-empty).c"
+yy99:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case '\t':
- case ' ': goto yy100;
- case '=': goto yy102;
- default: goto yy72;
+ case ' ': goto yy99;
+ case '=': goto yy101;
+ default: goto yy71;
}
-yy102:
+yy101:
++YYCURSOR;
#line 102 "rexx.--empty-class(match-empty).re"
{ RETURN(OP_EQUAL_EQ); }
-#line 979 "rexx.--empty-class(match-empty).c"
-yy104:
+#line 975 "rexx.--empty-class(match-empty).c"
+yy103:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
-yy105:
+yy104:
switch (yych) {
case '\t':
- case ' ': goto yy104;
- case '<': goto yy98;
- case '=': goto yy106;
- case '>': goto yy108;
- default: goto yy72;
+ case ' ': goto yy103;
+ case '<': goto yy97;
+ case '=': goto yy105;
+ case '>': goto yy107;
+ default: goto yy71;
}
-yy106:
+yy105:
++YYCURSOR;
-yy107:
+yy106:
#line 98 "rexx.--empty-class(match-empty).re"
{ RETURN(OP_GE); }
-#line 998 "rexx.--empty-class(match-empty).c"
-yy108:
+#line 994 "rexx.--empty-class(match-empty).c"
+yy107:
yyaccept = 12;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case '\t':
case ' ': goto yy180;
case '=': goto yy182;
- default: goto yy109;
+ default: goto yy108;
}
-yy109:
+yy108:
#line 106 "rexx.--empty-class(match-empty).re"
{ RETURN(OP_GT_STRICT); }
-#line 1011 "rexx.--empty-class(match-empty).c"
-yy110:
+#line 1007 "rexx.--empty-class(match-empty).c"
+yy109:
yych = *++YYCURSOR;
switch (yych) {
case 'D':
case 'd': goto yy184;
- default: goto yy10;
+ default: goto yy9;
}
-yy111:
+yy110:
yych = *++YYCURSOR;
switch (yych) {
case 'G':
case 'g': goto yy185;
- default: goto yy10;
+ default: goto yy9;
}
-yy112:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+yy111:
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -1089,31 +1085,31 @@ yy112:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
- default: goto yy113;
+ case 'z': goto yy8;
+ case '.': goto yy67;
+ default: goto yy112;
}
-yy113:
+yy112:
#line 194 "rexx.--empty-class(match-empty).re"
{ RETURN(RXS_BY); }
-#line 1100 "rexx.--empty-class(match-empty).c"
-yy114:
+#line 1096 "rexx.--empty-class(match-empty).c"
+yy113:
yych = *++YYCURSOR;
switch (yych) {
case 'L':
case 'l': goto yy187;
- default: goto yy10;
+ default: goto yy9;
}
-yy115:
+yy114:
yych = *++YYCURSOR;
switch (yych) {
case 'G':
case 'g': goto yy188;
- default: goto yy10;
+ default: goto yy9;
}
-yy116:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+yy115:
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -1178,84 +1174,84 @@ yy116:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
- default: goto yy117;
+ case 'z': goto yy8;
+ case '.': goto yy67;
+ default: goto yy116;
}
-yy117:
+yy116:
#line 140 "rexx.--empty-class(match-empty).re"
{ RETURN(RX_DO); }
-#line 1189 "rexx.--empty-class(match-empty).c"
-yy118:
+#line 1185 "rexx.--empty-class(match-empty).c"
+yy117:
yych = *++YYCURSOR;
switch (yych) {
case 'O':
case 'o': goto yy189;
- default: goto yy10;
+ default: goto yy9;
}
-yy119:
+yy118:
yych = *++YYCURSOR;
switch (yych) {
case 'S':
case 's': goto yy190;
- default: goto yy10;
+ default: goto yy9;
}
-yy120:
+yy119:
yych = *++YYCURSOR;
switch (yych) {
case 'D':
case 'd': goto yy191;
case 'G':
case 'g': goto yy193;
- default: goto yy10;
+ default: goto yy9;
}
-yy121:
+yy120:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy194;
- default: goto yy10;
+ default: goto yy9;
}
-yy122:
+yy121:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
case 'i': goto yy195;
case 'P':
case 'p': goto yy196;
- default: goto yy10;
+ default: goto yy9;
}
-yy123:
+yy122:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
case 'i': goto yy197;
- default: goto yy10;
+ default: goto yy9;
}
-yy124:
+yy123:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy198;
- default: goto yy10;
+ default: goto yy9;
}
-yy125:
+yy124:
yych = *++YYCURSOR;
switch (yych) {
case 'Z':
case 'z': goto yy200;
- default: goto yy10;
+ default: goto yy9;
}
-yy126:
+yy125:
yych = *++YYCURSOR;
switch (yych) {
case 'L':
case 'l': goto yy201;
- default: goto yy10;
+ default: goto yy9;
}
-yy127:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+yy126:
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -1320,50 +1316,50 @@ yy127:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
- default: goto yy128;
+ case 'z': goto yy8;
+ case '.': goto yy67;
+ default: goto yy127;
}
-yy128:
+yy127:
#line 150 "rexx.--empty-class(match-empty).re"
{ RETURN(RX_IF); }
-#line 1331 "rexx.--empty-class(match-empty).c"
-yy129:
+#line 1327 "rexx.--empty-class(match-empty).c"
+yy128:
yych = *++YYCURSOR;
switch (yych) {
case 'T':
case 't': goto yy202;
- default: goto yy10;
+ default: goto yy9;
}
-yy130:
+yy129:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy203;
- default: goto yy10;
+ default: goto yy9;
}
-yy131:
+yy130:
yych = *++YYCURSOR;
switch (yych) {
case 'A':
case 'a': goto yy204;
- default: goto yy10;
+ default: goto yy9;
}
-yy132:
+yy131:
yych = *++YYCURSOR;
switch (yych) {
case 'N':
case 'n': goto yy205;
- default: goto yy10;
+ default: goto yy9;
}
-yy133:
+yy132:
yych = *++YYCURSOR;
switch (yych) {
case 'M':
case 'm': goto yy206;
- default: goto yy10;
+ default: goto yy9;
}
-yy134:
+yy133:
yych = *++YYCURSOR;
switch (yych) {
case 'P':
@@ -1372,25 +1368,25 @@ yy134:
case 't': goto yy209;
case 'V':
case 'v': goto yy210;
- default: goto yy10;
+ default: goto yy9;
}
-yy135:
+yy134:
yych = *++YYCURSOR;
switch (yych) {
case 'M':
case 'm': goto yy211;
- default: goto yy10;
+ default: goto yy9;
}
-yy136:
+yy135:
yych = *++YYCURSOR;
switch (yych) {
case 'F':
case 'f': goto yy212;
- default: goto yy10;
+ default: goto yy9;
}
-yy137:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+yy136:
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -1455,117 +1451,117 @@ yy137:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
- default: goto yy138;
+ case 'z': goto yy8;
+ case '.': goto yy67;
+ default: goto yy137;
}
-yy138:
+yy137:
#line 192 "rexx.--empty-class(match-empty).re"
{ RETURN(RXS_ON); }
-#line 1466 "rexx.--empty-class(match-empty).c"
-yy139:
+#line 1462 "rexx.--empty-class(match-empty).c"
+yy138:
yych = *++YYCURSOR;
switch (yych) {
case 'T':
case 't': goto yy214;
- default: goto yy10;
+ default: goto yy9;
}
-yy140:
+yy139:
yych = *++YYCURSOR;
switch (yych) {
case 'H':
case 'h': goto yy215;
- default: goto yy10;
+ default: goto yy9;
}
-yy141:
+yy140:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy216;
- default: goto yy10;
+ default: goto yy9;
}
-yy142:
+yy141:
yych = *++YYCURSOR;
switch (yych) {
case 'O':
case 'o': goto yy217;
- default: goto yy10;
+ default: goto yy9;
}
-yy143:
+yy142:
yych = *++YYCURSOR;
switch (yych) {
case 'L':
case 'l': goto yy218;
case 'S':
case 's': goto yy219;
- default: goto yy10;
+ default: goto yy9;
}
-yy144:
+yy143:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy220;
- default: goto yy10;
+ default: goto yy9;
}
-yy145:
+yy144:
yych = *++YYCURSOR;
switch (yych) {
case 'T':
case 't': goto yy221;
- default: goto yy10;
+ default: goto yy9;
}
-yy146:
+yy145:
yych = *++YYCURSOR;
switch (yych) {
case 'Y':
case 'y': goto yy222;
- default: goto yy10;
+ default: goto yy9;
}
-yy147:
+yy146:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
case 'i': goto yy224;
- default: goto yy10;
+ default: goto yy9;
}
-yy148:
+yy147:
yych = *++YYCURSOR;
switch (yych) {
case 'L':
case 'l': goto yy225;
- default: goto yy10;
+ default: goto yy9;
}
-yy149:
+yy148:
yych = *++YYCURSOR;
switch (yych) {
case 'G':
case 'g': goto yy226;
- default: goto yy10;
+ default: goto yy9;
}
-yy150:
+yy149:
yych = *++YYCURSOR;
switch (yych) {
case 'U':
case 'u': goto yy227;
- default: goto yy10;
+ default: goto yy9;
}
-yy151:
+yy150:
yych = *++YYCURSOR;
switch (yych) {
case 'N':
case 'n': goto yy228;
- default: goto yy10;
+ default: goto yy9;
}
-yy152:
+yy151:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy229;
- default: goto yy10;
+ default: goto yy9;
}
-yy153:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+yy152:
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -1630,123 +1626,123 @@ yy153:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
- default: goto yy154;
+ case 'z': goto yy8;
+ case '.': goto yy67;
+ default: goto yy153;
}
-yy154:
+yy153:
#line 230 "rexx.--empty-class(match-empty).re"
{ RETURN(RXS_TO); }
-#line 1641 "rexx.--empty-class(match-empty).c"
-yy155:
+#line 1637 "rexx.--empty-class(match-empty).c"
+yy154:
yych = *++YYCURSOR;
switch (yych) {
case 'A':
case 'a': goto yy230;
- default: goto yy10;
+ default: goto yy9;
}
-yy156:
+yy155:
yych = *++YYCURSOR;
switch (yych) {
case 'T':
case 't': goto yy231;
- default: goto yy10;
+ default: goto yy9;
}
-yy157:
+yy156:
yych = *++YYCURSOR;
switch (yych) {
case 'P':
case 'p': goto yy232;
- default: goto yy10;
+ default: goto yy9;
}
-yy158:
+yy157:
yych = *++YYCURSOR;
switch (yych) {
case 'L':
case 'l': goto yy233;
case 'R':
case 'r': goto yy234;
- default: goto yy10;
+ default: goto yy9;
}
-yy159:
+yy158:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy236;
- default: goto yy10;
+ default: goto yy9;
}
-yy160:
+yy159:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy237;
case 'I':
case 'i': goto yy238;
- default: goto yy10;
+ default: goto yy9;
}
-yy161:
+yy160:
yych = *++YYCURSOR;
switch (yych) {
case 'T':
case 't': goto yy239;
- default: goto yy10;
+ default: goto yy9;
}
-yy162:
+yy161:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
-yy163:
+yy162:
switch (yych) {
case '\t':
- case ' ': goto yy162;
- case '<': goto yy164;
- case '=': goto yy165;
- case '>': goto yy166;
- default: goto yy72;
+ case ' ': goto yy161;
+ case '<': goto yy163;
+ case '=': goto yy164;
+ case '>': goto yy165;
+ default: goto yy71;
}
-yy164:
+yy163:
yyaccept = 13;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case '\t':
case ' ': goto yy240;
case '<': goto yy182;
- default: goto yy107;
+ default: goto yy106;
}
-yy165:
+yy164:
yyaccept = 14;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case '\t':
case ' ': goto yy242;
case '=': goto yy244;
- default: goto yy99;
+ default: goto yy98;
}
-yy166:
+yy165:
yyaccept = 15;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case '\t':
case ' ': goto yy246;
case '>': goto yy178;
- default: goto yy97;
+ default: goto yy96;
}
-yy167:
+yy166:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case '\t':
- case ' ': goto yy167;
- case '|': goto yy169;
- default: goto yy72;
+ case ' ': goto yy166;
+ case '|': goto yy168;
+ default: goto yy71;
}
-yy169:
+yy168:
++YYCURSOR;
#line 74 "rexx.--empty-class(match-empty).re"
{ RETURN(OP_CONCAT); }
-#line 1749 "rexx.--empty-class(match-empty).c"
-yy171:
+#line 1745 "rexx.--empty-class(match-empty).c"
+yy170:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
@@ -1816,12 +1812,15 @@ yy171:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy171;
- default: goto yy2;
+ case 'z': goto yy170;
+ default: goto yy172;
}
+yy172:
+#line 253 "rexx.--empty-class(match-empty).re"
+ { RETURN(SU_SYMBOL_COMPOUND); }
+#line 1822 "rexx.--empty-class(match-empty).c"
yy173:
yych = *++YYCURSOR;
- YYCTXMARKER = YYCURSOR;
switch (yych) {
case '!':
case '.':
@@ -1888,12 +1887,11 @@ yy173:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy72;
+ case 'z': goto yy71;
default: goto yy248;
}
yy174:
yych = *++YYCURSOR;
- YYCTXMARKER = YYCURSOR;
switch (yych) {
case '!':
case '.':
@@ -1960,7 +1958,7 @@ yy174:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy72;
+ case 'z': goto yy71;
default: goto yy250;
}
yy175:
@@ -1976,7 +1974,7 @@ yy175:
case '7':
case '8':
case '9': goto yy252;
- default: goto yy72;
+ default: goto yy71;
}
yy176:
++YYCURSOR;
@@ -1986,13 +1984,13 @@ yy176:
case '\t':
case ' ': goto yy176;
case '=': goto yy178;
- default: goto yy72;
+ default: goto yy71;
}
yy178:
++YYCURSOR;
#line 112 "rexx.--empty-class(match-empty).re"
{ RETURN(OP_LE_STRICT); }
-#line 1996 "rexx.--empty-class(match-empty).c"
+#line 1994 "rexx.--empty-class(match-empty).c"
yy180:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -2001,23 +1999,23 @@ yy180:
case '\t':
case ' ': goto yy180;
case '=': goto yy182;
- default: goto yy72;
+ default: goto yy71;
}
yy182:
++YYCURSOR;
#line 110 "rexx.--empty-class(match-empty).re"
{ RETURN(OP_GE_STRICT); }
-#line 2011 "rexx.--empty-class(match-empty).c"
+#line 2009 "rexx.--empty-class(match-empty).c"
yy184:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy254;
- default: goto yy10;
+ default: goto yy9;
}
yy185:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -2082,45 +2080,45 @@ yy185:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy186;
}
yy186:
#line 136 "rexx.--empty-class(match-empty).re"
{ RETURN(RX_ARG); }
-#line 2093 "rexx.--empty-class(match-empty).c"
+#line 2091 "rexx.--empty-class(match-empty).c"
yy187:
yych = *++YYCURSOR;
switch (yych) {
case 'L':
case 'l': goto yy255;
- default: goto yy10;
+ default: goto yy9;
}
yy188:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
case 'i': goto yy257;
- default: goto yy10;
+ default: goto yy9;
}
yy189:
yych = *++YYCURSOR;
switch (yych) {
case 'P':
case 'p': goto yy258;
- default: goto yy10;
+ default: goto yy9;
}
yy190:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy260;
- default: goto yy10;
+ default: goto yy9;
}
yy191:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -2185,52 +2183,52 @@ yy191:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy192;
}
yy192:
#line 146 "rexx.--empty-class(match-empty).re"
{ RETURN(RX_END); }
-#line 2196 "rexx.--empty-class(match-empty).c"
+#line 2194 "rexx.--empty-class(match-empty).c"
yy193:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
case 'i': goto yy262;
- default: goto yy10;
+ default: goto yy9;
}
yy194:
yych = *++YYCURSOR;
switch (yych) {
case 'O':
case 'o': goto yy263;
- default: goto yy10;
+ default: goto yy9;
}
yy195:
yych = *++YYCURSOR;
switch (yych) {
case 'T':
case 't': goto yy264;
- default: goto yy10;
+ default: goto yy9;
}
yy196:
yych = *++YYCURSOR;
switch (yych) {
case 'O':
case 'o': goto yy266;
- default: goto yy10;
+ default: goto yy9;
}
yy197:
yych = *++YYCURSOR;
switch (yych) {
case 'L':
case 'l': goto yy267;
- default: goto yy10;
+ default: goto yy9;
}
yy198:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -2291,8 +2289,8 @@ yy198:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
case 'E':
case 'e': goto yy268;
case 'M':
@@ -2302,59 +2300,59 @@ yy198:
yy199:
#line 206 "rexx.--empty-class(match-empty).re"
{ RETURN(RXS_FOR); }
-#line 2306 "rexx.--empty-class(match-empty).c"
+#line 2304 "rexx.--empty-class(match-empty).c"
yy200:
yych = *++YYCURSOR;
switch (yych) {
case 'Z':
case 'z': goto yy271;
- default: goto yy10;
+ default: goto yy9;
}
yy201:
yych = *++YYCURSOR;
switch (yych) {
case 'T':
case 't': goto yy273;
- default: goto yy10;
+ default: goto yy9;
}
yy202:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy275;
- default: goto yy10;
+ default: goto yy9;
}
yy203:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy276;
- default: goto yy10;
+ default: goto yy9;
}
yy204:
yych = *++YYCURSOR;
switch (yych) {
case 'V':
case 'v': goto yy277;
- default: goto yy10;
+ default: goto yy9;
}
yy205:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy278;
- default: goto yy10;
+ default: goto yy9;
}
yy206:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy279;
- default: goto yy10;
+ default: goto yy9;
}
yy207:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -2419,38 +2417,38 @@ yy207:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy208;
}
yy208:
#line 158 "rexx.--empty-class(match-empty).re"
{ RETURN(RX_NOP); }
-#line 2430 "rexx.--empty-class(match-empty).c"
+#line 2428 "rexx.--empty-class(match-empty).c"
yy209:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy281;
- default: goto yy10;
+ default: goto yy9;
}
yy210:
yych = *++YYCURSOR;
switch (yych) {
case 'A':
case 'a': goto yy282;
- default: goto yy10;
+ default: goto yy9;
}
yy211:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy283;
- default: goto yy10;
+ default: goto yy9;
}
yy212:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -2515,73 +2513,73 @@ yy212:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy213;
}
yy213:
#line 190 "rexx.--empty-class(match-empty).re"
{ RETURN(RXS_OFF); }
-#line 2526 "rexx.--empty-class(match-empty).c"
+#line 2524 "rexx.--empty-class(match-empty).c"
yy214:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
case 'i': goto yy284;
- default: goto yy10;
+ default: goto yy9;
}
yy215:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy285;
- default: goto yy10;
+ default: goto yy9;
}
yy216:
yych = *++YYCURSOR;
switch (yych) {
case 'S':
case 's': goto yy286;
- default: goto yy10;
+ default: goto yy9;
}
yy217:
yych = *++YYCURSOR;
switch (yych) {
case 'C':
case 'c': goto yy287;
- default: goto yy10;
+ default: goto yy9;
}
yy218:
yych = *++YYCURSOR;
switch (yych) {
case 'L':
case 'l': goto yy288;
- default: goto yy10;
+ default: goto yy9;
}
yy219:
yych = *++YYCURSOR;
switch (yych) {
case 'H':
case 'h': goto yy290;
- default: goto yy10;
+ default: goto yy9;
}
yy220:
yych = *++YYCURSOR;
switch (yych) {
case 'U':
case 'u': goto yy292;
- default: goto yy10;
+ default: goto yy9;
}
yy221:
yych = *++YYCURSOR;
switch (yych) {
case 'U':
case 'u': goto yy293;
- default: goto yy10;
+ default: goto yy9;
}
yy222:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -2646,87 +2644,87 @@ yy222:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy223;
}
yy223:
#line 178 "rexx.--empty-class(match-empty).re"
{ RETURN(RX_SAY); }
-#line 2657 "rexx.--empty-class(match-empty).c"
+#line 2655 "rexx.--empty-class(match-empty).c"
yy224:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy294;
- default: goto yy10;
+ default: goto yy9;
}
yy225:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy295;
- default: goto yy10;
+ default: goto yy9;
}
yy226:
yych = *++YYCURSOR;
switch (yych) {
case 'N':
case 'n': goto yy296;
- default: goto yy10;
+ default: goto yy9;
}
yy227:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy297;
- default: goto yy10;
+ default: goto yy9;
}
yy228:
yych = *++YYCURSOR;
switch (yych) {
case 'T':
case 't': goto yy298;
- default: goto yy10;
+ default: goto yy9;
}
yy229:
yych = *++YYCURSOR;
switch (yych) {
case 'N':
case 'n': goto yy299;
- default: goto yy10;
+ default: goto yy9;
}
yy230:
yych = *++YYCURSOR;
switch (yych) {
case 'C':
case 'c': goto yy301;
- default: goto yy10;
+ default: goto yy9;
}
yy231:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
case 'i': goto yy302;
- default: goto yy10;
+ default: goto yy9;
}
yy232:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy303;
- default: goto yy10;
+ default: goto yy9;
}
yy233:
yych = *++YYCURSOR;
switch (yych) {
case 'U':
case 'u': goto yy304;
- default: goto yy10;
+ default: goto yy9;
}
yy234:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -2791,41 +2789,41 @@ yy234:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy235;
}
yy235:
#line 238 "rexx.--empty-class(match-empty).re"
{ RETURN(RXS_VAR); }
-#line 2802 "rexx.--empty-class(match-empty).c"
+#line 2800 "rexx.--empty-class(match-empty).c"
yy236:
yych = *++YYCURSOR;
switch (yych) {
case 'S':
case 's': goto yy305;
- default: goto yy10;
+ default: goto yy9;
}
yy237:
yych = *++YYCURSOR;
switch (yych) {
case 'N':
case 'n': goto yy306;
- default: goto yy10;
+ default: goto yy9;
}
yy238:
yych = *++YYCURSOR;
switch (yych) {
case 'L':
case 'l': goto yy308;
- default: goto yy10;
+ default: goto yy9;
}
yy239:
yych = *++YYCURSOR;
switch (yych) {
case 'H':
case 'h': goto yy309;
- default: goto yy10;
+ default: goto yy9;
}
yy240:
++YYCURSOR;
@@ -2835,7 +2833,7 @@ yy240:
case '\t':
case ' ': goto yy240;
case '<': goto yy182;
- default: goto yy72;
+ default: goto yy71;
}
yy242:
++YYCURSOR;
@@ -2845,13 +2843,13 @@ yy242:
case '\t':
case ' ': goto yy242;
case '=': goto yy244;
- default: goto yy72;
+ default: goto yy71;
}
yy244:
++YYCURSOR;
#line 104 "rexx.--empty-class(match-empty).re"
{ RETURN(OP_EQUAL_EQ_N); }
-#line 2855 "rexx.--empty-class(match-empty).c"
+#line 2853 "rexx.--empty-class(match-empty).c"
yy246:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -2860,20 +2858,20 @@ yy246:
case '\t':
case ' ': goto yy246;
case '>': goto yy178;
- default: goto yy72;
+ default: goto yy71;
}
yy248:
++YYCURSOR;
- YYCURSOR = YYCTXMARKER;
+ YYCURSOR -= 1;
#line 257 "rexx.--empty-class(match-empty).re"
{ RETURN(SU_LITERAL_BIN); }
-#line 2871 "rexx.--empty-class(match-empty).c"
+#line 2869 "rexx.--empty-class(match-empty).c"
yy250:
++YYCURSOR;
- YYCURSOR = YYCTXMARKER;
+ YYCURSOR -= 1;
#line 259 "rexx.--empty-class(match-empty).re"
{ RETURN(SU_LITERAL_HEX); }
-#line 2877 "rexx.--empty-class(match-empty).c"
+#line 2875 "rexx.--empty-class(match-empty).c"
yy252:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -2889,18 +2887,18 @@ yy252:
case '7':
case '8':
case '9': goto yy252;
- default: goto yy32;
+ default: goto yy31;
}
yy254:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy311;
- default: goto yy10;
+ default: goto yy9;
}
yy255:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -2965,24 +2963,24 @@ yy255:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy256;
}
yy256:
#line 138 "rexx.--empty-class(match-empty).re"
{ RETURN(RX_CALL); }
-#line 2976 "rexx.--empty-class(match-empty).c"
+#line 2974 "rexx.--empty-class(match-empty).c"
yy257:
yych = *++YYCURSOR;
switch (yych) {
case 'T':
case 't': goto yy312;
- default: goto yy10;
+ default: goto yy9;
}
yy258:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3047,17 +3045,17 @@ yy258:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy259;
}
yy259:
#line 142 "rexx.--empty-class(match-empty).re"
{ RETURN(RX_DROP); }
-#line 3058 "rexx.--empty-class(match-empty).c"
+#line 3056 "rexx.--empty-class(match-empty).c"
yy260:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3122,31 +3120,31 @@ yy260:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy261;
}
yy261:
#line 144 "rexx.--empty-class(match-empty).re"
{ RETURN(RX_ELSE); }
-#line 3133 "rexx.--empty-class(match-empty).c"
+#line 3131 "rexx.--empty-class(match-empty).c"
yy262:
yych = *++YYCURSOR;
switch (yych) {
case 'N':
case 'n': goto yy313;
- default: goto yy10;
+ default: goto yy9;
}
yy263:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy314;
- default: goto yy10;
+ default: goto yy9;
}
yy264:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3211,38 +3209,38 @@ yy264:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy265;
}
yy265:
#line 148 "rexx.--empty-class(match-empty).re"
{ RETURN(RX_EXIT); }
-#line 3222 "rexx.--empty-class(match-empty).c"
+#line 3220 "rexx.--empty-class(match-empty).c"
yy266:
yych = *++YYCURSOR;
switch (yych) {
case 'S':
case 's': goto yy316;
- default: goto yy10;
+ default: goto yy9;
}
yy267:
yych = *++YYCURSOR;
switch (yych) {
case 'U':
case 'u': goto yy317;
- default: goto yy10;
+ default: goto yy9;
}
yy268:
yych = *++YYCURSOR;
switch (yych) {
case 'V':
case 'v': goto yy318;
- default: goto yy10;
+ default: goto yy9;
}
yy269:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3307,17 +3305,17 @@ yy269:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy270;
}
yy270:
#line 210 "rexx.--empty-class(match-empty).re"
{ RETURN(RXS_FORM); }
-#line 3318 "rexx.--empty-class(match-empty).c"
+#line 3316 "rexx.--empty-class(match-empty).c"
yy271:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3382,17 +3380,17 @@ yy271:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy272;
}
yy272:
#line 212 "rexx.--empty-class(match-empty).re"
{ RETURN(RXS_FUZZ); }
-#line 3393 "rexx.--empty-class(match-empty).c"
+#line 3391 "rexx.--empty-class(match-empty).c"
yy273:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3457,45 +3455,45 @@ yy273:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy274;
}
yy274:
#line 214 "rexx.--empty-class(match-empty).re"
{ RETURN(RXS_HALT); }
-#line 3468 "rexx.--empty-class(match-empty).c"
+#line 3466 "rexx.--empty-class(match-empty).c"
yy275:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy319;
- default: goto yy10;
+ default: goto yy9;
}
yy276:
yych = *++YYCURSOR;
switch (yych) {
case 'A':
case 'a': goto yy320;
- default: goto yy10;
+ default: goto yy9;
}
yy277:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy321;
- default: goto yy10;
+ default: goto yy9;
}
yy278:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
case 'i': goto yy323;
- default: goto yy10;
+ default: goto yy9;
}
yy279:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3560,66 +3558,66 @@ yy279:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy280;
}
yy280:
#line 218 "rexx.--empty-class(match-empty).re"
{ RETURN(RXS_NAME); }
-#line 3571 "rexx.--empty-class(match-empty).c"
+#line 3569 "rexx.--empty-class(match-empty).c"
yy281:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy324;
- default: goto yy10;
+ default: goto yy9;
}
yy282:
yych = *++YYCURSOR;
switch (yych) {
case 'L':
case 'l': goto yy325;
- default: goto yy10;
+ default: goto yy9;
}
yy283:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy326;
- default: goto yy10;
+ default: goto yy9;
}
yy284:
yych = *++YYCURSOR;
switch (yych) {
case 'O':
case 'o': goto yy327;
- default: goto yy10;
+ default: goto yy9;
}
yy285:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy328;
- default: goto yy10;
+ default: goto yy9;
}
yy286:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy329;
- default: goto yy10;
+ default: goto yy9;
}
yy287:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy331;
- default: goto yy10;
+ default: goto yy9;
}
yy288:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3684,17 +3682,17 @@ yy288:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy289;
}
yy289:
#line 170 "rexx.--empty-class(match-empty).re"
{ RETURN(RX_PULL); }
-#line 3695 "rexx.--empty-class(match-empty).c"
+#line 3693 "rexx.--empty-class(match-empty).c"
yy290:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3759,66 +3757,66 @@ yy290:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy291;
}
yy291:
#line 172 "rexx.--empty-class(match-empty).re"
{ RETURN(RX_PUSH); }
-#line 3770 "rexx.--empty-class(match-empty).c"
+#line 3768 "rexx.--empty-class(match-empty).c"
yy292:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy332;
- default: goto yy10;
+ default: goto yy9;
}
yy293:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy334;
- default: goto yy10;
+ default: goto yy9;
}
yy294:
yych = *++YYCURSOR;
switch (yych) {
case 'N':
case 'n': goto yy335;
- default: goto yy10;
+ default: goto yy9;
}
yy295:
yych = *++YYCURSOR;
switch (yych) {
case 'C':
case 'c': goto yy336;
- default: goto yy10;
+ default: goto yy9;
}
yy296:
yych = *++YYCURSOR;
switch (yych) {
case 'A':
case 'a': goto yy337;
- default: goto yy10;
+ default: goto yy9;
}
yy297:
yych = *++YYCURSOR;
switch (yych) {
case 'C':
case 'c': goto yy338;
- default: goto yy10;
+ default: goto yy9;
}
yy298:
yych = *++YYCURSOR;
switch (yych) {
case 'A':
case 'a': goto yy339;
- default: goto yy10;
+ default: goto yy9;
}
yy299:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3883,52 +3881,52 @@ yy299:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy300;
}
yy300:
#line 184 "rexx.--empty-class(match-empty).re"
{ RETURN(RX_THEN); }
-#line 3894 "rexx.--empty-class(match-empty).c"
+#line 3892 "rexx.--empty-class(match-empty).c"
yy301:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy340;
- default: goto yy10;
+ default: goto yy9;
}
yy302:
yych = *++YYCURSOR;
switch (yych) {
case 'L':
case 'l': goto yy342;
- default: goto yy10;
+ default: goto yy9;
}
yy303:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy344;
- default: goto yy10;
+ default: goto yy9;
}
yy304:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy346;
- default: goto yy10;
+ default: goto yy9;
}
yy305:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
case 'i': goto yy348;
- default: goto yy10;
+ default: goto yy9;
}
yy306:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3993,24 +3991,24 @@ yy306:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy307;
}
yy307:
#line 188 "rexx.--empty-class(match-empty).re"
{ RETURN(RX_WHEN); }
-#line 4004 "rexx.--empty-class(match-empty).c"
+#line 4002 "rexx.--empty-class(match-empty).c"
yy308:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy349;
- default: goto yy10;
+ default: goto yy9;
}
yy309:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4075,38 +4073,38 @@ yy309:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy310;
}
yy310:
#line 244 "rexx.--empty-class(match-empty).re"
{ RETURN(RXS_WITH); }
-#line 4086 "rexx.--empty-class(match-empty).c"
+#line 4084 "rexx.--empty-class(match-empty).c"
yy311:
yych = *++YYCURSOR;
switch (yych) {
case 'S':
case 's': goto yy351;
- default: goto yy10;
+ default: goto yy9;
}
yy312:
yych = *++YYCURSOR;
switch (yych) {
case 'S':
case 's': goto yy352;
- default: goto yy10;
+ default: goto yy9;
}
yy313:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy354;
- default: goto yy10;
+ default: goto yy9;
}
yy314:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4171,52 +4169,52 @@ yy314:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy315;
}
yy315:
#line 200 "rexx.--empty-class(match-empty).re"
{ RETURN(RXS_ERROR); }
-#line 4182 "rexx.--empty-class(match-empty).c"
+#line 4180 "rexx.--empty-class(match-empty).c"
yy316:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy355;
- default: goto yy10;
+ default: goto yy9;
}
yy317:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy357;
- default: goto yy10;
+ default: goto yy9;
}
yy318:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy358;
- default: goto yy10;
+ default: goto yy9;
}
yy319:
yych = *++YYCURSOR;
switch (yych) {
case 'P':
case 'p': goto yy359;
- default: goto yy10;
+ default: goto yy9;
}
yy320:
yych = *++YYCURSOR;
switch (yych) {
case 'T':
case 't': goto yy360;
- default: goto yy10;
+ default: goto yy9;
}
yy321:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4281,59 +4279,59 @@ yy321:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy322;
}
yy322:
#line 156 "rexx.--empty-class(match-empty).re"
{ RETURN(RX_LEAVE); }
-#line 4292 "rexx.--empty-class(match-empty).c"
+#line 4290 "rexx.--empty-class(match-empty).c"
yy323:
yych = *++YYCURSOR;
switch (yych) {
case 'N':
case 'n': goto yy361;
- default: goto yy10;
+ default: goto yy9;
}
yy324:
yych = *++YYCURSOR;
switch (yych) {
case 'A':
case 'a': goto yy363;
- default: goto yy10;
+ default: goto yy9;
}
yy325:
yych = *++YYCURSOR;
switch (yych) {
case 'U':
case 'u': goto yy364;
- default: goto yy10;
+ default: goto yy9;
}
yy326:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
case 'i': goto yy365;
- default: goto yy10;
+ default: goto yy9;
}
yy327:
yych = *++YYCURSOR;
switch (yych) {
case 'N':
case 'n': goto yy366;
- default: goto yy10;
+ default: goto yy9;
}
yy328:
yych = *++YYCURSOR;
switch (yych) {
case 'W':
case 'w': goto yy367;
- default: goto yy10;
+ default: goto yy9;
}
yy329:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4398,24 +4396,24 @@ yy329:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy330;
}
yy330:
#line 166 "rexx.--empty-class(match-empty).re"
{ RETURN(RX_PARSE); }
-#line 4409 "rexx.--empty-class(match-empty).c"
+#line 4407 "rexx.--empty-class(match-empty).c"
yy331:
yych = *++YYCURSOR;
switch (yych) {
case 'D':
case 'd': goto yy368;
- default: goto yy10;
+ default: goto yy9;
}
yy332:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4480,59 +4478,59 @@ yy332:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy333;
}
yy333:
#line 174 "rexx.--empty-class(match-empty).re"
{ RETURN(RX_QUEUE); }
-#line 4491 "rexx.--empty-class(match-empty).c"
+#line 4489 "rexx.--empty-class(match-empty).c"
yy334:
yych = *++YYCURSOR;
switch (yych) {
case 'N':
case 'n': goto yy369;
- default: goto yy10;
+ default: goto yy9;
}
yy335:
yych = *++YYCURSOR;
switch (yych) {
case 'T':
case 't': goto yy371;
- default: goto yy10;
+ default: goto yy9;
}
yy336:
yych = *++YYCURSOR;
switch (yych) {
case 'T':
case 't': goto yy372;
- default: goto yy10;
+ default: goto yy9;
}
yy337:
yych = *++YYCURSOR;
switch (yych) {
case 'L':
case 'l': goto yy374;
- default: goto yy10;
+ default: goto yy9;
}
yy338:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy376;
- default: goto yy10;
+ default: goto yy9;
}
yy339:
yych = *++YYCURSOR;
switch (yych) {
case 'X':
case 'x': goto yy378;
- default: goto yy10;
+ default: goto yy9;
}
yy340:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4597,17 +4595,17 @@ yy340:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy341;
}
yy341:
#line 186 "rexx.--empty-class(match-empty).re"
{ RETURN(RX_TRACE); }
-#line 4608 "rexx.--empty-class(match-empty).c"
+#line 4606 "rexx.--empty-class(match-empty).c"
yy342:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4672,17 +4670,17 @@ yy342:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy343;
}
yy343:
#line 232 "rexx.--empty-class(match-empty).re"
{ RETURN(RXS_UNTIL); }
-#line 4683 "rexx.--empty-class(match-empty).c"
+#line 4681 "rexx.--empty-class(match-empty).c"
yy344:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4747,17 +4745,17 @@ yy344:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy345;
}
yy345:
#line 234 "rexx.--empty-class(match-empty).re"
{ RETURN(RXS_UPPER); }
-#line 4758 "rexx.--empty-class(match-empty).c"
+#line 4756 "rexx.--empty-class(match-empty).c"
yy346:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4822,24 +4820,24 @@ yy346:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy347;
}
yy347:
#line 236 "rexx.--empty-class(match-empty).re"
{ RETURN(RXS_VALUE); }
-#line 4833 "rexx.--empty-class(match-empty).c"
+#line 4831 "rexx.--empty-class(match-empty).c"
yy348:
yych = *++YYCURSOR;
switch (yych) {
case 'O':
case 'o': goto yy380;
- default: goto yy10;
+ default: goto yy9;
}
yy349:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4904,24 +4902,24 @@ yy349:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy350;
}
yy350:
#line 242 "rexx.--empty-class(match-empty).re"
{ RETURN(RXS_WHILE); }
-#line 4915 "rexx.--empty-class(match-empty).c"
+#line 4913 "rexx.--empty-class(match-empty).c"
yy351:
yych = *++YYCURSOR;
switch (yych) {
case 'S':
case 's': goto yy381;
- default: goto yy10;
+ default: goto yy9;
}
yy352:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4986,24 +4984,24 @@ yy352:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy353;
}
yy353:
#line 196 "rexx.--empty-class(match-empty).re"
{ RETURN(RXS_DIGITS); }
-#line 4997 "rexx.--empty-class(match-empty).c"
+#line 4995 "rexx.--empty-class(match-empty).c"
yy354:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy383;
- default: goto yy10;
+ default: goto yy9;
}
yy355:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5068,45 +5066,45 @@ yy355:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy356;
}
yy356:
#line 202 "rexx.--empty-class(match-empty).re"
{ RETURN(RXS_EXPOSE); }
-#line 5079 "rexx.--empty-class(match-empty).c"
+#line 5077 "rexx.--empty-class(match-empty).c"
yy357:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy384;
- default: goto yy10;
+ default: goto yy9;
}
yy358:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy386;
- default: goto yy10;
+ default: goto yy9;
}
yy359:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy388;
- default: goto yy10;
+ default: goto yy9;
}
yy360:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy389;
- default: goto yy10;
+ default: goto yy9;
}
yy361:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5171,59 +5169,59 @@ yy361:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy362;
}
yy362:
#line 216 "rexx.--empty-class(match-empty).re"
{ RETURN(RXS_LINEIN); }
-#line 5182 "rexx.--empty-class(match-empty).c"
+#line 5180 "rexx.--empty-class(match-empty).c"
yy363:
yych = *++YYCURSOR;
switch (yych) {
case 'D':
case 'd': goto yy391;
- default: goto yy10;
+ default: goto yy9;
}
yy364:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy392;
- default: goto yy10;
+ default: goto yy9;
}
yy365:
yych = *++YYCURSOR;
switch (yych) {
case 'C':
case 'c': goto yy394;
- default: goto yy10;
+ default: goto yy9;
}
yy366:
yych = *++YYCURSOR;
switch (yych) {
case 'S':
case 's': goto yy396;
- default: goto yy10;
+ default: goto yy9;
}
yy367:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
case 'i': goto yy398;
- default: goto yy10;
+ default: goto yy9;
}
yy368:
yych = *++YYCURSOR;
switch (yych) {
case 'U':
case 'u': goto yy399;
- default: goto yy10;
+ default: goto yy9;
}
yy369:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5288,24 +5286,24 @@ yy369:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy370;
}
yy370:
#line 176 "rexx.--empty-class(match-empty).re"
{ RETURN(RX_RETURN); }
-#line 5299 "rexx.--empty-class(match-empty).c"
+#line 5297 "rexx.--empty-class(match-empty).c"
yy371:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
case 'i': goto yy400;
- default: goto yy10;
+ default: goto yy9;
}
yy372:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5370,17 +5368,17 @@ yy372:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy373;
}
yy373:
#line 180 "rexx.--empty-class(match-empty).re"
{ RETURN(RX_SELECT); }
-#line 5381 "rexx.--empty-class(match-empty).c"
+#line 5379 "rexx.--empty-class(match-empty).c"
yy374:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5445,17 +5443,17 @@ yy374:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy375;
}
yy375:
#line 182 "rexx.--empty-class(match-empty).re"
{ RETURN(RX_SIGNAL); }
-#line 5456 "rexx.--empty-class(match-empty).c"
+#line 5454 "rexx.--empty-class(match-empty).c"
yy376:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5520,17 +5518,17 @@ yy376:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy377;
}
yy377:
#line 226 "rexx.--empty-class(match-empty).re"
{ RETURN(RXS_SOURCE); }
-#line 5531 "rexx.--empty-class(match-empty).c"
+#line 5529 "rexx.--empty-class(match-empty).c"
yy378:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5595,24 +5593,24 @@ yy378:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy379;
}
yy379:
#line 228 "rexx.--empty-class(match-empty).re"
{ RETURN(RXS_SYNTAX); }
-#line 5606 "rexx.--empty-class(match-empty).c"
+#line 5604 "rexx.--empty-class(match-empty).c"
yy380:
yych = *++YYCURSOR;
switch (yych) {
case 'N':
case 'n': goto yy401;
- default: goto yy10;
+ default: goto yy9;
}
yy381:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5677,24 +5675,24 @@ yy381:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy382;
}
yy382:
#line 134 "rexx.--empty-class(match-empty).re"
{ RETURN(RX_ADDRESS); }
-#line 5688 "rexx.--empty-class(match-empty).c"
+#line 5686 "rexx.--empty-class(match-empty).c"
yy383:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy403;
- default: goto yy10;
+ default: goto yy9;
}
yy384:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5759,17 +5757,17 @@ yy384:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy385;
}
yy385:
#line 204 "rexx.--empty-class(match-empty).re"
{ RETURN(RXS_FAILURE); }
-#line 5770 "rexx.--empty-class(match-empty).c"
+#line 5768 "rexx.--empty-class(match-empty).c"
yy386:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5834,24 +5832,24 @@ yy386:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy387;
}
yy387:
#line 208 "rexx.--empty-class(match-empty).re"
{ RETURN(RXS_FOREVER); }
-#line 5845 "rexx.--empty-class(match-empty).c"
+#line 5843 "rexx.--empty-class(match-empty).c"
yy388:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy404;
- default: goto yy10;
+ default: goto yy9;
}
yy389:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5916,24 +5914,24 @@ yy389:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy390;
}
yy390:
#line 154 "rexx.--empty-class(match-empty).re"
{ RETURN(RX_ITERATE); }
-#line 5927 "rexx.--empty-class(match-empty).c"
+#line 5925 "rexx.--empty-class(match-empty).c"
yy391:
yych = *++YYCURSOR;
switch (yych) {
case 'Y':
case 'y': goto yy405;
- default: goto yy10;
+ default: goto yy9;
}
yy392:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5998,17 +5996,17 @@ yy392:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy393;
}
yy393:
#line 222 "rexx.--empty-class(match-empty).re"
{ RETURN(RXS_NOVALUE); }
-#line 6009 "rexx.--empty-class(match-empty).c"
+#line 6007 "rexx.--empty-class(match-empty).c"
yy394:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -6073,17 +6071,17 @@ yy394:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy395;
}
yy395:
#line 160 "rexx.--empty-class(match-empty).re"
{ RETURN(RX_NUMERIC); }
-#line 6084 "rexx.--empty-class(match-empty).c"
+#line 6082 "rexx.--empty-class(match-empty).c"
yy396:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -6148,38 +6146,38 @@ yy396:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy397;
}
yy397:
#line 162 "rexx.--empty-class(match-empty).re"
{ RETURN(RX_OPTIONS); }
-#line 6159 "rexx.--empty-class(match-empty).c"
+#line 6157 "rexx.--empty-class(match-empty).c"
yy398:
yych = *++YYCURSOR;
switch (yych) {
case 'S':
case 's': goto yy407;
- default: goto yy10;
+ default: goto yy9;
}
yy399:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy408;
- default: goto yy10;
+ default: goto yy9;
}
yy400:
yych = *++YYCURSOR;
switch (yych) {
case 'F':
case 'f': goto yy409;
- default: goto yy10;
+ default: goto yy9;
}
yy401:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -6244,31 +6242,31 @@ yy401:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy402;
}
yy402:
#line 240 "rexx.--empty-class(match-empty).re"
{ RETURN(RXS_VERSION); }
-#line 6255 "rexx.--empty-class(match-empty).c"
+#line 6253 "rexx.--empty-class(match-empty).c"
yy403:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
case 'i': goto yy410;
- default: goto yy10;
+ default: goto yy9;
}
yy404:
yych = *++YYCURSOR;
switch (yych) {
case 'T':
case 't': goto yy411;
- default: goto yy10;
+ default: goto yy9;
}
yy405:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -6333,45 +6331,45 @@ yy405:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy406;
}
yy406:
#line 220 "rexx.--empty-class(match-empty).re"
{ RETURN(RXS_NOTREADY); }
-#line 6344 "rexx.--empty-class(match-empty).c"
+#line 6342 "rexx.--empty-class(match-empty).c"
yy407:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy413;
- default: goto yy10;
+ default: goto yy9;
}
yy408:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy415;
- default: goto yy10;
+ default: goto yy9;
}
yy409:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
case 'i': goto yy417;
- default: goto yy10;
+ default: goto yy9;
}
yy410:
yych = *++YYCURSOR;
switch (yych) {
case 'N':
case 'n': goto yy418;
- default: goto yy10;
+ default: goto yy9;
}
yy411:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -6436,17 +6434,17 @@ yy411:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy412;
}
yy412:
#line 152 "rexx.--empty-class(match-empty).re"
{ RETURN(RX_INTERPRET); }
-#line 6447 "rexx.--empty-class(match-empty).c"
+#line 6445 "rexx.--empty-class(match-empty).c"
yy413:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -6511,17 +6509,17 @@ yy413:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy414;
}
yy414:
#line 164 "rexx.--empty-class(match-empty).re"
{ RETURN(RX_OTHERWISE); }
-#line 6522 "rexx.--empty-class(match-empty).c"
+#line 6520 "rexx.--empty-class(match-empty).c"
yy415:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -6586,31 +6584,31 @@ yy415:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy416;
}
yy416:
#line 168 "rexx.--empty-class(match-empty).re"
{ RETURN(RX_PROCEDURE); }
-#line 6597 "rexx.--empty-class(match-empty).c"
+#line 6595 "rexx.--empty-class(match-empty).c"
yy417:
yych = *++YYCURSOR;
switch (yych) {
case 'C':
case 'c': goto yy419;
- default: goto yy10;
+ default: goto yy9;
}
yy418:
yych = *++YYCURSOR;
switch (yych) {
case 'G':
case 'g': goto yy421;
- default: goto yy10;
+ default: goto yy9;
}
yy419:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -6675,17 +6673,17 @@ yy419:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy420;
}
yy420:
#line 224 "rexx.--empty-class(match-empty).re"
{ RETURN(RXS_SCIENTIFIC); }
-#line 6686 "rexx.--empty-class(match-empty).c"
+#line 6684 "rexx.--empty-class(match-empty).c"
yy421:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -6750,14 +6748,14 @@ yy421:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy422;
}
yy422:
#line 198 "rexx.--empty-class(match-empty).re"
{ RETURN(RXS_ENGINEERING); }
-#line 6761 "rexx.--empty-class(match-empty).c"
+#line 6759 "rexx.--empty-class(match-empty).c"
}
#line 265 "rexx.--empty-class(match-empty).re"
@@ -6771,12 +6769,11 @@ bool StripToken(){
ScanCB.eot = cursor;
strip:
-#line 6775 "rexx.--empty-class(match-empty).c"
+#line 6773 "rexx.--empty-class(match-empty).c"
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
- YYCTXMARKER = YYCURSOR;
switch (yych) {
case '\t':
case ' ': goto yy427;
@@ -6787,10 +6784,10 @@ strip:
yy425:
++YYCURSOR;
yy426:
- YYCURSOR = YYCTXMARKER;
+ YYCURSOR -= 1;
#line 289 "rexx.--empty-class(match-empty).re"
{ RETURN(blanks); }
-#line 6794 "rexx.--empty-class(match-empty).c"
+#line 6791 "rexx.--empty-class(match-empty).c"
yy427:
++YYCURSOR;
#line 284 "rexx.--empty-class(match-empty).re"
@@ -6798,12 +6795,12 @@ yy427:
blanks = TRUE;
goto strip;
}
-#line 6802 "rexx.--empty-class(match-empty).c"
+#line 6799 "rexx.--empty-class(match-empty).c"
yy429:
++YYCURSOR;
#line 282 "rexx.--empty-class(match-empty).re"
{ goto strip; }
-#line 6807 "rexx.--empty-class(match-empty).c"
+#line 6804 "rexx.--empty-class(match-empty).c"
yy431:
yych = *++YYCURSOR;
switch (yych) {
@@ -6817,14 +6814,14 @@ yy432:
depth = 1;
goto comment;
}
-#line 6821 "rexx.--empty-class(match-empty).c"
+#line 6818 "rexx.--empty-class(match-empty).c"
}
#line 290 "rexx.--empty-class(match-empty).re"
comment:
-#line 6828 "rexx.--empty-class(match-empty).c"
+#line 6825 "rexx.--empty-class(match-empty).c"
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
@@ -6840,7 +6837,7 @@ yy436:
++YYCURSOR;
#line 313 "rexx.--empty-class(match-empty).re"
{ RETURN(blanks); }
-#line 6844 "rexx.--empty-class(match-empty).c"
+#line 6841 "rexx.--empty-class(match-empty).c"
yy438:
++YYCURSOR;
yy439:
@@ -6848,7 +6845,7 @@ yy439:
{
goto comment;
}
-#line 6852 "rexx.--empty-class(match-empty).c"
+#line 6849 "rexx.--empty-class(match-empty).c"
yy440:
++YYCURSOR;
#line 302 "rexx.--empty-class(match-empty).re"
@@ -6857,7 +6854,7 @@ yy440:
ScanCB.linePos = ScanCB.pos + (cursor - ScanCB.mrk);
goto comment;
}
-#line 6861 "rexx.--empty-class(match-empty).c"
+#line 6858 "rexx.--empty-class(match-empty).c"
yy442:
yych = *++YYCURSOR;
switch (yych) {
@@ -6879,7 +6876,7 @@ yy444:
else
goto comment;
}
-#line 6883 "rexx.--empty-class(match-empty).c"
+#line 6880 "rexx.--empty-class(match-empty).c"
yy446:
++YYCURSOR;
#line 308 "rexx.--empty-class(match-empty).re"
@@ -6887,7 +6884,7 @@ yy446:
++depth;
goto comment;
}
-#line 6891 "rexx.--empty-class(match-empty).c"
+#line 6888 "rexx.--empty-class(match-empty).c"
}
#line 318 "rexx.--empty-class(match-empty).re"
diff --git a/test/rexx.--empty-class(match-none).c b/test/rexx.--empty-class(match-none).c
index 1a99be8f..a7a89f91 100644
--- a/test/rexx.--empty-class(match-none).c
+++ b/test/rexx.--empty-class(match-none).c
@@ -32,8 +32,8 @@ scan:
if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
yych = *YYCURSOR;
switch (yych) {
- case 0x00: goto yy3;
- case '\n': goto yy7;
+ case 0x00: goto yy2;
+ case '\n': goto yy6;
case '!':
case '?':
case 'G':
@@ -50,17 +50,17 @@ scan:
case 'm':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '"': goto yy12;
- case '%': goto yy13;
- case '&': goto yy15;
- case '\'': goto yy17;
- case '(': goto yy18;
- case ')': goto yy20;
- case '*': goto yy22;
- case '+': goto yy24;
- case ',': goto yy26;
- case '-': goto yy28;
+ case 'z': goto yy8;
+ case '"': goto yy11;
+ case '%': goto yy12;
+ case '&': goto yy14;
+ case '\'': goto yy16;
+ case '(': goto yy17;
+ case ')': goto yy19;
+ case '*': goto yy21;
+ case '+': goto yy23;
+ case ',': goto yy25;
+ case '-': goto yy27;
case '.':
case '0':
case '1':
@@ -71,72 +71,68 @@ scan:
case '6':
case '7':
case '8':
- case '9': goto yy30;
- case '/': goto yy33;
- case ':': goto yy35;
- case ';': goto yy37;
- case '<': goto yy39;
- case '=': goto yy41;
- case '>': goto yy43;
+ case '9': goto yy29;
+ case '/': goto yy32;
+ case ':': goto yy34;
+ case ';': goto yy36;
+ case '<': goto yy38;
+ case '=': goto yy40;
+ case '>': goto yy42;
case 'A':
- case 'a': goto yy45;
+ case 'a': goto yy44;
case 'B':
- case 'b': goto yy46;
+ case 'b': goto yy45;
case 'C':
- case 'c': goto yy47;
+ case 'c': goto yy46;
case 'D':
- case 'd': goto yy48;
+ case 'd': goto yy47;
case 'E':
- case 'e': goto yy49;
+ case 'e': goto yy48;
case 'F':
- case 'f': goto yy50;
+ case 'f': goto yy49;
case 'H':
- case 'h': goto yy51;
+ case 'h': goto yy50;
case 'I':
- case 'i': goto yy52;
+ case 'i': goto yy51;
case 'L':
- case 'l': goto yy53;
+ case 'l': goto yy52;
case 'N':
- case 'n': goto yy54;
+ case 'n': goto yy53;
case 'O':
- case 'o': goto yy55;
+ case 'o': goto yy54;
case 'P':
- case 'p': goto yy56;
+ case 'p': goto yy55;
case 'Q':
- case 'q': goto yy57;
+ case 'q': goto yy56;
case 'R':
- case 'r': goto yy58;
+ case 'r': goto yy57;
case 'S':
- case 's': goto yy59;
+ case 's': goto yy58;
case 'T':
- case 't': goto yy60;
+ case 't': goto yy59;
case 'U':
- case 'u': goto yy61;
+ case 'u': goto yy60;
case 'V':
- case 'v': goto yy62;
+ case 'v': goto yy61;
case 'W':
- case 'w': goto yy63;
+ case 'w': goto yy62;
case '\\':
- case '~': goto yy64;
- case '|': goto yy66;
- default: goto yy5;
+ case '~': goto yy63;
+ case '|': goto yy65;
+ default: goto yy4;
}
yy2:
-#line 253 "rexx.--empty-class(match-none).re"
- { RETURN(SU_SYMBOL_COMPOUND); }
-#line 128 "rexx.--empty-class(match-none).c"
-yy3:
++YYCURSOR;
#line 262 "rexx.--empty-class(match-none).re"
{ RETURN(SU_EOF); }
-#line 133 "rexx.--empty-class(match-none).c"
-yy5:
+#line 129 "rexx.--empty-class(match-none).c"
+yy4:
++YYCURSOR;
-yy6:
+yy5:
#line 264 "rexx.--empty-class(match-none).re"
{ RETURN(SU_ERROR); }
-#line 139 "rexx.--empty-class(match-none).c"
-yy7:
+#line 135 "rexx.--empty-class(match-none).c"
+yy6:
++YYCURSOR;
#line 68 "rexx.--empty-class(match-none).re"
{
@@ -144,12 +140,12 @@ yy7:
ScanCB.linePos = ScanCB.pos + (cursor - ScanCB.mrk);
RETURN(SU_EOL);
}
-#line 148 "rexx.--empty-class(match-none).c"
-yy9:
+#line 144 "rexx.--empty-class(match-none).c"
+yy8:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
-yy10:
+yy9:
switch (yych) {
case '!':
case '0':
@@ -215,87 +211,87 @@ yy10:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
- default: goto yy11;
+ case 'z': goto yy8;
+ case '.': goto yy67;
+ default: goto yy10;
}
-yy11:
+yy10:
#line 249 "rexx.--empty-class(match-none).re"
{ RETURN(SU_SYMBOL); }
-#line 226 "rexx.--empty-class(match-none).c"
-yy12:
+#line 222 "rexx.--empty-class(match-none).c"
+yy11:
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case 0x00:
- case '\n': goto yy6;
- default: goto yy71;
+ case '\n': goto yy5;
+ default: goto yy70;
}
-yy13:
+yy12:
++YYCURSOR;
#line 84 "rexx.--empty-class(match-none).re"
{ RETURN(OP_IDIV); }
-#line 239 "rexx.--empty-class(match-none).c"
-yy15:
+#line 235 "rexx.--empty-class(match-none).c"
+yy14:
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case '\t':
- case ' ': goto yy75;
- case '&': goto yy77;
- default: goto yy16;
+ case ' ': goto yy74;
+ case '&': goto yy76;
+ default: goto yy15;
}
-yy16:
+yy15:
#line 114 "rexx.--empty-class(match-none).re"
{ RETURN(OP_AND); }
-#line 252 "rexx.--empty-class(match-none).c"
-yy17:
+#line 248 "rexx.--empty-class(match-none).c"
+yy16:
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case 0x00:
- case '\n': goto yy6;
- default: goto yy80;
+ case '\n': goto yy5;
+ default: goto yy79;
}
-yy18:
+yy17:
++YYCURSOR;
#line 127 "rexx.--empty-class(match-none).re"
{ RETURN(SU_POPEN); }
-#line 265 "rexx.--empty-class(match-none).c"
-yy20:
+#line 261 "rexx.--empty-class(match-none).c"
+yy19:
++YYCURSOR;
#line 129 "rexx.--empty-class(match-none).re"
{ RETURN(SU_PCLOSE); }
-#line 270 "rexx.--empty-class(match-none).c"
-yy22:
+#line 266 "rexx.--empty-class(match-none).c"
+yy21:
yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case '\t':
- case ' ': goto yy82;
- case '*': goto yy84;
- default: goto yy23;
+ case ' ': goto yy81;
+ case '*': goto yy83;
+ default: goto yy22;
}
-yy23:
+yy22:
#line 80 "rexx.--empty-class(match-none).re"
{ RETURN(OP_MULT); }
-#line 283 "rexx.--empty-class(match-none).c"
-yy24:
+#line 279 "rexx.--empty-class(match-none).c"
+yy23:
++YYCURSOR;
#line 76 "rexx.--empty-class(match-none).re"
{ RETURN(OP_PLUS); }
-#line 288 "rexx.--empty-class(match-none).c"
-yy26:
+#line 284 "rexx.--empty-class(match-none).c"
+yy25:
++YYCURSOR;
#line 125 "rexx.--empty-class(match-none).re"
{ RETURN(SU_COMMA); }
-#line 293 "rexx.--empty-class(match-none).c"
-yy28:
+#line 289 "rexx.--empty-class(match-none).c"
+yy27:
++YYCURSOR;
#line 78 "rexx.--empty-class(match-none).re"
{ RETURN(OP_MINUS); }
-#line 298 "rexx.--empty-class(match-none).c"
-yy30:
+#line 294 "rexx.--empty-class(match-none).c"
+yy29:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
@@ -363,39 +359,39 @@ yy30:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy30;
+ case 'z': goto yy29;
case 'E':
- case 'e': goto yy86;
- default: goto yy32;
+ case 'e': goto yy85;
+ default: goto yy31;
}
-yy32:
+yy31:
#line 247 "rexx.--empty-class(match-none).re"
{ RETURN(SU_CONST); }
-#line 375 "rexx.--empty-class(match-none).c"
-yy33:
+#line 371 "rexx.--empty-class(match-none).c"
+yy32:
yyaccept = 3;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case '\t':
- case ' ': goto yy88;
- case '/': goto yy90;
- default: goto yy34;
+ case ' ': goto yy87;
+ case '/': goto yy89;
+ default: goto yy33;
}
-yy34:
+yy33:
#line 82 "rexx.--empty-class(match-none).re"
{ RETURN(OP_DIV); }
-#line 388 "rexx.--empty-class(match-none).c"
-yy35:
+#line 384 "rexx.--empty-class(match-none).c"
+yy34:
++YYCURSOR;
#line 123 "rexx.--empty-class(match-none).re"
{ RETURN(SU_COLON); }
-#line 393 "rexx.--empty-class(match-none).c"
-yy37:
+#line 389 "rexx.--empty-class(match-none).c"
+yy36:
++YYCURSOR;
#line 131 "rexx.--empty-class(match-none).re"
{ RETURN(SU_EOC); }
-#line 398 "rexx.--empty-class(match-none).c"
-yy39:
+#line 394 "rexx.--empty-class(match-none).c"
+yy38:
yyaccept = 4;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
@@ -403,27 +399,27 @@ yy39:
case ' ':
case '<':
case '=':
- case '>': goto yy93;
- default: goto yy40;
+ case '>': goto yy92;
+ default: goto yy39;
}
-yy40:
+yy39:
#line 96 "rexx.--empty-class(match-none).re"
{ RETURN(OP_LT); }
-#line 413 "rexx.--empty-class(match-none).c"
-yy41:
+#line 409 "rexx.--empty-class(match-none).c"
+yy40:
yyaccept = 5;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case '\t':
- case ' ': goto yy100;
- case '=': goto yy102;
- default: goto yy42;
+ case ' ': goto yy99;
+ case '=': goto yy101;
+ default: goto yy41;
}
-yy42:
+yy41:
#line 90 "rexx.--empty-class(match-none).re"
{ RETURN(OP_EQUAL); }
-#line 426 "rexx.--empty-class(match-none).c"
-yy43:
+#line 422 "rexx.--empty-class(match-none).c"
+yy42:
yyaccept = 6;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
@@ -431,203 +427,203 @@ yy43:
case ' ':
case '<':
case '=':
- case '>': goto yy105;
- default: goto yy44;
+ case '>': goto yy104;
+ default: goto yy43;
}
-yy44:
+yy43:
#line 94 "rexx.--empty-class(match-none).re"
{ RETURN(OP_GT); }
-#line 441 "rexx.--empty-class(match-none).c"
-yy45:
+#line 437 "rexx.--empty-class(match-none).c"
+yy44:
yych = *++YYCURSOR;
switch (yych) {
case 'D':
- case 'd': goto yy110;
+ case 'd': goto yy109;
case 'R':
- case 'r': goto yy111;
- default: goto yy10;
+ case 'r': goto yy110;
+ default: goto yy9;
}
-yy46:
+yy45:
yych = *++YYCURSOR;
switch (yych) {
case 'Y':
- case 'y': goto yy112;
- default: goto yy10;
+ case 'y': goto yy111;
+ default: goto yy9;
}
-yy47:
+yy46:
yych = *++YYCURSOR;
switch (yych) {
case 'A':
- case 'a': goto yy114;
- default: goto yy10;
+ case 'a': goto yy113;
+ default: goto yy9;
}
-yy48:
+yy47:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
- case 'i': goto yy115;
+ case 'i': goto yy114;
case 'O':
- case 'o': goto yy116;
+ case 'o': goto yy115;
case 'R':
- case 'r': goto yy118;
- default: goto yy10;
+ case 'r': goto yy117;
+ default: goto yy9;
}
-yy49:
+yy48:
yych = *++YYCURSOR;
switch (yych) {
case 'L':
- case 'l': goto yy119;
+ case 'l': goto yy118;
case 'N':
- case 'n': goto yy120;
+ case 'n': goto yy119;
case 'R':
- case 'r': goto yy121;
+ case 'r': goto yy120;
case 'X':
- case 'x': goto yy122;
- default: goto yy10;
+ case 'x': goto yy121;
+ default: goto yy9;
}
-yy50:
+yy49:
yych = *++YYCURSOR;
switch (yych) {
case 'A':
- case 'a': goto yy123;
+ case 'a': goto yy122;
case 'O':
- case 'o': goto yy124;
+ case 'o': goto yy123;
case 'U':
- case 'u': goto yy125;
- default: goto yy10;
+ case 'u': goto yy124;
+ default: goto yy9;
}
-yy51:
+yy50:
yych = *++YYCURSOR;
switch (yych) {
case 'A':
- case 'a': goto yy126;
- default: goto yy10;
+ case 'a': goto yy125;
+ default: goto yy9;
}
-yy52:
+yy51:
yych = *++YYCURSOR;
switch (yych) {
case 'F':
- case 'f': goto yy127;
+ case 'f': goto yy126;
case 'N':
- case 'n': goto yy129;
+ case 'n': goto yy128;
case 'T':
- case 't': goto yy130;
- default: goto yy10;
+ case 't': goto yy129;
+ default: goto yy9;
}
-yy53:
+yy52:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
- case 'e': goto yy131;
+ case 'e': goto yy130;
case 'I':
- case 'i': goto yy132;
- default: goto yy10;
+ case 'i': goto yy131;
+ default: goto yy9;
}
-yy54:
+yy53:
yych = *++YYCURSOR;
switch (yych) {
case 'A':
- case 'a': goto yy133;
+ case 'a': goto yy132;
case 'O':
- case 'o': goto yy134;
+ case 'o': goto yy133;
case 'U':
- case 'u': goto yy135;
- default: goto yy10;
+ case 'u': goto yy134;
+ default: goto yy9;
}
-yy55:
+yy54:
yych = *++YYCURSOR;
switch (yych) {
case 'F':
- case 'f': goto yy136;
+ case 'f': goto yy135;
case 'N':
- case 'n': goto yy137;
+ case 'n': goto yy136;
case 'P':
- case 'p': goto yy139;
+ case 'p': goto yy138;
case 'T':
- case 't': goto yy140;
- default: goto yy10;
+ case 't': goto yy139;
+ default: goto yy9;
}
-yy56:
+yy55:
yych = *++YYCURSOR;
switch (yych) {
case 'A':
- case 'a': goto yy141;
+ case 'a': goto yy140;
case 'R':
- case 'r': goto yy142;
+ case 'r': goto yy141;
case 'U':
- case 'u': goto yy143;
- default: goto yy10;
+ case 'u': goto yy142;
+ default: goto yy9;
}
-yy57:
+yy56:
yych = *++YYCURSOR;
switch (yych) {
case 'U':
- case 'u': goto yy144;
- default: goto yy10;
+ case 'u': goto yy143;
+ default: goto yy9;
}
-yy58:
+yy57:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
- case 'e': goto yy145;
- default: goto yy10;
+ case 'e': goto yy144;
+ default: goto yy9;
}
-yy59:
+yy58:
yych = *++YYCURSOR;
switch (yych) {
case 'A':
- case 'a': goto yy146;
+ case 'a': goto yy145;
case 'C':
- case 'c': goto yy147;
+ case 'c': goto yy146;
case 'E':
- case 'e': goto yy148;
+ case 'e': goto yy147;
case 'I':
- case 'i': goto yy149;
+ case 'i': goto yy148;
case 'O':
- case 'o': goto yy150;
+ case 'o': goto yy149;
case 'Y':
- case 'y': goto yy151;
- default: goto yy10;
+ case 'y': goto yy150;
+ default: goto yy9;
}
-yy60:
+yy59:
yych = *++YYCURSOR;
switch (yych) {
case 'H':
- case 'h': goto yy152;
+ case 'h': goto yy151;
case 'O':
- case 'o': goto yy153;
+ case 'o': goto yy152;
case 'R':
- case 'r': goto yy155;
- default: goto yy10;
+ case 'r': goto yy154;
+ default: goto yy9;
}
-yy61:
+yy60:
yych = *++YYCURSOR;
switch (yych) {
case 'N':
- case 'n': goto yy156;
+ case 'n': goto yy155;
case 'P':
- case 'p': goto yy157;
- default: goto yy10;
+ case 'p': goto yy156;
+ default: goto yy9;
}
-yy62:
+yy61:
yych = *++YYCURSOR;
switch (yych) {
case 'A':
- case 'a': goto yy158;
+ case 'a': goto yy157;
case 'E':
- case 'e': goto yy159;
- default: goto yy10;
+ case 'e': goto yy158;
+ default: goto yy9;
}
-yy63:
+yy62:
yych = *++YYCURSOR;
switch (yych) {
case 'H':
- case 'h': goto yy160;
+ case 'h': goto yy159;
case 'I':
- case 'i': goto yy161;
- default: goto yy10;
+ case 'i': goto yy160;
+ default: goto yy9;
}
-yy64:
+yy63:
yyaccept = 7;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
@@ -635,29 +631,29 @@ yy64:
case ' ':
case '<':
case '=':
- case '>': goto yy163;
- default: goto yy65;
+ case '>': goto yy162;
+ default: goto yy64;
}
-yy65:
+yy64:
#line 120 "rexx.--empty-class(match-none).re"
{ RETURN(OP_NOT); }
-#line 645 "rexx.--empty-class(match-none).c"
-yy66:
+#line 641 "rexx.--empty-class(match-none).c"
+yy65:
yyaccept = 8;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case '\t':
- case ' ': goto yy167;
- case '|': goto yy169;
- default: goto yy67;
+ case ' ': goto yy166;
+ case '|': goto yy168;
+ default: goto yy66;
}
-yy67:
+yy66:
#line 116 "rexx.--empty-class(match-none).re"
{ RETURN(OP_OR); }
-#line 658 "rexx.--empty-class(match-none).c"
-yy68:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+#line 654 "rexx.--empty-class(match-none).c"
+yy67:
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '.':
case '0':
@@ -723,116 +719,116 @@ yy68:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy171;
- default: goto yy69;
+ case 'z': goto yy170;
+ default: goto yy68;
}
-yy69:
+yy68:
#line 251 "rexx.--empty-class(match-none).re"
{ RETURN(SU_SYMBOL_STEM); }
-#line 733 "rexx.--empty-class(match-none).c"
-yy70:
+#line 729 "rexx.--empty-class(match-none).c"
+yy69:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy71:
+yy70:
switch (yych) {
case 0x00:
- case '\n': goto yy72;
- case '"': goto yy73;
- default: goto yy70;
+ case '\n': goto yy71;
+ case '"': goto yy72;
+ default: goto yy69;
}
-yy72:
+yy71:
YYCURSOR = YYMARKER;
switch (yyaccept) {
- case 0: goto yy6;
- case 1: goto yy16;
- case 2: goto yy23;
- case 3: goto yy34;
- case 4: goto yy40;
- case 5: goto yy42;
- case 6: goto yy44;
- case 7: goto yy65;
- case 8: goto yy67;
- case 9: goto yy74;
- case 10: goto yy32;
- case 11: goto yy95;
- case 12: goto yy109;
- case 13: goto yy107;
- case 14: goto yy99;
- default: goto yy97;
+ case 0: goto yy5;
+ case 1: goto yy15;
+ case 2: goto yy22;
+ case 3: goto yy33;
+ case 4: goto yy39;
+ case 5: goto yy41;
+ case 6: goto yy43;
+ case 7: goto yy64;
+ case 8: goto yy66;
+ case 9: goto yy73;
+ case 10: goto yy31;
+ case 11: goto yy94;
+ case 12: goto yy108;
+ case 13: goto yy106;
+ case 14: goto yy98;
+ default: goto yy96;
}
-yy73:
+yy72:
yyaccept = 9;
YYMARKER = ++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
switch (yych) {
- case '"': goto yy70;
+ case '"': goto yy69;
case 'B':
case 'b': goto yy173;
case 'X':
case 'x': goto yy174;
- default: goto yy74;
+ default: goto yy73;
}
-yy74:
+yy73:
#line 255 "rexx.--empty-class(match-none).re"
{ RETURN(SU_LITERAL); }
-#line 781 "rexx.--empty-class(match-none).c"
-yy75:
+#line 777 "rexx.--empty-class(match-none).c"
+yy74:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case '\t':
- case ' ': goto yy75;
- case '&': goto yy77;
- default: goto yy72;
+ case ' ': goto yy74;
+ case '&': goto yy76;
+ default: goto yy71;
}
-yy77:
+yy76:
++YYCURSOR;
#line 118 "rexx.--empty-class(match-none).re"
{ RETURN(OP_XOR); }
-#line 796 "rexx.--empty-class(match-none).c"
-yy79:
+#line 792 "rexx.--empty-class(match-none).c"
+yy78:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy80:
+yy79:
switch (yych) {
case 0x00:
- case '\n': goto yy72;
- case '\'': goto yy81;
- default: goto yy79;
+ case '\n': goto yy71;
+ case '\'': goto yy80;
+ default: goto yy78;
}
-yy81:
+yy80:
yyaccept = 9;
YYMARKER = ++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
switch (yych) {
- case '\'': goto yy79;
+ case '\'': goto yy78;
case 'B':
case 'b': goto yy173;
case 'X':
case 'x': goto yy174;
- default: goto yy74;
+ default: goto yy73;
}
-yy82:
+yy81:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case '\t':
- case ' ': goto yy82;
- case '*': goto yy84;
- default: goto yy72;
+ case ' ': goto yy81;
+ case '*': goto yy83;
+ default: goto yy71;
}
-yy84:
+yy83:
++YYCURSOR;
#line 88 "rexx.--empty-class(match-none).re"
{ RETURN(OP_POWER); }
-#line 835 "rexx.--empty-class(match-none).c"
-yy86:
+#line 831 "rexx.--empty-class(match-none).c"
+yy85:
yyaccept = 10;
YYMARKER = ++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
@@ -901,130 +897,130 @@ yy86:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy30;
+ case 'z': goto yy29;
case '+':
case '-': goto yy175;
case 'E':
- case 'e': goto yy86;
- default: goto yy32;
+ case 'e': goto yy85;
+ default: goto yy31;
}
-yy88:
+yy87:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case '\t':
- case ' ': goto yy88;
- case '/': goto yy90;
- default: goto yy72;
+ case ' ': goto yy87;
+ case '/': goto yy89;
+ default: goto yy71;
}
-yy90:
+yy89:
++YYCURSOR;
#line 86 "rexx.--empty-class(match-none).re"
{ RETURN(OP_REMAIN); }
-#line 926 "rexx.--empty-class(match-none).c"
-yy92:
+#line 922 "rexx.--empty-class(match-none).c"
+yy91:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
-yy93:
+yy92:
switch (yych) {
case '\t':
- case ' ': goto yy92;
- case '<': goto yy94;
- case '=': goto yy96;
- case '>': goto yy98;
- default: goto yy72;
+ case ' ': goto yy91;
+ case '<': goto yy93;
+ case '=': goto yy95;
+ case '>': goto yy97;
+ default: goto yy71;
}
-yy94:
+yy93:
yyaccept = 11;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case '\t':
case ' ': goto yy176;
case '=': goto yy178;
- default: goto yy95;
+ default: goto yy94;
}
-yy95:
+yy94:
#line 108 "rexx.--empty-class(match-none).re"
{ RETURN(OP_LT_STRICT); }
-#line 952 "rexx.--empty-class(match-none).c"
-yy96:
+#line 948 "rexx.--empty-class(match-none).c"
+yy95:
++YYCURSOR;
-yy97:
+yy96:
#line 100 "rexx.--empty-class(match-none).re"
{ RETURN(OP_LE); }
-#line 958 "rexx.--empty-class(match-none).c"
-yy98:
+#line 954 "rexx.--empty-class(match-none).c"
+yy97:
++YYCURSOR;
-yy99:
+yy98:
#line 92 "rexx.--empty-class(match-none).re"
{ RETURN(OP_EQUAL_N); }
-#line 964 "rexx.--empty-class(match-none).c"
-yy100:
+#line 960 "rexx.--empty-class(match-none).c"
+yy99:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case '\t':
- case ' ': goto yy100;
- case '=': goto yy102;
- default: goto yy72;
+ case ' ': goto yy99;
+ case '=': goto yy101;
+ default: goto yy71;
}
-yy102:
+yy101:
++YYCURSOR;
#line 102 "rexx.--empty-class(match-none).re"
{ RETURN(OP_EQUAL_EQ); }
-#line 979 "rexx.--empty-class(match-none).c"
-yy104:
+#line 975 "rexx.--empty-class(match-none).c"
+yy103:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
-yy105:
+yy104:
switch (yych) {
case '\t':
- case ' ': goto yy104;
- case '<': goto yy98;
- case '=': goto yy106;
- case '>': goto yy108;
- default: goto yy72;
+ case ' ': goto yy103;
+ case '<': goto yy97;
+ case '=': goto yy105;
+ case '>': goto yy107;
+ default: goto yy71;
}
-yy106:
+yy105:
++YYCURSOR;
-yy107:
+yy106:
#line 98 "rexx.--empty-class(match-none).re"
{ RETURN(OP_GE); }
-#line 998 "rexx.--empty-class(match-none).c"
-yy108:
+#line 994 "rexx.--empty-class(match-none).c"
+yy107:
yyaccept = 12;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case '\t':
case ' ': goto yy180;
case '=': goto yy182;
- default: goto yy109;
+ default: goto yy108;
}
-yy109:
+yy108:
#line 106 "rexx.--empty-class(match-none).re"
{ RETURN(OP_GT_STRICT); }
-#line 1011 "rexx.--empty-class(match-none).c"
-yy110:
+#line 1007 "rexx.--empty-class(match-none).c"
+yy109:
yych = *++YYCURSOR;
switch (yych) {
case 'D':
case 'd': goto yy184;
- default: goto yy10;
+ default: goto yy9;
}
-yy111:
+yy110:
yych = *++YYCURSOR;
switch (yych) {
case 'G':
case 'g': goto yy185;
- default: goto yy10;
+ default: goto yy9;
}
-yy112:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+yy111:
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -1089,31 +1085,31 @@ yy112:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
- default: goto yy113;
+ case 'z': goto yy8;
+ case '.': goto yy67;
+ default: goto yy112;
}
-yy113:
+yy112:
#line 194 "rexx.--empty-class(match-none).re"
{ RETURN(RXS_BY); }
-#line 1100 "rexx.--empty-class(match-none).c"
-yy114:
+#line 1096 "rexx.--empty-class(match-none).c"
+yy113:
yych = *++YYCURSOR;
switch (yych) {
case 'L':
case 'l': goto yy187;
- default: goto yy10;
+ default: goto yy9;
}
-yy115:
+yy114:
yych = *++YYCURSOR;
switch (yych) {
case 'G':
case 'g': goto yy188;
- default: goto yy10;
+ default: goto yy9;
}
-yy116:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+yy115:
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -1178,84 +1174,84 @@ yy116:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
- default: goto yy117;
+ case 'z': goto yy8;
+ case '.': goto yy67;
+ default: goto yy116;
}
-yy117:
+yy116:
#line 140 "rexx.--empty-class(match-none).re"
{ RETURN(RX_DO); }
-#line 1189 "rexx.--empty-class(match-none).c"
-yy118:
+#line 1185 "rexx.--empty-class(match-none).c"
+yy117:
yych = *++YYCURSOR;
switch (yych) {
case 'O':
case 'o': goto yy189;
- default: goto yy10;
+ default: goto yy9;
}
-yy119:
+yy118:
yych = *++YYCURSOR;
switch (yych) {
case 'S':
case 's': goto yy190;
- default: goto yy10;
+ default: goto yy9;
}
-yy120:
+yy119:
yych = *++YYCURSOR;
switch (yych) {
case 'D':
case 'd': goto yy191;
case 'G':
case 'g': goto yy193;
- default: goto yy10;
+ default: goto yy9;
}
-yy121:
+yy120:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy194;
- default: goto yy10;
+ default: goto yy9;
}
-yy122:
+yy121:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
case 'i': goto yy195;
case 'P':
case 'p': goto yy196;
- default: goto yy10;
+ default: goto yy9;
}
-yy123:
+yy122:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
case 'i': goto yy197;
- default: goto yy10;
+ default: goto yy9;
}
-yy124:
+yy123:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy198;
- default: goto yy10;
+ default: goto yy9;
}
-yy125:
+yy124:
yych = *++YYCURSOR;
switch (yych) {
case 'Z':
case 'z': goto yy200;
- default: goto yy10;
+ default: goto yy9;
}
-yy126:
+yy125:
yych = *++YYCURSOR;
switch (yych) {
case 'L':
case 'l': goto yy201;
- default: goto yy10;
+ default: goto yy9;
}
-yy127:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+yy126:
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -1320,50 +1316,50 @@ yy127:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
- default: goto yy128;
+ case 'z': goto yy8;
+ case '.': goto yy67;
+ default: goto yy127;
}
-yy128:
+yy127:
#line 150 "rexx.--empty-class(match-none).re"
{ RETURN(RX_IF); }
-#line 1331 "rexx.--empty-class(match-none).c"
-yy129:
+#line 1327 "rexx.--empty-class(match-none).c"
+yy128:
yych = *++YYCURSOR;
switch (yych) {
case 'T':
case 't': goto yy202;
- default: goto yy10;
+ default: goto yy9;
}
-yy130:
+yy129:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy203;
- default: goto yy10;
+ default: goto yy9;
}
-yy131:
+yy130:
yych = *++YYCURSOR;
switch (yych) {
case 'A':
case 'a': goto yy204;
- default: goto yy10;
+ default: goto yy9;
}
-yy132:
+yy131:
yych = *++YYCURSOR;
switch (yych) {
case 'N':
case 'n': goto yy205;
- default: goto yy10;
+ default: goto yy9;
}
-yy133:
+yy132:
yych = *++YYCURSOR;
switch (yych) {
case 'M':
case 'm': goto yy206;
- default: goto yy10;
+ default: goto yy9;
}
-yy134:
+yy133:
yych = *++YYCURSOR;
switch (yych) {
case 'P':
@@ -1372,25 +1368,25 @@ yy134:
case 't': goto yy209;
case 'V':
case 'v': goto yy210;
- default: goto yy10;
+ default: goto yy9;
}
-yy135:
+yy134:
yych = *++YYCURSOR;
switch (yych) {
case 'M':
case 'm': goto yy211;
- default: goto yy10;
+ default: goto yy9;
}
-yy136:
+yy135:
yych = *++YYCURSOR;
switch (yych) {
case 'F':
case 'f': goto yy212;
- default: goto yy10;
+ default: goto yy9;
}
-yy137:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+yy136:
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -1455,117 +1451,117 @@ yy137:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
- default: goto yy138;
+ case 'z': goto yy8;
+ case '.': goto yy67;
+ default: goto yy137;
}
-yy138:
+yy137:
#line 192 "rexx.--empty-class(match-none).re"
{ RETURN(RXS_ON); }
-#line 1466 "rexx.--empty-class(match-none).c"
-yy139:
+#line 1462 "rexx.--empty-class(match-none).c"
+yy138:
yych = *++YYCURSOR;
switch (yych) {
case 'T':
case 't': goto yy214;
- default: goto yy10;
+ default: goto yy9;
}
-yy140:
+yy139:
yych = *++YYCURSOR;
switch (yych) {
case 'H':
case 'h': goto yy215;
- default: goto yy10;
+ default: goto yy9;
}
-yy141:
+yy140:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy216;
- default: goto yy10;
+ default: goto yy9;
}
-yy142:
+yy141:
yych = *++YYCURSOR;
switch (yych) {
case 'O':
case 'o': goto yy217;
- default: goto yy10;
+ default: goto yy9;
}
-yy143:
+yy142:
yych = *++YYCURSOR;
switch (yych) {
case 'L':
case 'l': goto yy218;
case 'S':
case 's': goto yy219;
- default: goto yy10;
+ default: goto yy9;
}
-yy144:
+yy143:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy220;
- default: goto yy10;
+ default: goto yy9;
}
-yy145:
+yy144:
yych = *++YYCURSOR;
switch (yych) {
case 'T':
case 't': goto yy221;
- default: goto yy10;
+ default: goto yy9;
}
-yy146:
+yy145:
yych = *++YYCURSOR;
switch (yych) {
case 'Y':
case 'y': goto yy222;
- default: goto yy10;
+ default: goto yy9;
}
-yy147:
+yy146:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
case 'i': goto yy224;
- default: goto yy10;
+ default: goto yy9;
}
-yy148:
+yy147:
yych = *++YYCURSOR;
switch (yych) {
case 'L':
case 'l': goto yy225;
- default: goto yy10;
+ default: goto yy9;
}
-yy149:
+yy148:
yych = *++YYCURSOR;
switch (yych) {
case 'G':
case 'g': goto yy226;
- default: goto yy10;
+ default: goto yy9;
}
-yy150:
+yy149:
yych = *++YYCURSOR;
switch (yych) {
case 'U':
case 'u': goto yy227;
- default: goto yy10;
+ default: goto yy9;
}
-yy151:
+yy150:
yych = *++YYCURSOR;
switch (yych) {
case 'N':
case 'n': goto yy228;
- default: goto yy10;
+ default: goto yy9;
}
-yy152:
+yy151:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy229;
- default: goto yy10;
+ default: goto yy9;
}
-yy153:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+yy152:
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -1630,123 +1626,123 @@ yy153:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
- default: goto yy154;
+ case 'z': goto yy8;
+ case '.': goto yy67;
+ default: goto yy153;
}
-yy154:
+yy153:
#line 230 "rexx.--empty-class(match-none).re"
{ RETURN(RXS_TO); }
-#line 1641 "rexx.--empty-class(match-none).c"
-yy155:
+#line 1637 "rexx.--empty-class(match-none).c"
+yy154:
yych = *++YYCURSOR;
switch (yych) {
case 'A':
case 'a': goto yy230;
- default: goto yy10;
+ default: goto yy9;
}
-yy156:
+yy155:
yych = *++YYCURSOR;
switch (yych) {
case 'T':
case 't': goto yy231;
- default: goto yy10;
+ default: goto yy9;
}
-yy157:
+yy156:
yych = *++YYCURSOR;
switch (yych) {
case 'P':
case 'p': goto yy232;
- default: goto yy10;
+ default: goto yy9;
}
-yy158:
+yy157:
yych = *++YYCURSOR;
switch (yych) {
case 'L':
case 'l': goto yy233;
case 'R':
case 'r': goto yy234;
- default: goto yy10;
+ default: goto yy9;
}
-yy159:
+yy158:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy236;
- default: goto yy10;
+ default: goto yy9;
}
-yy160:
+yy159:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy237;
case 'I':
case 'i': goto yy238;
- default: goto yy10;
+ default: goto yy9;
}
-yy161:
+yy160:
yych = *++YYCURSOR;
switch (yych) {
case 'T':
case 't': goto yy239;
- default: goto yy10;
+ default: goto yy9;
}
-yy162:
+yy161:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
-yy163:
+yy162:
switch (yych) {
case '\t':
- case ' ': goto yy162;
- case '<': goto yy164;
- case '=': goto yy165;
- case '>': goto yy166;
- default: goto yy72;
+ case ' ': goto yy161;
+ case '<': goto yy163;
+ case '=': goto yy164;
+ case '>': goto yy165;
+ default: goto yy71;
}
-yy164:
+yy163:
yyaccept = 13;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case '\t':
case ' ': goto yy240;
case '<': goto yy182;
- default: goto yy107;
+ default: goto yy106;
}
-yy165:
+yy164:
yyaccept = 14;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case '\t':
case ' ': goto yy242;
case '=': goto yy244;
- default: goto yy99;
+ default: goto yy98;
}
-yy166:
+yy165:
yyaccept = 15;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case '\t':
case ' ': goto yy246;
case '>': goto yy178;
- default: goto yy97;
+ default: goto yy96;
}
-yy167:
+yy166:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case '\t':
- case ' ': goto yy167;
- case '|': goto yy169;
- default: goto yy72;
+ case ' ': goto yy166;
+ case '|': goto yy168;
+ default: goto yy71;
}
-yy169:
+yy168:
++YYCURSOR;
#line 74 "rexx.--empty-class(match-none).re"
{ RETURN(OP_CONCAT); }
-#line 1749 "rexx.--empty-class(match-none).c"
-yy171:
+#line 1745 "rexx.--empty-class(match-none).c"
+yy170:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
@@ -1816,12 +1812,15 @@ yy171:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy171;
- default: goto yy2;
+ case 'z': goto yy170;
+ default: goto yy172;
}
+yy172:
+#line 253 "rexx.--empty-class(match-none).re"
+ { RETURN(SU_SYMBOL_COMPOUND); }
+#line 1822 "rexx.--empty-class(match-none).c"
yy173:
yych = *++YYCURSOR;
- YYCTXMARKER = YYCURSOR;
switch (yych) {
case '!':
case '.':
@@ -1888,12 +1887,11 @@ yy173:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy72;
+ case 'z': goto yy71;
default: goto yy248;
}
yy174:
yych = *++YYCURSOR;
- YYCTXMARKER = YYCURSOR;
switch (yych) {
case '!':
case '.':
@@ -1960,7 +1958,7 @@ yy174:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy72;
+ case 'z': goto yy71;
default: goto yy250;
}
yy175:
@@ -1976,7 +1974,7 @@ yy175:
case '7':
case '8':
case '9': goto yy252;
- default: goto yy72;
+ default: goto yy71;
}
yy176:
++YYCURSOR;
@@ -1986,13 +1984,13 @@ yy176:
case '\t':
case ' ': goto yy176;
case '=': goto yy178;
- default: goto yy72;
+ default: goto yy71;
}
yy178:
++YYCURSOR;
#line 112 "rexx.--empty-class(match-none).re"
{ RETURN(OP_LE_STRICT); }
-#line 1996 "rexx.--empty-class(match-none).c"
+#line 1994 "rexx.--empty-class(match-none).c"
yy180:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -2001,23 +1999,23 @@ yy180:
case '\t':
case ' ': goto yy180;
case '=': goto yy182;
- default: goto yy72;
+ default: goto yy71;
}
yy182:
++YYCURSOR;
#line 110 "rexx.--empty-class(match-none).re"
{ RETURN(OP_GE_STRICT); }
-#line 2011 "rexx.--empty-class(match-none).c"
+#line 2009 "rexx.--empty-class(match-none).c"
yy184:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy254;
- default: goto yy10;
+ default: goto yy9;
}
yy185:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -2082,45 +2080,45 @@ yy185:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy186;
}
yy186:
#line 136 "rexx.--empty-class(match-none).re"
{ RETURN(RX_ARG); }
-#line 2093 "rexx.--empty-class(match-none).c"
+#line 2091 "rexx.--empty-class(match-none).c"
yy187:
yych = *++YYCURSOR;
switch (yych) {
case 'L':
case 'l': goto yy255;
- default: goto yy10;
+ default: goto yy9;
}
yy188:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
case 'i': goto yy257;
- default: goto yy10;
+ default: goto yy9;
}
yy189:
yych = *++YYCURSOR;
switch (yych) {
case 'P':
case 'p': goto yy258;
- default: goto yy10;
+ default: goto yy9;
}
yy190:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy260;
- default: goto yy10;
+ default: goto yy9;
}
yy191:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -2185,52 +2183,52 @@ yy191:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy192;
}
yy192:
#line 146 "rexx.--empty-class(match-none).re"
{ RETURN(RX_END); }
-#line 2196 "rexx.--empty-class(match-none).c"
+#line 2194 "rexx.--empty-class(match-none).c"
yy193:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
case 'i': goto yy262;
- default: goto yy10;
+ default: goto yy9;
}
yy194:
yych = *++YYCURSOR;
switch (yych) {
case 'O':
case 'o': goto yy263;
- default: goto yy10;
+ default: goto yy9;
}
yy195:
yych = *++YYCURSOR;
switch (yych) {
case 'T':
case 't': goto yy264;
- default: goto yy10;
+ default: goto yy9;
}
yy196:
yych = *++YYCURSOR;
switch (yych) {
case 'O':
case 'o': goto yy266;
- default: goto yy10;
+ default: goto yy9;
}
yy197:
yych = *++YYCURSOR;
switch (yych) {
case 'L':
case 'l': goto yy267;
- default: goto yy10;
+ default: goto yy9;
}
yy198:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -2291,8 +2289,8 @@ yy198:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
case 'E':
case 'e': goto yy268;
case 'M':
@@ -2302,59 +2300,59 @@ yy198:
yy199:
#line 206 "rexx.--empty-class(match-none).re"
{ RETURN(RXS_FOR); }
-#line 2306 "rexx.--empty-class(match-none).c"
+#line 2304 "rexx.--empty-class(match-none).c"
yy200:
yych = *++YYCURSOR;
switch (yych) {
case 'Z':
case 'z': goto yy271;
- default: goto yy10;
+ default: goto yy9;
}
yy201:
yych = *++YYCURSOR;
switch (yych) {
case 'T':
case 't': goto yy273;
- default: goto yy10;
+ default: goto yy9;
}
yy202:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy275;
- default: goto yy10;
+ default: goto yy9;
}
yy203:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy276;
- default: goto yy10;
+ default: goto yy9;
}
yy204:
yych = *++YYCURSOR;
switch (yych) {
case 'V':
case 'v': goto yy277;
- default: goto yy10;
+ default: goto yy9;
}
yy205:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy278;
- default: goto yy10;
+ default: goto yy9;
}
yy206:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy279;
- default: goto yy10;
+ default: goto yy9;
}
yy207:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -2419,38 +2417,38 @@ yy207:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy208;
}
yy208:
#line 158 "rexx.--empty-class(match-none).re"
{ RETURN(RX_NOP); }
-#line 2430 "rexx.--empty-class(match-none).c"
+#line 2428 "rexx.--empty-class(match-none).c"
yy209:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy281;
- default: goto yy10;
+ default: goto yy9;
}
yy210:
yych = *++YYCURSOR;
switch (yych) {
case 'A':
case 'a': goto yy282;
- default: goto yy10;
+ default: goto yy9;
}
yy211:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy283;
- default: goto yy10;
+ default: goto yy9;
}
yy212:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -2515,73 +2513,73 @@ yy212:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy213;
}
yy213:
#line 190 "rexx.--empty-class(match-none).re"
{ RETURN(RXS_OFF); }
-#line 2526 "rexx.--empty-class(match-none).c"
+#line 2524 "rexx.--empty-class(match-none).c"
yy214:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
case 'i': goto yy284;
- default: goto yy10;
+ default: goto yy9;
}
yy215:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy285;
- default: goto yy10;
+ default: goto yy9;
}
yy216:
yych = *++YYCURSOR;
switch (yych) {
case 'S':
case 's': goto yy286;
- default: goto yy10;
+ default: goto yy9;
}
yy217:
yych = *++YYCURSOR;
switch (yych) {
case 'C':
case 'c': goto yy287;
- default: goto yy10;
+ default: goto yy9;
}
yy218:
yych = *++YYCURSOR;
switch (yych) {
case 'L':
case 'l': goto yy288;
- default: goto yy10;
+ default: goto yy9;
}
yy219:
yych = *++YYCURSOR;
switch (yych) {
case 'H':
case 'h': goto yy290;
- default: goto yy10;
+ default: goto yy9;
}
yy220:
yych = *++YYCURSOR;
switch (yych) {
case 'U':
case 'u': goto yy292;
- default: goto yy10;
+ default: goto yy9;
}
yy221:
yych = *++YYCURSOR;
switch (yych) {
case 'U':
case 'u': goto yy293;
- default: goto yy10;
+ default: goto yy9;
}
yy222:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -2646,87 +2644,87 @@ yy222:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy223;
}
yy223:
#line 178 "rexx.--empty-class(match-none).re"
{ RETURN(RX_SAY); }
-#line 2657 "rexx.--empty-class(match-none).c"
+#line 2655 "rexx.--empty-class(match-none).c"
yy224:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy294;
- default: goto yy10;
+ default: goto yy9;
}
yy225:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy295;
- default: goto yy10;
+ default: goto yy9;
}
yy226:
yych = *++YYCURSOR;
switch (yych) {
case 'N':
case 'n': goto yy296;
- default: goto yy10;
+ default: goto yy9;
}
yy227:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy297;
- default: goto yy10;
+ default: goto yy9;
}
yy228:
yych = *++YYCURSOR;
switch (yych) {
case 'T':
case 't': goto yy298;
- default: goto yy10;
+ default: goto yy9;
}
yy229:
yych = *++YYCURSOR;
switch (yych) {
case 'N':
case 'n': goto yy299;
- default: goto yy10;
+ default: goto yy9;
}
yy230:
yych = *++YYCURSOR;
switch (yych) {
case 'C':
case 'c': goto yy301;
- default: goto yy10;
+ default: goto yy9;
}
yy231:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
case 'i': goto yy302;
- default: goto yy10;
+ default: goto yy9;
}
yy232:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy303;
- default: goto yy10;
+ default: goto yy9;
}
yy233:
yych = *++YYCURSOR;
switch (yych) {
case 'U':
case 'u': goto yy304;
- default: goto yy10;
+ default: goto yy9;
}
yy234:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -2791,41 +2789,41 @@ yy234:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy235;
}
yy235:
#line 238 "rexx.--empty-class(match-none).re"
{ RETURN(RXS_VAR); }
-#line 2802 "rexx.--empty-class(match-none).c"
+#line 2800 "rexx.--empty-class(match-none).c"
yy236:
yych = *++YYCURSOR;
switch (yych) {
case 'S':
case 's': goto yy305;
- default: goto yy10;
+ default: goto yy9;
}
yy237:
yych = *++YYCURSOR;
switch (yych) {
case 'N':
case 'n': goto yy306;
- default: goto yy10;
+ default: goto yy9;
}
yy238:
yych = *++YYCURSOR;
switch (yych) {
case 'L':
case 'l': goto yy308;
- default: goto yy10;
+ default: goto yy9;
}
yy239:
yych = *++YYCURSOR;
switch (yych) {
case 'H':
case 'h': goto yy309;
- default: goto yy10;
+ default: goto yy9;
}
yy240:
++YYCURSOR;
@@ -2835,7 +2833,7 @@ yy240:
case '\t':
case ' ': goto yy240;
case '<': goto yy182;
- default: goto yy72;
+ default: goto yy71;
}
yy242:
++YYCURSOR;
@@ -2845,13 +2843,13 @@ yy242:
case '\t':
case ' ': goto yy242;
case '=': goto yy244;
- default: goto yy72;
+ default: goto yy71;
}
yy244:
++YYCURSOR;
#line 104 "rexx.--empty-class(match-none).re"
{ RETURN(OP_EQUAL_EQ_N); }
-#line 2855 "rexx.--empty-class(match-none).c"
+#line 2853 "rexx.--empty-class(match-none).c"
yy246:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -2860,20 +2858,20 @@ yy246:
case '\t':
case ' ': goto yy246;
case '>': goto yy178;
- default: goto yy72;
+ default: goto yy71;
}
yy248:
++YYCURSOR;
- YYCURSOR = YYCTXMARKER;
+ YYCURSOR -= 1;
#line 257 "rexx.--empty-class(match-none).re"
{ RETURN(SU_LITERAL_BIN); }
-#line 2871 "rexx.--empty-class(match-none).c"
+#line 2869 "rexx.--empty-class(match-none).c"
yy250:
++YYCURSOR;
- YYCURSOR = YYCTXMARKER;
+ YYCURSOR -= 1;
#line 259 "rexx.--empty-class(match-none).re"
{ RETURN(SU_LITERAL_HEX); }
-#line 2877 "rexx.--empty-class(match-none).c"
+#line 2875 "rexx.--empty-class(match-none).c"
yy252:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -2889,18 +2887,18 @@ yy252:
case '7':
case '8':
case '9': goto yy252;
- default: goto yy32;
+ default: goto yy31;
}
yy254:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy311;
- default: goto yy10;
+ default: goto yy9;
}
yy255:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -2965,24 +2963,24 @@ yy255:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy256;
}
yy256:
#line 138 "rexx.--empty-class(match-none).re"
{ RETURN(RX_CALL); }
-#line 2976 "rexx.--empty-class(match-none).c"
+#line 2974 "rexx.--empty-class(match-none).c"
yy257:
yych = *++YYCURSOR;
switch (yych) {
case 'T':
case 't': goto yy312;
- default: goto yy10;
+ default: goto yy9;
}
yy258:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3047,17 +3045,17 @@ yy258:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy259;
}
yy259:
#line 142 "rexx.--empty-class(match-none).re"
{ RETURN(RX_DROP); }
-#line 3058 "rexx.--empty-class(match-none).c"
+#line 3056 "rexx.--empty-class(match-none).c"
yy260:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3122,31 +3120,31 @@ yy260:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy261;
}
yy261:
#line 144 "rexx.--empty-class(match-none).re"
{ RETURN(RX_ELSE); }
-#line 3133 "rexx.--empty-class(match-none).c"
+#line 3131 "rexx.--empty-class(match-none).c"
yy262:
yych = *++YYCURSOR;
switch (yych) {
case 'N':
case 'n': goto yy313;
- default: goto yy10;
+ default: goto yy9;
}
yy263:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy314;
- default: goto yy10;
+ default: goto yy9;
}
yy264:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3211,38 +3209,38 @@ yy264:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy265;
}
yy265:
#line 148 "rexx.--empty-class(match-none).re"
{ RETURN(RX_EXIT); }
-#line 3222 "rexx.--empty-class(match-none).c"
+#line 3220 "rexx.--empty-class(match-none).c"
yy266:
yych = *++YYCURSOR;
switch (yych) {
case 'S':
case 's': goto yy316;
- default: goto yy10;
+ default: goto yy9;
}
yy267:
yych = *++YYCURSOR;
switch (yych) {
case 'U':
case 'u': goto yy317;
- default: goto yy10;
+ default: goto yy9;
}
yy268:
yych = *++YYCURSOR;
switch (yych) {
case 'V':
case 'v': goto yy318;
- default: goto yy10;
+ default: goto yy9;
}
yy269:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3307,17 +3305,17 @@ yy269:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy270;
}
yy270:
#line 210 "rexx.--empty-class(match-none).re"
{ RETURN(RXS_FORM); }
-#line 3318 "rexx.--empty-class(match-none).c"
+#line 3316 "rexx.--empty-class(match-none).c"
yy271:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3382,17 +3380,17 @@ yy271:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy272;
}
yy272:
#line 212 "rexx.--empty-class(match-none).re"
{ RETURN(RXS_FUZZ); }
-#line 3393 "rexx.--empty-class(match-none).c"
+#line 3391 "rexx.--empty-class(match-none).c"
yy273:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3457,45 +3455,45 @@ yy273:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy274;
}
yy274:
#line 214 "rexx.--empty-class(match-none).re"
{ RETURN(RXS_HALT); }
-#line 3468 "rexx.--empty-class(match-none).c"
+#line 3466 "rexx.--empty-class(match-none).c"
yy275:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy319;
- default: goto yy10;
+ default: goto yy9;
}
yy276:
yych = *++YYCURSOR;
switch (yych) {
case 'A':
case 'a': goto yy320;
- default: goto yy10;
+ default: goto yy9;
}
yy277:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy321;
- default: goto yy10;
+ default: goto yy9;
}
yy278:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
case 'i': goto yy323;
- default: goto yy10;
+ default: goto yy9;
}
yy279:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3560,66 +3558,66 @@ yy279:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy280;
}
yy280:
#line 218 "rexx.--empty-class(match-none).re"
{ RETURN(RXS_NAME); }
-#line 3571 "rexx.--empty-class(match-none).c"
+#line 3569 "rexx.--empty-class(match-none).c"
yy281:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy324;
- default: goto yy10;
+ default: goto yy9;
}
yy282:
yych = *++YYCURSOR;
switch (yych) {
case 'L':
case 'l': goto yy325;
- default: goto yy10;
+ default: goto yy9;
}
yy283:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy326;
- default: goto yy10;
+ default: goto yy9;
}
yy284:
yych = *++YYCURSOR;
switch (yych) {
case 'O':
case 'o': goto yy327;
- default: goto yy10;
+ default: goto yy9;
}
yy285:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy328;
- default: goto yy10;
+ default: goto yy9;
}
yy286:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy329;
- default: goto yy10;
+ default: goto yy9;
}
yy287:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy331;
- default: goto yy10;
+ default: goto yy9;
}
yy288:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3684,17 +3682,17 @@ yy288:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy289;
}
yy289:
#line 170 "rexx.--empty-class(match-none).re"
{ RETURN(RX_PULL); }
-#line 3695 "rexx.--empty-class(match-none).c"
+#line 3693 "rexx.--empty-class(match-none).c"
yy290:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3759,66 +3757,66 @@ yy290:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy291;
}
yy291:
#line 172 "rexx.--empty-class(match-none).re"
{ RETURN(RX_PUSH); }
-#line 3770 "rexx.--empty-class(match-none).c"
+#line 3768 "rexx.--empty-class(match-none).c"
yy292:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy332;
- default: goto yy10;
+ default: goto yy9;
}
yy293:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy334;
- default: goto yy10;
+ default: goto yy9;
}
yy294:
yych = *++YYCURSOR;
switch (yych) {
case 'N':
case 'n': goto yy335;
- default: goto yy10;
+ default: goto yy9;
}
yy295:
yych = *++YYCURSOR;
switch (yych) {
case 'C':
case 'c': goto yy336;
- default: goto yy10;
+ default: goto yy9;
}
yy296:
yych = *++YYCURSOR;
switch (yych) {
case 'A':
case 'a': goto yy337;
- default: goto yy10;
+ default: goto yy9;
}
yy297:
yych = *++YYCURSOR;
switch (yych) {
case 'C':
case 'c': goto yy338;
- default: goto yy10;
+ default: goto yy9;
}
yy298:
yych = *++YYCURSOR;
switch (yych) {
case 'A':
case 'a': goto yy339;
- default: goto yy10;
+ default: goto yy9;
}
yy299:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3883,52 +3881,52 @@ yy299:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy300;
}
yy300:
#line 184 "rexx.--empty-class(match-none).re"
{ RETURN(RX_THEN); }
-#line 3894 "rexx.--empty-class(match-none).c"
+#line 3892 "rexx.--empty-class(match-none).c"
yy301:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy340;
- default: goto yy10;
+ default: goto yy9;
}
yy302:
yych = *++YYCURSOR;
switch (yych) {
case 'L':
case 'l': goto yy342;
- default: goto yy10;
+ default: goto yy9;
}
yy303:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy344;
- default: goto yy10;
+ default: goto yy9;
}
yy304:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy346;
- default: goto yy10;
+ default: goto yy9;
}
yy305:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
case 'i': goto yy348;
- default: goto yy10;
+ default: goto yy9;
}
yy306:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3993,24 +3991,24 @@ yy306:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy307;
}
yy307:
#line 188 "rexx.--empty-class(match-none).re"
{ RETURN(RX_WHEN); }
-#line 4004 "rexx.--empty-class(match-none).c"
+#line 4002 "rexx.--empty-class(match-none).c"
yy308:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy349;
- default: goto yy10;
+ default: goto yy9;
}
yy309:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4075,38 +4073,38 @@ yy309:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy310;
}
yy310:
#line 244 "rexx.--empty-class(match-none).re"
{ RETURN(RXS_WITH); }
-#line 4086 "rexx.--empty-class(match-none).c"
+#line 4084 "rexx.--empty-class(match-none).c"
yy311:
yych = *++YYCURSOR;
switch (yych) {
case 'S':
case 's': goto yy351;
- default: goto yy10;
+ default: goto yy9;
}
yy312:
yych = *++YYCURSOR;
switch (yych) {
case 'S':
case 's': goto yy352;
- default: goto yy10;
+ default: goto yy9;
}
yy313:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy354;
- default: goto yy10;
+ default: goto yy9;
}
yy314:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4171,52 +4169,52 @@ yy314:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy315;
}
yy315:
#line 200 "rexx.--empty-class(match-none).re"
{ RETURN(RXS_ERROR); }
-#line 4182 "rexx.--empty-class(match-none).c"
+#line 4180 "rexx.--empty-class(match-none).c"
yy316:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy355;
- default: goto yy10;
+ default: goto yy9;
}
yy317:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy357;
- default: goto yy10;
+ default: goto yy9;
}
yy318:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy358;
- default: goto yy10;
+ default: goto yy9;
}
yy319:
yych = *++YYCURSOR;
switch (yych) {
case 'P':
case 'p': goto yy359;
- default: goto yy10;
+ default: goto yy9;
}
yy320:
yych = *++YYCURSOR;
switch (yych) {
case 'T':
case 't': goto yy360;
- default: goto yy10;
+ default: goto yy9;
}
yy321:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4281,59 +4279,59 @@ yy321:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy322;
}
yy322:
#line 156 "rexx.--empty-class(match-none).re"
{ RETURN(RX_LEAVE); }
-#line 4292 "rexx.--empty-class(match-none).c"
+#line 4290 "rexx.--empty-class(match-none).c"
yy323:
yych = *++YYCURSOR;
switch (yych) {
case 'N':
case 'n': goto yy361;
- default: goto yy10;
+ default: goto yy9;
}
yy324:
yych = *++YYCURSOR;
switch (yych) {
case 'A':
case 'a': goto yy363;
- default: goto yy10;
+ default: goto yy9;
}
yy325:
yych = *++YYCURSOR;
switch (yych) {
case 'U':
case 'u': goto yy364;
- default: goto yy10;
+ default: goto yy9;
}
yy326:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
case 'i': goto yy365;
- default: goto yy10;
+ default: goto yy9;
}
yy327:
yych = *++YYCURSOR;
switch (yych) {
case 'N':
case 'n': goto yy366;
- default: goto yy10;
+ default: goto yy9;
}
yy328:
yych = *++YYCURSOR;
switch (yych) {
case 'W':
case 'w': goto yy367;
- default: goto yy10;
+ default: goto yy9;
}
yy329:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4398,24 +4396,24 @@ yy329:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy330;
}
yy330:
#line 166 "rexx.--empty-class(match-none).re"
{ RETURN(RX_PARSE); }
-#line 4409 "rexx.--empty-class(match-none).c"
+#line 4407 "rexx.--empty-class(match-none).c"
yy331:
yych = *++YYCURSOR;
switch (yych) {
case 'D':
case 'd': goto yy368;
- default: goto yy10;
+ default: goto yy9;
}
yy332:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4480,59 +4478,59 @@ yy332:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy333;
}
yy333:
#line 174 "rexx.--empty-class(match-none).re"
{ RETURN(RX_QUEUE); }
-#line 4491 "rexx.--empty-class(match-none).c"
+#line 4489 "rexx.--empty-class(match-none).c"
yy334:
yych = *++YYCURSOR;
switch (yych) {
case 'N':
case 'n': goto yy369;
- default: goto yy10;
+ default: goto yy9;
}
yy335:
yych = *++YYCURSOR;
switch (yych) {
case 'T':
case 't': goto yy371;
- default: goto yy10;
+ default: goto yy9;
}
yy336:
yych = *++YYCURSOR;
switch (yych) {
case 'T':
case 't': goto yy372;
- default: goto yy10;
+ default: goto yy9;
}
yy337:
yych = *++YYCURSOR;
switch (yych) {
case 'L':
case 'l': goto yy374;
- default: goto yy10;
+ default: goto yy9;
}
yy338:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy376;
- default: goto yy10;
+ default: goto yy9;
}
yy339:
yych = *++YYCURSOR;
switch (yych) {
case 'X':
case 'x': goto yy378;
- default: goto yy10;
+ default: goto yy9;
}
yy340:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4597,17 +4595,17 @@ yy340:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy341;
}
yy341:
#line 186 "rexx.--empty-class(match-none).re"
{ RETURN(RX_TRACE); }
-#line 4608 "rexx.--empty-class(match-none).c"
+#line 4606 "rexx.--empty-class(match-none).c"
yy342:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4672,17 +4670,17 @@ yy342:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy343;
}
yy343:
#line 232 "rexx.--empty-class(match-none).re"
{ RETURN(RXS_UNTIL); }
-#line 4683 "rexx.--empty-class(match-none).c"
+#line 4681 "rexx.--empty-class(match-none).c"
yy344:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4747,17 +4745,17 @@ yy344:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy345;
}
yy345:
#line 234 "rexx.--empty-class(match-none).re"
{ RETURN(RXS_UPPER); }
-#line 4758 "rexx.--empty-class(match-none).c"
+#line 4756 "rexx.--empty-class(match-none).c"
yy346:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4822,24 +4820,24 @@ yy346:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy347;
}
yy347:
#line 236 "rexx.--empty-class(match-none).re"
{ RETURN(RXS_VALUE); }
-#line 4833 "rexx.--empty-class(match-none).c"
+#line 4831 "rexx.--empty-class(match-none).c"
yy348:
yych = *++YYCURSOR;
switch (yych) {
case 'O':
case 'o': goto yy380;
- default: goto yy10;
+ default: goto yy9;
}
yy349:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4904,24 +4902,24 @@ yy349:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy350;
}
yy350:
#line 242 "rexx.--empty-class(match-none).re"
{ RETURN(RXS_WHILE); }
-#line 4915 "rexx.--empty-class(match-none).c"
+#line 4913 "rexx.--empty-class(match-none).c"
yy351:
yych = *++YYCURSOR;
switch (yych) {
case 'S':
case 's': goto yy381;
- default: goto yy10;
+ default: goto yy9;
}
yy352:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4986,24 +4984,24 @@ yy352:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy353;
}
yy353:
#line 196 "rexx.--empty-class(match-none).re"
{ RETURN(RXS_DIGITS); }
-#line 4997 "rexx.--empty-class(match-none).c"
+#line 4995 "rexx.--empty-class(match-none).c"
yy354:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy383;
- default: goto yy10;
+ default: goto yy9;
}
yy355:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5068,45 +5066,45 @@ yy355:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy356;
}
yy356:
#line 202 "rexx.--empty-class(match-none).re"
{ RETURN(RXS_EXPOSE); }
-#line 5079 "rexx.--empty-class(match-none).c"
+#line 5077 "rexx.--empty-class(match-none).c"
yy357:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy384;
- default: goto yy10;
+ default: goto yy9;
}
yy358:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy386;
- default: goto yy10;
+ default: goto yy9;
}
yy359:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy388;
- default: goto yy10;
+ default: goto yy9;
}
yy360:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy389;
- default: goto yy10;
+ default: goto yy9;
}
yy361:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5171,59 +5169,59 @@ yy361:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy362;
}
yy362:
#line 216 "rexx.--empty-class(match-none).re"
{ RETURN(RXS_LINEIN); }
-#line 5182 "rexx.--empty-class(match-none).c"
+#line 5180 "rexx.--empty-class(match-none).c"
yy363:
yych = *++YYCURSOR;
switch (yych) {
case 'D':
case 'd': goto yy391;
- default: goto yy10;
+ default: goto yy9;
}
yy364:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy392;
- default: goto yy10;
+ default: goto yy9;
}
yy365:
yych = *++YYCURSOR;
switch (yych) {
case 'C':
case 'c': goto yy394;
- default: goto yy10;
+ default: goto yy9;
}
yy366:
yych = *++YYCURSOR;
switch (yych) {
case 'S':
case 's': goto yy396;
- default: goto yy10;
+ default: goto yy9;
}
yy367:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
case 'i': goto yy398;
- default: goto yy10;
+ default: goto yy9;
}
yy368:
yych = *++YYCURSOR;
switch (yych) {
case 'U':
case 'u': goto yy399;
- default: goto yy10;
+ default: goto yy9;
}
yy369:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5288,24 +5286,24 @@ yy369:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy370;
}
yy370:
#line 176 "rexx.--empty-class(match-none).re"
{ RETURN(RX_RETURN); }
-#line 5299 "rexx.--empty-class(match-none).c"
+#line 5297 "rexx.--empty-class(match-none).c"
yy371:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
case 'i': goto yy400;
- default: goto yy10;
+ default: goto yy9;
}
yy372:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5370,17 +5368,17 @@ yy372:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy373;
}
yy373:
#line 180 "rexx.--empty-class(match-none).re"
{ RETURN(RX_SELECT); }
-#line 5381 "rexx.--empty-class(match-none).c"
+#line 5379 "rexx.--empty-class(match-none).c"
yy374:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5445,17 +5443,17 @@ yy374:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy375;
}
yy375:
#line 182 "rexx.--empty-class(match-none).re"
{ RETURN(RX_SIGNAL); }
-#line 5456 "rexx.--empty-class(match-none).c"
+#line 5454 "rexx.--empty-class(match-none).c"
yy376:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5520,17 +5518,17 @@ yy376:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy377;
}
yy377:
#line 226 "rexx.--empty-class(match-none).re"
{ RETURN(RXS_SOURCE); }
-#line 5531 "rexx.--empty-class(match-none).c"
+#line 5529 "rexx.--empty-class(match-none).c"
yy378:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5595,24 +5593,24 @@ yy378:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy379;
}
yy379:
#line 228 "rexx.--empty-class(match-none).re"
{ RETURN(RXS_SYNTAX); }
-#line 5606 "rexx.--empty-class(match-none).c"
+#line 5604 "rexx.--empty-class(match-none).c"
yy380:
yych = *++YYCURSOR;
switch (yych) {
case 'N':
case 'n': goto yy401;
- default: goto yy10;
+ default: goto yy9;
}
yy381:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5677,24 +5675,24 @@ yy381:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy382;
}
yy382:
#line 134 "rexx.--empty-class(match-none).re"
{ RETURN(RX_ADDRESS); }
-#line 5688 "rexx.--empty-class(match-none).c"
+#line 5686 "rexx.--empty-class(match-none).c"
yy383:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy403;
- default: goto yy10;
+ default: goto yy9;
}
yy384:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5759,17 +5757,17 @@ yy384:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy385;
}
yy385:
#line 204 "rexx.--empty-class(match-none).re"
{ RETURN(RXS_FAILURE); }
-#line 5770 "rexx.--empty-class(match-none).c"
+#line 5768 "rexx.--empty-class(match-none).c"
yy386:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5834,24 +5832,24 @@ yy386:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy387;
}
yy387:
#line 208 "rexx.--empty-class(match-none).re"
{ RETURN(RXS_FOREVER); }
-#line 5845 "rexx.--empty-class(match-none).c"
+#line 5843 "rexx.--empty-class(match-none).c"
yy388:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy404;
- default: goto yy10;
+ default: goto yy9;
}
yy389:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5916,24 +5914,24 @@ yy389:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy390;
}
yy390:
#line 154 "rexx.--empty-class(match-none).re"
{ RETURN(RX_ITERATE); }
-#line 5927 "rexx.--empty-class(match-none).c"
+#line 5925 "rexx.--empty-class(match-none).c"
yy391:
yych = *++YYCURSOR;
switch (yych) {
case 'Y':
case 'y': goto yy405;
- default: goto yy10;
+ default: goto yy9;
}
yy392:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5998,17 +5996,17 @@ yy392:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy393;
}
yy393:
#line 222 "rexx.--empty-class(match-none).re"
{ RETURN(RXS_NOVALUE); }
-#line 6009 "rexx.--empty-class(match-none).c"
+#line 6007 "rexx.--empty-class(match-none).c"
yy394:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -6073,17 +6071,17 @@ yy394:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy395;
}
yy395:
#line 160 "rexx.--empty-class(match-none).re"
{ RETURN(RX_NUMERIC); }
-#line 6084 "rexx.--empty-class(match-none).c"
+#line 6082 "rexx.--empty-class(match-none).c"
yy396:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -6148,38 +6146,38 @@ yy396:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy397;
}
yy397:
#line 162 "rexx.--empty-class(match-none).re"
{ RETURN(RX_OPTIONS); }
-#line 6159 "rexx.--empty-class(match-none).c"
+#line 6157 "rexx.--empty-class(match-none).c"
yy398:
yych = *++YYCURSOR;
switch (yych) {
case 'S':
case 's': goto yy407;
- default: goto yy10;
+ default: goto yy9;
}
yy399:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy408;
- default: goto yy10;
+ default: goto yy9;
}
yy400:
yych = *++YYCURSOR;
switch (yych) {
case 'F':
case 'f': goto yy409;
- default: goto yy10;
+ default: goto yy9;
}
yy401:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -6244,31 +6242,31 @@ yy401:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy402;
}
yy402:
#line 240 "rexx.--empty-class(match-none).re"
{ RETURN(RXS_VERSION); }
-#line 6255 "rexx.--empty-class(match-none).c"
+#line 6253 "rexx.--empty-class(match-none).c"
yy403:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
case 'i': goto yy410;
- default: goto yy10;
+ default: goto yy9;
}
yy404:
yych = *++YYCURSOR;
switch (yych) {
case 'T':
case 't': goto yy411;
- default: goto yy10;
+ default: goto yy9;
}
yy405:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -6333,45 +6331,45 @@ yy405:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy406;
}
yy406:
#line 220 "rexx.--empty-class(match-none).re"
{ RETURN(RXS_NOTREADY); }
-#line 6344 "rexx.--empty-class(match-none).c"
+#line 6342 "rexx.--empty-class(match-none).c"
yy407:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy413;
- default: goto yy10;
+ default: goto yy9;
}
yy408:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy415;
- default: goto yy10;
+ default: goto yy9;
}
yy409:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
case 'i': goto yy417;
- default: goto yy10;
+ default: goto yy9;
}
yy410:
yych = *++YYCURSOR;
switch (yych) {
case 'N':
case 'n': goto yy418;
- default: goto yy10;
+ default: goto yy9;
}
yy411:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -6436,17 +6434,17 @@ yy411:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy412;
}
yy412:
#line 152 "rexx.--empty-class(match-none).re"
{ RETURN(RX_INTERPRET); }
-#line 6447 "rexx.--empty-class(match-none).c"
+#line 6445 "rexx.--empty-class(match-none).c"
yy413:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -6511,17 +6509,17 @@ yy413:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy414;
}
yy414:
#line 164 "rexx.--empty-class(match-none).re"
{ RETURN(RX_OTHERWISE); }
-#line 6522 "rexx.--empty-class(match-none).c"
+#line 6520 "rexx.--empty-class(match-none).c"
yy415:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -6586,31 +6584,31 @@ yy415:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy416;
}
yy416:
#line 168 "rexx.--empty-class(match-none).re"
{ RETURN(RX_PROCEDURE); }
-#line 6597 "rexx.--empty-class(match-none).c"
+#line 6595 "rexx.--empty-class(match-none).c"
yy417:
yych = *++YYCURSOR;
switch (yych) {
case 'C':
case 'c': goto yy419;
- default: goto yy10;
+ default: goto yy9;
}
yy418:
yych = *++YYCURSOR;
switch (yych) {
case 'G':
case 'g': goto yy421;
- default: goto yy10;
+ default: goto yy9;
}
yy419:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -6675,17 +6673,17 @@ yy419:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy420;
}
yy420:
#line 224 "rexx.--empty-class(match-none).re"
{ RETURN(RXS_SCIENTIFIC); }
-#line 6686 "rexx.--empty-class(match-none).c"
+#line 6684 "rexx.--empty-class(match-none).c"
yy421:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -6750,14 +6748,14 @@ yy421:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy422;
}
yy422:
#line 198 "rexx.--empty-class(match-none).re"
{ RETURN(RXS_ENGINEERING); }
-#line 6761 "rexx.--empty-class(match-none).c"
+#line 6759 "rexx.--empty-class(match-none).c"
}
#line 265 "rexx.--empty-class(match-none).re"
@@ -6771,7 +6769,7 @@ bool StripToken(){
ScanCB.eot = cursor;
strip:
-#line 6775 "rexx.--empty-class(match-none).c"
+#line 6773 "rexx.--empty-class(match-none).c"
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
@@ -6791,12 +6789,12 @@ yy426:
blanks = TRUE;
goto strip;
}
-#line 6795 "rexx.--empty-class(match-none).c"
+#line 6793 "rexx.--empty-class(match-none).c"
yy428:
++YYCURSOR;
#line 282 "rexx.--empty-class(match-none).re"
{ goto strip; }
-#line 6800 "rexx.--empty-class(match-none).c"
+#line 6798 "rexx.--empty-class(match-none).c"
yy430:
yych = *++YYCURSOR;
switch (yych) {
@@ -6810,14 +6808,14 @@ yy431:
depth = 1;
goto comment;
}
-#line 6814 "rexx.--empty-class(match-none).c"
+#line 6812 "rexx.--empty-class(match-none).c"
}
#line 290 "rexx.--empty-class(match-none).re"
comment:
-#line 6821 "rexx.--empty-class(match-none).c"
+#line 6819 "rexx.--empty-class(match-none).c"
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
@@ -6833,7 +6831,7 @@ yy435:
++YYCURSOR;
#line 313 "rexx.--empty-class(match-none).re"
{ RETURN(blanks); }
-#line 6837 "rexx.--empty-class(match-none).c"
+#line 6835 "rexx.--empty-class(match-none).c"
yy437:
++YYCURSOR;
yy438:
@@ -6841,7 +6839,7 @@ yy438:
{
goto comment;
}
-#line 6845 "rexx.--empty-class(match-none).c"
+#line 6843 "rexx.--empty-class(match-none).c"
yy439:
++YYCURSOR;
#line 302 "rexx.--empty-class(match-none).re"
@@ -6850,7 +6848,7 @@ yy439:
ScanCB.linePos = ScanCB.pos + (cursor - ScanCB.mrk);
goto comment;
}
-#line 6854 "rexx.--empty-class(match-none).c"
+#line 6852 "rexx.--empty-class(match-none).c"
yy441:
yych = *++YYCURSOR;
switch (yych) {
@@ -6872,7 +6870,7 @@ yy443:
else
goto comment;
}
-#line 6876 "rexx.--empty-class(match-none).c"
+#line 6874 "rexx.--empty-class(match-none).c"
yy445:
++YYCURSOR;
#line 308 "rexx.--empty-class(match-none).re"
@@ -6880,7 +6878,7 @@ yy445:
++depth;
goto comment;
}
-#line 6884 "rexx.--empty-class(match-none).c"
+#line 6882 "rexx.--empty-class(match-none).c"
}
#line 318 "rexx.--empty-class(match-none).re"
diff --git a/test/rexx.--skeleton.c b/test/rexx.--skeleton.c
index 9d2d53f4..bc6ea524 100644
--- a/test/rexx.--skeleton.c
+++ b/test/rexx.--skeleton.c
@@ -1,7 +1,9 @@
/* Generated by re2c */
+#include <stddef.h> /* size_t */
#include <stdio.h>
#include <stdlib.h> /* malloc, free */
+#include <string.h> /* memcpy */
static void *read_file
( const char *fname
@@ -60,7 +62,7 @@ error:
#define YYFILL(n) { break; }
static int action_line265
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -68,10 +70,12 @@ static int action_line265
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -81,17 +85,17 @@ static int action_line265
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line265: at position %ld (iteration %u):\n"
+ , "error: lex_line265: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -101,6 +105,13 @@ static int action_line265
}
}
+static int check_key_count_line265(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line265: not enough keys\n");
+ return 1;
+}
+
int lex_line265()
{
const size_t padding = 13; /* YYMAXFILL */
@@ -128,7 +139,7 @@ int lex_line265()
keys = (YYKEYTYPE *) read_file
("rexx.--skeleton.c.line265.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -141,7 +152,7 @@ int lex_line265()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
const YYCTYPE *ctxmarker = NULL;
@@ -151,8 +162,8 @@ int lex_line265()
if (YYLESSTHAN (13)) YYFILL(13);
yych = YYPEEK ();
switch (yych) {
- case 0x00: goto yy3;
- case '\n': goto yy7;
+ case 0x00: goto yy2;
+ case '\n': goto yy6;
case '!':
case '?':
case 'G':
@@ -169,17 +180,17 @@ int lex_line265()
case 'm':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '"': goto yy12;
- case '%': goto yy13;
- case '&': goto yy15;
- case '\'': goto yy17;
- case '(': goto yy18;
- case ')': goto yy20;
- case '*': goto yy22;
- case '+': goto yy24;
- case ',': goto yy26;
- case '-': goto yy28;
+ case 'z': goto yy8;
+ case '"': goto yy11;
+ case '%': goto yy12;
+ case '&': goto yy14;
+ case '\'': goto yy16;
+ case '(': goto yy17;
+ case ')': goto yy19;
+ case '*': goto yy21;
+ case '+': goto yy23;
+ case ',': goto yy25;
+ case '-': goto yy27;
case '.':
case '0':
case '1':
@@ -190,77 +201,77 @@ int lex_line265()
case '6':
case '7':
case '8':
- case '9': goto yy30;
- case '/': goto yy33;
- case ':': goto yy35;
- case ';': goto yy37;
- case '<': goto yy39;
- case '=': goto yy41;
- case '>': goto yy43;
+ case '9': goto yy29;
+ case '/': goto yy32;
+ case ':': goto yy34;
+ case ';': goto yy36;
+ case '<': goto yy38;
+ case '=': goto yy40;
+ case '>': goto yy42;
case 'A':
- case 'a': goto yy45;
+ case 'a': goto yy44;
case 'B':
- case 'b': goto yy46;
+ case 'b': goto yy45;
case 'C':
- case 'c': goto yy47;
+ case 'c': goto yy46;
case 'D':
- case 'd': goto yy48;
+ case 'd': goto yy47;
case 'E':
- case 'e': goto yy49;
+ case 'e': goto yy48;
case 'F':
- case 'f': goto yy50;
+ case 'f': goto yy49;
case 'H':
- case 'h': goto yy51;
+ case 'h': goto yy50;
case 'I':
- case 'i': goto yy52;
+ case 'i': goto yy51;
case 'L':
- case 'l': goto yy53;
+ case 'l': goto yy52;
case 'N':
- case 'n': goto yy54;
+ case 'n': goto yy53;
case 'O':
- case 'o': goto yy55;
+ case 'o': goto yy54;
case 'P':
- case 'p': goto yy56;
+ case 'p': goto yy55;
case 'Q':
- case 'q': goto yy57;
+ case 'q': goto yy56;
case 'R':
- case 'r': goto yy58;
+ case 'r': goto yy57;
case 'S':
- case 's': goto yy59;
+ case 's': goto yy58;
case 'T':
- case 't': goto yy60;
+ case 't': goto yy59;
case 'U':
- case 'u': goto yy61;
+ case 'u': goto yy60;
case 'V':
- case 'v': goto yy62;
+ case 'v': goto yy61;
case 'W':
- case 'w': goto yy63;
+ case 'w': goto yy62;
case '\\':
- case '~': goto yy64;
- case '|': goto yy66;
- default: goto yy5;
+ case '~': goto yy63;
+ case '|': goto yy65;
+ default: goto yy4;
}
yy2:
- status = action_line265(i, keys, input, token, &cursor, 89);
- continue;
-yy3:
YYSKIP ();
- status = action_line265(i, keys, input, token, &cursor, 93);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 93);
continue;
-yy5:
+yy4:
YYSKIP ();
-yy6:
- status = action_line265(i, keys, input, token, &cursor, 94);
+yy5:
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 94);
continue;
-yy7:
+yy6:
YYSKIP ();
- status = action_line265(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 0);
continue;
-yy9:
+yy8:
YYSKIP ();
if (YYLESSTHAN (2)) YYFILL(2);
yych = YYPEEK ();
-yy10:
+yy9:
switch (yych) {
case '!':
case '0':
@@ -326,86 +337,95 @@ yy10:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
- default: goto yy11;
+ case 'z': goto yy8;
+ case '.': goto yy67;
+ default: goto yy10;
}
-yy11:
- status = action_line265(i, keys, input, token, &cursor, 87);
+yy10:
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 87);
continue;
-yy12:
+yy11:
yyaccept = 0;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 0x00:
- case '\n': goto yy6;
- default: goto yy71;
+ case '\n': goto yy5;
+ default: goto yy70;
}
-yy13:
+yy12:
YYSKIP ();
- status = action_line265(i, keys, input, token, &cursor, 6);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 6);
continue;
-yy15:
+yy14:
yyaccept = 1;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case '\t':
- case ' ': goto yy75;
- case '&': goto yy77;
- default: goto yy16;
+ case ' ': goto yy74;
+ case '&': goto yy76;
+ default: goto yy15;
}
-yy16:
- status = action_line265(i, keys, input, token, &cursor, 21);
+yy15:
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 21);
continue;
-yy17:
+yy16:
yyaccept = 0;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case 0x00:
- case '\n': goto yy6;
- default: goto yy80;
+ case '\n': goto yy5;
+ default: goto yy79;
}
-yy18:
+yy17:
YYSKIP ();
- status = action_line265(i, keys, input, token, &cursor, 27);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 27);
continue;
-yy20:
+yy19:
YYSKIP ();
- status = action_line265(i, keys, input, token, &cursor, 28);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 28);
continue;
-yy22:
+yy21:
yyaccept = 2;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case '\t':
- case ' ': goto yy82;
- case '*': goto yy84;
- default: goto yy23;
+ case ' ': goto yy81;
+ case '*': goto yy83;
+ default: goto yy22;
}
-yy23:
- status = action_line265(i, keys, input, token, &cursor, 4);
+yy22:
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 4);
continue;
-yy24:
+yy23:
YYSKIP ();
- status = action_line265(i, keys, input, token, &cursor, 2);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 2);
continue;
-yy26:
+yy25:
YYSKIP ();
- status = action_line265(i, keys, input, token, &cursor, 26);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 26);
continue;
-yy28:
+yy27:
YYSKIP ();
- status = action_line265(i, keys, input, token, &cursor, 3);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 3);
continue;
-yy30:
+yy29:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
@@ -473,37 +493,41 @@ yy30:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy30;
+ case 'z': goto yy29;
case 'E':
- case 'e': goto yy86;
- default: goto yy32;
+ case 'e': goto yy85;
+ default: goto yy31;
}
-yy32:
- status = action_line265(i, keys, input, token, &cursor, 86);
+yy31:
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 86);
continue;
-yy33:
+yy32:
yyaccept = 3;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case '\t':
- case ' ': goto yy88;
- case '/': goto yy90;
- default: goto yy34;
+ case ' ': goto yy87;
+ case '/': goto yy89;
+ default: goto yy33;
}
-yy34:
- status = action_line265(i, keys, input, token, &cursor, 5);
+yy33:
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 5);
continue;
-yy35:
+yy34:
YYSKIP ();
- status = action_line265(i, keys, input, token, &cursor, 25);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 25);
continue;
-yy37:
+yy36:
YYSKIP ();
- status = action_line265(i, keys, input, token, &cursor, 29);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 29);
continue;
-yy39:
+yy38:
yyaccept = 4;
YYSKIP ();
YYBACKUP ();
@@ -513,27 +537,29 @@ yy39:
case ' ':
case '<':
case '=':
- case '>': goto yy93;
- default: goto yy40;
+ case '>': goto yy92;
+ default: goto yy39;
}
-yy40:
- status = action_line265(i, keys, input, token, &cursor, 12);
+yy39:
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 12);
continue;
-yy41:
+yy40:
yyaccept = 5;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case '\t':
- case ' ': goto yy100;
- case '=': goto yy102;
- default: goto yy42;
+ case ' ': goto yy99;
+ case '=': goto yy101;
+ default: goto yy41;
}
-yy42:
- status = action_line265(i, keys, input, token, &cursor, 9);
+yy41:
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 9);
continue;
-yy43:
+yy42:
yyaccept = 6;
YYSKIP ();
YYBACKUP ();
@@ -543,221 +569,222 @@ yy43:
case ' ':
case '<':
case '=':
- case '>': goto yy105;
- default: goto yy44;
+ case '>': goto yy104;
+ default: goto yy43;
}
-yy44:
- status = action_line265(i, keys, input, token, &cursor, 11);
+yy43:
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 11);
continue;
-yy45:
+yy44:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'D':
- case 'd': goto yy110;
+ case 'd': goto yy109;
case 'R':
- case 'r': goto yy111;
- default: goto yy10;
+ case 'r': goto yy110;
+ default: goto yy9;
}
-yy46:
+yy45:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'Y':
- case 'y': goto yy112;
- default: goto yy10;
+ case 'y': goto yy111;
+ default: goto yy9;
}
-yy47:
+yy46:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'A':
- case 'a': goto yy114;
- default: goto yy10;
+ case 'a': goto yy113;
+ default: goto yy9;
}
-yy48:
+yy47:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'I':
- case 'i': goto yy115;
+ case 'i': goto yy114;
case 'O':
- case 'o': goto yy116;
+ case 'o': goto yy115;
case 'R':
- case 'r': goto yy118;
- default: goto yy10;
+ case 'r': goto yy117;
+ default: goto yy9;
}
-yy49:
+yy48:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'L':
- case 'l': goto yy119;
+ case 'l': goto yy118;
case 'N':
- case 'n': goto yy120;
+ case 'n': goto yy119;
case 'R':
- case 'r': goto yy121;
+ case 'r': goto yy120;
case 'X':
- case 'x': goto yy122;
- default: goto yy10;
+ case 'x': goto yy121;
+ default: goto yy9;
}
-yy50:
+yy49:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'A':
- case 'a': goto yy123;
+ case 'a': goto yy122;
case 'O':
- case 'o': goto yy124;
+ case 'o': goto yy123;
case 'U':
- case 'u': goto yy125;
- default: goto yy10;
+ case 'u': goto yy124;
+ default: goto yy9;
}
-yy51:
+yy50:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'A':
- case 'a': goto yy126;
- default: goto yy10;
+ case 'a': goto yy125;
+ default: goto yy9;
}
-yy52:
+yy51:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'F':
- case 'f': goto yy127;
+ case 'f': goto yy126;
case 'N':
- case 'n': goto yy129;
+ case 'n': goto yy128;
case 'T':
- case 't': goto yy130;
- default: goto yy10;
+ case 't': goto yy129;
+ default: goto yy9;
}
-yy53:
+yy52:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'E':
- case 'e': goto yy131;
+ case 'e': goto yy130;
case 'I':
- case 'i': goto yy132;
- default: goto yy10;
+ case 'i': goto yy131;
+ default: goto yy9;
}
-yy54:
+yy53:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'A':
- case 'a': goto yy133;
+ case 'a': goto yy132;
case 'O':
- case 'o': goto yy134;
+ case 'o': goto yy133;
case 'U':
- case 'u': goto yy135;
- default: goto yy10;
+ case 'u': goto yy134;
+ default: goto yy9;
}
-yy55:
+yy54:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'F':
- case 'f': goto yy136;
+ case 'f': goto yy135;
case 'N':
- case 'n': goto yy137;
+ case 'n': goto yy136;
case 'P':
- case 'p': goto yy139;
+ case 'p': goto yy138;
case 'T':
- case 't': goto yy140;
- default: goto yy10;
+ case 't': goto yy139;
+ default: goto yy9;
}
-yy56:
+yy55:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'A':
- case 'a': goto yy141;
+ case 'a': goto yy140;
case 'R':
- case 'r': goto yy142;
+ case 'r': goto yy141;
case 'U':
- case 'u': goto yy143;
- default: goto yy10;
+ case 'u': goto yy142;
+ default: goto yy9;
}
-yy57:
+yy56:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'U':
- case 'u': goto yy144;
- default: goto yy10;
+ case 'u': goto yy143;
+ default: goto yy9;
}
-yy58:
+yy57:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'E':
- case 'e': goto yy145;
- default: goto yy10;
+ case 'e': goto yy144;
+ default: goto yy9;
}
-yy59:
+yy58:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'A':
- case 'a': goto yy146;
+ case 'a': goto yy145;
case 'C':
- case 'c': goto yy147;
+ case 'c': goto yy146;
case 'E':
- case 'e': goto yy148;
+ case 'e': goto yy147;
case 'I':
- case 'i': goto yy149;
+ case 'i': goto yy148;
case 'O':
- case 'o': goto yy150;
+ case 'o': goto yy149;
case 'Y':
- case 'y': goto yy151;
- default: goto yy10;
+ case 'y': goto yy150;
+ default: goto yy9;
}
-yy60:
+yy59:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'H':
- case 'h': goto yy152;
+ case 'h': goto yy151;
case 'O':
- case 'o': goto yy153;
+ case 'o': goto yy152;
case 'R':
- case 'r': goto yy155;
- default: goto yy10;
+ case 'r': goto yy154;
+ default: goto yy9;
}
-yy61:
+yy60:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'N':
- case 'n': goto yy156;
+ case 'n': goto yy155;
case 'P':
- case 'p': goto yy157;
- default: goto yy10;
+ case 'p': goto yy156;
+ default: goto yy9;
}
-yy62:
+yy61:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'A':
- case 'a': goto yy158;
+ case 'a': goto yy157;
case 'E':
- case 'e': goto yy159;
- default: goto yy10;
+ case 'e': goto yy158;
+ default: goto yy9;
}
-yy63:
+yy62:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'H':
- case 'h': goto yy160;
+ case 'h': goto yy159;
case 'I':
- case 'i': goto yy161;
- default: goto yy10;
+ case 'i': goto yy160;
+ default: goto yy9;
}
-yy64:
+yy63:
yyaccept = 7;
YYSKIP ();
YYBACKUP ();
@@ -767,29 +794,32 @@ yy64:
case ' ':
case '<':
case '=':
- case '>': goto yy163;
- default: goto yy65;
+ case '>': goto yy162;
+ default: goto yy64;
}
-yy65:
- status = action_line265(i, keys, input, token, &cursor, 24);
+yy64:
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 24);
continue;
-yy66:
+yy65:
yyaccept = 8;
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
switch (yych) {
case '\t':
- case ' ': goto yy167;
- case '|': goto yy169;
- default: goto yy67;
+ case ' ': goto yy166;
+ case '|': goto yy168;
+ default: goto yy66;
}
-yy67:
- status = action_line265(i, keys, input, token, &cursor, 22);
+yy66:
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 22);
continue;
-yy68:
+yy67:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '.':
case '0':
@@ -855,114 +885,118 @@ yy68:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy171;
- default: goto yy69;
+ case 'z': goto yy170;
+ default: goto yy68;
}
-yy69:
- status = action_line265(i, keys, input, token, &cursor, 88);
+yy68:
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 88);
continue;
-yy70:
+yy69:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
-yy71:
+yy70:
switch (yych) {
case 0x00:
- case '\n': goto yy72;
- case '"': goto yy73;
- default: goto yy70;
+ case '\n': goto yy71;
+ case '"': goto yy72;
+ default: goto yy69;
}
-yy72:
+yy71:
YYRESTORE ();
switch (yyaccept) {
- case 0: goto yy6;
- case 1: goto yy16;
- case 2: goto yy23;
- case 3: goto yy34;
- case 4: goto yy40;
- case 5: goto yy42;
- case 6: goto yy44;
- case 7: goto yy65;
- case 8: goto yy67;
- case 9: goto yy74;
- case 10: goto yy32;
- case 11: goto yy95;
- case 12: goto yy109;
- case 13: goto yy107;
- case 14: goto yy99;
- default: goto yy97;
+ case 0: goto yy5;
+ case 1: goto yy15;
+ case 2: goto yy22;
+ case 3: goto yy33;
+ case 4: goto yy39;
+ case 5: goto yy41;
+ case 6: goto yy43;
+ case 7: goto yy64;
+ case 8: goto yy66;
+ case 9: goto yy73;
+ case 10: goto yy31;
+ case 11: goto yy94;
+ case 12: goto yy108;
+ case 13: goto yy106;
+ case 14: goto yy98;
+ default: goto yy96;
}
-yy73:
+yy72:
yyaccept = 9;
YYSKIP ();
YYBACKUP ();
if (YYLESSTHAN (2)) YYFILL(2);
yych = YYPEEK ();
switch (yych) {
- case '"': goto yy70;
+ case '"': goto yy69;
case 'B':
case 'b': goto yy173;
case 'X':
case 'x': goto yy174;
- default: goto yy74;
+ default: goto yy73;
}
-yy74:
- status = action_line265(i, keys, input, token, &cursor, 90);
+yy73:
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 90);
continue;
-yy75:
+yy74:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
switch (yych) {
case '\t':
- case ' ': goto yy75;
- case '&': goto yy77;
- default: goto yy72;
+ case ' ': goto yy74;
+ case '&': goto yy76;
+ default: goto yy71;
}
-yy77:
+yy76:
YYSKIP ();
- status = action_line265(i, keys, input, token, &cursor, 23);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 23);
continue;
-yy79:
+yy78:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
-yy80:
+yy79:
switch (yych) {
case 0x00:
- case '\n': goto yy72;
- case '\'': goto yy81;
- default: goto yy79;
+ case '\n': goto yy71;
+ case '\'': goto yy80;
+ default: goto yy78;
}
-yy81:
+yy80:
yyaccept = 9;
YYSKIP ();
YYBACKUP ();
if (YYLESSTHAN (2)) YYFILL(2);
yych = YYPEEK ();
switch (yych) {
- case '\'': goto yy79;
+ case '\'': goto yy78;
case 'B':
case 'b': goto yy173;
case 'X':
case 'x': goto yy174;
- default: goto yy74;
+ default: goto yy73;
}
-yy82:
+yy81:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
switch (yych) {
case '\t':
- case ' ': goto yy82;
- case '*': goto yy84;
- default: goto yy72;
+ case ' ': goto yy81;
+ case '*': goto yy83;
+ default: goto yy71;
}
-yy84:
+yy83:
YYSKIP ();
- status = action_line265(i, keys, input, token, &cursor, 8);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 8);
continue;
-yy86:
+yy85:
yyaccept = 10;
YYSKIP ();
YYBACKUP ();
@@ -1032,41 +1066,42 @@ yy86:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy30;
+ case 'z': goto yy29;
case '+':
case '-': goto yy175;
case 'E':
- case 'e': goto yy86;
- default: goto yy32;
+ case 'e': goto yy85;
+ default: goto yy31;
}
-yy88:
+yy87:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
switch (yych) {
case '\t':
- case ' ': goto yy88;
- case '/': goto yy90;
- default: goto yy72;
+ case ' ': goto yy87;
+ case '/': goto yy89;
+ default: goto yy71;
}
-yy90:
+yy89:
YYSKIP ();
- status = action_line265(i, keys, input, token, &cursor, 7);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 7);
continue;
-yy92:
+yy91:
YYSKIP ();
if (YYLESSTHAN (2)) YYFILL(2);
yych = YYPEEK ();
-yy93:
+yy92:
switch (yych) {
case '\t':
- case ' ': goto yy92;
- case '<': goto yy94;
- case '=': goto yy96;
- case '>': goto yy98;
- default: goto yy72;
+ case ' ': goto yy91;
+ case '<': goto yy93;
+ case '=': goto yy95;
+ case '>': goto yy97;
+ default: goto yy71;
}
-yy94:
+yy93:
yyaccept = 11;
YYSKIP ();
YYBACKUP ();
@@ -1075,54 +1110,59 @@ yy94:
case '\t':
case ' ': goto yy176;
case '=': goto yy178;
- default: goto yy95;
+ default: goto yy94;
}
-yy95:
- status = action_line265(i, keys, input, token, &cursor, 18);
+yy94:
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 18);
continue;
-yy96:
+yy95:
YYSKIP ();
-yy97:
- status = action_line265(i, keys, input, token, &cursor, 14);
+yy96:
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 14);
continue;
-yy98:
+yy97:
YYSKIP ();
-yy99:
- status = action_line265(i, keys, input, token, &cursor, 10);
+yy98:
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 10);
continue;
-yy100:
+yy99:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
switch (yych) {
case '\t':
- case ' ': goto yy100;
- case '=': goto yy102;
- default: goto yy72;
+ case ' ': goto yy99;
+ case '=': goto yy101;
+ default: goto yy71;
}
-yy102:
+yy101:
YYSKIP ();
- status = action_line265(i, keys, input, token, &cursor, 15);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 15);
continue;
-yy104:
+yy103:
YYSKIP ();
if (YYLESSTHAN (2)) YYFILL(2);
yych = YYPEEK ();
-yy105:
+yy104:
switch (yych) {
case '\t':
- case ' ': goto yy104;
- case '<': goto yy98;
- case '=': goto yy106;
- case '>': goto yy108;
- default: goto yy72;
+ case ' ': goto yy103;
+ case '<': goto yy97;
+ case '=': goto yy105;
+ case '>': goto yy107;
+ default: goto yy71;
}
-yy106:
+yy105:
YYSKIP ();
-yy107:
- status = action_line265(i, keys, input, token, &cursor, 13);
+yy106:
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 13);
continue;
-yy108:
+yy107:
yyaccept = 12;
YYSKIP ();
YYBACKUP ();
@@ -1131,30 +1171,32 @@ yy108:
case '\t':
case ' ': goto yy180;
case '=': goto yy182;
- default: goto yy109;
+ default: goto yy108;
}
-yy109:
- status = action_line265(i, keys, input, token, &cursor, 17);
+yy108:
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 17);
continue;
-yy110:
+yy109:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'D':
case 'd': goto yy184;
- default: goto yy10;
+ default: goto yy9;
}
-yy111:
+yy110:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'G':
case 'g': goto yy185;
- default: goto yy10;
+ default: goto yy9;
}
-yy112:
+yy111:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -1219,32 +1261,34 @@ yy112:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
- default: goto yy113;
+ case 'z': goto yy8;
+ case '.': goto yy67;
+ default: goto yy112;
}
-yy113:
- status = action_line265(i, keys, input, token, &cursor, 60);
+yy112:
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 60);
continue;
-yy114:
+yy113:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'L':
case 'l': goto yy187;
- default: goto yy10;
+ default: goto yy9;
}
-yy115:
+yy114:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'G':
case 'g': goto yy188;
- default: goto yy10;
+ default: goto yy9;
}
-yy116:
+yy115:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -1309,30 +1353,31 @@ yy116:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
- default: goto yy117;
+ case 'z': goto yy8;
+ case '.': goto yy67;
+ default: goto yy116;
}
-yy117:
- status = action_line265(i, keys, input, token, &cursor, 33);
+yy116:
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 33);
continue;
-yy118:
+yy117:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'O':
case 'o': goto yy189;
- default: goto yy10;
+ default: goto yy9;
}
-yy119:
+yy118:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'S':
case 's': goto yy190;
- default: goto yy10;
+ default: goto yy9;
}
-yy120:
+yy119:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
@@ -1340,17 +1385,17 @@ yy120:
case 'd': goto yy191;
case 'G':
case 'g': goto yy193;
- default: goto yy10;
+ default: goto yy9;
}
-yy121:
+yy120:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'R':
case 'r': goto yy194;
- default: goto yy10;
+ default: goto yy9;
}
-yy122:
+yy121:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
@@ -1358,43 +1403,44 @@ yy122:
case 'i': goto yy195;
case 'P':
case 'p': goto yy196;
- default: goto yy10;
+ default: goto yy9;
}
-yy123:
+yy122:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'I':
case 'i': goto yy197;
- default: goto yy10;
+ default: goto yy9;
}
-yy124:
+yy123:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'R':
case 'r': goto yy198;
- default: goto yy10;
+ default: goto yy9;
}
-yy125:
+yy124:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'Z':
case 'z': goto yy200;
- default: goto yy10;
+ default: goto yy9;
}
-yy126:
+yy125:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'L':
case 'l': goto yy201;
- default: goto yy10;
+ default: goto yy9;
}
-yy127:
+yy126:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -1459,54 +1505,55 @@ yy127:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
- default: goto yy128;
+ case 'z': goto yy8;
+ case '.': goto yy67;
+ default: goto yy127;
}
-yy128:
- status = action_line265(i, keys, input, token, &cursor, 38);
+yy127:
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 38);
continue;
-yy129:
+yy128:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'T':
case 't': goto yy202;
- default: goto yy10;
+ default: goto yy9;
}
-yy130:
+yy129:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'E':
case 'e': goto yy203;
- default: goto yy10;
+ default: goto yy9;
}
-yy131:
+yy130:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'A':
case 'a': goto yy204;
- default: goto yy10;
+ default: goto yy9;
}
-yy132:
+yy131:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'N':
case 'n': goto yy205;
- default: goto yy10;
+ default: goto yy9;
}
-yy133:
+yy132:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'M':
case 'm': goto yy206;
- default: goto yy10;
+ default: goto yy9;
}
-yy134:
+yy133:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
@@ -1516,27 +1563,28 @@ yy134:
case 't': goto yy209;
case 'V':
case 'v': goto yy210;
- default: goto yy10;
+ default: goto yy9;
}
-yy135:
+yy134:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'M':
case 'm': goto yy211;
- default: goto yy10;
+ default: goto yy9;
}
-yy136:
+yy135:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'F':
case 'f': goto yy212;
- default: goto yy10;
+ default: goto yy9;
}
-yy137:
+yy136:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -1601,46 +1649,47 @@ yy137:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
- default: goto yy138;
+ case 'z': goto yy8;
+ case '.': goto yy67;
+ default: goto yy137;
}
-yy138:
- status = action_line265(i, keys, input, token, &cursor, 59);
+yy137:
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 59);
continue;
-yy139:
+yy138:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'T':
case 't': goto yy214;
- default: goto yy10;
+ default: goto yy9;
}
-yy140:
+yy139:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'H':
case 'h': goto yy215;
- default: goto yy10;
+ default: goto yy9;
}
-yy141:
+yy140:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'R':
case 'r': goto yy216;
- default: goto yy10;
+ default: goto yy9;
}
-yy142:
+yy141:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'O':
case 'o': goto yy217;
- default: goto yy10;
+ default: goto yy9;
}
-yy143:
+yy142:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
@@ -1648,83 +1697,84 @@ yy143:
case 'l': goto yy218;
case 'S':
case 's': goto yy219;
- default: goto yy10;
+ default: goto yy9;
}
-yy144:
+yy143:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'E':
case 'e': goto yy220;
- default: goto yy10;
+ default: goto yy9;
}
-yy145:
+yy144:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'T':
case 't': goto yy221;
- default: goto yy10;
+ default: goto yy9;
}
-yy146:
+yy145:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'Y':
case 'y': goto yy222;
- default: goto yy10;
+ default: goto yy9;
}
-yy147:
+yy146:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'I':
case 'i': goto yy224;
- default: goto yy10;
+ default: goto yy9;
}
-yy148:
+yy147:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'L':
case 'l': goto yy225;
- default: goto yy10;
+ default: goto yy9;
}
-yy149:
+yy148:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'G':
case 'g': goto yy226;
- default: goto yy10;
+ default: goto yy9;
}
-yy150:
+yy149:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'U':
case 'u': goto yy227;
- default: goto yy10;
+ default: goto yy9;
}
-yy151:
+yy150:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'N':
case 'n': goto yy228;
- default: goto yy10;
+ default: goto yy9;
}
-yy152:
+yy151:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'E':
case 'e': goto yy229;
- default: goto yy10;
+ default: goto yy9;
}
-yy153:
+yy152:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -1789,38 +1839,39 @@ yy153:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
- default: goto yy154;
+ case 'z': goto yy8;
+ case '.': goto yy67;
+ default: goto yy153;
}
-yy154:
- status = action_line265(i, keys, input, token, &cursor, 78);
+yy153:
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 78);
continue;
-yy155:
+yy154:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'A':
case 'a': goto yy230;
- default: goto yy10;
+ default: goto yy9;
}
-yy156:
+yy155:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'T':
case 't': goto yy231;
- default: goto yy10;
+ default: goto yy9;
}
-yy157:
+yy156:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'P':
case 'p': goto yy232;
- default: goto yy10;
+ default: goto yy9;
}
-yy158:
+yy157:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
@@ -1828,17 +1879,17 @@ yy158:
case 'l': goto yy233;
case 'R':
case 'r': goto yy234;
- default: goto yy10;
+ default: goto yy9;
}
-yy159:
+yy158:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'R':
case 'r': goto yy236;
- default: goto yy10;
+ default: goto yy9;
}
-yy160:
+yy159:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
@@ -1846,30 +1897,30 @@ yy160:
case 'e': goto yy237;
case 'I':
case 'i': goto yy238;
- default: goto yy10;
+ default: goto yy9;
}
-yy161:
+yy160:
YYSKIP ();
yych = YYPEEK ();
switch (yych) {
case 'T':
case 't': goto yy239;
- default: goto yy10;
+ default: goto yy9;
}
-yy162:
+yy161:
YYSKIP ();
if (YYLESSTHAN (2)) YYFILL(2);
yych = YYPEEK ();
-yy163:
+yy162:
switch (yych) {
case '\t':
- case ' ': goto yy162;
- case '<': goto yy164;
- case '=': goto yy165;
- case '>': goto yy166;
- default: goto yy72;
+ case ' ': goto yy161;
+ case '<': goto yy163;
+ case '=': goto yy164;
+ case '>': goto yy165;
+ default: goto yy71;
}
-yy164:
+yy163:
yyaccept = 13;
YYSKIP ();
YYBACKUP ();
@@ -1878,9 +1929,9 @@ yy164:
case '\t':
case ' ': goto yy240;
case '<': goto yy182;
- default: goto yy107;
+ default: goto yy106;
}
-yy165:
+yy164:
yyaccept = 14;
YYSKIP ();
YYBACKUP ();
@@ -1889,9 +1940,9 @@ yy165:
case '\t':
case ' ': goto yy242;
case '=': goto yy244;
- default: goto yy99;
+ default: goto yy98;
}
-yy166:
+yy165:
yyaccept = 15;
YYSKIP ();
YYBACKUP ();
@@ -1900,23 +1951,24 @@ yy166:
case '\t':
case ' ': goto yy246;
case '>': goto yy178;
- default: goto yy97;
+ default: goto yy96;
}
-yy167:
+yy166:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
switch (yych) {
case '\t':
- case ' ': goto yy167;
- case '|': goto yy169;
- default: goto yy72;
+ case ' ': goto yy166;
+ case '|': goto yy168;
+ default: goto yy71;
}
-yy169:
+yy168:
YYSKIP ();
- status = action_line265(i, keys, input, token, &cursor, 1);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 1);
continue;
-yy171:
+yy170:
YYSKIP ();
if (YYLESSTHAN (1)) YYFILL(1);
yych = YYPEEK ();
@@ -1986,13 +2038,16 @@ yy171:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy171;
- default: goto yy2;
+ case 'z': goto yy170;
+ default: goto yy172;
}
+yy172:
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 89);
+ continue;
yy173:
YYSKIP ();
yych = YYPEEK ();
- YYBACKUPCTX ();
switch (yych) {
case '!':
case '.':
@@ -2059,13 +2114,14 @@ yy173:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy72;
- default: goto yy248;
+ case 'z': goto yy71;
+ default:
+ YYBACKUPCTX ();
+ goto yy248;
}
yy174:
YYSKIP ();
yych = YYPEEK ();
- YYBACKUPCTX ();
switch (yych) {
case '!':
case '.':
@@ -2132,8 +2188,10 @@ yy174:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy72;
- default: goto yy250;
+ case 'z': goto yy71;
+ default:
+ YYBACKUPCTX ();
+ goto yy250;
}
yy175:
YYSKIP ();
@@ -2149,7 +2207,7 @@ yy175:
case '7':
case '8':
case '9': goto yy252;
- default: goto yy72;
+ default: goto yy71;
}
yy176:
YYSKIP ();
@@ -2159,11 +2217,12 @@ yy176:
case '\t':
case ' ': goto yy176;
case '=': goto yy178;
- default: goto yy72;
+ default: goto yy71;
}
yy178:
YYSKIP ();
- status = action_line265(i, keys, input, token, &cursor, 20);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 20);
continue;
yy180:
YYSKIP ();
@@ -2173,11 +2232,12 @@ yy180:
case '\t':
case ' ': goto yy180;
case '=': goto yy182;
- default: goto yy72;
+ default: goto yy71;
}
yy182:
YYSKIP ();
- status = action_line265(i, keys, input, token, &cursor, 19);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 19);
continue;
yy184:
YYSKIP ();
@@ -2185,11 +2245,12 @@ yy184:
switch (yych) {
case 'R':
case 'r': goto yy254;
- default: goto yy10;
+ default: goto yy9;
}
yy185:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -2254,12 +2315,13 @@ yy185:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy186;
}
yy186:
- status = action_line265(i, keys, input, token, &cursor, 31);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 31);
continue;
yy187:
YYSKIP ();
@@ -2267,7 +2329,7 @@ yy187:
switch (yych) {
case 'L':
case 'l': goto yy255;
- default: goto yy10;
+ default: goto yy9;
}
yy188:
YYSKIP ();
@@ -2275,7 +2337,7 @@ yy188:
switch (yych) {
case 'I':
case 'i': goto yy257;
- default: goto yy10;
+ default: goto yy9;
}
yy189:
YYSKIP ();
@@ -2283,7 +2345,7 @@ yy189:
switch (yych) {
case 'P':
case 'p': goto yy258;
- default: goto yy10;
+ default: goto yy9;
}
yy190:
YYSKIP ();
@@ -2291,11 +2353,12 @@ yy190:
switch (yych) {
case 'E':
case 'e': goto yy260;
- default: goto yy10;
+ default: goto yy9;
}
yy191:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -2360,12 +2423,13 @@ yy191:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy192;
}
yy192:
- status = action_line265(i, keys, input, token, &cursor, 36);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 36);
continue;
yy193:
YYSKIP ();
@@ -2373,7 +2437,7 @@ yy193:
switch (yych) {
case 'I':
case 'i': goto yy262;
- default: goto yy10;
+ default: goto yy9;
}
yy194:
YYSKIP ();
@@ -2381,7 +2445,7 @@ yy194:
switch (yych) {
case 'O':
case 'o': goto yy263;
- default: goto yy10;
+ default: goto yy9;
}
yy195:
YYSKIP ();
@@ -2389,7 +2453,7 @@ yy195:
switch (yych) {
case 'T':
case 't': goto yy264;
- default: goto yy10;
+ default: goto yy9;
}
yy196:
YYSKIP ();
@@ -2397,7 +2461,7 @@ yy196:
switch (yych) {
case 'O':
case 'o': goto yy266;
- default: goto yy10;
+ default: goto yy9;
}
yy197:
YYSKIP ();
@@ -2405,11 +2469,12 @@ yy197:
switch (yych) {
case 'L':
case 'l': goto yy267;
- default: goto yy10;
+ default: goto yy9;
}
yy198:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -2470,8 +2535,8 @@ yy198:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
case 'E':
case 'e': goto yy268;
case 'M':
@@ -2479,7 +2544,8 @@ yy198:
default: goto yy199;
}
yy199:
- status = action_line265(i, keys, input, token, &cursor, 66);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 66);
continue;
yy200:
YYSKIP ();
@@ -2487,7 +2553,7 @@ yy200:
switch (yych) {
case 'Z':
case 'z': goto yy271;
- default: goto yy10;
+ default: goto yy9;
}
yy201:
YYSKIP ();
@@ -2495,7 +2561,7 @@ yy201:
switch (yych) {
case 'T':
case 't': goto yy273;
- default: goto yy10;
+ default: goto yy9;
}
yy202:
YYSKIP ();
@@ -2503,7 +2569,7 @@ yy202:
switch (yych) {
case 'E':
case 'e': goto yy275;
- default: goto yy10;
+ default: goto yy9;
}
yy203:
YYSKIP ();
@@ -2511,7 +2577,7 @@ yy203:
switch (yych) {
case 'R':
case 'r': goto yy276;
- default: goto yy10;
+ default: goto yy9;
}
yy204:
YYSKIP ();
@@ -2519,7 +2585,7 @@ yy204:
switch (yych) {
case 'V':
case 'v': goto yy277;
- default: goto yy10;
+ default: goto yy9;
}
yy205:
YYSKIP ();
@@ -2527,7 +2593,7 @@ yy205:
switch (yych) {
case 'E':
case 'e': goto yy278;
- default: goto yy10;
+ default: goto yy9;
}
yy206:
YYSKIP ();
@@ -2535,11 +2601,12 @@ yy206:
switch (yych) {
case 'E':
case 'e': goto yy279;
- default: goto yy10;
+ default: goto yy9;
}
yy207:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -2604,12 +2671,13 @@ yy207:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy208;
}
yy208:
- status = action_line265(i, keys, input, token, &cursor, 42);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 42);
continue;
yy209:
YYSKIP ();
@@ -2617,7 +2685,7 @@ yy209:
switch (yych) {
case 'R':
case 'r': goto yy281;
- default: goto yy10;
+ default: goto yy9;
}
yy210:
YYSKIP ();
@@ -2625,7 +2693,7 @@ yy210:
switch (yych) {
case 'A':
case 'a': goto yy282;
- default: goto yy10;
+ default: goto yy9;
}
yy211:
YYSKIP ();
@@ -2633,11 +2701,12 @@ yy211:
switch (yych) {
case 'E':
case 'e': goto yy283;
- default: goto yy10;
+ default: goto yy9;
}
yy212:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -2702,12 +2771,13 @@ yy212:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy213;
}
yy213:
- status = action_line265(i, keys, input, token, &cursor, 58);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 58);
continue;
yy214:
YYSKIP ();
@@ -2715,7 +2785,7 @@ yy214:
switch (yych) {
case 'I':
case 'i': goto yy284;
- default: goto yy10;
+ default: goto yy9;
}
yy215:
YYSKIP ();
@@ -2723,7 +2793,7 @@ yy215:
switch (yych) {
case 'E':
case 'e': goto yy285;
- default: goto yy10;
+ default: goto yy9;
}
yy216:
YYSKIP ();
@@ -2731,7 +2801,7 @@ yy216:
switch (yych) {
case 'S':
case 's': goto yy286;
- default: goto yy10;
+ default: goto yy9;
}
yy217:
YYSKIP ();
@@ -2739,7 +2809,7 @@ yy217:
switch (yych) {
case 'C':
case 'c': goto yy287;
- default: goto yy10;
+ default: goto yy9;
}
yy218:
YYSKIP ();
@@ -2747,7 +2817,7 @@ yy218:
switch (yych) {
case 'L':
case 'l': goto yy288;
- default: goto yy10;
+ default: goto yy9;
}
yy219:
YYSKIP ();
@@ -2755,7 +2825,7 @@ yy219:
switch (yych) {
case 'H':
case 'h': goto yy290;
- default: goto yy10;
+ default: goto yy9;
}
yy220:
YYSKIP ();
@@ -2763,7 +2833,7 @@ yy220:
switch (yych) {
case 'U':
case 'u': goto yy292;
- default: goto yy10;
+ default: goto yy9;
}
yy221:
YYSKIP ();
@@ -2771,11 +2841,12 @@ yy221:
switch (yych) {
case 'U':
case 'u': goto yy293;
- default: goto yy10;
+ default: goto yy9;
}
yy222:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -2840,12 +2911,13 @@ yy222:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy223;
}
yy223:
- status = action_line265(i, keys, input, token, &cursor, 52);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 52);
continue;
yy224:
YYSKIP ();
@@ -2853,7 +2925,7 @@ yy224:
switch (yych) {
case 'E':
case 'e': goto yy294;
- default: goto yy10;
+ default: goto yy9;
}
yy225:
YYSKIP ();
@@ -2861,7 +2933,7 @@ yy225:
switch (yych) {
case 'E':
case 'e': goto yy295;
- default: goto yy10;
+ default: goto yy9;
}
yy226:
YYSKIP ();
@@ -2869,7 +2941,7 @@ yy226:
switch (yych) {
case 'N':
case 'n': goto yy296;
- default: goto yy10;
+ default: goto yy9;
}
yy227:
YYSKIP ();
@@ -2877,7 +2949,7 @@ yy227:
switch (yych) {
case 'R':
case 'r': goto yy297;
- default: goto yy10;
+ default: goto yy9;
}
yy228:
YYSKIP ();
@@ -2885,7 +2957,7 @@ yy228:
switch (yych) {
case 'T':
case 't': goto yy298;
- default: goto yy10;
+ default: goto yy9;
}
yy229:
YYSKIP ();
@@ -2893,7 +2965,7 @@ yy229:
switch (yych) {
case 'N':
case 'n': goto yy299;
- default: goto yy10;
+ default: goto yy9;
}
yy230:
YYSKIP ();
@@ -2901,7 +2973,7 @@ yy230:
switch (yych) {
case 'C':
case 'c': goto yy301;
- default: goto yy10;
+ default: goto yy9;
}
yy231:
YYSKIP ();
@@ -2909,7 +2981,7 @@ yy231:
switch (yych) {
case 'I':
case 'i': goto yy302;
- default: goto yy10;
+ default: goto yy9;
}
yy232:
YYSKIP ();
@@ -2917,7 +2989,7 @@ yy232:
switch (yych) {
case 'E':
case 'e': goto yy303;
- default: goto yy10;
+ default: goto yy9;
}
yy233:
YYSKIP ();
@@ -2925,11 +2997,12 @@ yy233:
switch (yych) {
case 'U':
case 'u': goto yy304;
- default: goto yy10;
+ default: goto yy9;
}
yy234:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -2994,12 +3067,13 @@ yy234:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy235;
}
yy235:
- status = action_line265(i, keys, input, token, &cursor, 82);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 82);
continue;
yy236:
YYSKIP ();
@@ -3007,7 +3081,7 @@ yy236:
switch (yych) {
case 'S':
case 's': goto yy305;
- default: goto yy10;
+ default: goto yy9;
}
yy237:
YYSKIP ();
@@ -3015,7 +3089,7 @@ yy237:
switch (yych) {
case 'N':
case 'n': goto yy306;
- default: goto yy10;
+ default: goto yy9;
}
yy238:
YYSKIP ();
@@ -3023,7 +3097,7 @@ yy238:
switch (yych) {
case 'L':
case 'l': goto yy308;
- default: goto yy10;
+ default: goto yy9;
}
yy239:
YYSKIP ();
@@ -3031,7 +3105,7 @@ yy239:
switch (yych) {
case 'H':
case 'h': goto yy309;
- default: goto yy10;
+ default: goto yy9;
}
yy240:
YYSKIP ();
@@ -3041,7 +3115,7 @@ yy240:
case '\t':
case ' ': goto yy240;
case '<': goto yy182;
- default: goto yy72;
+ default: goto yy71;
}
yy242:
YYSKIP ();
@@ -3051,11 +3125,12 @@ yy242:
case '\t':
case ' ': goto yy242;
case '=': goto yy244;
- default: goto yy72;
+ default: goto yy71;
}
yy244:
YYSKIP ();
- status = action_line265(i, keys, input, token, &cursor, 16);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 16);
continue;
yy246:
YYSKIP ();
@@ -3065,17 +3140,19 @@ yy246:
case '\t':
case ' ': goto yy246;
case '>': goto yy178;
- default: goto yy72;
+ default: goto yy71;
}
yy248:
YYSKIP ();
YYRESTORECTX ();
- status = action_line265(i, keys, input, token, &cursor, 91);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 91);
continue;
yy250:
YYSKIP ();
YYRESTORECTX ();
- status = action_line265(i, keys, input, token, &cursor, 92);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 92);
continue;
yy252:
YYSKIP ();
@@ -3092,7 +3169,7 @@ yy252:
case '7':
case '8':
case '9': goto yy252;
- default: goto yy32;
+ default: goto yy31;
}
yy254:
YYSKIP ();
@@ -3100,11 +3177,12 @@ yy254:
switch (yych) {
case 'E':
case 'e': goto yy311;
- default: goto yy10;
+ default: goto yy9;
}
yy255:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3169,12 +3247,13 @@ yy255:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy256;
}
yy256:
- status = action_line265(i, keys, input, token, &cursor, 32);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 32);
continue;
yy257:
YYSKIP ();
@@ -3182,11 +3261,12 @@ yy257:
switch (yych) {
case 'T':
case 't': goto yy312;
- default: goto yy10;
+ default: goto yy9;
}
yy258:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3251,16 +3331,18 @@ yy258:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy259;
}
yy259:
- status = action_line265(i, keys, input, token, &cursor, 34);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 34);
continue;
yy260:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3325,12 +3407,13 @@ yy260:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy261;
}
yy261:
- status = action_line265(i, keys, input, token, &cursor, 35);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 35);
continue;
yy262:
YYSKIP ();
@@ -3338,7 +3421,7 @@ yy262:
switch (yych) {
case 'N':
case 'n': goto yy313;
- default: goto yy10;
+ default: goto yy9;
}
yy263:
YYSKIP ();
@@ -3346,11 +3429,12 @@ yy263:
switch (yych) {
case 'R':
case 'r': goto yy314;
- default: goto yy10;
+ default: goto yy9;
}
yy264:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3415,12 +3499,13 @@ yy264:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy265;
}
yy265:
- status = action_line265(i, keys, input, token, &cursor, 37);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 37);
continue;
yy266:
YYSKIP ();
@@ -3428,7 +3513,7 @@ yy266:
switch (yych) {
case 'S':
case 's': goto yy316;
- default: goto yy10;
+ default: goto yy9;
}
yy267:
YYSKIP ();
@@ -3436,7 +3521,7 @@ yy267:
switch (yych) {
case 'U':
case 'u': goto yy317;
- default: goto yy10;
+ default: goto yy9;
}
yy268:
YYSKIP ();
@@ -3444,11 +3529,12 @@ yy268:
switch (yych) {
case 'V':
case 'v': goto yy318;
- default: goto yy10;
+ default: goto yy9;
}
yy269:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3513,16 +3599,18 @@ yy269:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy270;
}
yy270:
- status = action_line265(i, keys, input, token, &cursor, 68);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 68);
continue;
yy271:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3587,16 +3675,18 @@ yy271:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy272;
}
yy272:
- status = action_line265(i, keys, input, token, &cursor, 69);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 69);
continue;
yy273:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3661,12 +3751,13 @@ yy273:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy274;
}
yy274:
- status = action_line265(i, keys, input, token, &cursor, 70);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 70);
continue;
yy275:
YYSKIP ();
@@ -3674,7 +3765,7 @@ yy275:
switch (yych) {
case 'R':
case 'r': goto yy319;
- default: goto yy10;
+ default: goto yy9;
}
yy276:
YYSKIP ();
@@ -3682,7 +3773,7 @@ yy276:
switch (yych) {
case 'A':
case 'a': goto yy320;
- default: goto yy10;
+ default: goto yy9;
}
yy277:
YYSKIP ();
@@ -3690,7 +3781,7 @@ yy277:
switch (yych) {
case 'E':
case 'e': goto yy321;
- default: goto yy10;
+ default: goto yy9;
}
yy278:
YYSKIP ();
@@ -3698,11 +3789,12 @@ yy278:
switch (yych) {
case 'I':
case 'i': goto yy323;
- default: goto yy10;
+ default: goto yy9;
}
yy279:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3767,12 +3859,13 @@ yy279:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy280;
}
yy280:
- status = action_line265(i, keys, input, token, &cursor, 72);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 72);
continue;
yy281:
YYSKIP ();
@@ -3780,7 +3873,7 @@ yy281:
switch (yych) {
case 'E':
case 'e': goto yy324;
- default: goto yy10;
+ default: goto yy9;
}
yy282:
YYSKIP ();
@@ -3788,7 +3881,7 @@ yy282:
switch (yych) {
case 'L':
case 'l': goto yy325;
- default: goto yy10;
+ default: goto yy9;
}
yy283:
YYSKIP ();
@@ -3796,7 +3889,7 @@ yy283:
switch (yych) {
case 'R':
case 'r': goto yy326;
- default: goto yy10;
+ default: goto yy9;
}
yy284:
YYSKIP ();
@@ -3804,7 +3897,7 @@ yy284:
switch (yych) {
case 'O':
case 'o': goto yy327;
- default: goto yy10;
+ default: goto yy9;
}
yy285:
YYSKIP ();
@@ -3812,7 +3905,7 @@ yy285:
switch (yych) {
case 'R':
case 'r': goto yy328;
- default: goto yy10;
+ default: goto yy9;
}
yy286:
YYSKIP ();
@@ -3820,7 +3913,7 @@ yy286:
switch (yych) {
case 'E':
case 'e': goto yy329;
- default: goto yy10;
+ default: goto yy9;
}
yy287:
YYSKIP ();
@@ -3828,11 +3921,12 @@ yy287:
switch (yych) {
case 'E':
case 'e': goto yy331;
- default: goto yy10;
+ default: goto yy9;
}
yy288:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3897,16 +3991,18 @@ yy288:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy289;
}
yy289:
- status = action_line265(i, keys, input, token, &cursor, 48);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 48);
continue;
yy290:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3971,12 +4067,13 @@ yy290:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy291;
}
yy291:
- status = action_line265(i, keys, input, token, &cursor, 49);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 49);
continue;
yy292:
YYSKIP ();
@@ -3984,7 +4081,7 @@ yy292:
switch (yych) {
case 'E':
case 'e': goto yy332;
- default: goto yy10;
+ default: goto yy9;
}
yy293:
YYSKIP ();
@@ -3992,7 +4089,7 @@ yy293:
switch (yych) {
case 'R':
case 'r': goto yy334;
- default: goto yy10;
+ default: goto yy9;
}
yy294:
YYSKIP ();
@@ -4000,7 +4097,7 @@ yy294:
switch (yych) {
case 'N':
case 'n': goto yy335;
- default: goto yy10;
+ default: goto yy9;
}
yy295:
YYSKIP ();
@@ -4008,7 +4105,7 @@ yy295:
switch (yych) {
case 'C':
case 'c': goto yy336;
- default: goto yy10;
+ default: goto yy9;
}
yy296:
YYSKIP ();
@@ -4016,7 +4113,7 @@ yy296:
switch (yych) {
case 'A':
case 'a': goto yy337;
- default: goto yy10;
+ default: goto yy9;
}
yy297:
YYSKIP ();
@@ -4024,7 +4121,7 @@ yy297:
switch (yych) {
case 'C':
case 'c': goto yy338;
- default: goto yy10;
+ default: goto yy9;
}
yy298:
YYSKIP ();
@@ -4032,11 +4129,12 @@ yy298:
switch (yych) {
case 'A':
case 'a': goto yy339;
- default: goto yy10;
+ default: goto yy9;
}
yy299:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4101,12 +4199,13 @@ yy299:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy300;
}
yy300:
- status = action_line265(i, keys, input, token, &cursor, 55);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 55);
continue;
yy301:
YYSKIP ();
@@ -4114,7 +4213,7 @@ yy301:
switch (yych) {
case 'E':
case 'e': goto yy340;
- default: goto yy10;
+ default: goto yy9;
}
yy302:
YYSKIP ();
@@ -4122,7 +4221,7 @@ yy302:
switch (yych) {
case 'L':
case 'l': goto yy342;
- default: goto yy10;
+ default: goto yy9;
}
yy303:
YYSKIP ();
@@ -4130,7 +4229,7 @@ yy303:
switch (yych) {
case 'R':
case 'r': goto yy344;
- default: goto yy10;
+ default: goto yy9;
}
yy304:
YYSKIP ();
@@ -4138,7 +4237,7 @@ yy304:
switch (yych) {
case 'E':
case 'e': goto yy346;
- default: goto yy10;
+ default: goto yy9;
}
yy305:
YYSKIP ();
@@ -4146,11 +4245,12 @@ yy305:
switch (yych) {
case 'I':
case 'i': goto yy348;
- default: goto yy10;
+ default: goto yy9;
}
yy306:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4215,12 +4315,13 @@ yy306:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy307;
}
yy307:
- status = action_line265(i, keys, input, token, &cursor, 57);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 57);
continue;
yy308:
YYSKIP ();
@@ -4228,11 +4329,12 @@ yy308:
switch (yych) {
case 'E':
case 'e': goto yy349;
- default: goto yy10;
+ default: goto yy9;
}
yy309:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4297,12 +4399,13 @@ yy309:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy310;
}
yy310:
- status = action_line265(i, keys, input, token, &cursor, 85);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 85);
continue;
yy311:
YYSKIP ();
@@ -4310,7 +4413,7 @@ yy311:
switch (yych) {
case 'S':
case 's': goto yy351;
- default: goto yy10;
+ default: goto yy9;
}
yy312:
YYSKIP ();
@@ -4318,7 +4421,7 @@ yy312:
switch (yych) {
case 'S':
case 's': goto yy352;
- default: goto yy10;
+ default: goto yy9;
}
yy313:
YYSKIP ();
@@ -4326,11 +4429,12 @@ yy313:
switch (yych) {
case 'E':
case 'e': goto yy354;
- default: goto yy10;
+ default: goto yy9;
}
yy314:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4395,12 +4499,13 @@ yy314:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy315;
}
yy315:
- status = action_line265(i, keys, input, token, &cursor, 63);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 63);
continue;
yy316:
YYSKIP ();
@@ -4408,7 +4513,7 @@ yy316:
switch (yych) {
case 'E':
case 'e': goto yy355;
- default: goto yy10;
+ default: goto yy9;
}
yy317:
YYSKIP ();
@@ -4416,7 +4521,7 @@ yy317:
switch (yych) {
case 'R':
case 'r': goto yy357;
- default: goto yy10;
+ default: goto yy9;
}
yy318:
YYSKIP ();
@@ -4424,7 +4529,7 @@ yy318:
switch (yych) {
case 'E':
case 'e': goto yy358;
- default: goto yy10;
+ default: goto yy9;
}
yy319:
YYSKIP ();
@@ -4432,7 +4537,7 @@ yy319:
switch (yych) {
case 'P':
case 'p': goto yy359;
- default: goto yy10;
+ default: goto yy9;
}
yy320:
YYSKIP ();
@@ -4440,11 +4545,12 @@ yy320:
switch (yych) {
case 'T':
case 't': goto yy360;
- default: goto yy10;
+ default: goto yy9;
}
yy321:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4509,12 +4615,13 @@ yy321:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy322;
}
yy322:
- status = action_line265(i, keys, input, token, &cursor, 41);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 41);
continue;
yy323:
YYSKIP ();
@@ -4522,7 +4629,7 @@ yy323:
switch (yych) {
case 'N':
case 'n': goto yy361;
- default: goto yy10;
+ default: goto yy9;
}
yy324:
YYSKIP ();
@@ -4530,7 +4637,7 @@ yy324:
switch (yych) {
case 'A':
case 'a': goto yy363;
- default: goto yy10;
+ default: goto yy9;
}
yy325:
YYSKIP ();
@@ -4538,7 +4645,7 @@ yy325:
switch (yych) {
case 'U':
case 'u': goto yy364;
- default: goto yy10;
+ default: goto yy9;
}
yy326:
YYSKIP ();
@@ -4546,7 +4653,7 @@ yy326:
switch (yych) {
case 'I':
case 'i': goto yy365;
- default: goto yy10;
+ default: goto yy9;
}
yy327:
YYSKIP ();
@@ -4554,7 +4661,7 @@ yy327:
switch (yych) {
case 'N':
case 'n': goto yy366;
- default: goto yy10;
+ default: goto yy9;
}
yy328:
YYSKIP ();
@@ -4562,11 +4669,12 @@ yy328:
switch (yych) {
case 'W':
case 'w': goto yy367;
- default: goto yy10;
+ default: goto yy9;
}
yy329:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4631,12 +4739,13 @@ yy329:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy330;
}
yy330:
- status = action_line265(i, keys, input, token, &cursor, 46);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 46);
continue;
yy331:
YYSKIP ();
@@ -4644,11 +4753,12 @@ yy331:
switch (yych) {
case 'D':
case 'd': goto yy368;
- default: goto yy10;
+ default: goto yy9;
}
yy332:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4713,12 +4823,13 @@ yy332:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy333;
}
yy333:
- status = action_line265(i, keys, input, token, &cursor, 50);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 50);
continue;
yy334:
YYSKIP ();
@@ -4726,7 +4837,7 @@ yy334:
switch (yych) {
case 'N':
case 'n': goto yy369;
- default: goto yy10;
+ default: goto yy9;
}
yy335:
YYSKIP ();
@@ -4734,7 +4845,7 @@ yy335:
switch (yych) {
case 'T':
case 't': goto yy371;
- default: goto yy10;
+ default: goto yy9;
}
yy336:
YYSKIP ();
@@ -4742,7 +4853,7 @@ yy336:
switch (yych) {
case 'T':
case 't': goto yy372;
- default: goto yy10;
+ default: goto yy9;
}
yy337:
YYSKIP ();
@@ -4750,7 +4861,7 @@ yy337:
switch (yych) {
case 'L':
case 'l': goto yy374;
- default: goto yy10;
+ default: goto yy9;
}
yy338:
YYSKIP ();
@@ -4758,7 +4869,7 @@ yy338:
switch (yych) {
case 'E':
case 'e': goto yy376;
- default: goto yy10;
+ default: goto yy9;
}
yy339:
YYSKIP ();
@@ -4766,11 +4877,12 @@ yy339:
switch (yych) {
case 'X':
case 'x': goto yy378;
- default: goto yy10;
+ default: goto yy9;
}
yy340:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4835,16 +4947,18 @@ yy340:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy341;
}
yy341:
- status = action_line265(i, keys, input, token, &cursor, 56);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 56);
continue;
yy342:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4909,16 +5023,18 @@ yy342:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy343;
}
yy343:
- status = action_line265(i, keys, input, token, &cursor, 79);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 79);
continue;
yy344:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4983,16 +5099,18 @@ yy344:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy345;
}
yy345:
- status = action_line265(i, keys, input, token, &cursor, 80);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 80);
continue;
yy346:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5057,12 +5175,13 @@ yy346:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy347;
}
yy347:
- status = action_line265(i, keys, input, token, &cursor, 81);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 81);
continue;
yy348:
YYSKIP ();
@@ -5070,11 +5189,12 @@ yy348:
switch (yych) {
case 'O':
case 'o': goto yy380;
- default: goto yy10;
+ default: goto yy9;
}
yy349:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5139,12 +5259,13 @@ yy349:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy350;
}
yy350:
- status = action_line265(i, keys, input, token, &cursor, 84);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 84);
continue;
yy351:
YYSKIP ();
@@ -5152,11 +5273,12 @@ yy351:
switch (yych) {
case 'S':
case 's': goto yy381;
- default: goto yy10;
+ default: goto yy9;
}
yy352:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5221,12 +5343,13 @@ yy352:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy353;
}
yy353:
- status = action_line265(i, keys, input, token, &cursor, 61);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 61);
continue;
yy354:
YYSKIP ();
@@ -5234,11 +5357,12 @@ yy354:
switch (yych) {
case 'E':
case 'e': goto yy383;
- default: goto yy10;
+ default: goto yy9;
}
yy355:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5303,12 +5427,13 @@ yy355:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy356;
}
yy356:
- status = action_line265(i, keys, input, token, &cursor, 64);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 64);
continue;
yy357:
YYSKIP ();
@@ -5316,7 +5441,7 @@ yy357:
switch (yych) {
case 'E':
case 'e': goto yy384;
- default: goto yy10;
+ default: goto yy9;
}
yy358:
YYSKIP ();
@@ -5324,7 +5449,7 @@ yy358:
switch (yych) {
case 'R':
case 'r': goto yy386;
- default: goto yy10;
+ default: goto yy9;
}
yy359:
YYSKIP ();
@@ -5332,7 +5457,7 @@ yy359:
switch (yych) {
case 'R':
case 'r': goto yy388;
- default: goto yy10;
+ default: goto yy9;
}
yy360:
YYSKIP ();
@@ -5340,11 +5465,12 @@ yy360:
switch (yych) {
case 'E':
case 'e': goto yy389;
- default: goto yy10;
+ default: goto yy9;
}
yy361:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5409,12 +5535,13 @@ yy361:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy362;
}
yy362:
- status = action_line265(i, keys, input, token, &cursor, 71);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 71);
continue;
yy363:
YYSKIP ();
@@ -5422,7 +5549,7 @@ yy363:
switch (yych) {
case 'D':
case 'd': goto yy391;
- default: goto yy10;
+ default: goto yy9;
}
yy364:
YYSKIP ();
@@ -5430,7 +5557,7 @@ yy364:
switch (yych) {
case 'E':
case 'e': goto yy392;
- default: goto yy10;
+ default: goto yy9;
}
yy365:
YYSKIP ();
@@ -5438,7 +5565,7 @@ yy365:
switch (yych) {
case 'C':
case 'c': goto yy394;
- default: goto yy10;
+ default: goto yy9;
}
yy366:
YYSKIP ();
@@ -5446,7 +5573,7 @@ yy366:
switch (yych) {
case 'S':
case 's': goto yy396;
- default: goto yy10;
+ default: goto yy9;
}
yy367:
YYSKIP ();
@@ -5454,7 +5581,7 @@ yy367:
switch (yych) {
case 'I':
case 'i': goto yy398;
- default: goto yy10;
+ default: goto yy9;
}
yy368:
YYSKIP ();
@@ -5462,11 +5589,12 @@ yy368:
switch (yych) {
case 'U':
case 'u': goto yy399;
- default: goto yy10;
+ default: goto yy9;
}
yy369:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5531,12 +5659,13 @@ yy369:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy370;
}
yy370:
- status = action_line265(i, keys, input, token, &cursor, 51);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 51);
continue;
yy371:
YYSKIP ();
@@ -5544,11 +5673,12 @@ yy371:
switch (yych) {
case 'I':
case 'i': goto yy400;
- default: goto yy10;
+ default: goto yy9;
}
yy372:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5613,16 +5743,18 @@ yy372:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy373;
}
yy373:
- status = action_line265(i, keys, input, token, &cursor, 53);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 53);
continue;
yy374:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5687,16 +5819,18 @@ yy374:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy375;
}
yy375:
- status = action_line265(i, keys, input, token, &cursor, 54);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 54);
continue;
yy376:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5761,16 +5895,18 @@ yy376:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy377;
}
yy377:
- status = action_line265(i, keys, input, token, &cursor, 76);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 76);
continue;
yy378:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5835,12 +5971,13 @@ yy378:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy379;
}
yy379:
- status = action_line265(i, keys, input, token, &cursor, 77);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 77);
continue;
yy380:
YYSKIP ();
@@ -5848,11 +5985,12 @@ yy380:
switch (yych) {
case 'N':
case 'n': goto yy401;
- default: goto yy10;
+ default: goto yy9;
}
yy381:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5917,12 +6055,13 @@ yy381:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy382;
}
yy382:
- status = action_line265(i, keys, input, token, &cursor, 30);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 30);
continue;
yy383:
YYSKIP ();
@@ -5930,11 +6069,12 @@ yy383:
switch (yych) {
case 'R':
case 'r': goto yy403;
- default: goto yy10;
+ default: goto yy9;
}
yy384:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5999,16 +6139,18 @@ yy384:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy385;
}
yy385:
- status = action_line265(i, keys, input, token, &cursor, 65);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 65);
continue;
yy386:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -6073,12 +6215,13 @@ yy386:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy387;
}
yy387:
- status = action_line265(i, keys, input, token, &cursor, 67);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 67);
continue;
yy388:
YYSKIP ();
@@ -6086,11 +6229,12 @@ yy388:
switch (yych) {
case 'E':
case 'e': goto yy404;
- default: goto yy10;
+ default: goto yy9;
}
yy389:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -6155,12 +6299,13 @@ yy389:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy390;
}
yy390:
- status = action_line265(i, keys, input, token, &cursor, 40);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 40);
continue;
yy391:
YYSKIP ();
@@ -6168,11 +6313,12 @@ yy391:
switch (yych) {
case 'Y':
case 'y': goto yy405;
- default: goto yy10;
+ default: goto yy9;
}
yy392:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -6237,16 +6383,18 @@ yy392:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy393;
}
yy393:
- status = action_line265(i, keys, input, token, &cursor, 74);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 74);
continue;
yy394:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -6311,16 +6459,18 @@ yy394:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy395;
}
yy395:
- status = action_line265(i, keys, input, token, &cursor, 43);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 43);
continue;
yy396:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -6385,12 +6535,13 @@ yy396:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy397;
}
yy397:
- status = action_line265(i, keys, input, token, &cursor, 44);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 44);
continue;
yy398:
YYSKIP ();
@@ -6398,7 +6549,7 @@ yy398:
switch (yych) {
case 'S':
case 's': goto yy407;
- default: goto yy10;
+ default: goto yy9;
}
yy399:
YYSKIP ();
@@ -6406,7 +6557,7 @@ yy399:
switch (yych) {
case 'R':
case 'r': goto yy408;
- default: goto yy10;
+ default: goto yy9;
}
yy400:
YYSKIP ();
@@ -6414,11 +6565,12 @@ yy400:
switch (yych) {
case 'F':
case 'f': goto yy409;
- default: goto yy10;
+ default: goto yy9;
}
yy401:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -6483,12 +6635,13 @@ yy401:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy402;
}
yy402:
- status = action_line265(i, keys, input, token, &cursor, 83);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 83);
continue;
yy403:
YYSKIP ();
@@ -6496,7 +6649,7 @@ yy403:
switch (yych) {
case 'I':
case 'i': goto yy410;
- default: goto yy10;
+ default: goto yy9;
}
yy404:
YYSKIP ();
@@ -6504,11 +6657,12 @@ yy404:
switch (yych) {
case 'T':
case 't': goto yy411;
- default: goto yy10;
+ default: goto yy9;
}
yy405:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -6573,12 +6727,13 @@ yy405:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy406;
}
yy406:
- status = action_line265(i, keys, input, token, &cursor, 73);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 73);
continue;
yy407:
YYSKIP ();
@@ -6586,7 +6741,7 @@ yy407:
switch (yych) {
case 'E':
case 'e': goto yy413;
- default: goto yy10;
+ default: goto yy9;
}
yy408:
YYSKIP ();
@@ -6594,7 +6749,7 @@ yy408:
switch (yych) {
case 'E':
case 'e': goto yy415;
- default: goto yy10;
+ default: goto yy9;
}
yy409:
YYSKIP ();
@@ -6602,7 +6757,7 @@ yy409:
switch (yych) {
case 'I':
case 'i': goto yy417;
- default: goto yy10;
+ default: goto yy9;
}
yy410:
YYSKIP ();
@@ -6610,11 +6765,12 @@ yy410:
switch (yych) {
case 'N':
case 'n': goto yy418;
- default: goto yy10;
+ default: goto yy9;
}
yy411:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -6679,16 +6835,18 @@ yy411:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy412;
}
yy412:
- status = action_line265(i, keys, input, token, &cursor, 39);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 39);
continue;
yy413:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -6753,16 +6911,18 @@ yy413:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy414;
}
yy414:
- status = action_line265(i, keys, input, token, &cursor, 45);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 45);
continue;
yy415:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -6827,12 +6987,13 @@ yy415:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy416;
}
yy416:
- status = action_line265(i, keys, input, token, &cursor, 47);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 47);
continue;
yy417:
YYSKIP ();
@@ -6840,7 +7001,7 @@ yy417:
switch (yych) {
case 'C':
case 'c': goto yy419;
- default: goto yy10;
+ default: goto yy9;
}
yy418:
YYSKIP ();
@@ -6848,11 +7009,12 @@ yy418:
switch (yych) {
case 'G':
case 'g': goto yy421;
- default: goto yy10;
+ default: goto yy9;
}
yy419:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -6917,16 +7079,18 @@ yy419:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy420;
}
yy420:
- status = action_line265(i, keys, input, token, &cursor, 75);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 75);
continue;
yy421:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -6991,12 +7155,13 @@ yy421:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy422;
}
yy422:
- status = action_line265(i, keys, input, token, &cursor, 62);
+ status = check_key_count_line265(keys_count, i, 3)
+ || action_line265(&i, keys, input, token, &cursor, 62);
continue;
}
@@ -7008,7 +7173,7 @@ yy422:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line265: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line265: unused keys left after %u keys\n", i);
}
}
@@ -7040,7 +7205,7 @@ end:
#define YYFILL(n) { break; }
static int action_line290
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -7048,10 +7213,12 @@ static int action_line290
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -7061,17 +7228,17 @@ static int action_line290
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line290: at position %ld (iteration %u):\n"
+ , "error: lex_line290: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -7081,6 +7248,13 @@ static int action_line290
}
}
+static int check_key_count_line290(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line290: not enough keys\n");
+ return 1;
+}
+
int lex_line290()
{
const size_t padding = 2; /* YYMAXFILL */
@@ -7108,7 +7282,7 @@ int lex_line290()
keys = (YYKEYTYPE *) read_file
("rexx.--skeleton.c.line290.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -7121,34 +7295,40 @@ int lex_line290()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *ctxmarker = NULL;
YYCTYPE yych;
if (YYLESSTHAN (2)) YYFILL(2);
yych = YYPEEK ();
- YYBACKUPCTX ();
switch (yych) {
case '\t':
case ' ': goto yy427;
case '\r': goto yy429;
- case '/': goto yy431;
- default: goto yy425;
+ case '/':
+ YYBACKUPCTX ();
+ goto yy431;
+ default:
+ YYBACKUPCTX ();
+ goto yy425;
}
yy425:
YYSKIP ();
yy426:
YYRESTORECTX ();
- status = action_line290(i, keys, input, token, &cursor, 3);
+ status = check_key_count_line290(keys_count, i, 3)
+ || action_line290(&i, keys, input, token, &cursor, 3);
continue;
yy427:
YYSKIP ();
- status = action_line290(i, keys, input, token, &cursor, 2);
+ status = check_key_count_line290(keys_count, i, 3)
+ || action_line290(&i, keys, input, token, &cursor, 2);
continue;
yy429:
YYSKIP ();
- status = action_line290(i, keys, input, token, &cursor, 1);
+ status = check_key_count_line290(keys_count, i, 3)
+ || action_line290(&i, keys, input, token, &cursor, 1);
continue;
yy431:
YYSKIP ();
@@ -7159,7 +7339,8 @@ yy431:
}
yy432:
YYSKIP ();
- status = action_line290(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line290(keys_count, i, 3)
+ || action_line290(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -7171,7 +7352,7 @@ yy432:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line290: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line290: unused keys left after %u keys\n", i);
}
}
@@ -7199,7 +7380,7 @@ end:
#define YYFILL(n) { break; }
static int action_line318
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -7207,10 +7388,12 @@ static int action_line318
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -7220,17 +7403,17 @@ static int action_line318
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line318: at position %ld (iteration %u):\n"
+ , "error: lex_line318: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -7240,6 +7423,13 @@ static int action_line318
}
}
+static int check_key_count_line318(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line318: not enough keys\n");
+ return 1;
+}
+
int lex_line318()
{
const size_t padding = 2; /* YYMAXFILL */
@@ -7267,7 +7457,7 @@ int lex_line318()
keys = (YYKEYTYPE *) read_file
("rexx.--skeleton.c.line318.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -7280,7 +7470,7 @@ int lex_line318()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -7295,16 +7485,19 @@ int lex_line318()
}
yy436:
YYSKIP ();
- status = action_line318(i, keys, input, token, &cursor, 3);
+ status = check_key_count_line318(keys_count, i, 3)
+ || action_line318(&i, keys, input, token, &cursor, 3);
continue;
yy438:
YYSKIP ();
yy439:
- status = action_line318(i, keys, input, token, &cursor, 4);
+ status = check_key_count_line318(keys_count, i, 3)
+ || action_line318(&i, keys, input, token, &cursor, 4);
continue;
yy440:
YYSKIP ();
- status = action_line318(i, keys, input, token, &cursor, 1);
+ status = check_key_count_line318(keys_count, i, 3)
+ || action_line318(&i, keys, input, token, &cursor, 1);
continue;
yy442:
YYSKIP ();
@@ -7322,11 +7515,13 @@ yy443:
}
yy444:
YYSKIP ();
- status = action_line318(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line318(keys_count, i, 3)
+ || action_line318(&i, keys, input, token, &cursor, 0);
continue;
yy446:
YYSKIP ();
- status = action_line318(i, keys, input, token, &cursor, 2);
+ status = check_key_count_line318(keys_count, i, 3)
+ || action_line318(&i, keys, input, token, &cursor, 2);
continue;
}
@@ -7338,7 +7533,7 @@ yy446:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line318: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line318: unused keys left after %u keys\n", i);
}
}
@@ -7370,12 +7565,10 @@ int main()
return 0;
}
-!!!.!!
-j??.99 kAA.?? mBB.AA xCC.BByDD.CCzEE.DD!FF.EE?GG.FFGHH.GGJII.HHKJJ.IIMKK.JJXLL.KKYMM.LLZNN.MM_OO.NNgPP.OOjQQ.PPkRR.QQmSS.RRxTT.SSyUU.TT zVV.UU"!WW.VV#?XX.WW$GYY.XX%JZZ.YY&K__.ZZ'Maa.__(Xbb.aa)Ycc.bb*Zdd.cc+_ee.dd,gff.ee-jgg.ff/khh.gg:mii.hh;xjj.ii<ykk.jj=zll.kk>!mm.ll@?nn.mm[Goo.nn\Jpp.oo]Kqq.pp^Mrr.qq`Xss.rr{Ytt.ss|Zuu.tt}_vv.uu~gww.vvjxx.ww€kyy.xxmzz.yy‚x!!.zzƒy00.!!„z11...…!22.00†?33.11‡G44.22ˆJ55.33‰K66.44ŠM77.55‹X88.66ŒY99.77Z??.88Ž_AA.99gBB.??jCC.AA‘kDD.BB’mEE.CC“xFF.DD”yGG.EE•zHH.FF–!II.GG—?JJ.HH˜GKK.II™JLL.JJšKMM.KK›MNN.LLœXOO.MMYPP.NNžZQQ.OOŸ_RR.PP gSS.QQ¡jTT.RR¢kUU.SS£mVV.TT¤xWW.UU¥yXX.VV¦zYY.WW§!ZZ.XX¨?__.YY©Gaa.ZZªJbb.__«Kcc.aa¬Mdd.bb­Xee.cc®Yff.dd¯Zgg.ee°_hh.ff±gii.gg²jjj.hh³kkk.ii´mll.jjµxmm.kk¶ynn.ll·zoo.mm¸!pp.nn¹?qq.ooºGrr.pp»Jss.qq¼Ktt.rr½Muu.ss¾Xvv.tt¿Yww.uuÀZxx.vvÁ_yy.wwÂgzz.xxÃj!!.yyÄk00.zzÅm11.!!Æx22...Çy33.00Èz44.11É!55.22Ê?66.33ËG77.44ÌJ88.55ÍK99.66ÎM??.77ÏXAA.88ÐYBB.99ÑZCC.??Ò_DD.AAÓgEE.BBÔjFF.CCÕkGG.DDÖmHH.EE×xII.FFØyJJ.GGÙzKK.HHÚ!LL.IIÛ?MM.JJÜGNN.KKÝJOO.LLÞKPP.MMßMQQ.NNàXRR.OOáYSS.PPâZTT.QQã_UU.RRägVV.SSåjWW.TTækXX.UUçmYY.VVèxZZ.WWéy__.XXêzaa.YYë!bb.ZZì?cc.__íGdd.aaîJee.bbïKff.ccðMgg.ddñXhh.eeòYii.ffóZjj.ggô_kk.hhõgll.iiöjmm.jj÷knn.kkømoo.llùxpp.mmúyqq.nnûzrr.ooü!ss.ppý?tt.qqþGuu.rrÿ!!!.!
-j??.9 kAA.? mBB.A xCC.ByDD.CzEE.D!FF.E?GG.FGHH.GJII.HKJJ.IMKK.JXLL.KYMM.LZNN.M_OO.NgPP.OjQQ.PkRR.QmSS.RxTT.SyUU.T zVV.U"!WW.V#?XX.W$GYY.X%JZZ.Y&K__.Z'Maa._(Xbb.a)Ycc.b*Zdd.c+_ee.d,gff.e-jgg.f/khh.g:mii.h;xjj.i<ykk.j=zll.k>!mm.l@?nn.m[Goo.n\Jpp.o]Kqq.p^Mrr.q`Xss.r{Ytt.s|Zuu.t}_vv.u~gww.vjxx.w€kyy.xmzz.y‚x!!.zƒy00.!„z11..…!22.0†?33.1‡G44.2ˆJ55.3‰K66.4ŠM77.5‹X88.6ŒY99.7Z??.8Ž_AA.9gBB.?jCC.A‘kDD.B’mEE.C“xFF.D”yGG.E•zHH.F–!II.G—?JJ.H˜GKK.I™JLL.JšKMM.K›MNN.LœXOO.MYPP.NžZQQ.OŸ_RR.P gSS.Q¡jTT.R¢kUU.S£mVV.T¤xWW.U¥yXX.V¦zYY.W§!ZZ.X¨?__.Y©Gaa.ZªJbb._«Kcc.a¬Mdd.b­Xee.c®Yff.d¯Zgg.e°_hh.f±gii.g²jjj.h³kkk.i´mll.jµxmm.k¶ynn.l·zoo.m¸!pp.n¹?qq.oºGrr.p»Jss.q¼Ktt.r½Muu.s¾Xvv.t¿Yww.uÀZxx.vÁ_yy.wÂgzz.xÃj!!.yÄk00.zÅm11.!Æx22..Çy33.0Èz44.1É!55.2Ê?66.3ËG77.4ÌJ88.5ÍK99.6ÎM??.7ÏXAA.8ÐYBB.9ÑZCC.?Ò_DD.AÓgEE.BÔjFF.CÕkGG.DÖmHH.E×xII.FØyJJ.GÙzKK.HÚ!LL.IÛ?MM.JÜGNN.KÝJOO.LÞKPP.MßMQQ.NàXRR.OáYSS.PâZTT.Qã_UU.RägVV.SåjWW.TækXX.UçmYY.VèxZZ.Wéy__.Xêzaa.Yë!bb.Zì?cc._íGdd.aîJee.bïKff.cðMgg.dñXhh.eòYii.fóZjj.gô_kk.hõgll.iöjmm.j÷knn.kømoo.lùxpp.múyqq.nûzrr.oü!ss.pý?tt.qþGuu.rÿ!!!.
-j??. kAA. mBB. xCC.yDD.zEE.!FF.?GG.GHH.JII.KJJ.MKK.XLL.YMM.ZNN._OO.gPP.jQQ.kRR.mSS.xTT.yUU. zVV."!WW.#?XX.$GYY.%JZZ.&K__.'Maa.(Xbb.)Ycc.*Zdd.+_ee.,gff.-jgg./khh.:mii.;xjj.<ykk.=zll.>!mm.@?nn.[Goo.\Jpp.]Kqq.^Mrr.`Xss.{Ytt.|Zuu.}_vv.~gww.jxx.€kyy.mzz.‚x!!.ƒy00.„z11.…!22.†?33.‡G44.ˆJ55.‰K66.ŠM77.‹X88.ŒY99.Z??.Ž_AA.gBB.jCC.‘kDD.’mEE.“xFF.”yGG.•zHH.–!II.—?JJ.˜GKK.™JLL.šKMM.›MNN.œXOO.YPP.žZQQ.Ÿ_RR. gSS.¡jTT.¢kUU.£mVV.¤xWW.¥yXX.¦zYY.§!ZZ.¨?__.©Gaa.ªJbb.«Kcc.¬Mdd.­Xee.®Yff.¯Zgg.°_hh.±gii.²jjj.³kkk.´mll.µxmm.¶ynn.·zoo.¸!pp.¹?qq.ºGrr.»Jss.¼Ktt.½Muu.¾Xvv.¿Yww.ÀZxx.Á_yy.Âgzz.Ãj!!.Äk00.Åm11.Æx22.Çy33.Èz44.É!55.Ê?66.ËG77.ÌJ88.ÍK99.ÎM??.ÏXAA.ÐYBB.ÑZCC.Ò_DD.ÓgEE.ÔjFF.ÕkGG.ÖmHH.×xII.ØyJJ.ÙzKK.Ú!LL.Û?MM.ÜGNN.ÝJOO.ÞKPP.ßMQQ.àXRR.áYSS.âZTT.ã_UU.ägVV.åjWW.ækXX.çmYY.èxZZ.éy__.êzaa.ë!bb.ì?cc.íGdd.îJee.ïKff.ðMgg.ñXhh.òYii.óZjj.ô_kk.õgll.öjmm.÷knn.ømoo.ùxpp.úyqq.ûzrr.ü!ss.ý?tt.þGuu.ÿ!!!
-j?? kAA mBB xCCyDDzEE!FF?GGGHHJIIKJJMKKXLLYMMZNN_OOgPPjQQkRRmSSxTTyUU zVV"!WW#?XX$GYY%JZZ&K__'Maa(Xbb)Ycc*Zdd+_ee,gff-jgg/khh:mii;xjj<ykk=zll>!mm@?nn[Goo\Jpp]Kqq^Mrr`Xss{Ytt|Zuu}_vv~gwwjxx€kyymzz‚x!!ƒy00„z11…!22†?33‡G44ˆJ55‰K66ŠM77‹X88ŒY99Z??Ž_AAgBBjCC‘kDD’mEE“xFF”yGG•zHH–!II—?JJ˜GKK™JLLšKMM›MNNœXOOYPPžZQQŸ_RR gSS¡jTT¢kUU£mVV¤xWW¥yXX¦zYY§!ZZ¨?__©GaaªJbb«Kcc¬Mdd­Xee®Yff¯Zgg°_hh±gii²jjj³kkk´mllµxmm¶ynn·zoo¸!pp¹?qqºGrr»Jss¼Ktt½Muu¾Xvv¿YwwÀZxxÁ_yyÂgzzÃj!!Äk00Åm11Æx22Çy33Èz44É!55Ê?66ËG77ÌJ88ÍK99ÎM??ÏXAAÐYBBÑZCCÒ_DDÓgEEÔjFFÕkGGÖmHH×xIIØyJJÙzKKÚ!LLÛ?MMÜGNNÝJOOÞKPPßMQQàXRRáYSSâZTTã_UUägVVåjWWækXXçmYYèxZZéy__êzaaë!bbì?ccíGddîJeeïKffðMggñXhhòYiióZjjô_kkõgllöjmm÷knnømooùxppúyqqûzrrü!ssý?ttþGuuÿ!!.!
-j?.9 kA.? mB.A xC.ByD.CzE.D!F.E?G.FGH.GJI.HKJ.IMK.JXL.KYM.LZN.M_O.NgP.OjQ.PkR.QmS.RxT.SyU.T zV.U"!W.V#?X.W$GY.X%JZ.Y&K_.Z'Ma._(Xb.a)Yc.b*Zd.c+_e.d,gf.e-jg.f/kh.g:mi.h;xj.i<yk.j=zl.k>!m.l@?n.m[Go.n\Jp.o]Kq.p^Mr.q`Xs.r{Yt.s|Zu.t}_v.u~gw.vjx.w€ky.xmz.y‚x!.zƒy0.!„z1..…!2.0†?3.1‡G4.2ˆJ5.3‰K6.4ŠM7.5‹X8.6ŒY9.7Z?.8Ž_A.9gB.?jC.A‘kD.B’mE.C“xF.D”yG.E•zH.F–!I.G—?J.H˜GK.I™JL.JšKM.K›MN.LœXO.MYP.NžZQ.OŸ_R.P gS.Q¡jT.R¢kU.S£mV.T¤xW.U¥yX.V¦zY.W§!Z.X¨?_.Y©Ga.ZªJb._«Kc.a¬Md.b­Xe.c®Yf.d¯Zg.e°_h.f±gi.g²jj.h³kk.i´ml.jµxm.k¶yn.l·zo.m¸!p.n¹?q.oºGr.p»Js.q¼Kt.r½Mu.s¾Xv.t¿Yw.uÀZx.vÁ_y.wÂgz.xÃj!.yÄk0.zÅm1.!Æx2..Çy3.0Èz4.1É!5.2Ê?6.3ËG7.4ÌJ8.5ÍK9.6ÎM?.7ÏXA.8ÐYB.9ÑZC.?Ò_D.AÓgE.BÔjF.CÕkG.DÖmH.E×xI.FØyJ.GÙzK.HÚ!L.IÛ?M.JÜGN.KÝJO.LÞKP.MßMQ.NàXR.OáYS.PâZT.Qã_U.RägV.SåjW.TækX.UçmY.VèxZ.Wéy_.Xêza.Yë!b.Zì?c._íGd.aîJe.bïKf.cðMg.dñXh.eòYi.fóZj.gô_k.hõgl.iöjm.j÷kn.kømo.lùxp.múyq.nûzr.oü!s.pý?t.qþGu.rÿ!!
+!!.!!
+j?.99 kA.?? mB.AA xC.BByD.CCzE.DD!F.EE?G.FFGH.GGJI.HHKJ.IIMK.JJXL.KKYM.LLZN.MM_O.NNgP.OOjQ.PPkR.QQmS.RRxT.SSyU.TT zV.UU"!W.VV#?X.WW$GY.XX%JZ.YY&K_.ZZ'Ma.__(Xb.aa)Yc.bb*Zd.cc+_e.dd,gf.ee-jg.ff/kh.gg:mi.hh;xj.ii<yk.jj=zl.kk>!m.ll@?n.mm[Go.nn\Jp.oo]Kq.pp^Mr.qq`Xs.rr{Yt.ss|Zu.tt}_v.uu~gw.vvjx.ww€ky.xxmz.yy‚x!.zzƒy0.!!„z1...…!2.00†?3.11‡G4.22ˆJ5.33‰K6.44ŠM7.55‹X8.66ŒY9.77Z?.88Ž_A.99gB.??jC.AA‘kD.BB’mE.CC“xF.DD”yG.EE•zH.FF–!I.GG—?J.HH˜GK.II™JL.JJšKM.KK›MN.LLœXO.MMYP.NNžZQ.OOŸ_R.PP gS.QQ¡jT.RR¢kU.SS£mV.TT¤xW.UU¥yX.VV¦zY.WW§!Z.XX¨?_.YY©Ga.ZZªJb.__«Kc.aa¬Md.bb­Xe.cc®Yf.dd¯Zg.ee°_h.ff±gi.gg²jj.hh³kk.ii´ml.jjµxm.kk¶yn.ll·zo.mm¸!p.nn¹?q.ooºGr.pp»Js.qq¼Kt.rr½Mu.ss¾Xv.tt¿Yw.uuÀZx.vvÁ_y.wwÂgz.xxÃj!.yyÄk0.zzÅm1.!!Æx2...Çy3.00Èz4.11É!5.22Ê?6.33ËG7.44ÌJ8.55ÍK9.66ÎM?.77ÏXA.88ÐYB.99ÑZC.??Ò_D.AAÓgE.BBÔjF.CCÕkG.DDÖmH.EE×xI.FFØyJ.GGÙzK.HHÚ!L.IIÛ?M.JJÜGN.KKÝJO.LLÞKP.MMßMQ.NNàXR.OOáYS.PPâZT.QQã_U.RRägV.SSåjW.TTækX.UUçmY.VVèxZ.WWéy_.XXêza.YYë!b.ZZì?c.__íGd.aaîJe.bbïKf.ccðMg.ddñXh.eeòYi.ffóZj.ggô_k.hhõgl.iiöjm.jj÷kn.kkømo.llùxp.mmúyq.nnûzr.ooü!s.ppý?t.qqþGu.rrÿ!!.!
+j?.9 kA.? mB.A xC.ByD.CzE.D!F.E?G.FGH.GJI.HKJ.IMK.JXL.KYM.LZN.M_O.NgP.OjQ.PkR.QmS.RxT.SyU.T zV.U"!W.V#?X.W$GY.X%JZ.Y&K_.Z'Ma._(Xb.a)Yc.b*Zd.c+_e.d,gf.e-jg.f/kh.g:mi.h;xj.i<yk.j=zl.k>!m.l@?n.m[Go.n\Jp.o]Kq.p^Mr.q`Xs.r{Yt.s|Zu.t}_v.u~gw.vjx.w€ky.xmz.y‚x!.zƒy0.!„z1..…!2.0†?3.1‡G4.2ˆJ5.3‰K6.4ŠM7.5‹X8.6ŒY9.7Z?.8Ž_A.9gB.?jC.A‘kD.B’mE.C“xF.D”yG.E•zH.F–!I.G—?J.H˜GK.I™JL.JšKM.K›MN.LœXO.MYP.NžZQ.OŸ_R.P gS.Q¡jT.R¢kU.S£mV.T¤xW.U¥yX.V¦zY.W§!Z.X¨?_.Y©Ga.ZªJb._«Kc.a¬Md.b­Xe.c®Yf.d¯Zg.e°_h.f±gi.g²jj.h³kk.i´ml.jµxm.k¶yn.l·zo.m¸!p.n¹?q.oºGr.p»Js.q¼Kt.r½Mu.s¾Xv.t¿Yw.uÀZx.vÁ_y.wÂgz.xÃj!.yÄk0.zÅm1.!Æx2..Çy3.0Èz4.1É!5.2Ê?6.3ËG7.4ÌJ8.5ÍK9.6ÎM?.7ÏXA.8ÐYB.9ÑZC.?Ò_D.AÓgE.BÔjF.CÕkG.DÖmH.E×xI.FØyJ.GÙzK.HÚ!L.IÛ?M.JÜGN.KÝJO.LÞKP.MßMQ.NàXR.OáYS.PâZT.Qã_U.RägV.SåjW.TækX.UçmY.VèxZ.Wéy_.Xêza.Yë!b.Zì?c._íGd.aîJe.bïKf.cðMg.dñXh.eòYi.fóZj.gô_k.hõgl.iöjm.j÷kn.kømo.lùxp.múyq.nûzr.oü!s.pý?t.qþGu.rÿ!!.
+j?. kA. mB. xC.yD.zE.!F.?G.GH.JI.KJ.MK.XL.YM.ZN._O.gP.jQ.kR.mS.xT.yU. zV."!W.#?X.$GY.%JZ.&K_.'Ma.(Xb.)Yc.*Zd.+_e.,gf.-jg./kh.:mi.;xj.<yk.=zl.>!m.@?n.[Go.\Jp.]Kq.^Mr.`Xs.{Yt.|Zu.}_v.~gw.jx.€ky.mz.‚x!.ƒy0.„z1.…!2.†?3.‡G4.ˆJ5.‰K6.ŠM7.‹X8.ŒY9.Z?.Ž_A.gB.jC.‘kD.’mE.“xF.”yG.•zH.–!I.—?J.˜GK.™JL.šKM.›MN.œXO.YP.žZQ.Ÿ_R. gS.¡jT.¢kU.£mV.¤xW.¥yX.¦zY.§!Z.¨?_.©Ga.ªJb.«Kc.¬Md.­Xe.®Yf.¯Zg.°_h.±gi.²jj.³kk.´ml.µxm.¶yn.·zo.¸!p.¹?q.ºGr.»Js.¼Kt.½Mu.¾Xv.¿Yw.ÀZx.Á_y.Âgz.Ãj!.Äk0.Åm1.Æx2.Çy3.Èz4.É!5.Ê?6.ËG7.ÌJ8.ÍK9.ÎM?.ÏXA.ÐYB.ÑZC.Ò_D.ÓgE.ÔjF.ÕkG.ÖmH.×xI.ØyJ.ÙzK.Ú!L.Û?M.ÜGN.ÝJO.ÞKP.ßMQ.àXR.áYS.âZT.ã_U.ägV.åjW.ækX.çmY.èxZ.éy_.êza.ë!b.ì?c.íGd.îJe.ïKf.ðMg.ñXh.òYi.óZj.ô_k.õgl.öjm.÷kn.ømo.ùxp.úyq.ûzr.ü!s.ý?t.þGu.ÿ!!
j? kA mB xCyDzE!F?GGHJIKJMKXLYMZN_OgPjQkRmSxTyU zV"!W#?X$GY%JZ&K_'Ma(Xb)Yc*Zd+_e,gf-jg/kh:mi;xj<yk=zl>!m@?n[Go\Jp]Kq^Mr`Xs{Yt|Zu}_v~gwjx€kymz‚x!ƒy0„z1…!2†?3‡G4ˆJ5‰K6ŠM7‹X8ŒY9Z?Ž_AgBjC‘kD’mE“xF”yG•zH–!I—?J˜GK™JLšKM›MNœXOYPžZQŸ_R gS¡jT¢kU£mV¤xW¥yX¦zY§!Z¨?_©GaªJb«Kc¬Md­Xe®Yf¯Zg°_h±gi²jj³kk´mlµxm¶yn·zo¸!p¹?qºGr»Js¼Kt½Mu¾Xv¿YwÀZxÁ_yÂgzÃj!Äk0Åm1Æx2Çy3Èz4É!5Ê?6ËG7ÌJ8ÍK9ÎM?ÏXAÐYBÑZCÒ_DÓgEÔjFÕkGÖmH×xIØyJÙzKÚ!LÛ?MÜGNÝJOÞKPßMQàXRáYSâZTã_UägVåjWækXçmYèxZéy_êzaë!bì?cíGdîJeïKfðMgñXhòYióZjô_kõglöjm÷knømoùxpúyqûzrü!sý?tþGuÿ!.!
j.9 k.? m.A x.By.Cz.D!.E?.FG.GJ.HK.IM.JX.KY.LZ.M_.Ng.Oj.Pk.Qm.Rx.Sy.T z.U"!.V#?.W$G.X%J.Y&K.Z'M._(X.a)Y.b*Z.c+_.d,g.e-j.f/k.g:m.h;x.i<y.j=z.k>!.l@?.m[G.n\J.o]K.p^M.q`X.r{Y.s|Z.t}_.u~g.vj.w€k.xm.y‚x.zƒy.!„z..…!.0†?.1‡G.2ˆJ.3‰K.4ŠM.5‹X.6ŒY.7Z.8Ž_.9g.?j.A‘k.B’m.C“x.D”y.E•z.F–!.G—?.H˜G.I™J.JšK.K›M.LœX.MY.NžZ.OŸ_.P g.Q¡j.R¢k.S£m.T¤x.U¥y.V¦z.W§!.X¨?.Y©G.ZªJ._«K.a¬M.b­X.c®Y.d¯Z.e°_.f±g.g²j.h³k.i´m.jµx.k¶y.l·z.m¸!.n¹?.oºG.p»J.q¼K.r½M.s¾X.t¿Y.uÀZ.vÁ_.wÂg.xÃj.yÄk.zÅm.!Æx..Çy.0Èz.1É!.2Ê?.3ËG.4ÌJ.5ÍK.6ÎM.7ÏX.8ÐY.9ÑZ.?Ò_.AÓg.BÔj.CÕk.DÖm.E×x.FØy.GÙz.HÚ!.IÛ?.JÜG.KÝJ.LÞK.MßM.NàX.OáY.PâZ.Qã_.Räg.Såj.Tæk.Uçm.Vèx.Wéy.Xêz.Yë!.Zì?._íG.aîJ.bïK.cðM.dñX.eòY.fóZ.gô_.hõg.iöj.j÷k.køm.lùx.múy.nûz.oü!.pý?.qþG.rÿ!
j k m xyz!?GJKMXYZ_gjkmxy z"!#?$G%J&K'M(X)Y*Z+_,g-j/k:m;x<y=z>!@?[G\J]K^M`X{Y|Z}_~gj€km‚xƒy„z…!†?‡GˆJ‰KŠM‹XŒYZŽ_gj‘k’m“x”y•z–!—?˜G™JšK›MœXYžZŸ_ g¡j¢k£m¤x¥y¦z§!¨?©GªJ«K¬M­X®Y¯Z°_±g²j³k´mµx¶y·z¸!¹?ºG»J¼K½M¾X¿YÀZÁ_ÂgÃjÄkÅmÆxÇyÈzÉ!Ê?ËGÌJÍKÎMÏXÐYÑZÒ_ÓgÔjÕkÖm×xØyÙzÚ!Û?ÜGÝJÞKßMàXáYâZã_ägåjækçmèxéyêzë!ì?íGîJïKðMñXòYóZô_õgöj÷kømùxúyûzü!ý?þGÿ""B
@@ -7906,19 +8099,17 @@ j k m xyz!?GJKMXYZ_gjkmxy z"!#?$G%J&K'M(X)Y*Z+_,g-j/k:m;x<y=z>
()* ** **
* * * * * * * * * * * * * * * * * * * * * * !* "* #* $* %* &* '* (* )* +* ,* -* .* /* 0* 1* 2* 3* 4* 5* 6* 7* 8* 9* :* ;* <* =* >* ?* @* A* B* C* D* E* F* G* H* I* J* K* L* M* N* O* P* Q* R* S* T* U* V* W* X* Y* Z* [* \* ]* ^* _* `* a* b* c* d* e* f* g* h* i* j* k* l* m* n* o* p* q* r* s* t* u* v* w* x* y* z* {* |* }* ~* * €* * ‚* ƒ* „* …* †* ‡* ˆ* ‰* Š* ‹* Œ* * Ž* * * ‘* ’* “* ”* •* –* —* ˜* ™* š* ›* œ* * ž* Ÿ*  * ¡* ¢* £* ¤* ¥* ¦* §* ¨* ©* ª* «* ¬* ­* ®* ¯* °* ±* ²* ³* ´* µ* ¶* ·* ¸* ¹* º* »* ¼* ½* ¾* ¿* À* Á* Â* Ã* Ä* Å* Æ* Ç* È* É* Ê* Ë* Ì* Í* Î* Ï* Ð* Ñ* Ò* Ó* Ô* Õ* Ö* ×* Ø* Ù* Ú* Û* Ü* Ý* Þ* ß* à* á* â* ã* ä* å* æ* ç* è* é* ê* ë* ì* í* î* ï* ð* ñ* ò* ó* ô* õ* ö* ÷* ø* ù* ú* û* ü* ý* þ* ÿ* ** **
* * * * * * * * * * * * * * * * * * * * * * !* "* #* $* %* &* '* (* )* +* ,* -* .* /* 0* 1* 2* 3* 4* 5* 6* 7* 8* 9* :* ;* <* =* >* ?* @* A* B* C* D* E* F* G* H* I* J* K* L* M* N* O* P* Q* R* S* T* U* V* W* X* Y* Z* [* \* ]* ^* _* `* a* b* c* d* e* f* g* h* i* j* k* l* m* n* o* p* q* r* s* t* u* v* w* x* y* z* {* |* }* ~* * €* * ‚* ƒ* „* …* †* ‡* ˆ* ‰* Š* ‹* Œ* * Ž* * * ‘* ’* “* ”* •* –* —* ˜* ™* š* ›* œ* * ž* Ÿ*  * ¡* ¢* £* ¤* ¥* ¦* §* ¨* ©* ª* «* ¬* ­* ®* ¯* °* ±* ²* ³* ´* µ* ¶* ·* ¸* ¹* º* »* ¼* ½* ¾* ¿* À* Á* Â* Ã* Ä* Å* Æ* Ç* È* É* Ê* Ë* Ì* Í* Î* Ï* Ð* Ñ* Ò* Ó* Ô* Õ* Ö* ×* Ø* Ù* Ú* Û* Ü* Ý* Þ* ß* à* á* â* ã* ä* å* æ* ç* è* é* ê* ë* ì* í* î* ï* ð* ñ* ò* ó* ô* õ* ö* ÷* ø* ù* ú* û* ü* ý* þ* ÿ***
-* * * *******************!*"*#*$*%*&*'*(*)*+*,*-*.*/*0*1*2*3*4*5*6*7*8*9*:*;*<*=*>*?*@*A*B*C*D*E*F*G*H*I*J*K*L*M*N*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*\*]*^*_*`*a*b*c*d*e*f*g*h*i*j*k*l*m*n*o*p*q*r*s*t*u*v*w*x*y*z*{*|*}*~**€**‚*ƒ*„*…*†*‡*ˆ*‰*Š*‹*Œ**Ž***‘*’*“*”*•*–*—*˜*™*š*›*œ**ž*Ÿ* *¡*¢*£*¤*¥*¦*§*¨*©*ª*«*¬*­*®*¯*°*±*²*³*´*µ*¶*·*¸*¹*º*»*¼*½*¾*¿*À*Á*Â*Ã*Ä*Å*Æ*Ç*È*É*Ê*Ë*Ì*Í*Î*Ï*Ð*Ñ*Ò*Ó*Ô*Õ*Ö*×*Ø*Ù*Ú*Û*Ü*Ý*Þ*ß*à*á*â*ã*ä*å*æ*ç*è*é*ê*ë*ì*í*î*ï*ð*ñ*ò*ó*ô*õ*ö*÷*ø*ù*ú*û*ü*ý*þ*ÿ+,-.!!EE+00
-.99ee-11 0??EE+22 1AAee-33 2BBEE+443CCee-554DDEE+665FFee-776GGEE+887HHee-998IIEE+009JJee-11.KKEE+220LLee-331MMEE+442NNee-553OOEE+664PPee-775QQEE+886RRee-997SSEE+008TTee-119UUEE+22 .VVee-33!0WWEE+44"1XXee-55#2YYEE+66$3ZZee-77%4__EE+88&5aaee-99'6bbEE+00(7ccee-11)8ddEE+22*9ffee-33+.ggEE+44,0hhee-55-1iiEE+66.2jjee-77/3kkEE+88:4llee-99;5mmEE+00<6nnee-11=7ooEE+22>8ppee-33?9qqEE+44@.rree-55A0ssEE+66B1ttee-77C2uuEE+88D3vvee-99E4wwEE+00F5xxee-11G6yyEE+22H7zzee-33I8!!EE+44J9..ee-55K.00EE+66L011ee-77M122EE+88N233ee-99O344EE+00P455ee-11Q566EE+22R677ee-33S788EE+44T899ee-55U9??EE+66V.AAee-77W0BBEE+88X1CCee-99Y2DDEE+00Z3FFee-11[4GGEE+22\5HHee-33]6IIEE+44^7JJee-55_8KKEE+66`9LLee-77a.MMEE+88b0NNee-99c1OOEE+00d2PPee-11e3QQEE+22f4RRee-33g5SSEE+44h6TTee-55i7UUEE+66j8VVee-77k9WWEE+88l.XXee-99m0YYEE+00n1ZZee-11o2__EE+22p3aaee-33q4bbEE+44r5ccee-55s6ddEE+66t7ffee-77u8ggEE+88v9hhee-99w.iiEE+00x0jjee-11y1kkEE+22z2llee-33{3mmEE+44|4nnee-55}5ooEE+66~6ppee-777qqEE+88€8rree-999ssEE+00‚.ttee-11ƒ0uuEE+22„1vvee-33…2wwEE+44†3xxee-55‡4yyEE+66ˆ5zzee-77‰6!!EE+88Š7..ee-99‹800EE+00Œ911ee-11.22EE+22Ž033ee-33144EE+44255ee-55‘366EE+66’477ee-77“588EE+88”699ee-99•7??EE+00–8AAee-11—9BBEE+22˜.CCee-33™0DDEE+44š1FFee-55›2GGEE+66œ3HHee-774IIEE+88ž5JJee-99Ÿ6KKEE+00 7LLee-11¡8MMEE+22¢9NNee-33£.OOEE+44¤0PPee-55¥1QQEE+66¦2RRee-77§3SSEE+88¨4TTee-99©5UUEE+00ª6VVee-11«7WWEE+22¬8XXee-33­9YYEE+44®.ZZee-55¯0__EE+66°1aaee-77±2bbEE+88²3ccee-99³4ddEE+00´5ffee-11µ6ggEE+22¶7hhee-33·8iiEE+44¸9jjee-55¹.kkEE+66º0llee-77»1mmEE+88¼2nnee-99½3ooEE+00¾4ppee-11¿5qqEE+22À6rree-33Á7ssEE+44Â8ttee-55Ã9uuEE+66Ä.vvee-77Å0wwEE+88Æ1xxee-99Ç2yyEE+00È3zzee-11É4!!EE+22Ê5..ee-33Ë600EE+44Ì711ee-55Í822EE+66Î933ee-77Ï.44EE+88Ð055ee-99Ñ166EE+00Ò277ee-11Ó388EE+22Ô499ee-33Õ5??EE+44Ö6AAee-55×7BBEE+66Ø8CCee-77Ù9DDEE+88Ú.FFee-99Û0GGEE+00Ü1HHee-11Ý2IIEE+22Þ3JJee-33ß4KKEE+44à5LLee-55á6MMEE+66â7NNee-77ã8OOEE+88ä9PPee-99å.QQEE+00æ0RRee-11ç1SSEE+22è2TTee-33é3UUEE+44ê4VVee-55ë5WWEE+66ì6XXee-77í7YYEE+88î8ZZee-99ï9__EE+00ð.aaee-11ñ0bbEE+22ò1ccee-33ó2ddEE+44ô3ffee-55õ4ggEE+66ö5hhee-77÷6iiEE+88ø7jjee-99ù8kkEE+00ú9llee-11û.mmEE+22ü0nnee-33ý1ooEE+44þ2ppee-55ÿ.!!EE+0
-.99ee-1 0??EE+2 1AAee-3 2BBEE+43CCee-54DDEE+65FFee-76GGEE+87HHee-98IIEE+09JJee-1.KKEE+20LLee-31MMEE+42NNee-53OOEE+64PPee-75QQEE+86RRee-97SSEE+08TTee-19UUEE+2 .VVee-3!0WWEE+4"1XXee-5#2YYEE+6$3ZZee-7%4__EE+8&5aaee-9'6bbEE+0(7ccee-1)8ddEE+2*9ffee-3+.ggEE+4,0hhee-5-1iiEE+6.2jjee-7/3kkEE+8:4llee-9;5mmEE+0<6nnee-1=7ooEE+2>8ppee-3?9qqEE+4@.rree-5A0ssEE+6B1ttee-7C2uuEE+8D3vvee-9E4wwEE+0F5xxee-1G6yyEE+2H7zzee-3I8!!EE+4J9..ee-5K.00EE+6L011ee-7M122EE+8N233ee-9O344EE+0P455ee-1Q566EE+2R677ee-3S788EE+4T899ee-5U9??EE+6V.AAee-7W0BBEE+8X1CCee-9Y2DDEE+0Z3FFee-1[4GGEE+2\5HHee-3]6IIEE+4^7JJee-5_8KKEE+6`9LLee-7a.MMEE+8b0NNee-9c1OOEE+0d2PPee-1e3QQEE+2f4RRee-3g5SSEE+4h6TTee-5i7UUEE+6j8VVee-7k9WWEE+8l.XXee-9m0YYEE+0n1ZZee-1o2__EE+2p3aaee-3q4bbEE+4r5ccee-5s6ddEE+6t7ffee-7u8ggEE+8v9hhee-9w.iiEE+0x0jjee-1y1kkEE+2z2llee-3{3mmEE+4|4nnee-5}5ooEE+6~6ppee-77qqEE+8€8rree-99ssEE+0‚.ttee-1ƒ0uuEE+2„1vvee-3…2wwEE+4†3xxee-5‡4yyEE+6ˆ5zzee-7‰6!!EE+8Š7..ee-9‹800EE+0Œ911ee-1.22EE+2Ž033ee-3144EE+4255ee-5‘366EE+6’477ee-7“588EE+8”699ee-9•7??EE+0–8AAee-1—9BBEE+2˜.CCee-3™0DDEE+4š1FFee-5›2GGEE+6œ3HHee-74IIEE+8ž5JJee-9Ÿ6KKEE+0 7LLee-1¡8MMEE+2¢9NNee-3£.OOEE+4¤0PPee-5¥1QQEE+6¦2RRee-7§3SSEE+8¨4TTee-9©5UUEE+0ª6VVee-1«7WWEE+2¬8XXee-3­9YYEE+4®.ZZee-5¯0__EE+6°1aaee-7±2bbEE+8²3ccee-9³4ddEE+0´5ffee-1µ6ggEE+2¶7hhee-3·8iiEE+4¸9jjee-5¹.kkEE+6º0llee-7»1mmEE+8¼2nnee-9½3ooEE+0¾4ppee-1¿5qqEE+2À6rree-3Á7ssEE+4Â8ttee-5Ã9uuEE+6Ä.vvee-7Å0wwEE+8Æ1xxee-9Ç2yyEE+0È3zzee-1É4!!EE+2Ê5..ee-3Ë600EE+4Ì711ee-5Í822EE+6Î933ee-7Ï.44EE+8Ð055ee-9Ñ166EE+0Ò277ee-1Ó388EE+2Ô499ee-3Õ5??EE+4Ö6AAee-5×7BBEE+6Ø8CCee-7Ù9DDEE+8Ú.FFee-9Û0GGEE+0Ü1HHee-1Ý2IIEE+2Þ3JJee-3ß4KKEE+4à5LLee-5á6MMEE+6â7NNee-7ã8OOEE+8ä9PPee-9å.QQEE+0æ0RRee-1ç1SSEE+2è2TTee-3é3UUEE+4ê4VVee-5ë5WWEE+6ì6XXee-7í7YYEE+8î8ZZee-9ï9__EE+0ð.aaee-1ñ0bbEE+2ò1ccee-3ó2ddEE+4ô3ffee-5õ4ggEE+6ö5hhee-7÷6iiEE+8ø7jjee-9ù8kkEE+0ú9llee-1û.mmEE+2ü0nnee-3ý1ooEE+4þ2ppee-5ÿ.!!EE+
-.99ee- 0??EE+ 1AAee- 2BBEE+3CCee-4DDEE+5FFee-6GGEE+7HHee-8IIEE+9JJee-.KKEE+0LLee-1MMEE+2NNee-3OOEE+4PPee-5QQEE+6RRee-7SSEE+8TTee-9UUEE+ .VVee-!0WWEE+"1XXee-#2YYEE+$3ZZee-%4__EE+&5aaee-'6bbEE+(7ccee-)8ddEE+*9ffee-+.ggEE+,0hhee--1iiEE+.2jjee-/3kkEE+:4llee-;5mmEE+<6nnee-=7ooEE+>8ppee-?9qqEE+@.rree-A0ssEE+B1ttee-C2uuEE+D3vvee-E4wwEE+F5xxee-G6yyEE+H7zzee-I8!!EE+J9..ee-K.00EE+L011ee-M122EE+N233ee-O344EE+P455ee-Q566EE+R677ee-S788EE+T899ee-U9??EE+V.AAee-W0BBEE+X1CCee-Y2DDEE+Z3FFee-[4GGEE+\5HHee-]6IIEE+^7JJee-_8KKEE+`9LLee-a.MMEE+b0NNee-c1OOEE+d2PPee-e3QQEE+f4RRee-g5SSEE+h6TTee-i7UUEE+j8VVee-k9WWEE+l.XXee-m0YYEE+n1ZZee-o2__EE+p3aaee-q4bbEE+r5ccee-s6ddEE+t7ffee-u8ggEE+v9hhee-w.iiEE+x0jjee-y1kkEE+z2llee-{3mmEE+|4nnee-}5ooEE+~6ppee-7qqEE+€8rree-9ssEE+‚.ttee-ƒ0uuEE+„1vvee-…2wwEE+†3xxee-‡4yyEE+ˆ5zzee-‰6!!EE+Š7..ee-‹800EE+Œ911ee-.22EE+Ž033ee-144EE+255ee-‘366EE+’477ee-“588EE+”699ee-•7??EE+–8AAee-—9BBEE+˜.CCee-™0DDEE+š1FFee-›2GGEE+œ3HHee-4IIEE+ž5JJee-Ÿ6KKEE+ 7LLee-¡8MMEE+¢9NNee-£.OOEE+¤0PPee-¥1QQEE+¦2RRee-§3SSEE+¨4TTee-©5UUEE+ª6VVee-«7WWEE+¬8XXee-­9YYEE+®.ZZee-¯0__EE+°1aaee-±2bbEE+²3ccee-³4ddEE+´5ffee-µ6ggEE+¶7hhee-·8iiEE+¸9jjee-¹.kkEE+º0llee-»1mmEE+¼2nnee-½3ooEE+¾4ppee-¿5qqEE+À6rree-Á7ssEE+Â8ttee-Ã9uuEE+Ä.vvee-Å0wwEE+Æ1xxee-Ç2yyEE+È3zzee-É4!!EE+Ê5..ee-Ë600EE+Ì711ee-Í822EE+Î933ee-Ï.44EE+Ð055ee-Ñ166EE+Ò277ee-Ó388EE+Ô499ee-Õ5??EE+Ö6AAee-×7BBEE+Ø8CCee-Ù9DDEE+Ú.FFee-Û0GGEE+Ü1HHee-Ý2IIEE+Þ3JJee-ß4KKEE+à5LLee-á6MMEE+â7NNee-ã8OOEE+ä9PPee-å.QQEE+æ0RRee-ç1SSEE+è2TTee-é3UUEE+ê4VVee-ë5WWEE+ì6XXee-í7YYEE+î8ZZee-ï9__EE+ð.aaee-ñ0bbEE+ò1ccee-ó2ddEE+ô3ffee-õ4ggEE+ö5hhee-÷6iiEE+ø7jjee-ù8kkEE+ú9llee-û.mmEE+ü0nnee-ý1ooEE+þ2ppee-ÿ.!!EE0E+0
-.99ee1e-1 0??EE2E+2 1AAee3e-3 2BBEE4E+43CCee5e-54DDEE6E+65FFee7e-76GGEE8E+87HHee9e-98IIEE0E+09JJee1e-1.KKEE2E+20LLee3e-31MMEE4E+42NNee5e-53OOEE6E+64PPee7e-75QQEE8E+86RRee9e-97SSEE0E+08TTee1e-19UUEE2E+2 .VVee3e-3!0WWEE4E+4"1XXee5e-5#2YYEE6E+6$3ZZee7e-7%4__EE8E+8&5aaee9e-9'6bbEE0E+0(7ccee1e-1)8ddEE2E+2*9ffee3e-3+.ggEE4E+4,0hhee5e-5-1iiEE6E+6.2jjee7e-7/3kkEE8E+8:4llee9e-9;5mmEE0E+0<6nnee1e-1=7ooEE2E+2>8ppee3e-3?9qqEE4E+4@.rree5e-5A0ssEE6E+6B1ttee7e-7C2uuEE8E+8D3vvee9e-9E4wwEE0E+0F5xxee1e-1G6yyEE2E+2H7zzee3e-3I8!!EE4E+4J9..ee5e-5K.00EE6E+6L011ee7e-7M122EE8E+8N233ee9e-9O344EE0E+0P455ee1e-1Q566EE2E+2R677ee3e-3S788EE4E+4T899ee5e-5U9??EE6E+6V.AAee7e-7W0BBEE8E+8X1CCee9e-9Y2DDEE0E+0Z3FFee1e-1[4GGEE2E+2\5HHee3e-3]6IIEE4E+4^7JJee5e-5_8KKEE6E+6`9LLee7e-7a.MMEE8E+8b0NNee9e-9c1OOEE0E+0d2PPee1e-1e3QQEE2E+2f4RRee3e-3g5SSEE4E+4h6TTee5e-5i7UUEE6E+6j8VVee7e-7k9WWEE8E+8l.XXee9e-9m0YYEE0E+0n1ZZee1e-1o2__EE2E+2p3aaee3e-3q4bbEE4E+4r5ccee5e-5s6ddEE6E+6t7ffee7e-7u8ggEE8E+8v9hhee9e-9w.iiEE0E+0x0jjee1e-1y1kkEE2E+2z2llee3e-3{3mmEE4E+4|4nnee5e-5}5ooEE6E+6~6ppee7e-77qqEE8E+8€8rree9e-99ssEE0E+0‚.ttee1e-1ƒ0uuEE2E+2„1vvee3e-3…2wwEE4E+4†3xxee5e-5‡4yyEE6E+6ˆ5zzee7e-7‰6!!EE8E+8Š7..ee9e-9‹800EE0E+0Œ911ee1e-1.22EE2E+2Ž033ee3e-3144EE4E+4255ee5e-5‘366EE6E+6’477ee7e-7“588EE8E+8”699ee9e-9•7??EE0E+0–8AAee1e-1—9BBEE2E+2˜.CCee3e-3™0DDEE4E+4š1FFee5e-5›2GGEE6E+6œ3HHee7e-74IIEE8E+8ž5JJee9e-9Ÿ6KKEE0E+0 7LLee1e-1¡8MMEE2E+2¢9NNee3e-3£.OOEE4E+4¤0PPee5e-5¥1QQEE6E+6¦2RRee7e-7§3SSEE8E+8¨4TTee9e-9©5UUEE0E+0ª6VVee1e-1«7WWEE2E+2¬8XXee3e-3­9YYEE4E+4®.ZZee5e-5¯0__EE6E+6°1aaee7e-7±2bbEE8E+8²3ccee9e-9³4ddEE0E+0´5ffee1e-1µ6ggEE2E+2¶7hhee3e-3·8iiEE4E+4¸9jjee5e-5¹.kkEE6E+6º0llee7e-7»1mmEE8E+8¼2nnee9e-9½3ooEE0E+0¾4ppee1e-1¿5qqEE2E+2À6rree3e-3Á7ssEE4E+4Â8ttee5e-5Ã9uuEE6E+6Ä.vvee7e-7Å0wwEE8E+8Æ1xxee9e-9Ç2yyEE0E+0È3zzee1e-1É4!!EE2E+2Ê5..ee3e-3Ë600EE4E+4Ì711ee5e-5Í822EE6E+6Î933ee7e-7Ï.44EE8E+8Ð055ee9e-9Ñ166EE0E+0Ò277ee1e-1Ó388EE2E+2Ô499ee3e-3Õ5??EE4E+4Ö6AAee5e-5×7BBEE6E+6Ø8CCee7e-7Ù9DDEE8E+8Ú.FFee9e-9Û0GGEE0E+0Ü1HHee1e-1Ý2IIEE2E+2Þ3JJee3e-3ß4KKEE4E+4à5LLee5e-5á6MMEE6E+6â7NNee7e-7ã8OOEE8E+8ä9PPee9e-9å.QQEE0E+0æ0RRee1e-1ç1SSEE2E+2è2TTee3e-3é3UUEE4E+4ê4VVee5e-5ë5WWEE6E+6ì6XXee7e-7í7YYEE8E+8î8ZZee9e-9ï9__EE0E+0ð.aaee1e-1ñ0bbEE2E+2ò1ccee3e-3ó2ddEE4E+4ô3ffee5e-5õ4ggEE6E+6ö5hhee7e-7÷6iiEE8E+8ø7jjee9e-9ù8kkEE0E+0ú9llee1e-1û.mmEE2E+2ü0nnee3e-3ý1ooEE4E+4þ2ppee5e-5ÿ.!!EE00E+0
-.99ee11e-1 0??EE22E+2 1AAee33e-3 2BBEE44E+43CCee55e-54DDEE66E+65FFee77e-76GGEE88E+87HHee99e-98IIEE00E+09JJee11e-1.KKEE22E+20LLee33e-31MMEE44E+42NNee55e-53OOEE66E+64PPee77e-75QQEE88E+86RRee99e-97SSEE00E+08TTee11e-19UUEE22E+2 .VVee33e-3!0WWEE44E+4"1XXee55e-5#2YYEE66E+6$3ZZee77e-7%4__EE88E+8&5aaee99e-9'6bbEE00E+0(7ccee11e-1)8ddEE22E+2*9ffee33e-3+.ggEE44E+4,0hhee55e-5-1iiEE66E+6.2jjee77e-7/3kkEE88E+8:4llee99e-9;5mmEE00E+0<6nnee11e-1=7ooEE22E+2>8ppee33e-3?9qqEE44E+4@.rree55e-5A0ssEE66E+6B1ttee77e-7C2uuEE88E+8D3vvee99e-9E4wwEE00E+0F5xxee11e-1G6yyEE22E+2H7zzee33e-3I8!!EE44E+4J9..ee55e-5K.00EE66E+6L011ee77e-7M122EE88E+8N233ee99e-9O344EE00E+0P455ee11e-1Q566EE22E+2R677ee33e-3S788EE44E+4T899ee55e-5U9??EE66E+6V.AAee77e-7W0BBEE88E+8X1CCee99e-9Y2DDEE00E+0Z3FFee11e-1[4GGEE22E+2\5HHee33e-3]6IIEE44E+4^7JJee55e-5_8KKEE66E+6`9LLee77e-7a.MMEE88E+8b0NNee99e-9c1OOEE00E+0d2PPee11e-1e3QQEE22E+2f4RRee33e-3g5SSEE44E+4h6TTee55e-5i7UUEE66E+6j8VVee77e-7k9WWEE88E+8l.XXee99e-9m0YYEE00E+0n1ZZee11e-1o2__EE22E+2p3aaee33e-3q4bbEE44E+4r5ccee55e-5s6ddEE66E+6t7ffee77e-7u8ggEE88E+8v9hhee99e-9w.iiEE00E+0x0jjee11e-1y1kkEE22E+2z2llee33e-3{3mmEE44E+4|4nnee55e-5}5ooEE66E+6~6ppee77e-77qqEE88E+8€8rree99e-99ssEE00E+0‚.ttee11e-1ƒ0uuEE22E+2„1vvee33e-3…2wwEE44E+4†3xxee55e-5‡4yyEE66E+6ˆ5zzee77e-7‰6!!EE88E+8Š7..ee99e-9‹800EE00E+0Œ911ee11e-1.22EE22E+2Ž033ee33e-3144EE44E+4255ee55e-5‘366EE66E+6’477ee77e-7“588EE88E+8”699ee99e-9•7??EE00E+0–8AAee11e-1—9BBEE22E+2˜.CCee33e-3™0DDEE44E+4š1FFee55e-5›2GGEE66E+6œ3HHee77e-74IIEE88E+8ž5JJee99e-9Ÿ6KKEE00E+0 7LLee11e-1¡8MMEE22E+2¢9NNee33e-3£.OOEE44E+4¤0PPee55e-5¥1QQEE66E+6¦2RRee77e-7§3SSEE88E+8¨4TTee99e-9©5UUEE00E+0ª6VVee11e-1«7WWEE22E+2¬8XXee33e-3­9YYEE44E+4®.ZZee55e-5¯0__EE66E+6°1aaee77e-7±2bbEE88E+8²3ccee99e-9³4ddEE00E+0´5ffee11e-1µ6ggEE22E+2¶7hhee33e-3·8iiEE44E+4¸9jjee55e-5¹.kkEE66E+6º0llee77e-7»1mmEE88E+8¼2nnee99e-9½3ooEE00E+0¾4ppee11e-1¿5qqEE22E+2À6rree33e-3Á7ssEE44E+4Â8ttee55e-5Ã9uuEE66E+6Ä.vvee77e-7Å0wwEE88E+8Æ1xxee99e-9Ç2yyEE00E+0È3zzee11e-1É4!!EE22E+2Ê5..ee33e-3Ë600EE44E+4Ì711ee55e-5Í822EE66E+6Î933ee77e-7Ï.44EE88E+8Ð055ee99e-9Ñ166EE00E+0Ò277ee11e-1Ó388EE22E+2Ô499ee33e-3Õ5??EE44E+4Ö6AAee55e-5×7BBEE66E+6Ø8CCee77e-7Ù9DDEE88E+8Ú.FFee99e-9Û0GGEE00E+0Ü1HHee11e-1Ý2IIEE22E+2Þ3JJee33e-3ß4KKEE44E+4à5LLee55e-5á6MMEE66E+6â7NNee77e-7ã8OOEE88E+8ä9PPee99e-9å.QQEE00E+0æ0RRee11e-1ç1SSEE22E+2è2TTee33e-3é3UUEE44E+4ê4VVee55e-5ë5WWEE66E+6ì6XXee77e-7í7YYEE88E+8î8ZZee99e-9ï9__EE00E+0ð.aaee11e-1ñ0bbEE22E+2ò1ccee33e-3ó2ddEE44E+4ô3ffee55e-5õ4ggEE66E+6ö5hhee77e-7÷6iiEE88E+8ø7jjee99e-9ù8kkEE00E+0ú9llee11e-1û.mmEE22E+2ü0nnee33e-3ý1ooEE44E+4þ2ppee55e-5ÿ.!!EE0
-.99ee1 0??EE2 1AAee3 2BBEE43CCee54DDEE65FFee76GGEE87HHee98IIEE09JJee1.KKEE20LLee31MMEE42NNee53OOEE64PPee75QQEE86RRee97SSEE08TTee19UUEE2 .VVee3"0WWEE4#1XXee5$2YYEE6%3ZZee7&4__EE8'5aaee9(6bbEE0)7ccee1*8ddEE2+9ffee3,.ggEE4-0hhee5/1iiEE6:2jjee7;3kkEE8<4llee9=5mmEE0>6nnee1@7ooEE2[8ppee3\9qqEE4].rree5^0ssEE6`1ttee7{2uuEE8|3vvee9}4wwEE0~5xxee16yyEE2€7zzee38!!EE4‚9..ee5ƒ.00EE6„011ee7…122EE8†233ee9‡344EE0ˆ455ee1‰566EE2Š677ee3‹788EE4Œ899ee59??EE6Ž.AAee70BBEE81CCee9‘2DDEE0’3FFee1“4GGEE2”5HHee3•6IIEE4–7JJee5—8KKEE6˜9LLee7™.MMEE8š0NNee9›1OOEE0œ2PPee13QQEE2ž4RRee3Ÿ5SSEE4 6TTee5¡7UUEE6¢8VVee7£9WWEE8¤.XXee9¥0YYEE0¦1ZZee1§2__EE2¨3aaee3©4bbEE4ª5ccee5«6ddEE6¬7ffee7­8ggEE8®9hhee9¯.iiEE0°0jjee1±1kkEE2²2llee3³3mmEE4´4nnee5µ5ooEE6¶6ppee7·7qqEE8¸8rree9¹9ssEE0º.ttee1»0uuEE2¼1vvee3½2wwEE4¾3xxee5¿4yyEE6À5zzee7Á6!!EE8Â7..ee9Ã800EE0Ä911ee1Å.22EE2Æ033ee3Ç144EE4È255ee5É366EE6Ê477ee7Ë588EE8Ì699ee9Í7??EE0Î8AAee1Ï9BBEE2Ð.CCee3Ñ0DDEE4Ò1FFee5Ó2GGEE6Ô3HHee7Õ4IIEE8Ö5JJee9×6KKEE0Ø7LLee1Ù8MMEE2Ú9NNee3Û.OOEE4Ü0PPee5Ý1QQEE6Þ2RRee7ß3SSEE8à4TTee9á5UUEE0â6VVee1ã7WWEE2ä8XXee3å9YYEE4æ.ZZee5ç0__EE6è1aaee7é2bbEE8ê3ccee9ë4ddEE0ì5ffee1í6ggEE2î7hhee3ï8iiEE4ð9jjee5ñ.kkEE6ò0llee7ó1mmEE8ô2nnee9õ3ooEE0ö4ppee1÷5qqEE2ø6rree3ù7ssEE4ú8ttee5û9uuEE6ü.vvee7ý0wwEE8þ1xxee9ÿ.!!EE
-.99ee 0??EE 1AAee 2BBEE3CCee4DDEE5FFee6GGEE7HHee8IIEE9JJee.KKEE0LLee1MMEE2NNee3OOEE4PPee5QQEE6RRee7SSEE8TTee9UUEE .VVee"0WWEE#1XXee$2YYEE%3ZZee&4__EE'5aaee(6bbEE)7ccee*8ddEE,9ffee/.ggEE:0hhee;1iiEE<2jjee=3kkEE>4llee@5mmEE[6nnee\7ooEE]8ppee^9qqEE`.rree{0ssEE|1ttee}2uuEE~3vvee4wwEE€5xxee6yyEE‚7zzeeƒ8!!EE„9..ee….00EE†011ee‡122EEˆ233ee‰344EEŠ455ee‹566EEŒ677ee788EEŽ899ee9??EE.AAee‘0BBEE’1CCee“2DDEE”3FFee•4GGEE–5HHee—6IIEE˜7JJee™8KKEEš9LLee›.MMEEœ0NNee1OOEEž2PPeeŸ3QQEE 4RRee¡5SSEE¢6TTee£7UUEE¤8VVee¥9WWEE¦.XXee§0YYEE¨1ZZee©2__EEª3aaee«4bbEE¬5ccee­6ddEE®7ffee¯8ggEE°9hhee±.iiEE²0jjee³1kkEE´2lleeµ3mmEE¶4nnee·5ooEE¸6ppee¹7qqEEº8rree»9ssEE¼.ttee½0uuEE¾1vvee¿2wwEEÀ3xxeeÁ4yyEEÂ5zzeeÃ6!!EEÄ7..eeÅ800EEÆ911eeÇ.22EEÈ033eeÉ144EEÊ255eeË366EEÌ477eeÍ588EEÎ699eeÏ7??EEÐ8AAeeÑ9BBEEÒ.CCeeÓ0DDEEÔ1FFeeÕ2GGEEÖ3HHee×4IIEEØ5JJeeÙ6KKEEÚ7LLeeÛ8MMEEÜ9NNeeÝ.OOEEÞ0PPeeß1QQEEà2RReeá3SSEEâ4TTeeã5UUEEä6VVeeå7WWEEæ8XXeeç9YYEEè.ZZeeé0__EEê1aaeeë2bbEEì3cceeí4ddEEî5ffeeï6ggEEð7hheeñ8iiEEò9jjeeó.kkEEô0lleeõ1mmEEö2nnee÷3ooEEø4ppeeù5qqEEú6rreeû7ssEEü8tteeý9uuEEþ.vveeÿ.!!E+0
-.99e-1 0??E+2 1AAe-3 2BBE+43CCe-54DDE+65FFe-76GGE+87HHe-98IIE+09JJe-1.KKE+20LLe-31MME+42NNe-53OOE+64PPe-75QQE+86RRe-97SSE+08TTe-19UUE+2 .VVe-3!0WWE+4"1XXe-5#2YYE+6$3ZZe-7%4__E+8&5aae-9'6bbE+0(7cce-1)8ddE+2*9ffe-3+.ggE+4,0hhe-5-1iiE+6.2jje-7/3kkE+8:4lle-9;5mmE+0<6nne-1=7ooE+2>8ppe-3?9qqE+4@.rre-5A0ssE+6B1tte-7C2uuE+8D3vve-9E4wwE+0F5xxe-1G6yyE+2H7zze-3I8!!E+4J9..e-5K.00E+6L011e-7M122E+8N233e-9O344E+0P455e-1Q566E+2R677e-3S788E+4T899e-5U9??E+6V.AAe-7W0BBE+8X1CCe-9Y2DDE+0Z3FFe-1[4GGE+2\5HHe-3]6IIE+4^7JJe-5_8KKE+6`9LLe-7a.MME+8b0NNe-9c1OOE+0d2PPe-1e3QQE+2f4RRe-3g5SSE+4h6TTe-5i7UUE+6j8VVe-7k9WWE+8l.XXe-9m0YYE+0n1ZZe-1o2__E+2p3aae-3q4bbE+4r5cce-5s6ddE+6t7ffe-7u8ggE+8v9hhe-9w.iiE+0x0jje-1y1kkE+2z2lle-3{3mmE+4|4nne-5}5ooE+6~6ppe-77qqE+8€8rre-99ssE+0‚.tte-1ƒ0uuE+2„1vve-3…2wwE+4†3xxe-5‡4yyE+6ˆ5zze-7‰6!!E+8Š7..e-9‹800E+0Œ911e-1.22E+2Ž033e-3144E+4255e-5‘366E+6’477e-7“588E+8”699e-9•7??E+0–8AAe-1—9BBE+2˜.CCe-3™0DDE+4š1FFe-5›2GGE+6œ3HHe-74IIE+8ž5JJe-9Ÿ6KKE+0 7LLe-1¡8MME+2¢9NNe-3£.OOE+4¤0PPe-5¥1QQE+6¦2RRe-7§3SSE+8¨4TTe-9©5UUE+0ª6VVe-1«7WWE+2¬8XXe-3­9YYE+4®.ZZe-5¯0__E+6°1aae-7±2bbE+8²3cce-9³4ddE+0´5ffe-1µ6ggE+2¶7hhe-3·8iiE+4¸9jje-5¹.kkE+6º0lle-7»1mmE+8¼2nne-9½3ooE+0¾4ppe-1¿5qqE+2À6rre-3Á7ssE+4Â8tte-5Ã9uuE+6Ä.vve-7Å0wwE+8Æ1xxe-9Ç2yyE+0È3zze-1É4!!E+2Ê5..e-3Ë600E+4Ì711e-5Í822E+6Î933e-7Ï.44E+8Ð055e-9Ñ166E+0Ò277e-1Ó388E+2Ô499e-3Õ5??E+4Ö6AAe-5×7BBE+6Ø8CCe-7Ù9DDE+8Ú.FFe-9Û0GGE+0Ü1HHe-1Ý2IIE+2Þ3JJe-3ß4KKE+4à5LLe-5á6MME+6â7NNe-7ã8OOE+8ä9PPe-9å.QQE+0æ0RRe-1ç1SSE+2è2TTe-3é3UUE+4ê4VVe-5ë5WWE+6ì6XXe-7í7YYE+8î8ZZe-9ï9__E+0ð.aae-1ñ0bbE+2ò1cce-3ó2ddE+4ô3ffe-5õ4ggE+6ö5hhe-7÷6iiE+8ø7jje-9ù8kkE+0ú9lle-1û.mmE+2ü0nne-3ý1ooE+4þ2ppe-5ÿ.!!E0E+0
-.99e1e-1 0??E2E+2 1AAe3e-3 2BBE4E+43CCe5e-54DDE6E+65FFe7e-76GGE8E+87HHe9e-98IIE0E+09JJe1e-1.KKE2E+20LLe3e-31MME4E+42NNe5e-53OOE6E+64PPe7e-75QQE8E+86RRe9e-97SSE0E+08TTe1e-19UUE2E+2 .VVe3e-3!0WWE4E+4"1XXe5e-5#2YYE6E+6$3ZZe7e-7%4__E8E+8&5aae9e-9'6bbE0E+0(7cce1e-1)8ddE2E+2*9ffe3e-3+.ggE4E+4,0hhe5e-5-1iiE6E+6.2jje7e-7/3kkE8E+8:4lle9e-9;5mmE0E+0<6nne1e-1=7ooE2E+2>8ppe3e-3?9qqE4E+4@.rre5e-5A0ssE6E+6B1tte7e-7C2uuE8E+8D3vve9e-9E4wwE0E+0F5xxe1e-1G6yyE2E+2H7zze3e-3I8!!E4E+4J9..e5e-5K.00E6E+6L011e7e-7M122E8E+8N233e9e-9O344E0E+0P455e1e-1Q566E2E+2R677e3e-3S788E4E+4T899e5e-5U9??E6E+6V.AAe7e-7W0BBE8E+8X1CCe9e-9Y2DDE0E+0Z3FFe1e-1[4GGE2E+2\5HHe3e-3]6IIE4E+4^7JJe5e-5_8KKE6E+6`9LLe7e-7a.MME8E+8b0NNe9e-9c1OOE0E+0d2PPe1e-1e3QQE2E+2f4RRe3e-3g5SSE4E+4h6TTe5e-5i7UUE6E+6j8VVe7e-7k9WWE8E+8l.XXe9e-9m0YYE0E+0n1ZZe1e-1o2__E2E+2p3aae3e-3q4bbE4E+4r5cce5e-5s6ddE6E+6t7ffe7e-7u8ggE8E+8v9hhe9e-9w.iiE0E+0x0jje1e-1y1kkE2E+2z2lle3e-3{3mmE4E+4|4nne5e-5}5ooE6E+6~6ppe7e-77qqE8E+8€8rre9e-99ssE0E+0‚.tte1e-1ƒ0uuE2E+2„1vve3e-3…2wwE4E+4†3xxe5e-5‡4yyE6E+6ˆ5zze7e-7‰6!!E8E+8Š7..e9e-9‹800E0E+0Œ911e1e-1.22E2E+2Ž033e3e-3144E4E+4255e5e-5‘366E6E+6’477e7e-7“588E8E+8”699e9e-9•7??E0E+0–8AAe1e-1—9BBE2E+2˜.CCe3e-3™0DDE4E+4š1FFe5e-5›2GGE6E+6œ3HHe7e-74IIE8E+8ž5JJe9e-9Ÿ6KKE0E+0 7LLe1e-1¡8MME2E+2¢9NNe3e-3£.OOE4E+4¤0PPe5e-5¥1QQE6E+6¦2RRe7e-7§3SSE8E+8¨4TTe9e-9©5UUE0E+0ª6VVe1e-1«7WWE2E+2¬8XXe3e-3­9YYE4E+4®.ZZe5e-5¯0__E6E+6°1aae7e-7±2bbE8E+8²3cce9e-9³4ddE0E+0´5ffe1e-1µ6ggE2E+2¶7hhe3e-3·8iiE4E+4¸9jje5e-5¹.kkE6E+6º0lle7e-7»1mmE8E+8¼2nne9e-9½3ooE0E+0¾4ppe1e-1¿5qqE2E+2À6rre3e-3Á7ssE4E+4Â8tte5e-5Ã9uuE6E+6Ä.vve7e-7Å0wwE8E+8Æ1xxe9e-9Ç2yyE0E+0È3zze1e-1É4!!E2E+2Ê5..e3e-3Ë600E4E+4Ì711e5e-5Í822E6E+6Î933e7e-7Ï.44E8E+8Ð055e9e-9Ñ166E0E+0Ò277e1e-1Ó388E2E+2Ô499e3e-3Õ5??E4E+4Ö6AAe5e-5×7BBE6E+6Ø8CCe7e-7Ù9DDE8E+8Ú.FFe9e-9Û0GGE0E+0Ü1HHe1e-1Ý2IIE2E+2Þ3JJe3e-3ß4KKE4E+4à5LLe5e-5á6MME6E+6â7NNe7e-7ã8OOE8E+8ä9PPe9e-9å.QQE0E+0æ0RRe1e-1ç1SSE2E+2è2TTe3e-3é3UUE4E+4ê4VVe5e-5ë5WWE6E+6ì6XXe7e-7í7YYE8E+8î8ZZe9e-9ï9__E0E+0ð.aae1e-1ñ0bbE2E+2ò1cce3e-3ó2ddE4E+4ô3ffe5e-5õ4ggE6E+6ö5hhe7e-7÷6iiE8E+8ø7jje9e-9ù8kkE0E+0ú9lle1e-1û.mmE2E+2ü0nne3e-3ý1ooE4E+4þ2ppe5e-5ÿ.!!E
-.99e 0??E 1AAe 2BBE3CCe4DDE5FFe6GGE7HHe8IIE9JJe.KKE0LLe1MME2NNe3OOE4PPe5QQE6RRe7SSE8TTe9UUE .VVe"0WWE#1XXe$2YYE%3ZZe&4__E'5aae(6bbE)7cce*8ddE,9ffe/.ggE:0hhe;1iiE<2jje=3kkE>4lle@5mmE[6nne\7ooE]8ppe^9qqE`.rre{0ssE|1tte}2uuE~3vve4wwE€5xxe6yyE‚7zzeƒ8!!E„9..e….00E†011e‡122Eˆ233e‰344EŠ455e‹566EŒ677e788EŽ899e9??E.AAe‘0BBE’1CCe“2DDE”3FFe•4GGE–5HHe—6IIE˜7JJe™8KKEš9LLe›.MMEœ0NNe1OOEž2PPeŸ3QQE 4RRe¡5SSE¢6TTe£7UUE¤8VVe¥9WWE¦.XXe§0YYE¨1ZZe©2__Eª3aae«4bbE¬5cce­6ddE®7ffe¯8ggE°9hhe±.iiE²0jje³1kkE´2lleµ3mmE¶4nne·5ooE¸6ppe¹7qqEº8rre»9ssE¼.tte½0uuE¾1vve¿2wwEÀ3xxeÁ4yyEÂ5zzeÃ6!!EÄ7..eÅ800EÆ911eÇ.22EÈ033eÉ144EÊ255eË366EÌ477eÍ588EÎ699eÏ7??EÐ8AAeÑ9BBEÒ.CCeÓ0DDEÔ1FFeÕ2GGEÖ3HHe×4IIEØ5JJeÙ6KKEÚ7LLeÛ8MMEÜ9NNeÝ.OOEÞ0PPeß1QQEà2RReá3SSEâ4TTeã5UUEä6VVeå7WWEæ8XXeç9YYEè.ZZeé0__Eê1aaeë2bbEì3cceí4ddEî5ffeï6ggEð7hheñ8iiEò9jjeó.kkEô0lleõ1mmEö2nne÷3ooEø4ppeù5qqEú6rreû7ssEü8tteý9uuEþ.vveÿ.!!
-.99 0?? 1AA 2BB3CC4DD5FF6GG7HH8II9JJ.KK0LL1MM2NN3OO4PP5QQ6RR7SS8TT9UU .VV"0WW#1XX$2YY%3ZZ&4__'5aa(6bb)7cc*8dd+9ff,.gg-0hh/1ii:2jj;3kk<4ll=5mm>6nn@7oo[8pp\9qq].rr^0ss`1tt{2uu|3vv}4ww~5xx6yy€7zz8!!‚9..ƒ.00„011…122†233‡344ˆ455‰566Š677‹788Œ8999??Ž.AA0BB1CC‘2DD’3FF“4GG”5HH•6II–7JJ—8KK˜9LL™.MMš0NN›1OOœ2PP3QQž4RRŸ5SS 6TT¡7UU¢8VV£9WW¤.XX¥0YY¦1ZZ§2__¨3aa©4bbª5cc«6dd¬7ff­8gg®9hh¯.ii°0jj±1kk²2ll³3mm´4nnµ5oo¶6pp·7qq¸8rr¹9ssº.tt»0uu¼1vv½2ww¾3xx¿4yyÀ5zzÁ6!!Â7..Ã800Ä911Å.22Æ033Ç144È255É366Ê477Ë588Ì699Í7??Î8AAÏ9BBÐ.CCÑ0DDÒ1FFÓ2GGÔ3HHÕ4IIÖ5JJ×6KKØ7LLÙ8MMÚ9NNÛ.OOÜ0PPÝ1QQÞ2RRß3SSà4TTá5UUâ6VVã7WWä8XXå9YYæ.ZZç0__è1aaé2bbê3ccë4ddì5ffí6ggî7hhï8iið9jjñ.kkò0lló1mmô2nnõ3ooö4pp÷5qqø6rrù7ssú8ttû9uuü.vvý0wwþ1xxÿ.!E+0
-.9e-1 0?E+2 1Ae-3 2BE+43Ce-54DE+65Fe-76GE+87He-98IE+09Je-1.KE+20Le-31ME+42Ne-53OE+64Pe-75QE+86Re-97SE+08Te-19UE+2 .Ve-3!0WE+4"1Xe-5#2YE+6$3Ze-7%4_E+8&5ae-9'6bE+0(7ce-1)8dE+2*9fe-3+.gE+4,0he-5-1iE+6.2je-7/3kE+8:4le-9;5mE+0<6ne-1=7oE+2>8pe-3?9qE+4@.re-5A0sE+6B1te-7C2uE+8D3ve-9E4wE+0F5xe-1G6yE+2H7ze-3I8!E+4J9.e-5K.0E+6L01e-7M12E+8N23e-9O34E+0P45e-1Q56E+2R67e-3S78E+4T89e-5U9?E+6V.Ae-7W0BE+8X1Ce-9Y2DE+0Z3Fe-1[4GE+2\5He-3]6IE+4^7Je-5_8KE+6`9Le-7a.ME+8b0Ne-9c1OE+0d2Pe-1e3QE+2f4Re-3g5SE+4h6Te-5i7UE+6j8Ve-7k9WE+8l.Xe-9m0YE+0n1Ze-1o2_E+2p3ae-3q4bE+4r5ce-5s6dE+6t7fe-7u8gE+8v9he-9w.iE+0x0je-1y1kE+2z2le-3{3mE+4|4ne-5}5oE+6~6pe-77qE+8€8re-99sE+0‚.te-1ƒ0uE+2„1ve-3…2wE+4†3xe-5‡4yE+6ˆ5ze-7‰6!E+8Š7.e-9‹80E+0Œ91e-1.2E+2Ž03e-314E+425e-5‘36E+6’47e-7“58E+8”69e-9•7?E+0–8Ae-1—9BE+2˜.Ce-3™0DE+4š1Fe-5›2GE+6œ3He-74IE+8ž5Je-9Ÿ6KE+0 7Le-1¡8ME+2¢9Ne-3£.OE+4¤0Pe-5¥1QE+6¦2Re-7§3SE+8¨4Te-9©5UE+0ª6Ve-1«7WE+2¬8Xe-3­9YE+4®.Ze-5¯0_E+6°1ae-7±2bE+8²3ce-9³4dE+0´5fe-1µ6gE+2¶7he-3·8iE+4¸9je-5¹.kE+6º0le-7»1mE+8¼2ne-9½3oE+0¾4pe-1¿5qE+2À6re-3Á7sE+4Â8te-5Ã9uE+6Ä.ve-7Å0wE+8Æ1xe-9Ç2yE+0È3ze-1É4!E+2Ê5.e-3Ë60E+4Ì71e-5Í82E+6Î93e-7Ï.4E+8Ð05e-9Ñ16E+0Ò27e-1Ó38E+2Ô49e-3Õ5?E+4Ö6Ae-5×7BE+6Ø8Ce-7Ù9DE+8Ú.Fe-9Û0GE+0Ü1He-1Ý2IE+2Þ3Je-3ß4KE+4à5Le-5á6ME+6â7Ne-7ã8OE+8ä9Pe-9å.QE+0æ0Re-1ç1SE+2è2Te-3é3UE+4ê4Ve-5ë5WE+6ì6Xe-7í7YE+8î8Ze-9ï9_E+0ð.ae-1ñ0bE+2ò1ce-3ó2dE+4ô3fe-5õ4gE+6ö5he-7÷6iE+8ø7je-9ù8kE+0ú9le-1û.mE+2ü0ne-3ý1oE+4þ2pe-5ÿ.!
+* * * *******************!*"*#*$*%*&*'*(*)*+*,*-*.*/*0*1*2*3*4*5*6*7*8*9*:*;*<*=*>*?*@*A*B*C*D*E*F*G*H*I*J*K*L*M*N*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*\*]*^*_*`*a*b*c*d*e*f*g*h*i*j*k*l*m*n*o*p*q*r*s*t*u*v*w*x*y*z*{*|*}*~**€**‚*ƒ*„*…*†*‡*ˆ*‰*Š*‹*Œ**Ž***‘*’*“*”*•*–*—*˜*™*š*›*œ**ž*Ÿ* *¡*¢*£*¤*¥*¦*§*¨*©*ª*«*¬*­*®*¯*°*±*²*³*´*µ*¶*·*¸*¹*º*»*¼*½*¾*¿*À*Á*Â*Ã*Ä*Å*Æ*Ç*È*É*Ê*Ë*Ì*Í*Î*Ï*Ð*Ñ*Ò*Ó*Ô*Õ*Ö*×*Ø*Ù*Ú*Û*Ü*Ý*Þ*ß*à*á*â*ã*ä*å*æ*ç*è*é*ê*ë*ì*í*î*ï*ð*ñ*ò*ó*ô*õ*ö*÷*ø*ù*ú*û*ü*ý*þ*ÿ+,-.!EE+00
+.9ee-11 0?EE+22 1Aee-33 2BEE+443Cee-554DEE+665Fee-776GEE+887Hee-998IEE+009Jee-11.KEE+220Lee-331MEE+442Nee-553OEE+664Pee-775QEE+886Ree-997SEE+008Tee-119UEE+22 .Vee-33!0WEE+44"1Xee-55#2YEE+66$3Zee-77%4_EE+88&5aee-99'6bEE+00(7cee-11)8dEE+22*9fee-33+.gEE+44,0hee-55-1iEE+66.2jee-77/3kEE+88:4lee-99;5mEE+00<6nee-11=7oEE+22>8pee-33?9qEE+44@.ree-55A0sEE+66B1tee-77C2uEE+88D3vee-99E4wEE+00F5xee-11G6yEE+22H7zee-33I8!EE+44J9.ee-55K.0EE+66L01ee-77M12EE+88N23ee-99O34EE+00P45ee-11Q56EE+22R67ee-33S78EE+44T89ee-55U9?EE+66V.Aee-77W0BEE+88X1Cee-99Y2DEE+00Z3Fee-11[4GEE+22\5Hee-33]6IEE+44^7Jee-55_8KEE+66`9Lee-77a.MEE+88b0Nee-99c1OEE+00d2Pee-11e3QEE+22f4Ree-33g5SEE+44h6Tee-55i7UEE+66j8Vee-77k9WEE+88l.Xee-99m0YEE+00n1Zee-11o2_EE+22p3aee-33q4bEE+44r5cee-55s6dEE+66t7fee-77u8gEE+88v9hee-99w.iEE+00x0jee-11y1kEE+22z2lee-33{3mEE+44|4nee-55}5oEE+66~6pee-777qEE+88€8ree-999sEE+00‚.tee-11ƒ0uEE+22„1vee-33…2wEE+44†3xee-55‡4yEE+66ˆ5zee-77‰6!EE+88Š7.ee-99‹80EE+00Œ91ee-11.2EE+22Ž03ee-3314EE+4425ee-55‘36EE+66’47ee-77“58EE+88”69ee-99•7?EE+00–8Aee-11—9BEE+22˜.Cee-33™0DEE+44š1Fee-55›2GEE+66œ3Hee-774IEE+88ž5Jee-99Ÿ6KEE+00 7Lee-11¡8MEE+22¢9Nee-33£.OEE+44¤0Pee-55¥1QEE+66¦2Ree-77§3SEE+88¨4Tee-99©5UEE+00ª6Vee-11«7WEE+22¬8Xee-33­9YEE+44®.Zee-55¯0_EE+66°1aee-77±2bEE+88²3cee-99³4dEE+00´5fee-11µ6gEE+22¶7hee-33·8iEE+44¸9jee-55¹.kEE+66º0lee-77»1mEE+88¼2nee-99½3oEE+00¾4pee-11¿5qEE+22À6ree-33Á7sEE+44Â8tee-55Ã9uEE+66Ä.vee-77Å0wEE+88Æ1xee-99Ç2yEE+00È3zee-11É4!EE+22Ê5.ee-33Ë60EE+44Ì71ee-55Í82EE+66Î93ee-77Ï.4EE+88Ð05ee-99Ñ16EE+00Ò27ee-11Ó38EE+22Ô49ee-33Õ5?EE+44Ö6Aee-55×7BEE+66Ø8Cee-77Ù9DEE+88Ú.Fee-99Û0GEE+00Ü1Hee-11Ý2IEE+22Þ3Jee-33ß4KEE+44à5Lee-55á6MEE+66â7Nee-77ã8OEE+88ä9Pee-99å.QEE+00æ0Ree-11ç1SEE+22è2Tee-33é3UEE+44ê4Vee-55ë5WEE+66ì6Xee-77í7YEE+88î8Zee-99ï9_EE+00ð.aee-11ñ0bEE+22ò1cee-33ó2dEE+44ô3fee-55õ4gEE+66ö5hee-77÷6iEE+88ø7jee-99ù8kEE+00ú9lee-11û.mEE+22ü0nee-33ý1oEE+44þ2pee-55ÿ.!EE+0
+.9ee-1 0?EE+2 1Aee-3 2BEE+43Cee-54DEE+65Fee-76GEE+87Hee-98IEE+09Jee-1.KEE+20Lee-31MEE+42Nee-53OEE+64Pee-75QEE+86Ree-97SEE+08Tee-19UEE+2 .Vee-3!0WEE+4"1Xee-5#2YEE+6$3Zee-7%4_EE+8&5aee-9'6bEE+0(7cee-1)8dEE+2*9fee-3+.gEE+4,0hee-5-1iEE+6.2jee-7/3kEE+8:4lee-9;5mEE+0<6nee-1=7oEE+2>8pee-3?9qEE+4@.ree-5A0sEE+6B1tee-7C2uEE+8D3vee-9E4wEE+0F5xee-1G6yEE+2H7zee-3I8!EE+4J9.ee-5K.0EE+6L01ee-7M12EE+8N23ee-9O34EE+0P45ee-1Q56EE+2R67ee-3S78EE+4T89ee-5U9?EE+6V.Aee-7W0BEE+8X1Cee-9Y2DEE+0Z3Fee-1[4GEE+2\5Hee-3]6IEE+4^7Jee-5_8KEE+6`9Lee-7a.MEE+8b0Nee-9c1OEE+0d2Pee-1e3QEE+2f4Ree-3g5SEE+4h6Tee-5i7UEE+6j8Vee-7k9WEE+8l.Xee-9m0YEE+0n1Zee-1o2_EE+2p3aee-3q4bEE+4r5cee-5s6dEE+6t7fee-7u8gEE+8v9hee-9w.iEE+0x0jee-1y1kEE+2z2lee-3{3mEE+4|4nee-5}5oEE+6~6pee-77qEE+8€8ree-99sEE+0‚.tee-1ƒ0uEE+2„1vee-3…2wEE+4†3xee-5‡4yEE+6ˆ5zee-7‰6!EE+8Š7.ee-9‹80EE+0Œ91ee-1.2EE+2Ž03ee-314EE+425ee-5‘36EE+6’47ee-7“58EE+8”69ee-9•7?EE+0–8Aee-1—9BEE+2˜.Cee-3™0DEE+4š1Fee-5›2GEE+6œ3Hee-74IEE+8ž5Jee-9Ÿ6KEE+0 7Lee-1¡8MEE+2¢9Nee-3£.OEE+4¤0Pee-5¥1QEE+6¦2Ree-7§3SEE+8¨4Tee-9©5UEE+0ª6Vee-1«7WEE+2¬8Xee-3­9YEE+4®.Zee-5¯0_EE+6°1aee-7±2bEE+8²3cee-9³4dEE+0´5fee-1µ6gEE+2¶7hee-3·8iEE+4¸9jee-5¹.kEE+6º0lee-7»1mEE+8¼2nee-9½3oEE+0¾4pee-1¿5qEE+2À6ree-3Á7sEE+4Â8tee-5Ã9uEE+6Ä.vee-7Å0wEE+8Æ1xee-9Ç2yEE+0È3zee-1É4!EE+2Ê5.ee-3Ë60EE+4Ì71ee-5Í82EE+6Î93ee-7Ï.4EE+8Ð05ee-9Ñ16EE+0Ò27ee-1Ó38EE+2Ô49ee-3Õ5?EE+4Ö6Aee-5×7BEE+6Ø8Cee-7Ù9DEE+8Ú.Fee-9Û0GEE+0Ü1Hee-1Ý2IEE+2Þ3Jee-3ß4KEE+4à5Lee-5á6MEE+6â7Nee-7ã8OEE+8ä9Pee-9å.QEE+0æ0Ree-1ç1SEE+2è2Tee-3é3UEE+4ê4Vee-5ë5WEE+6ì6Xee-7í7YEE+8î8Zee-9ï9_EE+0ð.aee-1ñ0bEE+2ò1cee-3ó2dEE+4ô3fee-5õ4gEE+6ö5hee-7÷6iEE+8ø7jee-9ù8kEE+0ú9lee-1û.mEE+2ü0nee-3ý1oEE+4þ2pee-5ÿ.!EE+
+.9ee- 0?EE+ 1Aee- 2BEE+3Cee-4DEE+5Fee-6GEE+7Hee-8IEE+9Jee-.KEE+0Lee-1MEE+2Nee-3OEE+4Pee-5QEE+6Ree-7SEE+8Tee-9UEE+ .Vee-!0WEE+"1Xee-#2YEE+$3Zee-%4_EE+&5aee-'6bEE+(7cee-)8dEE+*9fee-+.gEE+,0hee--1iEE+.2jee-/3kEE+:4lee-;5mEE+<6nee-=7oEE+>8pee-?9qEE+@.ree-A0sEE+B1tee-C2uEE+D3vee-E4wEE+F5xee-G6yEE+H7zee-I8!EE+J9.ee-K.0EE+L01ee-M12EE+N23ee-O34EE+P45ee-Q56EE+R67ee-S78EE+T89ee-U9?EE+V.Aee-W0BEE+X1Cee-Y2DEE+Z3Fee-[4GEE+\5Hee-]6IEE+^7Jee-_8KEE+`9Lee-a.MEE+b0Nee-c1OEE+d2Pee-e3QEE+f4Ree-g5SEE+h6Tee-i7UEE+j8Vee-k9WEE+l.Xee-m0YEE+n1Zee-o2_EE+p3aee-q4bEE+r5cee-s6dEE+t7fee-u8gEE+v9hee-w.iEE+x0jee-y1kEE+z2lee-{3mEE+|4nee-}5oEE+~6pee-7qEE+€8ree-9sEE+‚.tee-ƒ0uEE+„1vee-…2wEE+†3xee-‡4yEE+ˆ5zee-‰6!EE+Š7.ee-‹80EE+Œ91ee-.2EE+Ž03ee-14EE+25ee-‘36EE+’47ee-“58EE+”69ee-•7?EE+–8Aee-—9BEE+˜.Cee-™0DEE+š1Fee-›2GEE+œ3Hee-4IEE+ž5Jee-Ÿ6KEE+ 7Lee-¡8MEE+¢9Nee-£.OEE+¤0Pee-¥1QEE+¦2Ree-§3SEE+¨4Tee-©5UEE+ª6Vee-«7WEE+¬8Xee-­9YEE+®.Zee-¯0_EE+°1aee-±2bEE+²3cee-³4dEE+´5fee-µ6gEE+¶7hee-·8iEE+¸9jee-¹.kEE+º0lee-»1mEE+¼2nee-½3oEE+¾4pee-¿5qEE+À6ree-Á7sEE+Â8tee-Ã9uEE+Ä.vee-Å0wEE+Æ1xee-Ç2yEE+È3zee-É4!EE+Ê5.ee-Ë60EE+Ì71ee-Í82EE+Î93ee-Ï.4EE+Ð05ee-Ñ16EE+Ò27ee-Ó38EE+Ô49ee-Õ5?EE+Ö6Aee-×7BEE+Ø8Cee-Ù9DEE+Ú.Fee-Û0GEE+Ü1Hee-Ý2IEE+Þ3Jee-ß4KEE+à5Lee-á6MEE+â7Nee-ã8OEE+ä9Pee-å.QEE+æ0Ree-ç1SEE+è2Tee-é3UEE+ê4Vee-ë5WEE+ì6Xee-í7YEE+î8Zee-ï9_EE+ð.aee-ñ0bEE+ò1cee-ó2dEE+ô3fee-õ4gEE+ö5hee-÷6iEE+ø7jee-ù8kEE+ú9lee-û.mEE+ü0nee-ý1oEE+þ2pee-ÿ.!EE0E+0
+.9ee1e-1 0?EE2E+2 1Aee3e-3 2BEE4E+43Cee5e-54DEE6E+65Fee7e-76GEE8E+87Hee9e-98IEE0E+09Jee1e-1.KEE2E+20Lee3e-31MEE4E+42Nee5e-53OEE6E+64Pee7e-75QEE8E+86Ree9e-97SEE0E+08Tee1e-19UEE2E+2 .Vee3e-3!0WEE4E+4"1Xee5e-5#2YEE6E+6$3Zee7e-7%4_EE8E+8&5aee9e-9'6bEE0E+0(7cee1e-1)8dEE2E+2*9fee3e-3+.gEE4E+4,0hee5e-5-1iEE6E+6.2jee7e-7/3kEE8E+8:4lee9e-9;5mEE0E+0<6nee1e-1=7oEE2E+2>8pee3e-3?9qEE4E+4@.ree5e-5A0sEE6E+6B1tee7e-7C2uEE8E+8D3vee9e-9E4wEE0E+0F5xee1e-1G6yEE2E+2H7zee3e-3I8!EE4E+4J9.ee5e-5K.0EE6E+6L01ee7e-7M12EE8E+8N23ee9e-9O34EE0E+0P45ee1e-1Q56EE2E+2R67ee3e-3S78EE4E+4T89ee5e-5U9?EE6E+6V.Aee7e-7W0BEE8E+8X1Cee9e-9Y2DEE0E+0Z3Fee1e-1[4GEE2E+2\5Hee3e-3]6IEE4E+4^7Jee5e-5_8KEE6E+6`9Lee7e-7a.MEE8E+8b0Nee9e-9c1OEE0E+0d2Pee1e-1e3QEE2E+2f4Ree3e-3g5SEE4E+4h6Tee5e-5i7UEE6E+6j8Vee7e-7k9WEE8E+8l.Xee9e-9m0YEE0E+0n1Zee1e-1o2_EE2E+2p3aee3e-3q4bEE4E+4r5cee5e-5s6dEE6E+6t7fee7e-7u8gEE8E+8v9hee9e-9w.iEE0E+0x0jee1e-1y1kEE2E+2z2lee3e-3{3mEE4E+4|4nee5e-5}5oEE6E+6~6pee7e-77qEE8E+8€8ree9e-99sEE0E+0‚.tee1e-1ƒ0uEE2E+2„1vee3e-3…2wEE4E+4†3xee5e-5‡4yEE6E+6ˆ5zee7e-7‰6!EE8E+8Š7.ee9e-9‹80EE0E+0Œ91ee1e-1.2EE2E+2Ž03ee3e-314EE4E+425ee5e-5‘36EE6E+6’47ee7e-7“58EE8E+8”69ee9e-9•7?EE0E+0–8Aee1e-1—9BEE2E+2˜.Cee3e-3™0DEE4E+4š1Fee5e-5›2GEE6E+6œ3Hee7e-74IEE8E+8ž5Jee9e-9Ÿ6KEE0E+0 7Lee1e-1¡8MEE2E+2¢9Nee3e-3£.OEE4E+4¤0Pee5e-5¥1QEE6E+6¦2Ree7e-7§3SEE8E+8¨4Tee9e-9©5UEE0E+0ª6Vee1e-1«7WEE2E+2¬8Xee3e-3­9YEE4E+4®.Zee5e-5¯0_EE6E+6°1aee7e-7±2bEE8E+8²3cee9e-9³4dEE0E+0´5fee1e-1µ6gEE2E+2¶7hee3e-3·8iEE4E+4¸9jee5e-5¹.kEE6E+6º0lee7e-7»1mEE8E+8¼2nee9e-9½3oEE0E+0¾4pee1e-1¿5qEE2E+2À6ree3e-3Á7sEE4E+4Â8tee5e-5Ã9uEE6E+6Ä.vee7e-7Å0wEE8E+8Æ1xee9e-9Ç2yEE0E+0È3zee1e-1É4!EE2E+2Ê5.ee3e-3Ë60EE4E+4Ì71ee5e-5Í82EE6E+6Î93ee7e-7Ï.4EE8E+8Ð05ee9e-9Ñ16EE0E+0Ò27ee1e-1Ó38EE2E+2Ô49ee3e-3Õ5?EE4E+4Ö6Aee5e-5×7BEE6E+6Ø8Cee7e-7Ù9DEE8E+8Ú.Fee9e-9Û0GEE0E+0Ü1Hee1e-1Ý2IEE2E+2Þ3Jee3e-3ß4KEE4E+4à5Lee5e-5á6MEE6E+6â7Nee7e-7ã8OEE8E+8ä9Pee9e-9å.QEE0E+0æ0Ree1e-1ç1SEE2E+2è2Tee3e-3é3UEE4E+4ê4Vee5e-5ë5WEE6E+6ì6Xee7e-7í7YEE8E+8î8Zee9e-9ï9_EE0E+0ð.aee1e-1ñ0bEE2E+2ò1cee3e-3ó2dEE4E+4ô3fee5e-5õ4gEE6E+6ö5hee7e-7÷6iEE8E+8ø7jee9e-9ù8kEE0E+0ú9lee1e-1û.mEE2E+2ü0nee3e-3ý1oEE4E+4þ2pee5e-5ÿ.!EE00E+0
+.9ee11e-1 0?EE22E+2 1Aee33e-3 2BEE44E+43Cee55e-54DEE66E+65Fee77e-76GEE88E+87Hee99e-98IEE00E+09Jee11e-1.KEE22E+20Lee33e-31MEE44E+42Nee55e-53OEE66E+64Pee77e-75QEE88E+86Ree99e-97SEE00E+08Tee11e-19UEE22E+2 .Vee33e-3!0WEE44E+4"1Xee55e-5#2YEE66E+6$3Zee77e-7%4_EE88E+8&5aee99e-9'6bEE00E+0(7cee11e-1)8dEE22E+2*9fee33e-3+.gEE44E+4,0hee55e-5-1iEE66E+6.2jee77e-7/3kEE88E+8:4lee99e-9;5mEE00E+0<6nee11e-1=7oEE22E+2>8pee33e-3?9qEE44E+4@.ree55e-5A0sEE66E+6B1tee77e-7C2uEE88E+8D3vee99e-9E4wEE00E+0F5xee11e-1G6yEE22E+2H7zee33e-3I8!EE44E+4J9.ee55e-5K.0EE66E+6L01ee77e-7M12EE88E+8N23ee99e-9O34EE00E+0P45ee11e-1Q56EE22E+2R67ee33e-3S78EE44E+4T89ee55e-5U9?EE66E+6V.Aee77e-7W0BEE88E+8X1Cee99e-9Y2DEE00E+0Z3Fee11e-1[4GEE22E+2\5Hee33e-3]6IEE44E+4^7Jee55e-5_8KEE66E+6`9Lee77e-7a.MEE88E+8b0Nee99e-9c1OEE00E+0d2Pee11e-1e3QEE22E+2f4Ree33e-3g5SEE44E+4h6Tee55e-5i7UEE66E+6j8Vee77e-7k9WEE88E+8l.Xee99e-9m0YEE00E+0n1Zee11e-1o2_EE22E+2p3aee33e-3q4bEE44E+4r5cee55e-5s6dEE66E+6t7fee77e-7u8gEE88E+8v9hee99e-9w.iEE00E+0x0jee11e-1y1kEE22E+2z2lee33e-3{3mEE44E+4|4nee55e-5}5oEE66E+6~6pee77e-77qEE88E+8€8ree99e-99sEE00E+0‚.tee11e-1ƒ0uEE22E+2„1vee33e-3…2wEE44E+4†3xee55e-5‡4yEE66E+6ˆ5zee77e-7‰6!EE88E+8Š7.ee99e-9‹80EE00E+0Œ91ee11e-1.2EE22E+2Ž03ee33e-314EE44E+425ee55e-5‘36EE66E+6’47ee77e-7“58EE88E+8”69ee99e-9•7?EE00E+0–8Aee11e-1—9BEE22E+2˜.Cee33e-3™0DEE44E+4š1Fee55e-5›2GEE66E+6œ3Hee77e-74IEE88E+8ž5Jee99e-9Ÿ6KEE00E+0 7Lee11e-1¡8MEE22E+2¢9Nee33e-3£.OEE44E+4¤0Pee55e-5¥1QEE66E+6¦2Ree77e-7§3SEE88E+8¨4Tee99e-9©5UEE00E+0ª6Vee11e-1«7WEE22E+2¬8Xee33e-3­9YEE44E+4®.Zee55e-5¯0_EE66E+6°1aee77e-7±2bEE88E+8²3cee99e-9³4dEE00E+0´5fee11e-1µ6gEE22E+2¶7hee33e-3·8iEE44E+4¸9jee55e-5¹.kEE66E+6º0lee77e-7»1mEE88E+8¼2nee99e-9½3oEE00E+0¾4pee11e-1¿5qEE22E+2À6ree33e-3Á7sEE44E+4Â8tee55e-5Ã9uEE66E+6Ä.vee77e-7Å0wEE88E+8Æ1xee99e-9Ç2yEE00E+0È3zee11e-1É4!EE22E+2Ê5.ee33e-3Ë60EE44E+4Ì71ee55e-5Í82EE66E+6Î93ee77e-7Ï.4EE88E+8Ð05ee99e-9Ñ16EE00E+0Ò27ee11e-1Ó38EE22E+2Ô49ee33e-3Õ5?EE44E+4Ö6Aee55e-5×7BEE66E+6Ø8Cee77e-7Ù9DEE88E+8Ú.Fee99e-9Û0GEE00E+0Ü1Hee11e-1Ý2IEE22E+2Þ3Jee33e-3ß4KEE44E+4à5Lee55e-5á6MEE66E+6â7Nee77e-7ã8OEE88E+8ä9Pee99e-9å.QEE00E+0æ0Ree11e-1ç1SEE22E+2è2Tee33e-3é3UEE44E+4ê4Vee55e-5ë5WEE66E+6ì6Xee77e-7í7YEE88E+8î8Zee99e-9ï9_EE00E+0ð.aee11e-1ñ0bEE22E+2ò1cee33e-3ó2dEE44E+4ô3fee55e-5õ4gEE66E+6ö5hee77e-7÷6iEE88E+8ø7jee99e-9ù8kEE00E+0ú9lee11e-1û.mEE22E+2ü0nee33e-3ý1oEE44E+4þ2pee55e-5ÿ.!EE0
+.9ee1 0?EE2 1Aee3 2BEE43Cee54DEE65Fee76GEE87Hee98IEE09Jee1.KEE20Lee31MEE42Nee53OEE64Pee75QEE86Ree97SEE08Tee19UEE2 .Vee3"0WEE4#1Xee5$2YEE6%3Zee7&4_EE8'5aee9(6bEE0)7cee1*8dEE2+9fee3,.gEE4-0hee5/1iEE6:2jee7;3kEE8<4lee9=5mEE0>6nee1@7oEE2[8pee3\9qEE4].ree5^0sEE6`1tee7{2uEE8|3vee9}4wEE0~5xee16yEE2€7zee38!EE4‚9.ee5ƒ.0EE6„01ee7…12EE8†23ee9‡34EE0ˆ45ee1‰56EE2Š67ee3‹78EE4Œ89ee59?EE6Ž.Aee70BEE81Cee9‘2DEE0’3Fee1“4GEE2”5Hee3•6IEE4–7Jee5—8KEE6˜9Lee7™.MEE8š0Nee9›1OEE0œ2Pee13QEE2ž4Ree3Ÿ5SEE4 6Tee5¡7UEE6¢8Vee7£9WEE8¤.Xee9¥0YEE0¦1Zee1§2_EE2¨3aee3©4bEE4ª5cee5«6dEE6¬7fee7­8gEE8®9hee9¯.iEE0°0jee1±1kEE2²2lee3³3mEE4´4nee5µ5oEE6¶6pee7·7qEE8¸8ree9¹9sEE0º.tee1»0uEE2¼1vee3½2wEE4¾3xee5¿4yEE6À5zee7Á6!EE8Â7.ee9Ã80EE0Ä91ee1Å.2EE2Æ03ee3Ç14EE4È25ee5É36EE6Ê47ee7Ë58EE8Ì69ee9Í7?EE0Î8Aee1Ï9BEE2Ð.Cee3Ñ0DEE4Ò1Fee5Ó2GEE6Ô3Hee7Õ4IEE8Ö5Jee9×6KEE0Ø7Lee1Ù8MEE2Ú9Nee3Û.OEE4Ü0Pee5Ý1QEE6Þ2Ree7ß3SEE8à4Tee9á5UEE0â6Vee1ã7WEE2ä8Xee3å9YEE4æ.Zee5ç0_EE6è1aee7é2bEE8ê3cee9ë4dEE0ì5fee1í6gEE2î7hee3ï8iEE4ð9jee5ñ.kEE6ò0lee7ó1mEE8ô2nee9õ3oEE0ö4pee1÷5qEE2ø6ree3ù7sEE4ú8tee5û9uEE6ü.vee7ý0wEE8þ1xee9ÿ.!EE
+.9ee 0?EE 1Aee 2BEE3Cee4DEE5Fee6GEE7Hee8IEE9Jee.KEE0Lee1MEE2Nee3OEE4Pee5QEE6Ree7SEE8Tee9UEE .Vee"0WEE#1Xee$2YEE%3Zee&4_EE'5aee(6bEE)7cee*8dEE,9fee/.gEE:0hee;1iEE<2jee=3kEE>4lee@5mEE[6nee\7oEE]8pee^9qEE`.ree{0sEE|1tee}2uEE~3vee4wEE€5xee6yEE‚7zeeƒ8!EE„9.ee….0EE†01ee‡12EEˆ23ee‰34EEŠ45ee‹56EEŒ67ee78EEŽ89ee9?EE.Aee‘0BEE’1Cee“2DEE”3Fee•4GEE–5Hee—6IEE˜7Jee™8KEEš9Lee›.MEEœ0Nee1OEEž2PeeŸ3QEE 4Ree¡5SEE¢6Tee£7UEE¤8Vee¥9WEE¦.Xee§0YEE¨1Zee©2_EEª3aee«4bEE¬5cee­6dEE®7fee¯8gEE°9hee±.iEE²0jee³1kEE´2leeµ3mEE¶4nee·5oEE¸6pee¹7qEEº8ree»9sEE¼.tee½0uEE¾1vee¿2wEEÀ3xeeÁ4yEEÂ5zeeÃ6!EEÄ7.eeÅ80EEÆ91eeÇ.2EEÈ03eeÉ14EEÊ25eeË36EEÌ47eeÍ58EEÎ69eeÏ7?EEÐ8AeeÑ9BEEÒ.CeeÓ0DEEÔ1FeeÕ2GEEÖ3Hee×4IEEØ5JeeÙ6KEEÚ7LeeÛ8MEEÜ9NeeÝ.OEEÞ0Peeß1QEEà2Reeá3SEEâ4Teeã5UEEä6Veeå7WEEæ8Xeeç9YEEè.Zeeé0_EEê1aeeë2bEEì3ceeí4dEEî5feeï6gEEð7heeñ8iEEò9jeeó.kEEô0leeõ1mEEö2nee÷3oEEø4peeù5qEEú6reeû7sEEü8teeý9uEEþ.veeÿ.!E+0
+.9e-1 0?E+2 1Ae-3 2BE+43Ce-54DE+65Fe-76GE+87He-98IE+09Je-1.KE+20Le-31ME+42Ne-53OE+64Pe-75QE+86Re-97SE+08Te-19UE+2 .Ve-3!0WE+4"1Xe-5#2YE+6$3Ze-7%4_E+8&5ae-9'6bE+0(7ce-1)8dE+2*9fe-3+.gE+4,0he-5-1iE+6.2je-7/3kE+8:4le-9;5mE+0<6ne-1=7oE+2>8pe-3?9qE+4@.re-5A0sE+6B1te-7C2uE+8D3ve-9E4wE+0F5xe-1G6yE+2H7ze-3I8!E+4J9.e-5K.0E+6L01e-7M12E+8N23e-9O34E+0P45e-1Q56E+2R67e-3S78E+4T89e-5U9?E+6V.Ae-7W0BE+8X1Ce-9Y2DE+0Z3Fe-1[4GE+2\5He-3]6IE+4^7Je-5_8KE+6`9Le-7a.ME+8b0Ne-9c1OE+0d2Pe-1e3QE+2f4Re-3g5SE+4h6Te-5i7UE+6j8Ve-7k9WE+8l.Xe-9m0YE+0n1Ze-1o2_E+2p3ae-3q4bE+4r5ce-5s6dE+6t7fe-7u8gE+8v9he-9w.iE+0x0je-1y1kE+2z2le-3{3mE+4|4ne-5}5oE+6~6pe-77qE+8€8re-99sE+0‚.te-1ƒ0uE+2„1ve-3…2wE+4†3xe-5‡4yE+6ˆ5ze-7‰6!E+8Š7.e-9‹80E+0Œ91e-1.2E+2Ž03e-314E+425e-5‘36E+6’47e-7“58E+8”69e-9•7?E+0–8Ae-1—9BE+2˜.Ce-3™0DE+4š1Fe-5›2GE+6œ3He-74IE+8ž5Je-9Ÿ6KE+0 7Le-1¡8ME+2¢9Ne-3£.OE+4¤0Pe-5¥1QE+6¦2Re-7§3SE+8¨4Te-9©5UE+0ª6Ve-1«7WE+2¬8Xe-3­9YE+4®.Ze-5¯0_E+6°1ae-7±2bE+8²3ce-9³4dE+0´5fe-1µ6gE+2¶7he-3·8iE+4¸9je-5¹.kE+6º0le-7»1mE+8¼2ne-9½3oE+0¾4pe-1¿5qE+2À6re-3Á7sE+4Â8te-5Ã9uE+6Ä.ve-7Å0wE+8Æ1xe-9Ç2yE+0È3ze-1É4!E+2Ê5.e-3Ë60E+4Ì71e-5Í82E+6Î93e-7Ï.4E+8Ð05e-9Ñ16E+0Ò27e-1Ó38E+2Ô49e-3Õ5?E+4Ö6Ae-5×7BE+6Ø8Ce-7Ù9DE+8Ú.Fe-9Û0GE+0Ü1He-1Ý2IE+2Þ3Je-3ß4KE+4à5Le-5á6ME+6â7Ne-7ã8OE+8ä9Pe-9å.QE+0æ0Re-1ç1SE+2è2Te-3é3UE+4ê4Ve-5ë5WE+6ì6Xe-7í7YE+8î8Ze-9ï9_E+0ð.ae-1ñ0bE+2ò1ce-3ó2dE+4ô3fe-5õ4gE+6ö5he-7÷6iE+8ø7je-9ù8kE+0ú9le-1û.mE+2ü0ne-3ý1oE+4þ2pe-5ÿ.!E0E+0
+.9e1e-1 0?E2E+2 1Ae3e-3 2BE4E+43Ce5e-54DE6E+65Fe7e-76GE8E+87He9e-98IE0E+09Je1e-1.KE2E+20Le3e-31ME4E+42Ne5e-53OE6E+64Pe7e-75QE8E+86Re9e-97SE0E+08Te1e-19UE2E+2 .Ve3e-3!0WE4E+4"1Xe5e-5#2YE6E+6$3Ze7e-7%4_E8E+8&5ae9e-9'6bE0E+0(7ce1e-1)8dE2E+2*9fe3e-3+.gE4E+4,0he5e-5-1iE6E+6.2je7e-7/3kE8E+8:4le9e-9;5mE0E+0<6ne1e-1=7oE2E+2>8pe3e-3?9qE4E+4@.re5e-5A0sE6E+6B1te7e-7C2uE8E+8D3ve9e-9E4wE0E+0F5xe1e-1G6yE2E+2H7ze3e-3I8!E4E+4J9.e5e-5K.0E6E+6L01e7e-7M12E8E+8N23e9e-9O34E0E+0P45e1e-1Q56E2E+2R67e3e-3S78E4E+4T89e5e-5U9?E6E+6V.Ae7e-7W0BE8E+8X1Ce9e-9Y2DE0E+0Z3Fe1e-1[4GE2E+2\5He3e-3]6IE4E+4^7Je5e-5_8KE6E+6`9Le7e-7a.ME8E+8b0Ne9e-9c1OE0E+0d2Pe1e-1e3QE2E+2f4Re3e-3g5SE4E+4h6Te5e-5i7UE6E+6j8Ve7e-7k9WE8E+8l.Xe9e-9m0YE0E+0n1Ze1e-1o2_E2E+2p3ae3e-3q4bE4E+4r5ce5e-5s6dE6E+6t7fe7e-7u8gE8E+8v9he9e-9w.iE0E+0x0je1e-1y1kE2E+2z2le3e-3{3mE4E+4|4ne5e-5}5oE6E+6~6pe7e-77qE8E+8€8re9e-99sE0E+0‚.te1e-1ƒ0uE2E+2„1ve3e-3…2wE4E+4†3xe5e-5‡4yE6E+6ˆ5ze7e-7‰6!E8E+8Š7.e9e-9‹80E0E+0Œ91e1e-1.2E2E+2Ž03e3e-314E4E+425e5e-5‘36E6E+6’47e7e-7“58E8E+8”69e9e-9•7?E0E+0–8Ae1e-1—9BE2E+2˜.Ce3e-3™0DE4E+4š1Fe5e-5›2GE6E+6œ3He7e-74IE8E+8ž5Je9e-9Ÿ6KE0E+0 7Le1e-1¡8ME2E+2¢9Ne3e-3£.OE4E+4¤0Pe5e-5¥1QE6E+6¦2Re7e-7§3SE8E+8¨4Te9e-9©5UE0E+0ª6Ve1e-1«7WE2E+2¬8Xe3e-3­9YE4E+4®.Ze5e-5¯0_E6E+6°1ae7e-7±2bE8E+8²3ce9e-9³4dE0E+0´5fe1e-1µ6gE2E+2¶7he3e-3·8iE4E+4¸9je5e-5¹.kE6E+6º0le7e-7»1mE8E+8¼2ne9e-9½3oE0E+0¾4pe1e-1¿5qE2E+2À6re3e-3Á7sE4E+4Â8te5e-5Ã9uE6E+6Ä.ve7e-7Å0wE8E+8Æ1xe9e-9Ç2yE0E+0È3ze1e-1É4!E2E+2Ê5.e3e-3Ë60E4E+4Ì71e5e-5Í82E6E+6Î93e7e-7Ï.4E8E+8Ð05e9e-9Ñ16E0E+0Ò27e1e-1Ó38E2E+2Ô49e3e-3Õ5?E4E+4Ö6Ae5e-5×7BE6E+6Ø8Ce7e-7Ù9DE8E+8Ú.Fe9e-9Û0GE0E+0Ü1He1e-1Ý2IE2E+2Þ3Je3e-3ß4KE4E+4à5Le5e-5á6ME6E+6â7Ne7e-7ã8OE8E+8ä9Pe9e-9å.QE0E+0æ0Re1e-1ç1SE2E+2è2Te3e-3é3UE4E+4ê4Ve5e-5ë5WE6E+6ì6Xe7e-7í7YE8E+8î8Ze9e-9ï9_E0E+0ð.ae1e-1ñ0bE2E+2ò1ce3e-3ó2dE4E+4ô3fe5e-5õ4gE6E+6ö5he7e-7÷6iE8E+8ø7je9e-9ù8kE0E+0ú9le1e-1û.mE2E+2ü0ne3e-3ý1oE4E+4þ2pe5e-5ÿ.!E
+.9e 0?E 1Ae 2BE3Ce4DE5Fe6GE7He8IE9Je.KE0Le1ME2Ne3OE4Pe5QE6Re7SE8Te9UE .Ve"0WE#1Xe$2YE%3Ze&4_E'5ae(6bE)7ce*8dE,9fe/.gE:0he;1iE<2je=3kE>4le@5mE[6ne\7oE]8pe^9qE`.re{0sE|1te}2uE~3ve4wE€5xe6yE‚7zeƒ8!E„9.e….0E†01e‡12Eˆ23e‰34EŠ45e‹56EŒ67e78EŽ89e9?E.Ae‘0BE’1Ce“2DE”3Fe•4GE–5He—6IE˜7Je™8KEš9Le›.MEœ0Ne1OEž2PeŸ3QE 4Re¡5SE¢6Te£7UE¤8Ve¥9WE¦.Xe§0YE¨1Ze©2_Eª3ae«4bE¬5ce­6dE®7fe¯8gE°9he±.iE²0je³1kE´2leµ3mE¶4ne·5oE¸6pe¹7qEº8re»9sE¼.te½0uE¾1ve¿2wEÀ3xeÁ4yEÂ5zeÃ6!EÄ7.eÅ80EÆ91eÇ.2EÈ03eÉ14EÊ25eË36EÌ47eÍ58EÎ69eÏ7?EÐ8AeÑ9BEÒ.CeÓ0DEÔ1FeÕ2GEÖ3He×4IEØ5JeÙ6KEÚ7LeÛ8MEÜ9NeÝ.OEÞ0Peß1QEà2Reá3SEâ4Teã5UEä6Veå7WEæ8Xeç9YEè.Zeé0_Eê1aeë2bEì3ceí4dEî5feï6gEð7heñ8iEò9jeó.kEô0leõ1mEö2ne÷3oEø4peù5qEú6reû7sEü8teý9uEþ.veÿ.!
.9 0? 1A 2B3C4D5F6G7H8I9J.K0L1M2N3O4P5Q6R7S8T9U .V"0W#1X$2Y%3Z&4_'5a(6b)7c*8d+9f,.g-0h/1i:2j;3k<4l=5m>6n@7o[8p\9q].r^0s`1t{2u|3v}4w~5x6y€7z8!‚9.ƒ.0„01…12†23‡34ˆ45‰56Š67‹78Œ899?Ž.A0B1C‘2D’3F“4G”5H•6I–7J—8K˜9L™.Mš0N›1Oœ2P3Qž4RŸ5S 6T¡7U¢8V£9W¤.X¥0Y¦1Z§2_¨3a©4bª5c«6d¬7f­8g®9h¯.i°0j±1k²2l³3m´4nµ5o¶6p·7q¸8r¹9sº.t»0u¼1v½2w¾3x¿4yÀ5zÁ6!Â7.Ã80Ä91Å.2Æ03Ç14È25É36Ê47Ë58Ì69Í7?Î8AÏ9BÐ.CÑ0DÒ1FÓ2GÔ3HÕ4IÖ5J×6KØ7LÙ8MÚ9NÛ.OÜ0PÝ1QÞ2Rß3Sà4Tá5Uâ6Vã7Wä8Xå9Yæ.Zç0_è1aé2bê3cë4dì5fí6gî7hï8ið9jñ.kò0ló1mô2nõ3oö4p÷5qø6rù7sú8tû9uü.vý0wþ1xÿ.E+0
.e-1 0E+2 1e-3 2E+43e-54E+65e-76E+87e-98E+09e-1.E+20e-31E+42e-53E+64e-75E+86e-97E+08e-19E+2 .e-3!0E+4"1e-5#2E+6$3e-7%4E+8&5e-9'6E+0(7e-1)8E+2*9e-3+.E+4,0e-5-1E+6.2e-7/3E+8:4e-9;5E+0<6e-1=7E+2>8e-3?9E+4@.e-5A0E+6B1e-7C2E+8D3e-9E4E+0F5e-1G6E+2H7e-3I8E+4J9e-5K.E+6L0e-7M1E+8N2e-9O3E+0P4e-1Q5E+2R6e-3S7E+4T8e-5U9E+6V.e-7W0E+8X1e-9Y2E+0Z3e-1[4E+2\5e-3]6E+4^7e-5_8E+6`9e-7a.E+8b0e-9c1E+0d2e-1e3E+2f4e-3g5E+4h6e-5i7E+6j8e-7k9E+8l.e-9m0E+0n1e-1o2E+2p3e-3q4E+4r5e-5s6E+6t7e-7u8E+8v9e-9w.E+0x0e-1y1E+2z2e-3{3E+4|4e-5}5E+6~6e-77E+8€8e-99E+0‚.e-1ƒ0E+2„1e-3…2E+4†3e-5‡4E+6ˆ5e-7‰6E+8Š7e-9‹8E+0Œ9e-1.E+2Ž0e-31E+42e-5‘3E+6’4e-7“5E+8”6e-9•7E+0–8e-1—9E+2˜.e-3™0E+4š1e-5›2E+6œ3e-74E+8ž5e-9Ÿ6E+0 7e-1¡8E+2¢9e-3£.E+4¤0e-5¥1E+6¦2e-7§3E+8¨4e-9©5E+0ª6e-1«7E+2¬8e-3­9E+4®.e-5¯0E+6°1e-7±2E+8²3e-9³4E+0´5e-1µ6E+2¶7e-3·8E+4¸9e-5¹.E+6º0e-7»1E+8¼2e-9½3E+0¾4e-1¿5E+2À6e-3Á7E+4Â8e-5Ã9E+6Ä.e-7Å0E+8Æ1e-9Ç2E+0È3e-1É4E+2Ê5e-3Ë6E+4Ì7e-5Í8E+6Î9e-7Ï.E+8Ð0e-9Ñ1E+0Ò2e-1Ó3E+2Ô4e-3Õ5E+4Ö6e-5×7E+6Ø8e-7Ù9E+8Ú.e-9Û0E+0Ü1e-1Ý2E+2Þ3e-3ß4E+4à5e-5á6E+6â7e-7ã8E+8ä9e-9å.E+0æ0e-1ç1E+2è2e-3é3E+4ê4e-5ë5E+6ì6e-7í7E+8î8e-9ï9E+0ð.e-1ñ0E+2ò1e-3ó2E+4ô3e-5õ4E+6ö5e-7÷6E+8ø7e-9ù8E+0ú9e-1û.E+2ü0e-3ý1E+4þ2e-5ÿ.
. 0 1 23456789.0123456789 ."0#1$2%3&4'5(6)7*8+9,.-0/1:2;3<4=5>6@7[8\9].^0`1{2|3}4~56€78‚9ƒ.„0…1†2‡3ˆ4‰5Š6‹7Œ89Ž.01‘2’3“4”5•6–7—8˜9™.š0›1œ23ž4Ÿ5 6¡7¢8£9¤.¥0¦1§2¨3©4ª5«6¬7­8®9¯.°0±1²2³3´4µ5¶6·7¸8¹9º.»0¼1½2¾3¿4À5Á6Â7Ã8Ä9Å.Æ0Ç1È2É3Ê4Ë5Ì6Í7Î8Ï9Ð.Ñ0Ò1Ó2Ô3Õ4Ö5×6Ø7Ù8Ú9Û.Ü0Ý1Þ2ß3à4á5â6ã7ä8å9æ.ç0è1é2ê3ë4ì5í6î7ï8ð9ñ.ò0ó1ô2õ3ö4÷5ø6ù7ú8û9ü.ý0þ1ÿ/ // //
@@ -8671,7 +8862,7 @@ w W w WwWwWwWwWwWwWwWwWwW w"W#w$W%w&W'w(W)w*W+w,W-w/W:w;W<w=W>
\ ~ \ ~\~\~\~\~\~\~\~\~\~!\"~#\$~%\&~'\(~)\*~+\,~-\.~/\0~1\2~3\4~5\6~7\8~9\:~;\?~@\A~B\C~D\E~F\G~H\I~J\K~L\M~N\O~P\Q~R\S~T\U~V\W~X\Y~Z\[~\\]~^\_~`\a~b\c~d\e~f\g~h\i~j\k~l\m~n\o~p\q~r\s~t\u~v\w~x\y~z\{~|\}~~\~€\~‚\ƒ~„\…~†\‡~ˆ\‰~Š\‹~Œ\~Ž\~\‘~’\“~”\•~–\—~˜\™~š\›~œ\~ž\Ÿ~ \¡~¢\£~¤\¥~¦\§~¨\©~ª\«~¬\­~®\¯~°\±~²\³~´\µ~¶\·~¸\¹~º\»~¼\½~¾\¿~À\Á~Â\Ã~Ä\Å~Æ\Ç~È\É~Ê\Ë~Ì\Í~Î\Ï~Ð\Ñ~Ò\Ó~Ô\Õ~Ö\×~Ø\Ù~Ú\Û~Ü\Ý~Þ\ß~à\á~â\ã~ä\å~æ\ç~è\é~ê\ë~ì\í~î\ï~ð\ñ~ò\ó~ô\õ~ö\÷~ø\ù~ú\û~ü\ý~þ\ÿ| || ||
| | | | | | | | | | | | | | | | | | | | | | !| "| #| $| %| &| '| (| )| *| +| ,| -| .| /| 0| 1| 2| 3| 4| 5| 6| 7| 8| 9| :| ;| <| =| >| ?| @| A| B| C| D| E| F| G| H| I| J| K| L| M| N| O| P| Q| R| S| T| U| V| W| X| Y| Z| [| \| ]| ^| _| `| a| b| c| d| e| f| g| h| i| j| k| l| m| n| o| p| q| r| s| t| u| v| w| x| y| z| {| }| ~| | €| | ‚| ƒ| „| …| †| ‡| ˆ| ‰| Š| ‹| Œ| | Ž| | | ‘| ’| “| ”| •| –| —| ˜| ™| š| ›| œ| | ž| Ÿ|  | ¡| ¢| £| ¤| ¥| ¦| §| ¨| ©| ª| «| ¬| ­| ®| ¯| °| ±| ²| ³| ´| µ| ¶| ·| ¸| ¹| º| »| ¼| ½| ¾| ¿| À| Á| Â| Ã| Ä| Å| Æ| Ç| È| É| Ê| Ë| Ì| Í| Î| Ï| Ð| Ñ| Ò| Ó| Ô| Õ| Ö| ×| Ø| Ù| Ú| Û| Ü| Ý| Þ| ß| à| á| â| ã| ä| å| æ| ç| è| é| ê| ë| ì| í| î| ï| ð| ñ| ò| ó| ô| õ| ö| ÷| ø| ù| ú| û| ü| ý| þ| ÿ| || ||
| | | | | | | | | | | | | | | | | | | | | | !| "| #| $| %| &| '| (| )| *| +| ,| -| .| /| 0| 1| 2| 3| 4| 5| 6| 7| 8| 9| :| ;| <| =| >| ?| @| A| B| C| D| E| F| G| H| I| J| K| L| M| N| O| P| Q| R| S| T| U| V| W| X| Y| Z| [| \| ]| ^| _| `| a| b| c| d| e| f| g| h| i| j| k| l| m| n| o| p| q| r| s| t| u| v| w| x| y| z| {| }| ~| | €| | ‚| ƒ| „| …| †| ‡| ˆ| ‰| Š| ‹| Œ| | Ž| | | ‘| ’| “| ”| •| –| —| ˜| ™| š| ›| œ| | ž| Ÿ|  | ¡| ¢| £| ¤| ¥| ¦| §| ¨| ©| ª| «| ¬| ­| ®| ¯| °| ±| ²| ³| ´| µ| ¶| ·| ¸| ¹| º| »| ¼| ½| ¾| ¿| À| Á| Â| Ã| Ä| Å| Æ| Ç| È| É| Ê| Ë| Ì| Í| Î| Ï| Ð| Ñ| Ò| Ó| Ô| Õ| Ö| ×| Ø| Ù| Ú| Û| Ü| Ý| Þ| ß| à| á| â| ã| ä| å| æ| ç| è| é| ê| ë| ì| í| î| ï| ð| ñ| ò| ó| ô| õ| ö| ÷| ø| ù| ú| û| ü| ý| þ| ÿ|||
-| | | |||||||||||||||||||!|"|#|$|%|&|'|(|)|*|+|,|-|.|/|0|1|2|3|4|5|6|7|8|9|:|;|<|=|>|?|@|A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z|[|\|]|^|_|`|a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z|{|}|~||€||‚|ƒ|„|…|†|‡|ˆ|‰|Š|‹|Œ||Ž|||‘|’|“|”|•|–|—|˜|™|š|›|œ||ž|Ÿ| |¡|¢|£|¤|¥|¦|§|¨|©|ª|«|¬|­|®|¯|°|±|²|³|´|µ|¶|·|¸|¹|º|»|¼|½|¾|¿|À|Á|Â|Ã|Ä|Å|Æ|Ç|È|É|Ê|Ë|Ì|Í|Î|Ï|Ð|Ñ|Ò|Ó|Ô|Õ|Ö|×|Ø|Ù|Ú|Û|Ü|Ý|Þ|ß|à|á|â|ã|ä|å|æ|ç|è|é|ê|ë|ì|í|î|ï|ð|ñ|ò|ó|ô|õ|ö|÷|ø|ù|ú|û|ü|ý|þ|ÿ]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+| | | |||||||||||||||||||!|"|#|$|%|&|'|(|)|*|+|,|-|.|/|0|1|2|3|4|5|6|7|8|9|:|;|<|=|>|?|@|A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z|[|\|]|^|_|`|a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z|{|}|~||€||‚|ƒ|„|…|†|‡|ˆ|‰|Š|‹|Œ||Ž|||‘|’|“|”|•|–|—|˜|™|š|›|œ||ž|Ÿ| |¡|¢|£|¤|¥|¦|§|¨|©|ª|«|¬|­|®|¯|°|±|²|³|´|µ|¶|·|¸|¹|º|»|¼|½|¾|¿|À|Á|Â|Ã|Ä|Å|Æ|Ç|È|É|Ê|Ë|Ì|Í|Î|Ï|Ð|Ñ|Ò|Ó|Ô|Õ|Ö|×|Ø|Ù|Ú|Û|Ü|Ý|Þ|ß|à|á|â|ã|ä|å|æ|ç|è|é|ê|ë|ì|í|î|ï|ð|ñ|ò|ó|ô|õ|ö|÷|ø|ù|ú|û|ü|ý|þ|ÿ]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
V
V
V
@@ -8917,253 +9108,7 @@ w W w WwWwWwWwWwWwWwWwWwW w"W#w$W%w&W'w(W)w*W+w,W-w/W:w;W<w=W>
V
V
V
- V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-V
-VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V V VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
+ VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV

                                                                                                                                                                                                                                                           

diff --git a/test/rexx.c b/test/rexx.c
index c5a2cf5b..4273ab86 100644
--- a/test/rexx.c
+++ b/test/rexx.c
@@ -32,8 +32,8 @@ scan:
if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
yych = *YYCURSOR;
switch (yych) {
- case 0x00: goto yy3;
- case '\n': goto yy7;
+ case 0x00: goto yy2;
+ case '\n': goto yy6;
case '!':
case '?':
case 'G':
@@ -50,17 +50,17 @@ scan:
case 'm':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '"': goto yy12;
- case '%': goto yy13;
- case '&': goto yy15;
- case '\'': goto yy17;
- case '(': goto yy18;
- case ')': goto yy20;
- case '*': goto yy22;
- case '+': goto yy24;
- case ',': goto yy26;
- case '-': goto yy28;
+ case 'z': goto yy8;
+ case '"': goto yy11;
+ case '%': goto yy12;
+ case '&': goto yy14;
+ case '\'': goto yy16;
+ case '(': goto yy17;
+ case ')': goto yy19;
+ case '*': goto yy21;
+ case '+': goto yy23;
+ case ',': goto yy25;
+ case '-': goto yy27;
case '.':
case '0':
case '1':
@@ -71,72 +71,68 @@ scan:
case '6':
case '7':
case '8':
- case '9': goto yy30;
- case '/': goto yy33;
- case ':': goto yy35;
- case ';': goto yy37;
- case '<': goto yy39;
- case '=': goto yy41;
- case '>': goto yy43;
+ case '9': goto yy29;
+ case '/': goto yy32;
+ case ':': goto yy34;
+ case ';': goto yy36;
+ case '<': goto yy38;
+ case '=': goto yy40;
+ case '>': goto yy42;
case 'A':
- case 'a': goto yy45;
+ case 'a': goto yy44;
case 'B':
- case 'b': goto yy46;
+ case 'b': goto yy45;
case 'C':
- case 'c': goto yy47;
+ case 'c': goto yy46;
case 'D':
- case 'd': goto yy48;
+ case 'd': goto yy47;
case 'E':
- case 'e': goto yy49;
+ case 'e': goto yy48;
case 'F':
- case 'f': goto yy50;
+ case 'f': goto yy49;
case 'H':
- case 'h': goto yy51;
+ case 'h': goto yy50;
case 'I':
- case 'i': goto yy52;
+ case 'i': goto yy51;
case 'L':
- case 'l': goto yy53;
+ case 'l': goto yy52;
case 'N':
- case 'n': goto yy54;
+ case 'n': goto yy53;
case 'O':
- case 'o': goto yy55;
+ case 'o': goto yy54;
case 'P':
- case 'p': goto yy56;
+ case 'p': goto yy55;
case 'Q':
- case 'q': goto yy57;
+ case 'q': goto yy56;
case 'R':
- case 'r': goto yy58;
+ case 'r': goto yy57;
case 'S':
- case 's': goto yy59;
+ case 's': goto yy58;
case 'T':
- case 't': goto yy60;
+ case 't': goto yy59;
case 'U':
- case 'u': goto yy61;
+ case 'u': goto yy60;
case 'V':
- case 'v': goto yy62;
+ case 'v': goto yy61;
case 'W':
- case 'w': goto yy63;
+ case 'w': goto yy62;
case '\\':
- case '~': goto yy64;
- case '|': goto yy66;
- default: goto yy5;
+ case '~': goto yy63;
+ case '|': goto yy65;
+ default: goto yy4;
}
yy2:
-#line 253 "rexx.re"
- { RETURN(SU_SYMBOL_COMPOUND); }
-#line 128 "rexx.c"
-yy3:
++YYCURSOR;
#line 262 "rexx.re"
{ RETURN(SU_EOF); }
-#line 133 "rexx.c"
-yy5:
+#line 129 "rexx.c"
+yy4:
++YYCURSOR;
-yy6:
+yy5:
#line 264 "rexx.re"
{ RETURN(SU_ERROR); }
-#line 139 "rexx.c"
-yy7:
+#line 135 "rexx.c"
+yy6:
++YYCURSOR;
#line 68 "rexx.re"
{
@@ -144,12 +140,12 @@ yy7:
ScanCB.linePos = ScanCB.pos + (cursor - ScanCB.mrk);
RETURN(SU_EOL);
}
-#line 148 "rexx.c"
-yy9:
+#line 144 "rexx.c"
+yy8:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
-yy10:
+yy9:
switch (yych) {
case '!':
case '0':
@@ -215,87 +211,87 @@ yy10:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
- default: goto yy11;
+ case 'z': goto yy8;
+ case '.': goto yy67;
+ default: goto yy10;
}
-yy11:
+yy10:
#line 249 "rexx.re"
{ RETURN(SU_SYMBOL); }
-#line 226 "rexx.c"
-yy12:
+#line 222 "rexx.c"
+yy11:
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case 0x00:
- case '\n': goto yy6;
- default: goto yy71;
+ case '\n': goto yy5;
+ default: goto yy70;
}
-yy13:
+yy12:
++YYCURSOR;
#line 84 "rexx.re"
{ RETURN(OP_IDIV); }
-#line 239 "rexx.c"
-yy15:
+#line 235 "rexx.c"
+yy14:
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case '\t':
- case ' ': goto yy75;
- case '&': goto yy77;
- default: goto yy16;
+ case ' ': goto yy74;
+ case '&': goto yy76;
+ default: goto yy15;
}
-yy16:
+yy15:
#line 114 "rexx.re"
{ RETURN(OP_AND); }
-#line 252 "rexx.c"
-yy17:
+#line 248 "rexx.c"
+yy16:
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case 0x00:
- case '\n': goto yy6;
- default: goto yy80;
+ case '\n': goto yy5;
+ default: goto yy79;
}
-yy18:
+yy17:
++YYCURSOR;
#line 127 "rexx.re"
{ RETURN(SU_POPEN); }
-#line 265 "rexx.c"
-yy20:
+#line 261 "rexx.c"
+yy19:
++YYCURSOR;
#line 129 "rexx.re"
{ RETURN(SU_PCLOSE); }
-#line 270 "rexx.c"
-yy22:
+#line 266 "rexx.c"
+yy21:
yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case '\t':
- case ' ': goto yy82;
- case '*': goto yy84;
- default: goto yy23;
+ case ' ': goto yy81;
+ case '*': goto yy83;
+ default: goto yy22;
}
-yy23:
+yy22:
#line 80 "rexx.re"
{ RETURN(OP_MULT); }
-#line 283 "rexx.c"
-yy24:
+#line 279 "rexx.c"
+yy23:
++YYCURSOR;
#line 76 "rexx.re"
{ RETURN(OP_PLUS); }
-#line 288 "rexx.c"
-yy26:
+#line 284 "rexx.c"
+yy25:
++YYCURSOR;
#line 125 "rexx.re"
{ RETURN(SU_COMMA); }
-#line 293 "rexx.c"
-yy28:
+#line 289 "rexx.c"
+yy27:
++YYCURSOR;
#line 78 "rexx.re"
{ RETURN(OP_MINUS); }
-#line 298 "rexx.c"
-yy30:
+#line 294 "rexx.c"
+yy29:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
@@ -363,39 +359,39 @@ yy30:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy30;
+ case 'z': goto yy29;
case 'E':
- case 'e': goto yy86;
- default: goto yy32;
+ case 'e': goto yy85;
+ default: goto yy31;
}
-yy32:
+yy31:
#line 247 "rexx.re"
{ RETURN(SU_CONST); }
-#line 375 "rexx.c"
-yy33:
+#line 371 "rexx.c"
+yy32:
yyaccept = 3;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case '\t':
- case ' ': goto yy88;
- case '/': goto yy90;
- default: goto yy34;
+ case ' ': goto yy87;
+ case '/': goto yy89;
+ default: goto yy33;
}
-yy34:
+yy33:
#line 82 "rexx.re"
{ RETURN(OP_DIV); }
-#line 388 "rexx.c"
-yy35:
+#line 384 "rexx.c"
+yy34:
++YYCURSOR;
#line 123 "rexx.re"
{ RETURN(SU_COLON); }
-#line 393 "rexx.c"
-yy37:
+#line 389 "rexx.c"
+yy36:
++YYCURSOR;
#line 131 "rexx.re"
{ RETURN(SU_EOC); }
-#line 398 "rexx.c"
-yy39:
+#line 394 "rexx.c"
+yy38:
yyaccept = 4;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
@@ -403,27 +399,27 @@ yy39:
case ' ':
case '<':
case '=':
- case '>': goto yy93;
- default: goto yy40;
+ case '>': goto yy92;
+ default: goto yy39;
}
-yy40:
+yy39:
#line 96 "rexx.re"
{ RETURN(OP_LT); }
-#line 413 "rexx.c"
-yy41:
+#line 409 "rexx.c"
+yy40:
yyaccept = 5;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case '\t':
- case ' ': goto yy100;
- case '=': goto yy102;
- default: goto yy42;
+ case ' ': goto yy99;
+ case '=': goto yy101;
+ default: goto yy41;
}
-yy42:
+yy41:
#line 90 "rexx.re"
{ RETURN(OP_EQUAL); }
-#line 426 "rexx.c"
-yy43:
+#line 422 "rexx.c"
+yy42:
yyaccept = 6;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
@@ -431,203 +427,203 @@ yy43:
case ' ':
case '<':
case '=':
- case '>': goto yy105;
- default: goto yy44;
+ case '>': goto yy104;
+ default: goto yy43;
}
-yy44:
+yy43:
#line 94 "rexx.re"
{ RETURN(OP_GT); }
-#line 441 "rexx.c"
-yy45:
+#line 437 "rexx.c"
+yy44:
yych = *++YYCURSOR;
switch (yych) {
case 'D':
- case 'd': goto yy110;
+ case 'd': goto yy109;
case 'R':
- case 'r': goto yy111;
- default: goto yy10;
+ case 'r': goto yy110;
+ default: goto yy9;
}
-yy46:
+yy45:
yych = *++YYCURSOR;
switch (yych) {
case 'Y':
- case 'y': goto yy112;
- default: goto yy10;
+ case 'y': goto yy111;
+ default: goto yy9;
}
-yy47:
+yy46:
yych = *++YYCURSOR;
switch (yych) {
case 'A':
- case 'a': goto yy114;
- default: goto yy10;
+ case 'a': goto yy113;
+ default: goto yy9;
}
-yy48:
+yy47:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
- case 'i': goto yy115;
+ case 'i': goto yy114;
case 'O':
- case 'o': goto yy116;
+ case 'o': goto yy115;
case 'R':
- case 'r': goto yy118;
- default: goto yy10;
+ case 'r': goto yy117;
+ default: goto yy9;
}
-yy49:
+yy48:
yych = *++YYCURSOR;
switch (yych) {
case 'L':
- case 'l': goto yy119;
+ case 'l': goto yy118;
case 'N':
- case 'n': goto yy120;
+ case 'n': goto yy119;
case 'R':
- case 'r': goto yy121;
+ case 'r': goto yy120;
case 'X':
- case 'x': goto yy122;
- default: goto yy10;
+ case 'x': goto yy121;
+ default: goto yy9;
}
-yy50:
+yy49:
yych = *++YYCURSOR;
switch (yych) {
case 'A':
- case 'a': goto yy123;
+ case 'a': goto yy122;
case 'O':
- case 'o': goto yy124;
+ case 'o': goto yy123;
case 'U':
- case 'u': goto yy125;
- default: goto yy10;
+ case 'u': goto yy124;
+ default: goto yy9;
}
-yy51:
+yy50:
yych = *++YYCURSOR;
switch (yych) {
case 'A':
- case 'a': goto yy126;
- default: goto yy10;
+ case 'a': goto yy125;
+ default: goto yy9;
}
-yy52:
+yy51:
yych = *++YYCURSOR;
switch (yych) {
case 'F':
- case 'f': goto yy127;
+ case 'f': goto yy126;
case 'N':
- case 'n': goto yy129;
+ case 'n': goto yy128;
case 'T':
- case 't': goto yy130;
- default: goto yy10;
+ case 't': goto yy129;
+ default: goto yy9;
}
-yy53:
+yy52:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
- case 'e': goto yy131;
+ case 'e': goto yy130;
case 'I':
- case 'i': goto yy132;
- default: goto yy10;
+ case 'i': goto yy131;
+ default: goto yy9;
}
-yy54:
+yy53:
yych = *++YYCURSOR;
switch (yych) {
case 'A':
- case 'a': goto yy133;
+ case 'a': goto yy132;
case 'O':
- case 'o': goto yy134;
+ case 'o': goto yy133;
case 'U':
- case 'u': goto yy135;
- default: goto yy10;
+ case 'u': goto yy134;
+ default: goto yy9;
}
-yy55:
+yy54:
yych = *++YYCURSOR;
switch (yych) {
case 'F':
- case 'f': goto yy136;
+ case 'f': goto yy135;
case 'N':
- case 'n': goto yy137;
+ case 'n': goto yy136;
case 'P':
- case 'p': goto yy139;
+ case 'p': goto yy138;
case 'T':
- case 't': goto yy140;
- default: goto yy10;
+ case 't': goto yy139;
+ default: goto yy9;
}
-yy56:
+yy55:
yych = *++YYCURSOR;
switch (yych) {
case 'A':
- case 'a': goto yy141;
+ case 'a': goto yy140;
case 'R':
- case 'r': goto yy142;
+ case 'r': goto yy141;
case 'U':
- case 'u': goto yy143;
- default: goto yy10;
+ case 'u': goto yy142;
+ default: goto yy9;
}
-yy57:
+yy56:
yych = *++YYCURSOR;
switch (yych) {
case 'U':
- case 'u': goto yy144;
- default: goto yy10;
+ case 'u': goto yy143;
+ default: goto yy9;
}
-yy58:
+yy57:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
- case 'e': goto yy145;
- default: goto yy10;
+ case 'e': goto yy144;
+ default: goto yy9;
}
-yy59:
+yy58:
yych = *++YYCURSOR;
switch (yych) {
case 'A':
- case 'a': goto yy146;
+ case 'a': goto yy145;
case 'C':
- case 'c': goto yy147;
+ case 'c': goto yy146;
case 'E':
- case 'e': goto yy148;
+ case 'e': goto yy147;
case 'I':
- case 'i': goto yy149;
+ case 'i': goto yy148;
case 'O':
- case 'o': goto yy150;
+ case 'o': goto yy149;
case 'Y':
- case 'y': goto yy151;
- default: goto yy10;
+ case 'y': goto yy150;
+ default: goto yy9;
}
-yy60:
+yy59:
yych = *++YYCURSOR;
switch (yych) {
case 'H':
- case 'h': goto yy152;
+ case 'h': goto yy151;
case 'O':
- case 'o': goto yy153;
+ case 'o': goto yy152;
case 'R':
- case 'r': goto yy155;
- default: goto yy10;
+ case 'r': goto yy154;
+ default: goto yy9;
}
-yy61:
+yy60:
yych = *++YYCURSOR;
switch (yych) {
case 'N':
- case 'n': goto yy156;
+ case 'n': goto yy155;
case 'P':
- case 'p': goto yy157;
- default: goto yy10;
+ case 'p': goto yy156;
+ default: goto yy9;
}
-yy62:
+yy61:
yych = *++YYCURSOR;
switch (yych) {
case 'A':
- case 'a': goto yy158;
+ case 'a': goto yy157;
case 'E':
- case 'e': goto yy159;
- default: goto yy10;
+ case 'e': goto yy158;
+ default: goto yy9;
}
-yy63:
+yy62:
yych = *++YYCURSOR;
switch (yych) {
case 'H':
- case 'h': goto yy160;
+ case 'h': goto yy159;
case 'I':
- case 'i': goto yy161;
- default: goto yy10;
+ case 'i': goto yy160;
+ default: goto yy9;
}
-yy64:
+yy63:
yyaccept = 7;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
@@ -635,29 +631,29 @@ yy64:
case ' ':
case '<':
case '=':
- case '>': goto yy163;
- default: goto yy65;
+ case '>': goto yy162;
+ default: goto yy64;
}
-yy65:
+yy64:
#line 120 "rexx.re"
{ RETURN(OP_NOT); }
-#line 645 "rexx.c"
-yy66:
+#line 641 "rexx.c"
+yy65:
yyaccept = 8;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case '\t':
- case ' ': goto yy167;
- case '|': goto yy169;
- default: goto yy67;
+ case ' ': goto yy166;
+ case '|': goto yy168;
+ default: goto yy66;
}
-yy67:
+yy66:
#line 116 "rexx.re"
{ RETURN(OP_OR); }
-#line 658 "rexx.c"
-yy68:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+#line 654 "rexx.c"
+yy67:
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '.':
case '0':
@@ -723,116 +719,116 @@ yy68:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy171;
- default: goto yy69;
+ case 'z': goto yy170;
+ default: goto yy68;
}
-yy69:
+yy68:
#line 251 "rexx.re"
{ RETURN(SU_SYMBOL_STEM); }
-#line 733 "rexx.c"
-yy70:
+#line 729 "rexx.c"
+yy69:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy71:
+yy70:
switch (yych) {
case 0x00:
- case '\n': goto yy72;
- case '"': goto yy73;
- default: goto yy70;
+ case '\n': goto yy71;
+ case '"': goto yy72;
+ default: goto yy69;
}
-yy72:
+yy71:
YYCURSOR = YYMARKER;
switch (yyaccept) {
- case 0: goto yy6;
- case 1: goto yy16;
- case 2: goto yy23;
- case 3: goto yy34;
- case 4: goto yy40;
- case 5: goto yy42;
- case 6: goto yy44;
- case 7: goto yy65;
- case 8: goto yy67;
- case 9: goto yy74;
- case 10: goto yy32;
- case 11: goto yy95;
- case 12: goto yy109;
- case 13: goto yy107;
- case 14: goto yy99;
- default: goto yy97;
+ case 0: goto yy5;
+ case 1: goto yy15;
+ case 2: goto yy22;
+ case 3: goto yy33;
+ case 4: goto yy39;
+ case 5: goto yy41;
+ case 6: goto yy43;
+ case 7: goto yy64;
+ case 8: goto yy66;
+ case 9: goto yy73;
+ case 10: goto yy31;
+ case 11: goto yy94;
+ case 12: goto yy108;
+ case 13: goto yy106;
+ case 14: goto yy98;
+ default: goto yy96;
}
-yy73:
+yy72:
yyaccept = 9;
YYMARKER = ++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
switch (yych) {
- case '"': goto yy70;
+ case '"': goto yy69;
case 'B':
case 'b': goto yy173;
case 'X':
case 'x': goto yy174;
- default: goto yy74;
+ default: goto yy73;
}
-yy74:
+yy73:
#line 255 "rexx.re"
{ RETURN(SU_LITERAL); }
-#line 781 "rexx.c"
-yy75:
+#line 777 "rexx.c"
+yy74:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case '\t':
- case ' ': goto yy75;
- case '&': goto yy77;
- default: goto yy72;
+ case ' ': goto yy74;
+ case '&': goto yy76;
+ default: goto yy71;
}
-yy77:
+yy76:
++YYCURSOR;
#line 118 "rexx.re"
{ RETURN(OP_XOR); }
-#line 796 "rexx.c"
-yy79:
+#line 792 "rexx.c"
+yy78:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy80:
+yy79:
switch (yych) {
case 0x00:
- case '\n': goto yy72;
- case '\'': goto yy81;
- default: goto yy79;
+ case '\n': goto yy71;
+ case '\'': goto yy80;
+ default: goto yy78;
}
-yy81:
+yy80:
yyaccept = 9;
YYMARKER = ++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
switch (yych) {
- case '\'': goto yy79;
+ case '\'': goto yy78;
case 'B':
case 'b': goto yy173;
case 'X':
case 'x': goto yy174;
- default: goto yy74;
+ default: goto yy73;
}
-yy82:
+yy81:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case '\t':
- case ' ': goto yy82;
- case '*': goto yy84;
- default: goto yy72;
+ case ' ': goto yy81;
+ case '*': goto yy83;
+ default: goto yy71;
}
-yy84:
+yy83:
++YYCURSOR;
#line 88 "rexx.re"
{ RETURN(OP_POWER); }
-#line 835 "rexx.c"
-yy86:
+#line 831 "rexx.c"
+yy85:
yyaccept = 10;
YYMARKER = ++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
@@ -901,130 +897,130 @@ yy86:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy30;
+ case 'z': goto yy29;
case '+':
case '-': goto yy175;
case 'E':
- case 'e': goto yy86;
- default: goto yy32;
+ case 'e': goto yy85;
+ default: goto yy31;
}
-yy88:
+yy87:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case '\t':
- case ' ': goto yy88;
- case '/': goto yy90;
- default: goto yy72;
+ case ' ': goto yy87;
+ case '/': goto yy89;
+ default: goto yy71;
}
-yy90:
+yy89:
++YYCURSOR;
#line 86 "rexx.re"
{ RETURN(OP_REMAIN); }
-#line 926 "rexx.c"
-yy92:
+#line 922 "rexx.c"
+yy91:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
-yy93:
+yy92:
switch (yych) {
case '\t':
- case ' ': goto yy92;
- case '<': goto yy94;
- case '=': goto yy96;
- case '>': goto yy98;
- default: goto yy72;
+ case ' ': goto yy91;
+ case '<': goto yy93;
+ case '=': goto yy95;
+ case '>': goto yy97;
+ default: goto yy71;
}
-yy94:
+yy93:
yyaccept = 11;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case '\t':
case ' ': goto yy176;
case '=': goto yy178;
- default: goto yy95;
+ default: goto yy94;
}
-yy95:
+yy94:
#line 108 "rexx.re"
{ RETURN(OP_LT_STRICT); }
-#line 952 "rexx.c"
-yy96:
+#line 948 "rexx.c"
+yy95:
++YYCURSOR;
-yy97:
+yy96:
#line 100 "rexx.re"
{ RETURN(OP_LE); }
-#line 958 "rexx.c"
-yy98:
+#line 954 "rexx.c"
+yy97:
++YYCURSOR;
-yy99:
+yy98:
#line 92 "rexx.re"
{ RETURN(OP_EQUAL_N); }
-#line 964 "rexx.c"
-yy100:
+#line 960 "rexx.c"
+yy99:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case '\t':
- case ' ': goto yy100;
- case '=': goto yy102;
- default: goto yy72;
+ case ' ': goto yy99;
+ case '=': goto yy101;
+ default: goto yy71;
}
-yy102:
+yy101:
++YYCURSOR;
#line 102 "rexx.re"
{ RETURN(OP_EQUAL_EQ); }
-#line 979 "rexx.c"
-yy104:
+#line 975 "rexx.c"
+yy103:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
-yy105:
+yy104:
switch (yych) {
case '\t':
- case ' ': goto yy104;
- case '<': goto yy98;
- case '=': goto yy106;
- case '>': goto yy108;
- default: goto yy72;
+ case ' ': goto yy103;
+ case '<': goto yy97;
+ case '=': goto yy105;
+ case '>': goto yy107;
+ default: goto yy71;
}
-yy106:
+yy105:
++YYCURSOR;
-yy107:
+yy106:
#line 98 "rexx.re"
{ RETURN(OP_GE); }
-#line 998 "rexx.c"
-yy108:
+#line 994 "rexx.c"
+yy107:
yyaccept = 12;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case '\t':
case ' ': goto yy180;
case '=': goto yy182;
- default: goto yy109;
+ default: goto yy108;
}
-yy109:
+yy108:
#line 106 "rexx.re"
{ RETURN(OP_GT_STRICT); }
-#line 1011 "rexx.c"
-yy110:
+#line 1007 "rexx.c"
+yy109:
yych = *++YYCURSOR;
switch (yych) {
case 'D':
case 'd': goto yy184;
- default: goto yy10;
+ default: goto yy9;
}
-yy111:
+yy110:
yych = *++YYCURSOR;
switch (yych) {
case 'G':
case 'g': goto yy185;
- default: goto yy10;
+ default: goto yy9;
}
-yy112:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+yy111:
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -1089,31 +1085,31 @@ yy112:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
- default: goto yy113;
+ case 'z': goto yy8;
+ case '.': goto yy67;
+ default: goto yy112;
}
-yy113:
+yy112:
#line 194 "rexx.re"
{ RETURN(RXS_BY); }
-#line 1100 "rexx.c"
-yy114:
+#line 1096 "rexx.c"
+yy113:
yych = *++YYCURSOR;
switch (yych) {
case 'L':
case 'l': goto yy187;
- default: goto yy10;
+ default: goto yy9;
}
-yy115:
+yy114:
yych = *++YYCURSOR;
switch (yych) {
case 'G':
case 'g': goto yy188;
- default: goto yy10;
+ default: goto yy9;
}
-yy116:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+yy115:
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -1178,84 +1174,84 @@ yy116:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
- default: goto yy117;
+ case 'z': goto yy8;
+ case '.': goto yy67;
+ default: goto yy116;
}
-yy117:
+yy116:
#line 140 "rexx.re"
{ RETURN(RX_DO); }
-#line 1189 "rexx.c"
-yy118:
+#line 1185 "rexx.c"
+yy117:
yych = *++YYCURSOR;
switch (yych) {
case 'O':
case 'o': goto yy189;
- default: goto yy10;
+ default: goto yy9;
}
-yy119:
+yy118:
yych = *++YYCURSOR;
switch (yych) {
case 'S':
case 's': goto yy190;
- default: goto yy10;
+ default: goto yy9;
}
-yy120:
+yy119:
yych = *++YYCURSOR;
switch (yych) {
case 'D':
case 'd': goto yy191;
case 'G':
case 'g': goto yy193;
- default: goto yy10;
+ default: goto yy9;
}
-yy121:
+yy120:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy194;
- default: goto yy10;
+ default: goto yy9;
}
-yy122:
+yy121:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
case 'i': goto yy195;
case 'P':
case 'p': goto yy196;
- default: goto yy10;
+ default: goto yy9;
}
-yy123:
+yy122:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
case 'i': goto yy197;
- default: goto yy10;
+ default: goto yy9;
}
-yy124:
+yy123:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy198;
- default: goto yy10;
+ default: goto yy9;
}
-yy125:
+yy124:
yych = *++YYCURSOR;
switch (yych) {
case 'Z':
case 'z': goto yy200;
- default: goto yy10;
+ default: goto yy9;
}
-yy126:
+yy125:
yych = *++YYCURSOR;
switch (yych) {
case 'L':
case 'l': goto yy201;
- default: goto yy10;
+ default: goto yy9;
}
-yy127:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+yy126:
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -1320,50 +1316,50 @@ yy127:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
- default: goto yy128;
+ case 'z': goto yy8;
+ case '.': goto yy67;
+ default: goto yy127;
}
-yy128:
+yy127:
#line 150 "rexx.re"
{ RETURN(RX_IF); }
-#line 1331 "rexx.c"
-yy129:
+#line 1327 "rexx.c"
+yy128:
yych = *++YYCURSOR;
switch (yych) {
case 'T':
case 't': goto yy202;
- default: goto yy10;
+ default: goto yy9;
}
-yy130:
+yy129:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy203;
- default: goto yy10;
+ default: goto yy9;
}
-yy131:
+yy130:
yych = *++YYCURSOR;
switch (yych) {
case 'A':
case 'a': goto yy204;
- default: goto yy10;
+ default: goto yy9;
}
-yy132:
+yy131:
yych = *++YYCURSOR;
switch (yych) {
case 'N':
case 'n': goto yy205;
- default: goto yy10;
+ default: goto yy9;
}
-yy133:
+yy132:
yych = *++YYCURSOR;
switch (yych) {
case 'M':
case 'm': goto yy206;
- default: goto yy10;
+ default: goto yy9;
}
-yy134:
+yy133:
yych = *++YYCURSOR;
switch (yych) {
case 'P':
@@ -1372,25 +1368,25 @@ yy134:
case 't': goto yy209;
case 'V':
case 'v': goto yy210;
- default: goto yy10;
+ default: goto yy9;
}
-yy135:
+yy134:
yych = *++YYCURSOR;
switch (yych) {
case 'M':
case 'm': goto yy211;
- default: goto yy10;
+ default: goto yy9;
}
-yy136:
+yy135:
yych = *++YYCURSOR;
switch (yych) {
case 'F':
case 'f': goto yy212;
- default: goto yy10;
+ default: goto yy9;
}
-yy137:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+yy136:
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -1455,117 +1451,117 @@ yy137:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
- default: goto yy138;
+ case 'z': goto yy8;
+ case '.': goto yy67;
+ default: goto yy137;
}
-yy138:
+yy137:
#line 192 "rexx.re"
{ RETURN(RXS_ON); }
-#line 1466 "rexx.c"
-yy139:
+#line 1462 "rexx.c"
+yy138:
yych = *++YYCURSOR;
switch (yych) {
case 'T':
case 't': goto yy214;
- default: goto yy10;
+ default: goto yy9;
}
-yy140:
+yy139:
yych = *++YYCURSOR;
switch (yych) {
case 'H':
case 'h': goto yy215;
- default: goto yy10;
+ default: goto yy9;
}
-yy141:
+yy140:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy216;
- default: goto yy10;
+ default: goto yy9;
}
-yy142:
+yy141:
yych = *++YYCURSOR;
switch (yych) {
case 'O':
case 'o': goto yy217;
- default: goto yy10;
+ default: goto yy9;
}
-yy143:
+yy142:
yych = *++YYCURSOR;
switch (yych) {
case 'L':
case 'l': goto yy218;
case 'S':
case 's': goto yy219;
- default: goto yy10;
+ default: goto yy9;
}
-yy144:
+yy143:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy220;
- default: goto yy10;
+ default: goto yy9;
}
-yy145:
+yy144:
yych = *++YYCURSOR;
switch (yych) {
case 'T':
case 't': goto yy221;
- default: goto yy10;
+ default: goto yy9;
}
-yy146:
+yy145:
yych = *++YYCURSOR;
switch (yych) {
case 'Y':
case 'y': goto yy222;
- default: goto yy10;
+ default: goto yy9;
}
-yy147:
+yy146:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
case 'i': goto yy224;
- default: goto yy10;
+ default: goto yy9;
}
-yy148:
+yy147:
yych = *++YYCURSOR;
switch (yych) {
case 'L':
case 'l': goto yy225;
- default: goto yy10;
+ default: goto yy9;
}
-yy149:
+yy148:
yych = *++YYCURSOR;
switch (yych) {
case 'G':
case 'g': goto yy226;
- default: goto yy10;
+ default: goto yy9;
}
-yy150:
+yy149:
yych = *++YYCURSOR;
switch (yych) {
case 'U':
case 'u': goto yy227;
- default: goto yy10;
+ default: goto yy9;
}
-yy151:
+yy150:
yych = *++YYCURSOR;
switch (yych) {
case 'N':
case 'n': goto yy228;
- default: goto yy10;
+ default: goto yy9;
}
-yy152:
+yy151:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy229;
- default: goto yy10;
+ default: goto yy9;
}
-yy153:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+yy152:
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -1630,123 +1626,123 @@ yy153:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
- default: goto yy154;
+ case 'z': goto yy8;
+ case '.': goto yy67;
+ default: goto yy153;
}
-yy154:
+yy153:
#line 230 "rexx.re"
{ RETURN(RXS_TO); }
-#line 1641 "rexx.c"
-yy155:
+#line 1637 "rexx.c"
+yy154:
yych = *++YYCURSOR;
switch (yych) {
case 'A':
case 'a': goto yy230;
- default: goto yy10;
+ default: goto yy9;
}
-yy156:
+yy155:
yych = *++YYCURSOR;
switch (yych) {
case 'T':
case 't': goto yy231;
- default: goto yy10;
+ default: goto yy9;
}
-yy157:
+yy156:
yych = *++YYCURSOR;
switch (yych) {
case 'P':
case 'p': goto yy232;
- default: goto yy10;
+ default: goto yy9;
}
-yy158:
+yy157:
yych = *++YYCURSOR;
switch (yych) {
case 'L':
case 'l': goto yy233;
case 'R':
case 'r': goto yy234;
- default: goto yy10;
+ default: goto yy9;
}
-yy159:
+yy158:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy236;
- default: goto yy10;
+ default: goto yy9;
}
-yy160:
+yy159:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy237;
case 'I':
case 'i': goto yy238;
- default: goto yy10;
+ default: goto yy9;
}
-yy161:
+yy160:
yych = *++YYCURSOR;
switch (yych) {
case 'T':
case 't': goto yy239;
- default: goto yy10;
+ default: goto yy9;
}
-yy162:
+yy161:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
-yy163:
+yy162:
switch (yych) {
case '\t':
- case ' ': goto yy162;
- case '<': goto yy164;
- case '=': goto yy165;
- case '>': goto yy166;
- default: goto yy72;
+ case ' ': goto yy161;
+ case '<': goto yy163;
+ case '=': goto yy164;
+ case '>': goto yy165;
+ default: goto yy71;
}
-yy164:
+yy163:
yyaccept = 13;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case '\t':
case ' ': goto yy240;
case '<': goto yy182;
- default: goto yy107;
+ default: goto yy106;
}
-yy165:
+yy164:
yyaccept = 14;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case '\t':
case ' ': goto yy242;
case '=': goto yy244;
- default: goto yy99;
+ default: goto yy98;
}
-yy166:
+yy165:
yyaccept = 15;
yych = *(YYMARKER = ++YYCURSOR);
switch (yych) {
case '\t':
case ' ': goto yy246;
case '>': goto yy178;
- default: goto yy97;
+ default: goto yy96;
}
-yy167:
+yy166:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
switch (yych) {
case '\t':
- case ' ': goto yy167;
- case '|': goto yy169;
- default: goto yy72;
+ case ' ': goto yy166;
+ case '|': goto yy168;
+ default: goto yy71;
}
-yy169:
+yy168:
++YYCURSOR;
#line 74 "rexx.re"
{ RETURN(OP_CONCAT); }
-#line 1749 "rexx.c"
-yy171:
+#line 1745 "rexx.c"
+yy170:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
@@ -1816,12 +1812,15 @@ yy171:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy171;
- default: goto yy2;
+ case 'z': goto yy170;
+ default: goto yy172;
}
+yy172:
+#line 253 "rexx.re"
+ { RETURN(SU_SYMBOL_COMPOUND); }
+#line 1822 "rexx.c"
yy173:
yych = *++YYCURSOR;
- YYCTXMARKER = YYCURSOR;
switch (yych) {
case '!':
case '.':
@@ -1888,12 +1887,11 @@ yy173:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy72;
+ case 'z': goto yy71;
default: goto yy248;
}
yy174:
yych = *++YYCURSOR;
- YYCTXMARKER = YYCURSOR;
switch (yych) {
case '!':
case '.':
@@ -1960,7 +1958,7 @@ yy174:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy72;
+ case 'z': goto yy71;
default: goto yy250;
}
yy175:
@@ -1976,7 +1974,7 @@ yy175:
case '7':
case '8':
case '9': goto yy252;
- default: goto yy72;
+ default: goto yy71;
}
yy176:
++YYCURSOR;
@@ -1986,13 +1984,13 @@ yy176:
case '\t':
case ' ': goto yy176;
case '=': goto yy178;
- default: goto yy72;
+ default: goto yy71;
}
yy178:
++YYCURSOR;
#line 112 "rexx.re"
{ RETURN(OP_LE_STRICT); }
-#line 1996 "rexx.c"
+#line 1994 "rexx.c"
yy180:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -2001,23 +1999,23 @@ yy180:
case '\t':
case ' ': goto yy180;
case '=': goto yy182;
- default: goto yy72;
+ default: goto yy71;
}
yy182:
++YYCURSOR;
#line 110 "rexx.re"
{ RETURN(OP_GE_STRICT); }
-#line 2011 "rexx.c"
+#line 2009 "rexx.c"
yy184:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy254;
- default: goto yy10;
+ default: goto yy9;
}
yy185:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -2082,45 +2080,45 @@ yy185:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy186;
}
yy186:
#line 136 "rexx.re"
{ RETURN(RX_ARG); }
-#line 2093 "rexx.c"
+#line 2091 "rexx.c"
yy187:
yych = *++YYCURSOR;
switch (yych) {
case 'L':
case 'l': goto yy255;
- default: goto yy10;
+ default: goto yy9;
}
yy188:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
case 'i': goto yy257;
- default: goto yy10;
+ default: goto yy9;
}
yy189:
yych = *++YYCURSOR;
switch (yych) {
case 'P':
case 'p': goto yy258;
- default: goto yy10;
+ default: goto yy9;
}
yy190:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy260;
- default: goto yy10;
+ default: goto yy9;
}
yy191:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -2185,52 +2183,52 @@ yy191:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy192;
}
yy192:
#line 146 "rexx.re"
{ RETURN(RX_END); }
-#line 2196 "rexx.c"
+#line 2194 "rexx.c"
yy193:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
case 'i': goto yy262;
- default: goto yy10;
+ default: goto yy9;
}
yy194:
yych = *++YYCURSOR;
switch (yych) {
case 'O':
case 'o': goto yy263;
- default: goto yy10;
+ default: goto yy9;
}
yy195:
yych = *++YYCURSOR;
switch (yych) {
case 'T':
case 't': goto yy264;
- default: goto yy10;
+ default: goto yy9;
}
yy196:
yych = *++YYCURSOR;
switch (yych) {
case 'O':
case 'o': goto yy266;
- default: goto yy10;
+ default: goto yy9;
}
yy197:
yych = *++YYCURSOR;
switch (yych) {
case 'L':
case 'l': goto yy267;
- default: goto yy10;
+ default: goto yy9;
}
yy198:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -2291,8 +2289,8 @@ yy198:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
case 'E':
case 'e': goto yy268;
case 'M':
@@ -2302,59 +2300,59 @@ yy198:
yy199:
#line 206 "rexx.re"
{ RETURN(RXS_FOR); }
-#line 2306 "rexx.c"
+#line 2304 "rexx.c"
yy200:
yych = *++YYCURSOR;
switch (yych) {
case 'Z':
case 'z': goto yy271;
- default: goto yy10;
+ default: goto yy9;
}
yy201:
yych = *++YYCURSOR;
switch (yych) {
case 'T':
case 't': goto yy273;
- default: goto yy10;
+ default: goto yy9;
}
yy202:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy275;
- default: goto yy10;
+ default: goto yy9;
}
yy203:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy276;
- default: goto yy10;
+ default: goto yy9;
}
yy204:
yych = *++YYCURSOR;
switch (yych) {
case 'V':
case 'v': goto yy277;
- default: goto yy10;
+ default: goto yy9;
}
yy205:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy278;
- default: goto yy10;
+ default: goto yy9;
}
yy206:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy279;
- default: goto yy10;
+ default: goto yy9;
}
yy207:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -2419,38 +2417,38 @@ yy207:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy208;
}
yy208:
#line 158 "rexx.re"
{ RETURN(RX_NOP); }
-#line 2430 "rexx.c"
+#line 2428 "rexx.c"
yy209:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy281;
- default: goto yy10;
+ default: goto yy9;
}
yy210:
yych = *++YYCURSOR;
switch (yych) {
case 'A':
case 'a': goto yy282;
- default: goto yy10;
+ default: goto yy9;
}
yy211:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy283;
- default: goto yy10;
+ default: goto yy9;
}
yy212:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -2515,73 +2513,73 @@ yy212:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy213;
}
yy213:
#line 190 "rexx.re"
{ RETURN(RXS_OFF); }
-#line 2526 "rexx.c"
+#line 2524 "rexx.c"
yy214:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
case 'i': goto yy284;
- default: goto yy10;
+ default: goto yy9;
}
yy215:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy285;
- default: goto yy10;
+ default: goto yy9;
}
yy216:
yych = *++YYCURSOR;
switch (yych) {
case 'S':
case 's': goto yy286;
- default: goto yy10;
+ default: goto yy9;
}
yy217:
yych = *++YYCURSOR;
switch (yych) {
case 'C':
case 'c': goto yy287;
- default: goto yy10;
+ default: goto yy9;
}
yy218:
yych = *++YYCURSOR;
switch (yych) {
case 'L':
case 'l': goto yy288;
- default: goto yy10;
+ default: goto yy9;
}
yy219:
yych = *++YYCURSOR;
switch (yych) {
case 'H':
case 'h': goto yy290;
- default: goto yy10;
+ default: goto yy9;
}
yy220:
yych = *++YYCURSOR;
switch (yych) {
case 'U':
case 'u': goto yy292;
- default: goto yy10;
+ default: goto yy9;
}
yy221:
yych = *++YYCURSOR;
switch (yych) {
case 'U':
case 'u': goto yy293;
- default: goto yy10;
+ default: goto yy9;
}
yy222:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -2646,87 +2644,87 @@ yy222:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy223;
}
yy223:
#line 178 "rexx.re"
{ RETURN(RX_SAY); }
-#line 2657 "rexx.c"
+#line 2655 "rexx.c"
yy224:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy294;
- default: goto yy10;
+ default: goto yy9;
}
yy225:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy295;
- default: goto yy10;
+ default: goto yy9;
}
yy226:
yych = *++YYCURSOR;
switch (yych) {
case 'N':
case 'n': goto yy296;
- default: goto yy10;
+ default: goto yy9;
}
yy227:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy297;
- default: goto yy10;
+ default: goto yy9;
}
yy228:
yych = *++YYCURSOR;
switch (yych) {
case 'T':
case 't': goto yy298;
- default: goto yy10;
+ default: goto yy9;
}
yy229:
yych = *++YYCURSOR;
switch (yych) {
case 'N':
case 'n': goto yy299;
- default: goto yy10;
+ default: goto yy9;
}
yy230:
yych = *++YYCURSOR;
switch (yych) {
case 'C':
case 'c': goto yy301;
- default: goto yy10;
+ default: goto yy9;
}
yy231:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
case 'i': goto yy302;
- default: goto yy10;
+ default: goto yy9;
}
yy232:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy303;
- default: goto yy10;
+ default: goto yy9;
}
yy233:
yych = *++YYCURSOR;
switch (yych) {
case 'U':
case 'u': goto yy304;
- default: goto yy10;
+ default: goto yy9;
}
yy234:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -2791,41 +2789,41 @@ yy234:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy235;
}
yy235:
#line 238 "rexx.re"
{ RETURN(RXS_VAR); }
-#line 2802 "rexx.c"
+#line 2800 "rexx.c"
yy236:
yych = *++YYCURSOR;
switch (yych) {
case 'S':
case 's': goto yy305;
- default: goto yy10;
+ default: goto yy9;
}
yy237:
yych = *++YYCURSOR;
switch (yych) {
case 'N':
case 'n': goto yy306;
- default: goto yy10;
+ default: goto yy9;
}
yy238:
yych = *++YYCURSOR;
switch (yych) {
case 'L':
case 'l': goto yy308;
- default: goto yy10;
+ default: goto yy9;
}
yy239:
yych = *++YYCURSOR;
switch (yych) {
case 'H':
case 'h': goto yy309;
- default: goto yy10;
+ default: goto yy9;
}
yy240:
++YYCURSOR;
@@ -2835,7 +2833,7 @@ yy240:
case '\t':
case ' ': goto yy240;
case '<': goto yy182;
- default: goto yy72;
+ default: goto yy71;
}
yy242:
++YYCURSOR;
@@ -2845,13 +2843,13 @@ yy242:
case '\t':
case ' ': goto yy242;
case '=': goto yy244;
- default: goto yy72;
+ default: goto yy71;
}
yy244:
++YYCURSOR;
#line 104 "rexx.re"
{ RETURN(OP_EQUAL_EQ_N); }
-#line 2855 "rexx.c"
+#line 2853 "rexx.c"
yy246:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -2860,20 +2858,20 @@ yy246:
case '\t':
case ' ': goto yy246;
case '>': goto yy178;
- default: goto yy72;
+ default: goto yy71;
}
yy248:
++YYCURSOR;
- YYCURSOR = YYCTXMARKER;
+ YYCURSOR -= 1;
#line 257 "rexx.re"
{ RETURN(SU_LITERAL_BIN); }
-#line 2871 "rexx.c"
+#line 2869 "rexx.c"
yy250:
++YYCURSOR;
- YYCURSOR = YYCTXMARKER;
+ YYCURSOR -= 1;
#line 259 "rexx.re"
{ RETURN(SU_LITERAL_HEX); }
-#line 2877 "rexx.c"
+#line 2875 "rexx.c"
yy252:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -2889,18 +2887,18 @@ yy252:
case '7':
case '8':
case '9': goto yy252;
- default: goto yy32;
+ default: goto yy31;
}
yy254:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy311;
- default: goto yy10;
+ default: goto yy9;
}
yy255:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -2965,24 +2963,24 @@ yy255:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy256;
}
yy256:
#line 138 "rexx.re"
{ RETURN(RX_CALL); }
-#line 2976 "rexx.c"
+#line 2974 "rexx.c"
yy257:
yych = *++YYCURSOR;
switch (yych) {
case 'T':
case 't': goto yy312;
- default: goto yy10;
+ default: goto yy9;
}
yy258:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3047,17 +3045,17 @@ yy258:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy259;
}
yy259:
#line 142 "rexx.re"
{ RETURN(RX_DROP); }
-#line 3058 "rexx.c"
+#line 3056 "rexx.c"
yy260:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3122,31 +3120,31 @@ yy260:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy261;
}
yy261:
#line 144 "rexx.re"
{ RETURN(RX_ELSE); }
-#line 3133 "rexx.c"
+#line 3131 "rexx.c"
yy262:
yych = *++YYCURSOR;
switch (yych) {
case 'N':
case 'n': goto yy313;
- default: goto yy10;
+ default: goto yy9;
}
yy263:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy314;
- default: goto yy10;
+ default: goto yy9;
}
yy264:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3211,38 +3209,38 @@ yy264:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy265;
}
yy265:
#line 148 "rexx.re"
{ RETURN(RX_EXIT); }
-#line 3222 "rexx.c"
+#line 3220 "rexx.c"
yy266:
yych = *++YYCURSOR;
switch (yych) {
case 'S':
case 's': goto yy316;
- default: goto yy10;
+ default: goto yy9;
}
yy267:
yych = *++YYCURSOR;
switch (yych) {
case 'U':
case 'u': goto yy317;
- default: goto yy10;
+ default: goto yy9;
}
yy268:
yych = *++YYCURSOR;
switch (yych) {
case 'V':
case 'v': goto yy318;
- default: goto yy10;
+ default: goto yy9;
}
yy269:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3307,17 +3305,17 @@ yy269:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy270;
}
yy270:
#line 210 "rexx.re"
{ RETURN(RXS_FORM); }
-#line 3318 "rexx.c"
+#line 3316 "rexx.c"
yy271:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3382,17 +3380,17 @@ yy271:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy272;
}
yy272:
#line 212 "rexx.re"
{ RETURN(RXS_FUZZ); }
-#line 3393 "rexx.c"
+#line 3391 "rexx.c"
yy273:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3457,45 +3455,45 @@ yy273:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy274;
}
yy274:
#line 214 "rexx.re"
{ RETURN(RXS_HALT); }
-#line 3468 "rexx.c"
+#line 3466 "rexx.c"
yy275:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy319;
- default: goto yy10;
+ default: goto yy9;
}
yy276:
yych = *++YYCURSOR;
switch (yych) {
case 'A':
case 'a': goto yy320;
- default: goto yy10;
+ default: goto yy9;
}
yy277:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy321;
- default: goto yy10;
+ default: goto yy9;
}
yy278:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
case 'i': goto yy323;
- default: goto yy10;
+ default: goto yy9;
}
yy279:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3560,66 +3558,66 @@ yy279:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy280;
}
yy280:
#line 218 "rexx.re"
{ RETURN(RXS_NAME); }
-#line 3571 "rexx.c"
+#line 3569 "rexx.c"
yy281:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy324;
- default: goto yy10;
+ default: goto yy9;
}
yy282:
yych = *++YYCURSOR;
switch (yych) {
case 'L':
case 'l': goto yy325;
- default: goto yy10;
+ default: goto yy9;
}
yy283:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy326;
- default: goto yy10;
+ default: goto yy9;
}
yy284:
yych = *++YYCURSOR;
switch (yych) {
case 'O':
case 'o': goto yy327;
- default: goto yy10;
+ default: goto yy9;
}
yy285:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy328;
- default: goto yy10;
+ default: goto yy9;
}
yy286:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy329;
- default: goto yy10;
+ default: goto yy9;
}
yy287:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy331;
- default: goto yy10;
+ default: goto yy9;
}
yy288:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3684,17 +3682,17 @@ yy288:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy289;
}
yy289:
#line 170 "rexx.re"
{ RETURN(RX_PULL); }
-#line 3695 "rexx.c"
+#line 3693 "rexx.c"
yy290:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3759,66 +3757,66 @@ yy290:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy291;
}
yy291:
#line 172 "rexx.re"
{ RETURN(RX_PUSH); }
-#line 3770 "rexx.c"
+#line 3768 "rexx.c"
yy292:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy332;
- default: goto yy10;
+ default: goto yy9;
}
yy293:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy334;
- default: goto yy10;
+ default: goto yy9;
}
yy294:
yych = *++YYCURSOR;
switch (yych) {
case 'N':
case 'n': goto yy335;
- default: goto yy10;
+ default: goto yy9;
}
yy295:
yych = *++YYCURSOR;
switch (yych) {
case 'C':
case 'c': goto yy336;
- default: goto yy10;
+ default: goto yy9;
}
yy296:
yych = *++YYCURSOR;
switch (yych) {
case 'A':
case 'a': goto yy337;
- default: goto yy10;
+ default: goto yy9;
}
yy297:
yych = *++YYCURSOR;
switch (yych) {
case 'C':
case 'c': goto yy338;
- default: goto yy10;
+ default: goto yy9;
}
yy298:
yych = *++YYCURSOR;
switch (yych) {
case 'A':
case 'a': goto yy339;
- default: goto yy10;
+ default: goto yy9;
}
yy299:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3883,52 +3881,52 @@ yy299:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy300;
}
yy300:
#line 184 "rexx.re"
{ RETURN(RX_THEN); }
-#line 3894 "rexx.c"
+#line 3892 "rexx.c"
yy301:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy340;
- default: goto yy10;
+ default: goto yy9;
}
yy302:
yych = *++YYCURSOR;
switch (yych) {
case 'L':
case 'l': goto yy342;
- default: goto yy10;
+ default: goto yy9;
}
yy303:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy344;
- default: goto yy10;
+ default: goto yy9;
}
yy304:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy346;
- default: goto yy10;
+ default: goto yy9;
}
yy305:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
case 'i': goto yy348;
- default: goto yy10;
+ default: goto yy9;
}
yy306:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -3993,24 +3991,24 @@ yy306:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy307;
}
yy307:
#line 188 "rexx.re"
{ RETURN(RX_WHEN); }
-#line 4004 "rexx.c"
+#line 4002 "rexx.c"
yy308:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy349;
- default: goto yy10;
+ default: goto yy9;
}
yy309:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4075,38 +4073,38 @@ yy309:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy310;
}
yy310:
#line 244 "rexx.re"
{ RETURN(RXS_WITH); }
-#line 4086 "rexx.c"
+#line 4084 "rexx.c"
yy311:
yych = *++YYCURSOR;
switch (yych) {
case 'S':
case 's': goto yy351;
- default: goto yy10;
+ default: goto yy9;
}
yy312:
yych = *++YYCURSOR;
switch (yych) {
case 'S':
case 's': goto yy352;
- default: goto yy10;
+ default: goto yy9;
}
yy313:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy354;
- default: goto yy10;
+ default: goto yy9;
}
yy314:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4171,52 +4169,52 @@ yy314:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy315;
}
yy315:
#line 200 "rexx.re"
{ RETURN(RXS_ERROR); }
-#line 4182 "rexx.c"
+#line 4180 "rexx.c"
yy316:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy355;
- default: goto yy10;
+ default: goto yy9;
}
yy317:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy357;
- default: goto yy10;
+ default: goto yy9;
}
yy318:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy358;
- default: goto yy10;
+ default: goto yy9;
}
yy319:
yych = *++YYCURSOR;
switch (yych) {
case 'P':
case 'p': goto yy359;
- default: goto yy10;
+ default: goto yy9;
}
yy320:
yych = *++YYCURSOR;
switch (yych) {
case 'T':
case 't': goto yy360;
- default: goto yy10;
+ default: goto yy9;
}
yy321:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4281,59 +4279,59 @@ yy321:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy322;
}
yy322:
#line 156 "rexx.re"
{ RETURN(RX_LEAVE); }
-#line 4292 "rexx.c"
+#line 4290 "rexx.c"
yy323:
yych = *++YYCURSOR;
switch (yych) {
case 'N':
case 'n': goto yy361;
- default: goto yy10;
+ default: goto yy9;
}
yy324:
yych = *++YYCURSOR;
switch (yych) {
case 'A':
case 'a': goto yy363;
- default: goto yy10;
+ default: goto yy9;
}
yy325:
yych = *++YYCURSOR;
switch (yych) {
case 'U':
case 'u': goto yy364;
- default: goto yy10;
+ default: goto yy9;
}
yy326:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
case 'i': goto yy365;
- default: goto yy10;
+ default: goto yy9;
}
yy327:
yych = *++YYCURSOR;
switch (yych) {
case 'N':
case 'n': goto yy366;
- default: goto yy10;
+ default: goto yy9;
}
yy328:
yych = *++YYCURSOR;
switch (yych) {
case 'W':
case 'w': goto yy367;
- default: goto yy10;
+ default: goto yy9;
}
yy329:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4398,24 +4396,24 @@ yy329:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy330;
}
yy330:
#line 166 "rexx.re"
{ RETURN(RX_PARSE); }
-#line 4409 "rexx.c"
+#line 4407 "rexx.c"
yy331:
yych = *++YYCURSOR;
switch (yych) {
case 'D':
case 'd': goto yy368;
- default: goto yy10;
+ default: goto yy9;
}
yy332:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4480,59 +4478,59 @@ yy332:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy333;
}
yy333:
#line 174 "rexx.re"
{ RETURN(RX_QUEUE); }
-#line 4491 "rexx.c"
+#line 4489 "rexx.c"
yy334:
yych = *++YYCURSOR;
switch (yych) {
case 'N':
case 'n': goto yy369;
- default: goto yy10;
+ default: goto yy9;
}
yy335:
yych = *++YYCURSOR;
switch (yych) {
case 'T':
case 't': goto yy371;
- default: goto yy10;
+ default: goto yy9;
}
yy336:
yych = *++YYCURSOR;
switch (yych) {
case 'T':
case 't': goto yy372;
- default: goto yy10;
+ default: goto yy9;
}
yy337:
yych = *++YYCURSOR;
switch (yych) {
case 'L':
case 'l': goto yy374;
- default: goto yy10;
+ default: goto yy9;
}
yy338:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy376;
- default: goto yy10;
+ default: goto yy9;
}
yy339:
yych = *++YYCURSOR;
switch (yych) {
case 'X':
case 'x': goto yy378;
- default: goto yy10;
+ default: goto yy9;
}
yy340:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4597,17 +4595,17 @@ yy340:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy341;
}
yy341:
#line 186 "rexx.re"
{ RETURN(RX_TRACE); }
-#line 4608 "rexx.c"
+#line 4606 "rexx.c"
yy342:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4672,17 +4670,17 @@ yy342:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy343;
}
yy343:
#line 232 "rexx.re"
{ RETURN(RXS_UNTIL); }
-#line 4683 "rexx.c"
+#line 4681 "rexx.c"
yy344:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4747,17 +4745,17 @@ yy344:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy345;
}
yy345:
#line 234 "rexx.re"
{ RETURN(RXS_UPPER); }
-#line 4758 "rexx.c"
+#line 4756 "rexx.c"
yy346:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4822,24 +4820,24 @@ yy346:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy347;
}
yy347:
#line 236 "rexx.re"
{ RETURN(RXS_VALUE); }
-#line 4833 "rexx.c"
+#line 4831 "rexx.c"
yy348:
yych = *++YYCURSOR;
switch (yych) {
case 'O':
case 'o': goto yy380;
- default: goto yy10;
+ default: goto yy9;
}
yy349:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4904,24 +4902,24 @@ yy349:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy350;
}
yy350:
#line 242 "rexx.re"
{ RETURN(RXS_WHILE); }
-#line 4915 "rexx.c"
+#line 4913 "rexx.c"
yy351:
yych = *++YYCURSOR;
switch (yych) {
case 'S':
case 's': goto yy381;
- default: goto yy10;
+ default: goto yy9;
}
yy352:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -4986,24 +4984,24 @@ yy352:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy353;
}
yy353:
#line 196 "rexx.re"
{ RETURN(RXS_DIGITS); }
-#line 4997 "rexx.c"
+#line 4995 "rexx.c"
yy354:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy383;
- default: goto yy10;
+ default: goto yy9;
}
yy355:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5068,45 +5066,45 @@ yy355:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy356;
}
yy356:
#line 202 "rexx.re"
{ RETURN(RXS_EXPOSE); }
-#line 5079 "rexx.c"
+#line 5077 "rexx.c"
yy357:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy384;
- default: goto yy10;
+ default: goto yy9;
}
yy358:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy386;
- default: goto yy10;
+ default: goto yy9;
}
yy359:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy388;
- default: goto yy10;
+ default: goto yy9;
}
yy360:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy389;
- default: goto yy10;
+ default: goto yy9;
}
yy361:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5171,59 +5169,59 @@ yy361:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy362;
}
yy362:
#line 216 "rexx.re"
{ RETURN(RXS_LINEIN); }
-#line 5182 "rexx.c"
+#line 5180 "rexx.c"
yy363:
yych = *++YYCURSOR;
switch (yych) {
case 'D':
case 'd': goto yy391;
- default: goto yy10;
+ default: goto yy9;
}
yy364:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy392;
- default: goto yy10;
+ default: goto yy9;
}
yy365:
yych = *++YYCURSOR;
switch (yych) {
case 'C':
case 'c': goto yy394;
- default: goto yy10;
+ default: goto yy9;
}
yy366:
yych = *++YYCURSOR;
switch (yych) {
case 'S':
case 's': goto yy396;
- default: goto yy10;
+ default: goto yy9;
}
yy367:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
case 'i': goto yy398;
- default: goto yy10;
+ default: goto yy9;
}
yy368:
yych = *++YYCURSOR;
switch (yych) {
case 'U':
case 'u': goto yy399;
- default: goto yy10;
+ default: goto yy9;
}
yy369:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5288,24 +5286,24 @@ yy369:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy370;
}
yy370:
#line 176 "rexx.re"
{ RETURN(RX_RETURN); }
-#line 5299 "rexx.c"
+#line 5297 "rexx.c"
yy371:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
case 'i': goto yy400;
- default: goto yy10;
+ default: goto yy9;
}
yy372:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5370,17 +5368,17 @@ yy372:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy373;
}
yy373:
#line 180 "rexx.re"
{ RETURN(RX_SELECT); }
-#line 5381 "rexx.c"
+#line 5379 "rexx.c"
yy374:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5445,17 +5443,17 @@ yy374:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy375;
}
yy375:
#line 182 "rexx.re"
{ RETURN(RX_SIGNAL); }
-#line 5456 "rexx.c"
+#line 5454 "rexx.c"
yy376:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5520,17 +5518,17 @@ yy376:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy377;
}
yy377:
#line 226 "rexx.re"
{ RETURN(RXS_SOURCE); }
-#line 5531 "rexx.c"
+#line 5529 "rexx.c"
yy378:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5595,24 +5593,24 @@ yy378:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy379;
}
yy379:
#line 228 "rexx.re"
{ RETURN(RXS_SYNTAX); }
-#line 5606 "rexx.c"
+#line 5604 "rexx.c"
yy380:
yych = *++YYCURSOR;
switch (yych) {
case 'N':
case 'n': goto yy401;
- default: goto yy10;
+ default: goto yy9;
}
yy381:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5677,24 +5675,24 @@ yy381:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy382;
}
yy382:
#line 134 "rexx.re"
{ RETURN(RX_ADDRESS); }
-#line 5688 "rexx.c"
+#line 5686 "rexx.c"
yy383:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy403;
- default: goto yy10;
+ default: goto yy9;
}
yy384:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5759,17 +5757,17 @@ yy384:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy385;
}
yy385:
#line 204 "rexx.re"
{ RETURN(RXS_FAILURE); }
-#line 5770 "rexx.c"
+#line 5768 "rexx.c"
yy386:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5834,24 +5832,24 @@ yy386:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy387;
}
yy387:
#line 208 "rexx.re"
{ RETURN(RXS_FOREVER); }
-#line 5845 "rexx.c"
+#line 5843 "rexx.c"
yy388:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy404;
- default: goto yy10;
+ default: goto yy9;
}
yy389:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5916,24 +5914,24 @@ yy389:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy390;
}
yy390:
#line 154 "rexx.re"
{ RETURN(RX_ITERATE); }
-#line 5927 "rexx.c"
+#line 5925 "rexx.c"
yy391:
yych = *++YYCURSOR;
switch (yych) {
case 'Y':
case 'y': goto yy405;
- default: goto yy10;
+ default: goto yy9;
}
yy392:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -5998,17 +5996,17 @@ yy392:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy393;
}
yy393:
#line 222 "rexx.re"
{ RETURN(RXS_NOVALUE); }
-#line 6009 "rexx.c"
+#line 6007 "rexx.c"
yy394:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -6073,17 +6071,17 @@ yy394:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy395;
}
yy395:
#line 160 "rexx.re"
{ RETURN(RX_NUMERIC); }
-#line 6084 "rexx.c"
+#line 6082 "rexx.c"
yy396:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -6148,38 +6146,38 @@ yy396:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy397;
}
yy397:
#line 162 "rexx.re"
{ RETURN(RX_OPTIONS); }
-#line 6159 "rexx.c"
+#line 6157 "rexx.c"
yy398:
yych = *++YYCURSOR;
switch (yych) {
case 'S':
case 's': goto yy407;
- default: goto yy10;
+ default: goto yy9;
}
yy399:
yych = *++YYCURSOR;
switch (yych) {
case 'R':
case 'r': goto yy408;
- default: goto yy10;
+ default: goto yy9;
}
yy400:
yych = *++YYCURSOR;
switch (yych) {
case 'F':
case 'f': goto yy409;
- default: goto yy10;
+ default: goto yy9;
}
yy401:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -6244,31 +6242,31 @@ yy401:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy402;
}
yy402:
#line 240 "rexx.re"
{ RETURN(RXS_VERSION); }
-#line 6255 "rexx.c"
+#line 6253 "rexx.c"
yy403:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
case 'i': goto yy410;
- default: goto yy10;
+ default: goto yy9;
}
yy404:
yych = *++YYCURSOR;
switch (yych) {
case 'T':
case 't': goto yy411;
- default: goto yy10;
+ default: goto yy9;
}
yy405:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -6333,45 +6331,45 @@ yy405:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy406;
}
yy406:
#line 220 "rexx.re"
{ RETURN(RXS_NOTREADY); }
-#line 6344 "rexx.c"
+#line 6342 "rexx.c"
yy407:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy413;
- default: goto yy10;
+ default: goto yy9;
}
yy408:
yych = *++YYCURSOR;
switch (yych) {
case 'E':
case 'e': goto yy415;
- default: goto yy10;
+ default: goto yy9;
}
yy409:
yych = *++YYCURSOR;
switch (yych) {
case 'I':
case 'i': goto yy417;
- default: goto yy10;
+ default: goto yy9;
}
yy410:
yych = *++YYCURSOR;
switch (yych) {
case 'N':
case 'n': goto yy418;
- default: goto yy10;
+ default: goto yy9;
}
yy411:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -6436,17 +6434,17 @@ yy411:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy412;
}
yy412:
#line 152 "rexx.re"
{ RETURN(RX_INTERPRET); }
-#line 6447 "rexx.c"
+#line 6445 "rexx.c"
yy413:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -6511,17 +6509,17 @@ yy413:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy414;
}
yy414:
#line 164 "rexx.re"
{ RETURN(RX_OTHERWISE); }
-#line 6522 "rexx.c"
+#line 6520 "rexx.c"
yy415:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -6586,31 +6584,31 @@ yy415:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy416;
}
yy416:
#line 168 "rexx.re"
{ RETURN(RX_PROCEDURE); }
-#line 6597 "rexx.c"
+#line 6595 "rexx.c"
yy417:
yych = *++YYCURSOR;
switch (yych) {
case 'C':
case 'c': goto yy419;
- default: goto yy10;
+ default: goto yy9;
}
yy418:
yych = *++YYCURSOR;
switch (yych) {
case 'G':
case 'g': goto yy421;
- default: goto yy10;
+ default: goto yy9;
}
yy419:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -6675,17 +6673,17 @@ yy419:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy420;
}
yy420:
#line 224 "rexx.re"
{ RETURN(RXS_SCIENTIFIC); }
-#line 6686 "rexx.c"
+#line 6684 "rexx.c"
yy421:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '!':
case '0':
case '1':
@@ -6750,14 +6748,14 @@ yy421:
case 'w':
case 'x':
case 'y':
- case 'z': goto yy9;
- case '.': goto yy68;
+ case 'z': goto yy8;
+ case '.': goto yy67;
default: goto yy422;
}
yy422:
#line 198 "rexx.re"
{ RETURN(RXS_ENGINEERING); }
-#line 6761 "rexx.c"
+#line 6759 "rexx.c"
}
#line 265 "rexx.re"
@@ -6771,12 +6769,11 @@ bool StripToken(){
ScanCB.eot = cursor;
strip:
-#line 6775 "rexx.c"
+#line 6773 "rexx.c"
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
- YYCTXMARKER = YYCURSOR;
switch (yych) {
case '\t':
case ' ': goto yy427;
@@ -6787,10 +6784,10 @@ strip:
yy425:
++YYCURSOR;
yy426:
- YYCURSOR = YYCTXMARKER;
+ YYCURSOR -= 1;
#line 289 "rexx.re"
{ RETURN(blanks); }
-#line 6794 "rexx.c"
+#line 6791 "rexx.c"
yy427:
++YYCURSOR;
#line 284 "rexx.re"
@@ -6798,12 +6795,12 @@ yy427:
blanks = TRUE;
goto strip;
}
-#line 6802 "rexx.c"
+#line 6799 "rexx.c"
yy429:
++YYCURSOR;
#line 282 "rexx.re"
{ goto strip; }
-#line 6807 "rexx.c"
+#line 6804 "rexx.c"
yy431:
yych = *++YYCURSOR;
switch (yych) {
@@ -6817,14 +6814,14 @@ yy432:
depth = 1;
goto comment;
}
-#line 6821 "rexx.c"
+#line 6818 "rexx.c"
}
#line 290 "rexx.re"
comment:
-#line 6828 "rexx.c"
+#line 6825 "rexx.c"
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
@@ -6840,7 +6837,7 @@ yy436:
++YYCURSOR;
#line 313 "rexx.re"
{ RETURN(blanks); }
-#line 6844 "rexx.c"
+#line 6841 "rexx.c"
yy438:
++YYCURSOR;
yy439:
@@ -6848,7 +6845,7 @@ yy439:
{
goto comment;
}
-#line 6852 "rexx.c"
+#line 6849 "rexx.c"
yy440:
++YYCURSOR;
#line 302 "rexx.re"
@@ -6857,7 +6854,7 @@ yy440:
ScanCB.linePos = ScanCB.pos + (cursor - ScanCB.mrk);
goto comment;
}
-#line 6861 "rexx.c"
+#line 6858 "rexx.c"
yy442:
yych = *++YYCURSOR;
switch (yych) {
@@ -6879,7 +6876,7 @@ yy444:
else
goto comment;
}
-#line 6883 "rexx.c"
+#line 6880 "rexx.c"
yy446:
++YYCURSOR;
#line 308 "rexx.re"
@@ -6887,7 +6884,7 @@ yy446:
++depth;
goto comment;
}
-#line 6891 "rexx.c"
+#line 6888 "rexx.c"
}
#line 318 "rexx.re"
diff --git a/test/sample.c b/test/sample.c
index 36e07291..b8b7323c 100644
--- a/test/sample.c
+++ b/test/sample.c
@@ -192,8 +192,8 @@ yy19:
default: goto yy9;
}
yy20:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 'a':
case 'b':
case 'c':
diff --git a/test/scanner.--skeleton.c b/test/scanner.--skeleton.c
index 1ddcae6b..b7acfdc5 100644
--- a/test/scanner.--skeleton.c
+++ b/test/scanner.--skeleton.c
@@ -1,7 +1,9 @@
/* Generated by re2c */
+#include <stddef.h> /* size_t */
#include <stdio.h>
#include <stdlib.h> /* malloc, free */
+#include <string.h> /* memcpy */
static void *read_file
( const char *fname
@@ -58,7 +60,7 @@ error:
#define YYFILL(n) { break; }
static int action_line144
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -66,10 +68,12 @@ static int action_line144
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -79,17 +83,17 @@ static int action_line144
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line144: at position %ld (iteration %u):\n"
+ , "error: lex_line144: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -99,6 +103,13 @@ static int action_line144
}
}
+static int check_key_count_line144(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line144: not enough keys\n");
+ return 1;
+}
+
int lex_line144()
{
const size_t padding = 11; /* YYMAXFILL */
@@ -126,7 +137,7 @@ int lex_line144()
keys = (YYKEYTYPE *) read_file
("scanner.--skeleton.c.line144.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -139,7 +150,7 @@ int lex_line144()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -155,16 +166,19 @@ int lex_line144()
}
yy2:
YYSKIP ();
- status = action_line144(i, keys, input, token, &cursor, 4);
+ status = check_key_count_line144(keys_count, i, 3)
+ || action_line144(&i, keys, input, token, &cursor, 4);
continue;
yy4:
YYSKIP ();
yy5:
- status = action_line144(i, keys, input, token, &cursor, 5);
+ status = check_key_count_line144(keys_count, i, 3)
+ || action_line144(&i, keys, input, token, &cursor, 5);
continue;
yy6:
YYSKIP ();
- status = action_line144(i, keys, input, token, &cursor, 3);
+ status = check_key_count_line144(keys_count, i, 3)
+ || action_line144(&i, keys, input, token, &cursor, 3);
continue;
yy8:
YYSKIP ();
@@ -183,7 +197,8 @@ yy9:
}
yy10:
YYSKIP ();
- status = action_line144(i, keys, input, token, &cursor, 2);
+ status = check_key_count_line144(keys_count, i, 3)
+ || action_line144(&i, keys, input, token, &cursor, 2);
continue;
yy12:
YYSKIP ();
@@ -254,7 +269,8 @@ yy21:
}
yy22:
YYSKIP ();
- status = action_line144(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line144(keys_count, i, 3)
+ || action_line144(&i, keys, input, token, &cursor, 0);
continue;
yy24:
YYSKIP ();
@@ -279,7 +295,8 @@ yy26:
}
yy27:
YYSKIP ();
- status = action_line144(i, keys, input, token, &cursor, 1);
+ status = check_key_count_line144(keys_count, i, 3)
+ || action_line144(&i, keys, input, token, &cursor, 1);
continue;
}
@@ -291,7 +308,7 @@ yy27:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line144: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line144: unused keys left after %u keys\n", i);
}
}
@@ -321,7 +338,7 @@ end:
#define YYFILL(n) { break; }
static int action_line247
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -329,10 +346,12 @@ static int action_line247
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -342,17 +361,17 @@ static int action_line247
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line247: at position %ld (iteration %u):\n"
+ , "error: lex_line247: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -362,6 +381,13 @@ static int action_line247
}
}
+static int check_key_count_line247(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line247: not enough keys\n");
+ return 1;
+}
+
int lex_line247()
{
const size_t padding = 5; /* YYMAXFILL */
@@ -389,7 +415,7 @@ int lex_line247()
keys = (YYKEYTYPE *) read_file
("scanner.--skeleton.c.line247.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -402,7 +428,7 @@ int lex_line247()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -487,7 +513,8 @@ int lex_line247()
yy31:
YYSKIP ();
yy32:
- status = action_line247(i, keys, input, token, &cursor, 22);
+ status = check_key_count_line247(keys_count, i, 3)
+ || action_line247(&i, keys, input, token, &cursor, 22);
continue;
yy33:
YYSKIP ();
@@ -499,11 +526,13 @@ yy33:
default: goto yy35;
}
yy35:
- status = action_line247(i, keys, input, token, &cursor, 20);
+ status = check_key_count_line247(keys_count, i, 3)
+ || action_line247(&i, keys, input, token, &cursor, 20);
continue;
yy36:
YYSKIP ();
- status = action_line247(i, keys, input, token, &cursor, 21);
+ status = check_key_count_line247(keys_count, i, 3)
+ || action_line247(&i, keys, input, token, &cursor, 21);
continue;
yy38:
YYSKIP ();
@@ -522,7 +551,8 @@ yy39:
default: goto yy60;
}
yy40:
- status = action_line247(i, keys, input, token, &cursor, 5);
+ status = check_key_count_line247(keys_count, i, 3)
+ || action_line247(&i, keys, input, token, &cursor, 5);
continue;
yy41:
yyaccept = 1;
@@ -534,29 +564,33 @@ yy41:
default: goto yy66;
}
yy42:
- status = action_line247(i, keys, input, token, &cursor, 6);
+ status = check_key_count_line247(keys_count, i, 3)
+ || action_line247(&i, keys, input, token, &cursor, 6);
continue;
yy43:
YYSKIP ();
yy44:
- status = action_line247(i, keys, input, token, &cursor, 10);
+ status = check_key_count_line247(keys_count, i, 3)
+ || action_line247(&i, keys, input, token, &cursor, 10);
continue;
yy45:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '/': goto yy70;
default: goto yy46;
}
yy46:
- status = action_line247(i, keys, input, token, &cursor, 11);
+ status = check_key_count_line247(keys_count, i, 3)
+ || action_line247(&i, keys, input, token, &cursor, 11);
continue;
yy47:
YYSKIP ();
- yych = YYPEEK ();
goto yy46;
yy48:
YYSKIP ();
- status = action_line247(i, keys, input, token, &cursor, 19);
+ status = check_key_count_line247(keys_count, i, 3)
+ || action_line247(&i, keys, input, token, &cursor, 19);
continue;
yy50:
YYSKIP ();
@@ -636,7 +670,8 @@ yy52:
default: goto yy53;
}
yy53:
- status = action_line247(i, keys, input, token, &cursor, 18);
+ status = check_key_count_line247(keys_count, i, 3)
+ || action_line247(&i, keys, input, token, &cursor, 18);
continue;
yy54:
yyaccept = 2;
@@ -649,7 +684,8 @@ yy54:
default: goto yy75;
}
yy55:
- status = action_line247(i, keys, input, token, &cursor, 9);
+ status = check_key_count_line247(keys_count, i, 3)
+ || action_line247(&i, keys, input, token, &cursor, 9);
continue;
yy56:
YYSKIP ();
@@ -678,7 +714,8 @@ yy57:
default: goto yy58;
}
yy58:
- status = action_line247(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line247(keys_count, i, 3)
+ || action_line247(&i, keys, input, token, &cursor, 0);
continue;
yy59:
YYSKIP ();
@@ -694,17 +731,18 @@ yy60:
yy61:
YYRESTORE ();
switch (yyaccept) {
- case 0: goto yy40;
- case 1: goto yy42;
- case 2: goto yy55;
- case 3: goto yy58;
- case 4: goto yy83;
- case 5: goto yy53;
- default: goto yy107;
+ case 0: goto yy40;
+ case 1: goto yy42;
+ case 2: goto yy55;
+ case 3: goto yy58;
+ case 4: goto yy83;
+ case 5: goto yy53;
+ default: goto yy107;
}
yy62:
YYSKIP ();
- status = action_line247(i, keys, input, token, &cursor, 3);
+ status = check_key_count_line247(keys_count, i, 3)
+ || action_line247(&i, keys, input, token, &cursor, 3);
continue;
yy64:
YYSKIP ();
@@ -727,7 +765,8 @@ yy66:
}
yy67:
YYSKIP ();
- status = action_line247(i, keys, input, token, &cursor, 4);
+ status = check_key_count_line247(keys_count, i, 3)
+ || action_line247(&i, keys, input, token, &cursor, 4);
continue;
yy69:
YYSKIP ();
@@ -739,11 +778,13 @@ yy69:
}
yy70:
YYSKIP ();
- status = action_line247(i, keys, input, token, &cursor, 2);
+ status = check_key_count_line247(keys_count, i, 3)
+ || action_line247(&i, keys, input, token, &cursor, 2);
continue;
yy72:
YYSKIP ();
- status = action_line247(i, keys, input, token, &cursor, 1);
+ status = check_key_count_line247(keys_count, i, 3)
+ || action_line247(&i, keys, input, token, &cursor, 1);
continue;
yy74:
YYSKIP ();
@@ -766,7 +807,8 @@ yy76:
}
yy77:
YYSKIP ();
- status = action_line247(i, keys, input, token, &cursor, 8);
+ status = check_key_count_line247(keys_count, i, 3)
+ || action_line247(&i, keys, input, token, &cursor, 8);
continue;
yy79:
YYSKIP ();
@@ -788,7 +830,8 @@ yy81:
yy82:
YYSKIP ();
yy83:
- status = action_line247(i, keys, input, token, &cursor, 16);
+ status = check_key_count_line247(keys_count, i, 3)
+ || action_line247(&i, keys, input, token, &cursor, 16);
continue;
yy84:
YYSKIP ();
@@ -827,7 +870,8 @@ yy87:
}
yy88:
YYSKIP ();
- status = action_line247(i, keys, input, token, &cursor, 7);
+ status = check_key_count_line247(keys_count, i, 3)
+ || action_line247(&i, keys, input, token, &cursor, 7);
continue;
yy90:
YYSKIP ();
@@ -857,7 +901,8 @@ yy91:
}
yy92:
YYSKIP ();
- status = action_line247(i, keys, input, token, &cursor, 13);
+ status = check_key_count_line247(keys_count, i, 3)
+ || action_line247(&i, keys, input, token, &cursor, 13);
continue;
yy94:
yyaccept = 4;
@@ -907,11 +952,13 @@ yy96:
}
yy98:
YYSKIP ();
- status = action_line247(i, keys, input, token, &cursor, 12);
+ status = check_key_count_line247(keys_count, i, 3)
+ || action_line247(&i, keys, input, token, &cursor, 12);
continue;
yy100:
YYSKIP ();
- status = action_line247(i, keys, input, token, &cursor, 15);
+ status = check_key_count_line247(keys_count, i, 3)
+ || action_line247(&i, keys, input, token, &cursor, 15);
continue;
yy102:
YYSKIP ();
@@ -974,7 +1021,8 @@ yy102:
}
yy103:
YYSKIP ();
- status = action_line247(i, keys, input, token, &cursor, 14);
+ status = check_key_count_line247(keys_count, i, 3)
+ || action_line247(&i, keys, input, token, &cursor, 14);
continue;
yy105:
yyaccept = 6;
@@ -1050,7 +1098,8 @@ yy105:
default: goto yy107;
}
yy107:
- status = action_line247(i, keys, input, token, &cursor, 17);
+ status = check_key_count_line247(keys_count, i, 3)
+ || action_line247(&i, keys, input, token, &cursor, 17);
continue;
}
@@ -1062,7 +1111,7 @@ yy107:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line247: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line247: unused keys left after %u keys\n", i);
}
}
@@ -1092,7 +1141,7 @@ end:
#define YYFILL(n) { break; }
static int action_line264
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -1100,10 +1149,12 @@ static int action_line264
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -1113,17 +1164,17 @@ static int action_line264
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line264: at position %ld (iteration %u):\n"
+ , "error: lex_line264: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -1133,6 +1184,13 @@ static int action_line264
}
}
+static int check_key_count_line264(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line264: not enough keys\n");
+ return 1;
+}
+
int lex_line264()
{
const size_t padding = 2; /* YYMAXFILL */
@@ -1160,7 +1218,7 @@ int lex_line264()
keys = (YYKEYTYPE *) read_file
("scanner.--skeleton.c.line264.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -1173,7 +1231,7 @@ int lex_line264()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -1191,11 +1249,13 @@ int lex_line264()
yy110:
YYSKIP ();
yy111:
- status = action_line264(i, keys, input, token, &cursor, 3);
+ status = check_key_count_line264(keys_count, i, 3)
+ || action_line264(&i, keys, input, token, &cursor, 3);
continue;
yy112:
YYSKIP ();
- status = action_line264(i, keys, input, token, &cursor, 2);
+ status = check_key_count_line264(keys_count, i, 3)
+ || action_line264(&i, keys, input, token, &cursor, 2);
continue;
yy114:
YYSKIP ();
@@ -1215,11 +1275,13 @@ yy115:
}
yy116:
YYSKIP ();
- status = action_line264(i, keys, input, token, &cursor, 1);
+ status = check_key_count_line264(keys_count, i, 3)
+ || action_line264(&i, keys, input, token, &cursor, 1);
continue;
yy118:
YYSKIP ();
- status = action_line264(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line264(keys_count, i, 3)
+ || action_line264(&i, keys, input, token, &cursor, 0);
continue;
yy120:
YYSKIP ();
@@ -1272,7 +1334,7 @@ yy126:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line264: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line264: unused keys left after %u keys\n", i);
}
}
@@ -1300,7 +1362,7 @@ end:
#define YYFILL(n) { break; }
static int action_line281
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -1308,10 +1370,12 @@ static int action_line281
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -1321,17 +1385,17 @@ static int action_line281
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line281: at position %ld (iteration %u):\n"
+ , "error: lex_line281: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -1341,6 +1405,13 @@ static int action_line281
}
}
+static int check_key_count_line281(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line281: not enough keys\n");
+ return 1;
+}
+
int lex_line281()
{
const size_t padding = 2; /* YYMAXFILL */
@@ -1368,7 +1439,7 @@ int lex_line281()
keys = (YYKEYTYPE *) read_file
("scanner.--skeleton.c.line281.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -1381,7 +1452,7 @@ int lex_line281()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -1396,11 +1467,13 @@ int lex_line281()
yy129:
YYSKIP ();
yy130:
- status = action_line281(i, keys, input, token, &cursor, 3);
+ status = check_key_count_line281(keys_count, i, 3)
+ || action_line281(&i, keys, input, token, &cursor, 3);
continue;
yy131:
YYSKIP ();
- status = action_line281(i, keys, input, token, &cursor, 2);
+ status = check_key_count_line281(keys_count, i, 3)
+ || action_line281(&i, keys, input, token, &cursor, 2);
continue;
yy133:
YYSKIP ();
@@ -1418,11 +1491,13 @@ yy134:
}
yy135:
YYSKIP ();
- status = action_line281(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line281(keys_count, i, 3)
+ || action_line281(&i, keys, input, token, &cursor, 0);
continue;
yy137:
YYSKIP ();
- status = action_line281(i, keys, input, token, &cursor, 1);
+ status = check_key_count_line281(keys_count, i, 3)
+ || action_line281(&i, keys, input, token, &cursor, 1);
continue;
}
@@ -1434,7 +1509,7 @@ yy137:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line281: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line281: unused keys left after %u keys\n", i);
}
}
@@ -1460,7 +1535,7 @@ end:
#define YYFILL(n) { break; }
static int action_line291
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -1468,10 +1543,12 @@ static int action_line291
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -1481,17 +1558,17 @@ static int action_line291
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line291: at position %ld (iteration %u):\n"
+ , "error: lex_line291: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -1501,6 +1578,13 @@ static int action_line291
}
}
+static int check_key_count_line291(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line291: not enough keys\n");
+ return 1;
+}
+
int lex_line291()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -1528,7 +1612,7 @@ int lex_line291()
keys = (YYKEYTYPE *) read_file
("scanner.--skeleton.c.line291.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -1541,7 +1625,7 @@ int lex_line291()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -1555,7 +1639,8 @@ int lex_line291()
}
yy141:
YYSKIP ();
- status = action_line291(i, keys, input, token, &cursor, 2);
+ status = check_key_count_line291(keys_count, i, 3)
+ || action_line291(&i, keys, input, token, &cursor, 2);
continue;
yy143:
YYSKIP ();
@@ -1567,7 +1652,8 @@ yy143:
default: goto yy145;
}
yy145:
- status = action_line291(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line291(keys_count, i, 3)
+ || action_line291(&i, keys, input, token, &cursor, 0);
continue;
yy146:
YYSKIP ();
@@ -1579,7 +1665,8 @@ yy146:
default: goto yy148;
}
yy148:
- status = action_line291(i, keys, input, token, &cursor, 1);
+ status = check_key_count_line291(keys_count, i, 3)
+ || action_line291(&i, keys, input, token, &cursor, 1);
continue;
}
@@ -1591,7 +1678,7 @@ yy148:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line291: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line291: unused keys left after %u keys\n", i);
}
}
@@ -1619,7 +1706,7 @@ end:
#define YYFILL(n) { break; }
static int action_line305
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -1627,10 +1714,12 @@ static int action_line305
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -1640,17 +1729,17 @@ static int action_line305
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line305: at position %ld (iteration %u):\n"
+ , "error: lex_line305: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -1660,6 +1749,13 @@ static int action_line305
}
}
+static int check_key_count_line305(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line305: not enough keys\n");
+ return 1;
+}
+
int lex_line305()
{
const size_t padding = 2; /* YYMAXFILL */
@@ -1687,7 +1783,7 @@ int lex_line305()
keys = (YYKEYTYPE *) read_file
("scanner.--skeleton.c.line305.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -1700,7 +1796,7 @@ int lex_line305()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -1729,7 +1825,8 @@ int lex_line305()
default: goto yy152;
}
yy151:
- status = action_line305(i, keys, input, token, &cursor, 1);
+ status = check_key_count_line305(keys_count, i, 3)
+ || action_line305(&i, keys, input, token, &cursor, 1);
continue;
yy152:
YYSKIP ();
@@ -1791,7 +1888,8 @@ yy158:
}
yy159:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case '\t':
case '\n':
case '\r':
@@ -1800,7 +1898,8 @@ yy159:
default: goto yy152;
}
yy160:
- status = action_line305(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line305(keys_count, i, 3)
+ || action_line305(&i, keys, input, token, &cursor, 0);
continue;
yy161:
YYSKIP ();
@@ -1875,7 +1974,6 @@ yy169:
}
yy170:
YYSKIP ();
- yych = YYPEEK ();
goto yy151;
yy171:
YYSKIP ();
@@ -1903,7 +2001,7 @@ yy172:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line305: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line305: unused keys left after %u keys\n", i);
}
}
@@ -2215,8 +2313,7 @@ int main()



-                                                                                                                                                                                                                                                               
-                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ
+                                                                                                                                                                                                                                                               
                  ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ
                  ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ
@@ -3742,8 +3839,7 @@ int main()
'''\
();=\|*/*
* * * ******************* *!*"*#*$*%*&*'*(*)***+*,*-*.*0*1*2*3*4*5*6*7*8*9*:*;*<*=*>*?*@*A*B*C*D*E*F*G*H*I*J*K*L*M*N*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*\*]*^*_*`*a*b*c*d*e*f*g*h*i*j*k*l*m*n*o*p*q*r*s*t*u*v*w*x*y*z*{*|*}*~**€**‚*ƒ*„*…*†*‡*ˆ*‰*Š*‹*Œ**Ž***‘*’*“*”*•*–*—*˜*™*š*›*œ**ž*Ÿ* *¡*¢*£*¤*¥*¦*§*¨*©*ª*«*¬*­*®*¯*°*±*²*³*´*µ*¶*·*¸*¹*º*»*¼*½*¾*¿*À*Á*Â*Ã*Ä*Å*Æ*Ç*È*É*Ê*Ë*Ì*Í*Î*Ï*Ð*Ñ*Ò*Ó*Ô*Õ*Ö*×*Ø*Ù*Ú*Û*Ü*Ý*Þ*ß*à*á*â*ã*ä*å*æ*ç*è*é*ê*ë*ì*í*î*ï*ð*ñ*ò*ó*ô*õ*ö*÷*ø*ù*ú*û*ü*ý*þ*ÿ+?./*/
-/ / / /////////////////// /!/"/#/$/%/&/'/(/)/+/,/-/.///0/1/2/3/4/5/6/7/8/9/:/;/</=/>/?/@/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/[/\/]/^/_/`/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/{/|/}/~//€//‚/ƒ/„/…/†/‡/ˆ/‰/Š/‹/Œ//Ž///‘/’/“/”/•/–/—/˜/™/š/›/œ//ž/Ÿ/ /¡/¢/£/¤/¥/¦/§/¨/©/ª/«/¬/­/®/¯/°/±/²/³/´/µ/¶/·/¸/¹/º/»/¼/½/¾/¿/À/Á/Â/Ã/Ä/Å/Æ/Ç/È/É/Ê/Ë/Ì/Í/Î/Ï/Ð/Ñ/Ò/Ó/Ô/Õ/Ö/×/Ø/Ù/Ú/Û/Ü/Ý/Þ/ß/à/á/â/ã/ä/å/æ/ç/è/é/ê/ë/ì/í/î/ï/ð/ñ/ò/ó/ô/õ/ö/÷/ø/ù/ú/û/ü/ý/þ/ÿA00
-LBB MCC NDD OEEPFFQGGRHHSIITJJUKKVLLWMMXNNYOOZPPaQQbRRcSSdTTeUUfVVgWW hXX!iYY"jZZ#kaa$lbb%mcc&ndd'oee(pff)qgg*shh+tii,ujj-vkk.wll/xmm:ynn;zoo<App=Bqq>Crr?Dss@Ett[Fuu\Gvv]Hww^Ixx_Jyy`Kzz{L00|M11}N22~O33P44€Q55R66‚S77ƒT88„U99…VAA†WBB‡XCCˆYDD‰ZEEŠaFF‹bGGŒcHHdIIŽeJJfKKgLL‘hMM’iNN“jOO”kPP•lQQ–mRR—nSS˜oTT™pUUšqVV›sWWœtXXuYYžvZZŸwaa xbb¡ycc¢zdd£Aee¤Bff¥Cgg¦Dhh§Eii¨Fjj©GkkªHll«Imm¬Jnn­Koo®Lpp¯Mqq°Nrr±Oss²Ptt³Quu´RvvµSww¶Txx·Uyy¸Vzz¹W00ºX11»Y22¼Z33½a44¾b55¿c66Àd77Áe88Âf99ÃgAAÄhBBÅiCCÆjDDÇkEEÈlFFÉmGGÊnHHËoIIÌpJJÍqKKÎsLLÏtMMÐuNNÑvOOÒwPPÓxQQÔyRRÕzSSÖATT×BUUØCVVÙDWWÚEXXÛFYYÜGZZÝHaaÞIbbßJccàKddáLeeâMffãNggäOhhåPiiæQjjçRkkèSlléTmmêUnnëVooìWppíXqqîYrrïZssðattñbuuòcvvódwwôexxõfyyögzz÷h00øi11ùj22úk33ûl44üm55ýn66þo77ÿA0
+/ / / /////////////////// /!/"/#/$/%/&/'/(/)/+/,/-/.///0/1/2/3/4/5/6/7/8/9/:/;/</=/>/?/@/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/[/\/]/^/_/`/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/{/|/}/~//€//‚/ƒ/„/…/†/‡/ˆ/‰/Š/‹/Œ//Ž///‘/’/“/”/•/–/—/˜/™/š/›/œ//ž/Ÿ/ /¡/¢/£/¤/¥/¦/§/¨/©/ª/«/¬/­/®/¯/°/±/²/³/´/µ/¶/·/¸/¹/º/»/¼/½/¾/¿/À/Á/Â/Ã/Ä/Å/Æ/Ç/È/É/Ê/Ë/Ì/Í/Î/Ï/Ð/Ñ/Ò/Ó/Ô/Õ/Ö/×/Ø/Ù/Ú/Û/Ü/Ý/Þ/ß/à/á/â/ã/ä/å/æ/ç/è/é/ê/ë/ì/í/î/ï/ð/ñ/ò/ó/ô/õ/ö/÷/ø/ù/ú/û/ü/ý/þ/ÿA0
LB MC ND OEPFQGRHSITJUKVLWMXNYOZPaQbRcSdTeUfVgW hX!iY"jZ#ka$lb%mc&nd'oe(pf)qg*sh+ti,uj-vk.wl/xm:yn;zo<Ap=Bq>Cr?Ds@Et[Fu\Gv]Hw^Ix_Jy`Kz{L0|M1}N2~O3P4€Q5R6‚S7ƒT8„U9…VA†WB‡XCˆYD‰ZEŠaF‹bGŒcHdIŽeJfKgL‘hM’iN“jO”kP•lQ–mR—nS˜oT™pUšqV›sWœtXuYžvZŸwa xb¡yc¢zd£Ae¤Bf¥Cg¦Dh§Ei¨Fj©GkªHl«Im¬Jn­Ko®Lp¯Mq°Nr±Os²Pt³Qu´RvµSw¶Tx·Uy¸Vz¹W0ºX1»Y2¼Z3½a4¾b5¿c6Àd7Áe8Âf9ÃgAÄhBÅiCÆjDÇkEÈlFÉmGÊnHËoIÌpJÍqKÎsLÏtMÐuNÑvOÒwPÓxQÔyRÕzSÖAT×BUØCVÙDWÚEXÛFYÜGZÝHaÞIbßJcàKdáLeâMfãNgäOhåPiæQjçRkèSléTmêUnëVoìWpíXqîYrïZsðatñbuòcvódwôexõfyögz÷h0øi1ùj2úk3ûl4üm5ýn6þo7ÿA
L M N OPQRSTUVWXYZabcdefg h!i"j#k$l%m&n'o(p)q*s+t,u-v.w/x:y;z<A=B>C?D@E[F\G]H^I_J`K{L|M}N~OP€QR‚SƒT„U…V†W‡XˆY‰ZŠa‹bŒcdŽefg‘h’i“j”k•l–m—n˜o™pšq›sœtužvŸw x¡y¢z£A¤B¥C¦D§E¨F©GªH«I¬J­K®L¯M°N±O²P³Q´RµS¶T·U¸V¹WºX»Y¼Z½a¾b¿cÀdÁeÂfÃgÄhÅiÆjÇkÈlÉmÊnËoÌpÍqÎsÏtÐuÑvÒwÓxÔyÕzÖA×BØCÙDÚEÛFÜGÝHÞIßJàKáLâMãNäOåPæQçRèSéTêUëVìWíXîYïZðañbòcódôeõfög÷høiùjúkûlümýnþoÿ[
[\
@@ -5286,7 +5382,7 @@ r r r rrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r:r;r<
{01 {02 {03 {04{05{06{07{08{09{00{01{02{03{04{05{06{07{08{09{00{01{02 {03!{04"{05#{06${07%{08&{09'{00({01){02*{03+{04-{05.{06/{07:{08;{09<{00={01>{02?{03@{04A{05B{06C{07D{08E{09F{00G{01H{02I{03J{04K{05L{06M{07N{08O{09P{00Q{01R{02S{03T{04U{05V{06W{07X{08Y{09Z{00[{01\{02]{03^{04_{05`{06a{07b{08c{09d{00e{01f{02g{03h{04i{05j{06k{07l{08m{09n{00o{01p{02q{03r{04s{05t{06u{07v{08w{09x{00y{01z{02{{03|{04~{05{06€{07{08‚{09ƒ{00„{01…{02†{03‡{04ˆ{05‰{06Š{07‹{08Œ{09{00Ž{01{02{03‘{04’{05“{06”{07•{08–{09—{00˜{01™{02š{03›{04œ{05{06ž{07Ÿ{08 {09¡{00¢{01£{02¤{03¥{04¦{05§{06¨{07©{08ª{09«{00¬{01­{02®{03¯{04°{05±{06²{07³{08´{09µ{00¶{01·{02¸{03¹{04º{05»{06¼{07½{08¾{09¿{00À{01Á{02Â{03Ã{04Ä{05Å{06Æ{07Ç{08È{09É{00Ê{01Ë{02Ì{03Í{04Î{05Ï{06Ð{07Ñ{08Ò{09Ó{00Ô{01Õ{02Ö{03×{04Ø{05Ù{06Ú{07Û{08Ü{09Ý{00Þ{01ß{02à{03á{04â{05ã{06ä{07å{08æ{09ç{00è{01é{02ê{03ë{04ì{05í{06î{07ï{08ð{09ñ{00ò{01ó{02ô{03õ{04ö{05÷{06ø{07ù{08ú{09û{00ü{01ý{02þ{03ÿ{0,0}{0,1}{0,2}{0,3}{0,4}{0,5}{0,6}{0,7}{0,8}{0,9}{0,}{0,
{0, {0, {0, {0,{0,{0,{0,{0,{0,{0,{0,{0,{0,{0,{0,{0,{0,{0,{0,{0,{0,{0, {0,!{0,"{0,#{0,${0,%{0,&{0,'{0,({0,){0,*{0,+{0,,{0,-{0,.{0,/{0,:{0,;{0,<{0,={0,>{0,?{0,@{0,A{0,B{0,C{0,D{0,E{0,F{0,G{0,H{0,I{0,J{0,K{0,L{0,M{0,N{0,O{0,P{0,Q{0,R{0,S{0,T{0,U{0,V{0,W{0,X{0,Y{0,Z{0,[{0,\{0,]{0,^{0,_{0,`{0,a{0,b{0,c{0,d{0,e{0,f{0,g{0,h{0,i{0,j{0,k{0,l{0,m{0,n{0,o{0,p{0,q{0,r{0,s{0,t{0,u{0,v{0,w{0,x{0,y{0,z{0,{{0,|{0,~{0,{0,€{0,{0,‚{0,ƒ{0,„{0,…{0,†{0,‡{0,ˆ{0,‰{0,Š{0,‹{0,Œ{0,{0,Ž{0,{0,{0,‘{0,’{0,“{0,”{0,•{0,–{0,—{0,˜{0,™{0,š{0,›{0,œ{0,{0,ž{0,Ÿ{0, {0,¡{0,¢{0,£{0,¤{0,¥{0,¦{0,§{0,¨{0,©{0,ª{0,«{0,¬{0,­{0,®{0,¯{0,°{0,±{0,²{0,³{0,´{0,µ{0,¶{0,·{0,¸{0,¹{0,º{0,»{0,¼{0,½{0,¾{0,¿{0,À{0,Á{0,Â{0,Ã{0,Ä{0,Å{0,Æ{0,Ç{0,È{0,É{0,Ê{0,Ë{0,Ì{0,Í{0,Î{0,Ï{0,Ð{0,Ñ{0,Ò{0,Ó{0,Ô{0,Õ{0,Ö{0,×{0,Ø{0,Ù{0,Ú{0,Û{0,Ü{0,Ý{0,Þ{0,ß{0,à{0,á{0,â{0,ã{0,ä{0,å{0,æ{0,ç{0,è{0,é{0,ê{0,ë{0,ì{0,í{0,î{0,ï{0,ð{0,ñ{0,ò{0,ó{0,ô{0,õ{0,ö{0,÷{0,ø{0,ù{0,ú{0,û{0,ü{0,ý{0,þ{0,ÿ{0}{0
{0 {0 {0 {0{0{0{0{0{0{0{0{0{0{0{0{0{0{0{0{0{0{0 {0!{0"{0#{0${0%{0&{0'{0({0){0*{0+{0-{0.{0/{0:{0;{0<{0={0>{0?{0@{0A{0B{0C{0D{0E{0F{0G{0H{0I{0J{0K{0L{0M{0N{0O{0P{0Q{0R{0S{0T{0U{0V{0W{0X{0Y{0Z{0[{0\{0]{0^{0_{0`{0a{0b{0c{0d{0e{0f{0g{0h{0i{0j{0k{0l{0m{0n{0o{0p{0q{0r{0s{0t{0u{0v{0w{0x{0y{0z{0{{0|{0~{0{0€{0{0‚{0ƒ{0„{0…{0†{0‡{0ˆ{0‰{0Š{0‹{0Œ{0{0Ž{0{0{0‘{0’{0“{0”{0•{0–{0—{0˜{0™{0š{0›{0œ{0{0ž{0Ÿ{0 {0¡{0¢{0£{0¤{0¥{0¦{0§{0¨{0©{0ª{0«{0¬{0­{0®{0¯{0°{0±{0²{0³{0´{0µ{0¶{0·{0¸{0¹{0º{0»{0¼{0½{0¾{0¿{0À{0Á{0Â{0Ã{0Ä{0Å{0Æ{0Ç{0È{0É{0Ê{0Ë{0Ì{0Í{0Î{0Ï{0Ð{0Ñ{0Ò{0Ó{0Ô{0Õ{0Ö{0×{0Ø{0Ù{0Ú{0Û{0Ü{0Ý{0Þ{0ß{0à{0á{0â{0ã{0ä{0å{0æ{0ç{0è{0é{0ê{0ë{0ì{0í{0î{0ï{0ð{0ñ{0ò{0ó{0ô{0õ{0ö{0÷{0ø{0ù{0ú{0û{0ü{0ý{0þ{0ÿ{1}{2}{3}{4}{5}{6}{7}{8}{9}{
-{ { { {{{{{{{{{{{{{{{{{{{ {!{"{#{${%{&{'{({){*{+{-{.{/{:{;{<{={>{?{@{A{B{C{D{E{F{G{H{I{J{K{L{M{N{O{P{Q{R{S{T{U{V{W{X{Y{Z{[{\{]{^{_{`{a{b{c{d{e{f{g{h{i{j{k{l{m{n{o{p{q{r{s{t{u{v{w{x{y{z{{{|{}{~{{€{{‚{ƒ{„{…{†{‡{ˆ{‰{Š{‹{Œ{{Ž{{{‘{’{“{”{•{–{—{˜{™{š{›{œ{{ž{Ÿ{ {¡{¢{£{¤{¥{¦{§{¨{©{ª{«{¬{­{®{¯{°{±{²{³{´{µ{¶{·{¸{¹{º{»{¼{½{¾{¿{À{Á{Â{Ã{Ä{Å{Æ{Ç{È{É{Ê{Ë{Ì{Í{Î{Ï{Ð{Ñ{Ò{Ó{Ô{Õ{Ö{×{Ø{Ù{Ú{Û{Ü{Ý{Þ{ß{à{á{â{ã{ä{å{æ{ç{è{é{ê{ë{ì{í{î{ï{ð{ñ{ò{ó{ô{õ{ö{÷{ø{ù{ú{û{ü{ý{þ{ÿ
+{ { { {{{{{{{{{{{{{{{{{{{ {!{"{#{${%{&{'{({){*{+{-{.{/{:{;{<{={>{?{@{A{B{C{D{E{F{G{H{I{J{K{L{M{N{O{P{Q{R{S{T{U{V{W{X{Y{Z{[{\{]{^{_{`{a{b{c{d{e{f{g{h{i{j{k{l{m{n{o{p{q{r{s{t{u{v{w{x{y{z{{{|{}{~{{€{{‚{ƒ{„{…{†{‡{ˆ{‰{Š{‹{Œ{{Ž{{{‘{’{“{”{•{–{—{˜{™{š{›{œ{{ž{Ÿ{ {¡{¢{£{¤{¥{¦{§{¨{©{ª{«{¬{­{®{¯{°{±{²{³{´{µ{¶{·{¸{¹{º{»{¼{½{¾{¿{À{Á{Â{Ã{Ä{Å{Æ{Ç{È{É{Ê{Ë{Ì{Í{Î{Ï{Ð{Ñ{Ò{Ó{Ô{Õ{Ö{×{Ø{Ù{Ú{Û{Ü{Ý{Þ{ß{à{á{â{ã{ä{å{æ{ç{è{é{ê{ë{ì{í{î{ï{ð{ñ{ò{ó{ô{õ{ö{÷{ø{ù{ú{û{ü{ý{þ{ÿ



@@ -5547,7 +5643,7 @@ r r r rrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r:r;r<



-                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
+                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
"""
"\
"\
@@ -6566,13 +6662,11 @@ r r r rrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r:r;r<
*/*
* * * ******************* *!*"*#*$*%*&*'*(*)***+*,*-*.*0*1*2*3*4*5*6*7*8*9*:*;*<*=*>*?*@*A*B*C*D*E*F*G*H*I*J*K*L*M*N*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*\*]*^*_*`*a*b*c*d*e*f*g*h*i*j*k*l*m*n*o*p*q*r*s*t*u*v*w*x*y*z*{*|*}*~**€**‚*ƒ*„*…*†*‡*ˆ*‰*Š*‹*Œ**Ž***‘*’*“*”*•*–*—*˜*™*š*›*œ**ž*Ÿ* *¡*¢*£*¤*¥*¦*§*¨*©*ª*«*¬*­*®*¯*°*±*²*³*´*µ*¶*·*¸*¹*º*»*¼*½*¾*¿*À*Á*Â*Ã*Ä*Å*Æ*Ç*È*É*Ê*Ë*Ì*Í*Î*Ï*Ð*Ñ*Ò*Ó*Ô*Õ*Ö*×*Ø*Ù*Ú*Û*Ü*Ý*Þ*ß*à*á*â*ã*ä*å*æ*ç*è*é*ê*ë*ì*í*î*ï*ð*ñ*ò*ó*ô*õ*ö*÷*ø*ù*ú*û*ü*ý*þ*ÿ/*/
/ / / /////////////////// /!/"/#/$/%/&/'/(/)/+/,/-/.///0/1/2/3/4/5/6/7/8/9/:/;/</=/>/?/@/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/[/\/]/^/_/`/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/{/|/}/~//€//‚/ƒ/„/…/†/‡/ˆ/‰/Š/‹/Œ//Ž///‘/’/“/”/•/–/—/˜/™/š/›/œ//ž/Ÿ/ /¡/¢/£/¤/¥/¦/§/¨/©/ª/«/¬/­/®/¯/°/±/²/³/´/µ/¶/·/¸/¹/º/»/¼/½/¾/¿/À/Á/Â/Ã/Ä/Å/Æ/Ç/È/É/Ê/Ë/Ì/Í/Î/Ï/Ð/Ñ/Ò/Ó/Ô/Õ/Ö/×/Ø/Ù/Ú/Û/Ü/Ý/Þ/ß/à/á/â/ã/ä/å/æ/ç/è/é/ê/ë/ì/í/î/ï/ð/ñ/ò/ó/ô/õ/ö/÷/ø/ù/ú/û/ü/ý/þ/ÿ
- !"#$%&'()*+,-./0123456789:;<>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
-                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ
+ !"#$%&'()*+,-./0123456789:;<>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
                  ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ
-                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ=
-= = = = = = = = = = = = = = = = = = = = = = != "= #= $= %= &= '= (= )= *= += ,= -= .= /= 0= 1= 2= 3= 4= 5= 6= 7= 8= 9= := ;= <= == >= ?= @= A= B= C= D= E= F= G= H= I= J= K= L= M= N= O= P= Q= R= S= T= U= V= W= X= Y= Z= [= \= ]= ^= _= `= a= b= c= d= e= f= g= h= i= j= k= l= m= n= o= p= q= r= s= t= u= v= w= x= y= z= {= |= }= ~= = €= = ‚= ƒ= „= …= †= ‡= ˆ= ‰= Š= ‹= Œ= = Ž= = = ‘= ’= “= ”= •= –= —= ˜= ™= š= ›= œ= = ž= Ÿ=  = ¡= ¢= £= ¤= ¥= ¦= §= ¨= ©= ª= «= ¬= ­= ®= ¯= °= ±= ²= ³= ´= µ= ¶= ·= ¸= ¹= º= »= ¼= ½= ¾= ¿= À= Á= Â= Ã= Ä= Å= Æ= Ç= È= É= Ê= Ë= Ì= Í= Î= Ï= Ð= Ñ= Ò= Ó= Ô= Õ= Ö= ×= Ø= Ù= Ú= Û= Ü= Ý= Þ= ß= à= á= â= ã= ä= å= æ= ç= è= é= ê= ë= ì= í= î= ï= ð= ñ= ò= ó= ô= õ= ö= ÷= ø= ù= ú= û= ü= ý= þ= ÿ=
+                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ=
= = = = = = = = = = = = = = = = = = = = = = != "= #= $= %= &= '= (= )= *= += ,= -= .= /= 0= 1= 2= 3= 4= 5= 6= 7= 8= 9= := ;= <= == >= ?= @= A= B= C= D= E= F= G= H= I= J= K= L= M= N= O= P= Q= R= S= T= U= V= W= X= Y= Z= [= \= ]= ^= _= `= a= b= c= d= e= f= g= h= i= j= k= l= m= n= o= p= q= r= s= t= u= v= w= x= y= z= {= |= }= ~= = €= = ‚= ƒ= „= …= †= ‡= ˆ= ‰= Š= ‹= Œ= = Ž= = = ‘= ’= “= ”= •= –= —= ˜= ™= š= ›= œ= = ž= Ÿ=  = ¡= ¢= £= ¤= ¥= ¦= §= ¨= ©= ª= «= ¬= ­= ®= ¯= °= ±= ²= ³= ´= µ= ¶= ·= ¸= ¹= º= »= ¼= ½= ¾= ¿= À= Á= Â= Ã= Ä= Å= Æ= Ç= È= É= Ê= Ë= Ì= Í= Î= Ï= Ð= Ñ= Ò= Ó= Ô= Õ= Ö= ×= Ø= Ù= Ú= Û= Ü= Ý= Þ= ß= à= á= â= ã= ä= å= æ= ç= è= é= ê= ë= ì= í= î= ï= ð= ñ= ò= ó= ô= õ= ö= ÷= ø= ù= ú= û= ü= ý= þ= ÿ=
-= = = ===================!="=#=$=%=&='=(=)=*=+=,=-=.=/=0=1=2=3=4=5=6=7=8=9=:=;=<===>=?=@=A=B=C=D=E=F=G=H=I=J=K=L=M=N=O=P=Q=R=S=T=U=V=W=X=Y=Z=[=\=]=^=_=`=a=b=c=d=e=f=g=h=i=j=k=l=m=n=o=p=q=r=s=t=u=v=w=x=y=z={=|=}=~==€==‚=ƒ=„=…=†=‡=ˆ=‰=Š=‹=Œ==Ž===‘=’=“=”=•=–=—=˜=™=š=›=œ==ž=Ÿ= =¡=¢=£=¤=¥=¦=§=¨=©=ª=«=¬=­=®=¯=°=±=²=³=´=µ=¶=·=¸=¹=º=»=¼=½=¾=¿=À=Á=Â=Ã=Ä=Å=Æ=Ç=È=É=Ê=Ë=Ì=Í=Î=Ï=Ð=Ñ=Ò=Ó=Ô=Õ=Ö=×=Ø=Ù=Ú=Û=Ü=Ý=Þ=ß=à=á=â=ã=ä=å=æ=ç=è=é=ê=ë=ì=í=î=ï=ð=ñ=ò=ó=ô=õ=ö=÷=ø=ù=ú=û=ü=ý=þ=ÿ
+= = = ===================!="=#=$=%=&='=(=)=*=+=,=-=.=/=0=1=2=3=4=5=6=7=8=9=:=;=<===>=?=@=A=B=C=D=E=F=G=H=I=J=K=L=M=N=O=P=Q=R=S=T=U=V=W=X=Y=Z=[=\=]=^=_=`=a=b=c=d=e=f=g=h=i=j=k=l=m=n=o=p=q=r=s=t=u=v=w=x=y=z={=|=}=~==€==‚=ƒ=„=…=†=‡=ˆ=‰=Š=‹=Œ==Ž===‘=’=“=”=•=–=—=˜=™=š=›=œ==ž=Ÿ= =¡=¢=£=¤=¥=¦=§=¨=©=ª=«=¬=­=®=¯=°=±=²=³=´=µ=¶=·=¸=¹=º=»=¼=½=¾=¿=À=Á=Â=Ã=Ä=Å=Æ=Ç=È=É=Ê=Ë=Ì=Í=Î=Ï=Ð=Ñ=Ò=Ó=Ô=Õ=Ö=×=Ø=Ù=Ú=Û=Ü=Ý=Þ=ß=à=á=â=ã=ä=å=æ=ç=è=é=ê=ë=ì=í=î=ï=ð=ñ=ò=ó=ô=õ=ö=÷=ø=ù=ú=û=ü=ý=þ=ÿ
  ; 
  ; 
  ; 
diff --git a/test/scanner.c b/test/scanner.c
index 639a3297..ef3c9bc5 100644
--- a/test/scanner.c
+++ b/test/scanner.c
@@ -422,8 +422,8 @@ yy44:
{ RETURN(*tok); }
#line 424 "scanner.c"
yy45:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '/': goto yy70;
default: goto yy46;
}
@@ -433,7 +433,7 @@ yy46:
RETURN(CLOSE); }
#line 435 "scanner.c"
yy47:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy46;
yy48:
++YYCURSOR;
@@ -1270,8 +1270,8 @@ yy158:
default: goto yy153;
}
yy159:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case '\t':
case '\n':
case '\r':
@@ -1357,7 +1357,7 @@ yy169:
default: goto yy156;
}
yy170:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy151;
yy171:
++YYCURSOR;
diff --git a/test/scanner.fs.c b/test/scanner.fs.c
index c35d6d58..932895dd 100644
--- a/test/scanner.fs.c
+++ b/test/scanner.fs.c
@@ -397,15 +397,15 @@ yy44:
{ RETURN(*tok); }
#line 399 "scanner.fs.c"
yy45:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '/') goto yy70;
+ yych = *++YYCURSOR;
+ if (yych == '/') goto yy70;
yy46:
#line 198 "scanner.fs.re"
{ yylval.op = *tok;
RETURN(CLOSE); }
#line 407 "scanner.fs.c"
yy47:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy46;
yy48:
++YYCURSOR;
@@ -1091,8 +1091,8 @@ yy158:
if (yych <= '9') goto yy161;
goto yy153;
yy159:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '\r') {
+ yych = *++YYCURSOR;
+ if (yych <= '\r') {
if (yych <= 0x08) goto yy152;
if (yych <= '\n') goto yy160;
if (yych <= '\f') goto yy152;
@@ -1214,7 +1214,7 @@ yyFillLabel33:
}
}
yy170:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy151;
yy171:
++YYCURSOR;
diff --git a/test/scanner.s.c b/test/scanner.s.c
index 526d4e33..e05bc2e0 100644
--- a/test/scanner.s.c
+++ b/test/scanner.s.c
@@ -355,15 +355,15 @@ yy44:
{ RETURN(*tok); }
#line 357 "scanner.s.c"
yy45:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '/') goto yy70;
+ yych = *++YYCURSOR;
+ if (yych == '/') goto yy70;
yy46:
#line 198 "scanner.s.re"
{ yylval.op = *tok;
RETURN(CLOSE); }
#line 365 "scanner.s.c"
yy47:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy46;
yy48:
++YYCURSOR;
@@ -1005,8 +1005,8 @@ yy158:
if (yych <= '9') goto yy161;
goto yy153;
yy159:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= '\r') {
+ yych = *++YYCURSOR;
+ if (yych <= '\r') {
if (yych <= 0x08) goto yy152;
if (yych <= '\n') goto yy160;
if (yych <= '\f') goto yy152;
@@ -1118,7 +1118,7 @@ yy169:
}
}
yy170:
- yych = *++YYCURSOR;
+ ++YYCURSOR;
goto yy151;
yy171:
++YYCURSOR;
diff --git a/test/scanner_re2c.bi.c b/test/scanner_re2c.bi.c
index 595d01ea..f2af2099 100644
--- a/test/scanner_re2c.bi.c
+++ b/test/scanner_re2c.bi.c
@@ -365,7 +365,6 @@ yy49:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- YYCTXMARKER = YYCURSOR;
yy50:
if (yych <= 0x1F) {
if (yych == '\t') goto yy49;
@@ -373,7 +372,10 @@ yy50:
} else {
if (yych <= ' ') goto yy49;
if (yych <= '0') goto yy13;
- if (yych <= '9') goto yy57;
+ if (yych <= '9') {
+ YYCTXMARKER = YYCURSOR;
+ goto yy57;
+ }
goto yy13;
}
yy51:
@@ -692,38 +694,38 @@ scan:
YYCTYPE yych;
unsigned int yyaccept = 0;
static const unsigned char yybm[] = {
- 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 92, 0, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 88,
- 92, 88, 80, 88, 88, 88, 88, 72,
- 88, 88, 88, 88, 88, 88, 88, 88,
+ 112, 112, 112, 112, 112, 112, 112, 112,
+ 112, 116, 0, 112, 112, 112, 112, 112,
+ 112, 112, 112, 112, 112, 112, 112, 112,
+ 112, 112, 112, 112, 112, 112, 112, 112,
+ 116, 112, 96, 112, 112, 112, 112, 80,
+ 112, 112, 112, 112, 112, 112, 112, 112,
248, 248, 248, 248, 248, 248, 248, 248,
- 248, 248, 88, 88, 88, 88, 88, 88,
- 88, 120, 120, 120, 120, 120, 120, 120,
+ 248, 248, 112, 112, 112, 112, 112, 112,
+ 112, 120, 120, 120, 120, 120, 120, 120,
120, 120, 120, 120, 120, 120, 120, 120,
120, 120, 120, 120, 120, 120, 120, 120,
- 120, 120, 120, 88, 0, 24, 88, 120,
- 88, 120, 120, 120, 120, 120, 120, 120,
+ 120, 120, 120, 112, 0, 48, 112, 120,
+ 112, 120, 120, 120, 120, 120, 120, 120,
120, 120, 120, 120, 120, 120, 120, 120,
120, 120, 120, 120, 120, 120, 120, 120,
- 120, 120, 120, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 88,
+ 120, 120, 120, 112, 112, 112, 112, 112,
+ 112, 112, 112, 112, 112, 112, 112, 112,
+ 112, 112, 112, 112, 112, 112, 112, 112,
+ 112, 112, 112, 112, 112, 112, 112, 112,
+ 112, 112, 112, 112, 112, 112, 112, 112,
+ 112, 112, 112, 112, 112, 112, 112, 112,
+ 112, 112, 112, 112, 112, 112, 112, 112,
+ 112, 112, 112, 112, 112, 112, 112, 112,
+ 112, 112, 112, 112, 112, 112, 112, 112,
+ 112, 112, 112, 112, 112, 112, 112, 112,
+ 112, 112, 112, 112, 112, 112, 112, 112,
+ 112, 112, 112, 112, 112, 112, 112, 112,
+ 112, 112, 112, 112, 112, 112, 112, 112,
+ 112, 112, 112, 112, 112, 112, 112, 112,
+ 112, 112, 112, 112, 112, 112, 112, 112,
+ 112, 112, 112, 112, 112, 112, 112, 112,
+ 112, 112, 112, 112, 112, 112, 112, 112,
};
if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
yych = *YYCURSOR;
@@ -769,7 +771,7 @@ scan:
if (yych <= '?') goto yy129;
} else {
if (yych <= 'Z') goto yy136;
- if (yych <= '[') goto yy137;
+ if (yych <= '[') goto yy138;
goto yy125;
}
}
@@ -779,10 +781,10 @@ scan:
if (yych >= 'a') goto yy136;
} else {
if (yych <= 'z') {
- if (yych <= 'r') goto yy139;
+ if (yych <= 'r') goto yy140;
goto yy136;
} else {
- if (yych <= '{') goto yy140;
+ if (yych <= '{') goto yy141;
if (yych <= '|') goto yy125;
}
}
@@ -812,10 +814,10 @@ yy117:
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= 0x1F) {
- if (yych == '\t') goto yy142;
+ if (yych == '\t') goto yy143;
} else {
- if (yych <= ' ') goto yy142;
- if (yych == '#') goto yy145;
+ if (yych <= ' ') goto yy143;
+ if (yych == '#') goto yy146;
}
yy118:
{
@@ -831,19 +833,19 @@ yy119:
yy120:
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych != '\n') goto yy148;
+ if (yych != '\n') goto yy149;
yy121:
{
fatal("unterminated string constant (missing \")");
}
yy122:
yych = *++YYCURSOR;
- if (yych == '}') goto yy152;
+ if (yych == '}') goto yy153;
goto yy113;
yy123:
yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych != '\n') goto yy155;
+ if (yych != '\n') goto yy156;
yy124:
{
fatal("unterminated string constant (missing ')");
@@ -855,8 +857,8 @@ yy126:
RETURN(*tok);
}
yy127:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '/') goto yy152;
+ yych = *++YYCURSOR;
+ if (yych == '/') goto yy153;
{
yylval.op = *tok;
RETURN(STAR);
@@ -876,40 +878,64 @@ yy131:
}
yy133:
yych = *++YYCURSOR;
- if (yych == '*') goto yy159;
- if (yych == '/') goto yy161;
+ if (yych == '*') goto yy160;
+ if (yych == '/') goto yy162;
goto yy126;
yy134:
yych = *++YYCURSOR;
- YYCTXMARKER = YYCURSOR;
- if (yych == '=') goto yy163;
+ if (yych == '=') goto yy164;
goto yy113;
yy135:
yyaccept = 3;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '!') goto yy165;
- if (yych == '>') goto yy167;
+ if (yych == '!') goto yy166;
+ if (yych == '>') goto yy168;
goto yy126;
yy136:
- yych = *++YYCURSOR;
- YYCTXMARKER = YYCURSOR;
- goto yy174;
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
yy137:
+ if (yybm[0+yych] & 8) {
+ goto yy136;
+ }
+ if (yych <= ' ') {
+ if (yych == '\t') {
+ YYCTXMARKER = YYCURSOR;
+ goto yy171;
+ }
+ if (yych <= 0x1F) goto yy169;
+ YYCTXMARKER = YYCURSOR;
+ goto yy171;
+ } else {
+ if (yych <= ',') {
+ if (yych <= '+') goto yy169;
+ YYCTXMARKER = YYCURSOR;
+ goto yy173;
+ } else {
+ if (yych <= '<') goto yy169;
+ if (yych <= '>') {
+ YYCTXMARKER = YYCURSOR;
+ goto yy173;
+ }
+ goto yy169;
+ }
+ }
+yy138:
yyaccept = 4;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '\n') goto yy138;
+ if (yych == '\n') goto yy139;
if (yych == '^') goto yy180;
goto yy176;
-yy138:
+yy139:
{
fatal("unterminated range (missing ])");
}
-yy139:
+yy140:
yych = *++YYCURSOR;
- YYCTXMARKER = YYCURSOR;
if (yych == 'e') goto yy182;
- goto yy174;
-yy140:
+ goto yy137;
+yy141:
yyaccept = 5;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '@') {
@@ -924,26 +950,26 @@ yy140:
if (yych <= 'Z') goto yy188;
if (yych >= '_') goto yy188;
} else {
- if (yych <= '`') goto yy141;
+ if (yych <= '`') goto yy142;
if (yych <= 'z') goto yy188;
}
}
-yy141:
+yy142:
{
depth = 1;
goto code;
}
-yy142:
+yy143:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= 0x1F) {
- if (yych == '\t') goto yy142;
+ if (yych == '\t') goto yy143;
} else {
- if (yych <= ' ') goto yy142;
- if (yych == '#') goto yy145;
+ if (yych <= ' ') goto yy143;
+ if (yych == '#') goto yy146;
}
-yy144:
+yy145:
YYCURSOR = YYMARKER;
if (yyaccept <= 3) {
if (yyaccept <= 1) {
@@ -962,40 +988,40 @@ yy144:
} else {
if (yyaccept <= 5) {
if (yyaccept == 4) {
- goto yy138;
+ goto yy139;
} else {
- goto yy141;
+ goto yy142;
}
} else {
if (yyaccept == 6) {
goto yy184;
} else {
- goto yy228;
+ goto yy226;
}
}
}
-yy145:
+yy146:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
yych = *YYCURSOR;
if (yych <= 0x1F) {
- if (yych == '\t') goto yy145;
- goto yy144;
+ if (yych == '\t') goto yy146;
+ goto yy145;
} else {
- if (yych <= ' ') goto yy145;
+ if (yych <= ' ') goto yy146;
if (yych == 'l') goto yy190;
- goto yy144;
+ goto yy145;
}
-yy147:
+yy148:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy148:
- if (yybm[0+yych] & 8) {
- goto yy147;
+yy149:
+ if (yybm[0+yych] & 16) {
+ goto yy148;
}
- if (yych <= '\n') goto yy144;
- if (yych >= '#') goto yy151;
+ if (yych <= '\n') goto yy145;
+ if (yych >= '#') goto yy152;
++YYCURSOR;
{
cur = cursor;
@@ -1009,28 +1035,28 @@ yy148:
}
return STRING;
}
-yy151:
+yy152:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\n') goto yy144;
- goto yy147;
-yy152:
+ if (yych == '\n') goto yy145;
+ goto yy148;
+yy153:
++YYCURSOR;
{
tok = cursor;
RETURN(0);
}
-yy154:
+yy155:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy155:
- if (yybm[0+yych] & 16) {
- goto yy154;
+yy156:
+ if (yybm[0+yych] & 32) {
+ goto yy155;
}
- if (yych <= '\n') goto yy144;
- if (yych >= '(') goto yy158;
+ if (yych <= '\n') goto yy145;
+ if (yych >= '(') goto yy159;
++YYCURSOR;
{
cur = cursor;
@@ -1044,45 +1070,72 @@ yy155:
}
return STRING;
}
-yy158:
+yy159:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\n') goto yy144;
- goto yy154;
-yy159:
+ if (yych == '\n') goto yy145;
+ goto yy155;
+yy160:
++YYCURSOR;
{
depth = 1;
goto comment;
}
-yy161:
+yy162:
++YYCURSOR;
{
goto nextLine;
}
-yy163:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '>') goto yy191;
+yy164:
+ yych = *++YYCURSOR;
+ if (yych == '>') goto yy191;
{
cur = cursor;
tok += 2; /* skip ":=" */
depth = 0;
goto code;
}
-yy165:
+yy166:
++YYCURSOR;
{
RETURN(SETUP);
}
-yy167:
- yych = *++YYCURSOR;
- YYCTXMARKER = YYCURSOR;
- goto yy194;
yy168:
- ++YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= '9') {
+ if (yych <= '\t') {
+ if (yych <= 0x08) goto yy145;
+ YYCTXMARKER = YYCURSOR;
+ goto yy193;
+ } else {
+ if (yych == ' ') {
+ YYCTXMARKER = YYCURSOR;
+ goto yy193;
+ }
+ goto yy145;
+ }
+ } else {
+ if (yych <= '=') {
+ if (yych <= ':') {
+ YYCTXMARKER = YYCURSOR;
+ goto yy195;
+ }
+ if (yych <= '<') goto yy145;
+ YYCTXMARKER = YYCURSOR;
+ goto yy196;
+ } else {
+ if (yych == '{') {
+ YYCTXMARKER = YYCURSOR;
+ goto yy197;
+ }
+ goto yy145;
+ }
+ }
yy169:
- YYCURSOR = YYCTXMARKER;
+ ++YYCURSOR;
+yy170:
+ YYCURSOR -= 1;
{
if (!FFlag) {
cur = cursor;
@@ -1102,40 +1155,30 @@ yy169:
return STRING;
}
}
-yy170:
- yych = *++YYCURSOR;
- goto yy202;
yy171:
++YYCURSOR;
- YYCURSOR = YYCTXMARKER;
- {
- cur = ptr > tok ? ptr - 1 : cursor;
- yylval.symbol = Symbol::find(token());
- return ID;
- }
-yy173:
- ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- YYCTXMARKER = YYCURSOR;
-yy174:
- if (yybm[0+yych] & 32) {
- goto yy173;
- }
if (yych <= ' ') {
- if (yych == '\t') goto yy170;
- if (yych <= 0x1F) goto yy168;
- goto yy170;
+ if (yych == '\t') goto yy171;
+ if (yych <= 0x1F) goto yy199;
+ goto yy171;
} else {
if (yych <= ',') {
- if (yych <= '+') goto yy168;
- goto yy171;
+ if (yych <= '+') goto yy199;
} else {
- if (yych <= '<') goto yy168;
- if (yych <= '>') goto yy171;
- goto yy168;
+ if (yych <= '<') goto yy199;
+ if (yych >= '?') goto yy199;
}
}
+yy173:
+ ++YYCURSOR;
+ YYCURSOR = YYCTXMARKER;
+ {
+ cur = ptr > tok ? ptr - 1 : cursor;
+ yylval.symbol = Symbol::find(token());
+ return ID;
+ }
yy175:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -1144,12 +1187,12 @@ yy176:
if (yybm[0+yych] & 64) {
goto yy175;
}
- if (yych <= '\n') goto yy144;
+ if (yych <= '\n') goto yy145;
if (yych >= ']') goto yy178;
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\n') goto yy144;
+ if (yych == '\n') goto yy145;
goto yy175;
yy178:
++YYCURSOR;
@@ -1163,18 +1206,17 @@ yy180:
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= '[') {
- if (yych == '\n') goto yy144;
+ if (yych == '\n') goto yy145;
goto yy180;
} else {
- if (yych <= '\\') goto yy203;
- if (yych <= ']') goto yy204;
+ if (yych <= '\\') goto yy201;
+ if (yych <= ']') goto yy202;
goto yy180;
}
yy182:
yych = *++YYCURSOR;
- YYCTXMARKER = YYCURSOR;
- if (yych == '2') goto yy206;
- goto yy174;
+ if (yych == '2') goto yy204;
+ goto yy137;
yy183:
++YYCURSOR;
yy184:
@@ -1183,7 +1225,7 @@ yy184:
}
yy185:
yych = *++YYCURSOR;
- if (yych == ',') goto yy207;
+ if (yych == ',') goto yy205;
goto yy187;
yy186:
++YYCURSOR;
@@ -1193,38 +1235,38 @@ yy187:
if (yybm[0+yych] & 128) {
goto yy186;
}
- if (yych == ',') goto yy210;
- if (yych == '}') goto yy208;
- goto yy144;
+ if (yych == ',') goto yy208;
+ if (yych == '}') goto yy206;
+ goto yy145;
yy188:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= '^') {
if (yych <= '9') {
- if (yych <= '/') goto yy144;
+ if (yych <= '/') goto yy145;
goto yy188;
} else {
- if (yych <= '@') goto yy144;
+ if (yych <= '@') goto yy145;
if (yych <= 'Z') goto yy188;
- goto yy144;
+ goto yy145;
}
} else {
if (yych <= 'z') {
- if (yych == '`') goto yy144;
+ if (yych == '`') goto yy145;
goto yy188;
} else {
- if (yych == '}') goto yy211;
- goto yy144;
+ if (yych == '}') goto yy209;
+ goto yy145;
}
}
yy190:
yych = *++YYCURSOR;
- if (yych == 'i') goto yy213;
- goto yy144;
+ if (yych == 'i') goto yy211;
+ goto yy145;
yy191:
++YYCURSOR;
- YYCURSOR = YYCTXMARKER;
+ YYCURSOR -= 2;
{
RETURN(*tok);
}
@@ -1232,32 +1274,31 @@ yy193:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
-yy194:
if (yych <= '9') {
if (yych <= '\t') {
- if (yych <= 0x08) goto yy144;
+ if (yych <= 0x08) goto yy145;
goto yy193;
} else {
if (yych == ' ') goto yy193;
- goto yy144;
+ goto yy145;
}
} else {
if (yych <= '=') {
if (yych <= ':') goto yy195;
- if (yych <= '<') goto yy144;
+ if (yych <= '<') goto yy145;
goto yy196;
} else {
if (yych == '{') goto yy197;
- goto yy144;
+ goto yy145;
}
}
yy195:
yych = *++YYCURSOR;
if (yych == '=') goto yy197;
- goto yy144;
+ goto yy145;
yy196:
yych = *++YYCURSOR;
- if (yych != '>') goto yy144;
+ if (yych != '>') goto yy145;
yy197:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
@@ -1276,61 +1317,41 @@ yy201:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy202:
- if (yych <= ' ') {
- if (yych == '\t') goto yy201;
- if (yych <= 0x1F) goto yy199;
- goto yy201;
- } else {
- if (yych <= ',') {
- if (yych <= '+') goto yy199;
- goto yy171;
- } else {
- if (yych <= '<') goto yy199;
- if (yych <= '>') goto yy171;
- goto yy199;
- }
- }
-yy203:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- if (yych == '\n') goto yy144;
+ if (yych == '\n') goto yy145;
goto yy180;
-yy204:
+yy202:
++YYCURSOR;
{
cur = cursor;
yylval.regexp = invToRE(token());
return RANGE;
}
-yy206:
+yy204:
yych = *++YYCURSOR;
- YYCTXMARKER = YYCURSOR;
- if (yych == 'c') goto yy214;
- goto yy174;
-yy207:
+ if (yych == 'c') goto yy212;
+ goto yy137;
+yy205:
yyaccept = 6;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '/') goto yy184;
- if (yych <= '9') goto yy215;
- if (yych == '}') goto yy217;
+ if (yych <= '9') goto yy213;
+ if (yych == '}') goto yy215;
goto yy184;
-yy208:
+yy206:
++YYCURSOR;
{
yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = atoi((char *)tok+1);
RETURN(CLOSESIZE);
}
-yy210:
+yy208:
yyaccept = 6;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '/') goto yy184;
- if (yych <= '9') goto yy215;
- if (yych == '}') goto yy219;
+ if (yych <= '9') goto yy213;
+ if (yych == '}') goto yy217;
goto yy184;
-yy211:
+yy209:
++YYCURSOR;
{
if (!FFlag) {
@@ -1340,85 +1361,84 @@ yy211:
yylval.symbol = Symbol::find(token(1, cur - tok - 2));
return ID;
}
-yy213:
+yy211:
yych = *++YYCURSOR;
- if (yych == 'n') goto yy221;
- goto yy144;
-yy214:
+ if (yych == 'n') goto yy219;
+ goto yy145;
+yy212:
yych = *++YYCURSOR;
- YYCTXMARKER = YYCURSOR;
- if (yych == ':') goto yy222;
- goto yy174;
-yy215:
+ if (yych == ':') goto yy220;
+ goto yy137;
+yy213:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych <= '/') goto yy144;
- if (yych <= '9') goto yy215;
- if (yych == '}') goto yy223;
- goto yy144;
-yy217:
+ if (yych <= '/') goto yy145;
+ if (yych <= '9') goto yy213;
+ if (yych == '}') goto yy221;
+ goto yy145;
+yy215:
++YYCURSOR;
{
yylval.op = '*';
RETURN(CLOSE);
}
-yy219:
+yy217:
++YYCURSOR;
{
yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = -1;
RETURN(CLOSESIZE);
}
-yy221:
+yy219:
yych = *++YYCURSOR;
- if (yych == 'e') goto yy225;
- goto yy144;
-yy222:
+ if (yych == 'e') goto yy223;
+ goto yy145;
+yy220:
yych = *++YYCURSOR;
if (yych <= '^') {
- if (yych <= '@') goto yy169;
- if (yych <= 'Z') goto yy226;
- goto yy169;
+ if (yych <= '@') goto yy170;
+ if (yych <= 'Z') goto yy224;
+ goto yy170;
} else {
- if (yych == '`') goto yy169;
- if (yych <= 'z') goto yy226;
- goto yy169;
+ if (yych == '`') goto yy170;
+ if (yych <= 'z') goto yy224;
+ goto yy170;
}
-yy223:
+yy221:
++YYCURSOR;
{
yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = MAX(yylval.extop.minsize,atoi(strchr((char *)tok, ',')+1));
RETURN(CLOSESIZE);
}
-yy225:
+yy223:
yych = *++YYCURSOR;
- if (yych <= '0') goto yy230;
- if (yych <= '9') goto yy144;
- goto yy230;
-yy226:
+ if (yych <= '0') goto yy228;
+ if (yych <= '9') goto yy145;
+ goto yy228;
+yy224:
yyaccept = 7;
YYMARKER = ++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if (yych <= '@') {
if (yych <= '9') {
- if (yych >= '0') goto yy226;
+ if (yych >= '0') goto yy224;
} else {
- if (yych <= ':') goto yy231;
- if (yych >= '@') goto yy232;
+ if (yych <= ':') goto yy229;
+ if (yych >= '@') goto yy230;
}
} else {
if (yych <= '_') {
- if (yych <= 'Z') goto yy226;
- if (yych >= '_') goto yy226;
+ if (yych <= 'Z') goto yy224;
+ if (yych >= '_') goto yy224;
} else {
- if (yych <= '`') goto yy228;
- if (yych <= 'z') goto yy226;
+ if (yych <= '`') goto yy226;
+ if (yych <= 'z') goto yy224;
}
}
-yy228:
+yy226:
{
cur = cursor;
tok += 5; /* skip "re2c:" */
@@ -1426,133 +1446,135 @@ yy228:
yylval.str = new Str(token());
return CONFIG;
}
-yy229:
+yy227:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- YYCTXMARKER = YYCURSOR;
-yy230:
+yy228:
if (yych <= 0x1F) {
- if (yych == '\t') goto yy229;
- goto yy144;
+ if (yych == '\t') goto yy227;
+ goto yy145;
} else {
- if (yych <= ' ') goto yy229;
- if (yych <= '0') goto yy144;
- if (yych <= '9') goto yy233;
- goto yy144;
+ if (yych <= ' ') goto yy227;
+ if (yych <= '0') goto yy145;
+ if (yych <= '9') {
+ YYCTXMARKER = YYCURSOR;
+ goto yy231;
+ }
+ goto yy145;
}
-yy231:
+yy229:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= '^') {
- if (yych <= '@') goto yy144;
- if (yych <= 'Z') goto yy226;
- goto yy144;
+ if (yych <= '@') goto yy145;
+ if (yych <= 'Z') goto yy224;
+ goto yy145;
} else {
- if (yych == '`') goto yy144;
- if (yych <= 'z') goto yy226;
- goto yy144;
+ if (yych == '`') goto yy145;
+ if (yych <= 'z') goto yy224;
+ goto yy145;
}
-yy232:
+yy230:
yych = *++YYCURSOR;
if (yych <= '^') {
- if (yych <= '@') goto yy144;
- if (yych <= 'Z') goto yy235;
- goto yy144;
+ if (yych <= '@') goto yy145;
+ if (yych <= 'Z') goto yy233;
+ goto yy145;
} else {
- if (yych == '`') goto yy144;
- if (yych <= 'z') goto yy235;
- goto yy144;
+ if (yych == '`') goto yy145;
+ if (yych <= 'z') goto yy233;
+ goto yy145;
}
-yy233:
+yy231:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if (yych <= '\r') {
if (yych <= '\t') {
- if (yych <= 0x08) goto yy144;
- goto yy237;
+ if (yych <= 0x08) goto yy145;
+ goto yy235;
} else {
- if (yych <= '\n') goto yy239;
- if (yych <= '\f') goto yy144;
- goto yy241;
+ if (yych <= '\n') goto yy237;
+ if (yych <= '\f') goto yy145;
+ goto yy239;
}
} else {
if (yych <= ' ') {
- if (yych <= 0x1F) goto yy144;
- goto yy237;
+ if (yych <= 0x1F) goto yy145;
+ goto yy235;
} else {
- if (yych <= '/') goto yy144;
- if (yych <= '9') goto yy233;
- goto yy144;
+ if (yych <= '/') goto yy145;
+ if (yych <= '9') goto yy231;
+ goto yy145;
}
}
-yy235:
+yy233:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= 'Z') {
- if (yych <= '/') goto yy228;
- if (yych <= '9') goto yy235;
- if (yych <= '@') goto yy228;
- goto yy235;
+ if (yych <= '/') goto yy226;
+ if (yych <= '9') goto yy233;
+ if (yych <= '@') goto yy226;
+ goto yy233;
} else {
if (yych <= '_') {
- if (yych <= '^') goto yy228;
- goto yy235;
+ if (yych <= '^') goto yy226;
+ goto yy233;
} else {
- if (yych <= '`') goto yy228;
- if (yych <= 'z') goto yy235;
- goto yy228;
+ if (yych <= '`') goto yy226;
+ if (yych <= 'z') goto yy233;
+ goto yy226;
}
}
-yy237:
+yy235:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= 0x1F) {
- if (yych == '\t') goto yy237;
- goto yy144;
+ if (yych == '\t') goto yy235;
+ goto yy145;
} else {
- if (yych <= ' ') goto yy237;
- if (yych == '"') goto yy242;
- goto yy144;
+ if (yych <= ' ') goto yy235;
+ if (yych == '"') goto yy240;
+ goto yy145;
}
-yy239:
+yy237:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
{
set_sourceline(cursor);
goto scan;
}
-yy241:
+yy239:
yych = *++YYCURSOR;
- if (yych == '\n') goto yy239;
- goto yy144;
-yy242:
+ if (yych == '\n') goto yy237;
+ goto yy145;
+yy240:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
yych = *YYCURSOR;
if (yych <= '!') {
- if (yych == '\n') goto yy144;
- goto yy242;
+ if (yych == '\n') goto yy145;
+ goto yy240;
} else {
- if (yych <= '"') goto yy244;
- if (yych == '\\') goto yy245;
- goto yy242;
+ if (yych <= '"') goto yy242;
+ if (yych == '\\') goto yy243;
+ goto yy240;
}
-yy244:
+yy242:
yych = *++YYCURSOR;
- if (yych == '\n') goto yy239;
- if (yych == '\r') goto yy241;
- goto yy144;
-yy245:
+ if (yych == '\n') goto yy237;
+ if (yych == '\r') goto yy239;
+ goto yy145;
+yy243:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\n') goto yy144;
- goto yy242;
+ if (yych == '\n') goto yy145;
+ goto yy240;
}
@@ -1599,24 +1621,24 @@ code:
yych = *YYCURSOR;
if (yych <= '&') {
if (yych <= '\n') {
- if (yych <= 0x00) goto yy248;
- if (yych <= '\t') goto yy250;
- goto yy252;
- } else {
- if (yych == '"') goto yy254;
+ if (yych <= 0x00) goto yy246;
+ if (yych <= '\t') goto yy248;
goto yy250;
+ } else {
+ if (yych == '"') goto yy252;
+ goto yy248;
}
} else {
if (yych <= '{') {
- if (yych <= '\'') goto yy255;
- if (yych <= 'z') goto yy250;
- goto yy256;
+ if (yych <= '\'') goto yy253;
+ if (yych <= 'z') goto yy248;
+ goto yy254;
} else {
- if (yych == '}') goto yy258;
- goto yy250;
+ if (yych == '}') goto yy256;
+ goto yy248;
}
}
-yy248:
+yy246:
++YYCURSOR;
{
if (cursor == eof)
@@ -1629,31 +1651,30 @@ yy248:
}
goto code;
}
-yy250:
+yy248:
++YYCURSOR;
-yy251:
+yy249:
{
goto code;
}
-yy252:
+yy250:
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- YYCTXMARKER = YYCURSOR;
if (yych <= '\r') {
if (yych <= '\t') {
- if (yych >= '\t') goto yy260;
+ if (yych >= '\t') goto yy258;
} else {
- if (yych <= '\n') goto yy262;
- if (yych >= '\r') goto yy262;
+ if (yych <= '\n') goto yy260;
+ if (yych >= '\r') goto yy260;
}
} else {
if (yych <= ' ') {
- if (yych >= ' ') goto yy260;
+ if (yych >= ' ') goto yy258;
} else {
- if (yych == '#') goto yy263;
+ if (yych == '#') goto yy261;
}
}
-yy253:
+yy251:
{
if (depth == 0)
{
@@ -1674,17 +1695,17 @@ yy253:
cline++;
goto code;
}
-yy254:
+yy252:
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '\n') goto yy251;
- goto yy267;
-yy255:
+ if (yych == '\n') goto yy249;
+ goto yy265;
+yy253:
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '\n') goto yy251;
- goto yy270;
-yy256:
+ if (yych == '\n') goto yy249;
+ goto yy268;
+yy254:
++YYCURSOR;
{
if (depth == 0)
@@ -1697,7 +1718,7 @@ yy256:
}
goto code;
}
-yy258:
+yy256:
++YYCURSOR;
{
if (depth == 0)
@@ -1712,17 +1733,17 @@ yy258:
}
goto code;
}
-yy260:
+yy258:
yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= 0x1F) {
- if (yych == '\t') goto yy272;
+ if (yych == '\t') goto yy270;
} else {
- if (yych <= ' ') goto yy272;
- if (yych == '#') goto yy263;
+ if (yych <= ' ') goto yy270;
+ if (yych == '#') goto yy261;
}
-yy261:
- YYCURSOR = YYCTXMARKER;
+yy259:
+ YYCURSOR -= 1;
{
if (depth == 0)
{
@@ -1736,157 +1757,157 @@ yy261:
cline++;
goto code;
}
-yy262:
- yych = *++YYCURSOR;
- goto yy261;
-yy263:
+yy260:
+ ++YYCURSOR;
+ goto yy259;
+yy261:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
yych = *YYCURSOR;
if (yybm[0+yych] & 16) {
- goto yy263;
+ goto yy261;
}
- if (yych == 'l') goto yy274;
-yy265:
+ if (yych == 'l') goto yy272;
+yy263:
YYCURSOR = YYMARKER;
if (yyaccept <= 1) {
if (yyaccept == 0) {
- goto yy253;
- } else {
goto yy251;
+ } else {
+ goto yy249;
}
} else {
- goto yy261;
+ goto yy259;
}
-yy266:
+yy264:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy267:
+yy265:
if (yybm[0+yych] & 32) {
- goto yy266;
+ goto yy264;
}
- if (yych <= '\n') goto yy265;
- if (yych <= '"') goto yy250;
+ if (yych <= '\n') goto yy263;
+ if (yych <= '"') goto yy248;
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\n') goto yy265;
- goto yy266;
-yy269:
+ if (yych == '\n') goto yy263;
+ goto yy264;
+yy267:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy270:
+yy268:
if (yybm[0+yych] & 64) {
- goto yy269;
+ goto yy267;
}
- if (yych <= '\n') goto yy265;
- if (yych <= '\'') goto yy250;
+ if (yych <= '\n') goto yy263;
+ if (yych <= '\'') goto yy248;
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\n') goto yy265;
- goto yy269;
-yy272:
+ if (yych == '\n') goto yy263;
+ goto yy267;
+yy270:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= 0x1F) {
- if (yych == '\t') goto yy272;
- goto yy265;
+ if (yych == '\t') goto yy270;
+ goto yy263;
} else {
- if (yych <= ' ') goto yy272;
- if (yych == '#') goto yy263;
- goto yy265;
+ if (yych <= ' ') goto yy270;
+ if (yych == '#') goto yy261;
+ goto yy263;
}
-yy274:
+yy272:
yych = *++YYCURSOR;
- if (yych != 'i') goto yy265;
+ if (yych != 'i') goto yy263;
yych = *++YYCURSOR;
- if (yych != 'n') goto yy265;
+ if (yych != 'n') goto yy263;
yych = *++YYCURSOR;
- if (yych != 'e') goto yy265;
+ if (yych != 'e') goto yy263;
yych = *++YYCURSOR;
- if (yych <= '0') goto yy279;
- if (yych <= '9') goto yy265;
- goto yy279;
-yy278:
+ if (yych <= '0') goto yy277;
+ if (yych <= '9') goto yy263;
+ goto yy277;
+yy276:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- YYCTXMARKER = YYCURSOR;
-yy279:
+yy277:
if (yych <= 0x1F) {
- if (yych == '\t') goto yy278;
- goto yy265;
+ if (yych == '\t') goto yy276;
+ goto yy263;
} else {
- if (yych <= ' ') goto yy278;
- if (yych <= '0') goto yy265;
- if (yych >= ':') goto yy265;
+ if (yych <= ' ') goto yy276;
+ if (yych <= '0') goto yy263;
+ if (yych >= ':') goto yy263;
+ YYCTXMARKER = YYCURSOR;
}
-yy280:
+yy278:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if (yybm[0+yych] & 128) {
- goto yy280;
+ goto yy278;
}
if (yych <= '\f') {
- if (yych <= 0x08) goto yy265;
- if (yych <= '\t') goto yy282;
- if (yych <= '\n') goto yy284;
- goto yy265;
+ if (yych <= 0x08) goto yy263;
+ if (yych <= '\t') goto yy280;
+ if (yych <= '\n') goto yy282;
+ goto yy263;
} else {
- if (yych <= '\r') goto yy286;
- if (yych != ' ') goto yy265;
+ if (yych <= '\r') goto yy284;
+ if (yych != ' ') goto yy263;
}
-yy282:
+yy280:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= 0x1F) {
- if (yych == '\t') goto yy282;
- goto yy265;
+ if (yych == '\t') goto yy280;
+ goto yy263;
} else {
- if (yych <= ' ') goto yy282;
- if (yych == '"') goto yy287;
- goto yy265;
+ if (yych <= ' ') goto yy280;
+ if (yych == '"') goto yy285;
+ goto yy263;
}
-yy284:
+yy282:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
{
set_sourceline(cursor);
goto code;
}
-yy286:
+yy284:
yych = *++YYCURSOR;
- if (yych == '\n') goto yy284;
- goto yy265;
-yy287:
+ if (yych == '\n') goto yy282;
+ goto yy263;
+yy285:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
yych = *YYCURSOR;
if (yych <= '!') {
- if (yych == '\n') goto yy265;
- goto yy287;
+ if (yych == '\n') goto yy263;
+ goto yy285;
} else {
- if (yych <= '"') goto yy289;
- if (yych == '\\') goto yy290;
- goto yy287;
+ if (yych <= '"') goto yy287;
+ if (yych == '\\') goto yy288;
+ goto yy285;
}
-yy289:
+yy287:
yych = *++YYCURSOR;
- if (yych == '\n') goto yy284;
- if (yych == '\r') goto yy286;
- goto yy265;
-yy290:
+ if (yych == '\n') goto yy282;
+ if (yych == '\r') goto yy284;
+ goto yy263;
+yy288:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\n') goto yy265;
- goto yy287;
+ if (yych == '\n') goto yy263;
+ goto yy285;
}
@@ -1931,13 +1952,13 @@ comment:
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if (yych <= ')') {
- if (yych == '\n') goto yy295;
+ if (yych == '\n') goto yy293;
} else {
- if (yych <= '*') goto yy297;
- if (yych == '/') goto yy298;
+ if (yych <= '*') goto yy295;
+ if (yych == '/') goto yy296;
}
++YYCURSOR;
-yy294:
+yy292:
{
if (cursor == eof)
{
@@ -1945,13 +1966,13 @@ yy294:
}
goto comment;
}
-yy295:
+yy293:
yych = *(YYMARKER = ++YYCURSOR);
if (yybm[0+yych] & 32) {
- goto yy299;
+ goto yy297;
}
- if (yych == '#') goto yy302;
-yy296:
+ if (yych == '#') goto yy300;
+yy294:
{
if (cursor == eof)
{
@@ -1961,38 +1982,38 @@ yy296:
cline++;
goto comment;
}
-yy297:
+yy295:
yych = *++YYCURSOR;
- if (yych == '/') goto yy304;
- goto yy294;
-yy298:
+ if (yych == '/') goto yy302;
+ goto yy292;
+yy296:
yych = *++YYCURSOR;
- if (yych == '*') goto yy306;
- goto yy294;
-yy299:
+ if (yych == '*') goto yy304;
+ goto yy292;
+yy297:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 32) {
- goto yy299;
+ goto yy297;
}
- if (yych == '#') goto yy302;
-yy301:
+ if (yych == '#') goto yy300;
+yy299:
YYCURSOR = YYMARKER;
- goto yy296;
-yy302:
+ goto yy294;
+yy300:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
yych = *YYCURSOR;
if (yych <= 0x1F) {
- if (yych == '\t') goto yy302;
- goto yy301;
+ if (yych == '\t') goto yy300;
+ goto yy299;
} else {
- if (yych <= ' ') goto yy302;
- if (yych == 'l') goto yy308;
- goto yy301;
+ if (yych <= ' ') goto yy300;
+ if (yych == 'l') goto yy306;
+ goto yy299;
}
-yy304:
+yy302:
++YYCURSOR;
{
if (--depth == 0)
@@ -2004,96 +2025,96 @@ yy304:
goto comment;
}
}
-yy306:
+yy304:
++YYCURSOR;
{
++depth;
fatal("ambiguous /* found");
goto comment;
}
-yy308:
+yy306:
yych = *++YYCURSOR;
- if (yych != 'i') goto yy301;
+ if (yych != 'i') goto yy299;
yych = *++YYCURSOR;
- if (yych != 'n') goto yy301;
+ if (yych != 'n') goto yy299;
yych = *++YYCURSOR;
- if (yych != 'e') goto yy301;
+ if (yych != 'e') goto yy299;
yych = *++YYCURSOR;
- if (yych <= '0') goto yy313;
- if (yych <= '9') goto yy301;
- goto yy313;
-yy312:
+ if (yych <= '0') goto yy311;
+ if (yych <= '9') goto yy299;
+ goto yy311;
+yy310:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- YYCTXMARKER = YYCURSOR;
-yy313:
+yy311:
if (yych <= 0x1F) {
- if (yych == '\t') goto yy312;
- goto yy301;
+ if (yych == '\t') goto yy310;
+ goto yy299;
} else {
- if (yych <= ' ') goto yy312;
- if (yych <= '0') goto yy301;
- if (yych >= ':') goto yy301;
+ if (yych <= ' ') goto yy310;
+ if (yych <= '0') goto yy299;
+ if (yych >= ':') goto yy299;
+ YYCTXMARKER = YYCURSOR;
}
-yy314:
+yy312:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if (yybm[0+yych] & 64) {
- goto yy314;
+ goto yy312;
}
if (yych <= '\f') {
- if (yych <= 0x08) goto yy301;
- if (yych <= '\t') goto yy316;
- if (yych <= '\n') goto yy318;
- goto yy301;
+ if (yych <= 0x08) goto yy299;
+ if (yych <= '\t') goto yy314;
+ if (yych <= '\n') goto yy316;
+ goto yy299;
} else {
- if (yych <= '\r') goto yy320;
- if (yych != ' ') goto yy301;
+ if (yych <= '\r') goto yy318;
+ if (yych != ' ') goto yy299;
}
-yy316:
+yy314:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= 0x1F) {
- if (yych == '\t') goto yy316;
- goto yy301;
+ if (yych == '\t') goto yy314;
+ goto yy299;
} else {
- if (yych <= ' ') goto yy316;
- if (yych == '"') goto yy321;
- goto yy301;
+ if (yych <= ' ') goto yy314;
+ if (yych == '"') goto yy319;
+ goto yy299;
}
-yy318:
+yy316:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
{
set_sourceline(cursor);
goto comment;
}
-yy320:
+yy318:
yych = *++YYCURSOR;
- if (yych == '\n') goto yy318;
- goto yy301;
-yy321:
+ if (yych == '\n') goto yy316;
+ goto yy299;
+yy319:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
yych = *YYCURSOR;
if (yybm[0+yych] & 128) {
- goto yy321;
+ goto yy319;
}
- if (yych <= '\n') goto yy301;
- if (yych >= '#') goto yy324;
+ if (yych <= '\n') goto yy299;
+ if (yych >= '#') goto yy322;
yych = *++YYCURSOR;
- if (yych == '\n') goto yy318;
- if (yych == '\r') goto yy320;
- goto yy301;
-yy324:
+ if (yych == '\n') goto yy316;
+ if (yych == '\r') goto yy318;
+ goto yy299;
+yy322:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\n') goto yy301;
- goto yy321;
+ if (yych == '\n') goto yy299;
+ goto yy319;
}
@@ -2103,14 +2124,14 @@ nextLine:
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\n') goto yy329;
+ if (yych == '\n') goto yy327;
++YYCURSOR;
{ if(cursor == eof) {
RETURN(0);
}
goto nextLine;
}
-yy329:
+yy327:
++YYCURSOR;
{ if(cursor == eof) {
RETURN(0);
@@ -2163,29 +2184,29 @@ config:
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 128) {
- goto yy335;
+ goto yy333;
}
- if (yych == '=') goto yy338;
+ if (yych == '=') goto yy336;
++YYCURSOR;
{
fatal("missing '='");
}
-yy335:
+yy333:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 128) {
- goto yy335;
+ goto yy333;
}
{
goto config;
}
-yy338:
+yy336:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\t') goto yy338;
- if (yych == ' ') goto yy338;
+ if (yych == '\t') goto yy336;
+ if (yych == ' ') goto yy336;
{
iscfg = 2;
cur = cursor;
@@ -2236,197 +2257,197 @@ value:
yych = *YYCURSOR;
if (yych <= '&') {
if (yych <= '\r') {
- if (yych <= 0x08) goto yy344;
- if (yych <= '\n') goto yy343;
- if (yych <= '\f') goto yy344;
+ if (yych <= 0x08) goto yy342;
+ if (yych <= '\n') goto yy341;
+ if (yych <= '\f') goto yy342;
} else {
if (yych <= ' ') {
- if (yych <= 0x1F) goto yy344;
+ if (yych <= 0x1F) goto yy342;
} else {
- if (yych == '"') goto yy346;
- goto yy344;
+ if (yych == '"') goto yy344;
+ goto yy342;
}
}
} else {
if (yych <= '/') {
- if (yych <= '\'') goto yy348;
- if (yych == '-') goto yy350;
- goto yy344;
+ if (yych <= '\'') goto yy346;
+ if (yych == '-') goto yy348;
+ goto yy342;
} else {
if (yych <= '9') {
- if (yych <= '0') goto yy351;
- goto yy353;
+ if (yych <= '0') goto yy349;
+ goto yy351;
} else {
- if (yych != ';') goto yy344;
+ if (yych != ';') goto yy342;
}
}
}
-yy343:
+yy341:
{
cur = cursor;
yylval.str = new Str(token());
iscfg = 0;
return VALUE;
}
-yy344:
+yy342:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy345:
+yy343:
if (yybm[0+yych] & 4) {
- goto yy344;
+ goto yy342;
}
- goto yy343;
-yy346:
+ goto yy341;
+yy344:
YYMARKER = ++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 8) {
- goto yy346;
+ goto yy344;
}
if (yych <= ' ') {
- if (yych == '\n') goto yy343;
- goto yy355;
+ if (yych == '\n') goto yy341;
+ goto yy353;
} else {
- if (yych <= '"') goto yy344;
- if (yych <= ';') goto yy355;
- goto yy358;
+ if (yych <= '"') goto yy342;
+ if (yych <= ';') goto yy353;
+ goto yy356;
}
-yy348:
+yy346:
YYMARKER = ++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 16) {
- goto yy348;
+ goto yy346;
}
if (yych <= ' ') {
- if (yych == '\n') goto yy343;
- goto yy359;
+ if (yych == '\n') goto yy341;
+ goto yy357;
} else {
- if (yych <= '\'') goto yy344;
- if (yych <= ';') goto yy359;
- goto yy361;
+ if (yych <= '\'') goto yy342;
+ if (yych <= ';') goto yy357;
+ goto yy359;
}
-yy350:
+yy348:
yych = *++YYCURSOR;
- if (yych <= '0') goto yy345;
- if (yych <= '9') goto yy353;
- goto yy345;
-yy351:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 4) {
- goto yy344;
+ if (yych <= '0') goto yy343;
+ if (yych <= '9') goto yy351;
+ goto yy343;
+yy349:
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 4) {
+ goto yy342;
}
-yy352:
+yy350:
{
cur = cursor;
yylval.number = atoi(token().to_string().c_str());
iscfg = 0;
return NUMBER;
}
-yy353:
+yy351:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 32) {
- goto yy353;
+ goto yy351;
}
if (yych <= '\r') {
- if (yych <= 0x08) goto yy344;
- if (yych <= '\n') goto yy352;
- if (yych <= '\f') goto yy344;
- goto yy352;
+ if (yych <= 0x08) goto yy342;
+ if (yych <= '\n') goto yy350;
+ if (yych <= '\f') goto yy342;
+ goto yy350;
} else {
if (yych <= ' ') {
- if (yych <= 0x1F) goto yy344;
- goto yy352;
+ if (yych <= 0x1F) goto yy342;
+ goto yy350;
} else {
- if (yych == ';') goto yy352;
- goto yy344;
+ if (yych == ';') goto yy350;
+ goto yy342;
}
}
-yy355:
+yy353:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 64) {
- goto yy355;
+ goto yy353;
}
- if (yych <= '\n') goto yy357;
- if (yych <= '"') goto yy362;
- goto yy363;
-yy357:
+ if (yych <= '\n') goto yy355;
+ if (yych <= '"') goto yy360;
+ goto yy361;
+yy355:
YYCURSOR = YYMARKER;
- goto yy343;
-yy358:
+ goto yy341;
+yy356:
YYMARKER = ++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= '\r') {
if (yych <= '\t') {
- if (yych <= 0x08) goto yy346;
- goto yy355;
+ if (yych <= 0x08) goto yy344;
+ goto yy353;
} else {
- if (yych <= '\n') goto yy343;
- if (yych <= '\f') goto yy346;
- goto yy355;
+ if (yych <= '\n') goto yy341;
+ if (yych <= '\f') goto yy344;
+ goto yy353;
}
} else {
if (yych <= ' ') {
- if (yych <= 0x1F) goto yy346;
- goto yy355;
+ if (yych <= 0x1F) goto yy344;
+ goto yy353;
} else {
- if (yych == ';') goto yy355;
- goto yy346;
+ if (yych == ';') goto yy353;
+ goto yy344;
}
}
-yy359:
+yy357:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 128) {
- goto yy359;
+ goto yy357;
}
- if (yych <= '\n') goto yy357;
- if (yych <= '\'') goto yy362;
- goto yy364;
-yy361:
+ if (yych <= '\n') goto yy355;
+ if (yych <= '\'') goto yy360;
+ goto yy362;
+yy359:
YYMARKER = ++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= '\r') {
if (yych <= '\t') {
- if (yych <= 0x08) goto yy348;
- goto yy359;
+ if (yych <= 0x08) goto yy346;
+ goto yy357;
} else {
- if (yych <= '\n') goto yy343;
- if (yych <= '\f') goto yy348;
- goto yy359;
+ if (yych <= '\n') goto yy341;
+ if (yych <= '\f') goto yy346;
+ goto yy357;
}
} else {
if (yych <= ' ') {
- if (yych <= 0x1F) goto yy348;
- goto yy359;
+ if (yych <= 0x1F) goto yy346;
+ goto yy357;
} else {
- if (yych == ';') goto yy359;
- goto yy348;
+ if (yych == ';') goto yy357;
+ goto yy346;
}
}
-yy362:
- yych = *++YYCURSOR;
- goto yy343;
-yy363:
+yy360:
+ ++YYCURSOR;
+ goto yy341;
+yy361:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\n') goto yy357;
- goto yy355;
-yy364:
+ if (yych == '\n') goto yy355;
+ goto yy353;
+yy362:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\n') goto yy357;
- goto yy359;
+ if (yych == '\n') goto yy355;
+ goto yy357;
}
}
@@ -2475,19 +2496,19 @@ sourceline:
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if (yych <= '!') {
- if (yych == '\n') goto yy369;
+ if (yych == '\n') goto yy367;
} else {
- if (yych <= '"') goto yy371;
- if (yych <= '0') goto yy367;
- if (yych <= '9') goto yy372;
+ if (yych <= '"') goto yy369;
+ if (yych <= '0') goto yy365;
+ if (yych <= '9') goto yy370;
}
-yy367:
+yy365:
++YYCURSOR;
-yy368:
+yy366:
{
goto sourceline;
}
-yy369:
+yy367:
++YYCURSOR;
{
if (cursor == eof)
@@ -2501,49 +2522,49 @@ yy369:
tok = cursor;
return;
}
-yy371:
+yy369:
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '\n') goto yy368;
- goto yy376;
-yy372:
+ if (yych == '\n') goto yy366;
+ goto yy374;
+yy370:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 64) {
- goto yy372;
+ goto yy370;
}
{
cur = cursor;
cline = atoi(token().to_string().c_str());
goto sourceline;
}
-yy375:
+yy373:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy376:
+yy374:
if (yybm[0+yych] & 128) {
- goto yy375;
+ goto yy373;
}
- if (yych <= '\n') goto yy377;
- if (yych <= '"') goto yy378;
- goto yy380;
-yy377:
+ if (yych <= '\n') goto yy375;
+ if (yych <= '"') goto yy376;
+ goto yy378;
+yy375:
YYCURSOR = YYMARKER;
- goto yy368;
-yy378:
+ goto yy366;
+yy376:
++YYCURSOR;
{
cur = cursor;
sourceFileInfo.set_fname(token(1, cur - tok - 2).to_string());
goto sourceline;
}
-yy380:
+yy378:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\n') goto yy377;
- goto yy375;
+ if (yych == '\n') goto yy375;
+ goto yy373;
}
}
diff --git a/test/scanner_re2c_default.--emit-dot.c b/test/scanner_re2c_default.--emit-dot.c
index 48ae31ba..1d16c197 100644
--- a/test/scanner_re2c_default.--emit-dot.c
+++ b/test/scanner_re2c_default.--emit-dot.c
@@ -1,9 +1,7 @@
/* Generated by re2c */
-
digraph re2c {
-
-1 -> 2 [label="[0x00]"]
1 -> 4 [label="[0x01-0x09][0x0B-$][&-)][+-.][0-0xFF]"]
+1 -> 2 [label="[0x00]"]
1 -> 6 [label="[0x0A]"]
1 -> 8 [label="[%]"]
1 -> 9 [label="[*]"]
@@ -104,7 +102,7 @@ digraph re2c {
49 -> 50
50 -> 13 [label="[0x00-0x08][0x0A-0x1F][!-0][:-0xFF]"]
50 -> 49 [label="[0x09][ ]"]
-50 -> 57 [label="[1-9]"]
+50 -> 57 [label="[1-9]<yyt1>"]
51 -> 13 [label="[0x00-s][u-0xFF]"]
51 -> 59 [label="[t]"]
52 -> 13 [label="[0x00-q][s-0xFF]"]
@@ -214,9 +212,7 @@ digraph re2c {
108 -> 109
109 [label="scanner_re2c_default.--emit-dot.re:134"]
}
-
digraph re2c {
-
111 -> 112 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!][#-$][&][-][0-9][@][0x5D-^][`][}-0xFF]"]
111 -> 114 [label="[0x09][ ]"]
111 -> 117 [label="[0x0A]"]
@@ -232,9 +228,9 @@ digraph re2c {
111 -> 134 [label="[:]"]
111 -> 135 [label="[<]"]
111 -> 136 [label="[A-Z][_][a-q][s-z]"]
-111 -> 137 [label="[[]"]
-111 -> 139 [label="[r]"]
-111 -> 140 [label="[{]"]
+111 -> 138 [label="[[]"]
+111 -> 140 [label="[r]"]
+111 -> 141 [label="[{]"]
112 -> 113
113 [label="scanner_re2c_default.--emit-dot.re:445"]
114 -> 115
@@ -242,508 +238,498 @@ digraph re2c {
115 -> 114 [label="[0x09][ ]"]
116 [label="scanner_re2c_default.--emit-dot.re:429"]
117 -> 118 [label="[0x00-0x08][0x0A-0x1F][!-\"][$-0xFF]"]
-117 -> 142 [label="[0x09][ ]"]
-117 -> 145 [label="[#]"]
+117 -> 143 [label="[0x09][ ]"]
+117 -> 146 [label="[#]"]
118 [label="scanner_re2c_default.--emit-dot.re:438"]
119 -> 113 [label="[0x00-0x09][0x0B-0xFF]"]
119 -> 117 [label="[0x0A]"]
-120 -> 148 [label="[0x00-0x09][0x0B-0xFF]"]
+120 -> 149 [label="[0x00-0x09][0x0B-0xFF]"]
120 -> 121 [label="[0x0A]"]
121 [label="scanner_re2c_default.--emit-dot.re:305"]
122 -> 113 [label="[0x00-|][~-0xFF]"]
-122 -> 152 [label="[}]"]
-123 -> 155 [label="[0x00-0x09][0x0B-0xFF]"]
+122 -> 153 [label="[}]"]
+123 -> 156 [label="[0x00-0x09][0x0B-0xFF]"]
123 -> 124 [label="[0x0A]"]
124 [label="scanner_re2c_default.--emit-dot.re:308"]
125 -> 126
126 [label="scanner_re2c_default.--emit-dot.re:334"]
127 -> 128 [label="[0x00-.][0-0xFF]"]
-127 -> 152 [label="[/]"]
+127 -> 153 [label="[/]"]
128 [label="scanner_re2c_default.--emit-dot.re:338"]
129 -> 130
130 [label="scanner_re2c_default.--emit-dot.re:342"]
131 -> 132
132 [label="scanner_re2c_default.--emit-dot.re:423"]
133 -> 126 [label="[0x00-)][+-.][0-0xFF]"]
-133 -> 159 [label="[*]"]
-133 -> 161 [label="[/]"]
+133 -> 160 [label="[*]"]
+133 -> 162 [label="[/]"]
134 -> 113 [label="[0x00-<][>-0xFF]"]
-134 -> 163 [label="[=]"]
+134 -> 164 [label="[=]"]
135 -> 126 [label="[0x00- ][\"-=][?-0xFF]"]
-135 -> 165 [label="[!]"]
-135 -> 167 [label="[>]"]
-136 -> 174
-137 -> 176 [label="[0x00-0x09][0x0B-0x5D][_-0xFF]"]
-137 -> 138 [label="[0x0A]"]
-137 -> 180 [label="[^]"]
-138 [label="scanner_re2c_default.--emit-dot.re:324"]
-139 -> 174 [label="[0x00-d][f-0xFF]"]
-139 -> 182 [label="[e]"]
-140 -> 141 [label="[0x00-+][--/][:-@][[-^][`][{-0xFF]"]
-140 -> 183 [label="[,]"]
-140 -> 185 [label="[0]"]
-140 -> 186 [label="[1-9]"]
-140 -> 188 [label="[A-Z][_][a-z]"]
-141 [label="scanner_re2c_default.--emit-dot.re:249"]
-142 -> 143
-143 -> 144 [label="[0x00-0x08][0x0A-0x1F][!-\"][$-0xFF]"]
-143 -> 142 [label="[0x09][ ]"]
-143 -> 145 [label="[#]"]
-144 -> 118 [label="yyaccept=0"]
-144 -> 121 [label="yyaccept=1"]
-144 -> 124 [label="yyaccept=2"]
-144 -> 126 [label="yyaccept=3"]
-144 -> 138 [label="yyaccept=4"]
-144 -> 141 [label="yyaccept=5"]
-144 -> 184 [label="yyaccept=6"]
-144 -> 228 [label="yyaccept=7"]
-145 -> 146
-146 -> 144 [label="[0x00-0x08][0x0A-0x1F][!-k][m-0xFF]"]
-146 -> 145 [label="[0x09][ ]"]
-146 -> 190 [label="[l]"]
-147 -> 148
-148 -> 147 [label="[0x00-0x09][0x0B-!][#-[][0x5D-0xFF]"]
-148 -> 144 [label="[0x0A]"]
-148 -> 149 [label="[\"]"]
-148 -> 151 [label="[\\]"]
-149 -> 150
-150 [label="scanner_re2c_default.--emit-dot.re:279"]
-151 -> 147 [label="[0x00-0x09][0x0B-0xFF]"]
-151 -> 144 [label="[0x0A]"]
-152 -> 153
-153 [label="scanner_re2c_default.--emit-dot.re:274"]
-154 -> 155
-155 -> 154 [label="[0x00-0x09][0x0B-&][(-[][0x5D-0xFF]"]
-155 -> 144 [label="[0x0A]"]
-155 -> 156 [label="[']"]
-155 -> 158 [label="[\\]"]
-156 -> 157
-157 [label="scanner_re2c_default.--emit-dot.re:292"]
-158 -> 154 [label="[0x00-0x09][0x0B-0xFF]"]
-158 -> 144 [label="[0x0A]"]
-159 -> 160
-160 [label="scanner_re2c_default.--emit-dot.re:268"]
-161 -> 162
-162 [label="scanner_re2c_default.--emit-dot.re:265"]
-163 -> 164 [label="[0x00-=][?-0xFF]"]
-163 -> 191 [label="[>]"]
-164 [label="scanner_re2c_default.--emit-dot.re:258"]
-165 -> 166
-166 [label="scanner_re2c_default.--emit-dot.re:331"]
-167 -> 194
-168 -> 169
-169 [label="scanner_re2c_default.--emit-dot.re:403"]
-170 -> 202
+135 -> 166 [label="[!]"]
+135 -> 168 [label="[>]"]
+136 -> 137
+137 -> 169 [label="[0x00-0x08][0x0A-0x1F][!-+][--/][:-<][?-@][[-^][`][{-0xFF]"]
+137 -> 171 [label="[0x09][ ]<yyt1>"]
+137 -> 173 [label="[,][=->]<yyt1>"]
+137 -> 136 [label="[0-9][A-Z][_][a-z]"]
+138 -> 176 [label="[0x00-0x09][0x0B-0x5D][_-0xFF]"]
+138 -> 139 [label="[0x0A]"]
+138 -> 180 [label="[^]"]
+139 [label="scanner_re2c_default.--emit-dot.re:324"]
+140 -> 137 [label="[0x00-d][f-0xFF]"]
+140 -> 182 [label="[e]"]
+141 -> 142 [label="[0x00-+][--/][:-@][[-^][`][{-0xFF]"]
+141 -> 183 [label="[,]"]
+141 -> 185 [label="[0]"]
+141 -> 186 [label="[1-9]"]
+141 -> 188 [label="[A-Z][_][a-z]"]
+142 [label="scanner_re2c_default.--emit-dot.re:249"]
+143 -> 144
+144 -> 145 [label="[0x00-0x08][0x0A-0x1F][!-\"][$-0xFF]"]
+144 -> 143 [label="[0x09][ ]"]
+144 -> 146 [label="[#]"]
+145 -> 118 [label="yyaccept=0"]
+145 -> 121 [label="yyaccept=1"]
+145 -> 124 [label="yyaccept=2"]
+145 -> 126 [label="yyaccept=3"]
+145 -> 139 [label="yyaccept=4"]
+145 -> 142 [label="yyaccept=5"]
+145 -> 184 [label="yyaccept=6"]
+145 -> 226 [label="yyaccept=7"]
+146 -> 147
+147 -> 145 [label="[0x00-0x08][0x0A-0x1F][!-k][m-0xFF]"]
+147 -> 146 [label="[0x09][ ]"]
+147 -> 190 [label="[l]"]
+148 -> 149
+149 -> 148 [label="[0x00-0x09][0x0B-!][#-[][0x5D-0xFF]"]
+149 -> 145 [label="[0x0A]"]
+149 -> 150 [label="[\"]"]
+149 -> 152 [label="[\\]"]
+150 -> 151
+151 [label="scanner_re2c_default.--emit-dot.re:279"]
+152 -> 148 [label="[0x00-0x09][0x0B-0xFF]"]
+152 -> 145 [label="[0x0A]"]
+153 -> 154
+154 [label="scanner_re2c_default.--emit-dot.re:274"]
+155 -> 156
+156 -> 155 [label="[0x00-0x09][0x0B-&][(-[][0x5D-0xFF]"]
+156 -> 145 [label="[0x0A]"]
+156 -> 157 [label="[']"]
+156 -> 159 [label="[\\]"]
+157 -> 158
+158 [label="scanner_re2c_default.--emit-dot.re:292"]
+159 -> 155 [label="[0x00-0x09][0x0B-0xFF]"]
+159 -> 145 [label="[0x0A]"]
+160 -> 161
+161 [label="scanner_re2c_default.--emit-dot.re:268"]
+162 -> 163
+163 [label="scanner_re2c_default.--emit-dot.re:265"]
+164 -> 165 [label="[0x00-=][?-0xFF]"]
+164 -> 191 [label="[>]"]
+165 [label="scanner_re2c_default.--emit-dot.re:258"]
+166 -> 167
+167 [label="scanner_re2c_default.--emit-dot.re:331"]
+168 -> 145 [label="[0x00-0x08][0x0A-0x1F][!-9][;-<][>-z][|-0xFF]"]
+168 -> 193 [label="[0x09][ ]<yyt1>"]
+168 -> 195 [label="[:]<yyt1>"]
+168 -> 196 [label="[=]<yyt1>"]
+168 -> 197 [label="[{]<yyt1>"]
+169 -> 170
+170 [label="scanner_re2c_default.--emit-dot.re:403"]
171 -> 172
-172 [label="scanner_re2c_default.--emit-dot.re:397"]
+172 -> 199 [label="[0x00-0x08][0x0A-0x1F][!-+][--<][?-0xFF]"]
+172 -> 171 [label="[0x09][ ]"]
+172 -> 173 [label="[,][=->]"]
173 -> 174
-174 -> 168 [label="[0x00-0x08][0x0A-0x1F][!-+][--/][:-<][?-@][[-^][`][{-0xFF]"]
-174 -> 170 [label="[0x09][ ]"]
-174 -> 171 [label="[,][=->]"]
-174 -> 173 [label="[0-9][A-Z][_][a-z]"]
+174 [label="scanner_re2c_default.--emit-dot.re:397"]
175 -> 176
176 -> 175 [label="[0x00-0x09][0x0B-[][^-0xFF]"]
-176 -> 144 [label="[0x0A]"]
+176 -> 145 [label="[0x0A]"]
176 -> 177 [label="[\\]"]
176 -> 178 [label="[0x5D]"]
177 -> 175 [label="[0x00-0x09][0x0B-0xFF]"]
-177 -> 144 [label="[0x0A]"]
+177 -> 145 [label="[0x0A]"]
178 -> 179
179 [label="scanner_re2c_default.--emit-dot.re:318"]
180 -> 181
181 -> 180 [label="[0x00-0x09][0x0B-[][^-0xFF]"]
-181 -> 144 [label="[0x0A]"]
-181 -> 203 [label="[\\]"]
-181 -> 204 [label="[0x5D]"]
-182 -> 174 [label="[0x00-1][3-0xFF]"]
-182 -> 206 [label="[2]"]
+181 -> 145 [label="[0x0A]"]
+181 -> 201 [label="[\\]"]
+181 -> 202 [label="[0x5D]"]
+182 -> 137 [label="[0x00-1][3-0xFF]"]
+182 -> 204 [label="[2]"]
183 -> 184
184 [label="scanner_re2c_default.--emit-dot.re:370"]
185 -> 187 [label="[0x00-+][--0xFF]"]
-185 -> 207 [label="[,]"]
+185 -> 205 [label="[,]"]
186 -> 187
-187 -> 144 [label="[0x00-+][--/][:-|][~-0xFF]"]
-187 -> 210 [label="[,]"]
+187 -> 145 [label="[0x00-+][--/][:-|][~-0xFF]"]
+187 -> 208 [label="[,]"]
187 -> 186 [label="[0-9]"]
-187 -> 208 [label="[}]"]
+187 -> 206 [label="[}]"]
188 -> 189
-189 -> 144 [label="[0x00-/][:-@][[-^][`][{-|][~-0xFF]"]
+189 -> 145 [label="[0x00-/][:-@][[-^][`][{-|][~-0xFF]"]
189 -> 188 [label="[0-9][A-Z][_][a-z]"]
-189 -> 211 [label="[}]"]
-190 -> 144 [label="[0x00-h][j-0xFF]"]
-190 -> 213 [label="[i]"]
+189 -> 209 [label="[}]"]
+190 -> 145 [label="[0x00-h][j-0xFF]"]
+190 -> 211 [label="[i]"]
191 -> 192
192 [label="scanner_re2c_default.--emit-dot.re:254"]
193 -> 194
-194 -> 144 [label="[0x00-0x08][0x0A-0x1F][!-9][;-<][>-z][|-0xFF]"]
+194 -> 145 [label="[0x00-0x08][0x0A-0x1F][!-9][;-<][>-z][|-0xFF]"]
194 -> 193 [label="[0x09][ ]"]
194 -> 195 [label="[:]"]
194 -> 196 [label="[=]"]
194 -> 197 [label="[{]"]
-195 -> 144 [label="[0x00-<][>-0xFF]"]
+195 -> 145 [label="[0x00-<][>-0xFF]"]
195 -> 197 [label="[=]"]
-196 -> 144 [label="[0x00-=][?-0xFF]"]
+196 -> 145 [label="[0x00-=][?-0xFF]"]
196 -> 197 [label="[>]"]
197 -> 198
198 [label="scanner_re2c_default.--emit-dot.re:328"]
199 -> 200
200 [label="scanner_re2c_default.--emit-dot.re:391"]
-201 -> 202
-202 -> 199 [label="[0x00-0x08][0x0A-0x1F][!-+][--<][?-0xFF]"]
-202 -> 201 [label="[0x09][ ]"]
-202 -> 171 [label="[,][=->]"]
-203 -> 180 [label="[0x00-0x09][0x0B-0xFF]"]
-203 -> 144 [label="[0x0A]"]
-204 -> 205
-205 [label="scanner_re2c_default.--emit-dot.re:312"]
-206 -> 174 [label="[0x00-b][d-0xFF]"]
-206 -> 214 [label="[c]"]
-207 -> 184 [label="[0x00-/][:-|][~-0xFF]"]
-207 -> 215 [label="[0-9]"]
-207 -> 217 [label="[}]"]
-208 -> 209
-209 [label="scanner_re2c_default.--emit-dot.re:352"]
-210 -> 184 [label="[0x00-/][:-|][~-0xFF]"]
-210 -> 215 [label="[0-9]"]
-210 -> 219 [label="[}]"]
-211 -> 212
-212 [label="scanner_re2c_default.--emit-dot.re:374"]
-213 -> 144 [label="[0x00-m][o-0xFF]"]
-213 -> 221 [label="[n]"]
-214 -> 174 [label="[0x00-9][;-0xFF]"]
-214 -> 222 [label="[:]"]
+201 -> 180 [label="[0x00-0x09][0x0B-0xFF]"]
+201 -> 145 [label="[0x0A]"]
+202 -> 203
+203 [label="scanner_re2c_default.--emit-dot.re:312"]
+204 -> 137 [label="[0x00-b][d-0xFF]"]
+204 -> 212 [label="[c]"]
+205 -> 184 [label="[0x00-/][:-|][~-0xFF]"]
+205 -> 213 [label="[0-9]"]
+205 -> 215 [label="[}]"]
+206 -> 207
+207 [label="scanner_re2c_default.--emit-dot.re:352"]
+208 -> 184 [label="[0x00-/][:-|][~-0xFF]"]
+208 -> 213 [label="[0-9]"]
+208 -> 217 [label="[}]"]
+209 -> 210
+210 [label="scanner_re2c_default.--emit-dot.re:374"]
+211 -> 145 [label="[0x00-m][o-0xFF]"]
+211 -> 219 [label="[n]"]
+212 -> 137 [label="[0x00-9][;-0xFF]"]
+212 -> 220 [label="[:]"]
+213 -> 214
+214 -> 145 [label="[0x00-/][:-|][~-0xFF]"]
+214 -> 213 [label="[0-9]"]
+214 -> 221 [label="[}]"]
215 -> 216
-216 -> 144 [label="[0x00-/][:-|][~-0xFF]"]
-216 -> 215 [label="[0-9]"]
-216 -> 223 [label="[}]"]
+216 [label="scanner_re2c_default.--emit-dot.re:347"]
217 -> 218
-218 [label="scanner_re2c_default.--emit-dot.re:347"]
-219 -> 220
-220 [label="scanner_re2c_default.--emit-dot.re:364"]
-221 -> 144 [label="[0x00-d][f-0xFF]"]
-221 -> 225 [label="[e]"]
-222 -> 169 [label="[0x00-@][[-^][`][{-0xFF]"]
-222 -> 226 [label="[A-Z][_][a-z]"]
-223 -> 224
-224 [label="scanner_re2c_default.--emit-dot.re:358"]
-225 -> 230 [label="[0x00-0][:-0xFF]"]
-225 -> 144 [label="[1-9]"]
-226 -> 227
-227 -> 228 [label="[0x00-/][;-?][[-^][`][{-0xFF]"]
-227 -> 226 [label="[0-9][A-Z][_][a-z]"]
-227 -> 231 [label="[:]"]
-227 -> 232 [label="[@]"]
-228 [label="scanner_re2c_default.--emit-dot.re:383"]
-229 -> 230
-230 -> 144 [label="[0x00-0x08][0x0A-0x1F][!-0][:-0xFF]"]
-230 -> 229 [label="[0x09][ ]"]
-230 -> 233 [label="[1-9]"]
-231 -> 144 [label="[0x00-@][[-^][`][{-0xFF]"]
-231 -> 226 [label="[A-Z][_][a-z]"]
-232 -> 144 [label="[0x00-@][[-^][`][{-0xFF]"]
-232 -> 235 [label="[A-Z][_][a-z]"]
+218 [label="scanner_re2c_default.--emit-dot.re:364"]
+219 -> 145 [label="[0x00-d][f-0xFF]"]
+219 -> 223 [label="[e]"]
+220 -> 170 [label="[0x00-@][[-^][`][{-0xFF]"]
+220 -> 224 [label="[A-Z][_][a-z]"]
+221 -> 222
+222 [label="scanner_re2c_default.--emit-dot.re:358"]
+223 -> 228 [label="[0x00-0][:-0xFF]"]
+223 -> 145 [label="[1-9]"]
+224 -> 225
+225 -> 226 [label="[0x00-/][;-?][[-^][`][{-0xFF]"]
+225 -> 224 [label="[0-9][A-Z][_][a-z]"]
+225 -> 229 [label="[:]"]
+225 -> 230 [label="[@]"]
+226 [label="scanner_re2c_default.--emit-dot.re:383"]
+227 -> 228
+228 -> 145 [label="[0x00-0x08][0x0A-0x1F][!-0][:-0xFF]"]
+228 -> 227 [label="[0x09][ ]"]
+228 -> 231 [label="[1-9]<yyt1>"]
+229 -> 145 [label="[0x00-@][[-^][`][{-0xFF]"]
+229 -> 224 [label="[A-Z][_][a-z]"]
+230 -> 145 [label="[0x00-@][[-^][`][{-0xFF]"]
+230 -> 233 [label="[A-Z][_][a-z]"]
+231 -> 232
+232 -> 145 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!-/][:-0xFF]"]
+232 -> 235 [label="[0x09][ ]"]
+232 -> 237 [label="[0x0A]"]
+232 -> 239 [label="[0x0D]"]
+232 -> 231 [label="[0-9]"]
233 -> 234
-234 -> 144 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!-/][:-0xFF]"]
-234 -> 237 [label="[0x09][ ]"]
-234 -> 239 [label="[0x0A]"]
-234 -> 241 [label="[0x0D]"]
-234 -> 233 [label="[0-9]"]
+234 -> 226 [label="[0x00-/][:-@][[-^][`][{-0xFF]"]
+234 -> 233 [label="[0-9][A-Z][_][a-z]"]
235 -> 236
-236 -> 228 [label="[0x00-/][:-@][[-^][`][{-0xFF]"]
-236 -> 235 [label="[0-9][A-Z][_][a-z]"]
+236 -> 145 [label="[0x00-0x08][0x0A-0x1F][!][#-0xFF]"]
+236 -> 235 [label="[0x09][ ]"]
+236 -> 240 [label="[\"]"]
237 -> 238
-238 -> 144 [label="[0x00-0x08][0x0A-0x1F][!][#-0xFF]"]
-238 -> 237 [label="[0x09][ ]"]
-238 -> 242 [label="[\"]"]
-239 -> 240
-240 [label="scanner_re2c_default.--emit-dot.re:433"]
-241 -> 144 [label="[0x00-0x09][0x0B-0xFF]"]
-241 -> 239 [label="[0x0A]"]
-242 -> 243
-243 -> 242 [label="[0x00-0x09][0x0B-!][#-[][0x5D-0xFF]"]
-243 -> 144 [label="[0x0A]"]
-243 -> 244 [label="[\"]"]
-243 -> 245 [label="[\\]"]
-244 -> 144 [label="[0x00-0x09][0x0B-0x0C][0x0E-0xFF]"]
-244 -> 239 [label="[0x0A]"]
-244 -> 241 [label="[0x0D]"]
-245 -> 242 [label="[0x00-0x09][0x0B-0xFF]"]
-245 -> 144 [label="[0x0A]"]
+238 [label="scanner_re2c_default.--emit-dot.re:433"]
+239 -> 145 [label="[0x00-0x09][0x0B-0xFF]"]
+239 -> 237 [label="[0x0A]"]
+240 -> 241
+241 -> 240 [label="[0x00-0x09][0x0B-!][#-[][0x5D-0xFF]"]
+241 -> 145 [label="[0x0A]"]
+241 -> 242 [label="[\"]"]
+241 -> 243 [label="[\\]"]
+242 -> 145 [label="[0x00-0x09][0x0B-0x0C][0x0E-0xFF]"]
+242 -> 237 [label="[0x0A]"]
+242 -> 239 [label="[0x0D]"]
+243 -> 240 [label="[0x00-0x09][0x0B-0xFF]"]
+243 -> 145 [label="[0x0A]"]
}
-
digraph re2c {
-
-247 -> 248 [label="[0x00]"]
-247 -> 250 [label="[0x01-0x09][0x0B-!][#-&][(-z][|][~-0xFF]"]
-247 -> 252 [label="[0x0A]"]
-247 -> 254 [label="[\"]"]
-247 -> 255 [label="[']"]
-247 -> 256 [label="[{]"]
-247 -> 258 [label="[}]"]
+245 -> 248 [label="[0x01-0x09][0x0B-!][#-&][(-z][|][~-0xFF]"]
+245 -> 246 [label="[0x00]"]
+245 -> 250 [label="[0x0A]"]
+245 -> 252 [label="[\"]"]
+245 -> 253 [label="[']"]
+245 -> 254 [label="[{]"]
+245 -> 256 [label="[}]"]
+246 -> 247
+247 [label="scanner_re2c_default.--emit-dot.re:517"]
248 -> 249
-249 [label="scanner_re2c_default.--emit-dot.re:517"]
-250 -> 251
-251 [label="scanner_re2c_default.--emit-dot.re:531"]
-252 -> 253 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!-\"][$-0xFF]"]
-252 -> 260 [label="[0x09][ ]"]
-252 -> 262 [label="[0x0A][0x0D]"]
-252 -> 263 [label="[#]"]
-253 [label="scanner_re2c_default.--emit-dot.re:497"]
-254 -> 267 [label="[0x00-0x09][0x0B-0xFF]"]
-254 -> 251 [label="[0x0A]"]
-255 -> 272 [label="[0x00-0x09][0x0B-0xFF]"]
-255 -> 251 [label="[0x0A]"]
+249 [label="scanner_re2c_default.--emit-dot.re:531"]
+250 -> 251 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!-\"][$-0xFF]"]
+250 -> 258 [label="[0x09][ ]"]
+250 -> 260 [label="[0x0A][0x0D]"]
+250 -> 261 [label="[#]"]
+251 [label="scanner_re2c_default.--emit-dot.re:497"]
+252 -> 265 [label="[0x00-0x09][0x0B-0xFF]"]
+252 -> 249 [label="[0x0A]"]
+253 -> 270 [label="[0x00-0x09][0x0B-0xFF]"]
+253 -> 249 [label="[0x0A]"]
+254 -> 255
+255 [label="scanner_re2c_default.--emit-dot.re:469"]
256 -> 257
-257 [label="scanner_re2c_default.--emit-dot.re:469"]
-258 -> 259
-259 [label="scanner_re2c_default.--emit-dot.re:456"]
-260 -> 261 [label="[0x00-0x08][0x0A-0x1F][!-\"][$-0xFF]"]
-260 -> 274 [label="[0x09][ ]"]
-260 -> 263 [label="[#]"]
-261 [label="scanner_re2c_default.--emit-dot.re:484"]
-262 -> 261
-263 -> 264
-264 -> 265 [label="[0x00-0x08][0x0A-0x1F][!-k][m-0xFF]"]
-264 -> 263 [label="[0x09][ ]"]
-264 -> 276 [label="[l]"]
-265 -> 253 [label="yyaccept=0"]
-265 -> 251 [label="yyaccept=1"]
-265 -> 261 [label="yyaccept=2"]
+257 [label="scanner_re2c_default.--emit-dot.re:456"]
+258 -> 259 [label="[0x00-0x08][0x0A-0x1F][!-\"][$-0xFF]"]
+258 -> 272 [label="[0x09][ ]"]
+258 -> 261 [label="[#]"]
+259 [label="scanner_re2c_default.--emit-dot.re:484"]
+260 -> 259
+261 -> 262
+262 -> 263 [label="[0x00-0x08][0x0A-0x1F][!-k][m-0xFF]"]
+262 -> 261 [label="[0x09][ ]"]
+262 -> 274 [label="[l]"]
+263 -> 251 [label="yyaccept=0"]
+263 -> 249 [label="yyaccept=1"]
+263 -> 259 [label="yyaccept=2"]
+264 -> 265
+265 -> 264 [label="[0x00-0x09][0x0B-!][#-[][0x5D-0xFF]"]
+265 -> 263 [label="[0x0A]"]
+265 -> 266 [label="[\"]"]
+265 -> 268 [label="[\\]"]
266 -> 267
-267 -> 266 [label="[0x00-0x09][0x0B-!][#-[][0x5D-0xFF]"]
-267 -> 265 [label="[0x0A]"]
-267 -> 268 [label="[\"]"]
-267 -> 270 [label="[\\]"]
-268 -> 269
-269 [label="scanner_re2c_default.--emit-dot.re:528"]
-270 -> 266 [label="[0x00-0x09][0x0B-0xFF]"]
-270 -> 265 [label="[0x0A]"]
-271 -> 272
-272 -> 271 [label="[0x00-0x09][0x0B-&][(-[][0x5D-0xFF]"]
-272 -> 265 [label="[0x0A]"]
-272 -> 268 [label="[']"]
-272 -> 273 [label="[\\]"]
-273 -> 271 [label="[0x00-0x09][0x0B-0xFF]"]
-273 -> 265 [label="[0x0A]"]
-274 -> 275
-275 -> 265 [label="[0x00-0x08][0x0A-0x1F][!-\"][$-0xFF]"]
-275 -> 274 [label="[0x09][ ]"]
-275 -> 263 [label="[#]"]
-276 -> 265 [label="[0x00-h][j-0xFF]"]
-276 -> 277 [label="[i]"]
-277 -> 265 [label="[0x00-m][o-0xFF]"]
-277 -> 278 [label="[n]"]
-278 -> 265 [label="[0x00-d][f-0xFF]"]
-278 -> 279 [label="[e]"]
-279 -> 281 [label="[0x00-0][:-0xFF]"]
-279 -> 265 [label="[1-9]"]
+267 [label="scanner_re2c_default.--emit-dot.re:528"]
+268 -> 264 [label="[0x00-0x09][0x0B-0xFF]"]
+268 -> 263 [label="[0x0A]"]
+269 -> 270
+270 -> 269 [label="[0x00-0x09][0x0B-&][(-[][0x5D-0xFF]"]
+270 -> 263 [label="[0x0A]"]
+270 -> 266 [label="[']"]
+270 -> 271 [label="[\\]"]
+271 -> 269 [label="[0x00-0x09][0x0B-0xFF]"]
+271 -> 263 [label="[0x0A]"]
+272 -> 273
+273 -> 263 [label="[0x00-0x08][0x0A-0x1F][!-\"][$-0xFF]"]
+273 -> 272 [label="[0x09][ ]"]
+273 -> 261 [label="[#]"]
+274 -> 263 [label="[0x00-h][j-0xFF]"]
+274 -> 275 [label="[i]"]
+275 -> 263 [label="[0x00-m][o-0xFF]"]
+275 -> 276 [label="[n]"]
+276 -> 263 [label="[0x00-d][f-0xFF]"]
+276 -> 277 [label="[e]"]
+277 -> 279 [label="[0x00-0][:-0xFF]"]
+277 -> 263 [label="[1-9]"]
+278 -> 279
+279 -> 263 [label="[0x00-0x08][0x0A-0x1F][!-0][:-0xFF]"]
+279 -> 278 [label="[0x09][ ]"]
+279 -> 280 [label="[1-9]<yyt1>"]
280 -> 281
-281 -> 265 [label="[0x00-0x08][0x0A-0x1F][!-0][:-0xFF]"]
-281 -> 280 [label="[0x09][ ]"]
-281 -> 282 [label="[1-9]"]
+281 -> 263 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!-/][:-0xFF]"]
+281 -> 282 [label="[0x09][ ]"]
+281 -> 284 [label="[0x0A]"]
+281 -> 286 [label="[0x0D]"]
+281 -> 280 [label="[0-9]"]
282 -> 283
-283 -> 265 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!-/][:-0xFF]"]
-283 -> 284 [label="[0x09][ ]"]
-283 -> 286 [label="[0x0A]"]
-283 -> 288 [label="[0x0D]"]
-283 -> 282 [label="[0-9]"]
+283 -> 263 [label="[0x00-0x08][0x0A-0x1F][!][#-0xFF]"]
+283 -> 282 [label="[0x09][ ]"]
+283 -> 287 [label="[\"]"]
284 -> 285
-285 -> 265 [label="[0x00-0x08][0x0A-0x1F][!][#-0xFF]"]
-285 -> 284 [label="[0x09][ ]"]
-285 -> 289 [label="[\"]"]
-286 -> 287
-287 [label="scanner_re2c_default.--emit-dot.re:480"]
-288 -> 265 [label="[0x00-0x09][0x0B-0xFF]"]
-288 -> 286 [label="[0x0A]"]
-289 -> 290
-290 -> 289 [label="[0x00-0x09][0x0B-!][#-[][0x5D-0xFF]"]
-290 -> 265 [label="[0x0A]"]
-290 -> 291 [label="[\"]"]
-290 -> 292 [label="[\\]"]
-291 -> 265 [label="[0x00-0x09][0x0B-0x0C][0x0E-0xFF]"]
-291 -> 286 [label="[0x0A]"]
-291 -> 288 [label="[0x0D]"]
-292 -> 289 [label="[0x00-0x09][0x0B-0xFF]"]
-292 -> 265 [label="[0x0A]"]
+285 [label="scanner_re2c_default.--emit-dot.re:480"]
+286 -> 263 [label="[0x00-0x09][0x0B-0xFF]"]
+286 -> 284 [label="[0x0A]"]
+287 -> 288
+288 -> 287 [label="[0x00-0x09][0x0B-!][#-[][0x5D-0xFF]"]
+288 -> 263 [label="[0x0A]"]
+288 -> 289 [label="[\"]"]
+288 -> 290 [label="[\\]"]
+289 -> 263 [label="[0x00-0x09][0x0B-0x0C][0x0E-0xFF]"]
+289 -> 284 [label="[0x0A]"]
+289 -> 286 [label="[0x0D]"]
+290 -> 287 [label="[0x00-0x09][0x0B-0xFF]"]
+290 -> 263 [label="[0x0A]"]
}
-
digraph re2c {
-
-294 -> 295 [label="[0x00-0x09][0x0B-)][+-.][0-0xFF]"]
-294 -> 297 [label="[0x0A]"]
-294 -> 299 [label="[*]"]
-294 -> 300 [label="[/]"]
-295 -> 296
-296 [label="scanner_re2c_default.--emit-dot.re:566"]
-297 -> 298 [label="[0x00-0x08][0x0A-0x1F][!-\"][$-0xFF]"]
-297 -> 301 [label="[0x09][ ]"]
-297 -> 304 [label="[#]"]
-298 [label="scanner_re2c_default.--emit-dot.re:557"]
-299 -> 296 [label="[0x00-.][0-0xFF]"]
-299 -> 306 [label="[/]"]
-300 -> 296 [label="[0x00-)][+-0xFF]"]
-300 -> 308 [label="[*]"]
-301 -> 302
-302 -> 303 [label="[0x00-0x08][0x0A-0x1F][!-\"][$-0xFF]"]
-302 -> 301 [label="[0x09][ ]"]
-302 -> 304 [label="[#]"]
-303 -> 298
+292 -> 293 [label="[0x00-0x09][0x0B-)][+-.][0-0xFF]"]
+292 -> 295 [label="[0x0A]"]
+292 -> 297 [label="[*]"]
+292 -> 298 [label="[/]"]
+293 -> 294
+294 [label="scanner_re2c_default.--emit-dot.re:566"]
+295 -> 296 [label="[0x00-0x08][0x0A-0x1F][!-\"][$-0xFF]"]
+295 -> 299 [label="[0x09][ ]"]
+295 -> 302 [label="[#]"]
+296 [label="scanner_re2c_default.--emit-dot.re:557"]
+297 -> 294 [label="[0x00-.][0-0xFF]"]
+297 -> 304 [label="[/]"]
+298 -> 294 [label="[0x00-)][+-0xFF]"]
+298 -> 306 [label="[*]"]
+299 -> 300
+300 -> 301 [label="[0x00-0x08][0x0A-0x1F][!-\"][$-0xFF]"]
+300 -> 299 [label="[0x09][ ]"]
+300 -> 302 [label="[#]"]
+301 -> 296 [label="yyaccept=0"]
+302 -> 303
+303 -> 301 [label="[0x00-0x08][0x0A-0x1F][!-k][m-0xFF]"]
+303 -> 302 [label="[0x09][ ]"]
+303 -> 308 [label="[l]"]
304 -> 305
-305 -> 303 [label="[0x00-0x08][0x0A-0x1F][!-k][m-0xFF]"]
-305 -> 304 [label="[0x09][ ]"]
-305 -> 310 [label="[l]"]
+305 [label="scanner_re2c_default.--emit-dot.re:538"]
306 -> 307
-307 [label="scanner_re2c_default.--emit-dot.re:538"]
-308 -> 309
-309 [label="scanner_re2c_default.--emit-dot.re:548"]
-310 -> 303 [label="[0x00-h][j-0xFF]"]
-310 -> 311 [label="[i]"]
-311 -> 303 [label="[0x00-m][o-0xFF]"]
-311 -> 312 [label="[n]"]
-312 -> 303 [label="[0x00-d][f-0xFF]"]
-312 -> 313 [label="[e]"]
-313 -> 315 [label="[0x00-0][:-0xFF]"]
-313 -> 303 [label="[1-9]"]
+307 [label="scanner_re2c_default.--emit-dot.re:548"]
+308 -> 301 [label="[0x00-h][j-0xFF]"]
+308 -> 309 [label="[i]"]
+309 -> 301 [label="[0x00-m][o-0xFF]"]
+309 -> 310 [label="[n]"]
+310 -> 301 [label="[0x00-d][f-0xFF]"]
+310 -> 311 [label="[e]"]
+311 -> 313 [label="[0x00-0][:-0xFF]"]
+311 -> 301 [label="[1-9]"]
+312 -> 313
+313 -> 301 [label="[0x00-0x08][0x0A-0x1F][!-0][:-0xFF]"]
+313 -> 312 [label="[0x09][ ]"]
+313 -> 314 [label="[1-9]<yyt1>"]
314 -> 315
-315 -> 303 [label="[0x00-0x08][0x0A-0x1F][!-0][:-0xFF]"]
-315 -> 314 [label="[0x09][ ]"]
-315 -> 316 [label="[1-9]"]
+315 -> 301 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!-/][:-0xFF]"]
+315 -> 316 [label="[0x09][ ]"]
+315 -> 318 [label="[0x0A]"]
+315 -> 320 [label="[0x0D]"]
+315 -> 314 [label="[0-9]"]
316 -> 317
-317 -> 303 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!-/][:-0xFF]"]
-317 -> 318 [label="[0x09][ ]"]
-317 -> 320 [label="[0x0A]"]
-317 -> 322 [label="[0x0D]"]
-317 -> 316 [label="[0-9]"]
+317 -> 301 [label="[0x00-0x08][0x0A-0x1F][!][#-0xFF]"]
+317 -> 316 [label="[0x09][ ]"]
+317 -> 321 [label="[\"]"]
318 -> 319
-319 -> 303 [label="[0x00-0x08][0x0A-0x1F][!][#-0xFF]"]
-319 -> 318 [label="[0x09][ ]"]
-319 -> 323 [label="[\"]"]
-320 -> 321
-321 [label="scanner_re2c_default.--emit-dot.re:553"]
-322 -> 303 [label="[0x00-0x09][0x0B-0xFF]"]
-322 -> 320 [label="[0x0A]"]
-323 -> 324
-324 -> 323 [label="[0x00-0x09][0x0B-!][#-[][0x5D-0xFF]"]
-324 -> 303 [label="[0x0A]"]
-324 -> 325 [label="[\"]"]
-324 -> 326 [label="[\\]"]
-325 -> 303 [label="[0x00-0x09][0x0B-0x0C][0x0E-0xFF]"]
-325 -> 320 [label="[0x0A]"]
-325 -> 322 [label="[0x0D]"]
-326 -> 323 [label="[0x00-0x09][0x0B-0xFF]"]
-326 -> 303 [label="[0x0A]"]
+319 [label="scanner_re2c_default.--emit-dot.re:553"]
+320 -> 301 [label="[0x00-0x09][0x0B-0xFF]"]
+320 -> 318 [label="[0x0A]"]
+321 -> 322
+322 -> 321 [label="[0x00-0x09][0x0B-!][#-[][0x5D-0xFF]"]
+322 -> 301 [label="[0x0A]"]
+322 -> 323 [label="[\"]"]
+322 -> 324 [label="[\\]"]
+323 -> 301 [label="[0x00-0x09][0x0B-0x0C][0x0E-0xFF]"]
+323 -> 318 [label="[0x0A]"]
+323 -> 320 [label="[0x0D]"]
+324 -> 321 [label="[0x00-0x09][0x0B-0xFF]"]
+324 -> 301 [label="[0x0A]"]
}
-
digraph re2c {
-
-328 -> 329 [label="[0x00-0x09][0x0B-0xFF]"]
-328 -> 331 [label="[0x0A]"]
+326 -> 327 [label="[0x00-0x09][0x0B-0xFF]"]
+326 -> 329 [label="[0x0A]"]
+327 -> 328
+328 [label="scanner_re2c_default.--emit-dot.re:584"]
329 -> 330
-330 [label="scanner_re2c_default.--emit-dot.re:584"]
-331 -> 332
-332 [label="scanner_re2c_default.--emit-dot.re:577"]
+330 [label="scanner_re2c_default.--emit-dot.re:577"]
}
-
digraph re2c {
-
-334 -> 335 [label="[0x00-0x08][0x0A-0x1F][!-<][>-0xFF]"]
-334 -> 337 [label="[0x09][ ]"]
-334 -> 340 [label="[=]"]
+332 -> 333 [label="[0x00-0x08][0x0A-0x1F][!-<][>-0xFF]"]
+332 -> 335 [label="[0x09][ ]"]
+332 -> 338 [label="[=]"]
+333 -> 334
+334 [label="scanner_re2c_default.--emit-dot.re:601"]
335 -> 336
-336 [label="scanner_re2c_default.--emit-dot.re:601"]
-337 -> 338
-338 -> 339 [label="[0x00-0x08][0x0A-0x1F][!-0xFF]"]
-338 -> 337 [label="[0x09][ ]"]
-339 [label="scanner_re2c_default.--emit-dot.re:593"]
-340 -> 341
-341 -> 342 [label="[0x00-0x08][0x0A-0x1F][!-0xFF]"]
-341 -> 340 [label="[0x09][ ]"]
-342 [label="scanner_re2c_default.--emit-dot.re:596"]
+336 -> 337 [label="[0x00-0x08][0x0A-0x1F][!-0xFF]"]
+336 -> 335 [label="[0x09][ ]"]
+337 [label="scanner_re2c_default.--emit-dot.re:593"]
+338 -> 339
+339 -> 340 [label="[0x00-0x08][0x0A-0x1F][!-0xFF]"]
+339 -> 338 [label="[0x09][ ]"]
+340 [label="scanner_re2c_default.--emit-dot.re:596"]
}
-
digraph re2c {
-
-344 -> 346 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!][#-&][(-,][.-/][:][<-0xFF]"]
-344 -> 345 [label="[0x09-0x0A][0x0D][ ][;]"]
-344 -> 348 [label="[\"]"]
-344 -> 350 [label="[']"]
-344 -> 352 [label="[-]"]
-344 -> 353 [label="[0]"]
-344 -> 355 [label="[1-9]"]
-345 [label="scanner_re2c_default.--emit-dot.re:614"]
+342 -> 344 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!][#-&][(-,][.-/][:][<-0xFF]"]
+342 -> 343 [label="[0x09-0x0A][0x0D][ ][;]"]
+342 -> 346 [label="[\"]"]
+342 -> 348 [label="[']"]
+342 -> 350 [label="[-]"]
+342 -> 351 [label="[0]"]
+342 -> 353 [label="[1-9]"]
+343 [label="scanner_re2c_default.--emit-dot.re:614"]
+344 -> 345
+345 -> 344 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!-:][<-0xFF]"]
+345 -> 343 [label="[0x09-0x0A][0x0D][ ][;]"]
346 -> 347
-347 -> 346 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!-:][<-0xFF]"]
-347 -> 345 [label="[0x09-0x0A][0x0D][ ][;]"]
+347 -> 346 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!][#-:][<-[][0x5D-0xFF]"]
+347 -> 355 [label="[0x09][0x0D][ ][;]"]
+347 -> 343 [label="[0x0A]"]
+347 -> 344 [label="[\"]"]
+347 -> 358 [label="[\\]"]
348 -> 349
-349 -> 348 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!][#-:][<-[][0x5D-0xFF]"]
-349 -> 357 [label="[0x09][0x0D][ ][;]"]
-349 -> 345 [label="[0x0A]"]
-349 -> 346 [label="[\"]"]
-349 -> 360 [label="[\\]"]
-350 -> 351
-351 -> 350 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!-&][(-:][<-[][0x5D-0xFF]"]
-351 -> 361 [label="[0x09][0x0D][ ][;]"]
-351 -> 345 [label="[0x0A]"]
-351 -> 346 [label="[']"]
-351 -> 363 [label="[\\]"]
-352 -> 347 [label="[0x00-0][:-0xFF]"]
-352 -> 355 [label="[1-9]"]
-353 -> 346 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!-:][<-0xFF]"]
-353 -> 354 [label="[0x09-0x0A][0x0D][ ][;]"]
-354 [label="scanner_re2c_default.--emit-dot.re:608"]
+349 -> 348 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!-&][(-:][<-[][0x5D-0xFF]"]
+349 -> 359 [label="[0x09][0x0D][ ][;]"]
+349 -> 343 [label="[0x0A]"]
+349 -> 344 [label="[']"]
+349 -> 361 [label="[\\]"]
+350 -> 345 [label="[0x00-0][:-0xFF]"]
+350 -> 353 [label="[1-9]"]
+351 -> 344 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!-:][<-0xFF]"]
+351 -> 352 [label="[0x09-0x0A][0x0D][ ][;]"]
+352 [label="scanner_re2c_default.--emit-dot.re:608"]
+353 -> 354
+354 -> 344 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!-/][:][<-0xFF]"]
+354 -> 352 [label="[0x09-0x0A][0x0D][ ][;]"]
+354 -> 353 [label="[0-9]"]
355 -> 356
-356 -> 346 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!-/][:][<-0xFF]"]
-356 -> 354 [label="[0x09-0x0A][0x0D][ ][;]"]
-356 -> 355 [label="[0-9]"]
-357 -> 358
-358 -> 357 [label="[0x00-0x09][0x0B-!][#-[][0x5D-0xFF]"]
-358 -> 359 [label="[0x0A]"]
-358 -> 364 [label="[\"]"]
-358 -> 365 [label="[\\]"]
-359 -> 345
-360 -> 348 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!-:][<-0xFF]"]
-360 -> 357 [label="[0x09][0x0D][ ][;]"]
-360 -> 345 [label="[0x0A]"]
-361 -> 362
-362 -> 361 [label="[0x00-0x09][0x0B-&][(-[][0x5D-0xFF]"]
-362 -> 359 [label="[0x0A]"]
-362 -> 364 [label="[']"]
-362 -> 366 [label="[\\]"]
-363 -> 350 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!-:][<-0xFF]"]
-363 -> 361 [label="[0x09][0x0D][ ][;]"]
-363 -> 345 [label="[0x0A]"]
-364 -> 345
-365 -> 357 [label="[0x00-0x09][0x0B-0xFF]"]
-365 -> 359 [label="[0x0A]"]
-366 -> 361 [label="[0x00-0x09][0x0B-0xFF]"]
-366 -> 359 [label="[0x0A]"]
+356 -> 355 [label="[0x00-0x09][0x0B-!][#-[][0x5D-0xFF]"]
+356 -> 357 [label="[0x0A]"]
+356 -> 362 [label="[\"]"]
+356 -> 363 [label="[\\]"]
+357 -> 343 [label="yyaccept=0"]
+358 -> 346 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!-:][<-0xFF]"]
+358 -> 355 [label="[0x09][0x0D][ ][;]"]
+358 -> 343 [label="[0x0A]"]
+359 -> 360
+360 -> 359 [label="[0x00-0x09][0x0B-&][(-[][0x5D-0xFF]"]
+360 -> 357 [label="[0x0A]"]
+360 -> 362 [label="[']"]
+360 -> 364 [label="[\\]"]
+361 -> 348 [label="[0x00-0x08][0x0B-0x0C][0x0E-0x1F][!-:][<-0xFF]"]
+361 -> 359 [label="[0x09][0x0D][ ][;]"]
+361 -> 343 [label="[0x0A]"]
+362 -> 343
+363 -> 355 [label="[0x00-0x09][0x0B-0xFF]"]
+363 -> 357 [label="[0x0A]"]
+364 -> 359 [label="[0x00-0x09][0x0B-0xFF]"]
+364 -> 357 [label="[0x0A]"]
}
-
digraph re2c {
-
-368 -> 369 [label="[0x00-0x09][0x0B-!][#-0][:-0xFF]"]
-368 -> 371 [label="[0x0A]"]
-368 -> 373 [label="[\"]"]
-368 -> 374 [label="[1-9]"]
+366 -> 367 [label="[0x00-0x09][0x0B-!][#-0][:-0xFF]"]
+366 -> 369 [label="[0x0A]"]
+366 -> 371 [label="[\"]"]
+366 -> 372 [label="[1-9]"]
+367 -> 368
+368 [label="scanner_re2c_default.--emit-dot.re:650"]
369 -> 370
-370 [label="scanner_re2c_default.--emit-dot.re:650"]
-371 -> 372
-372 [label="scanner_re2c_default.--emit-dot.re:638"]
-373 -> 378 [label="[0x00-0x09][0x0B-0xFF]"]
-373 -> 370 [label="[0x0A]"]
-374 -> 375
-375 -> 376 [label="[0x00-/][:-0xFF]"]
-375 -> 374 [label="[0-9]"]
-376 [label="scanner_re2c_default.--emit-dot.re:628"]
-377 -> 378
-378 -> 377 [label="[0x00-0x09][0x0B-!][#-[][0x5D-0xFF]"]
-378 -> 379 [label="[0x0A]"]
-378 -> 380 [label="[\"]"]
-378 -> 382 [label="[\\]"]
-379 -> 370
-380 -> 381
-381 [label="scanner_re2c_default.--emit-dot.re:633"]
-382 -> 377 [label="[0x00-0x09][0x0B-0xFF]"]
-382 -> 379 [label="[0x0A]"]
+370 [label="scanner_re2c_default.--emit-dot.re:638"]
+371 -> 376 [label="[0x00-0x09][0x0B-0xFF]"]
+371 -> 368 [label="[0x0A]"]
+372 -> 373
+373 -> 374 [label="[0x00-/][:-0xFF]"]
+373 -> 372 [label="[0-9]"]
+374 [label="scanner_re2c_default.--emit-dot.re:628"]
+375 -> 376
+376 -> 375 [label="[0x00-0x09][0x0B-!][#-[][0x5D-0xFF]"]
+376 -> 377 [label="[0x0A]"]
+376 -> 378 [label="[\"]"]
+376 -> 380 [label="[\\]"]
+377 -> 368 [label="yyaccept=0"]
+378 -> 379
+379 [label="scanner_re2c_default.--emit-dot.re:633"]
+380 -> 375 [label="[0x00-0x09][0x0B-0xFF]"]
+380 -> 377 [label="[0x0A]"]
}
re2c: warning: line 614: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/scanner_re2c_default.bi.c b/test/scanner_re2c_default.bi.c
index 1bb53c5e..f949f75e 100644
--- a/test/scanner_re2c_default.bi.c
+++ b/test/scanner_re2c_default.bi.c
@@ -365,7 +365,6 @@ yy49:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- YYCTXMARKER = YYCURSOR;
yy50:
if (yych <= 0x1F) {
if (yych == '\t') goto yy49;
@@ -373,7 +372,10 @@ yy50:
} else {
if (yych <= ' ') goto yy49;
if (yych <= '0') goto yy13;
- if (yych <= '9') goto yy57;
+ if (yych <= '9') {
+ YYCTXMARKER = YYCURSOR;
+ goto yy57;
+ }
goto yy13;
}
yy51:
@@ -692,38 +694,38 @@ scan:
YYCTYPE yych;
unsigned int yyaccept = 0;
static const unsigned char yybm[] = {
- 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 92, 0, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 88,
- 92, 88, 80, 88, 88, 88, 88, 72,
- 88, 88, 88, 88, 88, 88, 88, 88,
+ 112, 112, 112, 112, 112, 112, 112, 112,
+ 112, 116, 0, 112, 112, 112, 112, 112,
+ 112, 112, 112, 112, 112, 112, 112, 112,
+ 112, 112, 112, 112, 112, 112, 112, 112,
+ 116, 112, 96, 112, 112, 112, 112, 80,
+ 112, 112, 112, 112, 112, 112, 112, 112,
248, 248, 248, 248, 248, 248, 248, 248,
- 248, 248, 88, 88, 88, 88, 88, 88,
- 88, 120, 120, 120, 120, 120, 120, 120,
+ 248, 248, 112, 112, 112, 112, 112, 112,
+ 112, 120, 120, 120, 120, 120, 120, 120,
120, 120, 120, 120, 120, 120, 120, 120,
120, 120, 120, 120, 120, 120, 120, 120,
- 120, 120, 120, 88, 0, 24, 88, 120,
- 88, 120, 120, 120, 120, 120, 120, 120,
+ 120, 120, 120, 112, 0, 48, 112, 120,
+ 112, 120, 120, 120, 120, 120, 120, 120,
120, 120, 120, 120, 120, 120, 120, 120,
120, 120, 120, 120, 120, 120, 120, 120,
- 120, 120, 120, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 88,
- 88, 88, 88, 88, 88, 88, 88, 88,
+ 120, 120, 120, 112, 112, 112, 112, 112,
+ 112, 112, 112, 112, 112, 112, 112, 112,
+ 112, 112, 112, 112, 112, 112, 112, 112,
+ 112, 112, 112, 112, 112, 112, 112, 112,
+ 112, 112, 112, 112, 112, 112, 112, 112,
+ 112, 112, 112, 112, 112, 112, 112, 112,
+ 112, 112, 112, 112, 112, 112, 112, 112,
+ 112, 112, 112, 112, 112, 112, 112, 112,
+ 112, 112, 112, 112, 112, 112, 112, 112,
+ 112, 112, 112, 112, 112, 112, 112, 112,
+ 112, 112, 112, 112, 112, 112, 112, 112,
+ 112, 112, 112, 112, 112, 112, 112, 112,
+ 112, 112, 112, 112, 112, 112, 112, 112,
+ 112, 112, 112, 112, 112, 112, 112, 112,
+ 112, 112, 112, 112, 112, 112, 112, 112,
+ 112, 112, 112, 112, 112, 112, 112, 112,
+ 112, 112, 112, 112, 112, 112, 112, 112,
};
if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
yych = *YYCURSOR;
@@ -769,7 +771,7 @@ scan:
if (yych <= '?') goto yy129;
} else {
if (yych <= 'Z') goto yy136;
- if (yych <= '[') goto yy137;
+ if (yych <= '[') goto yy138;
goto yy125;
}
}
@@ -779,10 +781,10 @@ scan:
if (yych >= 'a') goto yy136;
} else {
if (yych <= 'z') {
- if (yych <= 'r') goto yy139;
+ if (yych <= 'r') goto yy140;
goto yy136;
} else {
- if (yych <= '{') goto yy140;
+ if (yych <= '{') goto yy141;
if (yych <= '|') goto yy125;
}
}
@@ -812,10 +814,10 @@ yy117:
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= 0x1F) {
- if (yych == '\t') goto yy142;
+ if (yych == '\t') goto yy143;
} else {
- if (yych <= ' ') goto yy142;
- if (yych == '#') goto yy145;
+ if (yych <= ' ') goto yy143;
+ if (yych == '#') goto yy146;
}
yy118:
{
@@ -831,19 +833,19 @@ yy119:
yy120:
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych != '\n') goto yy148;
+ if (yych != '\n') goto yy149;
yy121:
{
fatal("unterminated string constant (missing \")");
}
yy122:
yych = *++YYCURSOR;
- if (yych == '}') goto yy152;
+ if (yych == '}') goto yy153;
goto yy113;
yy123:
yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych != '\n') goto yy155;
+ if (yych != '\n') goto yy156;
yy124:
{
fatal("unterminated string constant (missing ')");
@@ -855,8 +857,8 @@ yy126:
RETURN(*tok);
}
yy127:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '/') goto yy152;
+ yych = *++YYCURSOR;
+ if (yych == '/') goto yy153;
{
yylval.op = *tok;
RETURN(STAR);
@@ -876,40 +878,64 @@ yy131:
}
yy133:
yych = *++YYCURSOR;
- if (yych == '*') goto yy159;
- if (yych == '/') goto yy161;
+ if (yych == '*') goto yy160;
+ if (yych == '/') goto yy162;
goto yy126;
yy134:
yych = *++YYCURSOR;
- YYCTXMARKER = YYCURSOR;
- if (yych == '=') goto yy163;
+ if (yych == '=') goto yy164;
goto yy113;
yy135:
yyaccept = 3;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '!') goto yy165;
- if (yych == '>') goto yy167;
+ if (yych == '!') goto yy166;
+ if (yych == '>') goto yy168;
goto yy126;
yy136:
- yych = *++YYCURSOR;
- YYCTXMARKER = YYCURSOR;
- goto yy174;
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
yy137:
+ if (yybm[0+yych] & 8) {
+ goto yy136;
+ }
+ if (yych <= ' ') {
+ if (yych == '\t') {
+ YYCTXMARKER = YYCURSOR;
+ goto yy171;
+ }
+ if (yych <= 0x1F) goto yy169;
+ YYCTXMARKER = YYCURSOR;
+ goto yy171;
+ } else {
+ if (yych <= ',') {
+ if (yych <= '+') goto yy169;
+ YYCTXMARKER = YYCURSOR;
+ goto yy173;
+ } else {
+ if (yych <= '<') goto yy169;
+ if (yych <= '>') {
+ YYCTXMARKER = YYCURSOR;
+ goto yy173;
+ }
+ goto yy169;
+ }
+ }
+yy138:
yyaccept = 4;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '\n') goto yy138;
+ if (yych == '\n') goto yy139;
if (yych == '^') goto yy180;
goto yy176;
-yy138:
+yy139:
{
fatal("unterminated range (missing ])");
}
-yy139:
+yy140:
yych = *++YYCURSOR;
- YYCTXMARKER = YYCURSOR;
if (yych == 'e') goto yy182;
- goto yy174;
-yy140:
+ goto yy137;
+yy141:
yyaccept = 5;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '@') {
@@ -924,26 +950,26 @@ yy140:
if (yych <= 'Z') goto yy188;
if (yych >= '_') goto yy188;
} else {
- if (yych <= '`') goto yy141;
+ if (yych <= '`') goto yy142;
if (yych <= 'z') goto yy188;
}
}
-yy141:
+yy142:
{
depth = 1;
goto code;
}
-yy142:
+yy143:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= 0x1F) {
- if (yych == '\t') goto yy142;
+ if (yych == '\t') goto yy143;
} else {
- if (yych <= ' ') goto yy142;
- if (yych == '#') goto yy145;
+ if (yych <= ' ') goto yy143;
+ if (yych == '#') goto yy146;
}
-yy144:
+yy145:
YYCURSOR = YYMARKER;
if (yyaccept <= 3) {
if (yyaccept <= 1) {
@@ -962,40 +988,40 @@ yy144:
} else {
if (yyaccept <= 5) {
if (yyaccept == 4) {
- goto yy138;
+ goto yy139;
} else {
- goto yy141;
+ goto yy142;
}
} else {
if (yyaccept == 6) {
goto yy184;
} else {
- goto yy228;
+ goto yy226;
}
}
}
-yy145:
+yy146:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
yych = *YYCURSOR;
if (yych <= 0x1F) {
- if (yych == '\t') goto yy145;
- goto yy144;
+ if (yych == '\t') goto yy146;
+ goto yy145;
} else {
- if (yych <= ' ') goto yy145;
+ if (yych <= ' ') goto yy146;
if (yych == 'l') goto yy190;
- goto yy144;
+ goto yy145;
}
-yy147:
+yy148:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy148:
- if (yybm[0+yych] & 8) {
- goto yy147;
+yy149:
+ if (yybm[0+yych] & 16) {
+ goto yy148;
}
- if (yych <= '\n') goto yy144;
- if (yych >= '#') goto yy151;
+ if (yych <= '\n') goto yy145;
+ if (yych >= '#') goto yy152;
++YYCURSOR;
{
cur = cursor;
@@ -1009,28 +1035,28 @@ yy148:
}
return STRING;
}
-yy151:
+yy152:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\n') goto yy144;
- goto yy147;
-yy152:
+ if (yych == '\n') goto yy145;
+ goto yy148;
+yy153:
++YYCURSOR;
{
tok = cursor;
RETURN(0);
}
-yy154:
+yy155:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy155:
- if (yybm[0+yych] & 16) {
- goto yy154;
+yy156:
+ if (yybm[0+yych] & 32) {
+ goto yy155;
}
- if (yych <= '\n') goto yy144;
- if (yych >= '(') goto yy158;
+ if (yych <= '\n') goto yy145;
+ if (yych >= '(') goto yy159;
++YYCURSOR;
{
cur = cursor;
@@ -1044,45 +1070,72 @@ yy155:
}
return STRING;
}
-yy158:
+yy159:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\n') goto yy144;
- goto yy154;
-yy159:
+ if (yych == '\n') goto yy145;
+ goto yy155;
+yy160:
++YYCURSOR;
{
depth = 1;
goto comment;
}
-yy161:
+yy162:
++YYCURSOR;
{
goto nextLine;
}
-yy163:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '>') goto yy191;
+yy164:
+ yych = *++YYCURSOR;
+ if (yych == '>') goto yy191;
{
cur = cursor;
tok += 2; /* skip ":=" */
depth = 0;
goto code;
}
-yy165:
+yy166:
++YYCURSOR;
{
RETURN(SETUP);
}
-yy167:
- yych = *++YYCURSOR;
- YYCTXMARKER = YYCURSOR;
- goto yy194;
yy168:
- ++YYCURSOR;
+ yych = *++YYCURSOR;
+ if (yych <= '9') {
+ if (yych <= '\t') {
+ if (yych <= 0x08) goto yy145;
+ YYCTXMARKER = YYCURSOR;
+ goto yy193;
+ } else {
+ if (yych == ' ') {
+ YYCTXMARKER = YYCURSOR;
+ goto yy193;
+ }
+ goto yy145;
+ }
+ } else {
+ if (yych <= '=') {
+ if (yych <= ':') {
+ YYCTXMARKER = YYCURSOR;
+ goto yy195;
+ }
+ if (yych <= '<') goto yy145;
+ YYCTXMARKER = YYCURSOR;
+ goto yy196;
+ } else {
+ if (yych == '{') {
+ YYCTXMARKER = YYCURSOR;
+ goto yy197;
+ }
+ goto yy145;
+ }
+ }
yy169:
- YYCURSOR = YYCTXMARKER;
+ ++YYCURSOR;
+yy170:
+ YYCURSOR -= 1;
{
if (!FFlag) {
cur = cursor;
@@ -1102,40 +1155,30 @@ yy169:
return STRING;
}
}
-yy170:
- yych = *++YYCURSOR;
- goto yy202;
yy171:
++YYCURSOR;
- YYCURSOR = YYCTXMARKER;
- {
- cur = ptr > tok ? ptr - 1 : cursor;
- yylval.symbol = Symbol::find(token());
- return ID;
- }
-yy173:
- ++YYCURSOR;
- if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- YYCTXMARKER = YYCURSOR;
-yy174:
- if (yybm[0+yych] & 32) {
- goto yy173;
- }
if (yych <= ' ') {
- if (yych == '\t') goto yy170;
- if (yych <= 0x1F) goto yy168;
- goto yy170;
+ if (yych == '\t') goto yy171;
+ if (yych <= 0x1F) goto yy199;
+ goto yy171;
} else {
if (yych <= ',') {
- if (yych <= '+') goto yy168;
- goto yy171;
+ if (yych <= '+') goto yy199;
} else {
- if (yych <= '<') goto yy168;
- if (yych <= '>') goto yy171;
- goto yy168;
+ if (yych <= '<') goto yy199;
+ if (yych >= '?') goto yy199;
}
}
+yy173:
+ ++YYCURSOR;
+ YYCURSOR = YYCTXMARKER;
+ {
+ cur = ptr > tok ? ptr - 1 : cursor;
+ yylval.symbol = Symbol::find(token());
+ return ID;
+ }
yy175:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
@@ -1144,12 +1187,12 @@ yy176:
if (yybm[0+yych] & 64) {
goto yy175;
}
- if (yych <= '\n') goto yy144;
+ if (yych <= '\n') goto yy145;
if (yych >= ']') goto yy178;
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\n') goto yy144;
+ if (yych == '\n') goto yy145;
goto yy175;
yy178:
++YYCURSOR;
@@ -1163,18 +1206,17 @@ yy180:
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= '[') {
- if (yych == '\n') goto yy144;
+ if (yych == '\n') goto yy145;
goto yy180;
} else {
- if (yych <= '\\') goto yy203;
- if (yych <= ']') goto yy204;
+ if (yych <= '\\') goto yy201;
+ if (yych <= ']') goto yy202;
goto yy180;
}
yy182:
yych = *++YYCURSOR;
- YYCTXMARKER = YYCURSOR;
- if (yych == '2') goto yy206;
- goto yy174;
+ if (yych == '2') goto yy204;
+ goto yy137;
yy183:
++YYCURSOR;
yy184:
@@ -1183,7 +1225,7 @@ yy184:
}
yy185:
yych = *++YYCURSOR;
- if (yych == ',') goto yy207;
+ if (yych == ',') goto yy205;
goto yy187;
yy186:
++YYCURSOR;
@@ -1193,38 +1235,38 @@ yy187:
if (yybm[0+yych] & 128) {
goto yy186;
}
- if (yych == ',') goto yy210;
- if (yych == '}') goto yy208;
- goto yy144;
+ if (yych == ',') goto yy208;
+ if (yych == '}') goto yy206;
+ goto yy145;
yy188:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= '^') {
if (yych <= '9') {
- if (yych <= '/') goto yy144;
+ if (yych <= '/') goto yy145;
goto yy188;
} else {
- if (yych <= '@') goto yy144;
+ if (yych <= '@') goto yy145;
if (yych <= 'Z') goto yy188;
- goto yy144;
+ goto yy145;
}
} else {
if (yych <= 'z') {
- if (yych == '`') goto yy144;
+ if (yych == '`') goto yy145;
goto yy188;
} else {
- if (yych == '}') goto yy211;
- goto yy144;
+ if (yych == '}') goto yy209;
+ goto yy145;
}
}
yy190:
yych = *++YYCURSOR;
- if (yych == 'i') goto yy213;
- goto yy144;
+ if (yych == 'i') goto yy211;
+ goto yy145;
yy191:
++YYCURSOR;
- YYCURSOR = YYCTXMARKER;
+ YYCURSOR -= 2;
{
RETURN(*tok);
}
@@ -1232,32 +1274,31 @@ yy193:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
-yy194:
if (yych <= '9') {
if (yych <= '\t') {
- if (yych <= 0x08) goto yy144;
+ if (yych <= 0x08) goto yy145;
goto yy193;
} else {
if (yych == ' ') goto yy193;
- goto yy144;
+ goto yy145;
}
} else {
if (yych <= '=') {
if (yych <= ':') goto yy195;
- if (yych <= '<') goto yy144;
+ if (yych <= '<') goto yy145;
goto yy196;
} else {
if (yych == '{') goto yy197;
- goto yy144;
+ goto yy145;
}
}
yy195:
yych = *++YYCURSOR;
if (yych == '=') goto yy197;
- goto yy144;
+ goto yy145;
yy196:
yych = *++YYCURSOR;
- if (yych != '>') goto yy144;
+ if (yych != '>') goto yy145;
yy197:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
@@ -1276,61 +1317,41 @@ yy201:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy202:
- if (yych <= ' ') {
- if (yych == '\t') goto yy201;
- if (yych <= 0x1F) goto yy199;
- goto yy201;
- } else {
- if (yych <= ',') {
- if (yych <= '+') goto yy199;
- goto yy171;
- } else {
- if (yych <= '<') goto yy199;
- if (yych <= '>') goto yy171;
- goto yy199;
- }
- }
-yy203:
- ++YYCURSOR;
- if (YYLIMIT <= YYCURSOR) YYFILL(1);
- yych = *YYCURSOR;
- if (yych == '\n') goto yy144;
+ if (yych == '\n') goto yy145;
goto yy180;
-yy204:
+yy202:
++YYCURSOR;
{
cur = cursor;
yylval.regexp = invToRE(token());
return RANGE;
}
-yy206:
+yy204:
yych = *++YYCURSOR;
- YYCTXMARKER = YYCURSOR;
- if (yych == 'c') goto yy214;
- goto yy174;
-yy207:
+ if (yych == 'c') goto yy212;
+ goto yy137;
+yy205:
yyaccept = 6;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '/') goto yy184;
- if (yych <= '9') goto yy215;
- if (yych == '}') goto yy217;
+ if (yych <= '9') goto yy213;
+ if (yych == '}') goto yy215;
goto yy184;
-yy208:
+yy206:
++YYCURSOR;
{
yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = atoi((char *)tok+1);
RETURN(CLOSESIZE);
}
-yy210:
+yy208:
yyaccept = 6;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= '/') goto yy184;
- if (yych <= '9') goto yy215;
- if (yych == '}') goto yy219;
+ if (yych <= '9') goto yy213;
+ if (yych == '}') goto yy217;
goto yy184;
-yy211:
+yy209:
++YYCURSOR;
{
if (!FFlag) {
@@ -1340,85 +1361,84 @@ yy211:
yylval.symbol = Symbol::find(token(1, cur - tok - 2));
return ID;
}
-yy213:
+yy211:
yych = *++YYCURSOR;
- if (yych == 'n') goto yy221;
- goto yy144;
-yy214:
+ if (yych == 'n') goto yy219;
+ goto yy145;
+yy212:
yych = *++YYCURSOR;
- YYCTXMARKER = YYCURSOR;
- if (yych == ':') goto yy222;
- goto yy174;
-yy215:
+ if (yych == ':') goto yy220;
+ goto yy137;
+yy213:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych <= '/') goto yy144;
- if (yych <= '9') goto yy215;
- if (yych == '}') goto yy223;
- goto yy144;
-yy217:
+ if (yych <= '/') goto yy145;
+ if (yych <= '9') goto yy213;
+ if (yych == '}') goto yy221;
+ goto yy145;
+yy215:
++YYCURSOR;
{
yylval.op = '*';
RETURN(CLOSE);
}
-yy219:
+yy217:
++YYCURSOR;
{
yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = -1;
RETURN(CLOSESIZE);
}
-yy221:
+yy219:
yych = *++YYCURSOR;
- if (yych == 'e') goto yy225;
- goto yy144;
-yy222:
+ if (yych == 'e') goto yy223;
+ goto yy145;
+yy220:
yych = *++YYCURSOR;
if (yych <= '^') {
- if (yych <= '@') goto yy169;
- if (yych <= 'Z') goto yy226;
- goto yy169;
+ if (yych <= '@') goto yy170;
+ if (yych <= 'Z') goto yy224;
+ goto yy170;
} else {
- if (yych == '`') goto yy169;
- if (yych <= 'z') goto yy226;
- goto yy169;
+ if (yych == '`') goto yy170;
+ if (yych <= 'z') goto yy224;
+ goto yy170;
}
-yy223:
+yy221:
++YYCURSOR;
{
yylval.extop.minsize = atoi((char *)tok+1);
yylval.extop.maxsize = MAX(yylval.extop.minsize,atoi(strchr((char *)tok, ',')+1));
RETURN(CLOSESIZE);
}
-yy225:
+yy223:
yych = *++YYCURSOR;
- if (yych <= '0') goto yy230;
- if (yych <= '9') goto yy144;
- goto yy230;
-yy226:
+ if (yych <= '0') goto yy228;
+ if (yych <= '9') goto yy145;
+ goto yy228;
+yy224:
yyaccept = 7;
YYMARKER = ++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if (yych <= '@') {
if (yych <= '9') {
- if (yych >= '0') goto yy226;
+ if (yych >= '0') goto yy224;
} else {
- if (yych <= ':') goto yy231;
- if (yych >= '@') goto yy232;
+ if (yych <= ':') goto yy229;
+ if (yych >= '@') goto yy230;
}
} else {
if (yych <= '_') {
- if (yych <= 'Z') goto yy226;
- if (yych >= '_') goto yy226;
+ if (yych <= 'Z') goto yy224;
+ if (yych >= '_') goto yy224;
} else {
- if (yych <= '`') goto yy228;
- if (yych <= 'z') goto yy226;
+ if (yych <= '`') goto yy226;
+ if (yych <= 'z') goto yy224;
}
}
-yy228:
+yy226:
{
cur = cursor;
tok += 5; /* skip "re2c:" */
@@ -1426,133 +1446,135 @@ yy228:
yylval.str = new Str(token());
return CONFIG;
}
-yy229:
+yy227:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- YYCTXMARKER = YYCURSOR;
-yy230:
+yy228:
if (yych <= 0x1F) {
- if (yych == '\t') goto yy229;
- goto yy144;
+ if (yych == '\t') goto yy227;
+ goto yy145;
} else {
- if (yych <= ' ') goto yy229;
- if (yych <= '0') goto yy144;
- if (yych <= '9') goto yy233;
- goto yy144;
+ if (yych <= ' ') goto yy227;
+ if (yych <= '0') goto yy145;
+ if (yych <= '9') {
+ YYCTXMARKER = YYCURSOR;
+ goto yy231;
+ }
+ goto yy145;
}
-yy231:
+yy229:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= '^') {
- if (yych <= '@') goto yy144;
- if (yych <= 'Z') goto yy226;
- goto yy144;
+ if (yych <= '@') goto yy145;
+ if (yych <= 'Z') goto yy224;
+ goto yy145;
} else {
- if (yych == '`') goto yy144;
- if (yych <= 'z') goto yy226;
- goto yy144;
+ if (yych == '`') goto yy145;
+ if (yych <= 'z') goto yy224;
+ goto yy145;
}
-yy232:
+yy230:
yych = *++YYCURSOR;
if (yych <= '^') {
- if (yych <= '@') goto yy144;
- if (yych <= 'Z') goto yy235;
- goto yy144;
+ if (yych <= '@') goto yy145;
+ if (yych <= 'Z') goto yy233;
+ goto yy145;
} else {
- if (yych == '`') goto yy144;
- if (yych <= 'z') goto yy235;
- goto yy144;
+ if (yych == '`') goto yy145;
+ if (yych <= 'z') goto yy233;
+ goto yy145;
}
-yy233:
+yy231:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if (yych <= '\r') {
if (yych <= '\t') {
- if (yych <= 0x08) goto yy144;
- goto yy237;
+ if (yych <= 0x08) goto yy145;
+ goto yy235;
} else {
- if (yych <= '\n') goto yy239;
- if (yych <= '\f') goto yy144;
- goto yy241;
+ if (yych <= '\n') goto yy237;
+ if (yych <= '\f') goto yy145;
+ goto yy239;
}
} else {
if (yych <= ' ') {
- if (yych <= 0x1F) goto yy144;
- goto yy237;
+ if (yych <= 0x1F) goto yy145;
+ goto yy235;
} else {
- if (yych <= '/') goto yy144;
- if (yych <= '9') goto yy233;
- goto yy144;
+ if (yych <= '/') goto yy145;
+ if (yych <= '9') goto yy231;
+ goto yy145;
}
}
-yy235:
+yy233:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= 'Z') {
- if (yych <= '/') goto yy228;
- if (yych <= '9') goto yy235;
- if (yych <= '@') goto yy228;
- goto yy235;
+ if (yych <= '/') goto yy226;
+ if (yych <= '9') goto yy233;
+ if (yych <= '@') goto yy226;
+ goto yy233;
} else {
if (yych <= '_') {
- if (yych <= '^') goto yy228;
- goto yy235;
+ if (yych <= '^') goto yy226;
+ goto yy233;
} else {
- if (yych <= '`') goto yy228;
- if (yych <= 'z') goto yy235;
- goto yy228;
+ if (yych <= '`') goto yy226;
+ if (yych <= 'z') goto yy233;
+ goto yy226;
}
}
-yy237:
+yy235:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= 0x1F) {
- if (yych == '\t') goto yy237;
- goto yy144;
+ if (yych == '\t') goto yy235;
+ goto yy145;
} else {
- if (yych <= ' ') goto yy237;
- if (yych == '"') goto yy242;
- goto yy144;
+ if (yych <= ' ') goto yy235;
+ if (yych == '"') goto yy240;
+ goto yy145;
}
-yy239:
+yy237:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
{
set_sourceline(cursor);
goto scan;
}
-yy241:
+yy239:
yych = *++YYCURSOR;
- if (yych == '\n') goto yy239;
- goto yy144;
-yy242:
+ if (yych == '\n') goto yy237;
+ goto yy145;
+yy240:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
yych = *YYCURSOR;
if (yych <= '!') {
- if (yych == '\n') goto yy144;
- goto yy242;
+ if (yych == '\n') goto yy145;
+ goto yy240;
} else {
- if (yych <= '"') goto yy244;
- if (yych == '\\') goto yy245;
- goto yy242;
+ if (yych <= '"') goto yy242;
+ if (yych == '\\') goto yy243;
+ goto yy240;
}
-yy244:
+yy242:
yych = *++YYCURSOR;
- if (yych == '\n') goto yy239;
- if (yych == '\r') goto yy241;
- goto yy144;
-yy245:
+ if (yych == '\n') goto yy237;
+ if (yych == '\r') goto yy239;
+ goto yy145;
+yy243:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\n') goto yy144;
- goto yy242;
+ if (yych == '\n') goto yy145;
+ goto yy240;
}
@@ -1599,24 +1621,24 @@ code:
yych = *YYCURSOR;
if (yych <= '&') {
if (yych <= '\n') {
- if (yych <= 0x00) goto yy248;
- if (yych <= '\t') goto yy250;
- goto yy252;
- } else {
- if (yych == '"') goto yy254;
+ if (yych <= 0x00) goto yy246;
+ if (yych <= '\t') goto yy248;
goto yy250;
+ } else {
+ if (yych == '"') goto yy252;
+ goto yy248;
}
} else {
if (yych <= '{') {
- if (yych <= '\'') goto yy255;
- if (yych <= 'z') goto yy250;
- goto yy256;
+ if (yych <= '\'') goto yy253;
+ if (yych <= 'z') goto yy248;
+ goto yy254;
} else {
- if (yych == '}') goto yy258;
- goto yy250;
+ if (yych == '}') goto yy256;
+ goto yy248;
}
}
-yy248:
+yy246:
++YYCURSOR;
{
if (cursor == eof)
@@ -1629,31 +1651,30 @@ yy248:
}
goto code;
}
-yy250:
+yy248:
++YYCURSOR;
-yy251:
+yy249:
{
goto code;
}
-yy252:
+yy250:
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- YYCTXMARKER = YYCURSOR;
if (yych <= '\r') {
if (yych <= '\t') {
- if (yych >= '\t') goto yy260;
+ if (yych >= '\t') goto yy258;
} else {
- if (yych <= '\n') goto yy262;
- if (yych >= '\r') goto yy262;
+ if (yych <= '\n') goto yy260;
+ if (yych >= '\r') goto yy260;
}
} else {
if (yych <= ' ') {
- if (yych >= ' ') goto yy260;
+ if (yych >= ' ') goto yy258;
} else {
- if (yych == '#') goto yy263;
+ if (yych == '#') goto yy261;
}
}
-yy253:
+yy251:
{
if (depth == 0)
{
@@ -1674,17 +1695,17 @@ yy253:
cline++;
goto code;
}
-yy254:
+yy252:
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '\n') goto yy251;
- goto yy267;
-yy255:
+ if (yych == '\n') goto yy249;
+ goto yy265;
+yy253:
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '\n') goto yy251;
- goto yy272;
-yy256:
+ if (yych == '\n') goto yy249;
+ goto yy270;
+yy254:
++YYCURSOR;
{
if (depth == 0)
@@ -1697,7 +1718,7 @@ yy256:
}
goto code;
}
-yy258:
+yy256:
++YYCURSOR;
{
if (depth == 0)
@@ -1712,17 +1733,17 @@ yy258:
}
goto code;
}
-yy260:
+yy258:
yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= 0x1F) {
- if (yych == '\t') goto yy274;
+ if (yych == '\t') goto yy272;
} else {
- if (yych <= ' ') goto yy274;
- if (yych == '#') goto yy263;
+ if (yych <= ' ') goto yy272;
+ if (yych == '#') goto yy261;
}
-yy261:
- YYCURSOR = YYCTXMARKER;
+yy259:
+ YYCURSOR -= 1;
{
if (depth == 0)
{
@@ -1736,163 +1757,163 @@ yy261:
cline++;
goto code;
}
-yy262:
- yych = *++YYCURSOR;
- goto yy261;
-yy263:
+yy260:
+ ++YYCURSOR;
+ goto yy259;
+yy261:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
yych = *YYCURSOR;
if (yybm[0+yych] & 16) {
- goto yy263;
+ goto yy261;
}
- if (yych == 'l') goto yy276;
-yy265:
+ if (yych == 'l') goto yy274;
+yy263:
YYCURSOR = YYMARKER;
if (yyaccept <= 1) {
if (yyaccept == 0) {
- goto yy253;
- } else {
goto yy251;
+ } else {
+ goto yy249;
}
} else {
- goto yy261;
+ goto yy259;
}
-yy266:
+yy264:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy267:
+yy265:
if (yybm[0+yych] & 32) {
- goto yy266;
+ goto yy264;
}
- if (yych <= '\n') goto yy265;
- if (yych >= '#') goto yy270;
-yy268:
+ if (yych <= '\n') goto yy263;
+ if (yych >= '#') goto yy268;
+yy266:
++YYCURSOR;
{
goto code;
}
-yy270:
+yy268:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\n') goto yy265;
- goto yy266;
-yy271:
+ if (yych == '\n') goto yy263;
+ goto yy264;
+yy269:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy272:
+yy270:
if (yybm[0+yych] & 64) {
- goto yy271;
+ goto yy269;
}
- if (yych <= '\n') goto yy265;
- if (yych <= '\'') goto yy268;
+ if (yych <= '\n') goto yy263;
+ if (yych <= '\'') goto yy266;
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\n') goto yy265;
- goto yy271;
-yy274:
+ if (yych == '\n') goto yy263;
+ goto yy269;
+yy272:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= 0x1F) {
- if (yych == '\t') goto yy274;
- goto yy265;
+ if (yych == '\t') goto yy272;
+ goto yy263;
} else {
- if (yych <= ' ') goto yy274;
- if (yych == '#') goto yy263;
- goto yy265;
+ if (yych <= ' ') goto yy272;
+ if (yych == '#') goto yy261;
+ goto yy263;
}
-yy276:
+yy274:
yych = *++YYCURSOR;
- if (yych != 'i') goto yy265;
+ if (yych != 'i') goto yy263;
yych = *++YYCURSOR;
- if (yych != 'n') goto yy265;
+ if (yych != 'n') goto yy263;
yych = *++YYCURSOR;
- if (yych != 'e') goto yy265;
+ if (yych != 'e') goto yy263;
yych = *++YYCURSOR;
- if (yych <= '0') goto yy281;
- if (yych <= '9') goto yy265;
- goto yy281;
-yy280:
+ if (yych <= '0') goto yy279;
+ if (yych <= '9') goto yy263;
+ goto yy279;
+yy278:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- YYCTXMARKER = YYCURSOR;
-yy281:
+yy279:
if (yych <= 0x1F) {
- if (yych == '\t') goto yy280;
- goto yy265;
+ if (yych == '\t') goto yy278;
+ goto yy263;
} else {
- if (yych <= ' ') goto yy280;
- if (yych <= '0') goto yy265;
- if (yych >= ':') goto yy265;
+ if (yych <= ' ') goto yy278;
+ if (yych <= '0') goto yy263;
+ if (yych >= ':') goto yy263;
+ YYCTXMARKER = YYCURSOR;
}
-yy282:
+yy280:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if (yybm[0+yych] & 128) {
- goto yy282;
+ goto yy280;
}
if (yych <= '\f') {
- if (yych <= 0x08) goto yy265;
- if (yych <= '\t') goto yy284;
- if (yych <= '\n') goto yy286;
- goto yy265;
+ if (yych <= 0x08) goto yy263;
+ if (yych <= '\t') goto yy282;
+ if (yych <= '\n') goto yy284;
+ goto yy263;
} else {
- if (yych <= '\r') goto yy288;
- if (yych != ' ') goto yy265;
+ if (yych <= '\r') goto yy286;
+ if (yych != ' ') goto yy263;
}
-yy284:
+yy282:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= 0x1F) {
- if (yych == '\t') goto yy284;
- goto yy265;
+ if (yych == '\t') goto yy282;
+ goto yy263;
} else {
- if (yych <= ' ') goto yy284;
- if (yych == '"') goto yy289;
- goto yy265;
+ if (yych <= ' ') goto yy282;
+ if (yych == '"') goto yy287;
+ goto yy263;
}
-yy286:
+yy284:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
{
set_sourceline(cursor);
goto code;
}
-yy288:
+yy286:
yych = *++YYCURSOR;
- if (yych == '\n') goto yy286;
- goto yy265;
-yy289:
+ if (yych == '\n') goto yy284;
+ goto yy263;
+yy287:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
yych = *YYCURSOR;
if (yych <= '!') {
- if (yych == '\n') goto yy265;
- goto yy289;
+ if (yych == '\n') goto yy263;
+ goto yy287;
} else {
- if (yych <= '"') goto yy291;
- if (yych == '\\') goto yy292;
- goto yy289;
+ if (yych <= '"') goto yy289;
+ if (yych == '\\') goto yy290;
+ goto yy287;
}
-yy291:
+yy289:
yych = *++YYCURSOR;
- if (yych == '\n') goto yy286;
- if (yych == '\r') goto yy288;
- goto yy265;
-yy292:
+ if (yych == '\n') goto yy284;
+ if (yych == '\r') goto yy286;
+ goto yy263;
+yy290:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\n') goto yy265;
- goto yy289;
+ if (yych == '\n') goto yy263;
+ goto yy287;
}
@@ -1937,13 +1958,13 @@ comment:
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if (yych <= ')') {
- if (yych == '\n') goto yy297;
+ if (yych == '\n') goto yy295;
} else {
- if (yych <= '*') goto yy299;
- if (yych == '/') goto yy300;
+ if (yych <= '*') goto yy297;
+ if (yych == '/') goto yy298;
}
++YYCURSOR;
-yy296:
+yy294:
{
if (cursor == eof)
{
@@ -1951,13 +1972,13 @@ yy296:
}
goto comment;
}
-yy297:
+yy295:
yych = *(YYMARKER = ++YYCURSOR);
if (yybm[0+yych] & 32) {
- goto yy301;
+ goto yy299;
}
- if (yych == '#') goto yy304;
-yy298:
+ if (yych == '#') goto yy302;
+yy296:
{
if (cursor == eof)
{
@@ -1967,38 +1988,38 @@ yy298:
cline++;
goto comment;
}
-yy299:
+yy297:
yych = *++YYCURSOR;
- if (yych == '/') goto yy306;
- goto yy296;
-yy300:
+ if (yych == '/') goto yy304;
+ goto yy294;
+yy298:
yych = *++YYCURSOR;
- if (yych == '*') goto yy308;
- goto yy296;
-yy301:
+ if (yych == '*') goto yy306;
+ goto yy294;
+yy299:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 32) {
- goto yy301;
+ goto yy299;
}
- if (yych == '#') goto yy304;
-yy303:
+ if (yych == '#') goto yy302;
+yy301:
YYCURSOR = YYMARKER;
- goto yy298;
-yy304:
+ goto yy296;
+yy302:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
yych = *YYCURSOR;
if (yych <= 0x1F) {
- if (yych == '\t') goto yy304;
- goto yy303;
+ if (yych == '\t') goto yy302;
+ goto yy301;
} else {
- if (yych <= ' ') goto yy304;
- if (yych == 'l') goto yy310;
- goto yy303;
+ if (yych <= ' ') goto yy302;
+ if (yych == 'l') goto yy308;
+ goto yy301;
}
-yy306:
+yy304:
++YYCURSOR;
{
if (--depth == 0)
@@ -2010,96 +2031,96 @@ yy306:
goto comment;
}
}
-yy308:
+yy306:
++YYCURSOR;
{
++depth;
fatal("ambiguous /* found");
goto comment;
}
-yy310:
+yy308:
yych = *++YYCURSOR;
- if (yych != 'i') goto yy303;
+ if (yych != 'i') goto yy301;
yych = *++YYCURSOR;
- if (yych != 'n') goto yy303;
+ if (yych != 'n') goto yy301;
yych = *++YYCURSOR;
- if (yych != 'e') goto yy303;
+ if (yych != 'e') goto yy301;
yych = *++YYCURSOR;
- if (yych <= '0') goto yy315;
- if (yych <= '9') goto yy303;
- goto yy315;
-yy314:
+ if (yych <= '0') goto yy313;
+ if (yych <= '9') goto yy301;
+ goto yy313;
+yy312:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- YYCTXMARKER = YYCURSOR;
-yy315:
+yy313:
if (yych <= 0x1F) {
- if (yych == '\t') goto yy314;
- goto yy303;
+ if (yych == '\t') goto yy312;
+ goto yy301;
} else {
- if (yych <= ' ') goto yy314;
- if (yych <= '0') goto yy303;
- if (yych >= ':') goto yy303;
+ if (yych <= ' ') goto yy312;
+ if (yych <= '0') goto yy301;
+ if (yych >= ':') goto yy301;
+ YYCTXMARKER = YYCURSOR;
}
-yy316:
+yy314:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if (yybm[0+yych] & 64) {
- goto yy316;
+ goto yy314;
}
if (yych <= '\f') {
- if (yych <= 0x08) goto yy303;
- if (yych <= '\t') goto yy318;
- if (yych <= '\n') goto yy320;
- goto yy303;
+ if (yych <= 0x08) goto yy301;
+ if (yych <= '\t') goto yy316;
+ if (yych <= '\n') goto yy318;
+ goto yy301;
} else {
- if (yych <= '\r') goto yy322;
- if (yych != ' ') goto yy303;
+ if (yych <= '\r') goto yy320;
+ if (yych != ' ') goto yy301;
}
-yy318:
+yy316:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= 0x1F) {
- if (yych == '\t') goto yy318;
- goto yy303;
+ if (yych == '\t') goto yy316;
+ goto yy301;
} else {
- if (yych <= ' ') goto yy318;
- if (yych == '"') goto yy323;
- goto yy303;
+ if (yych <= ' ') goto yy316;
+ if (yych == '"') goto yy321;
+ goto yy301;
}
-yy320:
+yy318:
++YYCURSOR;
YYCURSOR = YYCTXMARKER;
{
set_sourceline(cursor);
goto comment;
}
-yy322:
+yy320:
yych = *++YYCURSOR;
- if (yych == '\n') goto yy320;
- goto yy303;
-yy323:
+ if (yych == '\n') goto yy318;
+ goto yy301;
+yy321:
++YYCURSOR;
if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
yych = *YYCURSOR;
if (yybm[0+yych] & 128) {
- goto yy323;
+ goto yy321;
}
- if (yych <= '\n') goto yy303;
- if (yych >= '#') goto yy326;
+ if (yych <= '\n') goto yy301;
+ if (yych >= '#') goto yy324;
yych = *++YYCURSOR;
- if (yych == '\n') goto yy320;
- if (yych == '\r') goto yy322;
- goto yy303;
-yy326:
+ if (yych == '\n') goto yy318;
+ if (yych == '\r') goto yy320;
+ goto yy301;
+yy324:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\n') goto yy303;
- goto yy323;
+ if (yych == '\n') goto yy301;
+ goto yy321;
}
@@ -2109,14 +2130,14 @@ nextLine:
YYCTYPE yych;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\n') goto yy331;
+ if (yych == '\n') goto yy329;
++YYCURSOR;
{ if(cursor == eof) {
RETURN(0);
}
goto nextLine;
}
-yy331:
+yy329:
++YYCURSOR;
{ if(cursor == eof) {
RETURN(0);
@@ -2169,29 +2190,29 @@ config:
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 128) {
- goto yy337;
+ goto yy335;
}
- if (yych == '=') goto yy340;
+ if (yych == '=') goto yy338;
++YYCURSOR;
{
fatal("missing '='");
}
-yy337:
+yy335:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 128) {
- goto yy337;
+ goto yy335;
}
{
goto config;
}
-yy340:
+yy338:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\t') goto yy340;
- if (yych == ' ') goto yy340;
+ if (yych == '\t') goto yy338;
+ if (yych == ' ') goto yy338;
{
iscfg = 2;
cur = cursor;
@@ -2242,197 +2263,197 @@ value:
yych = *YYCURSOR;
if (yych <= '&') {
if (yych <= '\r') {
- if (yych <= 0x08) goto yy346;
- if (yych <= '\n') goto yy345;
- if (yych <= '\f') goto yy346;
+ if (yych <= 0x08) goto yy344;
+ if (yych <= '\n') goto yy343;
+ if (yych <= '\f') goto yy344;
} else {
if (yych <= ' ') {
- if (yych <= 0x1F) goto yy346;
+ if (yych <= 0x1F) goto yy344;
} else {
- if (yych == '"') goto yy348;
- goto yy346;
+ if (yych == '"') goto yy346;
+ goto yy344;
}
}
} else {
if (yych <= '/') {
- if (yych <= '\'') goto yy350;
- if (yych == '-') goto yy352;
- goto yy346;
+ if (yych <= '\'') goto yy348;
+ if (yych == '-') goto yy350;
+ goto yy344;
} else {
if (yych <= '9') {
- if (yych <= '0') goto yy353;
- goto yy355;
+ if (yych <= '0') goto yy351;
+ goto yy353;
} else {
- if (yych != ';') goto yy346;
+ if (yych != ';') goto yy344;
}
}
}
-yy345:
+yy343:
{
cur = cursor;
yylval.str = new Str(token());
iscfg = 0;
return VALUE;
}
-yy346:
+yy344:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy347:
+yy345:
if (yybm[0+yych] & 4) {
- goto yy346;
+ goto yy344;
}
- goto yy345;
-yy348:
+ goto yy343;
+yy346:
YYMARKER = ++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 8) {
- goto yy348;
+ goto yy346;
}
if (yych <= ' ') {
- if (yych == '\n') goto yy345;
- goto yy357;
+ if (yych == '\n') goto yy343;
+ goto yy355;
} else {
- if (yych <= '"') goto yy346;
- if (yych <= ';') goto yy357;
- goto yy360;
+ if (yych <= '"') goto yy344;
+ if (yych <= ';') goto yy355;
+ goto yy358;
}
-yy350:
+yy348:
YYMARKER = ++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 16) {
- goto yy350;
+ goto yy348;
}
if (yych <= ' ') {
- if (yych == '\n') goto yy345;
- goto yy361;
+ if (yych == '\n') goto yy343;
+ goto yy359;
} else {
- if (yych <= '\'') goto yy346;
- if (yych <= ';') goto yy361;
- goto yy363;
+ if (yych <= '\'') goto yy344;
+ if (yych <= ';') goto yy359;
+ goto yy361;
}
-yy352:
+yy350:
yych = *++YYCURSOR;
- if (yych <= '0') goto yy347;
- if (yych <= '9') goto yy355;
- goto yy347;
-yy353:
- ++YYCURSOR;
- if (yybm[0+(yych = *YYCURSOR)] & 4) {
- goto yy346;
+ if (yych <= '0') goto yy345;
+ if (yych <= '9') goto yy353;
+ goto yy345;
+yy351:
+ yych = *++YYCURSOR;
+ if (yybm[0+yych] & 4) {
+ goto yy344;
}
-yy354:
+yy352:
{
cur = cursor;
yylval.number = atoi(token().to_string().c_str());
iscfg = 0;
return NUMBER;
}
-yy355:
+yy353:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 32) {
- goto yy355;
+ goto yy353;
}
if (yych <= '\r') {
- if (yych <= 0x08) goto yy346;
- if (yych <= '\n') goto yy354;
- if (yych <= '\f') goto yy346;
- goto yy354;
+ if (yych <= 0x08) goto yy344;
+ if (yych <= '\n') goto yy352;
+ if (yych <= '\f') goto yy344;
+ goto yy352;
} else {
if (yych <= ' ') {
- if (yych <= 0x1F) goto yy346;
- goto yy354;
+ if (yych <= 0x1F) goto yy344;
+ goto yy352;
} else {
- if (yych == ';') goto yy354;
- goto yy346;
+ if (yych == ';') goto yy352;
+ goto yy344;
}
}
-yy357:
+yy355:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 64) {
- goto yy357;
+ goto yy355;
}
- if (yych <= '\n') goto yy359;
- if (yych <= '"') goto yy364;
- goto yy365;
-yy359:
+ if (yych <= '\n') goto yy357;
+ if (yych <= '"') goto yy362;
+ goto yy363;
+yy357:
YYCURSOR = YYMARKER;
- goto yy345;
-yy360:
+ goto yy343;
+yy358:
YYMARKER = ++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= '\r') {
if (yych <= '\t') {
- if (yych <= 0x08) goto yy348;
- goto yy357;
+ if (yych <= 0x08) goto yy346;
+ goto yy355;
} else {
- if (yych <= '\n') goto yy345;
- if (yych <= '\f') goto yy348;
- goto yy357;
+ if (yych <= '\n') goto yy343;
+ if (yych <= '\f') goto yy346;
+ goto yy355;
}
} else {
if (yych <= ' ') {
- if (yych <= 0x1F) goto yy348;
- goto yy357;
+ if (yych <= 0x1F) goto yy346;
+ goto yy355;
} else {
- if (yych == ';') goto yy357;
- goto yy348;
+ if (yych == ';') goto yy355;
+ goto yy346;
}
}
-yy361:
+yy359:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 128) {
- goto yy361;
+ goto yy359;
}
- if (yych <= '\n') goto yy359;
- if (yych <= '\'') goto yy364;
- goto yy366;
-yy363:
+ if (yych <= '\n') goto yy357;
+ if (yych <= '\'') goto yy362;
+ goto yy364;
+yy361:
YYMARKER = ++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yych <= '\r') {
if (yych <= '\t') {
- if (yych <= 0x08) goto yy350;
- goto yy361;
+ if (yych <= 0x08) goto yy348;
+ goto yy359;
} else {
- if (yych <= '\n') goto yy345;
- if (yych <= '\f') goto yy350;
- goto yy361;
+ if (yych <= '\n') goto yy343;
+ if (yych <= '\f') goto yy348;
+ goto yy359;
}
} else {
if (yych <= ' ') {
- if (yych <= 0x1F) goto yy350;
- goto yy361;
+ if (yych <= 0x1F) goto yy348;
+ goto yy359;
} else {
- if (yych == ';') goto yy361;
- goto yy350;
+ if (yych == ';') goto yy359;
+ goto yy348;
}
}
-yy364:
- yych = *++YYCURSOR;
- goto yy345;
-yy365:
+yy362:
+ ++YYCURSOR;
+ goto yy343;
+yy363:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\n') goto yy359;
- goto yy357;
-yy366:
+ if (yych == '\n') goto yy357;
+ goto yy355;
+yy364:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\n') goto yy359;
- goto yy361;
+ if (yych == '\n') goto yy357;
+ goto yy359;
}
}
@@ -2481,19 +2502,19 @@ sourceline:
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
yych = *YYCURSOR;
if (yych <= '!') {
- if (yych == '\n') goto yy371;
+ if (yych == '\n') goto yy369;
} else {
- if (yych <= '"') goto yy373;
- if (yych <= '0') goto yy369;
- if (yych <= '9') goto yy374;
+ if (yych <= '"') goto yy371;
+ if (yych <= '0') goto yy367;
+ if (yych <= '9') goto yy372;
}
-yy369:
+yy367:
++YYCURSOR;
-yy370:
+yy368:
{
goto sourceline;
}
-yy371:
+yy369:
++YYCURSOR;
{
if (cursor == eof)
@@ -2507,49 +2528,49 @@ yy371:
tok = cursor;
return;
}
-yy373:
+yy371:
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == '\n') goto yy370;
- goto yy378;
-yy374:
+ if (yych == '\n') goto yy368;
+ goto yy376;
+yy372:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
if (yybm[0+yych] & 64) {
- goto yy374;
+ goto yy372;
}
{
cur = cursor;
cline = atoi(token().to_string().c_str());
goto sourceline;
}
-yy377:
+yy375:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
-yy378:
+yy376:
if (yybm[0+yych] & 128) {
- goto yy377;
+ goto yy375;
}
- if (yych <= '\n') goto yy379;
- if (yych <= '"') goto yy380;
- goto yy382;
-yy379:
+ if (yych <= '\n') goto yy377;
+ if (yych <= '"') goto yy378;
+ goto yy380;
+yy377:
YYCURSOR = YYMARKER;
- goto yy370;
-yy380:
+ goto yy368;
+yy378:
++YYCURSOR;
{
cur = cursor;
sourceFileInfo.set_fname(token(1, cur - tok - 2).to_string());
goto sourceline;
}
-yy382:
+yy380:
++YYCURSOR;
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
- if (yych == '\n') goto yy379;
- goto yy377;
+ if (yych == '\n') goto yy377;
+ goto yy375;
}
}
diff --git a/test/segfault_full_range_star.bi.c b/test/segfault_full_range_star.bi.c
index 0f9f7d7b..e0317a59 100644
--- a/test/segfault_full_range_star.bi.c
+++ b/test/segfault_full_range_star.bi.c
@@ -45,7 +45,7 @@ yy0:
if (yybm[0+yych] & 128) {
goto yy1;
}
- {}
}
+re2c: warning: line 2: rule matches empty string [-Wmatch-empty-string]
re2c: warning: line 2: unreachable rule [-Wunreachable-rules]
diff --git a/test/segfault_full_range_star_startlabel.ci.c b/test/segfault_full_range_star_startlabel.ci.c
index f99aeeed..68045ed0 100644
--- a/test/segfault_full_range_star_startlabel.ci.c
+++ b/test/segfault_full_range_star_startlabel.ci.c
@@ -15,7 +15,7 @@ yy1:
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
goto yy2;
- {}
}
+re2c: warning: line 3: rule in condition 'c1' matches empty string [-Wmatch-empty-string]
re2c: warning: line 3: unreachable rule in condition 'c1' [-Wunreachable-rules]
diff --git a/test/segfault_full_range_star_startlabel.i.c b/test/segfault_full_range_star_startlabel.i.c
index a182f7d8..cbca6d95 100644
--- a/test/segfault_full_range_star_startlabel.i.c
+++ b/test/segfault_full_range_star_startlabel.i.c
@@ -10,7 +10,7 @@ yy0:
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
goto yy1;
- {}
}
+re2c: warning: line 3: rule matches empty string [-Wmatch-empty-string]
re2c: warning: line 3: unreachable rule [-Wunreachable-rules]
diff --git a/test/segfault_full_range_star_startlabel2.ci.c b/test/segfault_full_range_star_startlabel2.ci.c
index bc528844..19ddf27b 100644
--- a/test/segfault_full_range_star_startlabel2.ci.c
+++ b/test/segfault_full_range_star_startlabel2.ci.c
@@ -15,7 +15,7 @@ yy1:
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
goto yy2;
- {}
}
+re2c: warning: line 3: rule in condition 'c1' matches empty string [-Wmatch-empty-string]
re2c: warning: line 3: unreachable rule in condition 'c1' [-Wunreachable-rules]
diff --git a/test/segfault_full_range_star_startlabel2.i.c b/test/segfault_full_range_star_startlabel2.i.c
index 214ac741..84298364 100644
--- a/test/segfault_full_range_star_startlabel2.i.c
+++ b/test/segfault_full_range_star_startlabel2.i.c
@@ -9,7 +9,7 @@ yy0:
if (YYLIMIT <= YYCURSOR) YYFILL(1);
yych = *YYCURSOR;
goto yy1;
- {}
}
+re2c: warning: line 3: rule matches empty string [-Wmatch-empty-string]
re2c: warning: line 3: unreachable rule [-Wunreachable-rules]
diff --git a/test/strip_001.s.c b/test/strip_001.s.c
index 6ace6c7a..6b24f9d1 100644
--- a/test/strip_001.s.c
+++ b/test/strip_001.s.c
@@ -1,13 +1,15 @@
/* Generated by re2c */
#line 1 "strip_001.s.re"
/* re2c lesson 002_strip_comments, strip_001.s, (c) M. Boerger 2006 - 2007 */
-#line 32 "strip_001.s.re"
+#line 31 "strip_001.s.re"
+
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define YYMAXFILL 2
+
#define BSIZE 128
#if BSIZE < YYMAXFILL
@@ -76,7 +78,7 @@ int scan(FILE *fp)
{
s.tok = s.cur;
-#line 80 "strip_001.s.c"
+#line 82 "strip_001.s.c"
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
@@ -86,7 +88,7 @@ int scan(FILE *fp)
yy3:
#line 113 "strip_001.s.re"
{ fputc(*s.tok, stdout); continue; }
-#line 90 "strip_001.s.c"
+#line 92 "strip_001.s.c"
yy4:
yych = *++YYCURSOR;
if (yych == '*') goto yy5;
@@ -96,19 +98,19 @@ yy5:
++YYCURSOR;
#line 112 "strip_001.s.re"
{ goto comment; }
-#line 100 "strip_001.s.c"
+#line 102 "strip_001.s.c"
yy7:
++YYCURSOR;
#line 111 "strip_001.s.re"
{ goto cppcomment; }
-#line 105 "strip_001.s.c"
+#line 107 "strip_001.s.c"
}
#line 114 "strip_001.s.re"
comment:
s.tok = s.cur;
-#line 112 "strip_001.s.c"
+#line 114 "strip_001.s.c"
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
@@ -118,21 +120,21 @@ comment:
yy12:
#line 119 "strip_001.s.re"
{ goto comment; }
-#line 122 "strip_001.s.c"
+#line 124 "strip_001.s.c"
yy13:
yych = *++YYCURSOR;
if (yych != '/') goto yy12;
++YYCURSOR;
#line 118 "strip_001.s.re"
{ continue; }
-#line 129 "strip_001.s.c"
+#line 131 "strip_001.s.c"
}
#line 120 "strip_001.s.re"
cppcomment:
s.tok = s.cur;
-#line 136 "strip_001.s.c"
+#line 138 "strip_001.s.c"
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
@@ -143,15 +145,15 @@ cppcomment:
yy19:
#line 125 "strip_001.s.re"
{ goto cppcomment; }
-#line 147 "strip_001.s.c"
+#line 149 "strip_001.s.c"
yy20:
++YYCURSOR;
#line 124 "strip_001.s.re"
{ fwrite(s.tok, 1, s.cur - s.tok, stdout); continue; }
-#line 152 "strip_001.s.c"
+#line 154 "strip_001.s.c"
yy22:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '\n') goto yy20;
+ yych = *++YYCURSOR;
+ if (yych == '\n') goto yy20;
goto yy19;
}
#line 126 "strip_001.s.re"
diff --git a/test/strip_002.s.c b/test/strip_002.s.c
index 25f4737b..6c3993cb 100644
--- a/test/strip_002.s.c
+++ b/test/strip_002.s.c
@@ -1,13 +1,15 @@
/* Generated by re2c */
#line 1 "strip_002.s.re"
/* re2c lesson 002_strip_comments, strip_002.s, (c) M. Boerger 2006 - 2007 */
-#line 32 "strip_002.s.re"
+#line 31 "strip_002.s.re"
+
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define YYMAXFILL 2
+
#define BSIZE 128
#if BSIZE < YYMAXFILL
@@ -83,7 +85,7 @@ int scan(FILE *fp)
{
s.tok = s.cur;
-#line 87 "strip_002.s.c"
+#line 89 "strip_002.s.c"
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
@@ -93,7 +95,7 @@ int scan(FILE *fp)
yy3:
#line 121 "strip_002.s.re"
{ fputc(*s.tok, stdout); continue; }
-#line 97 "strip_002.s.c"
+#line 99 "strip_002.s.c"
yy4:
yych = *++YYCURSOR;
if (yych == '*') goto yy5;
@@ -103,19 +105,19 @@ yy5:
++YYCURSOR;
#line 120 "strip_002.s.re"
{ goto comment; }
-#line 107 "strip_002.s.c"
+#line 109 "strip_002.s.c"
yy7:
++YYCURSOR;
#line 119 "strip_002.s.re"
{ goto cppcomment; }
-#line 112 "strip_002.s.c"
+#line 114 "strip_002.s.c"
}
#line 122 "strip_002.s.re"
comment:
s.tok = s.cur;
-#line 119 "strip_002.s.c"
+#line 121 "strip_002.s.c"
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
@@ -125,21 +127,21 @@ comment:
yy12:
#line 127 "strip_002.s.re"
{ goto comment; }
-#line 129 "strip_002.s.c"
+#line 131 "strip_002.s.c"
yy13:
yych = *++YYCURSOR;
if (yych != '/') goto yy12;
++YYCURSOR;
#line 126 "strip_002.s.re"
{ goto commentws; }
-#line 136 "strip_002.s.c"
+#line 138 "strip_002.s.c"
}
#line 128 "strip_002.s.re"
commentws:
s.tok = s.cur;
-#line 143 "strip_002.s.c"
+#line 145 "strip_002.s.c"
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
@@ -156,21 +158,21 @@ yy18:
++YYCURSOR;
#line 134 "strip_002.s.re"
{ echo(&s); continue; }
-#line 160 "strip_002.s.c"
+#line 162 "strip_002.s.c"
yy20:
++YYCURSOR;
yy21:
#line 133 "strip_002.s.re"
{ goto commentws; }
-#line 166 "strip_002.s.c"
+#line 168 "strip_002.s.c"
yy22:
++YYCURSOR;
#line 132 "strip_002.s.re"
{ echo(&s); continue; }
-#line 171 "strip_002.s.c"
+#line 173 "strip_002.s.c"
yy24:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '\n') goto yy22;
+ yych = *++YYCURSOR;
+ if (yych == '\n') goto yy22;
goto yy21;
}
#line 135 "strip_002.s.re"
@@ -178,7 +180,7 @@ yy24:
cppcomment:
s.tok = s.cur;
-#line 182 "strip_002.s.c"
+#line 184 "strip_002.s.c"
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
@@ -189,15 +191,15 @@ cppcomment:
yy28:
#line 140 "strip_002.s.re"
{ goto cppcomment; }
-#line 193 "strip_002.s.c"
+#line 195 "strip_002.s.c"
yy29:
++YYCURSOR;
#line 139 "strip_002.s.re"
{ echo(&s); continue; }
-#line 198 "strip_002.s.c"
+#line 200 "strip_002.s.c"
yy31:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '\n') goto yy29;
+ yych = *++YYCURSOR;
+ if (yych == '\n') goto yy29;
goto yy28;
}
#line 141 "strip_002.s.re"
diff --git a/test/strip_003.b--skeleton.c b/test/strip_003.b--skeleton.c
index a0050f04..8a1d27cc 100644
--- a/test/strip_003.b--skeleton.c
+++ b/test/strip_003.b--skeleton.c
@@ -1,7 +1,9 @@
/* Generated by re2c */
+#include <stddef.h> /* size_t */
#include <stdio.h>
#include <stdlib.h> /* malloc, free */
+#include <string.h> /* memcpy */
static void *read_file
( const char *fname
@@ -47,7 +49,6 @@ error:
}
return NULL;
}
-#define YYMAXFILL 4
#define YYCTYPE unsigned char
#define YYKEYTYPE unsigned char
@@ -61,7 +62,7 @@ error:
#define YYFILL(n) { break; }
static int action_line131
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -69,10 +70,12 @@ static int action_line131
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -82,17 +85,17 @@ static int action_line131
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line131: at position %ld (iteration %u):\n"
+ , "error: lex_line131: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -102,6 +105,13 @@ static int action_line131
}
}
+static int check_key_count_line131(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line131: not enough keys\n");
+ return 1;
+}
+
int lex_line131()
{
const size_t padding = 4; /* YYMAXFILL */
@@ -129,7 +139,7 @@ int lex_line131()
keys = (YYKEYTYPE *) read_file
("strip_003.b--skeleton.c.line131.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -142,7 +152,7 @@ int lex_line131()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
const YYCTYPE *ctxmarker = NULL;
@@ -158,14 +168,17 @@ int lex_line131()
}
YYSKIP ();
yy3:
- status = action_line131(i, keys, input, token, &cursor, 3);
+ status = check_key_count_line131(keys_count, i, 3)
+ || action_line131(&i, keys, input, token, &cursor, 3);
continue;
yy4:
YYSKIP ();
YYBACKUP ();
yych = YYPEEK ();
- YYBACKUPCTX ();
- if (yych == '/') goto yy7;
+ if (yych == '/') {
+ YYBACKUPCTX ();
+ goto yy7;
+ }
goto yy3;
yy5:
YYSKIP ();
@@ -189,21 +202,26 @@ yy8:
yy9:
YYSKIP ();
yych = YYPEEK ();
- YYBACKUPCTX ();
- if (yych == '/') goto yy7;
+ if (yych == '/') {
+ YYBACKUPCTX ();
+ goto yy7;
+ }
goto yy8;
yy10:
YYSKIP ();
- status = action_line131(i, keys, input, token, &cursor, 2);
+ status = check_key_count_line131(keys_count, i, 3)
+ || action_line131(&i, keys, input, token, &cursor, 2);
continue;
yy12:
YYSKIP ();
- status = action_line131(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line131(keys_count, i, 3)
+ || action_line131(&i, keys, input, token, &cursor, 0);
continue;
yy14:
YYSKIP ();
YYRESTORECTX ();
- status = action_line131(i, keys, input, token, &cursor, 1);
+ status = check_key_count_line131(keys_count, i, 3)
+ || action_line131(&i, keys, input, token, &cursor, 1);
continue;
}
@@ -215,7 +233,7 @@ yy14:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line131: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line131: unused keys left after %u keys\n", i);
}
}
@@ -245,7 +263,7 @@ end:
#define YYFILL(n) { break; }
static int action_line137
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -253,10 +271,12 @@ static int action_line137
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -266,17 +286,17 @@ static int action_line137
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line137: at position %ld (iteration %u):\n"
+ , "error: lex_line137: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -286,6 +306,13 @@ static int action_line137
}
}
+static int check_key_count_line137(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line137: not enough keys\n");
+ return 1;
+}
+
int lex_line137()
{
const size_t padding = 2; /* YYMAXFILL */
@@ -313,7 +340,7 @@ int lex_line137()
keys = (YYKEYTYPE *) read_file
("strip_003.b--skeleton.c.line137.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -326,7 +353,7 @@ int lex_line137()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -335,14 +362,16 @@ int lex_line137()
if (yych == '*') goto yy20;
YYSKIP ();
yy19:
- status = action_line137(i, keys, input, token, &cursor, 1);
+ status = check_key_count_line137(keys_count, i, 3)
+ || action_line137(&i, keys, input, token, &cursor, 1);
continue;
yy20:
YYSKIP ();
yych = YYPEEK ();
if (yych != '/') goto yy19;
YYSKIP ();
- status = action_line137(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line137(keys_count, i, 3)
+ || action_line137(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -354,7 +383,7 @@ yy20:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line137: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line137: unused keys left after %u keys\n", i);
}
}
@@ -382,7 +411,7 @@ end:
#define YYFILL(n) { break; }
static int action_line152
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -390,10 +419,12 @@ static int action_line152
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -403,17 +434,17 @@ static int action_line152
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line152: at position %ld (iteration %u):\n"
+ , "error: lex_line152: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -423,6 +454,13 @@ static int action_line152
}
}
+static int check_key_count_line152(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line152: not enough keys\n");
+ return 1;
+}
+
int lex_line152()
{
const size_t padding = 4; /* YYMAXFILL */
@@ -450,7 +488,7 @@ int lex_line152()
keys = (YYKEYTYPE *) read_file
("strip_003.b--skeleton.c.line152.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -463,7 +501,7 @@ int lex_line152()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -486,12 +524,14 @@ int lex_line152()
}
YYSKIP ();
yy26:
- status = action_line152(i, keys, input, token, &cursor, 3);
+ status = check_key_count_line152(keys_count, i, 3)
+ || action_line152(&i, keys, input, token, &cursor, 3);
continue;
yy27:
YYSKIP ();
yy28:
- status = action_line152(i, keys, input, token, &cursor, 2);
+ status = check_key_count_line152(keys_count, i, 3)
+ || action_line152(&i, keys, input, token, &cursor, 2);
continue;
yy29:
YYSKIP ();
@@ -499,7 +539,8 @@ yy29:
yych = YYPEEK ();
if (yych == '/') goto yy33;
yy30:
- status = action_line152(i, keys, input, token, &cursor, 1);
+ status = check_key_count_line152(keys_count, i, 3)
+ || action_line152(&i, keys, input, token, &cursor, 1);
continue;
yy31:
YYSKIP ();
@@ -519,7 +560,8 @@ yy33:
goto yy30;
yy35:
YYSKIP ();
- status = action_line152(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line152(keys_count, i, 3)
+ || action_line152(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -531,7 +573,7 @@ yy35:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line152: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line152: unused keys left after %u keys\n", i);
}
}
@@ -559,7 +601,7 @@ end:
#define YYFILL(n) { break; }
static int action_line158
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -567,10 +609,12 @@ static int action_line158
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -580,17 +624,17 @@ static int action_line158
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line158: at position %ld (iteration %u):\n"
+ , "error: lex_line158: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -600,6 +644,13 @@ static int action_line158
}
}
+static int check_key_count_line158(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line158: not enough keys\n");
+ return 1;
+}
+
int lex_line158()
{
const size_t padding = 2; /* YYMAXFILL */
@@ -627,7 +678,7 @@ int lex_line158()
keys = (YYKEYTYPE *) read_file
("strip_003.b--skeleton.c.line158.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -640,7 +691,7 @@ int lex_line158()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -650,15 +701,18 @@ int lex_line158()
if (yych == '\r') goto yy43;
YYSKIP ();
yy40:
- status = action_line158(i, keys, input, token, &cursor, 1);
+ status = check_key_count_line158(keys_count, i, 3)
+ || action_line158(&i, keys, input, token, &cursor, 1);
continue;
yy41:
YYSKIP ();
- status = action_line158(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line158(keys_count, i, 3)
+ || action_line158(&i, keys, input, token, &cursor, 0);
continue;
yy43:
YYSKIP ();
- if ((yych = YYPEEK ()) == '\n') goto yy41;
+ yych = YYPEEK ();
+ if (yych == '\n') goto yy41;
goto yy40;
}
@@ -670,7 +724,7 @@ yy43:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line158: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line158: unused keys left after %u keys\n", i);
}
}
@@ -1991,263 +2045,7 @@ z
ý
þ
ÿ
-/*
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-!
-"
-#
-$
-%
-&
-'
-(
-)
-*
-+
-,
--
-.
-0
-1
-2
-3
-4
-5
-6
-7
-8
-9
-:
-;
-<
-=
->
-?
-@
-A
-B
-C
-D
-E
-F
-G
-H
-I
-J
-K
-L
-M
-N
-O
-P
-Q
-R
-S
-T
-U
-V
-W
-X
-Y
-Z
-[
-\
-]
-^
-_
-`
-a
-b
-c
-d
-e
-f
-g
-h
-i
-j
-k
-l
-m
-n
-o
-p
-q
-r
-s
-t
-u
-v
-w
-x
-y
-z
-{
-|
-}
-~
-
-€
-
-‚
-„
-…
-†
-‡
-‰
-‹
-
-
-
-‘
-’
-“
-”
-•
-–
-—
-™
-›
-
-¿
-ÿ
-/ / / /////////////////// /!/"/#/$/%/&/'/(/)/+/,/-/.///0/1/2/3/4/5/6/7/8/9/:/;/</=/>/?/@/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/[/\/]/^/_/`/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/{/|/}/~//€//‚/ƒ/„/…/†/‡/ˆ/‰/Š/‹/Œ//Ž///‘/’/“/”/•/–/—/˜/™/š/›/œ//ž/Ÿ/ /¡/¢/£/¤/¥/¦/§/¨/©/ª/«/¬/­/®/¯/°/±/²/³/´/µ/¶/·/¸/¹/º/»/¼/½/¾/¿/À/Á/Â/Ã/Ä/Å/Æ/Ç/È/É/Ê/Ë/Ì/Í/Î/Ï/Ð/Ñ/Ò/Ó/Ô/Õ/Ö/×/Ø/Ù/Ú/Û/Ü/Ý/Þ/ß/à/á/â/ã/ä/å/æ/ç/è/é/ê/ë/ì/í/î/ï/ð/ñ/ò/ó/ô/õ/ö/÷/ø/ù/ú/û/ü/ý/þ/ÿ
+/*
+/ / / /////////////////// /!/"/#/$/%/&/'/(/)/+/,/-/.///0/1/2/3/4/5/6/7/8/9/:/;/</=/>/?/@/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/[/\/]/^/_/`/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/{/|/}/~//€//‚/ƒ/„/…/†/‡/ˆ/‰/Š/‹/Œ//Ž///‘/’/“/”/•/–/—/˜/™/š/›/œ//ž/Ÿ/ /¡/¢/£/¤/¥/¦/§/¨/©/ª/«/¬/­/®/¯/°/±/²/³/´/µ/¶/·/¸/¹/º/»/¼/½/¾/¿/À/Á/Â/Ã/Ä/Å/Æ/Ç/È/É/Ê/Ë/Ì/Í/Î/Ï/Ð/Ñ/Ò/Ó/Ô/Õ/Ö/×/Ø/Ù/Ú/Û/Ü/Ý/Þ/ß/à/á/â/ã/ä/å/æ/ç/è/é/ê/ë/ì/í/î/ï/ð/ñ/ò/ó/ô/õ/ö/÷/ø/ù/ú/û/ü/ý/þ/ÿ
diff --git a/test/strip_003.b.c b/test/strip_003.b.c
index e20fbe62..8e990db5 100644
--- a/test/strip_003.b.c
+++ b/test/strip_003.b.c
@@ -1,13 +1,15 @@
/* Generated by re2c */
#line 1 "strip_003.b.re"
/* re2c lesson 002_strip_comments, strip_003.b, (c) M. Boerger 2006 - 2007 */
-#line 37 "strip_003.b.re"
+#line 36 "strip_003.b.re"
+
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define YYMAXFILL 4
+
#define BSIZE 128
#if BSIZE < YYMAXFILL
@@ -86,7 +88,7 @@ int scan(FILE *fp)
{
s.tok = s.cur;
-#line 90 "strip_003.b.c"
+#line 92 "strip_003.b.c"
{
YYCTYPE yych;
if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
@@ -101,10 +103,9 @@ int scan(FILE *fp)
yy3:
#line 130 "strip_003.b.re"
{ fputc(*s.tok, stdout); continue; }
-#line 105 "strip_003.b.c"
+#line 107 "strip_003.b.c"
yy4:
yych = *(YYMARKER = ++YYCURSOR);
- YYCTXMARKER = YYCURSOR;
if (yych == '/') goto yy7;
goto yy3;
yy5:
@@ -124,7 +125,6 @@ yy8:
goto yy3;
yy9:
yych = *++YYCURSOR;
- YYCTXMARKER = YYCURSOR;
if (yych == '/') goto yy7;
goto yy8;
yy10:
@@ -139,7 +139,7 @@ yy12:
#line 140 "strip_003.b.c"
yy14:
++YYCURSOR;
- YYCURSOR = YYCTXMARKER;
+ YYCURSOR -= 2;
#line 128 "strip_003.b.re"
{ echo(&s); nlcomment = 1; continue; }
#line 146 "strip_003.b.c"
@@ -259,8 +259,8 @@ yy41:
{ echo(&s); continue; }
#line 261 "strip_003.b.c"
yy43:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == '\n') goto yy41;
+ yych = *++YYCURSOR;
+ if (yych == '\n') goto yy41;
goto yy40;
}
#line 158 "strip_003.b.re"
diff --git a/test/tags/ambiguity/alt0.i--tags.c b/test/tags/ambiguity/alt0.i--tags.c
new file mode 100644
index 00000000..63907cd9
--- /dev/null
+++ b/test/tags/ambiguity/alt0.i--tags.c
@@ -0,0 +1,13 @@
+/* Generated by re2c */
+// 'x' dominates 'y'
+
+{
+ YYCTYPE yych;
+ yyt2 = NULL;
+ yyt1 = YYCURSOR;
+ x = yyt1;
+ y = yyt2;
+ {}
+}
+
+re2c: warning: line 4: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/tags/ambiguity/alt0.i--tags.re b/test/tags/ambiguity/alt0.i--tags.re
new file mode 100644
index 00000000..215e04c7
--- /dev/null
+++ b/test/tags/ambiguity/alt0.i--tags.re
@@ -0,0 +1,6 @@
+// 'x' dominates 'y'
+/*!re2c
+
+@x | @y {}
+
+*/
diff --git a/test/tags/ambiguity/alt1.i--tags.c b/test/tags/ambiguity/alt1.i--tags.c
new file mode 100644
index 00000000..e47dcaef
--- /dev/null
+++ b/test/tags/ambiguity/alt1.i--tags.c
@@ -0,0 +1,20 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ ++YYCURSOR;
+ {}
+yy4:
+ ++YYCURSOR;
+ yyt1 = YYCURSOR;
+ p = yyt1;
+ { @p }
+}
+
diff --git a/test/tags/ambiguity/alt1.i--tags.re b/test/tags/ambiguity/alt1.i--tags.re
new file mode 100644
index 00000000..b461e58c
--- /dev/null
+++ b/test/tags/ambiguity/alt1.i--tags.re
@@ -0,0 +1,4 @@
+/*!re2c
+ "a" @p | "a" { @p }
+ * {}
+*/
diff --git a/test/tags/ambiguity/alt2.i--tags.c b/test/tags/ambiguity/alt2.i--tags.c
new file mode 100644
index 00000000..1c80f58f
--- /dev/null
+++ b/test/tags/ambiguity/alt2.i--tags.c
@@ -0,0 +1,21 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ ++YYCURSOR;
+ {}
+yy4:
+ ++YYCURSOR;
+ p = yyt1;
+ { @p }
+}
+
diff --git a/test/tags/ambiguity/alt2.i--tags.re b/test/tags/ambiguity/alt2.i--tags.re
new file mode 100644
index 00000000..1d8d78a5
--- /dev/null
+++ b/test/tags/ambiguity/alt2.i--tags.re
@@ -0,0 +1,4 @@
+/*!re2c
+ @p "a" | "a" { @p }
+ * {}
+*/
diff --git a/test/tags/ambiguity/cat1.i--tags.c b/test/tags/ambiguity/cat1.i--tags.c
new file mode 100644
index 00000000..2ef72cc1
--- /dev/null
+++ b/test/tags/ambiguity/cat1.i--tags.c
@@ -0,0 +1,38 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ ++YYCURSOR;
+yy3:
+ {}
+yy4:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ default: goto yy3;
+ }
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ default: goto yy7;
+ }
+yy7:
+ p = yyt1;
+ { @p }
+}
+
+re2c: warning: line 2: tag 'p' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
diff --git a/test/tags/ambiguity/cat1.i--tags.re b/test/tags/ambiguity/cat1.i--tags.re
new file mode 100644
index 00000000..1caed3a5
--- /dev/null
+++ b/test/tags/ambiguity/cat1.i--tags.re
@@ -0,0 +1,4 @@
+/*!re2c
+ "a"+ @p "a"+ { @p }
+ * {}
+*/
diff --git a/test/tags/ambiguity/cat3.i.c b/test/tags/ambiguity/cat3.i.c
new file mode 100644
index 00000000..ee355643
--- /dev/null
+++ b/test/tags/ambiguity/cat3.i.c
@@ -0,0 +1,148 @@
+/* Generated by re2c */
+// no warning (fixed tag => no nondeterminism)
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ ++YYCURSOR;
+yy3:
+ {}
+yy4:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy5;
+ default: goto yy3;
+ }
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy5;
+ default: goto yy7;
+ }
+yy7:
+ YYCURSOR -= 1;
+ {}
+}
+
+
+// no warning (fixed tag => no nondeterminism)
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy12;
+ default: goto yy10;
+ }
+yy10:
+ ++YYCURSOR;
+yy11:
+ {}
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy13;
+ default: goto yy11;
+ }
+yy13:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy13;
+ default: goto yy15;
+ }
+yy15:
+ YYCURSOR -= 1;
+ {}
+}
+
+
+// warning (variable tag => nondeterminism), old-style context marker
+
+{
+ YYCTYPE yych;
+ if (YYLESSTHAN (2)) YYFILL(2);
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'a': goto yy20;
+ default: goto yy18;
+ }
+yy18:
+ YYSKIP ();
+yy19:
+ {}
+yy20:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'a':
+ YYBACKUPCTX ();
+ goto yy21;
+ default: goto yy19;
+ }
+yy21:
+ YYSKIP ();
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'a':
+ YYBACKUPCTX ();
+ goto yy21;
+ default: goto yy23;
+ }
+yy23:
+ YYRESTORECTX ();
+ {}
+}
+
+
+// warning (variable tag => nondeterminism), tag variable
+
+{
+ YYCTYPE yych;
+ if (YYLESSTHAN (2)) YYFILL(2);
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'a': goto yy28;
+ default: goto yy26;
+ }
+yy26:
+ YYSKIP ();
+yy27:
+ {}
+yy28:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'a':
+ YYSTAGP (yyt1);
+ goto yy29;
+ default: goto yy27;
+ }
+yy29:
+ YYSKIP ();
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'a':
+ YYSTAGP (yyt1);
+ goto yy29;
+ default: goto yy31;
+ }
+yy31:
+ YYRESTORETAG (yyt1);
+ {}
+}
+
+re2c: warning: line 21: trailing context has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 29: trailing context has 2nd degree of nondeterminism [-Wnondeterministic-tags]
diff --git a/test/tags/ambiguity/cat3.i.re b/test/tags/ambiguity/cat3.i.re
new file mode 100644
index 00000000..be7e913f
--- /dev/null
+++ b/test/tags/ambiguity/cat3.i.re
@@ -0,0 +1,31 @@
+// no warning (fixed tag => no nondeterminism)
+/*!re2c
+ re2c:flags:input = default;
+ re2c:flags:tags = 0;
+ "a"+ / "a" {}
+ * {}
+*/
+
+// no warning (fixed tag => no nondeterminism)
+/*!re2c
+ re2c:flags:input = default;
+ re2c:flags:tags = 1;
+ "a"+ / "a" {}
+ * {}
+*/
+
+// warning (variable tag => nondeterminism), old-style context marker
+/*!re2c
+ re2c:flags:input = custom;
+ re2c:flags:tags = 0;
+ "a"+ / "a" {}
+ * {}
+*/
+
+// warning (variable tag => nondeterminism), tag variable
+/*!re2c
+ re2c:flags:input = custom;
+ re2c:flags:tags = 1;
+ "a"+ / "a" {}
+ * {}
+*/
diff --git a/test/tags/ambiguity/cat4.i--tags.c b/test/tags/ambiguity/cat4.i--tags.c
new file mode 100644
index 00000000..312fa7f7
--- /dev/null
+++ b/test/tags/ambiguity/cat4.i--tags.c
@@ -0,0 +1,44 @@
+/* Generated by re2c */
+// Tag is nondeterministic: fixed length helps only in top-level
+
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy4;
+ case 'b': goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ ++YYCURSOR;
+yy3:
+ {}
+yy4:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy7;
+ default: goto yy3;
+ }
+yy5:
+ ++YYCURSOR;
+ yyt1 = NULL;
+yy6:
+ p = yyt1;
+ { @p }
+yy7:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy7;
+ default: goto yy6;
+ }
+}
+
+re2c: warning: line 4: tag 'p' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
diff --git a/test/tags/ambiguity/cat4.i--tags.re b/test/tags/ambiguity/cat4.i--tags.re
new file mode 100644
index 00000000..a5fe9816
--- /dev/null
+++ b/test/tags/ambiguity/cat4.i--tags.re
@@ -0,0 +1,6 @@
+// Tag is nondeterministic: fixed length helps only in top-level
+
+/*!re2c
+ "a"+ @p "a" | "b" { @p }
+ * {}
+*/
diff --git a/test/tags/ambiguity/iter.i--tags.c b/test/tags/ambiguity/iter.i--tags.c
new file mode 100644
index 00000000..efc7495f
--- /dev/null
+++ b/test/tags/ambiguity/iter.i--tags.c
@@ -0,0 +1,105 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy8;
+ case 'd': goto yy11;
+ case 'e': goto yy14;
+ case 'f': goto yy17;
+ default:
+ yyt1 = NULL;
+ goto yy2;
+ }
+yy2:
+ a = yyt1;
+ { @a }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default: goto yy7;
+ }
+yy7:
+ b = yyt1;
+ { @b }
+yy8:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy8;
+ default: goto yy10;
+ }
+yy10:
+ c = yyt1;
+ { @c }
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy11;
+ default:
+ yyt1 = YYCURSOR;
+ goto yy13;
+ }
+yy13:
+ d = yyt1;
+ { @d }
+yy14:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'e': goto yy14;
+ default:
+ yyt1 = YYCURSOR;
+ goto yy16;
+ }
+yy16:
+ e = yyt1;
+ { @e }
+yy17:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'f': goto yy17;
+ default:
+ yyt1 = YYCURSOR;
+ goto yy19;
+ }
+yy19:
+ f = yyt1;
+ { @f }
+}
+
+re2c: warning: line 2: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 3: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 8: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 9: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/tags/ambiguity/iter.i--tags.re b/test/tags/ambiguity/iter.i--tags.re
new file mode 100644
index 00000000..6943d58f
--- /dev/null
+++ b/test/tags/ambiguity/iter.i--tags.re
@@ -0,0 +1,10 @@
+/*!re2c
+ ((@a "a")*)* { @a }
+ (("d" @d)*)* { @d }
+
+ (@b "b"*)* { @b }
+ ("e"* @e)* { @e }
+
+ (@c "c"+)* { @c }
+ ("f"+ @f)* { @f }
+*/
diff --git a/test/tags/bench_http_rfc7230.i.c b/test/tags/bench_http_rfc7230.i.c
new file mode 100644
index 00000000..a94637f9
--- /dev/null
+++ b/test/tags/bench_http_rfc7230.i.c
@@ -0,0 +1,13288 @@
+/* Generated by re2c */
+#include <assert.h>
+#include <stddef.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
+typedef struct taglist_t {
+ struct taglist_t *pred;
+ long dist;
+} taglist_t;
+
+typedef struct taglistpool_t {
+ taglist_t *head;
+ taglist_t *next;
+ taglist_t *last;
+} taglistpool_t;
+
+typedef struct {
+ FILE *file;
+ char *buf;
+ char *lim;
+ char *cur;
+ char *mar;
+ char *tok;
+ char *yyt1;
+char *yyt10;
+char *yyt11;
+char *yyt12;
+char *yyt13;
+char *yyt14;
+char *yyt15;
+char *yyt16;
+char *yyt17;
+char *yyt18;
+char *yyt19;
+char *yyt2;
+char *yyt20;
+char *yyt21;
+char *yyt22;
+char *yyt23;
+char *yyt24;
+char *yyt25;
+char *yyt26;
+char *yyt27;
+char *yyt28;
+char *yyt29;
+char *yyt3;
+char *yyt30;
+char *yyt31;
+char *yyt32;
+char *yyt33;
+char *yyt34;
+char *yyt35;
+char *yyt4;
+char *yyt5;
+char *yyt6;
+char *yyt7;
+char *yyt8;
+char *yyt9;
+
+ taglist_t *yyt36;
+taglist_t *yyt37;
+taglist_t *yyt38;
+taglist_t *yyt39;
+taglist_t *yyt40;
+taglist_t *yyt41;
+taglist_t *yyt42;
+
+ taglistpool_t tlp;
+ int eof;
+} input_t;
+
+static void taglistpool_clear(taglistpool_t *tlp, input_t *in)
+{
+ tlp->next = tlp->head;
+ in->yyt36 = 0;
+in->yyt37 = 0;
+in->yyt38 = 0;
+in->yyt39 = 0;
+in->yyt40 = 0;
+in->yyt41 = 0;
+in->yyt42 = 0;
+
+}
+
+static void taglistpool_init(taglistpool_t *tlp)
+{
+ static const unsigned size = 1024 * 1024;
+ tlp->head = (taglist_t*)malloc(size * sizeof(taglist_t));
+ tlp->next = tlp->head;
+ tlp->last = tlp->head + size;
+}
+
+static void taglistpool_free(taglistpool_t *tlp)
+{
+ free(tlp->head);
+ tlp->head = tlp->next = tlp->last = NULL;
+}
+
+static taglist_t *taglistpool_next(taglistpool_t *tlp)
+{
+ if (tlp->next < tlp->last) {
+ return tlp->next++;
+ }
+
+ const unsigned size = tlp->last - tlp->head;
+ taglist_t *head = (taglist_t*)malloc(2 * size * sizeof(taglist_t));
+ memcpy(head, tlp->head, size * sizeof(taglist_t));
+ free(tlp->head);
+ tlp->head = head;
+ tlp->next = head + size;
+ tlp->last = head + size * 2;
+ return tlp->next++;
+}
+
+static void taglist(taglist_t **ptl, const char *b, const char *t, taglistpool_t *tlp)
+{
+ taglist_t *tl = taglistpool_next(tlp);
+ tl->pred = *ptl;
+ tl->dist = t - b;
+ *ptl = tl;
+}
+
+#define YYMAXFILL 66
+
+static const size_t SIZE = 4096;
+
+static void init_input(input_t *in, const char *fname)
+{
+ in->file = fopen(fname, "r");
+ in->buf = (char*) malloc(SIZE + YYMAXFILL);
+ in->lim = in->buf + SIZE;
+ in->cur = in->lim;
+ in->mar = in->lim;
+ in->tok = in->lim;
+ in->yyt1 = 0;
+in->yyt10 = 0;
+in->yyt11 = 0;
+in->yyt12 = 0;
+in->yyt13 = 0;
+in->yyt14 = 0;
+in->yyt15 = 0;
+in->yyt16 = 0;
+in->yyt17 = 0;
+in->yyt18 = 0;
+in->yyt19 = 0;
+in->yyt2 = 0;
+in->yyt20 = 0;
+in->yyt21 = 0;
+in->yyt22 = 0;
+in->yyt23 = 0;
+in->yyt24 = 0;
+in->yyt25 = 0;
+in->yyt26 = 0;
+in->yyt27 = 0;
+in->yyt28 = 0;
+in->yyt29 = 0;
+in->yyt3 = 0;
+in->yyt30 = 0;
+in->yyt31 = 0;
+in->yyt32 = 0;
+in->yyt33 = 0;
+in->yyt34 = 0;
+in->yyt35 = 0;
+in->yyt4 = 0;
+in->yyt5 = 0;
+in->yyt6 = 0;
+in->yyt7 = 0;
+in->yyt8 = 0;
+in->yyt9 = 0;
+
+ in->yyt36 = 0;
+in->yyt37 = 0;
+in->yyt38 = 0;
+in->yyt39 = 0;
+in->yyt40 = 0;
+in->yyt41 = 0;
+in->yyt42 = 0;
+
+ taglistpool_init(&in->tlp);
+ in->eof = 0;
+}
+
+static void free_input(input_t *in)
+{
+ fclose(in->file);
+ free(in->buf);
+ taglistpool_free(&in->tlp);
+}
+
+static int fill(input_t *in, size_t need)
+{
+ size_t free;
+
+ if (in->eof) return 1;
+
+ free = in->tok - in->buf;
+ if (free < need) return 2;
+
+ memmove(in->buf, in->tok, in->lim - in->tok);
+ in->lim -= free;
+ in->cur -= free;
+ in->mar -= free;
+ in->tok -= free;
+ if (in->yyt1) in->yyt1 -= free;
+if (in->yyt10) in->yyt10 -= free;
+if (in->yyt11) in->yyt11 -= free;
+if (in->yyt12) in->yyt12 -= free;
+if (in->yyt13) in->yyt13 -= free;
+if (in->yyt14) in->yyt14 -= free;
+if (in->yyt15) in->yyt15 -= free;
+if (in->yyt16) in->yyt16 -= free;
+if (in->yyt17) in->yyt17 -= free;
+if (in->yyt18) in->yyt18 -= free;
+if (in->yyt19) in->yyt19 -= free;
+if (in->yyt2) in->yyt2 -= free;
+if (in->yyt20) in->yyt20 -= free;
+if (in->yyt21) in->yyt21 -= free;
+if (in->yyt22) in->yyt22 -= free;
+if (in->yyt23) in->yyt23 -= free;
+if (in->yyt24) in->yyt24 -= free;
+if (in->yyt25) in->yyt25 -= free;
+if (in->yyt26) in->yyt26 -= free;
+if (in->yyt27) in->yyt27 -= free;
+if (in->yyt28) in->yyt28 -= free;
+if (in->yyt29) in->yyt29 -= free;
+if (in->yyt3) in->yyt3 -= free;
+if (in->yyt30) in->yyt30 -= free;
+if (in->yyt31) in->yyt31 -= free;
+if (in->yyt32) in->yyt32 -= free;
+if (in->yyt33) in->yyt33 -= free;
+if (in->yyt34) in->yyt34 -= free;
+if (in->yyt35) in->yyt35 -= free;
+if (in->yyt4) in->yyt4 -= free;
+if (in->yyt5) in->yyt5 -= free;
+if (in->yyt6) in->yyt6 -= free;
+if (in->yyt7) in->yyt7 -= free;
+if (in->yyt8) in->yyt8 -= free;
+if (in->yyt9) in->yyt9 -= free;
+
+ in->lim += fread(in->lim, 1, free, in->file);
+ if (in->lim < in->buf + SIZE) {
+ in->eof = 1;
+ memset(in->lim, 0, YYMAXFILL);
+ in->lim += YYMAXFILL;
+ }
+ return 0;
+}
+
+static void print_headers(const char *tok,
+ const taglist_t *h1, const taglist_t *h2,
+ const taglist_t *h3, const taglist_t *h4,
+ const taglist_t *h5)
+{
+ if (!h1 || !h2 || !h3 || !h4 || !h5) {
+ assert(!h1 && !h2 && !h3 && !h4 && !h5);
+ return;
+ }
+ print_headers(tok, h1->pred, h2->pred, h3->pred, h4->pred, h5->pred);
+ printf("%.*s%.*s%.*s%.*s\n",
+ (int)(h2->dist - h1->dist), tok + h1->dist,
+ (int)(h3->dist - h2->dist), tok + h2->dist,
+ (int)(h4->dist - h3->dist), tok + h3->dist,
+ (int)(h5->dist - h4->dist), tok + h4->dist);
+}
+
+#define YYCTYPE char
+#define YYCURSOR in->cur
+#define YYMARKER in->mar
+#define YYLIMIT in->lim
+#define YYMTAGP(tl) taglist(&tl, in->tok, in->cur, &in->tlp)
+#define YYMTAGN(tl) taglist(&tl, in->tok, NULL, &in->tlp)
+#define YYFILL(n) if (fill(in, n) != 0) return 2;
+
+static int lex(input_t *in, long *count, long *total)
+{
+ const char *of, *au, *at,
+ *hs1, *hs3, *m1, *p1, *p3, *p5, *q1, *q3,
+ *hs2, *hs4, *m2, *p2, *p4, *p6, *q2, *q4,
+ *r1, *r3, *rp1, *s1, *st1, *u1, *u3, *v1, *v3,
+ *r2, *r4, *rp2, *s2, *st2, *u2, *u4, *v2, *v4;
+ taglist_t *h1, *h2, *h3, *h4, *h5;
+ long c, t;
+
+ c = 0; t = 0;
+ of = au = at
+ = hs1 = hs3 = m1 = p1 = p3 = p5 = q1 = q3
+ = hs2 = hs4 = m2 = p2 = p4 = p6 = q2 = q4
+ = r1 = r3 = rp1 = s1 = st1 = u1 = u3 = v1 = v3
+ = r2 = r4 = rp2 = s2 = st2 = u2 = u4 = v2 = v4 = NULL;
+loop:
+ in->tok = in->cur;
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 66) YYFILL(66);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy2;
+ case '\n': goto yy6;
+ case '!':
+ case '#':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '*':
+ case '+':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '^':
+ case '_':
+ case '`':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '|':
+ case '~':
+ in->yyt1 = YYCURSOR;
+ goto yy8;
+ case 'H':
+ in->yyt1 = in->yyt30 = YYCURSOR;
+ goto yy9;
+ default: goto yy4;
+ }
+yy2:
+ ++YYCURSOR;
+ { *count = c; *total = t; return 0; }
+yy4:
+ ++YYCURSOR;
+yy5:
+ { return 1; }
+yy6:
+ ++YYCURSOR;
+ { goto loop; }
+yy8:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case ' ':
+ case '!':
+ case '#':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '*':
+ case '+':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '^':
+ case '_':
+ case '`':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '|':
+ case '~': goto yy13;
+ default: goto yy5;
+ }
+yy9:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case ' ':
+ case '!':
+ case '#':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '*':
+ case '+':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '^':
+ case '_':
+ case '`':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '|':
+ case '~': goto yy13;
+ case 'T': goto yy14;
+ default: goto yy5;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt10 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt3 = in->yyt11 = in->yyt12 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ';':
+ case '=':
+ case '_':
+ case '~':
+ in->yyt4 = in->yyt10 = NULL;
+ in->yyt3 = in->yyt5 = in->yyt11 = YYCURSOR;
+ goto yy16;
+ case '%':
+ in->yyt4 = in->yyt10 = NULL;
+ in->yyt3 = in->yyt5 = in->yyt11 = YYCURSOR;
+ goto yy18;
+ case '/':
+ in->yyt27 = YYCURSOR;
+ goto yy19;
+ case ':':
+ in->yyt4 = in->yyt10 = NULL;
+ in->yyt3 = in->yyt5 = in->yyt11 = in->yyt12 = YYCURSOR;
+ goto yy21;
+ case '?':
+ in->yyt27 = in->yyt28 = YYCURSOR;
+ goto yy22;
+ case '@':
+ in->yyt3 = in->yyt5 = in->yyt10 = YYCURSOR;
+ goto yy23;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ in->yyt4 = in->yyt10 = NULL;
+ in->yyt3 = in->yyt5 = in->yyt11 = in->yyt14 = YYCURSOR;
+ goto yy24;
+ case '[':
+ in->yyt4 = in->yyt10 = NULL;
+ in->yyt3 = in->yyt11 = YYCURSOR;
+ goto yy26;
+ default: goto yy11;
+ }
+yy11:
+ YYCURSOR = YYMARKER;
+ goto yy5;
+yy12:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 62) YYFILL(62);
+ yych = *YYCURSOR;
+yy13:
+ switch (yych) {
+ case ' ':
+ in->yyt2 = YYCURSOR;
+ goto yy10;
+ case '!':
+ case '#':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '*':
+ case '+':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '^':
+ case '_':
+ case '`':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '|':
+ case '~': goto yy12;
+ default: goto yy11;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'T': goto yy27;
+ default: goto yy13;
+ }
+yy15:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'H':
+ in->yyt8 = YYCURSOR;
+ goto yy28;
+ default: goto yy11;
+ }
+yy16:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 61) YYFILL(61);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt5 = in->yyt6 = in->yyt7 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt12 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy16;
+ case '%': goto yy18;
+ case ':':
+ in->yyt12 = YYCURSOR;
+ goto yy21;
+ case '@':
+ in->yyt10 = YYCURSOR;
+ goto yy23;
+ default: goto yy11;
+ }
+yy18:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy29;
+ default: goto yy11;
+ }
+yy19:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt29 = NULL;
+ in->yyt28 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '/':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy19;
+ case '%': goto yy30;
+ case '?':
+ in->yyt28 = YYCURSOR;
+ goto yy22;
+ default: goto yy11;
+ }
+yy21:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt6 = in->yyt7 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt5 = in->yyt13 = YYCURSOR;
+ goto yy15;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ in->yyt13 = YYCURSOR;
+ goto yy34;
+ default: goto yy32;
+ }
+yy22:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = NULL;
+ in->yyt7 = in->yyt29 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '/':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case '?':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~':
+ in->yyt29 = YYCURSOR;
+ goto yy36;
+ case '%':
+ in->yyt29 = YYCURSOR;
+ goto yy38;
+ default: goto yy11;
+ }
+yy23:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt4 = in->yyt5;
+ in->yyt5 = in->yyt6 = in->yyt7 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt11 = in->yyt12 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~':
+ in->yyt11 = YYCURSOR;
+ goto yy39;
+ case '%':
+ in->yyt11 = YYCURSOR;
+ goto yy41;
+ case ':':
+ in->yyt11 = in->yyt12 = YYCURSOR;
+ goto yy42;
+ case '[':
+ in->yyt4 = in->yyt5;
+ in->yyt11 = YYCURSOR;
+ goto yy26;
+ default: goto yy11;
+ }
+yy24:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 65) YYFILL(65);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt5 = in->yyt6 = in->yyt7 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt12 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case ',':
+ case ';':
+ case '=':
+ case '_':
+ case '~': goto yy16;
+ case '%': goto yy18;
+ case '+':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy24;
+ case ':':
+ in->yyt12 = in->yyt15 = YYCURSOR;
+ goto yy43;
+ case '@':
+ in->yyt10 = YYCURSOR;
+ goto yy23;
+ default: goto yy11;
+ }
+yy26:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy44;
+ case ':': goto yy45;
+ case 'v': goto yy46;
+ default: goto yy11;
+ }
+yy27:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'P': goto yy47;
+ default: goto yy13;
+ }
+yy28:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'T': goto yy48;
+ default: goto yy11;
+ }
+yy29:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy16;
+ default: goto yy11;
+ }
+yy30:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy49;
+ default: goto yy11;
+ }
+yy31:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 60) YYFILL(60);
+ yych = *YYCURSOR;
+yy32:
+ switch (yych) {
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy31;
+ case '%': goto yy33;
+ case '@':
+ in->yyt10 = YYCURSOR;
+ goto yy23;
+ default: goto yy11;
+ }
+yy33:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy50;
+ default: goto yy11;
+ }
+yy34:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 60) YYFILL(60);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt6 = in->yyt7 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt5 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case ':':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy31;
+ case '%': goto yy33;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy34;
+ case '@':
+ in->yyt10 = YYCURSOR;
+ goto yy23;
+ default: goto yy11;
+ }
+yy36:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = NULL;
+ in->yyt7 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '/':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case '?':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy36;
+ case '%': goto yy38;
+ default: goto yy11;
+ }
+yy38:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy51;
+ default: goto yy11;
+ }
+yy39:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt4 = in->yyt5;
+ in->yyt5 = in->yyt6 = in->yyt7 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt12 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy39;
+ case '%': goto yy41;
+ case ':':
+ in->yyt12 = YYCURSOR;
+ goto yy42;
+ default: goto yy11;
+ }
+yy41:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy52;
+ default: goto yy11;
+ }
+yy42:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt4 = in->yyt5;
+ in->yyt6 = in->yyt7 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt5 = in->yyt13 = YYCURSOR;
+ goto yy15;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ in->yyt13 = YYCURSOR;
+ goto yy53;
+ default: goto yy11;
+ }
+yy43:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt6 = in->yyt7 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt5 = in->yyt13 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case ':':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~':
+ in->yyt24 = YYCURSOR;
+ goto yy55;
+ case '%':
+ in->yyt24 = YYCURSOR;
+ goto yy57;
+ case '/':
+ in->yyt24 = YYCURSOR;
+ goto yy58;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ in->yyt13 = in->yyt24 = YYCURSOR;
+ goto yy59;
+ case '?':
+ in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = NULL;
+ in->yyt24 = in->yyt25 = YYCURSOR;
+ goto yy61;
+ case '@':
+ in->yyt10 = in->yyt24 = YYCURSOR;
+ goto yy62;
+ default: goto yy11;
+ }
+yy44:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy63;
+ case ':': goto yy64;
+ default: goto yy11;
+ }
+yy45:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy65;
+ default: goto yy11;
+ }
+yy46:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy11;
+ default: goto yy67;
+ }
+yy47:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '/': goto yy68;
+ default: goto yy13;
+ }
+yy48:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'T': goto yy69;
+ default: goto yy11;
+ }
+yy49:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy19;
+ default: goto yy11;
+ }
+yy50:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy31;
+ default: goto yy11;
+ }
+yy51:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy36;
+ default: goto yy11;
+ }
+yy52:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy39;
+ default: goto yy11;
+ }
+yy53:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt4 = in->yyt5;
+ in->yyt6 = in->yyt7 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt5 = YYCURSOR;
+ goto yy15;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy53;
+ default: goto yy11;
+ }
+yy55:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 60) YYFILL(60);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt25 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy55;
+ case '%': goto yy57;
+ case '/': goto yy70;
+ case '?':
+ in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = NULL;
+ in->yyt25 = YYCURSOR;
+ goto yy61;
+ case '@':
+ in->yyt10 = YYCURSOR;
+ goto yy62;
+ default: goto yy11;
+ }
+yy57:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy72;
+ default: goto yy11;
+ }
+yy58:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '/': goto yy74;
+ default: goto yy71;
+ }
+yy59:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 60) YYFILL(60);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt6 = in->yyt7 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt5 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case ':':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy55;
+ case '%': goto yy57;
+ case '/': goto yy70;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy59;
+ case '?':
+ in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = NULL;
+ in->yyt25 = YYCURSOR;
+ goto yy61;
+ case '@':
+ in->yyt10 = YYCURSOR;
+ goto yy62;
+ default: goto yy11;
+ }
+yy61:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt3 = in->yyt4 = in->yyt5 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt6 = in->yyt26 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '/':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case '?':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~':
+ in->yyt26 = YYCURSOR;
+ goto yy75;
+ case '%':
+ in->yyt26 = YYCURSOR;
+ goto yy77;
+ default: goto yy11;
+ }
+yy62:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt4 = in->yyt5;
+ in->yyt5 = in->yyt6 = in->yyt7 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt11 = in->yyt12 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~':
+ in->yyt11 = YYCURSOR;
+ goto yy78;
+ case '%':
+ in->yyt11 = YYCURSOR;
+ goto yy80;
+ case ':':
+ in->yyt11 = in->yyt12 = YYCURSOR;
+ goto yy81;
+ case '[':
+ in->yyt4 = in->yyt5;
+ in->yyt11 = YYCURSOR;
+ goto yy26;
+ default: goto yy79;
+ }
+yy63:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy82;
+ case ':': goto yy64;
+ default: goto yy11;
+ }
+yy64:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy83;
+ case ':': goto yy84;
+ default: goto yy11;
+ }
+yy65:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy85;
+ case '1': goto yy86;
+ case '2': goto yy87;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy88;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy89;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy66:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+yy67:
+ switch (yych) {
+ case '.': goto yy91;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy66;
+ default: goto yy11;
+ }
+yy68:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy92;
+ default: goto yy11;
+ }
+yy69:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'P': goto yy93;
+ default: goto yy11;
+ }
+yy70:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
+ yych = *YYCURSOR;
+yy71:
+ switch (yych) {
+ case ' ':
+ in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt25 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '/':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy70;
+ case '%': goto yy73;
+ case '?':
+ in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = NULL;
+ in->yyt25 = YYCURSOR;
+ goto yy61;
+ default: goto yy11;
+ }
+yy72:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy55;
+ default: goto yy11;
+ }
+yy73:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy94;
+ default: goto yy11;
+ }
+yy74:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt16 = in->yyt17 = in->yyt20 = in->yyt21 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt18 = in->yyt19 = in->yyt22 = in->yyt23 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~':
+ in->yyt16 = in->yyt17 = NULL;
+ in->yyt3 = in->yyt18 = YYCURSOR;
+ goto yy95;
+ case '%':
+ in->yyt16 = in->yyt17 = NULL;
+ in->yyt3 = in->yyt18 = YYCURSOR;
+ goto yy97;
+ case '/':
+ in->yyt16 = in->yyt17 = in->yyt20 = in->yyt21 = NULL;
+ in->yyt18 = in->yyt19 = in->yyt22 = YYCURSOR;
+ goto yy98;
+ case ':':
+ in->yyt16 = in->yyt17 = NULL;
+ in->yyt3 = in->yyt18 = in->yyt19 = YYCURSOR;
+ goto yy100;
+ case '?':
+ in->yyt16 = in->yyt17 = in->yyt20 = in->yyt21 = in->yyt24 = in->yyt25 = NULL;
+ in->yyt18 = in->yyt19 = in->yyt22 = in->yyt23 = YYCURSOR;
+ goto yy61;
+ case '@':
+ in->yyt3 = in->yyt17 = YYCURSOR;
+ goto yy101;
+ case '[':
+ in->yyt16 = in->yyt17 = NULL;
+ in->yyt18 = YYCURSOR;
+ goto yy102;
+ default: goto yy11;
+ }
+yy75:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt3 = in->yyt4 = in->yyt5 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt6 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '/':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case '?':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy75;
+ case '%': goto yy77;
+ default: goto yy11;
+ }
+yy77:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy103;
+ default: goto yy11;
+ }
+yy78:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
+ yych = *YYCURSOR;
+yy79:
+ switch (yych) {
+ case ' ':
+ in->yyt4 = in->yyt5;
+ in->yyt5 = in->yyt6 = in->yyt7 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt12 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy78;
+ case '%': goto yy80;
+ case '/':
+ case '@': goto yy70;
+ case ':':
+ in->yyt12 = YYCURSOR;
+ goto yy81;
+ case '?':
+ in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = NULL;
+ in->yyt25 = YYCURSOR;
+ goto yy61;
+ default: goto yy11;
+ }
+yy80:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy104;
+ default: goto yy11;
+ }
+yy81:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt4 = in->yyt5;
+ in->yyt6 = in->yyt7 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt5 = in->yyt13 = YYCURSOR;
+ goto yy15;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ in->yyt13 = YYCURSOR;
+ goto yy105;
+ default: goto yy71;
+ }
+yy82:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy107;
+ case ':': goto yy64;
+ default: goto yy11;
+ }
+yy83:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy108;
+ case ':': goto yy109;
+ default: goto yy11;
+ }
+yy84:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy110;
+ case '1': goto yy111;
+ case '2': goto yy112;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy113;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy114;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy85:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy116;
+ case ':': goto yy117;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy86:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy118;
+ case ':': goto yy117;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy116;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy87:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy118;
+ case '5': goto yy119;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy120;
+ case ':': goto yy117;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy116;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy88:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy120;
+ case ':': goto yy117;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy116;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy89:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy116;
+ case ':': goto yy117;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy90:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt5 = in->yyt6 = in->yyt7 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt12 = YYCURSOR;
+ goto yy15;
+ case ':':
+ in->yyt5 = in->yyt4;
+ in->yyt12 = YYCURSOR;
+ goto yy42;
+ default: goto yy11;
+ }
+yy91:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ']': goto yy11;
+ default: goto yy122;
+ }
+yy92:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy123;
+ default: goto yy11;
+ }
+yy93:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '/': goto yy124;
+ default: goto yy11;
+ }
+yy94:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy70;
+ default: goto yy11;
+ }
+yy95:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 62) YYFILL(62);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt20 = in->yyt21 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt19 = in->yyt22 = in->yyt23 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy95;
+ case '%': goto yy97;
+ case '/':
+ in->yyt20 = in->yyt21 = NULL;
+ in->yyt19 = in->yyt22 = YYCURSOR;
+ goto yy98;
+ case ':':
+ in->yyt19 = YYCURSOR;
+ goto yy100;
+ case '?':
+ in->yyt20 = in->yyt21 = in->yyt24 = in->yyt25 = NULL;
+ in->yyt19 = in->yyt22 = in->yyt23 = YYCURSOR;
+ goto yy61;
+ case '@':
+ in->yyt17 = YYCURSOR;
+ goto yy101;
+ default: goto yy11;
+ }
+yy97:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy125;
+ default: goto yy11;
+ }
+yy98:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt23 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '/':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy98;
+ case '%': goto yy126;
+ case '?':
+ in->yyt24 = in->yyt25 = NULL;
+ in->yyt23 = YYCURSOR;
+ goto yy61;
+ default: goto yy11;
+ }
+yy100:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = YYCURSOR;
+ goto yy15;
+ case '/':
+ in->yyt20 = in->yyt21 = in->yyt22 = YYCURSOR;
+ goto yy98;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ in->yyt20 = YYCURSOR;
+ goto yy130;
+ case '?':
+ in->yyt24 = in->yyt25 = NULL;
+ in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = YYCURSOR;
+ goto yy61;
+ default: goto yy128;
+ }
+yy101:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt16 = in->yyt3;
+ in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt20 = in->yyt21 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt18 = in->yyt19 = in->yyt22 = in->yyt23 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~':
+ in->yyt18 = YYCURSOR;
+ goto yy132;
+ case '%':
+ in->yyt18 = YYCURSOR;
+ goto yy134;
+ case '/':
+ in->yyt16 = in->yyt3;
+ in->yyt20 = in->yyt21 = NULL;
+ in->yyt18 = in->yyt19 = in->yyt22 = YYCURSOR;
+ goto yy98;
+ case ':':
+ in->yyt18 = in->yyt19 = YYCURSOR;
+ goto yy135;
+ case '?':
+ in->yyt16 = in->yyt3;
+ in->yyt20 = in->yyt21 = in->yyt24 = in->yyt25 = NULL;
+ in->yyt18 = in->yyt19 = in->yyt22 = in->yyt23 = YYCURSOR;
+ goto yy61;
+ case '[':
+ in->yyt16 = in->yyt3;
+ in->yyt18 = YYCURSOR;
+ goto yy102;
+ default: goto yy11;
+ }
+yy102:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy136;
+ case ':': goto yy137;
+ case 'v': goto yy138;
+ default: goto yy11;
+ }
+yy103:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy75;
+ default: goto yy11;
+ }
+yy104:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy78;
+ default: goto yy11;
+ }
+yy105:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt4 = in->yyt5;
+ in->yyt6 = in->yyt7 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt5 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '/':
+ case ':':
+ case ';':
+ case '=':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy70;
+ case '%': goto yy73;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy105;
+ case '?':
+ in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = NULL;
+ in->yyt25 = YYCURSOR;
+ goto yy61;
+ default: goto yy11;
+ }
+yy107:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy64;
+ default: goto yy11;
+ }
+yy108:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy139;
+ case ':': goto yy109;
+ default: goto yy11;
+ }
+yy109:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy140;
+ case ':': goto yy141;
+ default: goto yy11;
+ }
+yy110:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy142;
+ case ':': goto yy143;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy111:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy144;
+ case ':': goto yy143;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy142;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy112:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy144;
+ case '5': goto yy145;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy146;
+ case ':': goto yy143;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy142;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy113:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy146;
+ case ':': goto yy143;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy142;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy114:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy142;
+ case ':': goto yy143;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy115:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy147;
+ case '1': goto yy148;
+ case '2': goto yy149;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy150;
+ default: goto yy11;
+ }
+yy116:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy151;
+ case ':': goto yy117;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy117:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy110;
+ case '1': goto yy111;
+ case '2': goto yy112;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy113;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy114;
+ default: goto yy11;
+ }
+yy118:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy152;
+ case ':': goto yy117;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy151;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy119:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy152;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy151;
+ case ':': goto yy117;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy120:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy151;
+ case ':': goto yy117;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy121:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
+ yych = *YYCURSOR;
+yy122:
+ switch (yych) {
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy121;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy123:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy153;
+ default: goto yy11;
+ }
+yy124:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy154;
+ default: goto yy11;
+ }
+yy125:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy95;
+ default: goto yy11;
+ }
+yy126:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy155;
+ default: goto yy11;
+ }
+yy127:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 61) YYFILL(61);
+ yych = *YYCURSOR;
+yy128:
+ switch (yych) {
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy127;
+ case '%': goto yy129;
+ case '@':
+ in->yyt17 = YYCURSOR;
+ goto yy101;
+ default: goto yy11;
+ }
+yy129:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy156;
+ default: goto yy11;
+ }
+yy130:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 61) YYFILL(61);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt21 = in->yyt22 = in->yyt23 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case ':':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy127;
+ case '%': goto yy129;
+ case '/':
+ in->yyt21 = in->yyt22 = YYCURSOR;
+ goto yy98;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy130;
+ case '?':
+ in->yyt24 = in->yyt25 = NULL;
+ in->yyt21 = in->yyt22 = in->yyt23 = YYCURSOR;
+ goto yy61;
+ case '@':
+ in->yyt17 = YYCURSOR;
+ goto yy101;
+ default: goto yy11;
+ }
+yy132:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 13) YYFILL(13);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt16 = in->yyt3;
+ in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt20 = in->yyt21 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt19 = in->yyt22 = in->yyt23 = YYCURSOR;
+ goto yy15;
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy132;
+ case '%': goto yy134;
+ case '/':
+ in->yyt16 = in->yyt3;
+ in->yyt20 = in->yyt21 = NULL;
+ in->yyt19 = in->yyt22 = YYCURSOR;
+ goto yy98;
+ case ':':
+ in->yyt19 = YYCURSOR;
+ goto yy135;
+ case '?':
+ in->yyt16 = in->yyt3;
+ in->yyt20 = in->yyt21 = in->yyt24 = in->yyt25 = NULL;
+ in->yyt19 = in->yyt22 = in->yyt23 = YYCURSOR;
+ goto yy61;
+ default: goto yy11;
+ }
+yy134:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy157;
+ default: goto yy11;
+ }
+yy135:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt16 = in->yyt3;
+ in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = YYCURSOR;
+ goto yy15;
+ case '/':
+ in->yyt16 = in->yyt3;
+ in->yyt20 = in->yyt21 = in->yyt22 = YYCURSOR;
+ goto yy98;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ in->yyt20 = YYCURSOR;
+ goto yy158;
+ case '?':
+ in->yyt16 = in->yyt3;
+ in->yyt24 = in->yyt25 = NULL;
+ in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = YYCURSOR;
+ goto yy61;
+ default: goto yy11;
+ }
+yy136:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy160;
+ case ':': goto yy161;
+ default: goto yy11;
+ }
+yy137:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy162;
+ default: goto yy11;
+ }
+yy138:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy11;
+ default: goto yy164;
+ }
+yy139:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy165;
+ case ':': goto yy109;
+ default: goto yy11;
+ }
+yy140:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy166;
+ case ':': goto yy167;
+ default: goto yy11;
+ }
+yy141:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy168;
+ case '1': goto yy169;
+ case '2': goto yy170;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy171;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy172;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy142:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy173;
+ case ':': goto yy143;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy143:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy168;
+ case '1': goto yy169;
+ case '2': goto yy170;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy171;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy172;
+ default: goto yy11;
+ }
+yy144:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy174;
+ case ':': goto yy143;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy173;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy145:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy174;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy173;
+ case ':': goto yy143;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy146:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy173;
+ case ':': goto yy143;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy147:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy175;
+ default: goto yy11;
+ }
+yy148:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy175;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy150;
+ default: goto yy11;
+ }
+yy149:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy175;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy150;
+ case '5': goto yy176;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy147;
+ default: goto yy11;
+ }
+yy150:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy175;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy147;
+ default: goto yy11;
+ }
+yy151:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy177;
+ case ':': goto yy117;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy152:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy177;
+ case ':': goto yy117;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy153:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt31 = YYCURSOR;
+ goto yy178;
+ default: goto yy11;
+ }
+yy154:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy179;
+ default: goto yy11;
+ }
+yy155:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy98;
+ default: goto yy11;
+ }
+yy156:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy127;
+ default: goto yy11;
+ }
+yy157:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy132;
+ default: goto yy11;
+ }
+yy158:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 12) YYFILL(12);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt16 = in->yyt3;
+ in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt21 = in->yyt22 = in->yyt23 = YYCURSOR;
+ goto yy15;
+ case '/':
+ in->yyt16 = in->yyt3;
+ in->yyt21 = in->yyt22 = YYCURSOR;
+ goto yy98;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy158;
+ case '?':
+ in->yyt16 = in->yyt3;
+ in->yyt24 = in->yyt25 = NULL;
+ in->yyt21 = in->yyt22 = in->yyt23 = YYCURSOR;
+ goto yy61;
+ default: goto yy11;
+ }
+yy160:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy180;
+ case ':': goto yy161;
+ default: goto yy11;
+ }
+yy161:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy181;
+ case ':': goto yy182;
+ default: goto yy11;
+ }
+yy162:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy183;
+ case '1': goto yy184;
+ case '2': goto yy185;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy186;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy187;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy163:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+yy164:
+ switch (yych) {
+ case '.': goto yy189;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy163;
+ default: goto yy11;
+ }
+yy165:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy109;
+ default: goto yy11;
+ }
+yy166:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy190;
+ case ':': goto yy167;
+ default: goto yy11;
+ }
+yy167:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy191;
+ case ':': goto yy192;
+ default: goto yy11;
+ }
+yy168:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy193;
+ case ':': goto yy194;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy169:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy195;
+ case ':': goto yy194;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy193;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy170:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy195;
+ case '5': goto yy196;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy197;
+ case ':': goto yy194;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy193;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy171:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy197;
+ case ':': goto yy194;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy193;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy172:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy193;
+ case ':': goto yy194;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy173:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy198;
+ case ':': goto yy143;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy174:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy198;
+ case ':': goto yy143;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy175:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy199;
+ case '1': goto yy200;
+ case '2': goto yy201;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy202;
+ default: goto yy11;
+ }
+yy176:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy175;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy147;
+ default: goto yy11;
+ }
+yy177:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy117;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy178:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ in->yyt32 = YYCURSOR;
+ goto yy203;
+ default: goto yy11;
+ }
+yy179:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy204;
+ default: goto yy11;
+ }
+yy180:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy205;
+ case ':': goto yy161;
+ default: goto yy11;
+ }
+yy181:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy206;
+ case ':': goto yy207;
+ default: goto yy11;
+ }
+yy182:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy208;
+ case '1': goto yy209;
+ case '2': goto yy210;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy211;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy212;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy183:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy214;
+ case ':': goto yy215;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy184:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy216;
+ case ':': goto yy215;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy214;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy185:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy216;
+ case '5': goto yy217;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy218;
+ case ':': goto yy215;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy214;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy186:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy218;
+ case ':': goto yy215;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy214;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy187:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy214;
+ case ':': goto yy215;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy188:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt20 = in->yyt21 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ in->yyt19 = in->yyt22 = in->yyt23 = YYCURSOR;
+ goto yy15;
+ case '/':
+ in->yyt20 = in->yyt21 = NULL;
+ in->yyt19 = in->yyt22 = YYCURSOR;
+ goto yy98;
+ case ':':
+ in->yyt3 = in->yyt16;
+ in->yyt19 = YYCURSOR;
+ goto yy135;
+ case '?':
+ in->yyt20 = in->yyt21 = in->yyt24 = in->yyt25 = NULL;
+ in->yyt19 = in->yyt22 = in->yyt23 = YYCURSOR;
+ goto yy61;
+ default: goto yy11;
+ }
+yy189:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ']': goto yy11;
+ default: goto yy220;
+ }
+yy190:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy221;
+ case ':': goto yy167;
+ default: goto yy11;
+ }
+yy191:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy222;
+ case ':': goto yy223;
+ default: goto yy11;
+ }
+yy192:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy224;
+ case '1': goto yy225;
+ case '2': goto yy226;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy227;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy228;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy193:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy229;
+ case ':': goto yy194;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy194:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy224;
+ case '1': goto yy225;
+ case '2': goto yy226;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy227;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy228;
+ default: goto yy11;
+ }
+yy195:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy230;
+ case ':': goto yy194;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy229;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy196:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy230;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy229;
+ case ':': goto yy194;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy197:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy229;
+ case ':': goto yy194;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy198:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy143;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy199:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy231;
+ default: goto yy11;
+ }
+yy200:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy231;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy202;
+ default: goto yy11;
+ }
+yy201:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy231;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy202;
+ case '5': goto yy232;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy199;
+ default: goto yy11;
+ }
+yy202:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy231;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy199;
+ default: goto yy11;
+ }
+yy203:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy233;
+ default: goto yy11;
+ }
+yy204:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '\n':
+ in->yyt9 = YYCURSOR;
+ goto yy234;
+ default: goto yy11;
+ }
+yy205:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy161;
+ default: goto yy11;
+ }
+yy206:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy235;
+ case ':': goto yy207;
+ default: goto yy11;
+ }
+yy207:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy236;
+ case ':': goto yy237;
+ default: goto yy11;
+ }
+yy208:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy238;
+ case ':': goto yy239;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy209:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy240;
+ case ':': goto yy239;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy238;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy210:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy240;
+ case '5': goto yy241;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy242;
+ case ':': goto yy239;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy238;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy211:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy242;
+ case ':': goto yy239;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy238;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy212:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy238;
+ case ':': goto yy239;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy213:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy243;
+ case '1': goto yy244;
+ case '2': goto yy245;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy246;
+ default: goto yy11;
+ }
+yy214:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy247;
+ case ':': goto yy215;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy215:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy208;
+ case '1': goto yy209;
+ case '2': goto yy210;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy211;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy212;
+ default: goto yy11;
+ }
+yy216:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy248;
+ case ':': goto yy215;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy247;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy217:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy248;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy247;
+ case ':': goto yy215;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy218:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy247;
+ case ':': goto yy215;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy219:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 14) YYFILL(14);
+ yych = *YYCURSOR;
+yy220:
+ switch (yych) {
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy219;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy221:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy167;
+ default: goto yy11;
+ }
+yy222:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy249;
+ case ':': goto yy223;
+ default: goto yy11;
+ }
+yy223:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy250;
+ case ':': goto yy251;
+ default: goto yy11;
+ }
+yy224:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy252;
+ case ':': goto yy253;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy225:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy254;
+ case ':': goto yy253;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy252;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy226:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy254;
+ case '5': goto yy255;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy256;
+ case ':': goto yy253;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy252;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy227:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy256;
+ case ':': goto yy253;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy252;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy228:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy252;
+ case ':': goto yy253;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy229:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy257;
+ case ':': goto yy194;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy230:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy257;
+ case ':': goto yy194;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy231:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy258;
+ case '1': goto yy259;
+ case '2': goto yy260;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy261;
+ default: goto yy11;
+ }
+yy232:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy231;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy199;
+ default: goto yy11;
+ }
+yy233:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy262;
+ default: goto yy11;
+ }
+yy234:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '\n':
+ YYMTAGN (in->yyt40);
+ YYMTAGN (in->yyt39);
+ YYMTAGN (in->yyt38);
+ YYMTAGN (in->yyt37);
+ YYMTAGN (in->yyt36);
+ in->yyt30 = in->yyt31 = in->yyt32 = in->yyt33 = in->yyt34 = in->yyt35 = NULL;
+ goto yy263;
+ case '!':
+ case '#':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '*':
+ case '+':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '^':
+ case '_':
+ case '`':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '|':
+ case '~':
+ YYMTAGP (in->yyt36);
+ in->yyt30 = in->yyt31 = in->yyt32 = in->yyt33 = in->yyt34 = in->yyt35 = NULL;
+ goto yy265;
+ default: goto yy11;
+ }
+yy235:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy267;
+ case ':': goto yy207;
+ default: goto yy11;
+ }
+yy236:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy268;
+ case ':': goto yy269;
+ default: goto yy11;
+ }
+yy237:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy270;
+ case '1': goto yy271;
+ case '2': goto yy272;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy273;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy274;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy238:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy275;
+ case ':': goto yy239;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy239:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy270;
+ case '1': goto yy271;
+ case '2': goto yy272;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy273;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy274;
+ default: goto yy11;
+ }
+yy240:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy276;
+ case ':': goto yy239;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy275;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy241:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy276;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy275;
+ case ':': goto yy239;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy242:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy275;
+ case ':': goto yy239;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy243:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy277;
+ default: goto yy11;
+ }
+yy244:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy277;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy246;
+ default: goto yy11;
+ }
+yy245:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy277;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy246;
+ case '5': goto yy278;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy243;
+ default: goto yy11;
+ }
+yy246:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy277;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy243;
+ default: goto yy11;
+ }
+yy247:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy279;
+ case ':': goto yy215;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy248:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy279;
+ case ':': goto yy215;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy249:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy280;
+ case ':': goto yy223;
+ default: goto yy11;
+ }
+yy250:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy281;
+ case ':': goto yy282;
+ default: goto yy11;
+ }
+yy251:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy283;
+ case '1': goto yy284;
+ case '2': goto yy285;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy286;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy287;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy252:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy288;
+ case ':': goto yy253;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy253:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy283;
+ case '1': goto yy284;
+ case '2': goto yy285;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy286;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy287;
+ default: goto yy11;
+ }
+yy254:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy289;
+ case ':': goto yy253;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy288;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy255:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy289;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy288;
+ case ':': goto yy253;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy256:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy288;
+ case ':': goto yy253;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy257:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy194;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy258:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy259:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy261;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy260:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy261;
+ case '5': goto yy290;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy258;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy261:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy258;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy262:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt33 = YYCURSOR;
+ goto yy291;
+ default: goto yy11;
+ }
+yy263:
+ ++YYCURSOR;
+ m1 = in->yyt1;
+ m2 = in->yyt2;
+ at = in->yyt3;
+ u3 = in->yyt4;
+ u4 = in->yyt10;
+ hs3 = in->yyt11;
+ hs4 = in->yyt12;
+ r3 = in->yyt13;
+ r4 = in->yyt5;
+ au = in->yyt14;
+ s1 = in->yyt14;
+ s2 = in->yyt15;
+ u1 = in->yyt16;
+ u2 = in->yyt17;
+ hs1 = in->yyt18;
+ hs2 = in->yyt19;
+ r1 = in->yyt20;
+ r2 = in->yyt21;
+ p1 = in->yyt22;
+ p2 = in->yyt23;
+ p3 = in->yyt24;
+ p4 = in->yyt25;
+ q1 = in->yyt26;
+ q2 = in->yyt6;
+ of = in->yyt27;
+ p5 = in->yyt27;
+ p6 = in->yyt28;
+ q3 = in->yyt29;
+ q4 = in->yyt7;
+ v3 = in->yyt8;
+ v4 = in->yyt9;
+ v1 = in->yyt30;
+ v2 = in->yyt31;
+ st1 = in->yyt32;
+ st2 = in->yyt33;
+ rp1 = in->yyt34;
+ rp2 = in->yyt35;
+ h1 = in->yyt36;
+ h2 = in->yyt37;
+ h3 = in->yyt38;
+ h4 = in->yyt39;
+ h5 = in->yyt40;
+ {
+#ifndef VERIFY
+ c += 1;
+ if (st1) t += (v2 - v1) + (st2 - st1) + (rp2 - rp1);
+ if (m1) {
+ if (of) t += (p6 - p5) + (q4 - q3);
+ if (au) t += (s2 - s1) + (u2 - u1) + (hs2 - hs1)
+ + (r2 - r1) + (p2 - p1) + (p4 - p3) + (q2 - q1);
+ if (at) t += (u4 - u3) + (hs4 - hs3) + (r4 - r3);
+ t += (v4 - v3);
+ }
+ for (; h1 != 0; h1 = h1->pred, h2 = h2->pred,
+ h3 = h3->pred, h4 = h4->pred, h5 = h5->pred) {
+ t += (h2->dist - h1->dist) + (h3->dist - h2->dist)
+ + (h4->dist - h3->dist) + (h5->dist - h4->dist);
+ }
+#else
+ if (st1) {
+ printf("%.*s %.*s %.*s\n",
+ (int)(v2 - v1), v1,
+ (int)(st2 - st1), st1,
+ (int)(rp2 - rp1), rp1);
+ } else if (m1) {
+ printf("%.*s ", (int)(m2 - m1), m1);
+ if (of) {
+ printf("%.*s", (int)(p6 - p5), p5);
+ if (q3) printf("?%.*s", (int)(q4 - q3), q3);
+ } else if (au) {
+ printf("%.*s:", (int)(s2 - s1), s1);
+ if (p1) printf("//");
+ if (u1) printf("%.*s@", (int)(u2 - u1), u1);
+ printf("%.*s", (int)(hs2 - hs1), hs1);
+ if (r1) printf(":%.*s", (int)(r2 - r1), r1);
+ if (p1) printf("%.*s", (int)(p2 - p1), p1);
+ if (p3) printf("%.*s", (int)(p4 - p3), p3);
+ if (q1) printf("?%.*s", (int)(q2 - q1), q1);
+ } else if (at) {
+ if (u3) printf("%.*s@", (int)(u4 - u3), u3);
+ printf("%.*s", (int)(hs4 - hs3), hs3);
+ if (r3) printf(":%.*s", (int)(r4 - r3), r3);
+ } else {
+ printf("*");
+ }
+ printf(" %.*s\n", (int)(v4 - v3), v3);
+ }
+ print_headers(in->tok, h1, h2, h3, h4, h5);
+ printf("\n");
+#endif
+ taglistpool_clear(&in->tlp, in);
+ goto loop;
+ }
+yy265:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '!':
+ case '#':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '*':
+ case '+':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '^':
+ case '_':
+ case '`':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '|':
+ case '~': goto yy265;
+ case ':':
+ YYMTAGP (in->yyt37);
+ goto yy292;
+ default: goto yy11;
+ }
+yy267:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy207;
+ default: goto yy11;
+ }
+yy268:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy294;
+ case ':': goto yy269;
+ default: goto yy11;
+ }
+yy269:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy295;
+ case ':': goto yy296;
+ default: goto yy11;
+ }
+yy270:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy297;
+ case ':': goto yy298;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy271:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy299;
+ case ':': goto yy298;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy297;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy272:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy299;
+ case '5': goto yy300;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy301;
+ case ':': goto yy298;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy297;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy273:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy301;
+ case ':': goto yy298;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy297;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy274:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy297;
+ case ':': goto yy298;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy275:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy302;
+ case ':': goto yy239;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy276:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy302;
+ case ':': goto yy239;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy277:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy303;
+ case '1': goto yy304;
+ case '2': goto yy305;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy306;
+ default: goto yy11;
+ }
+yy278:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy277;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy243;
+ default: goto yy11;
+ }
+yy279:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy215;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy280:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy223;
+ default: goto yy11;
+ }
+yy281:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy307;
+ case ':': goto yy282;
+ default: goto yy11;
+ }
+yy282:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy308;
+ case ':': goto yy309;
+ default: goto yy11;
+ }
+yy283:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy310;
+ case ':': goto yy311;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy284:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy312;
+ case ':': goto yy311;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy310;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy285:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy312;
+ case '5': goto yy313;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy314;
+ case ':': goto yy311;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy310;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy286:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy314;
+ case ':': goto yy311;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy310;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy287:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy310;
+ case ':': goto yy311;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy288:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy315;
+ case ':': goto yy253;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy289:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy315;
+ case ':': goto yy253;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy290:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy258;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy291:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case 0x01:
+ case 0x02:
+ case 0x03:
+ case 0x04:
+ case 0x05:
+ case 0x06:
+ case 0x07:
+ case 0x08:
+ case '\v':
+ case '\f':
+ case '\r':
+ case 0x0E:
+ case 0x0F:
+ case 0x10:
+ case 0x11:
+ case 0x12:
+ case 0x13:
+ case 0x14:
+ case 0x15:
+ case 0x16:
+ case 0x17:
+ case 0x18:
+ case 0x19:
+ case 0x1A:
+ case 0x1B:
+ case 0x1C:
+ case 0x1D:
+ case 0x1E:
+ case 0x7F: goto yy11;
+ case '\n':
+ in->yyt34 = in->yyt35 = YYCURSOR;
+ goto yy318;
+ default:
+ in->yyt34 = YYCURSOR;
+ goto yy316;
+ }
+yy292:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case 0x01:
+ case 0x02:
+ case 0x03:
+ case 0x04:
+ case 0x05:
+ case 0x06:
+ case 0x07:
+ case 0x08:
+ case '\v':
+ case '\f':
+ case '\r':
+ case 0x0E:
+ case 0x0F:
+ case 0x10:
+ case 0x11:
+ case 0x12:
+ case 0x13:
+ case 0x14:
+ case 0x15:
+ case 0x16:
+ case 0x17:
+ case 0x18:
+ case 0x19:
+ case 0x1A:
+ case 0x1B:
+ case 0x1C:
+ case 0x1D:
+ case 0x1E:
+ case 0x7F: goto yy11;
+ case '\t':
+ case ' ': goto yy292;
+ case '\n':
+ in->yyt41 = in->yyt40;
+ YYMTAGP (in->yyt41);
+ in->yyt42 = in->yyt39;
+ YYMTAGP (in->yyt42);
+ YYMTAGP (in->yyt38);
+ goto yy319;
+ default:
+ YYMTAGP (in->yyt38);
+ goto yy320;
+ }
+yy294:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy322;
+ case ':': goto yy269;
+ default: goto yy11;
+ }
+yy295:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy323;
+ case ':': goto yy324;
+ default: goto yy11;
+ }
+yy296:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy325;
+ case '1': goto yy326;
+ case '2': goto yy327;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy328;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy329;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy297:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy330;
+ case ':': goto yy298;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy298:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy325;
+ case '1': goto yy326;
+ case '2': goto yy327;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy328;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy329;
+ default: goto yy11;
+ }
+yy299:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy331;
+ case ':': goto yy298;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy330;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy300:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy331;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy330;
+ case ':': goto yy298;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy301:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy330;
+ case ':': goto yy298;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy302:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy239;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy303:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy332;
+ default: goto yy11;
+ }
+yy304:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy332;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy306;
+ default: goto yy11;
+ }
+yy305:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy332;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy306;
+ case '5': goto yy333;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy303;
+ default: goto yy11;
+ }
+yy306:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy332;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy303;
+ default: goto yy11;
+ }
+yy307:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy334;
+ case ':': goto yy282;
+ default: goto yy11;
+ }
+yy308:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy335;
+ case ':': goto yy336;
+ default: goto yy11;
+ }
+yy309:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy337;
+ case '1': goto yy338;
+ case '2': goto yy339;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy340;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy341;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy310:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy342;
+ case ':': goto yy311;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy311:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy337;
+ case '1': goto yy338;
+ case '2': goto yy339;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy340;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy341;
+ default: goto yy11;
+ }
+yy312:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy343;
+ case ':': goto yy311;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy342;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy313:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy343;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy342;
+ case ':': goto yy311;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy314:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy342;
+ case ':': goto yy311;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy315:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy253;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy316:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case 0x01:
+ case 0x02:
+ case 0x03:
+ case 0x04:
+ case 0x05:
+ case 0x06:
+ case 0x07:
+ case 0x08:
+ case '\v':
+ case '\f':
+ case '\r':
+ case 0x0E:
+ case 0x0F:
+ case 0x10:
+ case 0x11:
+ case 0x12:
+ case 0x13:
+ case 0x14:
+ case 0x15:
+ case 0x16:
+ case 0x17:
+ case 0x18:
+ case 0x19:
+ case 0x1A:
+ case 0x1B:
+ case 0x1C:
+ case 0x1D:
+ case 0x1E:
+ case 0x7F: goto yy11;
+ case '\n':
+ in->yyt35 = YYCURSOR;
+ goto yy318;
+ default: goto yy316;
+ }
+yy318:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '\n':
+ YYMTAGN (in->yyt40);
+ YYMTAGN (in->yyt39);
+ YYMTAGN (in->yyt38);
+ YYMTAGN (in->yyt37);
+ YYMTAGN (in->yyt36);
+ in->yyt1 = in->yyt2 = in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ goto yy263;
+ case '!':
+ case '#':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '*':
+ case '+':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '^':
+ case '_':
+ case '`':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '|':
+ case '~':
+ YYMTAGP (in->yyt36);
+ in->yyt1 = in->yyt2 = in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = in->yyt21 = in->yyt22 = in->yyt23 = in->yyt24 = in->yyt25 = in->yyt26 = in->yyt27 = in->yyt28 = in->yyt29 = NULL;
+ goto yy265;
+ default: goto yy11;
+ }
+yy319:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '\t':
+ case ' ': goto yy344;
+ case '\n':
+ in->yyt39 = in->yyt42;
+ in->yyt40 = in->yyt41;
+ goto yy263;
+ case '!':
+ case '#':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '*':
+ case '+':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '^':
+ case '_':
+ case '`':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '|':
+ case '~':
+ in->yyt39 = in->yyt42;
+ in->yyt40 = in->yyt41;
+ YYMTAGP (in->yyt36);
+ goto yy265;
+ default: goto yy11;
+ }
+yy320:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case 0x01:
+ case 0x02:
+ case 0x03:
+ case 0x04:
+ case 0x05:
+ case 0x06:
+ case 0x07:
+ case 0x08:
+ case '\v':
+ case '\f':
+ case '\r':
+ case 0x0E:
+ case 0x0F:
+ case 0x10:
+ case 0x11:
+ case 0x12:
+ case 0x13:
+ case 0x14:
+ case 0x15:
+ case 0x16:
+ case 0x17:
+ case 0x18:
+ case 0x19:
+ case 0x1A:
+ case 0x1B:
+ case 0x1C:
+ case 0x1D:
+ case 0x1E:
+ case 0x7F: goto yy11;
+ case '\t':
+ in->yyt42 = in->yyt39;
+ YYMTAGP (in->yyt42);
+ goto yy346;
+ case '\n':
+ in->yyt41 = in->yyt40;
+ YYMTAGP (in->yyt41);
+ in->yyt42 = in->yyt39;
+ YYMTAGP (in->yyt42);
+ goto yy319;
+ case ' ': goto yy348;
+ default: goto yy320;
+ }
+yy322:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy269;
+ default: goto yy11;
+ }
+yy323:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy350;
+ case ':': goto yy324;
+ default: goto yy11;
+ }
+yy324:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy351;
+ case ':': goto yy352;
+ default: goto yy11;
+ }
+yy325:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy353;
+ case ':': goto yy354;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy326:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy355;
+ case ':': goto yy354;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy353;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy327:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy355;
+ case '5': goto yy356;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy357;
+ case ':': goto yy354;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy353;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy328:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy357;
+ case ':': goto yy354;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy353;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy329:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy353;
+ case ':': goto yy354;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy330:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy358;
+ case ':': goto yy298;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy331:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy358;
+ case ':': goto yy298;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy332:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy359;
+ case '1': goto yy360;
+ case '2': goto yy361;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy362;
+ default: goto yy11;
+ }
+yy333:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy332;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy303;
+ default: goto yy11;
+ }
+yy334:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy282;
+ default: goto yy11;
+ }
+yy335:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy363;
+ case ':': goto yy336;
+ default: goto yy11;
+ }
+yy336:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy364;
+ case '1': goto yy365;
+ case '2': goto yy366;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy367;
+ case ':': goto yy368;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy369;
+ default: goto yy11;
+ }
+yy337:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy370;
+ case ':': goto yy371;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy338:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy372;
+ case ':': goto yy371;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy370;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy339:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy372;
+ case '5': goto yy373;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy374;
+ case ':': goto yy371;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy370;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy340:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy374;
+ case ':': goto yy371;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy370;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy341:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy370;
+ case ':': goto yy371;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy342:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy375;
+ case ':': goto yy311;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy343:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy375;
+ case ':': goto yy311;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy344:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case 0x01:
+ case 0x02:
+ case 0x03:
+ case 0x04:
+ case 0x05:
+ case 0x06:
+ case 0x07:
+ case 0x08:
+ case '\v':
+ case '\f':
+ case '\r':
+ case 0x0E:
+ case 0x0F:
+ case 0x10:
+ case 0x11:
+ case 0x12:
+ case 0x13:
+ case 0x14:
+ case 0x15:
+ case 0x16:
+ case 0x17:
+ case 0x18:
+ case 0x19:
+ case 0x1A:
+ case 0x1B:
+ case 0x1C:
+ case 0x1D:
+ case 0x1E:
+ case 0x7F: goto yy11;
+ case '\t':
+ case ' ': goto yy344;
+ case '\n':
+ in->yyt41 = in->yyt40;
+ YYMTAGP (in->yyt41);
+ in->yyt42 = in->yyt39;
+ YYMTAGP (in->yyt42);
+ goto yy319;
+ default: goto yy320;
+ }
+yy346:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case 0x01:
+ case 0x02:
+ case 0x03:
+ case 0x04:
+ case 0x05:
+ case 0x06:
+ case 0x07:
+ case 0x08:
+ case '\v':
+ case '\f':
+ case '\r':
+ case 0x0E:
+ case 0x0F:
+ case 0x10:
+ case 0x11:
+ case 0x12:
+ case 0x13:
+ case 0x14:
+ case 0x15:
+ case 0x16:
+ case 0x17:
+ case 0x18:
+ case 0x19:
+ case 0x1A:
+ case 0x1B:
+ case 0x1C:
+ case 0x1D:
+ case 0x1E:
+ case 0x7F: goto yy11;
+ case '\t': goto yy346;
+ case '\n':
+ YYMTAGP (in->yyt40);
+ goto yy376;
+ case ' ': goto yy348;
+ default: goto yy377;
+ }
+yy348:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case 0x01:
+ case 0x02:
+ case 0x03:
+ case 0x04:
+ case 0x05:
+ case 0x06:
+ case 0x07:
+ case 0x08:
+ case '\v':
+ case '\f':
+ case '\r':
+ case 0x0E:
+ case 0x0F:
+ case 0x10:
+ case 0x11:
+ case 0x12:
+ case 0x13:
+ case 0x14:
+ case 0x15:
+ case 0x16:
+ case 0x17:
+ case 0x18:
+ case 0x19:
+ case 0x1A:
+ case 0x1B:
+ case 0x1C:
+ case 0x1D:
+ case 0x1E:
+ case 0x7F: goto yy11;
+ case '\t':
+ in->yyt42 = in->yyt39;
+ YYMTAGP (in->yyt42);
+ goto yy346;
+ case '\n':
+ in->yyt41 = in->yyt40;
+ YYMTAGP (in->yyt41);
+ in->yyt42 = in->yyt39;
+ YYMTAGP (in->yyt42);
+ goto yy319;
+ case ' ': goto yy348;
+ default: goto yy378;
+ }
+yy350:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy379;
+ case ':': goto yy324;
+ default: goto yy11;
+ }
+yy351:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy380;
+ case ':': goto yy381;
+ default: goto yy11;
+ }
+yy352:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy382;
+ case '1': goto yy383;
+ case '2': goto yy384;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy385;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy386;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy353:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy387;
+ case ':': goto yy354;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy354:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy382;
+ case '1': goto yy383;
+ case '2': goto yy384;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy385;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy386;
+ default: goto yy11;
+ }
+yy355:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy388;
+ case ':': goto yy354;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy387;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy356:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy388;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy387;
+ case ':': goto yy354;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy357:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy387;
+ case ':': goto yy354;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy358:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy298;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy359:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy360:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy362;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy361:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy362;
+ case '5': goto yy389;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy359;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy362:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy359;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy363:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy390;
+ case ':': goto yy336;
+ default: goto yy11;
+ }
+yy364:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy391;
+ case ':': goto yy392;
+ default: goto yy11;
+ }
+yy365:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy393;
+ case ':': goto yy392;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy391;
+ default: goto yy11;
+ }
+yy366:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy393;
+ case '5': goto yy394;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy395;
+ case ':': goto yy392;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy391;
+ default: goto yy11;
+ }
+yy367:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy395;
+ case ':': goto yy392;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy391;
+ default: goto yy11;
+ }
+yy368:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy396;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy369:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy391;
+ case ':': goto yy392;
+ default: goto yy11;
+ }
+yy370:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy397;
+ case ':': goto yy371;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy371:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy396;
+ default: goto yy11;
+ }
+yy372:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy398;
+ case ':': goto yy371;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy397;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy373:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy398;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy397;
+ case ':': goto yy371;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy374:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy397;
+ case ':': goto yy371;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy375:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy311;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy376:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '\n':
+ in->yyt39 = in->yyt42;
+ goto yy263;
+ case '!':
+ case '#':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '*':
+ case '+':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '^':
+ case '_':
+ case '`':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '|':
+ case '~':
+ in->yyt39 = in->yyt42;
+ YYMTAGP (in->yyt36);
+ goto yy265;
+ default: goto yy11;
+ }
+yy377:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case 0x01:
+ case 0x02:
+ case 0x03:
+ case 0x04:
+ case 0x05:
+ case 0x06:
+ case 0x07:
+ case 0x08:
+ case '\v':
+ case '\f':
+ case '\r':
+ case 0x0E:
+ case 0x0F:
+ case 0x10:
+ case 0x11:
+ case 0x12:
+ case 0x13:
+ case 0x14:
+ case 0x15:
+ case 0x16:
+ case 0x17:
+ case 0x18:
+ case 0x19:
+ case 0x1A:
+ case 0x1B:
+ case 0x1C:
+ case 0x1D:
+ case 0x1E:
+ case 0x7F: goto yy11;
+ case '\t':
+ YYMTAGP (in->yyt39);
+ goto yy399;
+ case '\n':
+ in->yyt41 = in->yyt40;
+ YYMTAGP (in->yyt41);
+ in->yyt42 = in->yyt39;
+ YYMTAGP (in->yyt42);
+ goto yy319;
+ default: goto yy320;
+ }
+yy378:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case 0x01:
+ case 0x02:
+ case 0x03:
+ case 0x04:
+ case 0x05:
+ case 0x06:
+ case 0x07:
+ case 0x08:
+ case '\v':
+ case '\f':
+ case '\r':
+ case 0x0E:
+ case 0x0F:
+ case 0x10:
+ case 0x11:
+ case 0x12:
+ case 0x13:
+ case 0x14:
+ case 0x15:
+ case 0x16:
+ case 0x17:
+ case 0x18:
+ case 0x19:
+ case 0x1A:
+ case 0x1B:
+ case 0x1C:
+ case 0x1D:
+ case 0x1E:
+ case 0x7F: goto yy11;
+ case '\t':
+ in->yyt42 = in->yyt39;
+ YYMTAGP (in->yyt42);
+ goto yy401;
+ case '\n':
+ in->yyt41 = in->yyt40;
+ YYMTAGP (in->yyt41);
+ in->yyt42 = in->yyt39;
+ YYMTAGP (in->yyt42);
+ goto yy319;
+ default: goto yy320;
+ }
+yy379:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy324;
+ default: goto yy11;
+ }
+yy380:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy403;
+ case ':': goto yy381;
+ default: goto yy11;
+ }
+yy381:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy404;
+ case ':': goto yy405;
+ default: goto yy11;
+ }
+yy382:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy406;
+ case ':': goto yy407;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy383:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy408;
+ case ':': goto yy407;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy406;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy384:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy408;
+ case '5': goto yy409;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy410;
+ case ':': goto yy407;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy406;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy385:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy410;
+ case ':': goto yy407;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy406;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy386:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy406;
+ case ':': goto yy407;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy387:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy411;
+ case ':': goto yy354;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy388:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy411;
+ case ':': goto yy354;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy389:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy359;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy390:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy336;
+ default: goto yy11;
+ }
+yy391:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy412;
+ case ':': goto yy392;
+ default: goto yy11;
+ }
+yy392:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy396;
+ case ':': goto yy258;
+ default: goto yy11;
+ }
+yy393:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy413;
+ case ':': goto yy392;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy412;
+ default: goto yy11;
+ }
+yy394:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy413;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy412;
+ case ':': goto yy392;
+ default: goto yy11;
+ }
+yy395:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy412;
+ case ':': goto yy392;
+ default: goto yy11;
+ }
+yy396:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy414;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy397:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy415;
+ case ':': goto yy371;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy398:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy415;
+ case ':': goto yy371;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy399:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '\t':
+ case ' ': goto yy399;
+ case '\n':
+ in->yyt42 = in->yyt39;
+ YYMTAGP (in->yyt40);
+ goto yy376;
+ default: goto yy11;
+ }
+yy401:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case 0x01:
+ case 0x02:
+ case 0x03:
+ case 0x04:
+ case 0x05:
+ case 0x06:
+ case 0x07:
+ case 0x08:
+ case '\v':
+ case '\f':
+ case '\r':
+ case 0x0E:
+ case 0x0F:
+ case 0x10:
+ case 0x11:
+ case 0x12:
+ case 0x13:
+ case 0x14:
+ case 0x15:
+ case 0x16:
+ case 0x17:
+ case 0x18:
+ case 0x19:
+ case 0x1A:
+ case 0x1B:
+ case 0x1C:
+ case 0x1D:
+ case 0x1E:
+ case 0x7F: goto yy11;
+ case '\t': goto yy401;
+ case '\n':
+ YYMTAGP (in->yyt40);
+ goto yy376;
+ case ' ': goto yy416;
+ default: goto yy377;
+ }
+yy403:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy418;
+ case ':': goto yy381;
+ default: goto yy11;
+ }
+yy404:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy419;
+ case ':': goto yy420;
+ default: goto yy11;
+ }
+yy405:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy421;
+ case '1': goto yy422;
+ case '2': goto yy423;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy424;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy425;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy406:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy426;
+ case ':': goto yy407;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy407:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy421;
+ case '1': goto yy422;
+ case '2': goto yy423;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy424;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy425;
+ default: goto yy11;
+ }
+yy408:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy427;
+ case ':': goto yy407;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy426;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy409:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy427;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy426;
+ case ':': goto yy407;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy410:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy426;
+ case ':': goto yy407;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy411:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy354;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy412:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy428;
+ case ':': goto yy392;
+ default: goto yy11;
+ }
+yy413:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy115;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy428;
+ case ':': goto yy392;
+ default: goto yy11;
+ }
+yy414:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy429;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy415:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy371;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy416:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case 0x01:
+ case 0x02:
+ case 0x03:
+ case 0x04:
+ case 0x05:
+ case 0x06:
+ case 0x07:
+ case 0x08:
+ case '\v':
+ case '\f':
+ case '\r':
+ case 0x0E:
+ case 0x0F:
+ case 0x10:
+ case 0x11:
+ case 0x12:
+ case 0x13:
+ case 0x14:
+ case 0x15:
+ case 0x16:
+ case 0x17:
+ case 0x18:
+ case 0x19:
+ case 0x1A:
+ case 0x1B:
+ case 0x1C:
+ case 0x1D:
+ case 0x1E:
+ case 0x7F: goto yy11;
+ case '\t': goto yy401;
+ case '\n':
+ in->yyt41 = in->yyt40;
+ YYMTAGP (in->yyt41);
+ goto yy319;
+ case ' ': goto yy416;
+ default: goto yy378;
+ }
+yy418:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy381;
+ default: goto yy11;
+ }
+yy419:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy430;
+ case ':': goto yy420;
+ default: goto yy11;
+ }
+yy420:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy431;
+ case '1': goto yy432;
+ case '2': goto yy433;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy434;
+ case ':': goto yy435;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy436;
+ default: goto yy11;
+ }
+yy421:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy437;
+ case ':': goto yy438;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy422:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy439;
+ case ':': goto yy438;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy437;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy423:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy439;
+ case '5': goto yy440;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy441;
+ case ':': goto yy438;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy437;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy424:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy441;
+ case ':': goto yy438;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy437;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy425:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy437;
+ case ':': goto yy438;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy426:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy442;
+ case ':': goto yy407;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy427:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy442;
+ case ':': goto yy407;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy428:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy392;
+ default: goto yy11;
+ }
+yy429:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy258;
+ case ']': goto yy90;
+ default: goto yy11;
+ }
+yy430:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy443;
+ case ':': goto yy420;
+ default: goto yy11;
+ }
+yy431:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy444;
+ case ':': goto yy445;
+ default: goto yy11;
+ }
+yy432:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy446;
+ case ':': goto yy445;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy444;
+ default: goto yy11;
+ }
+yy433:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy446;
+ case '5': goto yy447;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy448;
+ case ':': goto yy445;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy444;
+ default: goto yy11;
+ }
+yy434:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy448;
+ case ':': goto yy445;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy444;
+ default: goto yy11;
+ }
+yy435:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy449;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy436:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy444;
+ case ':': goto yy445;
+ default: goto yy11;
+ }
+yy437:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy450;
+ case ':': goto yy438;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy438:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy449;
+ default: goto yy11;
+ }
+yy439:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy451;
+ case ':': goto yy438;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy450;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy440:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy451;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy450;
+ case ':': goto yy438;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy441:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy450;
+ case ':': goto yy438;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy442:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy407;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy443:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy420;
+ default: goto yy11;
+ }
+yy444:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy452;
+ case ':': goto yy445;
+ default: goto yy11;
+ }
+yy445:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy449;
+ case ':': goto yy359;
+ default: goto yy11;
+ }
+yy446:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy453;
+ case ':': goto yy445;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy452;
+ default: goto yy11;
+ }
+yy447:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy453;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy452;
+ case ':': goto yy445;
+ default: goto yy11;
+ }
+yy448:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy452;
+ case ':': goto yy445;
+ default: goto yy11;
+ }
+yy449:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy454;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy450:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy455;
+ case ':': goto yy438;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy451:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy455;
+ case ':': goto yy438;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy452:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy456;
+ case ':': goto yy445;
+ default: goto yy11;
+ }
+yy453:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy213;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy456;
+ case ':': goto yy445;
+ default: goto yy11;
+ }
+yy454:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy457;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy455:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy438;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+yy456:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ':': goto yy445;
+ default: goto yy11;
+ }
+yy457:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy359;
+ case ']': goto yy188;
+ default: goto yy11;
+ }
+}
+
+}
+
+int main(int argc, char **argv)
+{
+ long count, total;
+ input_t in;
+ init_input(&in, argv[1]);
+
+ switch (lex(&in, &count, &total)) {
+ case 0: fprintf(stderr, "ok, parsed %ld HTTPs, peeked %ld chars\n", count, total); break;
+ case 1: fprintf(stderr, "syntax error: %s\n", in.cur); break;
+ case 2: fprintf(stderr, "fill failed\n"); break;
+ default: fprintf(stderr, "panic!\n"); break;
+ }
+
+ free_input(&in);
+ return 0;
+}
+re2c: warning: line 249: tag 'm1' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 249: tag 'at' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 249: tag 'u3' has 3rd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 249: tag 'u4' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 249: tag 'hs3' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 249: tag 'hs4' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 249: tag 'r3' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 249: tag 'au' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 249: tag 's1' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 249: tag 's2' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 249: tag 'u1' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 249: tag 'u2' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 249: tag 'hs1' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 249: tag 'hs2' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 249: tag 'r1' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 249: tag 'p3' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 249: tag 'v1' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 249: tag 'h3' has 3rd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 249: tag 'h4' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 249: tag 'h5' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
diff --git a/test/tags/bench_http_rfc7230.i.re b/test/tags/bench_http_rfc7230.i.re
new file mode 100644
index 00000000..b39d747c
--- /dev/null
+++ b/test/tags/bench_http_rfc7230.i.re
@@ -0,0 +1,318 @@
+#include <assert.h>
+#include <stddef.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
+typedef struct taglist_t {
+ struct taglist_t *pred;
+ long dist;
+} taglist_t;
+
+typedef struct taglistpool_t {
+ taglist_t *head;
+ taglist_t *next;
+ taglist_t *last;
+} taglistpool_t;
+
+typedef struct {
+ FILE *file;
+ char *buf;
+ char *lim;
+ char *cur;
+ char *mar;
+ char *tok;
+ /*!stags:re2c format = "char *@@;\n"; */
+ /*!mtags:re2c format = "taglist_t *@@;\n"; */
+ taglistpool_t tlp;
+ int eof;
+} input_t;
+
+static void taglistpool_clear(taglistpool_t *tlp, input_t *in)
+{
+ tlp->next = tlp->head;
+ /*!mtags:re2c format = "in->@@ = 0;\n"; */
+}
+
+static void taglistpool_init(taglistpool_t *tlp)
+{
+ static const unsigned size = 1024 * 1024;
+ tlp->head = (taglist_t*)malloc(size * sizeof(taglist_t));
+ tlp->next = tlp->head;
+ tlp->last = tlp->head + size;
+}
+
+static void taglistpool_free(taglistpool_t *tlp)
+{
+ free(tlp->head);
+ tlp->head = tlp->next = tlp->last = NULL;
+}
+
+static taglist_t *taglistpool_next(taglistpool_t *tlp)
+{
+ if (tlp->next < tlp->last) {
+ return tlp->next++;
+ }
+
+ const unsigned size = tlp->last - tlp->head;
+ taglist_t *head = (taglist_t*)malloc(2 * size * sizeof(taglist_t));
+ memcpy(head, tlp->head, size * sizeof(taglist_t));
+ free(tlp->head);
+ tlp->head = head;
+ tlp->next = head + size;
+ tlp->last = head + size * 2;
+ return tlp->next++;
+}
+
+static void taglist(taglist_t **ptl, const char *b, const char *t, taglistpool_t *tlp)
+{
+ taglist_t *tl = taglistpool_next(tlp);
+ tl->pred = *ptl;
+ tl->dist = t - b;
+ *ptl = tl;
+}
+
+/*!max:re2c*/
+static const size_t SIZE = 4096;
+
+static void init_input(input_t *in, const char *fname)
+{
+ in->file = fopen(fname, "r");
+ in->buf = (char*) malloc(SIZE + YYMAXFILL);
+ in->lim = in->buf + SIZE;
+ in->cur = in->lim;
+ in->mar = in->lim;
+ in->tok = in->lim;
+ /*!stags:re2c format = "in->@@ = 0;\n"; */
+ /*!mtags:re2c format = "in->@@ = 0;\n"; */
+ taglistpool_init(&in->tlp);
+ in->eof = 0;
+}
+
+static void free_input(input_t *in)
+{
+ fclose(in->file);
+ free(in->buf);
+ taglistpool_free(&in->tlp);
+}
+
+static int fill(input_t *in, size_t need)
+{
+ size_t free;
+
+ if (in->eof) return 1;
+
+ free = in->tok - in->buf;
+ if (free < need) return 2;
+
+ memmove(in->buf, in->tok, in->lim - in->tok);
+ in->lim -= free;
+ in->cur -= free;
+ in->mar -= free;
+ in->tok -= free;
+ /*!stags:re2c format = "if (in->@@) in->@@ -= free;\n"; */
+ in->lim += fread(in->lim, 1, free, in->file);
+ if (in->lim < in->buf + SIZE) {
+ in->eof = 1;
+ memset(in->lim, 0, YYMAXFILL);
+ in->lim += YYMAXFILL;
+ }
+ return 0;
+}
+
+static void print_headers(const char *tok,
+ const taglist_t *h1, const taglist_t *h2,
+ const taglist_t *h3, const taglist_t *h4,
+ const taglist_t *h5)
+{
+ if (!h1 || !h2 || !h3 || !h4 || !h5) {
+ assert(!h1 && !h2 && !h3 && !h4 && !h5);
+ return;
+ }
+ print_headers(tok, h1->pred, h2->pred, h3->pred, h4->pred, h5->pred);
+ printf("%.*s%.*s%.*s%.*s\n",
+ (int)(h2->dist - h1->dist), tok + h1->dist,
+ (int)(h3->dist - h2->dist), tok + h2->dist,
+ (int)(h4->dist - h3->dist), tok + h3->dist,
+ (int)(h5->dist - h4->dist), tok + h4->dist);
+}
+
+#define YYCTYPE char
+#define YYCURSOR in->cur
+#define YYMARKER in->mar
+#define YYLIMIT in->lim
+#define YYMTAGP(tl) taglist(&tl, in->tok, in->cur, &in->tlp)
+#define YYMTAGN(tl) taglist(&tl, in->tok, NULL, &in->tlp)
+#define YYFILL(n) if (fill(in, n) != 0) return 2;
+
+static int lex(input_t *in, long *count, long *total)
+{
+ const char *of, *au, *at,
+ *hs1, *hs3, *m1, *p1, *p3, *p5, *q1, *q3,
+ *hs2, *hs4, *m2, *p2, *p4, *p6, *q2, *q4,
+ *r1, *r3, *rp1, *s1, *st1, *u1, *u3, *v1, *v3,
+ *r2, *r4, *rp2, *s2, *st2, *u2, *u4, *v2, *v4;
+ taglist_t *h1, *h2, *h3, *h4, *h5;
+ long c, t;
+
+ c = 0; t = 0;
+ of = au = at
+ = hs1 = hs3 = m1 = p1 = p3 = p5 = q1 = q3
+ = hs2 = hs4 = m2 = p2 = p4 = p6 = q2 = q4
+ = r1 = r3 = rp1 = s1 = st1 = u1 = u3 = v1 = v3
+ = r2 = r4 = rp2 = s2 = st2 = u2 = u4 = v2 = v4 = NULL;
+loop:
+ in->tok = in->cur;
+/*!re2c
+ re2c:flags:tags = 1;
+ re2c:tags:expression = "in->@@";
+
+ end = "\x00";
+ eol = "\n";
+
+ crlf = eol;
+ sp = " ";
+ htab = "\t";
+ ows = (sp | htab)*;
+ digit = [0-9];
+ alpha = [a-zA-Z];
+ hexdigit = [0-9a-fA-F];
+ unreserved = alpha | digit | [-._~];
+ pct_encoded = "%" hexdigit{2};
+ sub_delims = [!$&'()*+,;=];
+ pchar = unreserved | pct_encoded | sub_delims | [:@];
+ vchar = [\x1f-\x7e];
+ tchar = [-!#$%&'*+.^_`|~] | digit | alpha;
+
+ obs_fold = crlf (sp | htab)+;
+ obs_text = [\x80-\xff];
+ field_name = tchar+;
+ field_vchar = vchar | obs_text;
+ field_content = field_vchar ((sp | htab)+ field_vchar)?;
+ field_value = (field_content | obs_fold)*;
+ header_field = #h1 field_name #h2 ":" ows #h3 field_value #h4 ows #h5;
+ scheme = alpha (alpha | digit | [-+.])*;
+ userinfo = (unreserved | pct_encoded | sub_delims | ":")*;
+ dec_octet
+ = digit
+ | [\x31-\x39] digit
+ | "1" digit{2}
+ | "2" [\x30-\x34] digit
+ | "25" [\x30-\x35];
+ ipv4address = dec_octet "." dec_octet "." dec_octet "." dec_octet;
+ h16 = hexdigit{1,4};
+ ls32 = h16 ":" h16 | ipv4address;
+ ipv6address
+ = (h16 ":"){6} ls32
+ | "::" (h16 ":"){5} ls32
+ | ( h16)? "::" (h16 ":"){4} ls32
+ | ((h16 ":"){0,1} h16)? "::" (h16 ":"){3} ls32
+ | ((h16 ":"){0,2} h16)? "::" (h16 ":"){2} ls32
+ | ((h16 ":"){0,3} h16)? "::" h16 ":" ls32
+ | ((h16 ":"){0,4} h16)? "::" ls32
+ | ((h16 ":"){0,5} h16)? "::" h16
+ | ((h16 ":"){0,6} h16)? "::";
+ ipvfuture = "v" hexdigit+ "." (unreserved | sub_delims | ":" )+;
+ ip_literal = "[" ( ipv6address | ipvfuture ) "]";
+ reg_name = (unreserved | pct_encoded | sub_delims)*;
+ path_abempty = ("/" pchar*)*;
+ path_absolute = "/" (pchar+ ("/" pchar*)*)?;
+ path_rootless = pchar+ ("/" pchar*)*;
+ path_empty = "";
+ host = ip_literal | ipv4address | reg_name;
+ port = digit*;
+ query = (pchar | [/?])*;
+ absolute_uri = @s1 scheme @s2 ":"
+ ( "//" (@u1 userinfo @u2 "@")? @hs1 host @hs2 (":" @r1 port @r2)? @p1 path_abempty @p2
+ | @p3 (path_absolute | path_rootless | path_empty) @p4
+ ) ("?" @q1 query @q2)?;
+ authority = (@u3 userinfo @u4 "@")? @hs3 host @hs4 (":" @r3 port @r4)?;
+ origin_form = @p5 path_abempty @p6 ("?" @q3 query @q4)?;
+ http_name = "HTTP";
+ http_version = http_name "/" digit "." digit;
+ request_target
+ = @at authority
+ | @au absolute_uri
+ | @of origin_form
+ | "*";
+ method = tchar+;
+ request_line = @m1 method @m2 sp request_target sp @v3 http_version @v4 crlf;
+ status_code = digit{3};
+ reason_phrase = (htab | sp | vchar | obs_text)*;
+ status_line = @v1 http_version @v2 sp @st1 status_code @st2 sp @rp1 reason_phrase @rp2 crlf;
+ start_line = (request_line | status_line);
+ message_head = start_line (header_field crlf)* crlf;
+
+ * { return 1; }
+ end { *count = c; *total = t; return 0; }
+ eol { goto loop; }
+ message_head {
+#ifndef VERIFY
+ c += 1;
+ if (st1) t += (v2 - v1) + (st2 - st1) + (rp2 - rp1);
+ if (m1) {
+ if (of) t += (p6 - p5) + (q4 - q3);
+ if (au) t += (s2 - s1) + (u2 - u1) + (hs2 - hs1)
+ + (r2 - r1) + (p2 - p1) + (p4 - p3) + (q2 - q1);
+ if (at) t += (u4 - u3) + (hs4 - hs3) + (r4 - r3);
+ t += (v4 - v3);
+ }
+ for (; h1 != 0; h1 = h1->pred, h2 = h2->pred,
+ h3 = h3->pred, h4 = h4->pred, h5 = h5->pred) {
+ t += (h2->dist - h1->dist) + (h3->dist - h2->dist)
+ + (h4->dist - h3->dist) + (h5->dist - h4->dist);
+ }
+#else
+ if (st1) {
+ printf("%.*s %.*s %.*s\n",
+ (int)(v2 - v1), v1,
+ (int)(st2 - st1), st1,
+ (int)(rp2 - rp1), rp1);
+ } else if (m1) {
+ printf("%.*s ", (int)(m2 - m1), m1);
+ if (of) {
+ printf("%.*s", (int)(p6 - p5), p5);
+ if (q3) printf("?%.*s", (int)(q4 - q3), q3);
+ } else if (au) {
+ printf("%.*s:", (int)(s2 - s1), s1);
+ if (p1) printf("//");
+ if (u1) printf("%.*s@", (int)(u2 - u1), u1);
+ printf("%.*s", (int)(hs2 - hs1), hs1);
+ if (r1) printf(":%.*s", (int)(r2 - r1), r1);
+ if (p1) printf("%.*s", (int)(p2 - p1), p1);
+ if (p3) printf("%.*s", (int)(p4 - p3), p3);
+ if (q1) printf("?%.*s", (int)(q2 - q1), q1);
+ } else if (at) {
+ if (u3) printf("%.*s@", (int)(u4 - u3), u3);
+ printf("%.*s", (int)(hs4 - hs3), hs3);
+ if (r3) printf(":%.*s", (int)(r4 - r3), r3);
+ } else {
+ printf("*");
+ }
+ printf(" %.*s\n", (int)(v4 - v3), v3);
+ }
+ print_headers(in->tok, h1, h2, h3, h4, h5);
+ printf("\n");
+#endif
+ taglistpool_clear(&in->tlp, in);
+ goto loop;
+ }
+*/
+}
+
+int main(int argc, char **argv)
+{
+ long count, total;
+ input_t in;
+ init_input(&in, argv[1]);
+
+ switch (lex(&in, &count, &total)) {
+ case 0: fprintf(stderr, "ok, parsed %ld HTTPs, peeked %ld chars\n", count, total); break;
+ case 1: fprintf(stderr, "syntax error: %s\n", in.cur); break;
+ case 2: fprintf(stderr, "fill failed\n"); break;
+ default: fprintf(stderr, "panic!\n"); break;
+ }
+
+ free_input(&in);
+ return 0;
+}
diff --git a/test/tags/bench_http_simple.i.c b/test/tags/bench_http_simple.i.c
new file mode 100644
index 00000000..0111300f
--- /dev/null
+++ b/test/tags/bench_http_simple.i.c
@@ -0,0 +1,2437 @@
+/* Generated by re2c */
+#include <assert.h>
+#include <stddef.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
+typedef struct taglist_t {
+ struct taglist_t *pred;
+ long dist;
+} taglist_t;
+
+typedef struct taglistpool_t {
+ taglist_t *head;
+ taglist_t *next;
+ taglist_t *last;
+} taglistpool_t;
+
+typedef struct {
+ FILE *file;
+ char *buf;
+ char *lim;
+ char *cur;
+ char *mar;
+ char *tok;
+ char *yyt1;
+char *yyt10;
+char *yyt11;
+char *yyt12;
+char *yyt2;
+char *yyt3;
+char *yyt4;
+char *yyt5;
+char *yyt6;
+char *yyt7;
+char *yyt8;
+char *yyt9;
+
+ taglist_t *yyt13;
+taglist_t *yyt14;
+taglist_t *yyt15;
+taglist_t *yyt16;
+
+ taglistpool_t tlp;
+ int eof;
+} input_t;
+
+static void taglistpool_clear(taglistpool_t *tlp, input_t *in)
+{
+ tlp->next = tlp->head;
+ in->yyt13 = 0;
+in->yyt14 = 0;
+in->yyt15 = 0;
+in->yyt16 = 0;
+
+}
+
+static void taglistpool_init(taglistpool_t *tlp)
+{
+ static const unsigned size = 1024 * 1024;
+ tlp->head = (taglist_t*)malloc(size * sizeof(taglist_t));
+ tlp->next = tlp->head;
+ tlp->last = tlp->head + size;
+}
+
+static void taglistpool_free(taglistpool_t *tlp)
+{
+ free(tlp->head);
+ tlp->head = tlp->next = tlp->last = NULL;
+}
+
+static taglist_t *taglistpool_next(taglistpool_t *tlp)
+{
+ if (tlp->next < tlp->last) {
+ return tlp->next++;
+ }
+
+ const unsigned size = tlp->last - tlp->head;
+ taglist_t *head = (taglist_t*)malloc(2 * size * sizeof(taglist_t));
+ memcpy(head, tlp->head, size * sizeof(taglist_t));
+ free(tlp->head);
+ tlp->head = head;
+ tlp->next = head + size;
+ tlp->last = head + size * 2;
+ return tlp->next++;
+}
+
+static void taglist(taglist_t **ptl, const char *b, const char *t, taglistpool_t *tlp)
+{
+ taglist_t *tl = taglistpool_next(tlp);
+ tl->pred = *ptl;
+ tl->dist = t - b;
+ *ptl = tl;
+}
+
+#define YYMAXFILL 15
+
+static const size_t SIZE = 4096;
+
+static void init_input(input_t *in, const char *fname)
+{
+ in->file = fopen(fname, "r");
+ in->buf = (char*) malloc(SIZE + YYMAXFILL);
+ in->lim = in->buf + SIZE;
+ in->cur = in->lim;
+ in->mar = in->lim;
+ in->tok = in->lim;
+ in->yyt1 = 0;
+in->yyt10 = 0;
+in->yyt11 = 0;
+in->yyt12 = 0;
+in->yyt2 = 0;
+in->yyt3 = 0;
+in->yyt4 = 0;
+in->yyt5 = 0;
+in->yyt6 = 0;
+in->yyt7 = 0;
+in->yyt8 = 0;
+in->yyt9 = 0;
+
+ in->yyt13 = 0;
+in->yyt14 = 0;
+in->yyt15 = 0;
+in->yyt16 = 0;
+
+ taglistpool_init(&in->tlp);
+ in->eof = 0;
+}
+
+static void free_input(input_t *in)
+{
+ fclose(in->file);
+ free(in->buf);
+ taglistpool_free(&in->tlp);
+}
+
+static int fill(input_t *in, size_t need)
+{
+ size_t free;
+
+ if (in->eof) return 1;
+
+ free = in->tok - in->buf;
+ if (free < need) return 2;
+
+ memmove(in->buf, in->tok, in->lim - in->tok);
+ in->lim -= free;
+ in->cur -= free;
+ in->mar -= free;
+ in->tok -= free;
+ if (in->yyt1) in->yyt1 -= free;
+if (in->yyt10) in->yyt10 -= free;
+if (in->yyt11) in->yyt11 -= free;
+if (in->yyt12) in->yyt12 -= free;
+if (in->yyt2) in->yyt2 -= free;
+if (in->yyt3) in->yyt3 -= free;
+if (in->yyt4) in->yyt4 -= free;
+if (in->yyt5) in->yyt5 -= free;
+if (in->yyt6) in->yyt6 -= free;
+if (in->yyt7) in->yyt7 -= free;
+if (in->yyt8) in->yyt8 -= free;
+if (in->yyt9) in->yyt9 -= free;
+
+ in->lim += fread(in->lim, 1, free, in->file);
+ if (in->lim < in->buf + SIZE) {
+ in->eof = 1;
+ memset(in->lim, 0, YYMAXFILL);
+ in->lim += YYMAXFILL;
+ }
+ return 0;
+}
+
+static void print_headers(const char *tok,
+ const taglist_t *h1, const taglist_t *h2, const taglist_t *h3)
+{
+ if (!h1 || !h2 || !h3) {
+ assert(!h1 && !h2 && !h3);
+ return;
+ }
+ print_headers(tok, h1->pred, h2->pred, h3->pred);
+ printf("%.*s%.*s\n",
+ (int)(h2->dist - h1->dist), tok + h1->dist,
+ (int)(h3->dist - h2->dist), tok + h2->dist);
+}
+
+#define YYCTYPE char
+#define YYCURSOR in->cur
+#define YYMARKER in->mar
+#define YYLIMIT in->lim
+#define YYMTAGP(tl) taglist(&tl, in->tok, in->cur, &in->tlp)
+#define YYMTAGN(tl) taglist(&tl, in->tok, NULL, &in->tlp)
+#define YYFILL(n) if (fill(in, n) != 0) return 2;
+
+static int lex(input_t *in, long *count, long *total)
+{
+ const char *s1, *s2, *v1, *v2, *v3, *v4, *m1, *m2, *rp1, *rp2, *rt1, *rt2;
+ taglist_t *h1, *h2, *h3;
+ long c, t;
+
+ c = 0; t = 0;
+loop:
+ in->tok = in->cur;
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 15) YYFILL(15);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00: goto yy2;
+ case '\n': goto yy6;
+ case '!':
+ case '#':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '*':
+ case '+':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '^':
+ case '_':
+ case '`':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '|':
+ case '~':
+ in->yyt1 = YYCURSOR;
+ goto yy8;
+ case 'H':
+ in->yyt1 = in->yyt7 = YYCURSOR;
+ goto yy9;
+ default: goto yy4;
+ }
+yy2:
+ ++YYCURSOR;
+ { *count = c; *total = t; return 0; }
+yy4:
+ ++YYCURSOR;
+yy5:
+ { return 1; }
+yy6:
+ ++YYCURSOR;
+ { goto loop; }
+yy8:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case ' ':
+ case '!':
+ case '#':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '*':
+ case '+':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '^':
+ case '_':
+ case '`':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '|':
+ case '~': goto yy13;
+ default: goto yy5;
+ }
+yy9:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case ' ':
+ case '!':
+ case '#':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '*':
+ case '+':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '^':
+ case '_':
+ case '`':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '|':
+ case '~': goto yy13;
+ case 'T': goto yy14;
+ default: goto yy5;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '!':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case ',':
+ case ':':
+ case ';':
+ case '=':
+ case '_':
+ case '~':
+ in->yyt3 = YYCURSOR;
+ goto yy15;
+ case '+':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ in->yyt3 = YYCURSOR;
+ goto yy17;
+ case '/':
+ in->yyt3 = YYCURSOR;
+ goto yy19;
+ case '[':
+ case ']':
+ in->yyt3 = YYCURSOR;
+ goto yy21;
+ default: goto yy11;
+ }
+yy11:
+ YYCURSOR = YYMARKER;
+ goto yy5;
+yy12:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+yy13:
+ switch (yych) {
+ case ' ':
+ in->yyt2 = YYCURSOR;
+ goto yy10;
+ case '!':
+ case '#':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '*':
+ case '+':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '^':
+ case '_':
+ case '`':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '|':
+ case '~': goto yy12;
+ default: goto yy11;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'T': goto yy23;
+ default: goto yy13;
+ }
+yy15:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt4 = YYCURSOR;
+ goto yy24;
+ case '!':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy15;
+ case '@': goto yy25;
+ case '[':
+ case ']': goto yy21;
+ default: goto yy11;
+ }
+yy17:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 14) YYFILL(14);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt4 = YYCURSOR;
+ goto yy24;
+ case '!':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case ',':
+ case ';':
+ case '=':
+ case '_':
+ case '~': goto yy15;
+ case '+':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy17;
+ case ':': goto yy26;
+ case '@': goto yy25;
+ case '[':
+ case ']': goto yy21;
+ default: goto yy11;
+ }
+yy19:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
+ yych = *YYCURSOR;
+yy20:
+ switch (yych) {
+ case ' ':
+ in->yyt4 = YYCURSOR;
+ goto yy24;
+ case '!':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '/':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case '?':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy19;
+ default: goto yy11;
+ }
+yy21:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
+ yych = *YYCURSOR;
+yy22:
+ switch (yych) {
+ case ' ':
+ in->yyt4 = YYCURSOR;
+ goto yy24;
+ case '!':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '[':
+ case ']':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy21;
+ default: goto yy11;
+ }
+yy23:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'P': goto yy27;
+ default: goto yy13;
+ }
+yy24:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'H':
+ in->yyt5 = YYCURSOR;
+ goto yy28;
+ default: goto yy11;
+ }
+yy25:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ' ': goto yy11;
+ default: goto yy22;
+ }
+yy26:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '/': goto yy31;
+ default: goto yy30;
+ }
+yy27:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '/': goto yy34;
+ default: goto yy13;
+ }
+yy28:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'T': goto yy35;
+ default: goto yy11;
+ }
+yy29:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
+ yych = *YYCURSOR;
+yy30:
+ switch (yych) {
+ case ' ':
+ in->yyt4 = YYCURSOR;
+ goto yy24;
+ case '!':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy29;
+ case '/':
+ case '?': goto yy19;
+ case '@': goto yy32;
+ case '[':
+ case ']': goto yy21;
+ default: goto yy11;
+ }
+yy31:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '/': goto yy36;
+ default: goto yy20;
+ }
+yy32:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt4 = YYCURSOR;
+ goto yy24;
+ case '!':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy32;
+ case '/':
+ case '?':
+ case '@': goto yy19;
+ case '[':
+ case ']': goto yy21;
+ default: goto yy11;
+ }
+yy34:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy37;
+ default: goto yy11;
+ }
+yy35:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'T': goto yy38;
+ default: goto yy11;
+ }
+yy36:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '@': goto yy19;
+ default: goto yy40;
+ }
+yy37:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy43;
+ default: goto yy11;
+ }
+yy38:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'P': goto yy44;
+ default: goto yy11;
+ }
+yy39:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
+ yych = *YYCURSOR;
+yy40:
+ switch (yych) {
+ case ' ':
+ in->yyt4 = YYCURSOR;
+ goto yy24;
+ case '!':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy39;
+ case '/':
+ case '?': goto yy19;
+ case '@':
+ case '[':
+ case ']': goto yy41;
+ default: goto yy11;
+ }
+yy41:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 11) YYFILL(11);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt4 = YYCURSOR;
+ goto yy24;
+ case '!':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '[':
+ case ']':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy41;
+ case '/':
+ case '?':
+ case '@': goto yy19;
+ default: goto yy11;
+ }
+yy43:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy45;
+ default: goto yy11;
+ }
+yy44:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '/': goto yy46;
+ default: goto yy11;
+ }
+yy45:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt8 = YYCURSOR;
+ goto yy47;
+ default: goto yy11;
+ }
+yy46:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy48;
+ default: goto yy11;
+ }
+yy47:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ in->yyt9 = YYCURSOR;
+ goto yy49;
+ default: goto yy11;
+ }
+yy48:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.': goto yy50;
+ default: goto yy11;
+ }
+yy49:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy51;
+ default: goto yy11;
+ }
+yy50:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy52;
+ default: goto yy11;
+ }
+yy51:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy53;
+ default: goto yy11;
+ }
+yy52:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '\n':
+ in->yyt6 = YYCURSOR;
+ goto yy54;
+ default: goto yy11;
+ }
+yy53:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case ' ':
+ in->yyt10 = YYCURSOR;
+ goto yy55;
+ default: goto yy11;
+ }
+yy54:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '\n':
+ YYMTAGN (in->yyt15);
+ YYMTAGN (in->yyt14);
+ YYMTAGN (in->yyt13);
+ in->yyt7 = in->yyt8 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = NULL;
+ goto yy56;
+ case '!':
+ case '#':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '*':
+ case '+':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '^':
+ case '_':
+ case '`':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '|':
+ case '~':
+ YYMTAGP (in->yyt13);
+ in->yyt7 = in->yyt8 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = NULL;
+ goto yy58;
+ default: goto yy11;
+ }
+yy55:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case 0x01:
+ case 0x02:
+ case 0x03:
+ case 0x04:
+ case 0x05:
+ case 0x06:
+ case 0x07:
+ case 0x08:
+ case '\v':
+ case '\f':
+ case '\r':
+ case 0x0E:
+ case 0x0F:
+ case 0x10:
+ case 0x11:
+ case 0x12:
+ case 0x13:
+ case 0x14:
+ case 0x15:
+ case 0x16:
+ case 0x17:
+ case 0x18:
+ case 0x19:
+ case 0x1A:
+ case 0x1B:
+ case 0x1C:
+ case 0x1D:
+ case 0x1E:
+ case 0x7F: goto yy11;
+ case '\n':
+ in->yyt11 = in->yyt12 = YYCURSOR;
+ goto yy62;
+ default:
+ in->yyt11 = YYCURSOR;
+ goto yy60;
+ }
+yy56:
+ ++YYCURSOR;
+ m1 = in->yyt1;
+ m2 = in->yyt2;
+ rt1 = in->yyt3;
+ rt2 = in->yyt4;
+ v3 = in->yyt5;
+ v4 = in->yyt6;
+ v1 = in->yyt7;
+ v2 = in->yyt8;
+ s1 = in->yyt9;
+ s2 = in->yyt10;
+ rp1 = in->yyt11;
+ rp2 = in->yyt12;
+ h1 = in->yyt13;
+ h2 = in->yyt14;
+ h3 = in->yyt15;
+ {
+#ifndef VERIFY
+ c += 1;
+ t += (v2 - v1) + (s2 - s1) + (rp2 - rp1)
+ + (m2 - m1) + (rt2 - rt1) + (v4 - v3);
+ for (; h1 != 0; h1 = h1->pred, h2 = h2->pred, h3 = h3->pred) {
+ t += (h2->dist - h1->dist) + (h3->dist - h2->dist);
+ }
+#else
+ if (s1) printf("%.*s %.*s %.*s\n",
+ (int)(v2 - v1), v1,
+ (int)(s2 - s1), s1,
+ (int)(rp2 - rp1), rp1);
+ if (m1) printf("%.*s %.*s %.*s\n",
+ (int)(m2 - m1), m1,
+ (int)(rt2 - rt1), rt1,
+ (int)(v4 - v3), v3);
+ print_headers(in->tok, h1, h2, h3);
+ printf("\n");
+#endif
+ taglistpool_clear(&in->tlp, in);
+ goto loop;
+ }
+yy58:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '!':
+ case '#':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '*':
+ case '+':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '^':
+ case '_':
+ case '`':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '|':
+ case '~': goto yy58;
+ case ':': goto yy63;
+ default: goto yy11;
+ }
+yy60:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case 0x01:
+ case 0x02:
+ case 0x03:
+ case 0x04:
+ case 0x05:
+ case 0x06:
+ case 0x07:
+ case 0x08:
+ case '\v':
+ case '\f':
+ case '\r':
+ case 0x0E:
+ case 0x0F:
+ case 0x10:
+ case 0x11:
+ case 0x12:
+ case 0x13:
+ case 0x14:
+ case 0x15:
+ case 0x16:
+ case 0x17:
+ case 0x18:
+ case 0x19:
+ case 0x1A:
+ case 0x1B:
+ case 0x1C:
+ case 0x1D:
+ case 0x1E:
+ case 0x7F: goto yy11;
+ case '\n':
+ in->yyt12 = YYCURSOR;
+ goto yy62;
+ default: goto yy60;
+ }
+yy62:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '\n':
+ YYMTAGN (in->yyt15);
+ YYMTAGN (in->yyt14);
+ YYMTAGN (in->yyt13);
+ in->yyt1 = in->yyt2 = in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = NULL;
+ goto yy56;
+ case '!':
+ case '#':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '*':
+ case '+':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '^':
+ case '_':
+ case '`':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '|':
+ case '~':
+ YYMTAGP (in->yyt13);
+ in->yyt1 = in->yyt2 = in->yyt3 = in->yyt4 = in->yyt5 = in->yyt6 = NULL;
+ goto yy58;
+ default: goto yy11;
+ }
+yy63:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case 0x01:
+ case 0x02:
+ case 0x03:
+ case 0x04:
+ case 0x05:
+ case 0x06:
+ case 0x07:
+ case 0x08:
+ case '\v':
+ case '\f':
+ case '\r':
+ case 0x0E:
+ case 0x0F:
+ case 0x10:
+ case 0x11:
+ case 0x12:
+ case 0x13:
+ case 0x14:
+ case 0x15:
+ case 0x16:
+ case 0x17:
+ case 0x18:
+ case 0x19:
+ case 0x1A:
+ case 0x1B:
+ case 0x1C:
+ case 0x1D:
+ case 0x1E:
+ case 0x7F: goto yy11;
+ case '\t':
+ case ' ':
+ YYMTAGP (in->yyt14);
+ goto yy64;
+ case '\n':
+ in->yyt16 = in->yyt15;
+ YYMTAGP (in->yyt16);
+ YYMTAGP (in->yyt14);
+ goto yy66;
+ default:
+ YYMTAGP (in->yyt14);
+ goto yy67;
+ }
+yy64:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case 0x01:
+ case 0x02:
+ case 0x03:
+ case 0x04:
+ case 0x05:
+ case 0x06:
+ case 0x07:
+ case 0x08:
+ case '\v':
+ case '\f':
+ case '\r':
+ case 0x0E:
+ case 0x0F:
+ case 0x10:
+ case 0x11:
+ case 0x12:
+ case 0x13:
+ case 0x14:
+ case 0x15:
+ case 0x16:
+ case 0x17:
+ case 0x18:
+ case 0x19:
+ case 0x1A:
+ case 0x1B:
+ case 0x1C:
+ case 0x1D:
+ case 0x1E:
+ case 0x7F: goto yy11;
+ case '\t':
+ case ' ': goto yy64;
+ case '\n':
+ in->yyt16 = in->yyt15;
+ YYMTAGP (in->yyt16);
+ goto yy66;
+ default: goto yy67;
+ }
+yy66:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '\t':
+ case ' ': goto yy64;
+ case '\n':
+ in->yyt15 = in->yyt16;
+ goto yy56;
+ case '!':
+ case '#':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '*':
+ case '+':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '^':
+ case '_':
+ case '`':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '|':
+ case '~':
+ in->yyt15 = in->yyt16;
+ YYMTAGP (in->yyt13);
+ goto yy58;
+ default: goto yy11;
+ }
+yy67:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case 0x01:
+ case 0x02:
+ case 0x03:
+ case 0x04:
+ case 0x05:
+ case 0x06:
+ case 0x07:
+ case 0x08:
+ case '\v':
+ case '\f':
+ case '\r':
+ case 0x0E:
+ case 0x0F:
+ case 0x10:
+ case 0x11:
+ case 0x12:
+ case 0x13:
+ case 0x14:
+ case 0x15:
+ case 0x16:
+ case 0x17:
+ case 0x18:
+ case 0x19:
+ case 0x1A:
+ case 0x1B:
+ case 0x1C:
+ case 0x1D:
+ case 0x1E:
+ case 0x7F: goto yy11;
+ case '\t': goto yy69;
+ case '\n':
+ in->yyt16 = in->yyt15;
+ YYMTAGP (in->yyt16);
+ goto yy66;
+ default: goto yy67;
+ }
+yy69:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case 0x01:
+ case 0x02:
+ case 0x03:
+ case 0x04:
+ case 0x05:
+ case 0x06:
+ case 0x07:
+ case 0x08:
+ case '\v':
+ case '\f':
+ case '\r':
+ case 0x0E:
+ case 0x0F:
+ case 0x10:
+ case 0x11:
+ case 0x12:
+ case 0x13:
+ case 0x14:
+ case 0x15:
+ case 0x16:
+ case 0x17:
+ case 0x18:
+ case 0x19:
+ case 0x1A:
+ case 0x1B:
+ case 0x1C:
+ case 0x1D:
+ case 0x1E:
+ case 0x7F: goto yy11;
+ case '\t': goto yy69;
+ case '\n':
+ YYMTAGP (in->yyt15);
+ goto yy71;
+ case ' ': goto yy67;
+ default: goto yy72;
+ }
+yy71:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '\n': goto yy56;
+ case '!':
+ case '#':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '*':
+ case '+':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '^':
+ case '_':
+ case '`':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '|':
+ case '~':
+ YYMTAGP (in->yyt13);
+ goto yy58;
+ default: goto yy11;
+ }
+yy72:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 0x00:
+ case 0x01:
+ case 0x02:
+ case 0x03:
+ case 0x04:
+ case 0x05:
+ case 0x06:
+ case 0x07:
+ case 0x08:
+ case '\v':
+ case '\f':
+ case '\r':
+ case 0x0E:
+ case 0x0F:
+ case 0x10:
+ case 0x11:
+ case 0x12:
+ case 0x13:
+ case 0x14:
+ case 0x15:
+ case 0x16:
+ case 0x17:
+ case 0x18:
+ case 0x19:
+ case 0x1A:
+ case 0x1B:
+ case 0x1C:
+ case 0x1D:
+ case 0x1E:
+ case 0x7F: goto yy11;
+ case '\t': goto yy73;
+ case '\n':
+ in->yyt16 = in->yyt15;
+ YYMTAGP (in->yyt16);
+ goto yy66;
+ default: goto yy67;
+ }
+yy73:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '\t':
+ case ' ': goto yy73;
+ case '\n':
+ YYMTAGP (in->yyt15);
+ goto yy71;
+ default: goto yy11;
+ }
+}
+
+}
+
+int main(int argc, char **argv)
+{
+ long count, total;
+ input_t in;
+ init_input(&in, argv[1]);
+
+ switch (lex(&in, &count, &total)) {
+ case 0: fprintf(stderr, "ok, parsed %ld HTTPs, peeked %ld chars\n", count, total); break;
+ case 1: fprintf(stderr, "syntax error: %s\n", in.cur); break;
+ case 2: fprintf(stderr, "fill failed\n"); break;
+ default: fprintf(stderr, "panic!\n"); break;
+ }
+
+ free_input(&in);
+ return 0;
+}
+re2c: warning: line 190: tag 'm1' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 190: tag 'v1' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 190: tag 'h3' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
diff --git a/test/tags/bench_http_simple.i.re b/test/tags/bench_http_simple.i.re
new file mode 100644
index 00000000..bcbbabe0
--- /dev/null
+++ b/test/tags/bench_http_simple.i.re
@@ -0,0 +1,231 @@
+#include <assert.h>
+#include <stddef.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
+typedef struct taglist_t {
+ struct taglist_t *pred;
+ long dist;
+} taglist_t;
+
+typedef struct taglistpool_t {
+ taglist_t *head;
+ taglist_t *next;
+ taglist_t *last;
+} taglistpool_t;
+
+typedef struct {
+ FILE *file;
+ char *buf;
+ char *lim;
+ char *cur;
+ char *mar;
+ char *tok;
+ /*!stags:re2c format = "char *@@;\n"; */
+ /*!mtags:re2c format = "taglist_t *@@;\n"; */
+ taglistpool_t tlp;
+ int eof;
+} input_t;
+
+static void taglistpool_clear(taglistpool_t *tlp, input_t *in)
+{
+ tlp->next = tlp->head;
+ /*!mtags:re2c format = "in->@@ = 0;\n"; */
+}
+
+static void taglistpool_init(taglistpool_t *tlp)
+{
+ static const unsigned size = 1024 * 1024;
+ tlp->head = (taglist_t*)malloc(size * sizeof(taglist_t));
+ tlp->next = tlp->head;
+ tlp->last = tlp->head + size;
+}
+
+static void taglistpool_free(taglistpool_t *tlp)
+{
+ free(tlp->head);
+ tlp->head = tlp->next = tlp->last = NULL;
+}
+
+static taglist_t *taglistpool_next(taglistpool_t *tlp)
+{
+ if (tlp->next < tlp->last) {
+ return tlp->next++;
+ }
+
+ const unsigned size = tlp->last - tlp->head;
+ taglist_t *head = (taglist_t*)malloc(2 * size * sizeof(taglist_t));
+ memcpy(head, tlp->head, size * sizeof(taglist_t));
+ free(tlp->head);
+ tlp->head = head;
+ tlp->next = head + size;
+ tlp->last = head + size * 2;
+ return tlp->next++;
+}
+
+static void taglist(taglist_t **ptl, const char *b, const char *t, taglistpool_t *tlp)
+{
+ taglist_t *tl = taglistpool_next(tlp);
+ tl->pred = *ptl;
+ tl->dist = t - b;
+ *ptl = tl;
+}
+
+/*!max:re2c*/
+static const size_t SIZE = 4096;
+
+static void init_input(input_t *in, const char *fname)
+{
+ in->file = fopen(fname, "r");
+ in->buf = (char*) malloc(SIZE + YYMAXFILL);
+ in->lim = in->buf + SIZE;
+ in->cur = in->lim;
+ in->mar = in->lim;
+ in->tok = in->lim;
+ /*!stags:re2c format = "in->@@ = 0;\n"; */
+ /*!mtags:re2c format = "in->@@ = 0;\n"; */
+ taglistpool_init(&in->tlp);
+ in->eof = 0;
+}
+
+static void free_input(input_t *in)
+{
+ fclose(in->file);
+ free(in->buf);
+ taglistpool_free(&in->tlp);
+}
+
+static int fill(input_t *in, size_t need)
+{
+ size_t free;
+
+ if (in->eof) return 1;
+
+ free = in->tok - in->buf;
+ if (free < need) return 2;
+
+ memmove(in->buf, in->tok, in->lim - in->tok);
+ in->lim -= free;
+ in->cur -= free;
+ in->mar -= free;
+ in->tok -= free;
+ /*!stags:re2c format = "if (in->@@) in->@@ -= free;\n"; */
+ in->lim += fread(in->lim, 1, free, in->file);
+ if (in->lim < in->buf + SIZE) {
+ in->eof = 1;
+ memset(in->lim, 0, YYMAXFILL);
+ in->lim += YYMAXFILL;
+ }
+ return 0;
+}
+
+static void print_headers(const char *tok,
+ const taglist_t *h1, const taglist_t *h2, const taglist_t *h3)
+{
+ if (!h1 || !h2 || !h3) {
+ assert(!h1 && !h2 && !h3);
+ return;
+ }
+ print_headers(tok, h1->pred, h2->pred, h3->pred);
+ printf("%.*s%.*s\n",
+ (int)(h2->dist - h1->dist), tok + h1->dist,
+ (int)(h3->dist - h2->dist), tok + h2->dist);
+}
+
+#define YYCTYPE char
+#define YYCURSOR in->cur
+#define YYMARKER in->mar
+#define YYLIMIT in->lim
+#define YYMTAGP(tl) taglist(&tl, in->tok, in->cur, &in->tlp)
+#define YYMTAGN(tl) taglist(&tl, in->tok, NULL, &in->tlp)
+#define YYFILL(n) if (fill(in, n) != 0) return 2;
+
+static int lex(input_t *in, long *count, long *total)
+{
+ const char *s1, *s2, *v1, *v2, *v3, *v4, *m1, *m2, *rp1, *rp2, *rt1, *rt2;
+ taglist_t *h1, *h2, *h3;
+ long c, t;
+
+ c = 0; t = 0;
+loop:
+ in->tok = in->cur;
+/*!re2c
+ re2c:flags:tags = 1;
+ re2c:tags:expression = "in->@@";
+
+ end = "\x00";
+ eol = "\n";
+ sp = " ";
+ htab = "\t";
+ ows = (sp | htab)*;
+ char = [-._~%!$&'()*+,;=a-zA-Z0-9];
+ tchar = [-._~%!$&'*+#^`|a-zA-Z0-9];
+ vchar = [\x1f-\x7e\x80-\xff];
+ scheme = [-+.a-zA-Z0-9]+;
+ userinfo = (char | [:])+;
+ host = (char | [:[\]])+;
+ port = [0-9]*;
+ path = (char | [:@/])*;
+ query = (char | [:@?/])*;
+ obs_fold = eol (sp | htab)+;
+ field_content = vchar ((sp | htab)+ vchar)?;
+ header_field = #h1 tchar+ ":" #h2 ows (field_content | obs_fold)* ows #h3;
+ authority = (userinfo "@")? host (":" port)?;
+ absolute_uri = scheme ":" ("//" (userinfo "@")? host (":" port)?)? path ("?" query)?;
+ origin_form = "/" path ("?" query)?;
+ http_version = "HTTP/" [0-9] "." [0-9];
+ request_target = authority | absolute_uri | origin_form | "*";
+ method = tchar+;
+ request_line = @m1 method @m2 sp @rt1 request_target @rt2 sp @v3 http_version @v4 eol;
+ status_code = [0-9]{3};
+ reason_phrase = (htab | sp | vchar)*;
+ status_line = @v1 http_version @v2 sp @s1 status_code @s2 sp @rp1 reason_phrase @rp2 eol;
+ start_line = (request_line | status_line);
+ message_head = start_line (header_field eol)* eol;
+
+ * { return 1; }
+ end { *count = c; *total = t; return 0; }
+ eol { goto loop; }
+ message_head {
+#ifndef VERIFY
+ c += 1;
+ t += (v2 - v1) + (s2 - s1) + (rp2 - rp1)
+ + (m2 - m1) + (rt2 - rt1) + (v4 - v3);
+ for (; h1 != 0; h1 = h1->pred, h2 = h2->pred, h3 = h3->pred) {
+ t += (h2->dist - h1->dist) + (h3->dist - h2->dist);
+ }
+#else
+ if (s1) printf("%.*s %.*s %.*s\n",
+ (int)(v2 - v1), v1,
+ (int)(s2 - s1), s1,
+ (int)(rp2 - rp1), rp1);
+ if (m1) printf("%.*s %.*s %.*s\n",
+ (int)(m2 - m1), m1,
+ (int)(rt2 - rt1), rt1,
+ (int)(v4 - v3), v3);
+ print_headers(in->tok, h1, h2, h3);
+ printf("\n");
+#endif
+ taglistpool_clear(&in->tlp, in);
+ goto loop;
+ }
+*/
+}
+
+int main(int argc, char **argv)
+{
+ long count, total;
+ input_t in;
+ init_input(&in, argv[1]);
+
+ switch (lex(&in, &count, &total)) {
+ case 0: fprintf(stderr, "ok, parsed %ld HTTPs, peeked %ld chars\n", count, total); break;
+ case 1: fprintf(stderr, "syntax error: %s\n", in.cur); break;
+ case 2: fprintf(stderr, "fill failed\n"); break;
+ default: fprintf(stderr, "panic!\n"); break;
+ }
+
+ free_input(&in);
+ return 0;
+}
diff --git a/test/tags/bench_uri_rfc3986.i.c b/test/tags/bench_uri_rfc3986.i.c
new file mode 100644
index 00000000..da85824d
--- /dev/null
+++ b/test/tags/bench_uri_rfc3986.i.c
@@ -0,0 +1,7943 @@
+/* Generated by re2c */
+#include <stddef.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
+#define YYMAXFILL 72
+
+static const size_t SIZE = 4096;
+
+typedef struct {
+ FILE *file;
+ char *buf;
+ char *lim;
+ char *cur;
+ char *mar;
+ char *tok;
+ char *yyt1;
+char *yyt10;
+char *yyt11;
+char *yyt12;
+char *yyt13;
+char *yyt14;
+char *yyt15;
+char *yyt16;
+char *yyt17;
+char *yyt18;
+char *yyt19;
+char *yyt2;
+char *yyt20;
+char *yyt3;
+char *yyt4;
+char *yyt5;
+char *yyt6;
+char *yyt7;
+char *yyt8;
+char *yyt9;
+
+ int eof;
+} input_t;
+
+static void init_input(input_t *in, const char *fname)
+{
+ in->file = fopen(fname, "r");
+ in->buf = (char*) malloc(SIZE + YYMAXFILL);
+ in->lim = in->buf + SIZE;
+ in->cur = in->lim;
+ in->mar = in->lim;
+ in->tok = in->lim;
+ in->yyt1 = 0;
+in->yyt10 = 0;
+in->yyt11 = 0;
+in->yyt12 = 0;
+in->yyt13 = 0;
+in->yyt14 = 0;
+in->yyt15 = 0;
+in->yyt16 = 0;
+in->yyt17 = 0;
+in->yyt18 = 0;
+in->yyt19 = 0;
+in->yyt2 = 0;
+in->yyt20 = 0;
+in->yyt3 = 0;
+in->yyt4 = 0;
+in->yyt5 = 0;
+in->yyt6 = 0;
+in->yyt7 = 0;
+in->yyt8 = 0;
+in->yyt9 = 0;
+
+ in->eof = 0;
+}
+
+static void free_input(input_t *in)
+{
+ free(in->buf);
+ fclose(in->file);
+}
+
+static int fill(input_t *in, size_t need)
+{
+ size_t free;
+
+ if (in->eof) return 1;
+
+ free = in->tok - in->buf;
+ if (free < need) return 2;
+
+ memmove(in->buf, in->tok, in->lim - in->tok);
+ in->lim -= free;
+ in->cur -= free;
+ in->mar -= free;
+ in->tok -= free;
+ if (in->yyt1) in->yyt1 -= free;
+if (in->yyt10) in->yyt10 -= free;
+if (in->yyt11) in->yyt11 -= free;
+if (in->yyt12) in->yyt12 -= free;
+if (in->yyt13) in->yyt13 -= free;
+if (in->yyt14) in->yyt14 -= free;
+if (in->yyt15) in->yyt15 -= free;
+if (in->yyt16) in->yyt16 -= free;
+if (in->yyt17) in->yyt17 -= free;
+if (in->yyt18) in->yyt18 -= free;
+if (in->yyt19) in->yyt19 -= free;
+if (in->yyt2) in->yyt2 -= free;
+if (in->yyt20) in->yyt20 -= free;
+if (in->yyt3) in->yyt3 -= free;
+if (in->yyt4) in->yyt4 -= free;
+if (in->yyt5) in->yyt5 -= free;
+if (in->yyt6) in->yyt6 -= free;
+if (in->yyt7) in->yyt7 -= free;
+if (in->yyt8) in->yyt8 -= free;
+if (in->yyt9) in->yyt9 -= free;
+
+ in->lim += fread(in->lim, 1, free, in->file);
+ if (in->lim < in->buf + SIZE) {
+ in->eof = 1;
+ memset(in->lim, 0, YYMAXFILL);
+ in->lim += YYMAXFILL;
+ }
+ return 0;
+}
+
+static int lex(input_t *in, long *count, long *total)
+{
+ const char
+ *s1, *u1, *h1, *h3, *h5, *r1, *p1, *p3, *q1, *f1,
+ *s2, *u2, *h2, *h4, *h6, *r2, *p2, *p4, *q2, *f2;
+ long c, t;
+
+ c = 0; t = 0;
+loop:
+ in->tok = in->cur;
+
+{
+ char yych;
+ unsigned int yyaccept = 0;
+ if ((in->lim - in->cur) < 72) if (fill(in, 72) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case 0x00: goto yy2;
+ case '\n': goto yy6;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ in->yyt1 = in->cur;
+ goto yy8;
+ default: goto yy4;
+ }
+yy2:
+ ++in->cur;
+ { *count = c; *total = t; return 0; }
+yy4:
+ ++in->cur;
+yy5:
+ { return 1; }
+yy6:
+ ++in->cur;
+ { goto loop; }
+yy8:
+ yyaccept = 0;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '+':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy10;
+ default: goto yy5;
+ }
+yy9:
+ ++in->cur;
+ if ((in->lim - in->cur) < 71) if (fill(in, 71) != 0) return 2;
+ yych = *in->cur;
+yy10:
+ switch (yych) {
+ case '+':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy9;
+ case ':':
+ in->yyt2 = in->cur;
+ goto yy12;
+ default: goto yy11;
+ }
+yy11:
+ in->cur = in->mar;
+ switch (yyaccept) {
+ case 0: goto yy5;
+ case 1:
+ in->yyt3 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = NULL;
+ in->yyt4 = in->yyt5 = in->cur;
+ goto yy13;
+ case 2:
+ in->yyt3 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = NULL;
+ in->yyt5 = in->cur;
+ goto yy13;
+ case 3:
+ in->yyt7 = in->yyt8 = in->cur;
+ goto yy13;
+ case 4:
+ in->yyt7 = in->yyt8 = NULL;
+ in->yyt6 = in->yyt20 = in->cur;
+ goto yy13;
+ case 5:
+ in->yyt8 = in->cur;
+ goto yy13;
+ case 6:
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt15 = in->yyt16 = in->yyt19 = in->cur;
+ goto yy13;
+ case 7:
+ in->yyt7 = in->yyt8 = NULL;
+ in->yyt6 = in->cur;
+ goto yy13;
+ case 8:
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt16 = in->yyt19 = in->cur;
+ goto yy13;
+ case 9:
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt20 = NULL;
+ in->yyt3 = in->cur;
+ goto yy13;
+ case 10:
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt17 = in->yyt18 = in->yyt19 = in->cur;
+ goto yy13;
+ case 11:
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt15 = in->yyt16 = in->yyt19 = in->cur;
+ goto yy13;
+ case 12:
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt18 = in->yyt19 = in->cur;
+ goto yy13;
+ case 13:
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt16 = in->yyt19 = in->cur;
+ goto yy13;
+ case 14:
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy13;
+ default:
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy13;
+ }
+yy12:
+ yyaccept = 1;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~':
+ in->yyt4 = in->cur;
+ goto yy14;
+ case '#':
+ in->yyt3 = in->yyt6 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = NULL;
+ in->yyt4 = in->yyt5 = in->cur;
+ goto yy16;
+ case '%':
+ in->yyt4 = in->cur;
+ goto yy17;
+ case '/':
+ in->yyt4 = in->cur;
+ goto yy18;
+ case '?':
+ in->yyt3 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = NULL;
+ in->yyt4 = in->yyt5 = in->cur;
+ goto yy19;
+ default:
+ in->yyt3 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = NULL;
+ in->yyt4 = in->yyt5 = in->cur;
+ goto yy13;
+ }
+yy13:
+ s1 = in->yyt1;
+ s2 = in->yyt2;
+ u1 = in->yyt9;
+ u2 = in->yyt10;
+ h1 = in->yyt11;
+ h2 = in->yyt12;
+ h3 = in->yyt13;
+ h4 = in->yyt14;
+ h5 = in->yyt15;
+ h6 = in->yyt16;
+ r1 = in->yyt17;
+ r2 = in->yyt18;
+ p1 = in->yyt19;
+ p2 = in->yyt3;
+ p3 = in->yyt4;
+ p4 = in->yyt5;
+ q1 = in->yyt20;
+ q2 = in->yyt6;
+ f1 = in->yyt7;
+ f2 = in->yyt8;
+ {
+#ifndef VERIFY
+ c += 1;
+ t += (s2 - s1) + (u2 - u1) + (h2 - h1) + (h4 - h3)
+ + (h6 - h5) + (r2 - r1) + (p2 - p1) + (p4 - p3)
+ + (q2 - q1) + (f2 - f1);
+#else
+ printf("%.*s:", (int)(s2 - s1), s1);
+ if (p1) printf("//");
+ if (u1) printf("%.*s@", (int)(u2 - u1), u1);
+ if (h1) printf("%.*s", (int)(h2 - h1), h1);
+ if (h3) printf("%.*s", (int)(h4 - h3), h3);
+ if (h5) printf("%.*s", (int)(h6 - h5), h5);
+ if (r1) printf(":%.*s", (int)(r2 - r1), r1);
+ if (p1) printf("%.*s", (int)(p2 - p1), p1);
+ if (p3) printf("%.*s", (int)(p4 - p3), p3);
+ if (q1) printf("?%.*s", (int)(q2 - q1), q1);
+ if (f1) printf("#%.*s", (int)(f2 - f1), f1);
+ printf("\n");
+#endif
+ goto loop;
+ }
+yy14:
+ yyaccept = 2;
+ in->mar = ++in->cur;
+ if ((in->lim - in->cur) < 3) if (fill(in, 3) != 0) return 2;
+ yych = *in->cur;
+yy15:
+ switch (yych) {
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '/':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy14;
+ case '#':
+ in->yyt3 = in->yyt6 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = NULL;
+ in->yyt5 = in->cur;
+ goto yy16;
+ case '%': goto yy17;
+ case '?':
+ in->yyt3 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = NULL;
+ in->yyt5 = in->cur;
+ goto yy19;
+ default:
+ in->yyt3 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt19 = in->yyt20 = NULL;
+ in->yyt5 = in->cur;
+ goto yy13;
+ }
+yy16:
+ yyaccept = 3;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '/':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case '?':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~':
+ in->yyt7 = in->cur;
+ goto yy20;
+ case '%':
+ in->yyt7 = in->cur;
+ goto yy22;
+ default:
+ in->yyt7 = in->yyt8 = in->cur;
+ goto yy13;
+ }
+yy17:
+ ++in->cur;
+ if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy23;
+ default: goto yy11;
+ }
+yy18:
+ yyaccept = 2;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '/': goto yy24;
+ default: goto yy15;
+ }
+yy19:
+ yyaccept = 4;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '/':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case '?':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~':
+ in->yyt20 = in->cur;
+ goto yy25;
+ case '#':
+ in->yyt6 = in->yyt20 = in->cur;
+ goto yy16;
+ case '%':
+ in->yyt20 = in->cur;
+ goto yy27;
+ default:
+ in->yyt7 = in->yyt8 = NULL;
+ in->yyt6 = in->yyt20 = in->cur;
+ goto yy13;
+ }
+yy20:
+ yyaccept = 5;
+ in->mar = ++in->cur;
+ if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '/':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case '?':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy20;
+ case '%': goto yy22;
+ default:
+ in->yyt8 = in->cur;
+ goto yy13;
+ }
+yy22:
+ ++in->cur;
+ if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy28;
+ default: goto yy11;
+ }
+yy23:
+ ++in->cur;
+ if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy14;
+ default: goto yy11;
+ }
+yy24:
+ yyaccept = 6;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~':
+ in->yyt9 = in->yyt10 = NULL;
+ in->yyt3 = in->yyt15 = in->cur;
+ goto yy29;
+ case '#':
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt15 = in->yyt16 = in->yyt19 = in->cur;
+ goto yy16;
+ case '%':
+ in->yyt9 = in->yyt10 = NULL;
+ in->yyt3 = in->yyt15 = in->cur;
+ goto yy31;
+ case '/':
+ in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt15 = in->yyt16 = in->yyt19 = in->cur;
+ goto yy32;
+ case '0':
+ in->yyt9 = in->yyt10 = NULL;
+ in->yyt3 = in->yyt13 = in->yyt15 = in->cur;
+ goto yy34;
+ case '1':
+ in->yyt9 = in->yyt10 = NULL;
+ in->yyt3 = in->yyt13 = in->yyt15 = in->cur;
+ goto yy35;
+ case '2':
+ in->yyt9 = in->yyt10 = NULL;
+ in->yyt3 = in->yyt13 = in->yyt15 = in->cur;
+ goto yy36;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ in->yyt9 = in->yyt10 = NULL;
+ in->yyt3 = in->yyt13 = in->yyt15 = in->cur;
+ goto yy37;
+ case ':':
+ in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = NULL;
+ in->yyt3 = in->yyt15 = in->yyt16 = in->cur;
+ goto yy38;
+ case '?':
+ in->yyt4 = in->yyt5 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt3 = in->yyt15 = in->yyt16 = in->yyt19 = in->cur;
+ goto yy19;
+ case '@':
+ in->yyt3 = in->yyt10 = in->cur;
+ goto yy39;
+ case '[':
+ in->yyt9 = in->yyt10 = NULL;
+ in->yyt11 = in->cur;
+ goto yy40;
+ default:
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt15 = in->yyt16 = in->yyt19 = in->cur;
+ goto yy13;
+ }
+yy25:
+ yyaccept = 7;
+ in->mar = ++in->cur;
+ if ((in->lim - in->cur) < 2) if (fill(in, 2) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '/':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case '?':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy25;
+ case '#':
+ in->yyt6 = in->cur;
+ goto yy16;
+ case '%': goto yy27;
+ default:
+ in->yyt7 = in->yyt8 = NULL;
+ in->yyt6 = in->cur;
+ goto yy13;
+ }
+yy27:
+ ++in->cur;
+ if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy41;
+ default: goto yy11;
+ }
+yy28:
+ ++in->cur;
+ if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy20;
+ default: goto yy11;
+ }
+yy29:
+ yyaccept = 8;
+ in->mar = ++in->cur;
+ if ((in->lim - in->cur) < 53) if (fill(in, 53) != 0) return 2;
+ yych = *in->cur;
+yy30:
+ switch (yych) {
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy29;
+ case '#':
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt16 = in->yyt19 = in->cur;
+ goto yy16;
+ case '%': goto yy31;
+ case '/':
+ in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt16 = in->yyt19 = in->cur;
+ goto yy32;
+ case ':':
+ in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = NULL;
+ in->yyt16 = in->cur;
+ goto yy38;
+ case '?':
+ in->yyt4 = in->yyt5 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt3 = in->yyt16 = in->yyt19 = in->cur;
+ goto yy19;
+ case '@':
+ in->yyt10 = in->cur;
+ goto yy39;
+ default:
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt16 = in->yyt19 = in->cur;
+ goto yy13;
+ }
+yy31:
+ ++in->cur;
+ if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy42;
+ default: goto yy11;
+ }
+yy32:
+ yyaccept = 9;
+ in->mar = ++in->cur;
+ if ((in->lim - in->cur) < 3) if (fill(in, 3) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '/':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy32;
+ case '#':
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt20 = NULL;
+ in->yyt3 = in->cur;
+ goto yy16;
+ case '%': goto yy43;
+ case '?':
+ in->yyt4 = in->yyt5 = NULL;
+ in->yyt3 = in->cur;
+ goto yy19;
+ default:
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt20 = NULL;
+ in->yyt3 = in->cur;
+ goto yy13;
+ }
+yy34:
+ yyaccept = 8;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy44;
+ default: goto yy30;
+ }
+yy35:
+ yyaccept = 8;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy44;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy37;
+ default: goto yy30;
+ }
+yy36:
+ yyaccept = 8;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy44;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy37;
+ case '5': goto yy45;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy34;
+ default: goto yy30;
+ }
+yy37:
+ yyaccept = 8;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy44;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy34;
+ default: goto yy30;
+ }
+yy38:
+ yyaccept = 10;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '!':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case ':':
+ case ';':
+ case '=':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy47;
+ case '#':
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt17 = in->yyt18 = in->yyt19 = in->cur;
+ goto yy16;
+ case '/':
+ in->yyt17 = in->yyt18 = in->yyt19 = in->cur;
+ goto yy32;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ in->yyt17 = in->cur;
+ goto yy49;
+ case '?':
+ in->yyt4 = in->yyt5 = NULL;
+ in->yyt3 = in->yyt17 = in->yyt18 = in->yyt19 = in->cur;
+ goto yy19;
+ default:
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt17 = in->yyt18 = in->yyt19 = in->cur;
+ goto yy13;
+ }
+yy39:
+ yyaccept = 11;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~':
+ in->yyt15 = in->cur;
+ goto yy51;
+ case '#':
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt15 = in->yyt16 = in->yyt19 = in->cur;
+ goto yy16;
+ case '%':
+ in->yyt15 = in->cur;
+ goto yy53;
+ case '/':
+ in->yyt9 = in->yyt3;
+ in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt15 = in->yyt16 = in->yyt19 = in->cur;
+ goto yy32;
+ case '0':
+ in->yyt13 = in->yyt15 = in->cur;
+ goto yy54;
+ case '1':
+ in->yyt13 = in->yyt15 = in->cur;
+ goto yy55;
+ case '2':
+ in->yyt13 = in->yyt15 = in->cur;
+ goto yy56;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ in->yyt13 = in->yyt15 = in->cur;
+ goto yy57;
+ case ':':
+ in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = NULL;
+ in->yyt15 = in->yyt16 = in->cur;
+ goto yy58;
+ case '?':
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt3 = in->yyt15 = in->yyt16 = in->yyt19 = in->cur;
+ goto yy19;
+ case '[':
+ in->yyt9 = in->yyt3;
+ in->yyt11 = in->cur;
+ goto yy40;
+ default:
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt15 = in->yyt16 = in->yyt19 = in->cur;
+ goto yy13;
+ }
+yy40:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy59;
+ case ':': goto yy60;
+ case 'v': goto yy61;
+ default: goto yy11;
+ }
+yy41:
+ ++in->cur;
+ if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy25;
+ default: goto yy11;
+ }
+yy42:
+ ++in->cur;
+ if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy29;
+ default: goto yy11;
+ }
+yy43:
+ ++in->cur;
+ if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy62;
+ default: goto yy11;
+ }
+yy44:
+ yyaccept = 8;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '0': goto yy63;
+ case '1': goto yy64;
+ case '2': goto yy65;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy66;
+ default: goto yy30;
+ }
+yy45:
+ yyaccept = 8;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy44;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy34;
+ default: goto yy30;
+ }
+yy46:
+ ++in->cur;
+ if ((in->lim - in->cur) < 52) if (fill(in, 52) != 0) return 2;
+ yych = *in->cur;
+yy47:
+ switch (yych) {
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy46;
+ case '%': goto yy48;
+ case '@':
+ in->yyt10 = in->cur;
+ goto yy39;
+ default: goto yy11;
+ }
+yy48:
+ ++in->cur;
+ if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy67;
+ default: goto yy11;
+ }
+yy49:
+ yyaccept = 12;
+ in->mar = ++in->cur;
+ if ((in->lim - in->cur) < 52) if (fill(in, 52) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case ':':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy46;
+ case '#':
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt18 = in->yyt19 = in->cur;
+ goto yy16;
+ case '%': goto yy48;
+ case '/':
+ in->yyt18 = in->yyt19 = in->cur;
+ goto yy32;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy49;
+ case '?':
+ in->yyt4 = in->yyt5 = NULL;
+ in->yyt3 = in->yyt18 = in->yyt19 = in->cur;
+ goto yy19;
+ case '@':
+ in->yyt10 = in->cur;
+ goto yy39;
+ default:
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt18 = in->yyt19 = in->cur;
+ goto yy13;
+ }
+yy51:
+ yyaccept = 13;
+ in->mar = ++in->cur;
+ if ((in->lim - in->cur) < 4) if (fill(in, 4) != 0) return 2;
+ yych = *in->cur;
+yy52:
+ switch (yych) {
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy51;
+ case '#':
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt16 = in->yyt19 = in->cur;
+ goto yy16;
+ case '%': goto yy53;
+ case '/':
+ in->yyt9 = in->yyt3;
+ in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt16 = in->yyt19 = in->cur;
+ goto yy32;
+ case ':':
+ in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = NULL;
+ in->yyt16 = in->cur;
+ goto yy58;
+ case '?':
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt3 = in->yyt16 = in->yyt19 = in->cur;
+ goto yy19;
+ default:
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt13 = in->yyt14 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt16 = in->yyt19 = in->cur;
+ goto yy13;
+ }
+yy53:
+ ++in->cur;
+ if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy68;
+ default: goto yy11;
+ }
+yy54:
+ yyaccept = 13;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy69;
+ default: goto yy52;
+ }
+yy55:
+ yyaccept = 13;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy69;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy57;
+ default: goto yy52;
+ }
+yy56:
+ yyaccept = 13;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy69;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy57;
+ case '5': goto yy70;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy54;
+ default: goto yy52;
+ }
+yy57:
+ yyaccept = 13;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy69;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy54;
+ default: goto yy52;
+ }
+yy58:
+ yych = *++in->cur;
+ switch (yych) {
+ case '#':
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt17 = in->yyt18 = in->yyt19 = in->cur;
+ goto yy16;
+ case '/':
+ in->yyt9 = in->yyt3;
+ in->yyt17 = in->yyt18 = in->yyt19 = in->cur;
+ goto yy32;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ in->yyt17 = in->cur;
+ goto yy71;
+ case '?':
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = NULL;
+ in->yyt3 = in->yyt17 = in->yyt18 = in->yyt19 = in->cur;
+ goto yy19;
+ default:
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt17 = in->yyt18 = in->yyt19 = in->cur;
+ goto yy13;
+ }
+yy59:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy73;
+ case ':': goto yy74;
+ default: goto yy11;
+ }
+yy60:
+ yych = *++in->cur;
+ switch (yych) {
+ case ':': goto yy75;
+ default: goto yy11;
+ }
+yy61:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy11;
+ default: goto yy77;
+ }
+yy62:
+ ++in->cur;
+ if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy32;
+ default: goto yy11;
+ }
+yy63:
+ yyaccept = 8;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy78;
+ default: goto yy30;
+ }
+yy64:
+ yyaccept = 8;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy78;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy66;
+ default: goto yy30;
+ }
+yy65:
+ yyaccept = 8;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy78;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy66;
+ case '5': goto yy79;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy63;
+ default: goto yy30;
+ }
+yy66:
+ yyaccept = 8;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy78;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy63;
+ default: goto yy30;
+ }
+yy67:
+ ++in->cur;
+ if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy46;
+ default: goto yy11;
+ }
+yy68:
+ ++in->cur;
+ if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy51;
+ default: goto yy11;
+ }
+yy69:
+ yyaccept = 13;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '0': goto yy80;
+ case '1': goto yy81;
+ case '2': goto yy82;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy83;
+ default: goto yy52;
+ }
+yy70:
+ yyaccept = 13;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy69;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy54;
+ default: goto yy52;
+ }
+yy71:
+ ++in->cur;
+ if ((in->lim - in->cur) < 3) if (fill(in, 3) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case '#':
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt18 = in->yyt19 = in->cur;
+ goto yy16;
+ case '/':
+ in->yyt9 = in->yyt3;
+ in->yyt18 = in->yyt19 = in->cur;
+ goto yy32;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy71;
+ case '?':
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = NULL;
+ in->yyt3 = in->yyt18 = in->yyt19 = in->cur;
+ goto yy19;
+ default:
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt18 = in->yyt19 = in->cur;
+ goto yy13;
+ }
+yy73:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy84;
+ case ':': goto yy74;
+ default: goto yy11;
+ }
+yy74:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy85;
+ case ':': goto yy86;
+ default: goto yy11;
+ }
+yy75:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0': goto yy87;
+ case '1': goto yy88;
+ case '2': goto yy89;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy90;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy91;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy76:
+ ++in->cur;
+ if ((in->lim - in->cur) < 2) if (fill(in, 2) != 0) return 2;
+ yych = *in->cur;
+yy77:
+ switch (yych) {
+ case '.': goto yy93;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy76;
+ default: goto yy11;
+ }
+yy78:
+ yyaccept = 8;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '0': goto yy94;
+ case '1': goto yy95;
+ case '2': goto yy96;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy97;
+ default: goto yy30;
+ }
+yy79:
+ yyaccept = 8;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy78;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy63;
+ default: goto yy30;
+ }
+yy80:
+ yyaccept = 13;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy98;
+ default: goto yy52;
+ }
+yy81:
+ yyaccept = 13;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy98;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy83;
+ default: goto yy52;
+ }
+yy82:
+ yyaccept = 13;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy98;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy83;
+ case '5': goto yy99;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy80;
+ default: goto yy52;
+ }
+yy83:
+ yyaccept = 13;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy98;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy80;
+ default: goto yy52;
+ }
+yy84:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy100;
+ case ':': goto yy74;
+ default: goto yy11;
+ }
+yy85:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy101;
+ case ':': goto yy102;
+ default: goto yy11;
+ }
+yy86:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0': goto yy103;
+ case '1': goto yy104;
+ case '2': goto yy105;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy106;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy107;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy87:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy109;
+ case ':': goto yy110;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy88:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy111;
+ case ':': goto yy110;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy109;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy89:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy111;
+ case '5': goto yy112;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy113;
+ case ':': goto yy110;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy109;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy90:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy113;
+ case ':': goto yy110;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy109;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy91:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy109;
+ case ':': goto yy110;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy92:
+ yych = *++in->cur;
+ switch (yych) {
+ case '#':
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt12 = in->yyt19 = in->cur;
+ goto yy16;
+ case '/':
+ in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt12 = in->yyt19 = in->cur;
+ goto yy32;
+ case ':':
+ in->yyt3 = in->yyt9;
+ in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = NULL;
+ in->yyt12 = in->cur;
+ goto yy58;
+ case '?':
+ in->yyt4 = in->yyt5 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt3 = in->yyt12 = in->yyt19 = in->cur;
+ goto yy19;
+ default:
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt13 = in->yyt14 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt12 = in->yyt19 = in->cur;
+ goto yy13;
+ }
+yy93:
+ yych = *++in->cur;
+ switch (yych) {
+ case ']': goto yy11;
+ default: goto yy115;
+ }
+yy94:
+ yyaccept = 8;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy116;
+ default: goto yy30;
+ }
+yy95:
+ yyaccept = 8;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy116;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy97;
+ default: goto yy30;
+ }
+yy96:
+ yyaccept = 8;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy116;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy97;
+ case '5': goto yy117;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy94;
+ default: goto yy30;
+ }
+yy97:
+ yyaccept = 8;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy116;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy94;
+ default: goto yy30;
+ }
+yy98:
+ yyaccept = 13;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '0': goto yy118;
+ case '1': goto yy119;
+ case '2': goto yy120;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy121;
+ default: goto yy52;
+ }
+yy99:
+ yyaccept = 13;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy98;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy80;
+ default: goto yy52;
+ }
+yy100:
+ yych = *++in->cur;
+ switch (yych) {
+ case ':': goto yy74;
+ default: goto yy11;
+ }
+yy101:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy122;
+ case ':': goto yy102;
+ default: goto yy11;
+ }
+yy102:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy123;
+ case ':': goto yy124;
+ default: goto yy11;
+ }
+yy103:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy125;
+ case ':': goto yy126;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy104:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy127;
+ case ':': goto yy126;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy125;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy105:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy127;
+ case '5': goto yy128;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy129;
+ case ':': goto yy126;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy125;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy106:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy129;
+ case ':': goto yy126;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy125;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy107:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy125;
+ case ':': goto yy126;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy108:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0': goto yy130;
+ case '1': goto yy131;
+ case '2': goto yy132;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy133;
+ default: goto yy11;
+ }
+yy109:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy134;
+ case ':': goto yy110;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy110:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0': goto yy103;
+ case '1': goto yy104;
+ case '2': goto yy105;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy106;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy107;
+ default: goto yy11;
+ }
+yy111:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy135;
+ case ':': goto yy110;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy134;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy112:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy135;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy134;
+ case ':': goto yy110;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy113:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy134;
+ case ':': goto yy110;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy114:
+ ++in->cur;
+ if ((in->lim - in->cur) < 5) if (fill(in, 5) != 0) return 2;
+ yych = *in->cur;
+yy115:
+ switch (yych) {
+ case '!':
+ case '$':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy114;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy116:
+ yyaccept = 8;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '0': goto yy136;
+ case '1': goto yy137;
+ case '2': goto yy138;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy139;
+ default: goto yy30;
+ }
+yy117:
+ yyaccept = 8;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy116;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy94;
+ default: goto yy30;
+ }
+yy118:
+ yyaccept = 13;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy140;
+ default: goto yy52;
+ }
+yy119:
+ yyaccept = 13;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy140;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy121;
+ default: goto yy52;
+ }
+yy120:
+ yyaccept = 13;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy140;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy121;
+ case '5': goto yy141;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy118;
+ default: goto yy52;
+ }
+yy121:
+ yyaccept = 13;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy140;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy118;
+ default: goto yy52;
+ }
+yy122:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy142;
+ case ':': goto yy102;
+ default: goto yy11;
+ }
+yy123:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy143;
+ case ':': goto yy144;
+ default: goto yy11;
+ }
+yy124:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0': goto yy145;
+ case '1': goto yy146;
+ case '2': goto yy147;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy148;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy149;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy125:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy150;
+ case ':': goto yy126;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy126:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0': goto yy145;
+ case '1': goto yy146;
+ case '2': goto yy147;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy148;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy149;
+ default: goto yy11;
+ }
+yy127:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy151;
+ case ':': goto yy126;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy150;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy128:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy151;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy150;
+ case ':': goto yy126;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy129:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy150;
+ case ':': goto yy126;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy130:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy152;
+ default: goto yy11;
+ }
+yy131:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy152;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy133;
+ default: goto yy11;
+ }
+yy132:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy152;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy133;
+ case '5': goto yy153;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy130;
+ default: goto yy11;
+ }
+yy133:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy152;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy130;
+ default: goto yy11;
+ }
+yy134:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy154;
+ case ':': goto yy110;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy135:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy154;
+ case ':': goto yy110;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy136:
+ yyaccept = 14;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '!':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ';':
+ case '=':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy30;
+ case '#':
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy16;
+ case '/':
+ in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt14 = in->yyt19 = in->cur;
+ goto yy32;
+ case ':':
+ in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = NULL;
+ in->yyt14 = in->cur;
+ goto yy38;
+ case '?':
+ in->yyt4 = in->yyt5 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy19;
+ default:
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy13;
+ }
+yy137:
+ yyaccept = 14;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '!':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case ';':
+ case '=':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy30;
+ case '#':
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy16;
+ case '/':
+ in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt14 = in->yyt19 = in->cur;
+ goto yy32;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy139;
+ case ':':
+ in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = NULL;
+ in->yyt14 = in->cur;
+ goto yy38;
+ case '?':
+ in->yyt4 = in->yyt5 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy19;
+ default:
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy13;
+ }
+yy138:
+ yyaccept = 14;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '!':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case ';':
+ case '=':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy30;
+ case '#':
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy16;
+ case '/':
+ in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt14 = in->yyt19 = in->cur;
+ goto yy32;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy139;
+ case '5': goto yy155;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy136;
+ case ':':
+ in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = NULL;
+ in->yyt14 = in->cur;
+ goto yy38;
+ case '?':
+ in->yyt4 = in->yyt5 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy19;
+ default:
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy13;
+ }
+yy139:
+ yyaccept = 14;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '!':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case ';':
+ case '=':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy30;
+ case '#':
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy16;
+ case '/':
+ in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt14 = in->yyt19 = in->cur;
+ goto yy32;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy136;
+ case ':':
+ in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = NULL;
+ in->yyt14 = in->cur;
+ goto yy38;
+ case '?':
+ in->yyt4 = in->yyt5 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy19;
+ default:
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy13;
+ }
+yy140:
+ yyaccept = 13;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '0': goto yy156;
+ case '1': goto yy157;
+ case '2': goto yy158;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy159;
+ default: goto yy52;
+ }
+yy141:
+ yyaccept = 13;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '.': goto yy140;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy118;
+ default: goto yy52;
+ }
+yy142:
+ yych = *++in->cur;
+ switch (yych) {
+ case ':': goto yy102;
+ default: goto yy11;
+ }
+yy143:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy160;
+ case ':': goto yy144;
+ default: goto yy11;
+ }
+yy144:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy161;
+ case ':': goto yy162;
+ default: goto yy11;
+ }
+yy145:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy163;
+ case ':': goto yy164;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy146:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy165;
+ case ':': goto yy164;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy163;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy147:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy165;
+ case '5': goto yy166;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy167;
+ case ':': goto yy164;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy163;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy148:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy167;
+ case ':': goto yy164;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy163;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy149:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy163;
+ case ':': goto yy164;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy150:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy168;
+ case ':': goto yy126;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy151:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy168;
+ case ':': goto yy126;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy152:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0': goto yy169;
+ case '1': goto yy170;
+ case '2': goto yy171;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy172;
+ default: goto yy11;
+ }
+yy153:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy152;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy130;
+ default: goto yy11;
+ }
+yy154:
+ yych = *++in->cur;
+ switch (yych) {
+ case ':': goto yy110;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy155:
+ yyaccept = 14;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '!':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ';':
+ case '=':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy30;
+ case '#':
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy16;
+ case '/':
+ in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt14 = in->yyt19 = in->cur;
+ goto yy32;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy136;
+ case ':':
+ in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = NULL;
+ in->yyt14 = in->cur;
+ goto yy38;
+ case '?':
+ in->yyt4 = in->yyt5 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy19;
+ default:
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy13;
+ }
+yy156:
+ yyaccept = 15;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '!':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy52;
+ case '#':
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy16;
+ case '/':
+ in->yyt9 = in->yyt3;
+ in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt14 = in->yyt19 = in->cur;
+ goto yy32;
+ case ':':
+ in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = NULL;
+ in->yyt14 = in->cur;
+ goto yy58;
+ case '?':
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy19;
+ default:
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy13;
+ }
+yy157:
+ yyaccept = 15;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '!':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy52;
+ case '#':
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy16;
+ case '/':
+ in->yyt9 = in->yyt3;
+ in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt14 = in->yyt19 = in->cur;
+ goto yy32;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy159;
+ case ':':
+ in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = NULL;
+ in->yyt14 = in->cur;
+ goto yy58;
+ case '?':
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy19;
+ default:
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy13;
+ }
+yy158:
+ yyaccept = 15;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '!':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy52;
+ case '#':
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy16;
+ case '/':
+ in->yyt9 = in->yyt3;
+ in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt14 = in->yyt19 = in->cur;
+ goto yy32;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy159;
+ case '5': goto yy173;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy156;
+ case ':':
+ in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = NULL;
+ in->yyt14 = in->cur;
+ goto yy58;
+ case '?':
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy19;
+ default:
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy13;
+ }
+yy159:
+ yyaccept = 15;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '!':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy52;
+ case '#':
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy16;
+ case '/':
+ in->yyt9 = in->yyt3;
+ in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt14 = in->yyt19 = in->cur;
+ goto yy32;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy156;
+ case ':':
+ in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = NULL;
+ in->yyt14 = in->cur;
+ goto yy58;
+ case '?':
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy19;
+ default:
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy13;
+ }
+yy160:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy174;
+ case ':': goto yy144;
+ default: goto yy11;
+ }
+yy161:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy175;
+ case ':': goto yy176;
+ default: goto yy11;
+ }
+yy162:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0': goto yy177;
+ case '1': goto yy178;
+ case '2': goto yy179;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy180;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy181;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy163:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy182;
+ case ':': goto yy164;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy164:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0': goto yy177;
+ case '1': goto yy178;
+ case '2': goto yy179;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy180;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy181;
+ default: goto yy11;
+ }
+yy165:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy183;
+ case ':': goto yy164;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy182;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy166:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy183;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy182;
+ case ':': goto yy164;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy167:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy182;
+ case ':': goto yy164;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy168:
+ yych = *++in->cur;
+ switch (yych) {
+ case ':': goto yy126;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy169:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy184;
+ default: goto yy11;
+ }
+yy170:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy184;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy172;
+ default: goto yy11;
+ }
+yy171:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy184;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy172;
+ case '5': goto yy185;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy169;
+ default: goto yy11;
+ }
+yy172:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy184;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy169;
+ default: goto yy11;
+ }
+yy173:
+ yyaccept = 15;
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '!':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy52;
+ case '#':
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy16;
+ case '/':
+ in->yyt9 = in->yyt3;
+ in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt14 = in->yyt19 = in->cur;
+ goto yy32;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy156;
+ case ':':
+ in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = NULL;
+ in->yyt14 = in->cur;
+ goto yy58;
+ case '?':
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy19;
+ default:
+ in->yyt9 = in->yyt3;
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt11 = in->yyt12 = in->yyt15 = in->yyt16 = in->yyt17 = in->yyt18 = in->yyt20 = NULL;
+ in->yyt3 = in->yyt14 = in->yyt19 = in->cur;
+ goto yy13;
+ }
+yy174:
+ yych = *++in->cur;
+ switch (yych) {
+ case ':': goto yy144;
+ default: goto yy11;
+ }
+yy175:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy186;
+ case ':': goto yy176;
+ default: goto yy11;
+ }
+yy176:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy187;
+ case ':': goto yy188;
+ default: goto yy11;
+ }
+yy177:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy189;
+ case ':': goto yy190;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy178:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy191;
+ case ':': goto yy190;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy189;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy179:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy191;
+ case '5': goto yy192;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy193;
+ case ':': goto yy190;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy189;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy180:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy193;
+ case ':': goto yy190;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy189;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy181:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy189;
+ case ':': goto yy190;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy182:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy194;
+ case ':': goto yy164;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy183:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy194;
+ case ':': goto yy164;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy184:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0': goto yy195;
+ case '1': goto yy196;
+ case '2': goto yy197;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy198;
+ default: goto yy11;
+ }
+yy185:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy184;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy169;
+ default: goto yy11;
+ }
+yy186:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy199;
+ case ':': goto yy176;
+ default: goto yy11;
+ }
+yy187:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy200;
+ case ':': goto yy201;
+ default: goto yy11;
+ }
+yy188:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0': goto yy202;
+ case '1': goto yy203;
+ case '2': goto yy204;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy205;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy206;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy189:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy207;
+ case ':': goto yy190;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy190:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0': goto yy202;
+ case '1': goto yy203;
+ case '2': goto yy204;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy205;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy206;
+ default: goto yy11;
+ }
+yy191:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy208;
+ case ':': goto yy190;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy207;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy192:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy208;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy207;
+ case ':': goto yy190;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy193:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy207;
+ case ':': goto yy190;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy194:
+ yych = *++in->cur;
+ switch (yych) {
+ case ':': goto yy164;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy195:
+ yych = *++in->cur;
+ switch (yych) {
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy196:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy198;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy197:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy198;
+ case '5': goto yy209;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy195;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy198:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy195;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy199:
+ yych = *++in->cur;
+ switch (yych) {
+ case ':': goto yy176;
+ default: goto yy11;
+ }
+yy200:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy210;
+ case ':': goto yy201;
+ default: goto yy11;
+ }
+yy201:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy211;
+ case ':': goto yy212;
+ default: goto yy11;
+ }
+yy202:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy213;
+ case ':': goto yy214;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy203:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy215;
+ case ':': goto yy214;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy213;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy204:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy215;
+ case '5': goto yy216;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy217;
+ case ':': goto yy214;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy213;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy205:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy217;
+ case ':': goto yy214;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy213;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy206:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy213;
+ case ':': goto yy214;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy207:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy218;
+ case ':': goto yy190;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy208:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy218;
+ case ':': goto yy190;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy209:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy195;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy210:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy219;
+ case ':': goto yy201;
+ default: goto yy11;
+ }
+yy211:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy220;
+ case ':': goto yy221;
+ default: goto yy11;
+ }
+yy212:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0': goto yy222;
+ case '1': goto yy223;
+ case '2': goto yy224;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy225;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy226;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy213:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy227;
+ case ':': goto yy214;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy214:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0': goto yy222;
+ case '1': goto yy223;
+ case '2': goto yy224;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy225;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy226;
+ default: goto yy11;
+ }
+yy215:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy228;
+ case ':': goto yy214;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy227;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy216:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy228;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy227;
+ case ':': goto yy214;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy217:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy227;
+ case ':': goto yy214;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy218:
+ yych = *++in->cur;
+ switch (yych) {
+ case ':': goto yy190;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy219:
+ yych = *++in->cur;
+ switch (yych) {
+ case ':': goto yy201;
+ default: goto yy11;
+ }
+yy220:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy229;
+ case ':': goto yy221;
+ default: goto yy11;
+ }
+yy221:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0': goto yy230;
+ case '1': goto yy231;
+ case '2': goto yy232;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy233;
+ case ':': goto yy234;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy235;
+ default: goto yy11;
+ }
+yy222:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy236;
+ case ':': goto yy237;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy223:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy238;
+ case ':': goto yy237;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy236;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy224:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy238;
+ case '5': goto yy239;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy240;
+ case ':': goto yy237;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy236;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy225:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy240;
+ case ':': goto yy237;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy236;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy226:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy236;
+ case ':': goto yy237;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy227:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy241;
+ case ':': goto yy214;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy228:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy241;
+ case ':': goto yy214;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy229:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy242;
+ case ':': goto yy221;
+ default: goto yy11;
+ }
+yy230:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy243;
+ case ':': goto yy244;
+ default: goto yy11;
+ }
+yy231:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy245;
+ case ':': goto yy244;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy243;
+ default: goto yy11;
+ }
+yy232:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4': goto yy245;
+ case '5': goto yy246;
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy247;
+ case ':': goto yy244;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy243;
+ default: goto yy11;
+ }
+yy233:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy247;
+ case ':': goto yy244;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy243;
+ default: goto yy11;
+ }
+yy234:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy248;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy235:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy243;
+ case ':': goto yy244;
+ default: goto yy11;
+ }
+yy236:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy249;
+ case ':': goto yy237;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy237:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy248;
+ default: goto yy11;
+ }
+yy238:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy250;
+ case ':': goto yy237;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy249;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy239:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy250;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy249;
+ case ':': goto yy237;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy240:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy249;
+ case ':': goto yy237;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy241:
+ yych = *++in->cur;
+ switch (yych) {
+ case ':': goto yy214;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy242:
+ yych = *++in->cur;
+ switch (yych) {
+ case ':': goto yy221;
+ default: goto yy11;
+ }
+yy243:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy251;
+ case ':': goto yy244;
+ default: goto yy11;
+ }
+yy244:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy248;
+ case ':': goto yy195;
+ default: goto yy11;
+ }
+yy245:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy252;
+ case ':': goto yy244;
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy251;
+ default: goto yy11;
+ }
+yy246:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5': goto yy252;
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy251;
+ case ':': goto yy244;
+ default: goto yy11;
+ }
+yy247:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy251;
+ case ':': goto yy244;
+ default: goto yy11;
+ }
+yy248:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy253;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy249:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy254;
+ case ':': goto yy237;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy250:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy254;
+ case ':': goto yy237;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy251:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy255;
+ case ':': goto yy244;
+ default: goto yy11;
+ }
+yy252:
+ yych = *++in->cur;
+ switch (yych) {
+ case '.': goto yy108;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy255;
+ case ':': goto yy244;
+ default: goto yy11;
+ }
+yy253:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy256;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy254:
+ yych = *++in->cur;
+ switch (yych) {
+ case ':': goto yy237;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+yy255:
+ yych = *++in->cur;
+ switch (yych) {
+ case ':': goto yy244;
+ default: goto yy11;
+ }
+yy256:
+ yych = *++in->cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f': goto yy195;
+ case ']': goto yy92;
+ default: goto yy11;
+ }
+}
+
+}
+
+int main(int argc, char **argv)
+{
+ long count, total;
+ input_t in;
+ init_input(&in, argv[1]);
+
+ switch (lex(&in, &count, &total)) {
+ case 0: fprintf(stderr, "ok, parsed %ld URIs, peeked %ld chars\n", count, total); break;
+ case 1: fprintf(stderr, "syntax error\n"); break;
+ case 2: fprintf(stderr, "yyfill failed\n"); break;
+ default: fprintf(stderr, "panic!\n"); break;
+ }
+
+ free_input(&in);
+ return 0;
+}
+re2c: warning: line 138: tag 'u1' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 138: tag 'u2' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 138: tag 'h1' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 138: tag 'h2' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 138: tag 'h3' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 138: tag 'h4' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 138: tag 'h5' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 138: tag 'h6' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 138: tag 'r1' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 138: tag 'p3' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
diff --git a/test/tags/bench_uri_rfc3986.i.re b/test/tags/bench_uri_rfc3986.i.re
new file mode 100644
index 00000000..0a9c80ff
--- /dev/null
+++ b/test/tags/bench_uri_rfc3986.i.re
@@ -0,0 +1,178 @@
+#include <stddef.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
+/*!max:re2c*/
+static const size_t SIZE = 4096;
+
+typedef struct {
+ FILE *file;
+ char *buf;
+ char *lim;
+ char *cur;
+ char *mar;
+ char *tok;
+ /*!stags:re2c format = "char *@@;\n"; */
+ int eof;
+} input_t;
+
+static void init_input(input_t *in, const char *fname)
+{
+ in->file = fopen(fname, "r");
+ in->buf = (char*) malloc(SIZE + YYMAXFILL);
+ in->lim = in->buf + SIZE;
+ in->cur = in->lim;
+ in->mar = in->lim;
+ in->tok = in->lim;
+ /*!stags:re2c format = "in->@@ = 0;\n"; */
+ in->eof = 0;
+}
+
+static void free_input(input_t *in)
+{
+ free(in->buf);
+ fclose(in->file);
+}
+
+static int fill(input_t *in, size_t need)
+{
+ size_t free;
+
+ if (in->eof) return 1;
+
+ free = in->tok - in->buf;
+ if (free < need) return 2;
+
+ memmove(in->buf, in->tok, in->lim - in->tok);
+ in->lim -= free;
+ in->cur -= free;
+ in->mar -= free;
+ in->tok -= free;
+ /*!stags:re2c format = "if (in->@@) in->@@ -= free;\n"; */
+ in->lim += fread(in->lim, 1, free, in->file);
+ if (in->lim < in->buf + SIZE) {
+ in->eof = 1;
+ memset(in->lim, 0, YYMAXFILL);
+ in->lim += YYMAXFILL;
+ }
+ return 0;
+}
+
+static int lex(input_t *in, long *count, long *total)
+{
+ const char
+ *s1, *u1, *h1, *h3, *h5, *r1, *p1, *p3, *q1, *f1,
+ *s2, *u2, *h2, *h4, *h6, *r2, *p2, *p4, *q2, *f2;
+ long c, t;
+
+ c = 0; t = 0;
+loop:
+ in->tok = in->cur;
+/*!re2c
+
+ re2c:define:YYCTYPE = char;
+ re2c:define:YYCURSOR = in->cur;
+ re2c:define:YYMARKER = in->mar;
+ re2c:define:YYLIMIT = in->lim;
+ re2c:define:YYFILL = "if (fill(in, @@) != 0) return 2;";
+ re2c:define:YYFILL:naked = 1;
+ re2c:flags:tags = 1;
+ re2c:tags:expression = "in->@@";
+
+ end = "\x00";
+ eol = "\n";
+
+ alpha = [a-zA-Z];
+ digit = [0-9];
+ hexdigit = [0-9a-fA-F];
+ unreserved = alpha | digit | [-._~];
+ pct_encoded = "%" hexdigit{2};
+ sub_delims = [!$&'()*+,;=];
+ pchar = unreserved | pct_encoded | sub_delims | [:@];
+
+ scheme = @s1 alpha (alpha | digit | [-+.])* @s2;
+ userinfo = @u1 (unreserved | pct_encoded | sub_delims | ":")* @u2;
+ dec_octet
+ = digit
+ | [\x31-\x39] digit
+ | "1" digit{2}
+ | "2" [\x30-\x34] digit
+ | "25" [\x30-\x35];
+ ipv4address = dec_octet "." dec_octet "." dec_octet "." dec_octet;
+ h16 = hexdigit{1,4};
+ ls32 = h16 ":" h16 | ipv4address;
+ ipv6address
+ = (h16 ":"){6} ls32
+ | "::" (h16 ":"){5} ls32
+ | ( h16)? "::" (h16 ":"){4} ls32
+ | ((h16 ":"){0,1} h16)? "::" (h16 ":"){3} ls32
+ | ((h16 ":"){0,2} h16)? "::" (h16 ":"){2} ls32
+ | ((h16 ":"){0,3} h16)? "::" h16 ":" ls32
+ | ((h16 ":"){0,4} h16)? "::" ls32
+ | ((h16 ":"){0,5} h16)? "::" h16
+ | ((h16 ":"){0,6} h16)? "::";
+ ipvfuture = "v" hexdigit+ "." (unreserved | sub_delims | ":" )+;
+ ip_literal = "[" ( ipv6address | ipvfuture ) "]";
+ reg_name = (unreserved | pct_encoded | sub_delims)*;
+ host
+ = @h1 ip_literal @h2
+ | @h3 ipv4address @h4
+ | @h5 reg_name @h6;
+ port = @r1 digit* @r2;
+ authority = (userinfo "@")? host (":" port)?;
+ path_abempty = ("/" pchar*)*;
+ path_absolute = "/" (pchar+ ("/" pchar*)*)?;
+ path_rootless = pchar+ ("/" pchar*)*;
+ path_empty = "";
+ hier_part
+ = "//" authority @p1 path_abempty @p2
+ | @p3 (path_absolute | path_rootless | path_empty) @p4;
+ query = @q1 (pchar | [/?])* @q2;
+ fragment = @f1 (pchar | [/?])* @f2;
+ uri = scheme ":" hier_part ("?" query)? ("#" fragment)?;
+
+ * { return 1; }
+ end { *count = c; *total = t; return 0; }
+ eol { goto loop; }
+ uri {
+#ifndef VERIFY
+ c += 1;
+ t += (s2 - s1) + (u2 - u1) + (h2 - h1) + (h4 - h3)
+ + (h6 - h5) + (r2 - r1) + (p2 - p1) + (p4 - p3)
+ + (q2 - q1) + (f2 - f1);
+#else
+ printf("%.*s:", (int)(s2 - s1), s1);
+ if (p1) printf("//");
+ if (u1) printf("%.*s@", (int)(u2 - u1), u1);
+ if (h1) printf("%.*s", (int)(h2 - h1), h1);
+ if (h3) printf("%.*s", (int)(h4 - h3), h3);
+ if (h5) printf("%.*s", (int)(h6 - h5), h5);
+ if (r1) printf(":%.*s", (int)(r2 - r1), r1);
+ if (p1) printf("%.*s", (int)(p2 - p1), p1);
+ if (p3) printf("%.*s", (int)(p4 - p3), p3);
+ if (q1) printf("?%.*s", (int)(q2 - q1), q1);
+ if (f1) printf("#%.*s", (int)(f2 - f1), f1);
+ printf("\n");
+#endif
+ goto loop;
+ }
+*/
+}
+
+int main(int argc, char **argv)
+{
+ long count, total;
+ input_t in;
+ init_input(&in, argv[1]);
+
+ switch (lex(&in, &count, &total)) {
+ case 0: fprintf(stderr, "ok, parsed %ld URIs, peeked %ld chars\n", count, total); break;
+ case 1: fprintf(stderr, "syntax error\n"); break;
+ case 2: fprintf(stderr, "yyfill failed\n"); break;
+ default: fprintf(stderr, "panic!\n"); break;
+ }
+
+ free_input(&in);
+ return 0;
+}
diff --git a/test/tags/bench_uri_simple.i.c b/test/tags/bench_uri_simple.i.c
new file mode 100644
index 00000000..5f4efcc2
--- /dev/null
+++ b/test/tags/bench_uri_simple.i.c
@@ -0,0 +1,1382 @@
+/* Generated by re2c */
+#include <stddef.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
+#define YYMAXFILL 7
+
+static const size_t SIZE = 4096;
+
+typedef struct {
+ FILE *file;
+ char *buf;
+ char *lim;
+ char *cur;
+ char *mar;
+ char *tok;
+ char *yyt1;
+char *yyt10;
+char *yyt11;
+char *yyt12;
+char *yyt13;
+char *yyt2;
+char *yyt3;
+char *yyt4;
+char *yyt5;
+char *yyt6;
+char *yyt7;
+char *yyt8;
+char *yyt9;
+
+ int eof;
+} input_t;
+
+static void init_input(input_t *in, const char *fname)
+{
+ in->file = fopen(fname, "r");
+ in->buf = (char*) malloc(SIZE + YYMAXFILL);
+ in->lim = in->buf + SIZE;
+ in->cur = in->lim;
+ in->mar = in->lim;
+ in->tok = in->lim;
+ in->yyt1 = 0;
+in->yyt10 = 0;
+in->yyt11 = 0;
+in->yyt12 = 0;
+in->yyt13 = 0;
+in->yyt2 = 0;
+in->yyt3 = 0;
+in->yyt4 = 0;
+in->yyt5 = 0;
+in->yyt6 = 0;
+in->yyt7 = 0;
+in->yyt8 = 0;
+in->yyt9 = 0;
+
+ in->eof = 0;
+}
+
+static void free_input(input_t *in)
+{
+ free(in->buf);
+ fclose(in->file);
+}
+
+static int fill(input_t *in, size_t need)
+{
+ size_t free;
+
+ if (in->eof) return 1;
+
+ free = in->tok - in->buf;
+ if (free < need) return 2;
+
+ memmove(in->buf, in->tok, in->lim - in->tok);
+ in->lim -= free;
+ in->cur -= free;
+ in->mar -= free;
+ in->tok -= free;
+ if (in->yyt1) in->yyt1 -= free;
+if (in->yyt10) in->yyt10 -= free;
+if (in->yyt11) in->yyt11 -= free;
+if (in->yyt12) in->yyt12 -= free;
+if (in->yyt13) in->yyt13 -= free;
+if (in->yyt2) in->yyt2 -= free;
+if (in->yyt3) in->yyt3 -= free;
+if (in->yyt4) in->yyt4 -= free;
+if (in->yyt5) in->yyt5 -= free;
+if (in->yyt6) in->yyt6 -= free;
+if (in->yyt7) in->yyt7 -= free;
+if (in->yyt8) in->yyt8 -= free;
+if (in->yyt9) in->yyt9 -= free;
+
+ in->lim += fread(in->lim, 1, free, in->file);
+ if (in->lim < in->buf + SIZE) {
+ in->eof = 1;
+ memset(in->lim, 0, YYMAXFILL);
+ in->lim += YYMAXFILL;
+ }
+ return 0;
+}
+
+static int lex(input_t *in, long *count, long *total)
+{
+ const char
+ *s1, *u1, *h1, *r1, *p1, *q1, *f1,
+ *s2, *u2, *h2, *r2, *p2, *q2, *f2;
+ long c, t;
+
+ c = 0; t = 0;
+loop:
+ in->tok = in->cur;
+
+{
+ char yych;
+ if ((in->lim - in->cur) < 7) if (fill(in, 7) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case 0x00: goto yy2;
+ case '\n': goto yy6;
+ case '+':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ in->yyt1 = in->cur;
+ goto yy8;
+ default: goto yy4;
+ }
+yy2:
+ ++in->cur;
+ { *count = c; *total = t; return 0; }
+yy4:
+ ++in->cur;
+yy5:
+ { return 1; }
+yy6:
+ ++in->cur;
+ { goto loop; }
+yy8:
+ yych = *(in->mar = ++in->cur);
+ switch (yych) {
+ case '+':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy10;
+ default: goto yy5;
+ }
+yy9:
+ ++in->cur;
+ if ((in->lim - in->cur) < 6) if (fill(in, 6) != 0) return 2;
+ yych = *in->cur;
+yy10:
+ switch (yych) {
+ case '+':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z': goto yy9;
+ case ':':
+ in->yyt2 = in->cur;
+ goto yy12;
+ default: goto yy11;
+ }
+yy11:
+ in->cur = in->mar;
+ goto yy5;
+yy12:
+ yych = *++in->cur;
+ switch (yych) {
+ case '!':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~':
+ in->yyt7 = in->yyt8 = in->yyt9 = in->yyt10 = in->yyt11 = NULL;
+ in->yyt12 = in->cur;
+ goto yy14;
+ case '#':
+ in->yyt4 = in->yyt7 = in->yyt8 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt13 = NULL;
+ in->yyt3 = in->yyt12 = in->cur;
+ goto yy16;
+ case '/':
+ in->yyt7 = in->yyt8 = in->yyt9 = in->yyt10 = in->yyt11 = NULL;
+ in->yyt12 = in->cur;
+ goto yy17;
+ case '?':
+ in->yyt7 = in->yyt8 = in->yyt9 = in->yyt10 = in->yyt11 = NULL;
+ in->yyt3 = in->yyt12 = in->cur;
+ goto yy18;
+ default:
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt7 = in->yyt8 = in->yyt9 = in->yyt10 = in->yyt11 = in->yyt13 = NULL;
+ in->yyt3 = in->yyt12 = in->cur;
+ goto yy13;
+ }
+yy13:
+ s1 = in->yyt1;
+ s2 = in->yyt2;
+ u1 = in->yyt7;
+ u2 = in->yyt8;
+ h1 = in->yyt9;
+ h2 = in->yyt10;
+ r1 = in->yyt11;
+ r2 = in->yyt11;
+ p1 = in->yyt12;
+ p2 = in->yyt3;
+ q1 = in->yyt13;
+ q2 = in->yyt4;
+ f1 = in->yyt5;
+ f2 = in->yyt6;
+ {
+#ifndef VERIFY
+ c += 1;
+ t += (s2 - s1) + (u2 - u1) + (h2 - h1)
+ + (r2 - r1) + (p2 - p1) + (q2 - q1) + (f2 - f1);
+#else
+ printf("%.*s:", (int)(s2 - s1), s1);
+ if (h1) printf("//");
+ if (u1) printf("%.*s@", (int)(u2 - u1), u1);
+ if (h1) printf("%.*s", (int)(h2 - h1), h1);
+ if (r1) printf(":%.*s", (int)(r2 - r1), r1);
+ printf("%.*s", (int)(p2 - p1), p1);
+ if (q1) printf("?%.*s", (int)(q2 - q1), q1);
+ if (f1) printf("#%.*s", (int)(f2 - f1), f1);
+ printf("\n");
+#endif
+ goto loop;
+ }
+yy14:
+ ++in->cur;
+ if ((in->lim - in->cur) < 3) if (fill(in, 3) != 0) return 2;
+ yych = *in->cur;
+yy15:
+ switch (yych) {
+ case '!':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '/':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy14;
+ case '#':
+ in->yyt4 = in->yyt13 = NULL;
+ in->yyt3 = in->cur;
+ goto yy16;
+ case '?':
+ in->yyt3 = in->cur;
+ goto yy18;
+ default:
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt13 = NULL;
+ in->yyt3 = in->cur;
+ goto yy13;
+ }
+yy16:
+ yych = *++in->cur;
+ switch (yych) {
+ case '!':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '/':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case '?':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~':
+ in->yyt5 = in->cur;
+ goto yy19;
+ default:
+ in->yyt5 = in->yyt6 = in->cur;
+ goto yy13;
+ }
+yy17:
+ yych = *++in->cur;
+ switch (yych) {
+ case '/': goto yy21;
+ default: goto yy15;
+ }
+yy18:
+ yych = *++in->cur;
+ switch (yych) {
+ case '!':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '/':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case '?':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~':
+ in->yyt13 = in->cur;
+ goto yy22;
+ case '#':
+ in->yyt4 = in->yyt13 = in->cur;
+ goto yy16;
+ default:
+ in->yyt5 = in->yyt6 = NULL;
+ in->yyt4 = in->yyt13 = in->cur;
+ goto yy13;
+ }
+yy19:
+ ++in->cur;
+ if (in->lim <= in->cur) if (fill(in, 1) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case '!':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '/':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case '?':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy19;
+ default:
+ in->yyt6 = in->cur;
+ goto yy13;
+ }
+yy21:
+ yych = *++in->cur;
+ switch (yych) {
+ case '!':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~':
+ in->yyt7 = in->yyt8 = NULL;
+ in->yyt3 = in->yyt9 = in->cur;
+ goto yy24;
+ case '[':
+ case ']':
+ in->yyt7 = in->yyt8 = NULL;
+ in->yyt9 = in->cur;
+ goto yy26;
+ default: goto yy15;
+ }
+yy22:
+ ++in->cur;
+ if ((in->lim - in->cur) < 2) if (fill(in, 2) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case '!':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '/':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case '?':
+ case '@':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy22;
+ case '#':
+ in->yyt4 = in->cur;
+ goto yy16;
+ default:
+ in->yyt5 = in->yyt6 = NULL;
+ in->yyt4 = in->cur;
+ goto yy13;
+ }
+yy24:
+ ++in->cur;
+ if ((in->lim - in->cur) < 4) if (fill(in, 4) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case '!':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy24;
+ case '#':
+ in->yyt4 = in->yyt11 = in->yyt13 = NULL;
+ in->yyt3 = in->yyt10 = in->yyt12 = in->cur;
+ goto yy16;
+ case '/':
+ in->yyt11 = NULL;
+ in->yyt10 = in->yyt12 = in->cur;
+ goto yy14;
+ case '?':
+ in->yyt11 = NULL;
+ in->yyt3 = in->yyt10 = in->yyt12 = in->cur;
+ goto yy18;
+ case '@':
+ in->yyt11 = NULL;
+ in->yyt4 = in->yyt10 = in->yyt12 = in->cur;
+ goto yy28;
+ case '[':
+ case ']': goto yy26;
+ default:
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt13 = NULL;
+ in->yyt3 = in->yyt10 = in->yyt12 = in->cur;
+ goto yy13;
+ }
+yy26:
+ ++in->cur;
+ if ((in->lim - in->cur) < 3) if (fill(in, 3) != 0) return 2;
+ yych = *in->cur;
+ switch (yych) {
+ case '!':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '[':
+ case ']':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~': goto yy26;
+ case '#':
+ in->yyt4 = in->yyt11 = in->yyt13 = NULL;
+ in->yyt3 = in->yyt10 = in->yyt12 = in->cur;
+ goto yy16;
+ case '/':
+ case '@':
+ in->yyt11 = NULL;
+ in->yyt10 = in->yyt12 = in->cur;
+ goto yy14;
+ case '?':
+ in->yyt11 = NULL;
+ in->yyt3 = in->yyt10 = in->yyt12 = in->cur;
+ goto yy18;
+ default:
+ in->yyt4 = in->yyt5 = in->yyt6 = in->yyt11 = in->yyt13 = NULL;
+ in->yyt3 = in->yyt10 = in->yyt12 = in->cur;
+ goto yy13;
+ }
+yy28:
+ yych = *++in->cur;
+ switch (yych) {
+ case '!':
+ case '$':
+ case '%':
+ case '&':
+ case '\'':
+ case '(':
+ case ')':
+ case '*':
+ case '+':
+ case ',':
+ case '-':
+ case '.':
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ case ':':
+ case ';':
+ case '=':
+ case 'A':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'E':
+ case 'F':
+ case 'G':
+ case 'H':
+ case 'I':
+ case 'J':
+ case 'K':
+ case 'L':
+ case 'M':
+ case 'N':
+ case 'O':
+ case 'P':
+ case 'Q':
+ case 'R':
+ case 'S':
+ case 'T':
+ case 'U':
+ case 'V':
+ case 'W':
+ case 'X':
+ case 'Y':
+ case 'Z':
+ case '[':
+ case ']':
+ case '_':
+ case 'a':
+ case 'b':
+ case 'c':
+ case 'd':
+ case 'e':
+ case 'f':
+ case 'g':
+ case 'h':
+ case 'i':
+ case 'j':
+ case 'k':
+ case 'l':
+ case 'm':
+ case 'n':
+ case 'o':
+ case 'p':
+ case 'q':
+ case 'r':
+ case 's':
+ case 't':
+ case 'u':
+ case 'v':
+ case 'w':
+ case 'x':
+ case 'y':
+ case 'z':
+ case '~':
+ in->yyt7 = in->yyt3;
+ in->yyt8 = in->yyt4;
+ in->yyt9 = in->cur;
+ goto yy26;
+ default: goto yy15;
+ }
+}
+
+}
+
+int main(int argc, char **argv)
+{
+ long count, total;
+ input_t in;
+ init_input(&in, argv[1]);
+
+ switch (lex(&in, &count, &total)) {
+ case 0: fprintf(stderr, "ok, parsed %ld URIs, peeked %ld chars\n", count, total); break;
+ case 1: fprintf(stderr, "syntax error\n"); break;
+ case 2: fprintf(stderr, "yyfill failed\n"); break;
+ default: fprintf(stderr, "panic!\n"); break;
+ }
+
+ free_input(&in);
+ return 0;
+}
+re2c: warning: line 98: tag 'u1' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 98: tag 'u2' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 98: tag 'h1' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 98: tag 'h2' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 98: tag 'r1' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 98: tag 'r2' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 98: tag 'p1' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
diff --git a/test/tags/bench_uri_simple.i.re b/test/tags/bench_uri_simple.i.re
new file mode 100644
index 00000000..24be9148
--- /dev/null
+++ b/test/tags/bench_uri_simple.i.re
@@ -0,0 +1,134 @@
+#include <stddef.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
+/*!max:re2c*/
+static const size_t SIZE = 4096;
+
+typedef struct {
+ FILE *file;
+ char *buf;
+ char *lim;
+ char *cur;
+ char *mar;
+ char *tok;
+ /*!stags:re2c format = "char *@@;\n"; */
+ int eof;
+} input_t;
+
+static void init_input(input_t *in, const char *fname)
+{
+ in->file = fopen(fname, "r");
+ in->buf = (char*) malloc(SIZE + YYMAXFILL);
+ in->lim = in->buf + SIZE;
+ in->cur = in->lim;
+ in->mar = in->lim;
+ in->tok = in->lim;
+ /*!stags:re2c format = "in->@@ = 0;\n"; */
+ in->eof = 0;
+}
+
+static void free_input(input_t *in)
+{
+ free(in->buf);
+ fclose(in->file);
+}
+
+static int fill(input_t *in, size_t need)
+{
+ size_t free;
+
+ if (in->eof) return 1;
+
+ free = in->tok - in->buf;
+ if (free < need) return 2;
+
+ memmove(in->buf, in->tok, in->lim - in->tok);
+ in->lim -= free;
+ in->cur -= free;
+ in->mar -= free;
+ in->tok -= free;
+ /*!stags:re2c format = "if (in->@@) in->@@ -= free;\n"; */
+ in->lim += fread(in->lim, 1, free, in->file);
+ if (in->lim < in->buf + SIZE) {
+ in->eof = 1;
+ memset(in->lim, 0, YYMAXFILL);
+ in->lim += YYMAXFILL;
+ }
+ return 0;
+}
+
+static int lex(input_t *in, long *count, long *total)
+{
+ const char
+ *s1, *u1, *h1, *r1, *p1, *q1, *f1,
+ *s2, *u2, *h2, *r2, *p2, *q2, *f2;
+ long c, t;
+
+ c = 0; t = 0;
+loop:
+ in->tok = in->cur;
+/*!re2c
+
+ re2c:define:YYCTYPE = char;
+ re2c:define:YYCURSOR = in->cur;
+ re2c:define:YYMARKER = in->mar;
+ re2c:define:YYLIMIT = in->lim;
+ re2c:define:YYFILL = "if (fill(in, @@) != 0) return 2;";
+ re2c:define:YYFILL:naked = 1;
+ re2c:flags:tags = 1;
+ re2c:tags:expression = "in->@@";
+
+ end = "\x00";
+ eol = "\n";
+ char = [-._~%!$&'()*+,;=a-zA-Z0-9];
+ scheme = @s1 [-+.a-zA-Z0-9]+ @s2;
+ userinfo = @u1 (char | [:])+ @u2;
+ host = @h1 (char | [:[\]])+ @h2;
+ port = @r1 [0-9]* @r2;
+ path = @p1 (char | [:@/])* @p2;
+ query = @q1 (char | [:@?/])* @q2;
+ fragment = @f1 (char | [:@?/])* @f2;
+ uri = scheme ":" ("//" (userinfo "@")? host (":" port)?)? path ("?" query)? ("#" fragment)?;
+
+ * { return 1; }
+ end { *count = c; *total = t; return 0; }
+ eol { goto loop; }
+ uri {
+#ifndef VERIFY
+ c += 1;
+ t += (s2 - s1) + (u2 - u1) + (h2 - h1)
+ + (r2 - r1) + (p2 - p1) + (q2 - q1) + (f2 - f1);
+#else
+ printf("%.*s:", (int)(s2 - s1), s1);
+ if (h1) printf("//");
+ if (u1) printf("%.*s@", (int)(u2 - u1), u1);
+ if (h1) printf("%.*s", (int)(h2 - h1), h1);
+ if (r1) printf(":%.*s", (int)(r2 - r1), r1);
+ printf("%.*s", (int)(p2 - p1), p1);
+ if (q1) printf("?%.*s", (int)(q2 - q1), q1);
+ if (f1) printf("#%.*s", (int)(f2 - f1), f1);
+ printf("\n");
+#endif
+ goto loop;
+ }
+*/
+}
+
+int main(int argc, char **argv)
+{
+ long count, total;
+ input_t in;
+ init_input(&in, argv[1]);
+
+ switch (lex(&in, &count, &total)) {
+ case 0: fprintf(stderr, "ok, parsed %ld URIs, peeked %ld chars\n", count, total); break;
+ case 1: fprintf(stderr, "syntax error\n"); break;
+ case 2: fprintf(stderr, "yyfill failed\n"); break;
+ default: fprintf(stderr, "panic!\n"); break;
+ }
+
+ free_input(&in);
+ return 0;
+}
diff --git a/test/tags/bug121_fix_multiple.i--input(custom).c b/test/tags/bug121_fix_multiple.i--input(custom).c
new file mode 100644
index 00000000..d5edc36d
--- /dev/null
+++ b/test/tags/bug121_fix_multiple.i--input(custom).c
@@ -0,0 +1 @@
+re2c: error: line 10: overlapping trailing contexts need multiple context markers, use '-t, --tags' option and '/*!stags:re2c ... */' directive
diff --git a/test/tags/bug121_fix_multiple.i--input(custom).re b/test/tags/bug121_fix_multiple.i--input(custom).re
new file mode 100644
index 00000000..cc0a50be
--- /dev/null
+++ b/test/tags/bug121_fix_multiple.i--input(custom).re
@@ -0,0 +1,10 @@
+// overlapping trailing contexts of fixed length:
+// because of generic API we cannot take advantage of
+// fixed length and have to use multiple tags
+// (deduplication doesn't help)
+
+/*!re2c
+ "aba" / "ba" { 0 }
+ "a" / "ba" { 1 }
+ * { d }
+*/
diff --git a/test/tags/bug121_fix_multiple.i--tags--input(custom).c b/test/tags/bug121_fix_multiple.i--tags--input(custom).c
new file mode 100644
index 00000000..fafac041
--- /dev/null
+++ b/test/tags/bug121_fix_multiple.i--tags--input(custom).c
@@ -0,0 +1,72 @@
+/* Generated by re2c */
+// overlapping trailing contexts of fixed length:
+// because of generic API we cannot take advantage of
+// fixed length and have to use multiple tags
+// (deduplication doesn't help)
+
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if (YYLESSTHAN (5)) YYFILL(5);
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'a': goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ YYSKIP ();
+yy3:
+ { d }
+yy4:
+ yyaccept = 0;
+ YYSKIP ();
+ YYBACKUP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'b':
+ YYSTAGP (yyt2);
+ goto yy5;
+ default: goto yy3;
+ }
+yy5:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'a': goto yy7;
+ default: goto yy6;
+ }
+yy6:
+ YYRESTORE ();
+ if (yyaccept == 0) {
+ goto yy3;
+ } else {
+ goto yy8;
+ }
+yy7:
+ yyaccept = 1;
+ YYSKIP ();
+ YYBACKUP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'b':
+ YYSTAGP (yyt1);
+ goto yy9;
+ default: goto yy8;
+ }
+yy8:
+ YYRESTORETAG (yyt2);
+ { 1 }
+yy9:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'a': goto yy10;
+ default: goto yy6;
+ }
+yy10:
+ YYSKIP ();
+ YYRESTORETAG (yyt1);
+ { 0 }
+}
+
diff --git a/test/tags/bug121_fix_multiple.i--tags--input(custom).re b/test/tags/bug121_fix_multiple.i--tags--input(custom).re
new file mode 100644
index 00000000..cc0a50be
--- /dev/null
+++ b/test/tags/bug121_fix_multiple.i--tags--input(custom).re
@@ -0,0 +1,10 @@
+// overlapping trailing contexts of fixed length:
+// because of generic API we cannot take advantage of
+// fixed length and have to use multiple tags
+// (deduplication doesn't help)
+
+/*!re2c
+ "aba" / "ba" { 0 }
+ "a" / "ba" { 1 }
+ * { d }
+*/
diff --git a/test/tags/bug121_fix_none.i.c b/test/tags/bug121_fix_none.i.c
new file mode 100644
index 00000000..13f3d33e
--- /dev/null
+++ b/test/tags/bug121_fix_none.i.c
@@ -0,0 +1,47 @@
+/* Generated by re2c */
+// overlapping trailing contexts of fixed length:
+// we don't need any tags at all
+
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ ++YYCURSOR;
+yy3:
+ { d }
+yy4:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default: goto yy3;
+ }
+yy5:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'b': goto yy7;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR -= 1;
+ { 1 }
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy9;
+ default: goto yy8;
+ }
+yy8:
+ YYCURSOR = YYMARKER;
+ goto yy6;
+yy9:
+ ++YYCURSOR;
+ YYCURSOR -= 1;
+ { 0 }
+}
+
diff --git a/test/tags/bug121_fix_none.i.re b/test/tags/bug121_fix_none.i.re
new file mode 100644
index 00000000..1d455e43
--- /dev/null
+++ b/test/tags/bug121_fix_none.i.re
@@ -0,0 +1,8 @@
+// overlapping trailing contexts of fixed length:
+// we don't need any tags at all
+
+/*!re2c
+ "abb" / "c" { 0 }
+ "a" / "b" { 1 }
+ * { d }
+*/
diff --git a/test/tags/bug121_fix_single.i--input(custom).c b/test/tags/bug121_fix_single.i--input(custom).c
new file mode 100644
index 00000000..fd31bb1e
--- /dev/null
+++ b/test/tags/bug121_fix_single.i--input(custom).c
@@ -0,0 +1,58 @@
+/* Generated by re2c */
+// overlapping trailing contexts of fixed length:
+// because of generic API we cannot take advantage of
+// fixed length and have to use multiple tags, which
+// further are deduplicated and we end up with single
+// tag
+
+
+{
+ YYCTYPE yych;
+ if (YYLESSTHAN (4)) YYFILL(4);
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'a': goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ YYSKIP ();
+yy3:
+ { d }
+yy4:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'b':
+ YYBACKUPCTX ();
+ goto yy5;
+ default: goto yy3;
+ }
+yy5:
+ YYSKIP ();
+ YYBACKUP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'b': goto yy7;
+ default: goto yy6;
+ }
+yy6:
+ YYRESTORECTX ();
+ { 1 }
+yy7:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'c':
+ YYBACKUPCTX ();
+ goto yy9;
+ default: goto yy8;
+ }
+yy8:
+ YYRESTORE ();
+ goto yy6;
+yy9:
+ YYSKIP ();
+ YYRESTORECTX ();
+ { 0 }
+}
+
diff --git a/test/tags/bug121_fix_single.i--input(custom).re b/test/tags/bug121_fix_single.i--input(custom).re
new file mode 100644
index 00000000..822349eb
--- /dev/null
+++ b/test/tags/bug121_fix_single.i--input(custom).re
@@ -0,0 +1,11 @@
+// overlapping trailing contexts of fixed length:
+// because of generic API we cannot take advantage of
+// fixed length and have to use multiple tags, which
+// further are deduplicated and we end up with single
+// tag
+
+/*!re2c
+ "abb" / "c" { 0 }
+ "a" / "b" { 1 }
+ * { d }
+*/
diff --git a/test/tags/bug121_var_multiple.i--input(custom).c b/test/tags/bug121_var_multiple.i--input(custom).c
new file mode 100644
index 00000000..0cc024b5
--- /dev/null
+++ b/test/tags/bug121_var_multiple.i--input(custom).c
@@ -0,0 +1 @@
+re2c: error: line 8: overlapping trailing contexts need multiple context markers, use '-t, --tags' option and '/*!stags:re2c ... */' directive
diff --git a/test/tags/bug121_var_multiple.i--input(custom).re b/test/tags/bug121_var_multiple.i--input(custom).re
new file mode 100644
index 00000000..b661c89e
--- /dev/null
+++ b/test/tags/bug121_var_multiple.i--input(custom).re
@@ -0,0 +1,8 @@
+// overlapping trailing contexts of variable length:
+// we need multiple tags and we cannot deduplicate them
+
+/*!re2c
+ "ab" / "c"{2,} { 0 }
+ "a" / "b"* { 1 }
+ * { d }
+*/
diff --git a/test/tags/bug121_var_multiple.i--tags--eager-skip--input(custom).c b/test/tags/bug121_var_multiple.i--tags--eager-skip--input(custom).c
new file mode 100644
index 00000000..c2b38380
--- /dev/null
+++ b/test/tags/bug121_var_multiple.i--tags--eager-skip--input(custom).c
@@ -0,0 +1,73 @@
+/* Generated by re2c */
+// overlapping trailing contexts of variable length:
+// we need multiple tags and we cannot deduplicate them
+
+
+{
+ YYCTYPE yych;
+ if (YYLESSTHAN (4)) YYFILL(4);
+ yych = YYPEEK ();
+ YYSKIP ();
+ switch (yych) {
+ case 'a': goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ { d }
+yy4:
+ yych = YYPEEK ();
+ YYSTAGP (yyt2);
+ switch (yych) {
+ case 'b':
+ YYSKIP ();
+ goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYRESTORETAG (yyt2);
+ { 1 }
+yy6:
+ YYBACKUP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'c':
+ YYSTAGP (yyt1);
+ YYSKIP ();
+ goto yy9;
+ default: goto yy8;
+ }
+yy7:
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+yy8:
+ switch (yych) {
+ case 'b':
+ YYSKIP ();
+ goto yy7;
+ default: goto yy5;
+ }
+yy9:
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'c':
+ YYSKIP ();
+ goto yy11;
+ default: goto yy10;
+ }
+yy10:
+ YYRESTORE ();
+ goto yy5;
+yy11:
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'c':
+ YYSKIP ();
+ goto yy11;
+ default: goto yy13;
+ }
+yy13:
+ YYRESTORETAG (yyt1);
+ { 0 }
+}
+
diff --git a/test/tags/bug121_var_multiple.i--tags--eager-skip--input(custom).re b/test/tags/bug121_var_multiple.i--tags--eager-skip--input(custom).re
new file mode 100644
index 00000000..b661c89e
--- /dev/null
+++ b/test/tags/bug121_var_multiple.i--tags--eager-skip--input(custom).re
@@ -0,0 +1,8 @@
+// overlapping trailing contexts of variable length:
+// we need multiple tags and we cannot deduplicate them
+
+/*!re2c
+ "ab" / "c"{2,} { 0 }
+ "a" / "b"* { 1 }
+ * { d }
+*/
diff --git a/test/tags/bug121_var_multiple.i--tags--eager-skip.c b/test/tags/bug121_var_multiple.i--tags--eager-skip.c
new file mode 100644
index 00000000..d08bf0e6
--- /dev/null
+++ b/test/tags/bug121_var_multiple.i--tags--eager-skip.c
@@ -0,0 +1,71 @@
+/* Generated by re2c */
+// overlapping trailing contexts of variable length:
+// we need multiple tags and we cannot deduplicate them
+
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *YYCURSOR++;
+ switch (yych) {
+ case 'a': goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ { d }
+yy4:
+ yych = *YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'b':
+ ++YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = yyt2;
+ { 1 }
+yy6:
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'c':
+ yyt1 = YYCURSOR;
+ ++YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy7:
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy8:
+ switch (yych) {
+ case 'b':
+ ++YYCURSOR;
+ goto yy7;
+ default: goto yy5;
+ }
+yy9:
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c':
+ ++YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy10:
+ YYCURSOR = YYMARKER;
+ goto yy5;
+yy11:
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c':
+ ++YYCURSOR;
+ goto yy11;
+ default: goto yy13;
+ }
+yy13:
+ YYCURSOR = yyt1;
+ { 0 }
+}
+
diff --git a/test/tags/bug121_var_multiple.i--tags--eager-skip.re b/test/tags/bug121_var_multiple.i--tags--eager-skip.re
new file mode 100644
index 00000000..b661c89e
--- /dev/null
+++ b/test/tags/bug121_var_multiple.i--tags--eager-skip.re
@@ -0,0 +1,8 @@
+// overlapping trailing contexts of variable length:
+// we need multiple tags and we cannot deduplicate them
+
+/*!re2c
+ "ab" / "c"{2,} { 0 }
+ "a" / "b"* { 1 }
+ * { d }
+*/
diff --git a/test/tags/bug121_var_multiple.i--tags--input(custom).c b/test/tags/bug121_var_multiple.i--tags--input(custom).c
new file mode 100644
index 00000000..69508eac
--- /dev/null
+++ b/test/tags/bug121_var_multiple.i--tags--input(custom).c
@@ -0,0 +1,69 @@
+/* Generated by re2c */
+// overlapping trailing contexts of variable length:
+// we need multiple tags and we cannot deduplicate them
+
+
+{
+ YYCTYPE yych;
+ if (YYLESSTHAN (4)) YYFILL(4);
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'a': goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ YYSKIP ();
+ { d }
+yy4:
+ YYSKIP ();
+ yych = YYPEEK ();
+ YYSTAGP (yyt2);
+ switch (yych) {
+ case 'b': goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYRESTORETAG (yyt2);
+ { 1 }
+yy6:
+ YYSKIP ();
+ YYBACKUP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'c':
+ YYSTAGP (yyt1);
+ goto yy9;
+ default: goto yy8;
+ }
+yy7:
+ YYSKIP ();
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+yy8:
+ switch (yych) {
+ case 'b': goto yy7;
+ default: goto yy5;
+ }
+yy9:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'c': goto yy11;
+ default: goto yy10;
+ }
+yy10:
+ YYRESTORE ();
+ goto yy5;
+yy11:
+ YYSKIP ();
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'c': goto yy11;
+ default: goto yy13;
+ }
+yy13:
+ YYRESTORETAG (yyt1);
+ { 0 }
+}
+
diff --git a/test/tags/bug121_var_multiple.i--tags--input(custom).re b/test/tags/bug121_var_multiple.i--tags--input(custom).re
new file mode 100644
index 00000000..b661c89e
--- /dev/null
+++ b/test/tags/bug121_var_multiple.i--tags--input(custom).re
@@ -0,0 +1,8 @@
+// overlapping trailing contexts of variable length:
+// we need multiple tags and we cannot deduplicate them
+
+/*!re2c
+ "ab" / "c"{2,} { 0 }
+ "a" / "b"* { 1 }
+ * { d }
+*/
diff --git a/test/tags/bug121_var_multiple.i--tags.c b/test/tags/bug121_var_multiple.i--tags.c
new file mode 100644
index 00000000..7ead767a
--- /dev/null
+++ b/test/tags/bug121_var_multiple.i--tags.c
@@ -0,0 +1,65 @@
+/* Generated by re2c */
+// overlapping trailing contexts of variable length:
+// we need multiple tags and we cannot deduplicate them
+
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ ++YYCURSOR;
+ { d }
+yy4:
+ yych = *++YYCURSOR;
+ yyt2 = YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = yyt2;
+ { 1 }
+yy6:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy9;
+ default: goto yy8;
+ }
+yy7:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy8:
+ switch (yych) {
+ case 'b': goto yy7;
+ default: goto yy5;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy11;
+ default: goto yy10;
+ }
+yy10:
+ YYCURSOR = YYMARKER;
+ goto yy5;
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy11;
+ default: goto yy13;
+ }
+yy13:
+ YYCURSOR = yyt1;
+ { 0 }
+}
+
diff --git a/test/tags/bug121_var_multiple.i--tags.re b/test/tags/bug121_var_multiple.i--tags.re
new file mode 100644
index 00000000..b661c89e
--- /dev/null
+++ b/test/tags/bug121_var_multiple.i--tags.re
@@ -0,0 +1,8 @@
+// overlapping trailing contexts of variable length:
+// we need multiple tags and we cannot deduplicate them
+
+/*!re2c
+ "ab" / "c"{2,} { 0 }
+ "a" / "b"* { 1 }
+ * { d }
+*/
diff --git a/test/tags/bug121_var_multiple.i.c b/test/tags/bug121_var_multiple.i.c
new file mode 100644
index 00000000..0cc024b5
--- /dev/null
+++ b/test/tags/bug121_var_multiple.i.c
@@ -0,0 +1 @@
+re2c: error: line 8: overlapping trailing contexts need multiple context markers, use '-t, --tags' option and '/*!stags:re2c ... */' directive
diff --git a/test/tags/bug121_var_multiple.i.re b/test/tags/bug121_var_multiple.i.re
new file mode 100644
index 00000000..b661c89e
--- /dev/null
+++ b/test/tags/bug121_var_multiple.i.re
@@ -0,0 +1,8 @@
+// overlapping trailing contexts of variable length:
+// we need multiple tags and we cannot deduplicate them
+
+/*!re2c
+ "ab" / "c"{2,} { 0 }
+ "a" / "b"* { 1 }
+ * { d }
+*/
diff --git a/test/tags/bug121_var_single.i--input(custom).c b/test/tags/bug121_var_single.i--input(custom).c
new file mode 100644
index 00000000..ed46150c
--- /dev/null
+++ b/test/tags/bug121_var_single.i--input(custom).c
@@ -0,0 +1,62 @@
+/* Generated by re2c */
+// overlapping trailing contexts of variable length:
+// in principle, we need multiple tags here, but in this
+// particular case all tags can be implemented using sinle
+// variable (due to tag deduplication)
+
+
+{
+ YYCTYPE yych;
+ if (YYLESSTHAN (3)) YYFILL(3);
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'a': goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ YYSKIP ();
+ { d }
+yy4:
+ YYSKIP ();
+ yych = YYPEEK ();
+ YYBACKUPCTX ();
+ switch (yych) {
+ case 'b': goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYRESTORECTX ();
+ { 1 }
+yy6:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'b': goto yy8;
+ case 'c':
+ YYBACKUPCTX ();
+ goto yy10;
+ default:
+ YYBACKUPCTX ();
+ goto yy7;
+ }
+yy7:
+ YYRESTORECTX ();
+ { 0 }
+yy8:
+ YYSKIP ();
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'b': goto yy8;
+ default: goto yy5;
+ }
+yy10:
+ YYSKIP ();
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'c': goto yy10;
+ default: goto yy7;
+ }
+}
+
diff --git a/test/tags/bug121_var_single.i--input(custom).re b/test/tags/bug121_var_single.i--input(custom).re
new file mode 100644
index 00000000..065a337e
--- /dev/null
+++ b/test/tags/bug121_var_single.i--input(custom).re
@@ -0,0 +1,10 @@
+// overlapping trailing contexts of variable length:
+// in principle, we need multiple tags here, but in this
+// particular case all tags can be implemented using sinle
+// variable (due to tag deduplication)
+
+/*!re2c
+ "ab" / "c"* { 0 }
+ "a" / "b"* { 1 }
+ * { d }
+*/
diff --git a/test/tags/bug121_var_single.i.c b/test/tags/bug121_var_single.i.c
new file mode 100644
index 00000000..14277be6
--- /dev/null
+++ b/test/tags/bug121_var_single.i.c
@@ -0,0 +1,60 @@
+/* Generated by re2c */
+// overlapping trailing contexts of variable length:
+// in principle, we need multiple tags here, but in this
+// particular case all tags can be implemented using sinle
+// variable (due to tag deduplication)
+
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ ++YYCURSOR;
+ { d }
+yy4:
+ yych = *++YYCURSOR;
+ YYCTXMARKER = YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYCTXMARKER;
+ { 1 }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy8;
+ case 'c':
+ YYCTXMARKER = YYCURSOR;
+ goto yy10;
+ default:
+ YYCTXMARKER = YYCURSOR;
+ goto yy7;
+ }
+yy7:
+ YYCURSOR = YYCTXMARKER;
+ { 0 }
+yy8:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy8;
+ default: goto yy5;
+ }
+yy10:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy10;
+ default: goto yy7;
+ }
+}
+
diff --git a/test/tags/bug121_var_single.i.re b/test/tags/bug121_var_single.i.re
new file mode 100644
index 00000000..065a337e
--- /dev/null
+++ b/test/tags/bug121_var_single.i.re
@@ -0,0 +1,10 @@
+// overlapping trailing contexts of variable length:
+// in principle, we need multiple tags here, but in this
+// particular case all tags can be implemented using sinle
+// variable (due to tag deduplication)
+
+/*!re2c
+ "ab" / "c"* { 0 }
+ "a" / "b"* { 1 }
+ * { d }
+*/
diff --git a/test/tags/cond_star0.ci--input(custom).c b/test/tags/cond_star0.ci--input(custom).c
new file mode 100644
index 00000000..415165ae
--- /dev/null
+++ b/test/tags/cond_star0.ci--input(custom).c
@@ -0,0 +1,62 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ switch (YYGETCONDITION()) {
+ case yycc1: goto yyc_c1;
+ }
+/* *********************************** */
+yyc_c1:
+ if (YYLESSTHAN (3)) YYFILL(3);
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'a': goto yy5;
+ default: goto yy3;
+ }
+yy3:
+ YYSKIP ();
+ {}
+yy5:
+ YYSKIP ();
+ yych = YYPEEK ();
+ YYBACKUPCTX ();
+ switch (yych) {
+ case 'b': goto yy7;
+ default: goto yy6;
+ }
+yy6:
+ YYRESTORECTX ();
+ {}
+yy7:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'b': goto yy9;
+ case 'c':
+ YYBACKUPCTX ();
+ goto yy11;
+ default:
+ YYBACKUPCTX ();
+ goto yy8;
+ }
+yy8:
+ YYRESTORECTX ();
+ {}
+yy9:
+ YYSKIP ();
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'b': goto yy9;
+ default: goto yy6;
+ }
+yy11:
+ YYSKIP ();
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'c': goto yy11;
+ default: goto yy8;
+ }
+}
+
diff --git a/test/tags/cond_star0.ci--input(custom).re b/test/tags/cond_star0.ci--input(custom).re
new file mode 100644
index 00000000..7083f47e
--- /dev/null
+++ b/test/tags/cond_star0.ci--input(custom).re
@@ -0,0 +1,8 @@
+/*!re2c
+
+ <c1> "ab" / "c"* {}
+
+ <*> "a" / "b"* {}
+ <*> * {}
+
+*/
diff --git a/test/tags/cond_star0.ci.c b/test/tags/cond_star0.ci.c
new file mode 100644
index 00000000..e3103b21
--- /dev/null
+++ b/test/tags/cond_star0.ci.c
@@ -0,0 +1,60 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ switch (YYGETCONDITION()) {
+ case yycc1: goto yyc_c1;
+ }
+/* *********************************** */
+yyc_c1:
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy5;
+ default: goto yy3;
+ }
+yy3:
+ ++YYCURSOR;
+ {}
+yy5:
+ yych = *++YYCURSOR;
+ YYCTXMARKER = YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy7;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = YYCTXMARKER;
+ {}
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy9;
+ case 'c':
+ YYCTXMARKER = YYCURSOR;
+ goto yy11;
+ default:
+ YYCTXMARKER = YYCURSOR;
+ goto yy8;
+ }
+yy8:
+ YYCURSOR = YYCTXMARKER;
+ {}
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy9;
+ default: goto yy6;
+ }
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy11;
+ default: goto yy8;
+ }
+}
+
diff --git a/test/tags/cond_star0.ci.re b/test/tags/cond_star0.ci.re
new file mode 100644
index 00000000..7083f47e
--- /dev/null
+++ b/test/tags/cond_star0.ci.re
@@ -0,0 +1,8 @@
+/*!re2c
+
+ <c1> "ab" / "c"* {}
+
+ <*> "a" / "b"* {}
+ <*> * {}
+
+*/
diff --git a/test/tags/cond_star1.ci--input(custom).c b/test/tags/cond_star1.ci--input(custom).c
new file mode 100644
index 00000000..64f714d0
--- /dev/null
+++ b/test/tags/cond_star1.ci--input(custom).c
@@ -0,0 +1,105 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ switch (YYGETCONDITION()) {
+ case yycc1: goto yyc_c1;
+ case yycc2: goto yyc_c2;
+ }
+/* *********************************** */
+yyc_c1:
+ if (YYLESSTHAN (3)) YYFILL(3);
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'a': goto yy5;
+ default: goto yy3;
+ }
+yy3:
+ YYSKIP ();
+ {}
+yy5:
+ YYSKIP ();
+ yych = YYPEEK ();
+ YYBACKUPCTX ();
+ switch (yych) {
+ case 'b': goto yy7;
+ default: goto yy6;
+ }
+yy6:
+ YYRESTORECTX ();
+ {}
+yy7:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'b': goto yy9;
+ case 'c':
+ YYBACKUPCTX ();
+ goto yy11;
+ default:
+ YYBACKUPCTX ();
+ goto yy8;
+ }
+yy8:
+ YYRESTORECTX ();
+ {}
+yy9:
+ YYSKIP ();
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'b': goto yy9;
+ default: goto yy6;
+ }
+yy11:
+ YYSKIP ();
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'c': goto yy11;
+ default: goto yy8;
+ }
+/* *********************************** */
+yyc_c2:
+ if (YYLESSTHAN (2)) YYFILL(2);
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'a': goto yy17;
+ default: goto yy15;
+ }
+yy15:
+ YYSKIP ();
+ {}
+yy17:
+ YYSKIP ();
+ yych = YYPEEK ();
+ YYBACKUPCTX ();
+ switch (yych) {
+ case 'b': goto yy19;
+ default: goto yy23;
+ }
+yy18:
+ YYRESTORECTX ();
+ {}
+yy19:
+ YYSKIP ();
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'b': goto yy19;
+ default: goto yy21;
+ }
+yy21:
+ YYRESTORECTX ();
+ {}
+yy22:
+ YYSKIP ();
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+yy23:
+ switch (yych) {
+ case 'c': goto yy22;
+ default: goto yy18;
+ }
+}
+
diff --git a/test/tags/cond_star1.ci--input(custom).re b/test/tags/cond_star1.ci--input(custom).re
new file mode 100644
index 00000000..63b3f950
--- /dev/null
+++ b/test/tags/cond_star1.ci--input(custom).re
@@ -0,0 +1,10 @@
+/*!re2c
+
+ <c1> "ab" / "c"* {}
+
+ <c2> "a" / "c"* {}
+
+ <*> "a" / "b"* {}
+ <*> * {}
+
+*/
diff --git a/test/tags/cond_star1.ci.c b/test/tags/cond_star1.ci.c
new file mode 100644
index 00000000..f29a33c9
--- /dev/null
+++ b/test/tags/cond_star1.ci.c
@@ -0,0 +1,102 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ switch (YYGETCONDITION()) {
+ case yycc1: goto yyc_c1;
+ case yycc2: goto yyc_c2;
+ }
+/* *********************************** */
+yyc_c1:
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy5;
+ default: goto yy3;
+ }
+yy3:
+ ++YYCURSOR;
+ {}
+yy5:
+ yych = *++YYCURSOR;
+ YYCTXMARKER = YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy7;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = YYCTXMARKER;
+ {}
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy9;
+ case 'c':
+ YYCTXMARKER = YYCURSOR;
+ goto yy11;
+ default:
+ YYCTXMARKER = YYCURSOR;
+ goto yy8;
+ }
+yy8:
+ YYCURSOR = YYCTXMARKER;
+ {}
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy9;
+ default: goto yy6;
+ }
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy11;
+ default: goto yy8;
+ }
+/* *********************************** */
+yyc_c2:
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy17;
+ default: goto yy15;
+ }
+yy15:
+ ++YYCURSOR;
+ {}
+yy17:
+ yych = *++YYCURSOR;
+ YYCTXMARKER = YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy19;
+ default: goto yy23;
+ }
+yy18:
+ YYCURSOR = YYCTXMARKER;
+ {}
+yy19:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy19;
+ default: goto yy21;
+ }
+yy21:
+ YYCURSOR = YYCTXMARKER;
+ {}
+yy22:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy23:
+ switch (yych) {
+ case 'c': goto yy22;
+ default: goto yy18;
+ }
+}
+
diff --git a/test/tags/cond_star1.ci.re b/test/tags/cond_star1.ci.re
new file mode 100644
index 00000000..63b3f950
--- /dev/null
+++ b/test/tags/cond_star1.ci.re
@@ -0,0 +1,10 @@
+/*!re2c
+
+ <c1> "ab" / "c"* {}
+
+ <c2> "a" / "c"* {}
+
+ <*> "a" / "b"* {}
+ <*> * {}
+
+*/
diff --git a/test/tags/cond_star2.ci.c b/test/tags/cond_star2.ci.c
new file mode 100644
index 00000000..300902ec
--- /dev/null
+++ b/test/tags/cond_star2.ci.c
@@ -0,0 +1,159 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ switch (YYGETCONDITION()) {
+ case yycc1: goto yyc_c1;
+ case yycc2: goto yyc_c2;
+ }
+/* *********************************** */
+yyc_c1:
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy5;
+ default: goto yy3;
+ }
+yy3:
+ ++YYCURSOR;
+ {}
+yy5:
+ yych = *++YYCURSOR;
+ YYCTXMARKER = YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy7;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = YYCTXMARKER;
+ {}
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy9;
+ case 'c':
+ YYCTXMARKER = YYCURSOR;
+ goto yy11;
+ default:
+ YYCTXMARKER = YYCURSOR;
+ goto yy8;
+ }
+yy8:
+ YYCURSOR = YYCTXMARKER;
+ {}
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy9;
+ default: goto yy6;
+ }
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy11;
+ default: goto yy8;
+ }
+/* *********************************** */
+yyc_c2:
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy17;
+ default: goto yy15;
+ }
+yy15:
+ yych = *++YYCURSOR;
+ YYCTXMARKER = YYCURSOR;
+ goto yy20;
+yy16:
+ YYCURSOR = YYCTXMARKER;
+ {}
+yy17:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a': goto yy21;
+ case 'b':
+ YYCTXMARKER = YYCURSOR;
+ goto yy23;
+ case 'c':
+ YYCTXMARKER = YYCURSOR;
+ goto yy26;
+ default:
+ YYCTXMARKER = YYCURSOR;
+ goto yy18;
+ }
+yy18:
+ YYCURSOR = YYCTXMARKER;
+ {}
+yy19:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy20:
+ switch (yych) {
+ case 'b': goto yy19;
+ default: goto yy16;
+ }
+yy21:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ YYCTXMARKER = YYCURSOR;
+ goto yy28;
+ case 'c':
+ YYCTXMARKER = YYCURSOR;
+ goto yy31;
+ default: goto yy22;
+ }
+yy22:
+ YYCURSOR = YYMARKER;
+ YYCTXMARKER = YYCURSOR;
+ goto yy18;
+yy23:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy23;
+ default: goto yy25;
+ }
+yy25:
+ YYCURSOR = YYCTXMARKER;
+ {}
+yy26:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy26;
+ default: goto yy18;
+ }
+yy28:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy28;
+ default: goto yy30;
+ }
+yy30:
+ YYCURSOR = YYCTXMARKER;
+ {}
+yy31:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy31;
+ default: goto yy33;
+ }
+yy33:
+ YYCURSOR = YYCTXMARKER;
+ {}
+}
+
+re2c: warning: line 11: unreachable rule in condition 'c2' (shadowed by rules at lines 5, 6) [-Wunreachable-rules]
diff --git a/test/tags/cond_star2.ci.re b/test/tags/cond_star2.ci.re
new file mode 100644
index 00000000..180be915
--- /dev/null
+++ b/test/tags/cond_star2.ci.re
@@ -0,0 +1,14 @@
+/*!re2c
+
+ <c1> "ab" / "c"* {}
+
+ <c2> "a" / "c"* {}
+ <c2> [a] / "b"* {}
+ <c2> [^a] / "b"* {}
+ <c2> "aa" / "b"+ {}
+ <c2> "aa" / "c"+ {}
+
+ <*> "a" / "b"* {}
+ <*> * {}
+
+*/
diff --git a/test/tags/conf1.i--tags--input(custom).c b/test/tags/conf1.i--tags--input(custom).c
new file mode 100644
index 00000000..91c8a860
--- /dev/null
+++ b/test/tags/conf1.i--tags--input(custom).c
@@ -0,0 +1,299 @@
+/* Generated by re2c */
+#include <stddef.h>
+#include <stdio.h>
+
+static inline unsigned parse_oct(const char *s, const char *e)
+{
+ unsigned oct = 0;
+ for (; s != e; ++s) {
+ oct = oct * 10 + *s - '0';
+ }
+ return oct;
+}
+
+static void lex(const char *s)
+{
+#define YYPEEK() *s
+#define YYSKIP() ++s
+#define YYBACKUP() marker = s
+#define YYRESTORE() s = marker
+#define ZZTP(t) t = s
+#define ZZTN(t) t = NULL
+#define ZZRT(t) s = t
+ const char *marker, *p0, *p1, *p2, *p3;
+ const char *zz_1;const char *zz_2;const char *zz_3;const char *zz_4;
+
+{
+ char yych;
+ yych = YYPEEK ();
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ ZZTP (zz_1);
+ goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ YYSKIP ();
+yy3:
+ { printf("error\n"); return; }
+yy4:
+ YYSKIP ();
+ YYBACKUP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '.':
+ ZZTP (zz_2);
+ goto yy5;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy7;
+ default: goto yy3;
+ }
+yy5:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy8;
+ default: goto yy6;
+ }
+yy6:
+ YYRESTORE ();
+ goto yy3;
+yy7:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '.':
+ ZZTP (zz_2);
+ goto yy5;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy9;
+ default: goto yy6;
+ }
+yy8:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '.':
+ ZZTP (zz_3);
+ goto yy10;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy11;
+ default: goto yy6;
+ }
+yy9:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '.':
+ ZZTP (zz_2);
+ goto yy5;
+ default: goto yy6;
+ }
+yy10:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy12;
+ default: goto yy6;
+ }
+yy11:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '.':
+ ZZTP (zz_3);
+ goto yy10;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy13;
+ default: goto yy6;
+ }
+yy12:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '.':
+ ZZTP (zz_4);
+ goto yy14;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy15;
+ default: goto yy6;
+ }
+yy13:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '.':
+ ZZTP (zz_3);
+ goto yy10;
+ default: goto yy6;
+ }
+yy14:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy16;
+ default: goto yy6;
+ }
+yy15:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '.':
+ ZZTP (zz_4);
+ goto yy14;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy18;
+ default: goto yy6;
+ }
+yy16:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy19;
+ default: goto yy17;
+ }
+yy17:
+ p0 = zz_1;
+ p1 = zz_2;
+ p2 = zz_3;
+ p3 = zz_4;
+ {
+ printf("%u.%u.%u.%u\n",
+ parse_oct(p0, p1),
+ parse_oct(p1 + 1, p2),
+ parse_oct(p2 + 1, p3),
+ parse_oct(p3 + 1, s));
+ return;
+ }
+yy18:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '.':
+ ZZTP (zz_4);
+ goto yy14;
+ default: goto yy6;
+ }
+yy19:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy20;
+ default: goto yy17;
+ }
+yy20:
+ YYSKIP ();
+ goto yy17;
+}
+
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ lex(argv[i]);
+ }
+ return 0;
+}
diff --git a/test/tags/conf1.i--tags--input(custom).re b/test/tags/conf1.i--tags--input(custom).re
new file mode 100644
index 00000000..d5050998
--- /dev/null
+++ b/test/tags/conf1.i--tags--input(custom).re
@@ -0,0 +1,59 @@
+#include <stddef.h>
+#include <stdio.h>
+
+static inline unsigned parse_oct(const char *s, const char *e)
+{
+ unsigned oct = 0;
+ for (; s != e; ++s) {
+ oct = oct * 10 + *s - '0';
+ }
+ return oct;
+}
+
+static void lex(const char *s)
+{
+#define YYPEEK() *s
+#define YYSKIP() ++s
+#define YYBACKUP() marker = s
+#define YYRESTORE() s = marker
+#define ZZTP(t) t = s
+#define ZZTN(t) t = NULL
+#define ZZRT(t) s = t
+ const char *marker, *p0, *p1, *p2, *p3;
+ /*!stags:re2c format = "const char *@@;"; */
+ /*!re2c
+ re2c:define:YYCTYPE = char;
+ re2c:yyfill:enable = 0;
+
+ oct = [0-9]{1,3};
+ d = ".";
+
+ * { printf("error\n"); return; }
+
+ @p0
+ oct @p1
+ d oct @p2
+ d oct @p3
+ d oct {
+ printf("%u.%u.%u.%u\n",
+ parse_oct(p0, p1),
+ parse_oct(p1 + 1, p2),
+ parse_oct(p2 + 1, p3),
+ parse_oct(p3 + 1, s));
+ return;
+ }
+
+ re2c:define:YYSTAGP = "ZZTP";
+ re2c:define:YYSTAGN = "ZZTN";
+ re2c:define:YYRESTORETAG = "ZZRT";
+ re2c:tags:prefix = "zz_";
+ */
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ lex(argv[i]);
+ }
+ return 0;
+}
diff --git a/test/tags/conf1.i--tags.c b/test/tags/conf1.i--tags.c
new file mode 100644
index 00000000..57228b2e
--- /dev/null
+++ b/test/tags/conf1.i--tags.c
@@ -0,0 +1,277 @@
+/* Generated by re2c */
+#include <stddef.h>
+#include <stdio.h>
+
+static inline unsigned parse_oct(const char *s, const char *e)
+{
+ unsigned oct = 0;
+ for (; s != e; ++s) {
+ oct = oct * 10 + *s - '0';
+ }
+ return oct;
+}
+
+static void lex(const char *YYCURSOR)
+{
+ const char *YYMARKER, *p0, *p1, *p2, *p3;
+ const char *zz_1;const char *zz_2;const char *zz_3;const char *zz_4;
+
+{
+ char yych;
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ zz_1 = YYCURSOR;
+ goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ ++YYCURSOR;
+yy3:
+ { printf("error\n"); return; }
+yy4:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case '.':
+ zz_2 = YYCURSOR;
+ goto yy5;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy7;
+ default: goto yy3;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy8;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = YYMARKER;
+ goto yy3;
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.':
+ zz_2 = YYCURSOR;
+ goto yy5;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy9;
+ default: goto yy6;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.':
+ zz_3 = YYCURSOR;
+ goto yy10;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy11;
+ default: goto yy6;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.':
+ zz_2 = YYCURSOR;
+ goto yy5;
+ default: goto yy6;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy12;
+ default: goto yy6;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.':
+ zz_3 = YYCURSOR;
+ goto yy10;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy13;
+ default: goto yy6;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.':
+ zz_4 = YYCURSOR;
+ goto yy14;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy15;
+ default: goto yy6;
+ }
+yy13:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.':
+ zz_3 = YYCURSOR;
+ goto yy10;
+ default: goto yy6;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy16;
+ default: goto yy6;
+ }
+yy15:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.':
+ zz_4 = YYCURSOR;
+ goto yy14;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy18;
+ default: goto yy6;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy19;
+ default: goto yy17;
+ }
+yy17:
+ p0 = zz_1;
+ p1 = zz_2;
+ p2 = zz_3;
+ p3 = zz_4;
+ {
+ printf("%u.%u.%u.%u\n",
+ parse_oct(p0, p1),
+ parse_oct(p1 + 1, p2),
+ parse_oct(p2 + 1, p3),
+ parse_oct(p3 + 1, YYCURSOR));
+ return;
+ }
+yy18:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.':
+ zz_4 = YYCURSOR;
+ goto yy14;
+ default: goto yy6;
+ }
+yy19:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy20;
+ default: goto yy17;
+ }
+yy20:
+ ++YYCURSOR;
+ goto yy17;
+}
+
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ lex(argv[i]);
+ }
+ return 0;
+}
diff --git a/test/tags/conf1.i--tags.re b/test/tags/conf1.i--tags.re
new file mode 100644
index 00000000..50cf14bd
--- /dev/null
+++ b/test/tags/conf1.i--tags.re
@@ -0,0 +1,49 @@
+#include <stddef.h>
+#include <stdio.h>
+
+static inline unsigned parse_oct(const char *s, const char *e)
+{
+ unsigned oct = 0;
+ for (; s != e; ++s) {
+ oct = oct * 10 + *s - '0';
+ }
+ return oct;
+}
+
+static void lex(const char *YYCURSOR)
+{
+ const char *YYMARKER, *p0, *p1, *p2, *p3;
+ /*!stags:re2c format = "const char *@@;"; */
+ /*!re2c
+ re2c:define:YYCTYPE = char;
+ re2c:yyfill:enable = 0;
+
+ oct = [0-9]{1,3};
+ d = ".";
+
+ * { printf("error\n"); return; }
+
+ @p0
+ oct @p1
+ d oct @p2
+ d oct @p3
+ d oct {
+ printf("%u.%u.%u.%u\n",
+ parse_oct(p0, p1),
+ parse_oct(p1 + 1, p2),
+ parse_oct(p2 + 1, p3),
+ parse_oct(p3 + 1, YYCURSOR));
+ return;
+ }
+
+ re2c:tags:prefix = "zz_";
+ */
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ lex(argv[i]);
+ }
+ return 0;
+}
diff --git a/test/tags/conf2.i--tags--input(custom).c b/test/tags/conf2.i--tags--input(custom).c
new file mode 100644
index 00000000..8a01b744
--- /dev/null
+++ b/test/tags/conf2.i--tags--input(custom).c
@@ -0,0 +1,363 @@
+/* Generated by re2c */
+#include <stdio.h>
+#include <string.h>
+
+static inline unsigned parse_oct(const char *s, const char *e)
+{
+ unsigned oct = 0;
+ for (; s != e; ++s) {
+ oct = oct * 10 + *s - '0';
+ }
+ return oct;
+}
+
+#define YYMAXFILL 16
+
+
+/* at least maximal lexeme length plus YYMAXFILL */
+static const size_t SIZE = YYMAXFILL * 2;
+
+struct input_t {
+ char buf[SIZE + YYMAXFILL];
+ char *lim;
+ char *cur;
+ char *mar;
+ char *tok;
+ char *yyt1;char *yyt2;char *yyt3;
+ bool eof;
+
+ input_t()
+ : buf()
+ , lim(buf + SIZE)
+ , cur(lim)
+ , mar(lim)
+ , tok(lim)
+ , yyt1(0), yyt2(0), yyt3(0)
+ , eof(false)
+ {}
+ bool fill(size_t need)
+ {
+ if (eof) {
+ printf("\nfill: underflow - 1\n");
+ return false;
+ }
+ const size_t free = tok - buf;
+ if (free < need) {
+ printf("\nfill: underflow - 2\n");
+ return false;
+ }
+ memmove(buf, tok, lim - tok);
+ lim -= free;
+ cur -= free;
+ mar -= free;
+ tok -= free;
+ yyt1 -= free;yyt2 -= free;yyt3 -= free;
+ lim += fread(lim, 1, free, stdin);
+ if (lim < buf + SIZE) {
+ eof = true;
+ memset(lim, 0, YYMAXFILL);
+ lim += YYMAXFILL;
+ }
+ return true;
+ }
+};
+
+static bool lex(input_t & in)
+{
+#define YYPEEK() *in.cur
+#define YYSKIP() ++in.cur
+#define YYBACKUP() in.mar = in.cur
+#define YYRESTORE() in.cur = in.mar
+#define YYSTAGP(t) t = in.cur
+#define YYSTAGN(t) t = NULL
+#define YYRESTORETAG(t) in.cur = t
+#define YYLESSTHAN(n) in.lim - in.cur < n
+loop:
+ in.tok = in.cur;
+ const char *p1, *p2, *p3;
+
+{
+ char yych;
+ if (YYLESSTHAN (16)) if (!in.fill(16)) return false;
+ yych = YYPEEK ();
+ switch (yych) {
+ case 0x00: goto yy2;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy6;
+ default: goto yy4;
+ }
+yy2:
+ YYSKIP ();
+ { return YYMAXFILL == in.lim - in.tok; }
+yy4:
+ YYSKIP ();
+yy5:
+ { return false; }
+yy6:
+ YYSKIP ();
+ YYBACKUP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '.':
+ YYSTAGP (in.yyt1);
+ goto yy7;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy9;
+ default: goto yy5;
+ }
+yy7:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy10;
+ default: goto yy8;
+ }
+yy8:
+ YYRESTORE ();
+ goto yy5;
+yy9:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '.':
+ YYSTAGP (in.yyt1);
+ goto yy7;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy11;
+ default: goto yy8;
+ }
+yy10:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '.':
+ YYSTAGP (in.yyt2);
+ goto yy12;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy13;
+ default: goto yy8;
+ }
+yy11:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '.':
+ YYSTAGP (in.yyt1);
+ goto yy7;
+ default: goto yy8;
+ }
+yy12:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy14;
+ default: goto yy8;
+ }
+yy13:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '.':
+ YYSTAGP (in.yyt2);
+ goto yy12;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy15;
+ default: goto yy8;
+ }
+yy14:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '.':
+ YYSTAGP (in.yyt3);
+ goto yy16;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy17;
+ default: goto yy8;
+ }
+yy15:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '.':
+ YYSTAGP (in.yyt2);
+ goto yy12;
+ default: goto yy8;
+ }
+yy16:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy18;
+ default: goto yy8;
+ }
+yy17:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '.':
+ YYSTAGP (in.yyt3);
+ goto yy16;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy19;
+ default: goto yy8;
+ }
+yy18:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '\n': goto yy20;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy22;
+ default: goto yy8;
+ }
+yy19:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '.':
+ YYSTAGP (in.yyt3);
+ goto yy16;
+ default: goto yy8;
+ }
+yy20:
+ YYSKIP ();
+ p1 = in.yyt1;
+ p2 = in.yyt2;
+ p3 = in.yyt3;
+ {
+ printf("> %u.%u.%u.%u\n",
+ parse_oct(in.tok, p1),
+ parse_oct(p1 + 1, p2),
+ parse_oct(p2 + 1, p3),
+ parse_oct(p3 + 1, in.cur - 1));
+ goto loop;
+ }
+yy22:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '\n': goto yy20;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy23;
+ default: goto yy8;
+ }
+yy23:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '\n': goto yy20;
+ default: goto yy8;
+ }
+}
+
+}
+
+int main()
+{
+ input_t in;
+ if (!lex(in)) {
+ printf("error\n");
+ }
+
+ return 0;
+}
diff --git a/test/tags/conf2.i--tags--input(custom).re b/test/tags/conf2.i--tags--input(custom).re
new file mode 100644
index 00000000..971e69ef
--- /dev/null
+++ b/test/tags/conf2.i--tags--input(custom).re
@@ -0,0 +1,110 @@
+#include <stdio.h>
+#include <string.h>
+
+static inline unsigned parse_oct(const char *s, const char *e)
+{
+ unsigned oct = 0;
+ for (; s != e; ++s) {
+ oct = oct * 10 + *s - '0';
+ }
+ return oct;
+}
+
+/*!max:re2c*/
+
+/* at least maximal lexeme length plus YYMAXFILL */
+static const size_t SIZE = YYMAXFILL * 2;
+
+struct input_t {
+ char buf[SIZE + YYMAXFILL];
+ char *lim;
+ char *cur;
+ char *mar;
+ char *tok;
+ /*!stags:re2c format = "char *@@;"; */
+ bool eof;
+
+ input_t()
+ : buf()
+ , lim(buf + SIZE)
+ , cur(lim)
+ , mar(lim)
+ , tok(lim)
+ /*!stags:re2c format = ", @@(0)"; */
+ , eof(false)
+ {}
+ bool fill(size_t need)
+ {
+ if (eof) {
+ printf("\nfill: underflow - 1\n");
+ return false;
+ }
+ const size_t free = tok - buf;
+ if (free < need) {
+ printf("\nfill: underflow - 2\n");
+ return false;
+ }
+ memmove(buf, tok, lim - tok);
+ lim -= free;
+ cur -= free;
+ mar -= free;
+ tok -= free;
+ /*!stags:re2c format = "@@ -= free;"; */
+ lim += fread(lim, 1, free, stdin);
+ if (lim < buf + SIZE) {
+ eof = true;
+ memset(lim, 0, YYMAXFILL);
+ lim += YYMAXFILL;
+ }
+ return true;
+ }
+};
+
+static bool lex(input_t & in)
+{
+#define YYPEEK() *in.cur
+#define YYSKIP() ++in.cur
+#define YYBACKUP() in.mar = in.cur
+#define YYRESTORE() in.cur = in.mar
+#define YYSTAGP(t) t = in.cur
+#define YYSTAGN(t) t = NULL
+#define YYRESTORETAG(t) in.cur = t
+#define YYLESSTHAN(n) in.lim - in.cur < n
+loop:
+ in.tok = in.cur;
+ const char *p1, *p2, *p3;
+ /*!re2c
+ re2c:define:YYCTYPE = char;
+ re2c:define:YYFILL = "if (!in.fill(@@)) return false;";
+ re2c:define:YYFILL:naked = 1;
+ re2c:tags:expression = "in.@@";
+
+ end = "\x00";
+ oct = [0-9]{1,3};
+ d = ".";
+
+ * { return false; }
+ end { return YYMAXFILL == in.lim - in.tok; }
+ oct @p1
+ d oct @p2
+ d oct @p3
+ d oct [\n] {
+ printf("> %u.%u.%u.%u\n",
+ parse_oct(in.tok, p1),
+ parse_oct(p1 + 1, p2),
+ parse_oct(p2 + 1, p3),
+ parse_oct(p3 + 1, in.cur - 1));
+ goto loop;
+ }
+ */
+}
+
+int main()
+{
+ input_t in;
+ if (!lex(in)) {
+ printf("error\n");
+ }
+
+ return 0;
+}
diff --git a/test/tags/conf2.i--tags.c b/test/tags/conf2.i--tags.c
new file mode 100644
index 00000000..97c2313f
--- /dev/null
+++ b/test/tags/conf2.i--tags.c
@@ -0,0 +1,339 @@
+/* Generated by re2c */
+#include <stdio.h>
+#include <string.h>
+
+static inline unsigned parse_oct(const char *s, const char *e)
+{
+ unsigned oct = 0;
+ for (; s != e; ++s) {
+ oct = oct * 10 + *s - '0';
+ }
+ return oct;
+}
+
+#define YYMAXFILL 16
+
+
+/* at least maximal lexeme length plus YYMAXFILL */
+static const size_t SIZE = YYMAXFILL * 2;
+
+struct input_t {
+ char buf[SIZE + YYMAXFILL];
+ char *lim;
+ char *cur;
+ char *mar;
+ char *tok;
+ char *yyt1;char *yyt2;char *yyt3;
+ bool eof;
+
+ input_t()
+ : buf()
+ , lim(buf + SIZE)
+ , cur(lim)
+ , mar(lim)
+ , tok(lim)
+ , yyt1(0), yyt2(0), yyt3(0)
+ , eof(false)
+ {}
+ bool fill(size_t need)
+ {
+ if (eof) {
+ printf("\nfill: underflow - 1\n");
+ return false;
+ }
+ const size_t free = tok - buf;
+ if (free < need) {
+ printf("\nfill: underflow - 2\n");
+ return false;
+ }
+ memmove(buf, tok, lim - tok);
+ lim -= free;
+ cur -= free;
+ mar -= free;
+ tok -= free;
+ yyt1 -= free;yyt2 -= free;yyt3 -= free;
+ lim += fread(lim, 1, free, stdin);
+ if (lim < buf + SIZE) {
+ eof = true;
+ memset(lim, 0, YYMAXFILL);
+ lim += YYMAXFILL;
+ }
+ return true;
+ }
+};
+
+static bool lex(input_t & in)
+{
+loop:
+ in.tok = in.cur;
+ const char *p1, *p2, *p3;
+
+{
+ char yych;
+ if ((in.lim - in.cur) < 16) if (!in.fill(16)) return false;
+ yych = *in.cur;
+ switch (yych) {
+ case 0x00: goto yy2;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy6;
+ default: goto yy4;
+ }
+yy2:
+ ++in.cur;
+ { return YYMAXFILL == in.lim - in.tok; }
+yy4:
+ ++in.cur;
+yy5:
+ { return false; }
+yy6:
+ yych = *(in.mar = ++in.cur);
+ switch (yych) {
+ case '.':
+ in.yyt1 = in.cur;
+ goto yy7;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy9;
+ default: goto yy5;
+ }
+yy7:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy10;
+ default: goto yy8;
+ }
+yy8:
+ in.cur = in.mar;
+ goto yy5;
+yy9:
+ yych = *++in.cur;
+ switch (yych) {
+ case '.':
+ in.yyt1 = in.cur;
+ goto yy7;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy11;
+ default: goto yy8;
+ }
+yy10:
+ yych = *++in.cur;
+ switch (yych) {
+ case '.':
+ in.yyt2 = in.cur;
+ goto yy12;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy13;
+ default: goto yy8;
+ }
+yy11:
+ yych = *++in.cur;
+ switch (yych) {
+ case '.':
+ in.yyt1 = in.cur;
+ goto yy7;
+ default: goto yy8;
+ }
+yy12:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy14;
+ default: goto yy8;
+ }
+yy13:
+ yych = *++in.cur;
+ switch (yych) {
+ case '.':
+ in.yyt2 = in.cur;
+ goto yy12;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy15;
+ default: goto yy8;
+ }
+yy14:
+ yych = *++in.cur;
+ switch (yych) {
+ case '.':
+ in.yyt3 = in.cur;
+ goto yy16;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy17;
+ default: goto yy8;
+ }
+yy15:
+ yych = *++in.cur;
+ switch (yych) {
+ case '.':
+ in.yyt2 = in.cur;
+ goto yy12;
+ default: goto yy8;
+ }
+yy16:
+ yych = *++in.cur;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy18;
+ default: goto yy8;
+ }
+yy17:
+ yych = *++in.cur;
+ switch (yych) {
+ case '.':
+ in.yyt3 = in.cur;
+ goto yy16;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy19;
+ default: goto yy8;
+ }
+yy18:
+ yych = *++in.cur;
+ switch (yych) {
+ case '\n': goto yy20;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy22;
+ default: goto yy8;
+ }
+yy19:
+ yych = *++in.cur;
+ switch (yych) {
+ case '.':
+ in.yyt3 = in.cur;
+ goto yy16;
+ default: goto yy8;
+ }
+yy20:
+ ++in.cur;
+ p1 = in.yyt1;
+ p2 = in.yyt2;
+ p3 = in.yyt3;
+ {
+ printf("> %u.%u.%u.%u\n",
+ parse_oct(in.tok, p1),
+ parse_oct(p1 + 1, p2),
+ parse_oct(p2 + 1, p3),
+ parse_oct(p3 + 1, in.cur - 1));
+ goto loop;
+ }
+yy22:
+ yych = *++in.cur;
+ switch (yych) {
+ case '\n': goto yy20;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy23;
+ default: goto yy8;
+ }
+yy23:
+ yych = *++in.cur;
+ switch (yych) {
+ case '\n': goto yy20;
+ default: goto yy8;
+ }
+}
+
+}
+
+int main()
+{
+ input_t in;
+ if (!lex(in)) {
+ printf("error\n");
+ }
+
+ return 0;
+}
diff --git a/test/tags/conf2.i--tags.re b/test/tags/conf2.i--tags.re
new file mode 100644
index 00000000..82b223b4
--- /dev/null
+++ b/test/tags/conf2.i--tags.re
@@ -0,0 +1,105 @@
+#include <stdio.h>
+#include <string.h>
+
+static inline unsigned parse_oct(const char *s, const char *e)
+{
+ unsigned oct = 0;
+ for (; s != e; ++s) {
+ oct = oct * 10 + *s - '0';
+ }
+ return oct;
+}
+
+/*!max:re2c*/
+
+/* at least maximal lexeme length plus YYMAXFILL */
+static const size_t SIZE = YYMAXFILL * 2;
+
+struct input_t {
+ char buf[SIZE + YYMAXFILL];
+ char *lim;
+ char *cur;
+ char *mar;
+ char *tok;
+ /*!stags:re2c format = "char *@@;"; */
+ bool eof;
+
+ input_t()
+ : buf()
+ , lim(buf + SIZE)
+ , cur(lim)
+ , mar(lim)
+ , tok(lim)
+ /*!stags:re2c format = ", @@(0)"; */
+ , eof(false)
+ {}
+ bool fill(size_t need)
+ {
+ if (eof) {
+ printf("\nfill: underflow - 1\n");
+ return false;
+ }
+ const size_t free = tok - buf;
+ if (free < need) {
+ printf("\nfill: underflow - 2\n");
+ return false;
+ }
+ memmove(buf, tok, lim - tok);
+ lim -= free;
+ cur -= free;
+ mar -= free;
+ tok -= free;
+ /*!stags:re2c format = "@@ -= free;"; */
+ lim += fread(lim, 1, free, stdin);
+ if (lim < buf + SIZE) {
+ eof = true;
+ memset(lim, 0, YYMAXFILL);
+ lim += YYMAXFILL;
+ }
+ return true;
+ }
+};
+
+static bool lex(input_t & in)
+{
+loop:
+ in.tok = in.cur;
+ const char *p1, *p2, *p3;
+ /*!re2c
+ re2c:define:YYCTYPE = char;
+ re2c:define:YYCURSOR = in.cur;
+ re2c:define:YYLIMIT = in.lim;
+ re2c:define:YYMARKER = in.mar;
+ re2c:define:YYFILL = "if (!in.fill(@@)) return false;";
+ re2c:define:YYFILL:naked = 1;
+ re2c:tags:expression = "in.@@";
+
+ end = "\x00";
+ oct = [0-9]{1,3};
+ d = ".";
+
+ * { return false; }
+ end { return YYMAXFILL == in.lim - in.tok; }
+ oct @p1
+ d oct @p2
+ d oct @p3
+ d oct [\n] {
+ printf("> %u.%u.%u.%u\n",
+ parse_oct(in.tok, p1),
+ parse_oct(p1 + 1, p2),
+ parse_oct(p2 + 1, p3),
+ parse_oct(p3 + 1, in.cur - 1));
+ goto loop;
+ }
+ */
+}
+
+int main()
+{
+ input_t in;
+ if (!lex(in)) {
+ printf("error\n");
+ }
+
+ return 0;
+}
diff --git a/test/tags/conf3.i--tags--input(custom).c b/test/tags/conf3.i--tags--input(custom).c
new file mode 100644
index 00000000..cfc3827a
--- /dev/null
+++ b/test/tags/conf3.i--tags--input(custom).c
@@ -0,0 +1,320 @@
+/* Generated by re2c */
+#include <stddef.h>
+#include <stdio.h>
+
+static inline unsigned parse_oct(const char *s, const char *e)
+{
+ unsigned oct = 0;
+ for (; s != e; ++s) {
+ oct = oct * 10 + *s - '0';
+ }
+ return oct;
+}
+
+struct tags_t
+{
+ const char *yyt1;const char *yyt2;const char *yyt3;const char *yyt4;
+
+ tags_t();
+ void push(const char *arg_yyt1,const char *arg_yyt2,const char *arg_yyt3,const char *arg_yyt4);
+ void pop(const char *&arg_yyt1,const char *&arg_yyt2,const char *&arg_yyt3,const char *&arg_yyt4);
+};
+
+static void lex(const char *s)
+{
+#define YYPEEK() *s
+#define YYSKIP() ++s
+#define YYBACKUP() marker = s
+#define YYRESTORE() s = marker
+#define YYSTAGP(t) t = s
+#define YYSTAGN(t) t = NULL
+#define YYRESTORETAG(t) s = t
+ const char *marker, *p0, *p1, *p2, *p3;
+ tags_t tags;
+
+{
+ char yych;
+ yych = YYPEEK ();
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ YYSTAGP (tags.yyt1);
+ goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ YYSKIP ();
+yy3:
+ { printf("error\n"); return; }
+yy4:
+ YYSKIP ();
+ YYBACKUP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '.':
+ YYSTAGP (tags.yyt2);
+ goto yy5;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy7;
+ default: goto yy3;
+ }
+yy5:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy8;
+ default: goto yy6;
+ }
+yy6:
+ YYRESTORE ();
+ goto yy3;
+yy7:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '.':
+ YYSTAGP (tags.yyt2);
+ goto yy5;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy9;
+ default: goto yy6;
+ }
+yy8:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '.':
+ YYSTAGP (tags.yyt3);
+ goto yy10;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy11;
+ default: goto yy6;
+ }
+yy9:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '.':
+ YYSTAGP (tags.yyt2);
+ goto yy5;
+ default: goto yy6;
+ }
+yy10:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy12;
+ default: goto yy6;
+ }
+yy11:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '.':
+ YYSTAGP (tags.yyt3);
+ goto yy10;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy13;
+ default: goto yy6;
+ }
+yy12:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '.':
+ YYSTAGP (tags.yyt4);
+ goto yy14;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy15;
+ default: goto yy6;
+ }
+yy13:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '.':
+ YYSTAGP (tags.yyt3);
+ goto yy10;
+ default: goto yy6;
+ }
+yy14:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy16;
+ default: goto yy6;
+ }
+yy15:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '.':
+ YYSTAGP (tags.yyt4);
+ goto yy14;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy18;
+ default: goto yy6;
+ }
+yy16:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy19;
+ default: goto yy17;
+ }
+yy17:
+ p0 = tags.yyt1;
+ p1 = tags.yyt2;
+ p2 = tags.yyt3;
+ p3 = tags.yyt4;
+ {
+ printf("%u.%u.%u.%u\n",
+ parse_oct(p0, p1),
+ parse_oct(p1 + 1, p2),
+ parse_oct(p2 + 1, p3),
+ parse_oct(p3 + 1, s));
+ return;
+ }
+yy18:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '.':
+ YYSTAGP (tags.yyt4);
+ goto yy14;
+ default: goto yy6;
+ }
+yy19:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy20;
+ default: goto yy17;
+ }
+yy20:
+ YYSKIP ();
+ goto yy17;
+}
+
+}
+
+tags_t::tags_t(): yyt1(0),yyt2(0),yyt3(0),yyt4(0) {}
+
+void tags_t::push(const char *arg_yyt1,const char *arg_yyt2,const char *arg_yyt3,const char *arg_yyt4)
+{
+ yyt1 = arg_yyt1;yyt2 = arg_yyt2;yyt3 = arg_yyt3;yyt4 = arg_yyt4;
+}
+
+void tags_t::pop(const char *&arg_yyt1,const char *&arg_yyt2,const char *&arg_yyt3,const char *&arg_yyt4)
+{
+ arg_yyt1 = yyt1;arg_yyt2 = yyt2;arg_yyt3 = yyt3;arg_yyt4 = yyt4;
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ lex(argv[i]);
+ }
+ return 0;
+}
diff --git a/test/tags/conf3.i--tags--input(custom).re b/test/tags/conf3.i--tags--input(custom).re
new file mode 100644
index 00000000..7bb6c854
--- /dev/null
+++ b/test/tags/conf3.i--tags--input(custom).re
@@ -0,0 +1,87 @@
+#include <stddef.h>
+#include <stdio.h>
+
+static inline unsigned parse_oct(const char *s, const char *e)
+{
+ unsigned oct = 0;
+ for (; s != e; ++s) {
+ oct = oct * 10 + *s - '0';
+ }
+ return oct;
+}
+
+struct tags_t
+{
+ /*!stags:re2c format = "const char *@@;"; */
+
+ tags_t();
+ void push(/*!stags:re2c
+ format = "const char *arg_@@";
+ separator = ","; */);
+ void pop(/*!stags:re2c
+ format = "const char *&arg_@@";
+ separator = ","; */);
+};
+
+static void lex(const char *s)
+{
+#define YYPEEK() *s
+#define YYSKIP() ++s
+#define YYBACKUP() marker = s
+#define YYRESTORE() s = marker
+#define YYSTAGP(t) t = s
+#define YYSTAGN(t) t = NULL
+#define YYRESTORETAG(t) s = t
+ const char *marker, *p0, *p1, *p2, *p3;
+ tags_t tags;
+ /*!re2c
+ re2c:define:YYCTYPE = char;
+ re2c:yyfill:enable = 0;
+ re2c:tags:expression = "tags.@@";
+
+ oct = [0-9]{1,3};
+ d = ".";
+
+ * { printf("error\n"); return; }
+
+ @p0
+ oct @p1
+ d oct @p2
+ d oct @p3
+ d oct {
+ printf("%u.%u.%u.%u\n",
+ parse_oct(p0, p1),
+ parse_oct(p1 + 1, p2),
+ parse_oct(p2 + 1, p3),
+ parse_oct(p3 + 1, s));
+ return;
+ }
+ */
+}
+
+tags_t::tags_t(): /*!stags:re2c
+ format = "@@(0)";
+ separator = ",";
+*/ {}
+
+void tags_t::push(/*!stags:re2c
+ format = "const char *arg_@@";
+ separator = ","; */)
+{
+ /*!stags:re2c format = "@@ = arg_@@;"; */
+}
+
+void tags_t::pop(/*!stags:re2c
+ format = "const char *&arg_@@";
+ separator = ","; */)
+{
+ /*!stags:re2c format = "arg_@@ = @@;"; */
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ lex(argv[i]);
+ }
+ return 0;
+}
diff --git a/test/tags/conf3.i--tags.c b/test/tags/conf3.i--tags.c
new file mode 100644
index 00000000..dd225ca0
--- /dev/null
+++ b/test/tags/conf3.i--tags.c
@@ -0,0 +1,298 @@
+/* Generated by re2c */
+#include <stddef.h>
+#include <stdio.h>
+
+static inline unsigned parse_oct(const char *s, const char *e)
+{
+ unsigned oct = 0;
+ for (; s != e; ++s) {
+ oct = oct * 10 + *s - '0';
+ }
+ return oct;
+}
+
+struct tags_t
+{
+ const char *yyt1;const char *yyt2;const char *yyt3;const char *yyt4;
+
+ tags_t();
+ void push(const char *arg_yyt1,const char *arg_yyt2,const char *arg_yyt3,const char *arg_yyt4);
+ void pop(const char *&arg_yyt1,const char *&arg_yyt2,const char *&arg_yyt3,const char *&arg_yyt4);
+};
+
+static void lex(const char *YYCURSOR)
+{
+ const char *YYMARKER, *p0, *p1, *p2, *p3;
+ tags_t tags;
+
+{
+ char yych;
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ tags.yyt1 = YYCURSOR;
+ goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ ++YYCURSOR;
+yy3:
+ { printf("error\n"); return; }
+yy4:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case '.':
+ tags.yyt2 = YYCURSOR;
+ goto yy5;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy7;
+ default: goto yy3;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy8;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = YYMARKER;
+ goto yy3;
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.':
+ tags.yyt2 = YYCURSOR;
+ goto yy5;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy9;
+ default: goto yy6;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.':
+ tags.yyt3 = YYCURSOR;
+ goto yy10;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy11;
+ default: goto yy6;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.':
+ tags.yyt2 = YYCURSOR;
+ goto yy5;
+ default: goto yy6;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy12;
+ default: goto yy6;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.':
+ tags.yyt3 = YYCURSOR;
+ goto yy10;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy13;
+ default: goto yy6;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.':
+ tags.yyt4 = YYCURSOR;
+ goto yy14;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy15;
+ default: goto yy6;
+ }
+yy13:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.':
+ tags.yyt3 = YYCURSOR;
+ goto yy10;
+ default: goto yy6;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy16;
+ default: goto yy6;
+ }
+yy15:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.':
+ tags.yyt4 = YYCURSOR;
+ goto yy14;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy18;
+ default: goto yy6;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy19;
+ default: goto yy17;
+ }
+yy17:
+ p0 = tags.yyt1;
+ p1 = tags.yyt2;
+ p2 = tags.yyt3;
+ p3 = tags.yyt4;
+ {
+ printf("%u.%u.%u.%u\n",
+ parse_oct(p0, p1),
+ parse_oct(p1 + 1, p2),
+ parse_oct(p2 + 1, p3),
+ parse_oct(p3 + 1, YYCURSOR));
+ return;
+ }
+yy18:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '.':
+ tags.yyt4 = YYCURSOR;
+ goto yy14;
+ default: goto yy6;
+ }
+yy19:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9': goto yy20;
+ default: goto yy17;
+ }
+yy20:
+ ++YYCURSOR;
+ goto yy17;
+}
+
+}
+
+tags_t::tags_t(): yyt1(0),yyt2(0),yyt3(0),yyt4(0) {}
+
+void tags_t::push(const char *arg_yyt1,const char *arg_yyt2,const char *arg_yyt3,const char *arg_yyt4)
+{
+ yyt1 = arg_yyt1;yyt2 = arg_yyt2;yyt3 = arg_yyt3;yyt4 = arg_yyt4;
+}
+
+void tags_t::pop(const char *&arg_yyt1,const char *&arg_yyt2,const char *&arg_yyt3,const char *&arg_yyt4)
+{
+ arg_yyt1 = yyt1;arg_yyt2 = yyt2;arg_yyt3 = yyt3;arg_yyt4 = yyt4;
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ lex(argv[i]);
+ }
+ return 0;
+}
diff --git a/test/tags/conf3.i--tags.re b/test/tags/conf3.i--tags.re
new file mode 100644
index 00000000..ad4f4091
--- /dev/null
+++ b/test/tags/conf3.i--tags.re
@@ -0,0 +1,80 @@
+#include <stddef.h>
+#include <stdio.h>
+
+static inline unsigned parse_oct(const char *s, const char *e)
+{
+ unsigned oct = 0;
+ for (; s != e; ++s) {
+ oct = oct * 10 + *s - '0';
+ }
+ return oct;
+}
+
+struct tags_t
+{
+ /*!stags:re2c format = "const char *@@;"; */
+
+ tags_t();
+ void push(/*!stags:re2c
+ format = "const char *arg_@@";
+ separator = ","; */);
+ void pop(/*!stags:re2c
+ format = "const char *&arg_@@";
+ separator = ","; */);
+};
+
+static void lex(const char *YYCURSOR)
+{
+ const char *YYMARKER, *p0, *p1, *p2, *p3;
+ tags_t tags;
+ /*!re2c
+ re2c:define:YYCTYPE = char;
+ re2c:yyfill:enable = 0;
+ re2c:tags:expression = "tags.@@";
+
+ oct = [0-9]{1,3};
+ d = ".";
+
+ * { printf("error\n"); return; }
+
+ @p0
+ oct @p1
+ d oct @p2
+ d oct @p3
+ d oct {
+ printf("%u.%u.%u.%u\n",
+ parse_oct(p0, p1),
+ parse_oct(p1 + 1, p2),
+ parse_oct(p2 + 1, p3),
+ parse_oct(p3 + 1, YYCURSOR));
+ return;
+ }
+ */
+}
+
+tags_t::tags_t(): /*!stags:re2c
+ format = "@@(0)";
+ separator = ",";
+*/ {}
+
+void tags_t::push(/*!stags:re2c
+ format = "const char *arg_@@";
+ separator = ","; */)
+{
+ /*!stags:re2c format = "@@ = arg_@@;"; */
+}
+
+void tags_t::pop(/*!stags:re2c
+ format = "const char *&arg_@@";
+ separator = ","; */)
+{
+ /*!stags:re2c format = "arg_@@ = @@;"; */
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ lex(argv[i]);
+ }
+ return 0;
+}
diff --git a/test/tags/copy_coalescing1.i--tags.c b/test/tags/copy_coalescing1.i--tags.c
new file mode 100644
index 00000000..220db09b
--- /dev/null
+++ b/test/tags/copy_coalescing1.i--tags.c
@@ -0,0 +1,101 @@
+/* Generated by re2c */
+// This test demonstrates the need for copy coalescing during
+// allocation of tag variables: low interference allows for many
+// ways of partitioning tag versions into equivalence classes.
+
+// Without copy coalescing the choice is arbitrary: operands of
+// copy command may or may not get into the same class.
+// Coalescing adds bias to this choice: we first try to merge
+// copy operands, then examine the rest of tags.
+
+yyt1
+yyt2
+
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ ++YYCURSOR;
+yy3:
+ {}
+yy4:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ case 'd':
+ yyt1 = YYCURSOR;
+ goto yy7;
+ default: goto yy3;
+ }
+yy5:
+ yyaccept = 0;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy9;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy6;
+ }
+yy6:
+ p = yyt1;
+ q = yyt2;
+ { p q }
+yy7:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy11;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy8:
+ r = yyt1;
+ s = yyt2;
+ { r s }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ default: goto yy10;
+ }
+yy10:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ yyt2 = YYCURSOR;
+ goto yy6;
+ } else {
+ yyt2 = YYCURSOR;
+ goto yy8;
+ }
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt1 = YYCURSOR;
+ goto yy7;
+ default: goto yy10;
+ }
+}
+
+re2c: warning: line 12: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 13: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/tags/copy_coalescing1.i--tags.re b/test/tags/copy_coalescing1.i--tags.re
new file mode 100644
index 00000000..1c773b51
--- /dev/null
+++ b/test/tags/copy_coalescing1.i--tags.re
@@ -0,0 +1,15 @@
+// This test demonstrates the need for copy coalescing during
+// allocation of tag variables: low interference allows for many
+// ways of partitioning tag versions into equivalence classes.
+
+// Without copy coalescing the choice is arbitrary: operands of
+// copy command may or may not get into the same class.
+// Coalescing adds bias to this choice: we first try to merge
+// copy operands, then examine the rest of tags.
+
+/*!stags:re2c format = "@@\n"; */
+/*!re2c
+ ("a" @p "c" @q)* { p q }
+ ("a" @r "d" @s)* { r s }
+ * {}
+*/
diff --git a/test/tags/copy_coalescing2.i--tags.c b/test/tags/copy_coalescing2.i--tags.c
new file mode 100644
index 00000000..402d50c9
--- /dev/null
+++ b/test/tags/copy_coalescing2.i--tags.c
@@ -0,0 +1,87 @@
+/* Generated by re2c */
+// This test shows the need for merging non-interfering classes
+// of tag versions after copy coalescing during allocation of
+// tag variables.
+
+yyt1
+
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ ++YYCURSOR;
+yy3:
+ {}
+yy4:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ case 'd':
+ yyt1 = YYCURSOR;
+ goto yy7;
+ default: goto yy3;
+ }
+yy5:
+ yyaccept = 0;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy9;
+ default: goto yy6;
+ }
+yy6:
+ p = yyt1;
+ { p }
+yy7:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy11;
+ default: goto yy8;
+ }
+yy8:
+ q = yyt1;
+ { q }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ default: goto yy10;
+ }
+yy10:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy6;
+ } else {
+ goto yy8;
+ }
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt1 = YYCURSOR;
+ goto yy7;
+ default: goto yy10;
+ }
+}
+
+re2c: warning: line 7: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 8: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/tags/copy_coalescing2.i--tags.re b/test/tags/copy_coalescing2.i--tags.re
new file mode 100644
index 00000000..25b4de16
--- /dev/null
+++ b/test/tags/copy_coalescing2.i--tags.re
@@ -0,0 +1,10 @@
+// This test shows the need for merging non-interfering classes
+// of tag versions after copy coalescing during allocation of
+// tag variables.
+
+/*!stags:re2c format = "@@\n"; */
+/*!re2c
+ ("a" @p "c")* { p }
+ ("a" @q "d")* { q }
+ * {}
+*/
diff --git a/test/tags/copy_save.i--tags.c b/test/tags/copy_save.i--tags.c
new file mode 100644
index 00000000..f882684d
--- /dev/null
+++ b/test/tags/copy_save.i--tags.c
@@ -0,0 +1,56 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt1 = NULL;
+ goto yy2;
+ }
+yy2:
+ p = yyt1;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = yyt1;
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b': goto yy5;
+ default: goto yy2;
+ }
+yy5:
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy6;
+ default:
+ yyt1 = yyt2;
+ goto yy2;
+ }
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default: goto yy7;
+ }
+yy7:
+ YYCURSOR = YYMARKER;
+ yyt1 = yyt2;
+ goto yy2;
+}
+
+re2c: warning: line 3: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 3: tag 'p' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
diff --git a/test/tags/copy_save.i--tags.re b/test/tags/copy_save.i--tags.re
new file mode 100644
index 00000000..acc3367b
--- /dev/null
+++ b/test/tags/copy_save.i--tags.re
@@ -0,0 +1,5 @@
+/*!re2c
+
+(@p "a")* "ab"* {}
+
+*/
diff --git a/test/tags/counter1.i--tags.c b/test/tags/counter1.i--tags.c
new file mode 100644
index 00000000..c710581d
--- /dev/null
+++ b/test/tags/counter1.i--tags.c
@@ -0,0 +1,118 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 10) YYFILL(10);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt1 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ ++YYCURSOR;
+yy3:
+ {}
+yy4:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'd':
+ yyt3 = YYCURSOR;
+ goto yy5;
+ default: goto yy3;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt4 = YYCURSOR;
+ goto yy7;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = YYMARKER;
+ goto yy3;
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt5 = YYCURSOR;
+ goto yy8;
+ default: goto yy6;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt6 = YYCURSOR;
+ goto yy9;
+ default: goto yy6;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt7 = YYCURSOR;
+ goto yy10;
+ default: goto yy6;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt8 = YYCURSOR;
+ goto yy11;
+ default: goto yy6;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt9 = YYCURSOR;
+ goto yy12;
+ default: goto yy6;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt10 = YYCURSOR;
+ goto yy13;
+ default: goto yy6;
+ }
+yy13:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt11 = YYCURSOR;
+ goto yy14;
+ default: goto yy6;
+ }
+yy14:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt1 = yyt2;
+ yyt2 = yyt3;
+ yyt3 = yyt4;
+ yyt4 = yyt5;
+ yyt5 = yyt6;
+ yyt6 = yyt7;
+ yyt7 = yyt8;
+ yyt8 = yyt9;
+ yyt9 = yyt10;
+ yyt10 = yyt11;
+ yyt11 = YYCURSOR;
+ goto yy14;
+ default: goto yy16;
+ }
+yy16:
+ z = yyt1;
+ {}
+}
+
+re2c: warning: line 3: tag 'z' has 11th degree of nondeterminism [-Wnondeterministic-tags]
diff --git a/test/tags/counter1.i--tags.re b/test/tags/counter1.i--tags.re
new file mode 100644
index 00000000..e46568ad
--- /dev/null
+++ b/test/tags/counter1.i--tags.re
@@ -0,0 +1,6 @@
+/*!re2c
+
+(@z "d")* "d"{10} {}
+* {}
+
+*/
diff --git a/test/tags/dedup0.i--input(custom).c b/test/tags/dedup0.i--input(custom).c
new file mode 100644
index 00000000..6dbec296
--- /dev/null
+++ b/test/tags/dedup0.i--input(custom).c
@@ -0,0 +1,75 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLESSTHAN (3)) YYFILL(3);
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'a': goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ YYSKIP ();
+yy3:
+ {}
+yy4:
+ YYSKIP ();
+ YYBACKUP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'a': goto yy5;
+ case 'b':
+ YYBACKUPCTX ();
+ goto yy7;
+ case 'c':
+ YYBACKUPCTX ();
+ goto yy10;
+ default: goto yy3;
+ }
+yy5:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'z':
+ YYBACKUPCTX ();
+ goto yy13;
+ default: goto yy6;
+ }
+yy6:
+ YYRESTORE ();
+ goto yy3;
+yy7:
+ YYSKIP ();
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'b': goto yy7;
+ default: goto yy9;
+ }
+yy9:
+ YYRESTORECTX ();
+ {}
+yy10:
+ YYSKIP ();
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'c': goto yy10;
+ default: goto yy12;
+ }
+yy12:
+ YYRESTORECTX ();
+ {}
+yy13:
+ YYSKIP ();
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'z': goto yy13;
+ default: goto yy15;
+ }
+yy15:
+ YYRESTORECTX ();
+ {}
+}
+
diff --git a/test/tags/dedup0.i--input(custom).re b/test/tags/dedup0.i--input(custom).re
new file mode 100644
index 00000000..1c04b1ac
--- /dev/null
+++ b/test/tags/dedup0.i--input(custom).re
@@ -0,0 +1,6 @@
+/*!re2c
+ "a" / "b"+ {}
+ "a" / "c"+ {}
+ "aa" / "z"+ {}
+ * {}
+*/
diff --git a/test/tags/dedup0.i.c b/test/tags/dedup0.i.c
new file mode 100644
index 00000000..890c8c87
--- /dev/null
+++ b/test/tags/dedup0.i.c
@@ -0,0 +1,72 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ ++YYCURSOR;
+yy3:
+ {}
+yy4:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a': goto yy5;
+ case 'b':
+ YYCTXMARKER = YYCURSOR;
+ goto yy7;
+ case 'c':
+ YYCTXMARKER = YYCURSOR;
+ goto yy10;
+ default: goto yy3;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'z':
+ YYCTXMARKER = YYCURSOR;
+ goto yy13;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = YYMARKER;
+ goto yy3;
+yy7:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy7;
+ default: goto yy9;
+ }
+yy9:
+ YYCURSOR = YYCTXMARKER;
+ {}
+yy10:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy10;
+ default: goto yy12;
+ }
+yy12:
+ YYCURSOR = YYCTXMARKER;
+ {}
+yy13:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'z': goto yy13;
+ default: goto yy15;
+ }
+yy15:
+ YYCURSOR = YYCTXMARKER;
+ {}
+}
+
diff --git a/test/tags/dedup0.i.re b/test/tags/dedup0.i.re
new file mode 100644
index 00000000..1c04b1ac
--- /dev/null
+++ b/test/tags/dedup0.i.re
@@ -0,0 +1,6 @@
+/*!re2c
+ "a" / "b"+ {}
+ "a" / "c"+ {}
+ "aa" / "z"+ {}
+ * {}
+*/
diff --git a/test/tags/dedup1.i--input(custom).c b/test/tags/dedup1.i--input(custom).c
new file mode 100644
index 00000000..605cfad4
--- /dev/null
+++ b/test/tags/dedup1.i--input(custom).c
@@ -0,0 +1,91 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLESSTHAN (3)) YYFILL(3);
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'a': goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ YYSKIP ();
+ yych = YYPEEK ();
+ YYBACKUPCTX ();
+ goto yy7;
+yy3:
+ YYRESTORECTX ();
+ {}
+yy4:
+ YYSKIP ();
+ YYBACKUP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'a': goto yy8;
+ case 'b':
+ YYBACKUPCTX ();
+ goto yy10;
+ default:
+ YYBACKUPCTX ();
+ goto yy5;
+ }
+yy5:
+ YYRESTORECTX ();
+ {}
+yy6:
+ YYSKIP ();
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+yy7:
+ switch (yych) {
+ case 'b': goto yy6;
+ default: goto yy3;
+ }
+yy8:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'b':
+ YYBACKUPCTX ();
+ goto yy12;
+ case 'c':
+ YYBACKUPCTX ();
+ goto yy15;
+ default: goto yy9;
+ }
+yy9:
+ YYRESTORE ();
+ YYBACKUPCTX ();
+ goto yy5;
+yy10:
+ YYSKIP ();
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'b': goto yy10;
+ default: goto yy5;
+ }
+yy12:
+ YYSKIP ();
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'b': goto yy12;
+ default: goto yy14;
+ }
+yy14:
+ YYRESTORECTX ();
+ {}
+yy15:
+ YYSKIP ();
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'c': goto yy15;
+ default: goto yy17;
+ }
+yy17:
+ YYRESTORECTX ();
+ {}
+}
+
diff --git a/test/tags/dedup1.i--input(custom).re b/test/tags/dedup1.i--input(custom).re
new file mode 100644
index 00000000..72297396
--- /dev/null
+++ b/test/tags/dedup1.i--input(custom).re
@@ -0,0 +1,6 @@
+/*!re2c
+ [a] / "b"* {}
+ [^a] / "b"* {}
+ "aa" / "b"+ {}
+ "aa" / "c"+ {}
+*/
diff --git a/test/tags/dedup1.i.c b/test/tags/dedup1.i.c
new file mode 100644
index 00000000..d3c17037
--- /dev/null
+++ b/test/tags/dedup1.i.c
@@ -0,0 +1,87 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ yych = *++YYCURSOR;
+ YYCTXMARKER = YYCURSOR;
+ goto yy7;
+yy3:
+ YYCURSOR = YYCTXMARKER;
+ {}
+yy4:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a': goto yy8;
+ case 'b':
+ YYCTXMARKER = YYCURSOR;
+ goto yy10;
+ default:
+ YYCTXMARKER = YYCURSOR;
+ goto yy5;
+ }
+yy5:
+ YYCURSOR = YYCTXMARKER;
+ {}
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy7:
+ switch (yych) {
+ case 'b': goto yy6;
+ default: goto yy3;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ YYCTXMARKER = YYCURSOR;
+ goto yy12;
+ case 'c':
+ YYCTXMARKER = YYCURSOR;
+ goto yy15;
+ default: goto yy9;
+ }
+yy9:
+ YYCURSOR = YYMARKER;
+ YYCTXMARKER = YYCURSOR;
+ goto yy5;
+yy10:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy10;
+ default: goto yy5;
+ }
+yy12:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy12;
+ default: goto yy14;
+ }
+yy14:
+ YYCURSOR = YYCTXMARKER;
+ {}
+yy15:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy15;
+ default: goto yy17;
+ }
+yy17:
+ YYCURSOR = YYCTXMARKER;
+ {}
+}
+
diff --git a/test/tags/dedup1.i.re b/test/tags/dedup1.i.re
new file mode 100644
index 00000000..72297396
--- /dev/null
+++ b/test/tags/dedup1.i.re
@@ -0,0 +1,6 @@
+/*!re2c
+ [a] / "b"* {}
+ [^a] / "b"* {}
+ "aa" / "b"+ {}
+ "aa" / "c"+ {}
+*/
diff --git a/test/tags/dedup2.i--input(custom).c b/test/tags/dedup2.i--input(custom).c
new file mode 100644
index 00000000..e6657ca2
--- /dev/null
+++ b/test/tags/dedup2.i--input(custom).c
@@ -0,0 +1,16 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ goto yy0;
+yy1:
+ YYSKIP ();
+yy0:
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ goto yy1;
+}
+
+re2c: warning: line 2: unreachable rule [-Wunreachable-rules]
+re2c: warning: line 3: unreachable rule [-Wunreachable-rules]
+re2c: warning: line 4: unreachable rule (shadowed by rule at line 2) [-Wunreachable-rules]
diff --git a/test/tags/dedup2.i--input(custom).re b/test/tags/dedup2.i--input(custom).re
new file mode 100644
index 00000000..96b92ae0
--- /dev/null
+++ b/test/tags/dedup2.i--input(custom).re
@@ -0,0 +1,5 @@
+/*!re2c
+ [a] / [^]* {}
+ [^a] / [^]* {}
+ "aa" / "z"+ {}
+*/
diff --git a/test/tags/dedup2.i.c b/test/tags/dedup2.i.c
new file mode 100644
index 00000000..3b3185fa
--- /dev/null
+++ b/test/tags/dedup2.i.c
@@ -0,0 +1,16 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ goto yy0;
+yy1:
+ ++YYCURSOR;
+yy0:
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ goto yy1;
+}
+
+re2c: warning: line 2: unreachable rule [-Wunreachable-rules]
+re2c: warning: line 3: unreachable rule [-Wunreachable-rules]
+re2c: warning: line 4: unreachable rule (shadowed by rule at line 2) [-Wunreachable-rules]
diff --git a/test/tags/dedup2.i.re b/test/tags/dedup2.i.re
new file mode 100644
index 00000000..96b92ae0
--- /dev/null
+++ b/test/tags/dedup2.i.re
@@ -0,0 +1,5 @@
+/*!re2c
+ [a] / [^]* {}
+ [^a] / [^]* {}
+ "aa" / "z"+ {}
+*/
diff --git a/test/tags/dedup3.i--input(custom).c b/test/tags/dedup3.i--input(custom).c
new file mode 100644
index 00000000..063deddb
--- /dev/null
+++ b/test/tags/dedup3.i--input(custom).c
@@ -0,0 +1,77 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if (YYLESSTHAN (3)) YYFILL(3);
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'a': goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ YYSKIP ();
+ yych = YYPEEK ();
+ YYBACKUPCTX ();
+ goto yy7;
+yy3:
+ YYRESTORECTX ();
+ {}
+yy4:
+ YYSKIP ();
+ YYBACKUP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'a': goto yy8;
+ case 'b':
+ YYBACKUPCTX ();
+ goto yy10;
+ default:
+ YYBACKUPCTX ();
+ goto yy5;
+ }
+yy5:
+ YYRESTORECTX ();
+ {}
+yy6:
+ YYSKIP ();
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+yy7:
+ switch (yych) {
+ case 'b': goto yy6;
+ default: goto yy3;
+ }
+yy8:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'b':
+ YYBACKUPCTX ();
+ goto yy12;
+ default: goto yy9;
+ }
+yy9:
+ YYRESTORE ();
+ YYBACKUPCTX ();
+ goto yy5;
+yy10:
+ YYSKIP ();
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'b': goto yy10;
+ default: goto yy5;
+ }
+yy12:
+ YYSKIP ();
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ switch (yych) {
+ case 'b': goto yy12;
+ default: goto yy14;
+ }
+yy14:
+ YYRESTORECTX ();
+ {}
+}
+
diff --git a/test/tags/dedup3.i--input(custom).re b/test/tags/dedup3.i--input(custom).re
new file mode 100644
index 00000000..df29143d
--- /dev/null
+++ b/test/tags/dedup3.i--input(custom).re
@@ -0,0 +1,5 @@
+/*!re2c
+ [a] / "b"* {}
+ [^a] / "b"* {}
+ "aa" / "b"+ {}
+*/
diff --git a/test/tags/dedup3.i.c b/test/tags/dedup3.i.c
new file mode 100644
index 00000000..be5739b5
--- /dev/null
+++ b/test/tags/dedup3.i.c
@@ -0,0 +1,73 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ yych = *++YYCURSOR;
+ YYCTXMARKER = YYCURSOR;
+ goto yy7;
+yy3:
+ YYCURSOR = YYCTXMARKER;
+ {}
+yy4:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a': goto yy8;
+ case 'b':
+ YYCTXMARKER = YYCURSOR;
+ goto yy10;
+ default:
+ YYCTXMARKER = YYCURSOR;
+ goto yy5;
+ }
+yy5:
+ YYCURSOR = YYCTXMARKER;
+ {}
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy7:
+ switch (yych) {
+ case 'b': goto yy6;
+ default: goto yy3;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ YYCTXMARKER = YYCURSOR;
+ goto yy12;
+ default: goto yy9;
+ }
+yy9:
+ YYCURSOR = YYMARKER;
+ YYCTXMARKER = YYCURSOR;
+ goto yy5;
+yy10:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy10;
+ default: goto yy5;
+ }
+yy12:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy12;
+ default: goto yy14;
+ }
+yy14:
+ YYCURSOR = YYCTXMARKER;
+ {}
+}
+
diff --git a/test/tags/dedup3.i.re b/test/tags/dedup3.i.re
new file mode 100644
index 00000000..df29143d
--- /dev/null
+++ b/test/tags/dedup3.i.re
@@ -0,0 +1,5 @@
+/*!re2c
+ [a] / "b"* {}
+ [^a] / "b"* {}
+ "aa" / "b"+ {}
+*/
diff --git a/test/tags/dedup4.i--tags.c b/test/tags/dedup4.i--tags.c
new file mode 100644
index 00000000..09d343d1
--- /dev/null
+++ b/test/tags/dedup4.i--tags.c
@@ -0,0 +1,268 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ ++YYCURSOR;
+ {}
+yy4:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ case 'c':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy8;
+ case 'd':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy5;
+ }
+yy5:
+ p = yyt1;
+ YYCURSOR = yyt2;
+ { 1 p }
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy6;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy8;
+ case 'd':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy5;
+ }
+yy8:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy8;
+ default: goto yy10;
+ }
+yy10:
+ p = yyt1;
+ YYCURSOR = yyt2;
+ { 2 p }
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy11;
+ default: goto yy5;
+ }
+}
+
+
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy17;
+ default: goto yy15;
+ }
+yy15:
+ ++YYCURSOR;
+ {}
+yy17:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy19;
+ case 'c':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy21;
+ default:
+ yyt1 = YYCURSOR;
+ goto yy18;
+ }
+yy18:
+ p = yyt1;
+ { 1 p }
+yy19:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy19;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy21;
+ default: goto yy18;
+ }
+yy21:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy21;
+ default: goto yy23;
+ }
+yy23:
+ p = yyt1;
+ YYCURSOR = yyt2;
+ { 2 p }
+}
+
+
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy28;
+ default: goto yy26;
+ }
+yy26:
+ ++YYCURSOR;
+ {}
+yy28:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy30;
+ case 'c':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy32;
+ default:
+ yyt1 = YYCURSOR;
+ goto yy29;
+ }
+yy29:
+ p = yyt1;
+ { 1 p }
+yy30:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy30;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy32;
+ default: goto yy29;
+ }
+yy32:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy34;
+ default: goto yy33;
+ }
+yy33:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0:
+ yyt1 = YYCURSOR;
+ goto yy29;
+ case 1: goto yy29;
+ default: goto yy35;
+ }
+yy34:
+ yyaccept = 2;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy32;
+ default: goto yy35;
+ }
+yy35:
+ p = yyt1;
+ YYCURSOR = yyt2;
+ { 2 p }
+}
+
+
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy40;
+ default: goto yy38;
+ }
+yy38:
+ ++YYCURSOR;
+yy39:
+ {}
+yy40:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy41;
+ default: goto yy39;
+ }
+yy41:
+ yyaccept = 0;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy41;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy44;
+ default: goto yy43;
+ }
+yy43:
+ p = yyt1;
+ { 1 p }
+yy44:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd': goto yy46;
+ default: goto yy45;
+ }
+yy45:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy43;
+ } else {
+ goto yy47;
+ }
+yy46:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy44;
+ default: goto yy47;
+ }
+yy47:
+ p = yyt1;
+ YYCURSOR = yyt2;
+ { 2 p }
+}
+
diff --git a/test/tags/dedup4.i--tags.re b/test/tags/dedup4.i--tags.re
new file mode 100644
index 00000000..588187bd
--- /dev/null
+++ b/test/tags/dedup4.i--tags.re
@@ -0,0 +1,23 @@
+/*!re2c
+ "a" @p "b"* / "d"* { 1 p }
+ "a" @p "b"* / "c"* { 2 p }
+ * {}
+*/
+
+/*!re2c
+ "a" @p "b"* { 1 p }
+ "a" @p "b"* / "c"* { 2 p }
+ * {}
+*/
+
+/*!re2c
+ "a" @p "b"* { 1 p }
+ "a" @p "b"* / "cd"* { 2 p }
+ * {}
+*/
+
+/*!re2c
+ "a" @p "b"+ { 1 p }
+ "a" @p "b"+ / "cd"* { 2 p }
+ * {}
+*/
diff --git a/test/tags/dedup5.i--tags.c b/test/tags/dedup5.i--tags.c
new file mode 100644
index 00000000..4ed7f425
--- /dev/null
+++ b/test/tags/dedup5.i--tags.c
@@ -0,0 +1,113 @@
+/* Generated by re2c */
+// This test revealed a bug in liveness analyses that takes place
+// during tag deduplication: in loops, live tags added by non-looping
+// child paths failed to propagate into looping paths.
+
+// These two cases differ: in one case looping transition goes first (and tags are lost),
+// in the other case non-looping transition goes first (and tags are not lost).
+
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy4;
+ case 'b':
+ yyt1 = NULL;
+ goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ ++YYCURSOR;
+yy3:
+ {}
+yy4:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'c': goto yy7;
+ default: goto yy3;
+ }
+yy5:
+ ++YYCURSOR;
+ p = yyt1;
+ { p }
+yy7:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy9;
+ case 'b': goto yy5;
+ default: goto yy8;
+ }
+yy8:
+ YYCURSOR = YYMARKER;
+ goto yy3;
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy7;
+ default: goto yy8;
+ }
+}
+
+
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = NULL;
+ goto yy14;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy16;
+ default: goto yy12;
+ }
+yy12:
+ ++YYCURSOR;
+yy13:
+ {}
+yy14:
+ ++YYCURSOR;
+ p = yyt1;
+ { p }
+yy16:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'c': goto yy17;
+ default: goto yy13;
+ }
+yy17:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy14;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy19;
+ default: goto yy18;
+ }
+yy18:
+ YYCURSOR = YYMARKER;
+ goto yy13;
+yy19:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy17;
+ default: goto yy18;
+ }
+}
+
diff --git a/test/tags/dedup5.i--tags.re b/test/tags/dedup5.i--tags.re
new file mode 100644
index 00000000..e7f0aad9
--- /dev/null
+++ b/test/tags/dedup5.i--tags.re
@@ -0,0 +1,16 @@
+// This test revealed a bug in liveness analyses that takes place
+// during tag deduplication: in loops, live tags added by non-looping
+// child paths failed to propagate into looping paths.
+
+// These two cases differ: in one case looping transition goes first (and tags are lost),
+// in the other case non-looping transition goes first (and tags are not lost).
+
+/*!re2c
+ (@p "ac")* "b" { p }
+ * {}
+*/
+
+/*!re2c
+ (@p "bc")* "a" { p }
+ * {}
+*/
diff --git a/test/tags/exponential_bottoms.i--tags.c b/test/tags/exponential_bottoms.i--tags.c
new file mode 100644
index 00000000..23cd564d
--- /dev/null
+++ b/test/tags/exponential_bottoms.i--tags.c
@@ -0,0 +1,59 @@
+/* Generated by re2c */
+// forbidding to map bottom version to other tag versions is a bad idea:
+// example shows exponential growth in the number of DFA states
+
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy4;
+ case 'c':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt1 = yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ p = yyt1;
+ q = yyt2;
+ z = yyt3;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt1 = NULL;
+ goto yy4;
+ case 'c':
+ yyt1 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt1 = NULL;
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy4:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c':
+ yyt2 = NULL;
+ goto yy5;
+ default:
+ yyt2 = NULL;
+ yyt3 = YYCURSOR;
+ goto yy2;
+ }
+yy5:
+ ++YYCURSOR;
+ yyt3 = NULL;
+ goto yy2;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/tags/exponential_bottoms.i--tags.re b/test/tags/exponential_bottoms.i--tags.re
new file mode 100644
index 00000000..e1219157
--- /dev/null
+++ b/test/tags/exponential_bottoms.i--tags.re
@@ -0,0 +1,8 @@
+// forbidding to map bottom version to other tag versions is a bad idea:
+// example shows exponential growth in the number of DFA states
+
+/*!re2c
+
+(@p | "a")(@q | "b")(@z | "c") {}
+
+*/
diff --git a/test/tags/fallback1.i--tags.c b/test/tags/fallback1.i--tags.c
new file mode 100644
index 00000000..97f02112
--- /dev/null
+++ b/test/tags/fallback1.i--tags.c
@@ -0,0 +1,75 @@
+/* Generated by re2c */
+// This test demonstrates that fallback tags should be forward-propagated
+// from final states, and that merging all possible fallback tags and
+// backward-propagating them from default transitions is too crude,
+// inhibits tag interference where there is none and gets in the way
+// of tag deduplication.
+
+// Three overlapping rules (constructed so that they trigger 'yyaccept'
+// generation), 2nd and 3rd rules have variable-length tail so that their
+// tags are not fixed. When 2nd rule is matched, 3rd rule's tag can be
+// forgotten: we will never fall back to 3rd rule after matching another
+// rule.
+
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+ yych = *YYCURSOR;
+ yyt1 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ p = yyt1;
+ { 3 p }
+yy3:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'b': goto yy4;
+ default: goto yy2;
+ }
+yy4:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy2;
+ } else {
+ goto yy7;
+ }
+yy6:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'b': goto yy8;
+ case 'c': goto yy9;
+ default: goto yy7;
+ }
+yy7:
+ p = yyt1;
+ { 2 p }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy10;
+ default: goto yy5;
+ }
+yy9:
+ ++YYCURSOR;
+ goto yy7;
+yy10:
+ ++YYCURSOR;
+ { 1 }
+}
+
+re2c: warning: line 17: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/tags/fallback1.i--tags.re b/test/tags/fallback1.i--tags.re
new file mode 100644
index 00000000..682e172f
--- /dev/null
+++ b/test/tags/fallback1.i--tags.re
@@ -0,0 +1,19 @@
+// This test demonstrates that fallback tags should be forward-propagated
+// from final states, and that merging all possible fallback tags and
+// backward-propagating them from default transitions is too crude,
+// inhibits tag interference where there is none and gets in the way
+// of tag deduplication.
+
+// Three overlapping rules (constructed so that they trigger 'yyaccept'
+// generation), 2nd and 3rd rules have variable-length tail so that their
+// tags are not fixed. When 2nd rule is matched, 3rd rule's tag can be
+// forgotten: we will never fall back to 3rd rule after matching another
+// rule.
+
+/*!re2c
+
+ "ababa" { 1 }
+ "ab" @p "a" "c"? { 2 p }
+ @p "a"? { 3 p }
+
+*/
diff --git a/test/tags/fallback2.i--tags.c b/test/tags/fallback2.i--tags.c
new file mode 100644
index 00000000..5294d893
--- /dev/null
+++ b/test/tags/fallback2.i--tags.c
@@ -0,0 +1,61 @@
+/* Generated by re2c */
+// This test shows that tag liveness should be attributed to DFA edges,
+// not to DFA states. State granularity is too crude: there might be
+// two different paths to the same state, with some tag alive on one
+// path but not on the other. If liveness is attributed to states, then
+// tag liveness on one path implies tag liveness in the join state,
+// which affects the other path. But if liveness is attributed to
+// edges, then liveness of one path won't affect liveness of the other.
+
+// In this example tag 'p' is loop-invariant: it should be moved out
+// of loop and set once in the very end. However, if liveness is
+// attributed to states rather than edges, the accepting state (dispatch
+// on 'yyaccept') will force liveness on the looping path and prevent
+// tag from hoisting out of loop.
+
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a': goto yy3;
+ default:
+ yyt1 = NULL;
+ goto yy2;
+ }
+yy2:
+ p = yyt1;
+ { p }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ yyt1 = NULL;
+ goto yy2;
+ } else {
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy5:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default:
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 17: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/tags/fallback2.i--tags.re b/test/tags/fallback2.i--tags.re
new file mode 100644
index 00000000..acb036a5
--- /dev/null
+++ b/test/tags/fallback2.i--tags.re
@@ -0,0 +1,19 @@
+// This test shows that tag liveness should be attributed to DFA edges,
+// not to DFA states. State granularity is too crude: there might be
+// two different paths to the same state, with some tag alive on one
+// path but not on the other. If liveness is attributed to states, then
+// tag liveness on one path implies tag liveness in the join state,
+// which affects the other path. But if liveness is attributed to
+// edges, then liveness of one path won't affect liveness of the other.
+
+// In this example tag 'p' is loop-invariant: it should be moved out
+// of loop and set once in the very end. However, if liveness is
+// attributed to states rather than edges, the accepting state (dispatch
+// on 'yyaccept') will force liveness on the looping path and prevent
+// tag from hoisting out of loop.
+
+/*!re2c
+
+ ("ab" @p)* { p }
+
+*/
diff --git a/test/tags/fallback3.i--tags.c b/test/tags/fallback3.i--tags.c
new file mode 100644
index 00000000..3654bbd6
--- /dev/null
+++ b/test/tags/fallback3.i--tags.c
@@ -0,0 +1,69 @@
+/* Generated by re2c */
+// This example shows the need of backuping tags in fallback
+// states: if the rule is self-overlapping and the overlapping
+// part has tags, these tags might be overwritten by an unsuccessful
+// attempt to match longer input.
+
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ ++YYCURSOR;
+yy3:
+ {}
+yy4:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ default: goto yy3;
+ }
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy7;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy3;
+ } else {
+ goto yy8;
+ }
+yy7:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ yyt1 = yyt2;
+ switch (yych) {
+ case 'a': goto yy9;
+ default: goto yy8;
+ }
+yy8:
+ p = yyt1;
+ { p }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ default: goto yy6;
+ }
+}
+
diff --git a/test/tags/fallback3.i--tags.re b/test/tags/fallback3.i--tags.re
new file mode 100644
index 00000000..da7e1294
--- /dev/null
+++ b/test/tags/fallback3.i--tags.re
@@ -0,0 +1,11 @@
+// This example shows the need of backuping tags in fallback
+// states: if the rule is self-overlapping and the overlapping
+// part has tags, these tags might be overwritten by an unsuccessful
+// attempt to match longer input.
+
+/*!re2c
+
+ ("a" @p "bc")+ { p }
+ * {}
+
+*/
diff --git a/test/tags/fallback4.i--tags.c b/test/tags/fallback4.i--tags.c
new file mode 100644
index 00000000..04a7acbd
--- /dev/null
+++ b/test/tags/fallback4.i--tags.c
@@ -0,0 +1,77 @@
+/* Generated by re2c */
+// This example shows that fallback tags should participate
+// in tag optimization: there is a chance that they will be
+// merged with other tags.
+
+yyt1
+yyt2
+
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ ++YYCURSOR;
+yy3:
+ {}
+yy4:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ default: goto yy3;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy7;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = yyt2;
+ {}
+yy7:
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy9;
+ default: goto yy8;
+ }
+yy8:
+ p = yyt1;
+ { p }
+yy9:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy10;
+ }
+yy10:
+ YYCURSOR = YYMARKER;
+ goto yy8;
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c':
+ yyt1 = yyt2;
+ goto yy7;
+ default: goto yy10;
+ }
+}
+
+re2c: warning: line 9: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/tags/fallback4.i--tags.re b/test/tags/fallback4.i--tags.re
new file mode 100644
index 00000000..94e3630a
--- /dev/null
+++ b/test/tags/fallback4.i--tags.re
@@ -0,0 +1,12 @@
+// This example shows that fallback tags should participate
+// in tag optimization: there is a chance that they will be
+// merged with other tags.
+
+/*!stags:re2c format = "@@\n"; */
+/*!re2c
+
+ ("a" @p "bc")+ { p } // needs fallback tag for @p
+ "" / "ab"? {} // trailing context interferes with @p, but not with the fallback tag
+ * {}
+
+*/
diff --git a/test/tags/fallback5.i--tags.c b/test/tags/fallback5.i--tags.c
new file mode 100644
index 00000000..1341e193
--- /dev/null
+++ b/test/tags/fallback5.i--tags.c
@@ -0,0 +1,67 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'd': goto yy5;
+ default:
+ yyt1 = NULL;
+ goto yy2;
+ }
+yy2:
+ p = yyt1;
+ { p }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ yyt1 = NULL;
+ goto yy2;
+ } else {
+ goto yy2;
+ }
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = NULL;
+ goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy7;
+ default: goto yy4;
+ }
+yy7:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ yyt1 = yyt2;
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'd': goto yy5;
+ default: goto yy2;
+ }
+}
+
+re2c: warning: line 2: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/tags/fallback5.i--tags.re b/test/tags/fallback5.i--tags.re
new file mode 100644
index 00000000..6b270700
--- /dev/null
+++ b/test/tags/fallback5.i--tags.re
@@ -0,0 +1,3 @@
+/*!re2c
+ (("a" @p | "d") "bc")* { p }
+*/
diff --git a/test/tags/fallback6.i--tags.c b/test/tags/fallback6.i--tags.c
new file mode 100644
index 00000000..6ffa6994
--- /dev/null
+++ b/test/tags/fallback6.i--tags.c
@@ -0,0 +1,106 @@
+/* Generated by re2c */
+yyt1
+yyt2
+
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy4;
+ case 'c': goto yy5;
+ case 'e':
+ yyt1 = NULL;
+ goto yy6;
+ default: goto yy2;
+ }
+yy2:
+ ++YYCURSOR;
+yy3:
+ {}
+yy4:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy8;
+ default: goto yy3;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt1 = YYCURSOR;
+ goto yy10;
+ default: goto yy3;
+ }
+yy6:
+ ++YYCURSOR;
+ q = yyt1;
+ { q }
+yy8:
+ yyaccept = 0;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ case 'c': goto yy13;
+ case 'e':
+ yyt1 = NULL;
+ goto yy6;
+ default: goto yy9;
+ }
+yy9:
+ p = yyt1;
+ { p }
+yy10:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ case 'c': goto yy13;
+ case 'e': goto yy6;
+ default:
+ yyt1 = NULL;
+ goto yy9;
+ }
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt1 = yyt2;
+ goto yy8;
+ default: goto yy12;
+ }
+yy12:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy9;
+ } else {
+ yyt1 = NULL;
+ goto yy9;
+ }
+yy13:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'd':
+ yyt1 = YYCURSOR;
+ goto yy10;
+ default: goto yy12;
+ }
+}
+
+re2c: warning: line 4: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/tags/fallback6.i--tags.re b/test/tags/fallback6.i--tags.re
new file mode 100644
index 00000000..2e8038f3
--- /dev/null
+++ b/test/tags/fallback6.i--tags.re
@@ -0,0 +1,8 @@
+/*!stags:re2c format = "@@\n"; */
+/*!re2c
+
+ (@p "ab" | "c" "d")* { p }
+ ( "ab" | "c" @q "d")* "e" { q }
+ * {}
+
+*/
diff --git a/test/tags/fix2.i--tags.c b/test/tags/fix2.i--tags.c
new file mode 100644
index 00000000..ca26c22c
--- /dev/null
+++ b/test/tags/fix2.i--tags.c
@@ -0,0 +1,134 @@
+/* Generated by re2c */
+#include <stddef.h>
+#include <stdio.h>
+
+static void lex(const char *YYCURSOR)
+{
+ const char *YYMARKER, *p0, *p1, *p2, *p3, *p4;
+
+
+{
+ char yych;
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0': goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ ++YYCURSOR;
+yy3:
+ { printf("error\n"); return; }
+yy4:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case '1': goto yy5;
+ default: goto yy3;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '1': goto yy7;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = YYMARKER;
+ goto yy3;
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '2': goto yy8;
+ default: goto yy6;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '2': goto yy9;
+ default: goto yy6;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '2': goto yy10;
+ default: goto yy6;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '3': goto yy11;
+ default: goto yy6;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '3': goto yy12;
+ default: goto yy6;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '3': goto yy13;
+ default: goto yy6;
+ }
+yy13:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '3': goto yy14;
+ default: goto yy6;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '4': goto yy15;
+ default: goto yy6;
+ }
+yy15:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '4': goto yy16;
+ default: goto yy6;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '4': goto yy17;
+ default: goto yy6;
+ }
+yy17:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '4': goto yy18;
+ default: goto yy6;
+ }
+yy18:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '4': goto yy19;
+ default: goto yy6;
+ }
+yy19:
+ ++YYCURSOR;
+ p0 = YYCURSOR - 15;
+ p1 = YYCURSOR - 14;
+ p2 = YYCURSOR - 12;
+ p3 = YYCURSOR - 9;
+ p4 = YYCURSOR - 5;
+ {
+ printf("'%.*s', '%.*s', '%.*s', '%.*s', '%.*s'\n",
+ p1 - p0, p0,
+ p2 - p1, p1,
+ p3 - p2, p2,
+ p4 - p3, p3,
+ YYCURSOR - p4, p4);
+ return;
+ }
+}
+
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ lex(argv[i]);
+ }
+ return 0;
+}
diff --git a/test/tags/fix2.i--tags.re b/test/tags/fix2.i--tags.re
new file mode 100644
index 00000000..439897e4
--- /dev/null
+++ b/test/tags/fix2.i--tags.re
@@ -0,0 +1,35 @@
+#include <stddef.h>
+#include <stdio.h>
+
+static void lex(const char *YYCURSOR)
+{
+ const char *YYMARKER, *p0, *p1, *p2, *p3, *p4;
+ /*!stags:re2c format = "const char *@@;"; */
+ /*!re2c
+ re2c:define:YYCTYPE = char;
+ re2c:yyfill:enable = 0;
+
+ * { printf("error\n"); return; }
+ @p0 "0"
+ @p1 "11"
+ @p2 "222"
+ @p3 "3333"
+ @p4 "44444" {
+ printf("'%.*s', '%.*s', '%.*s', '%.*s', '%.*s'\n",
+ p1 - p0, p0,
+ p2 - p1, p1,
+ p3 - p2, p2,
+ p4 - p3, p3,
+ YYCURSOR - p4, p4);
+ return;
+ }
+ */
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ lex(argv[i]);
+ }
+ return 0;
+}
diff --git a/test/tags/fix2_trail.i--tags--input(custom).c b/test/tags/fix2_trail.i--tags--input(custom).c
new file mode 100644
index 00000000..c5a2fc50
--- /dev/null
+++ b/test/tags/fix2_trail.i--tags--input(custom).c
@@ -0,0 +1,166 @@
+/* Generated by re2c */
+#include <stddef.h>
+#include <stdio.h>
+
+static void lex(const char *s)
+{
+#define YYPEEK() *s
+#define YYSKIP() ++s
+#define YYBACKUP() marker = s
+#define YYRESTORE() s = marker
+#define YYSTAGP(t) t = s
+#define YYSTAGN(t) t = NULL
+#define YYRESTORETAG(t) s = t
+ const char *marker, *p0, *p1, *p2, *p3;
+ const char *yyt1;const char *yyt2;const char *yyt3;const char *yyt4;const char *yyt5;
+
+{
+ char yych;
+ yych = YYPEEK ();
+ switch (yych) {
+ case '0':
+ YYSTAGP (yyt1);
+ goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ YYSKIP ();
+yy3:
+ { printf("error\n"); return; }
+yy4:
+ YYSKIP ();
+ YYBACKUP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '1':
+ YYSTAGP (yyt2);
+ goto yy5;
+ default: goto yy3;
+ }
+yy5:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '1': goto yy7;
+ default: goto yy6;
+ }
+yy6:
+ YYRESTORE ();
+ goto yy3;
+yy7:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '2':
+ YYSTAGP (yyt3);
+ goto yy8;
+ default: goto yy6;
+ }
+yy8:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '2': goto yy9;
+ default: goto yy6;
+ }
+yy9:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '2': goto yy10;
+ default: goto yy6;
+ }
+yy10:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '3':
+ YYSTAGP (yyt4);
+ goto yy11;
+ default: goto yy6;
+ }
+yy11:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '3': goto yy12;
+ default: goto yy6;
+ }
+yy12:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '3': goto yy13;
+ default: goto yy6;
+ }
+yy13:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '3': goto yy14;
+ default: goto yy6;
+ }
+yy14:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '4':
+ YYSTAGP (yyt5);
+ goto yy15;
+ default: goto yy6;
+ }
+yy15:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '4': goto yy16;
+ default: goto yy6;
+ }
+yy16:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '4': goto yy17;
+ default: goto yy6;
+ }
+yy17:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '4': goto yy18;
+ default: goto yy6;
+ }
+yy18:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '4': goto yy19;
+ default: goto yy6;
+ }
+yy19:
+ YYSKIP ();
+ p0 = yyt1;
+ p1 = yyt2;
+ p2 = yyt3;
+ p3 = yyt4;
+ YYRESTORETAG (yyt5);
+ {
+ printf("'%.*s', '%.*s', '%.*s', '%.*s', '%s'\n",
+ p1 - p0, p0,
+ p2 - p1, p1,
+ p3 - p2, p2,
+ s - p3, p3,
+ s);
+ return;
+ }
+}
+
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ lex(argv[i]);
+ }
+ return 0;
+}
diff --git a/test/tags/fix2_trail.i--tags--input(custom).re b/test/tags/fix2_trail.i--tags--input(custom).re
new file mode 100644
index 00000000..8968f11e
--- /dev/null
+++ b/test/tags/fix2_trail.i--tags--input(custom).re
@@ -0,0 +1,42 @@
+#include <stddef.h>
+#include <stdio.h>
+
+static void lex(const char *s)
+{
+#define YYPEEK() *s
+#define YYSKIP() ++s
+#define YYBACKUP() marker = s
+#define YYRESTORE() s = marker
+#define YYSTAGP(t) t = s
+#define YYSTAGN(t) t = NULL
+#define YYRESTORETAG(t) s = t
+ const char *marker, *p0, *p1, *p2, *p3;
+ /*!stags:re2c format = "const char *@@;"; */
+ /*!re2c
+ re2c:define:YYCTYPE = char;
+ re2c:yyfill:enable = 0;
+
+ * { printf("error\n"); return; }
+ @p0 "0"
+ @p1 "11"
+ @p2 "222"
+ @p3 "3333"
+ / "44444" {
+ printf("'%.*s', '%.*s', '%.*s', '%.*s', '%s'\n",
+ p1 - p0, p0,
+ p2 - p1, p1,
+ p3 - p2, p2,
+ s - p3, p3,
+ s);
+ return;
+ }
+ */
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ lex(argv[i]);
+ }
+ return 0;
+}
diff --git a/test/tags/fix2_trail.i--tags.c b/test/tags/fix2_trail.i--tags.c
new file mode 100644
index 00000000..c6380278
--- /dev/null
+++ b/test/tags/fix2_trail.i--tags.c
@@ -0,0 +1,134 @@
+/* Generated by re2c */
+#include <stddef.h>
+#include <stdio.h>
+
+static void lex(const char *YYCURSOR)
+{
+ const char *YYMARKER, *p0, *p1, *p2, *p3;
+
+
+{
+ char yych;
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0': goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ ++YYCURSOR;
+yy3:
+ { printf("error\n"); return; }
+yy4:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case '1': goto yy5;
+ default: goto yy3;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '1': goto yy7;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = YYMARKER;
+ goto yy3;
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '2': goto yy8;
+ default: goto yy6;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '2': goto yy9;
+ default: goto yy6;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '2': goto yy10;
+ default: goto yy6;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '3': goto yy11;
+ default: goto yy6;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '3': goto yy12;
+ default: goto yy6;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '3': goto yy13;
+ default: goto yy6;
+ }
+yy13:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '3': goto yy14;
+ default: goto yy6;
+ }
+yy14:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '4': goto yy15;
+ default: goto yy6;
+ }
+yy15:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '4': goto yy16;
+ default: goto yy6;
+ }
+yy16:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '4': goto yy17;
+ default: goto yy6;
+ }
+yy17:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '4': goto yy18;
+ default: goto yy6;
+ }
+yy18:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '4': goto yy19;
+ default: goto yy6;
+ }
+yy19:
+ ++YYCURSOR;
+ p0 = YYCURSOR - 10;
+ p1 = YYCURSOR - 9;
+ p2 = YYCURSOR - 7;
+ p3 = YYCURSOR - 4;
+ YYCURSOR -= 5;
+ {
+ printf("'%.*s', '%.*s', '%.*s', '%.*s', '%s'\n",
+ p1 - p0, p0,
+ p2 - p1, p1,
+ p3 - p2, p2,
+ YYCURSOR - p3, p3,
+ YYCURSOR);
+ return;
+ }
+}
+
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ lex(argv[i]);
+ }
+ return 0;
+}
diff --git a/test/tags/fix2_trail.i--tags.re b/test/tags/fix2_trail.i--tags.re
new file mode 100644
index 00000000..505b0e06
--- /dev/null
+++ b/test/tags/fix2_trail.i--tags.re
@@ -0,0 +1,35 @@
+#include <stddef.h>
+#include <stdio.h>
+
+static void lex(const char *YYCURSOR)
+{
+ const char *YYMARKER, *p0, *p1, *p2, *p3;
+ /*!stags:re2c format = "const char *@@;"; */
+ /*!re2c
+ re2c:define:YYCTYPE = char;
+ re2c:yyfill:enable = 0;
+
+ * { printf("error\n"); return; }
+ @p0 "0"
+ @p1 "11"
+ @p2 "222"
+ @p3 "3333"
+ / "44444" {
+ printf("'%.*s', '%.*s', '%.*s', '%.*s', '%s'\n",
+ p1 - p0, p0,
+ p2 - p1, p1,
+ p3 - p2, p2,
+ YYCURSOR - p3, p3,
+ YYCURSOR);
+ return;
+ }
+ */
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ lex(argv[i]);
+ }
+ return 0;
+}
diff --git a/test/tags/fix3.i--tags.c b/test/tags/fix3.i--tags.c
new file mode 100644
index 00000000..14cb1c73
--- /dev/null
+++ b/test/tags/fix3.i--tags.c
@@ -0,0 +1,128 @@
+/* Generated by re2c */
+#include <stddef.h>
+#include <stdio.h>
+
+static void lex(const char *YYCURSOR)
+{
+ const char *YYMARKER, *p0, *p1, *p2, *p3, *p4;
+ const char *yyt1;const char *yyt2;const char *yyt3;const char *yyt4;const char *yyt5;
+
+{
+ char yych;
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ yyt1 = YYCURSOR;
+ goto yy4;
+ case '1':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy7;
+ case '2':
+ yyt1 = yyt2 = yyt3 = YYCURSOR;
+ goto yy9;
+ case '3':
+ yyt1 = yyt2 = yyt3 = yyt4 = YYCURSOR;
+ goto yy11;
+ case '4':
+ yyt1 = yyt2 = yyt3 = yyt4 = yyt5 = YYCURSOR;
+ goto yy13;
+ default: goto yy2;
+ }
+yy2:
+ ++YYCURSOR;
+ { printf("error\n"); return; }
+yy4:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy4;
+ case '1':
+ yyt2 = YYCURSOR;
+ goto yy7;
+ case '2':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy9;
+ case '3':
+ yyt2 = yyt3 = yyt4 = YYCURSOR;
+ goto yy11;
+ case '4':
+ yyt2 = yyt3 = yyt4 = yyt5 = YYCURSOR;
+ goto yy13;
+ default:
+ yyt2 = yyt3 = yyt4 = yyt5 = YYCURSOR;
+ goto yy6;
+ }
+yy6:
+ p0 = yyt1;
+ p1 = yyt2;
+ p2 = yyt3;
+ p3 = yyt4;
+ p4 = yyt5;
+ {
+ printf("'%.*s', '%.*s', '%.*s', '%.*s', '%.*s'\n",
+ p1 - p0, p0,
+ p2 - p1, p1,
+ p3 - p2, p2,
+ p4 - p3, p3,
+ YYCURSOR - p4, p4);
+ return;
+ }
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '1': goto yy7;
+ case '2':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ case '3':
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy11;
+ case '4':
+ yyt3 = yyt4 = yyt5 = YYCURSOR;
+ goto yy13;
+ default:
+ yyt3 = yyt4 = yyt5 = YYCURSOR;
+ goto yy6;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '2': goto yy9;
+ case '3':
+ yyt4 = YYCURSOR;
+ goto yy11;
+ case '4':
+ yyt4 = yyt5 = YYCURSOR;
+ goto yy13;
+ default:
+ yyt4 = yyt5 = YYCURSOR;
+ goto yy6;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '3': goto yy11;
+ case '4':
+ yyt5 = YYCURSOR;
+ goto yy13;
+ default:
+ yyt5 = YYCURSOR;
+ goto yy6;
+ }
+yy13:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '4': goto yy13;
+ default: goto yy6;
+ }
+}
+
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ lex(argv[i]);
+ }
+ return 0;
+}
+re2c: warning: line 17: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/tags/fix3.i--tags.re b/test/tags/fix3.i--tags.re
new file mode 100644
index 00000000..801438c1
--- /dev/null
+++ b/test/tags/fix3.i--tags.re
@@ -0,0 +1,35 @@
+#include <stddef.h>
+#include <stdio.h>
+
+static void lex(const char *YYCURSOR)
+{
+ const char *YYMARKER, *p0, *p1, *p2, *p3, *p4;
+ /*!stags:re2c format = "const char *@@;"; */
+ /*!re2c
+ re2c:define:YYCTYPE = char;
+ re2c:yyfill:enable = 0;
+
+ * { printf("error\n"); return; }
+ @p0 "0"*
+ @p1 "1"*
+ @p2 "2"*
+ @p3 "3"*
+ @p4 "4"* {
+ printf("'%.*s', '%.*s', '%.*s', '%.*s', '%.*s'\n",
+ p1 - p0, p0,
+ p2 - p1, p1,
+ p3 - p2, p2,
+ p4 - p3, p3,
+ YYCURSOR - p4, p4);
+ return;
+ }
+ */
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ lex(argv[i]);
+ }
+ return 0;
+}
diff --git a/test/tags/fix3_trail.i--tags--input(custom).c b/test/tags/fix3_trail.i--tags--input(custom).c
new file mode 100644
index 00000000..83ebe0ab
--- /dev/null
+++ b/test/tags/fix3_trail.i--tags--input(custom).c
@@ -0,0 +1,166 @@
+/* Generated by re2c */
+#include <stddef.h>
+#include <stdio.h>
+
+static void lex(const char *s)
+{
+#define YYPEEK() *s
+#define YYSKIP() ++s
+#define YYBACKUP() marker = s
+#define YYRESTORE() s = marker
+#define YYSTAGP(t) t = s
+#define YYSTAGN(t) t = NULL
+#define YYRESTORETAG(t) s = t
+ const char *marker, *p0, *p1, *p2, *p3;
+ const char *yyt1;const char *yyt2;const char *yyt3;const char *yyt4;const char *yyt5;
+
+{
+ char yych;
+ yych = YYPEEK ();
+ switch (yych) {
+ case '0':
+ YYSTAGP (yyt1);
+ goto yy4;
+ case '1':
+ YYSTAGP (yyt1);
+ YYSTAGP (yyt2);
+ goto yy7;
+ case '2':
+ YYSTAGP (yyt1);
+ YYSTAGP (yyt2);
+ YYSTAGP (yyt3);
+ goto yy9;
+ case '3':
+ YYSTAGP (yyt1);
+ YYSTAGP (yyt2);
+ YYSTAGP (yyt3);
+ YYSTAGP (yyt4);
+ goto yy11;
+ case '4':
+ YYSTAGP (yyt1);
+ YYSTAGP (yyt2);
+ YYSTAGP (yyt3);
+ YYSTAGP (yyt4);
+ YYSTAGP (yyt5);
+ goto yy13;
+ default: goto yy2;
+ }
+yy2:
+ YYSKIP ();
+ { printf("error\n"); return; }
+yy4:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '0': goto yy4;
+ case '1':
+ YYSTAGP (yyt2);
+ goto yy7;
+ case '2':
+ YYSTAGP (yyt2);
+ YYSTAGP (yyt3);
+ goto yy9;
+ case '3':
+ YYSTAGP (yyt2);
+ YYSTAGP (yyt3);
+ YYSTAGP (yyt4);
+ goto yy11;
+ case '4':
+ YYSTAGP (yyt2);
+ YYSTAGP (yyt3);
+ YYSTAGP (yyt4);
+ YYSTAGP (yyt5);
+ goto yy13;
+ default:
+ YYSTAGP (yyt2);
+ YYSTAGP (yyt3);
+ YYSTAGP (yyt4);
+ YYSTAGP (yyt5);
+ goto yy6;
+ }
+yy6:
+ p0 = yyt1;
+ p1 = yyt2;
+ p2 = yyt3;
+ p3 = yyt4;
+ YYRESTORETAG (yyt5);
+ {
+ printf("'%.*s', '%.*s', '%.*s', '%.*s', '%s'\n",
+ p1 - p0, p0,
+ p2 - p1, p1,
+ p3 - p2, p2,
+ s - p3, p3,
+ s);
+ return;
+ }
+yy7:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '1': goto yy7;
+ case '2':
+ YYSTAGP (yyt3);
+ goto yy9;
+ case '3':
+ YYSTAGP (yyt3);
+ YYSTAGP (yyt4);
+ goto yy11;
+ case '4':
+ YYSTAGP (yyt3);
+ YYSTAGP (yyt4);
+ YYSTAGP (yyt5);
+ goto yy13;
+ default:
+ YYSTAGP (yyt3);
+ YYSTAGP (yyt4);
+ YYSTAGP (yyt5);
+ goto yy6;
+ }
+yy9:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '2': goto yy9;
+ case '3':
+ YYSTAGP (yyt4);
+ goto yy11;
+ case '4':
+ YYSTAGP (yyt4);
+ YYSTAGP (yyt5);
+ goto yy13;
+ default:
+ YYSTAGP (yyt4);
+ YYSTAGP (yyt5);
+ goto yy6;
+ }
+yy11:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '3': goto yy11;
+ case '4':
+ YYSTAGP (yyt5);
+ goto yy13;
+ default:
+ YYSTAGP (yyt5);
+ goto yy6;
+ }
+yy13:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '4': goto yy13;
+ default: goto yy6;
+ }
+}
+
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ lex(argv[i]);
+ }
+ return 0;
+}
+re2c: warning: line 24: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/tags/fix3_trail.i--tags--input(custom).re b/test/tags/fix3_trail.i--tags--input(custom).re
new file mode 100644
index 00000000..b36d49e7
--- /dev/null
+++ b/test/tags/fix3_trail.i--tags--input(custom).re
@@ -0,0 +1,42 @@
+#include <stddef.h>
+#include <stdio.h>
+
+static void lex(const char *s)
+{
+#define YYPEEK() *s
+#define YYSKIP() ++s
+#define YYBACKUP() marker = s
+#define YYRESTORE() s = marker
+#define YYSTAGP(t) t = s
+#define YYSTAGN(t) t = NULL
+#define YYRESTORETAG(t) s = t
+ const char *marker, *p0, *p1, *p2, *p3;
+ /*!stags:re2c format = "const char *@@;"; */
+ /*!re2c
+ re2c:define:YYCTYPE = char;
+ re2c:yyfill:enable = 0;
+
+ * { printf("error\n"); return; }
+ @p0 "0"*
+ @p1 "1"*
+ @p2 "2"*
+ @p3 "3"*
+ / "4"* {
+ printf("'%.*s', '%.*s', '%.*s', '%.*s', '%s'\n",
+ p1 - p0, p0,
+ p2 - p1, p1,
+ p3 - p2, p2,
+ s - p3, p3,
+ s);
+ return;
+ }
+ */
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ lex(argv[i]);
+ }
+ return 0;
+}
diff --git a/test/tags/fix3_trail.i--tags.c b/test/tags/fix3_trail.i--tags.c
new file mode 100644
index 00000000..fd58cb28
--- /dev/null
+++ b/test/tags/fix3_trail.i--tags.c
@@ -0,0 +1,128 @@
+/* Generated by re2c */
+#include <stddef.h>
+#include <stdio.h>
+
+static void lex(const char *YYCURSOR)
+{
+ const char *YYMARKER, *p0, *p1, *p2, *p3;
+ const char *yyt1;const char *yyt2;const char *yyt3;const char *yyt4;const char *yyt5;
+
+{
+ char yych;
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ yyt1 = YYCURSOR;
+ goto yy4;
+ case '1':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy7;
+ case '2':
+ yyt1 = yyt2 = yyt3 = YYCURSOR;
+ goto yy9;
+ case '3':
+ yyt1 = yyt2 = yyt3 = yyt4 = YYCURSOR;
+ goto yy11;
+ case '4':
+ yyt1 = yyt2 = yyt3 = yyt4 = yyt5 = YYCURSOR;
+ goto yy13;
+ default: goto yy2;
+ }
+yy2:
+ ++YYCURSOR;
+ { printf("error\n"); return; }
+yy4:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '0': goto yy4;
+ case '1':
+ yyt2 = YYCURSOR;
+ goto yy7;
+ case '2':
+ yyt2 = yyt3 = YYCURSOR;
+ goto yy9;
+ case '3':
+ yyt2 = yyt3 = yyt4 = YYCURSOR;
+ goto yy11;
+ case '4':
+ yyt2 = yyt3 = yyt4 = yyt5 = YYCURSOR;
+ goto yy13;
+ default:
+ yyt2 = yyt3 = yyt4 = yyt5 = YYCURSOR;
+ goto yy6;
+ }
+yy6:
+ p0 = yyt1;
+ p1 = yyt2;
+ p2 = yyt3;
+ p3 = yyt4;
+ YYCURSOR = yyt5;
+ {
+ printf("'%.*s', '%.*s', '%.*s', '%.*s', '%s'\n",
+ p1 - p0, p0,
+ p2 - p1, p1,
+ p3 - p2, p2,
+ YYCURSOR - p3, p3,
+ YYCURSOR);
+ return;
+ }
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '1': goto yy7;
+ case '2':
+ yyt3 = YYCURSOR;
+ goto yy9;
+ case '3':
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy11;
+ case '4':
+ yyt3 = yyt4 = yyt5 = YYCURSOR;
+ goto yy13;
+ default:
+ yyt3 = yyt4 = yyt5 = YYCURSOR;
+ goto yy6;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '2': goto yy9;
+ case '3':
+ yyt4 = YYCURSOR;
+ goto yy11;
+ case '4':
+ yyt4 = yyt5 = YYCURSOR;
+ goto yy13;
+ default:
+ yyt4 = yyt5 = YYCURSOR;
+ goto yy6;
+ }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '3': goto yy11;
+ case '4':
+ yyt5 = YYCURSOR;
+ goto yy13;
+ default:
+ yyt5 = YYCURSOR;
+ goto yy6;
+ }
+yy13:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '4': goto yy13;
+ default: goto yy6;
+ }
+}
+
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ lex(argv[i]);
+ }
+ return 0;
+}
+re2c: warning: line 17: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/tags/fix3_trail.i--tags.re b/test/tags/fix3_trail.i--tags.re
new file mode 100644
index 00000000..1e9a5229
--- /dev/null
+++ b/test/tags/fix3_trail.i--tags.re
@@ -0,0 +1,35 @@
+#include <stddef.h>
+#include <stdio.h>
+
+static void lex(const char *YYCURSOR)
+{
+ const char *YYMARKER, *p0, *p1, *p2, *p3;
+ /*!stags:re2c format = "const char *@@;"; */
+ /*!re2c
+ re2c:define:YYCTYPE = char;
+ re2c:yyfill:enable = 0;
+
+ * { printf("error\n"); return; }
+ @p0 "0"*
+ @p1 "1"*
+ @p2 "2"*
+ @p3 "3"*
+ / "4"* {
+ printf("'%.*s', '%.*s', '%.*s', '%.*s', '%s'\n",
+ p1 - p0, p0,
+ p2 - p1, p1,
+ p3 - p2, p2,
+ YYCURSOR - p3, p3,
+ YYCURSOR);
+ return;
+ }
+ */
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ lex(argv[i]);
+ }
+ return 0;
+}
diff --git a/test/tags/fix4.i--tags.c b/test/tags/fix4.i--tags.c
new file mode 100644
index 00000000..3e5bd20e
--- /dev/null
+++ b/test/tags/fix4.i--tags.c
@@ -0,0 +1,86 @@
+/* Generated by re2c */
+#include <stddef.h>
+#include <stdio.h>
+
+static void lex(const char *YYCURSOR)
+{
+ const char *YYMARKER, *p0, *p1, *p2, *p3, *p4;
+ const char *yyt1;const char *yyt2;
+
+{
+ char yych;
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0': goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ ++YYCURSOR;
+yy3:
+ { printf("error\n"); return; }
+yy4:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case '1':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ case '2':
+ yyt1 = YYCURSOR;
+ goto yy8;
+ default: goto yy3;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '1': goto yy5;
+ case '2': goto yy8;
+ default: goto yy7;
+ }
+yy7:
+ YYCURSOR = YYMARKER;
+ goto yy3;
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '3':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ case '4':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy7;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '3': goto yy9;
+ case '4': goto yy11;
+ default: goto yy7;
+ }
+yy11:
+ ++YYCURSOR;
+ p1 = yyt1;
+ p3 = yyt2;
+ p0 = yyt1 - 1;
+ p2 = yyt2 - 1;
+ p4 = YYCURSOR - 1;
+ {
+ printf("'%.*s', '%.*s', '%.*s', '%.*s', '%.*s'\n",
+ p1 - p0, p0,
+ p2 - p1, p1,
+ p3 - p2, p2,
+ p4 - p3, p3,
+ YYCURSOR - p4, p4);
+ return;
+ }
+}
+
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ lex(argv[i]);
+ }
+ return 0;
+}
diff --git a/test/tags/fix4.i--tags.re b/test/tags/fix4.i--tags.re
new file mode 100644
index 00000000..6e168f8e
--- /dev/null
+++ b/test/tags/fix4.i--tags.re
@@ -0,0 +1,35 @@
+#include <stddef.h>
+#include <stdio.h>
+
+static void lex(const char *YYCURSOR)
+{
+ const char *YYMARKER, *p0, *p1, *p2, *p3, *p4;
+ /*!stags:re2c format = "const char *@@;"; */
+ /*!re2c
+ re2c:define:YYCTYPE = char;
+ re2c:yyfill:enable = 0;
+
+ * { printf("error\n"); return; }
+ @p0 "0"
+ @p1 "1"*
+ @p2 "2"
+ @p3 "3"*
+ @p4 "4" {
+ printf("'%.*s', '%.*s', '%.*s', '%.*s', '%.*s'\n",
+ p1 - p0, p0,
+ p2 - p1, p1,
+ p3 - p2, p2,
+ p4 - p3, p3,
+ YYCURSOR - p4, p4);
+ return;
+ }
+ */
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ lex(argv[i]);
+ }
+ return 0;
+}
diff --git a/test/tags/fix4_trail.i--tags--input(custom).c b/test/tags/fix4_trail.i--tags--input(custom).c
new file mode 100644
index 00000000..34a06a7b
--- /dev/null
+++ b/test/tags/fix4_trail.i--tags--input(custom).c
@@ -0,0 +1,106 @@
+/* Generated by re2c */
+#include <stddef.h>
+#include <stdio.h>
+
+static void lex(const char *s)
+{
+#define YYPEEK() *s
+#define YYSKIP() ++s
+#define YYBACKUP() marker = s
+#define YYRESTORE() s = marker
+#define YYSTAGP(t) t = s
+#define YYSTAGN(t) t = NULL
+#define YYRESTORETAG(t) s = t
+ const char *marker, *p0, *p1, *p2, *p3;
+ const char *yyt1;const char *yyt2;const char *yyt3;const char *yyt4;const char *yyt5;
+
+{
+ char yych;
+ yych = YYPEEK ();
+ switch (yych) {
+ case '0':
+ YYSTAGP (yyt1);
+ goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ YYSKIP ();
+yy3:
+ { printf("error\n"); return; }
+yy4:
+ YYSKIP ();
+ YYBACKUP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '1':
+ YYSTAGP (yyt2);
+ goto yy5;
+ case '2':
+ YYSTAGP (yyt2);
+ YYSTAGP (yyt3);
+ goto yy8;
+ default: goto yy3;
+ }
+yy5:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '1': goto yy5;
+ case '2':
+ YYSTAGP (yyt3);
+ goto yy8;
+ default: goto yy7;
+ }
+yy7:
+ YYRESTORE ();
+ goto yy3;
+yy8:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '3':
+ YYSTAGP (yyt4);
+ goto yy9;
+ case '4':
+ YYSTAGP (yyt4);
+ YYSTAGP (yyt5);
+ goto yy11;
+ default: goto yy7;
+ }
+yy9:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '3': goto yy9;
+ case '4':
+ YYSTAGP (yyt5);
+ goto yy11;
+ default: goto yy7;
+ }
+yy11:
+ YYSKIP ();
+ p0 = yyt1;
+ p1 = yyt2;
+ p2 = yyt3;
+ p3 = yyt4;
+ YYRESTORETAG (yyt5);
+ {
+ printf("'%.*s', '%.*s', '%.*s', '%.*s', '%s'\n",
+ p1 - p0, p0,
+ p2 - p1, p1,
+ p3 - p2, p2,
+ s - p3, p3,
+ s);
+ return;
+ }
+}
+
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ lex(argv[i]);
+ }
+ return 0;
+}
diff --git a/test/tags/fix4_trail.i--tags--input(custom).re b/test/tags/fix4_trail.i--tags--input(custom).re
new file mode 100644
index 00000000..3b011cf4
--- /dev/null
+++ b/test/tags/fix4_trail.i--tags--input(custom).re
@@ -0,0 +1,42 @@
+#include <stddef.h>
+#include <stdio.h>
+
+static void lex(const char *s)
+{
+#define YYPEEK() *s
+#define YYSKIP() ++s
+#define YYBACKUP() marker = s
+#define YYRESTORE() s = marker
+#define YYSTAGP(t) t = s
+#define YYSTAGN(t) t = NULL
+#define YYRESTORETAG(t) s = t
+ const char *marker, *p0, *p1, *p2, *p3;
+ /*!stags:re2c format = "const char *@@;"; */
+ /*!re2c
+ re2c:define:YYCTYPE = char;
+ re2c:yyfill:enable = 0;
+
+ * { printf("error\n"); return; }
+ @p0 "0"
+ @p1 "1"*
+ @p2 "2"
+ @p3 "3"*
+ / "4" {
+ printf("'%.*s', '%.*s', '%.*s', '%.*s', '%s'\n",
+ p1 - p0, p0,
+ p2 - p1, p1,
+ p3 - p2, p2,
+ s - p3, p3,
+ s);
+ return;
+ }
+ */
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ lex(argv[i]);
+ }
+ return 0;
+}
diff --git a/test/tags/fix4_trail.i--tags.c b/test/tags/fix4_trail.i--tags.c
new file mode 100644
index 00000000..a0db0bfb
--- /dev/null
+++ b/test/tags/fix4_trail.i--tags.c
@@ -0,0 +1,86 @@
+/* Generated by re2c */
+#include <stddef.h>
+#include <stdio.h>
+
+static void lex(const char *YYCURSOR)
+{
+ const char *YYMARKER, *p0, *p1, *p2, *p3;
+ const char *yyt1;const char *yyt2;
+
+{
+ char yych;
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0': goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ ++YYCURSOR;
+yy3:
+ { printf("error\n"); return; }
+yy4:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case '1':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ case '2':
+ yyt1 = YYCURSOR;
+ goto yy8;
+ default: goto yy3;
+ }
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '1': goto yy5;
+ case '2': goto yy8;
+ default: goto yy7;
+ }
+yy7:
+ YYCURSOR = YYMARKER;
+ goto yy3;
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '3':
+ yyt2 = YYCURSOR;
+ goto yy9;
+ case '4':
+ yyt2 = YYCURSOR;
+ goto yy11;
+ default: goto yy7;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '3': goto yy9;
+ case '4': goto yy11;
+ default: goto yy7;
+ }
+yy11:
+ ++YYCURSOR;
+ p1 = yyt1;
+ p3 = yyt2;
+ p0 = yyt1 - 1;
+ p2 = yyt2 - 1;
+ YYCURSOR -= 1;
+ {
+ printf("'%.*s', '%.*s', '%.*s', '%.*s', '%s'\n",
+ p1 - p0, p0,
+ p2 - p1, p1,
+ p3 - p2, p2,
+ YYCURSOR - p3, p3,
+ YYCURSOR);
+ return;
+ }
+}
+
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ lex(argv[i]);
+ }
+ return 0;
+}
diff --git a/test/tags/fix4_trail.i--tags.re b/test/tags/fix4_trail.i--tags.re
new file mode 100644
index 00000000..7db16465
--- /dev/null
+++ b/test/tags/fix4_trail.i--tags.re
@@ -0,0 +1,35 @@
+#include <stddef.h>
+#include <stdio.h>
+
+static void lex(const char *YYCURSOR)
+{
+ const char *YYMARKER, *p0, *p1, *p2, *p3;
+ /*!stags:re2c format = "const char *@@;"; */
+ /*!re2c
+ re2c:define:YYCTYPE = char;
+ re2c:yyfill:enable = 0;
+
+ * { printf("error\n"); return; }
+ @p0 "0"
+ @p1 "1"*
+ @p2 "2"
+ @p3 "3"*
+ / "4" {
+ printf("'%.*s', '%.*s', '%.*s', '%.*s', '%s'\n",
+ p1 - p0, p0,
+ p2 - p1, p1,
+ p3 - p2, p2,
+ YYCURSOR - p3, p3,
+ YYCURSOR);
+ return;
+ }
+ */
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ lex(argv[i]);
+ }
+ return 0;
+}
diff --git a/test/tags/fix5.i--tags.c b/test/tags/fix5.i--tags.c
new file mode 100644
index 00000000..adeb04c6
--- /dev/null
+++ b/test/tags/fix5.i--tags.c
@@ -0,0 +1,109 @@
+/* Generated by re2c */
+#include <stddef.h>
+#include <stdio.h>
+
+static void lex(const char *YYCURSOR)
+{
+ const char *YYMARKER, *p0, *p1, *p2, *p3, *p4;
+ const char *yyt1;const char *yyt2;const char *yyt3;
+
+{
+ char yych;
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ yyt1 = YYCURSOR;
+ goto yy4;
+ case '1':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ ++YYCURSOR;
+yy3:
+ { printf("error\n"); return; }
+yy4:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case '0':
+ case '1': goto yy7;
+ default: goto yy3;
+ }
+yy5:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case '2':
+ yyt2 = YYCURSOR;
+ goto yy10;
+ case '3':
+ yyt2 = YYCURSOR;
+ goto yy12;
+ default: goto yy3;
+ }
+yy6:
+ yych = *++YYCURSOR;
+yy7:
+ switch (yych) {
+ case '0': goto yy6;
+ case '1': goto yy9;
+ default: goto yy8;
+ }
+yy8:
+ YYCURSOR = YYMARKER;
+ goto yy3;
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '2':
+ yyt2 = YYCURSOR;
+ goto yy10;
+ case '3':
+ yyt2 = YYCURSOR;
+ goto yy12;
+ default: goto yy8;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '2': goto yy10;
+ case '3': goto yy12;
+ default: goto yy8;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy15;
+yy13:
+ p0 = yyt1;
+ p2 = yyt2;
+ p4 = yyt3;
+ p1 = yyt2 - 1;
+ p3 = yyt3 - 1;
+ {
+ printf("'%.*s', '%.*s', '%.*s', '%.*s', '%.*s'\n",
+ p1 - p0, p0,
+ p2 - p1, p1,
+ p3 - p2, p2,
+ p4 - p3, p3,
+ YYCURSOR - p4, p4);
+ return;
+ }
+yy14:
+ yych = *++YYCURSOR;
+yy15:
+ switch (yych) {
+ case '4': goto yy14;
+ default: goto yy13;
+ }
+}
+
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ lex(argv[i]);
+ }
+ return 0;
+}
diff --git a/test/tags/fix5.i--tags.re b/test/tags/fix5.i--tags.re
new file mode 100644
index 00000000..1e6b6130
--- /dev/null
+++ b/test/tags/fix5.i--tags.re
@@ -0,0 +1,35 @@
+#include <stddef.h>
+#include <stdio.h>
+
+static void lex(const char *YYCURSOR)
+{
+ const char *YYMARKER, *p0, *p1, *p2, *p3, *p4;
+ /*!stags:re2c format = "const char *@@;"; */
+ /*!re2c
+ re2c:define:YYCTYPE = char;
+ re2c:yyfill:enable = 0;
+
+ * { printf("error\n"); return; }
+ @p0 "0"*
+ @p1 "1"
+ @p2 "2"*
+ @p3 "3"
+ @p4 "4"* {
+ printf("'%.*s', '%.*s', '%.*s', '%.*s', '%.*s'\n",
+ p1 - p0, p0,
+ p2 - p1, p1,
+ p3 - p2, p2,
+ p4 - p3, p3,
+ YYCURSOR - p4, p4);
+ return;
+ }
+ */
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ lex(argv[i]);
+ }
+ return 0;
+}
diff --git a/test/tags/fix5_trail.i--tags--input(custom).c b/test/tags/fix5_trail.i--tags--input(custom).c
new file mode 100644
index 00000000..3c8cbab2
--- /dev/null
+++ b/test/tags/fix5_trail.i--tags--input(custom).c
@@ -0,0 +1,132 @@
+/* Generated by re2c */
+#include <stddef.h>
+#include <stdio.h>
+
+static void lex(const char *s)
+{
+#define YYPEEK() *s
+#define YYSKIP() ++s
+#define YYBACKUP() marker = s
+#define YYRESTORE() s = marker
+#define YYSTAGP(t) t = s
+#define YYSTAGN(t) t = NULL
+#define YYRESTORETAG(t) s = t
+ const char *marker, *p0, *p1, *p2, *p3;
+ const char *yyt1;const char *yyt2;const char *yyt3;const char *yyt4;const char *yyt5;
+
+{
+ char yych;
+ yych = YYPEEK ();
+ switch (yych) {
+ case '0':
+ YYSTAGP (yyt1);
+ goto yy4;
+ case '1':
+ YYSTAGP (yyt1);
+ YYSTAGP (yyt5);
+ goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ YYSKIP ();
+yy3:
+ { printf("error\n"); return; }
+yy4:
+ YYSKIP ();
+ YYBACKUP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '0':
+ case '1': goto yy7;
+ default: goto yy3;
+ }
+yy5:
+ YYSKIP ();
+ YYBACKUP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '2':
+ YYSTAGP (yyt2);
+ goto yy10;
+ case '3':
+ YYSTAGP (yyt2);
+ YYSTAGP (yyt3);
+ goto yy12;
+ default: goto yy3;
+ }
+yy6:
+ YYSKIP ();
+ yych = YYPEEK ();
+yy7:
+ switch (yych) {
+ case '0': goto yy6;
+ case '1':
+ YYSTAGP (yyt5);
+ goto yy9;
+ default: goto yy8;
+ }
+yy8:
+ YYRESTORE ();
+ goto yy3;
+yy9:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '2':
+ YYSTAGP (yyt2);
+ goto yy10;
+ case '3':
+ YYSTAGP (yyt2);
+ YYSTAGP (yyt3);
+ goto yy12;
+ default: goto yy8;
+ }
+yy10:
+ YYSKIP ();
+ yych = YYPEEK ();
+ switch (yych) {
+ case '2': goto yy10;
+ case '3':
+ YYSTAGP (yyt3);
+ goto yy12;
+ default: goto yy8;
+ }
+yy12:
+ YYSKIP ();
+ yych = YYPEEK ();
+ YYSTAGP (yyt4);
+ goto yy15;
+yy13:
+ p0 = yyt1;
+ p1 = yyt5;
+ p2 = yyt2;
+ p3 = yyt3;
+ YYRESTORETAG (yyt4);
+ {
+ printf("'%.*s', '%.*s', '%.*s', '%.*s', '%s'\n",
+ p1 - p0, p0,
+ p2 - p1, p1,
+ p3 - p2, p2,
+ s - p3, p3,
+ s);
+ return;
+ }
+yy14:
+ YYSKIP ();
+ yych = YYPEEK ();
+yy15:
+ switch (yych) {
+ case '4': goto yy14;
+ default: goto yy13;
+ }
+}
+
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ lex(argv[i]);
+ }
+ return 0;
+}
diff --git a/test/tags/fix5_trail.i--tags--input(custom).re b/test/tags/fix5_trail.i--tags--input(custom).re
new file mode 100644
index 00000000..b8b87e60
--- /dev/null
+++ b/test/tags/fix5_trail.i--tags--input(custom).re
@@ -0,0 +1,42 @@
+#include <stddef.h>
+#include <stdio.h>
+
+static void lex(const char *s)
+{
+#define YYPEEK() *s
+#define YYSKIP() ++s
+#define YYBACKUP() marker = s
+#define YYRESTORE() s = marker
+#define YYSTAGP(t) t = s
+#define YYSTAGN(t) t = NULL
+#define YYRESTORETAG(t) s = t
+ const char *marker, *p0, *p1, *p2, *p3;
+ /*!stags:re2c format = "const char *@@;"; */
+ /*!re2c
+ re2c:define:YYCTYPE = char;
+ re2c:yyfill:enable = 0;
+
+ * { printf("error\n"); return; }
+ @p0 "0"*
+ @p1 "1"
+ @p2 "2"*
+ @p3 "3"
+ / "4"* {
+ printf("'%.*s', '%.*s', '%.*s', '%.*s', '%s'\n",
+ p1 - p0, p0,
+ p2 - p1, p1,
+ p3 - p2, p2,
+ s - p3, p3,
+ s);
+ return;
+ }
+ */
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ lex(argv[i]);
+ }
+ return 0;
+}
diff --git a/test/tags/fix5_trail.i--tags.c b/test/tags/fix5_trail.i--tags.c
new file mode 100644
index 00000000..634eff2d
--- /dev/null
+++ b/test/tags/fix5_trail.i--tags.c
@@ -0,0 +1,109 @@
+/* Generated by re2c */
+#include <stddef.h>
+#include <stdio.h>
+
+static void lex(const char *YYCURSOR)
+{
+ const char *YYMARKER, *p0, *p1, *p2, *p3;
+ const char *yyt1;const char *yyt2;const char *yyt3;
+
+{
+ char yych;
+ yych = *YYCURSOR;
+ switch (yych) {
+ case '0':
+ yyt1 = YYCURSOR;
+ goto yy4;
+ case '1':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ default: goto yy2;
+ }
+yy2:
+ ++YYCURSOR;
+yy3:
+ { printf("error\n"); return; }
+yy4:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case '0':
+ case '1': goto yy7;
+ default: goto yy3;
+ }
+yy5:
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case '2':
+ yyt2 = YYCURSOR;
+ goto yy10;
+ case '3':
+ yyt2 = YYCURSOR;
+ goto yy12;
+ default: goto yy3;
+ }
+yy6:
+ yych = *++YYCURSOR;
+yy7:
+ switch (yych) {
+ case '0': goto yy6;
+ case '1': goto yy9;
+ default: goto yy8;
+ }
+yy8:
+ YYCURSOR = YYMARKER;
+ goto yy3;
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '2':
+ yyt2 = YYCURSOR;
+ goto yy10;
+ case '3':
+ yyt2 = YYCURSOR;
+ goto yy12;
+ default: goto yy8;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case '2': goto yy10;
+ case '3': goto yy12;
+ default: goto yy8;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ yyt3 = YYCURSOR;
+ goto yy15;
+yy13:
+ p0 = yyt1;
+ p2 = yyt2;
+ YYCURSOR = yyt3;
+ p1 = yyt2 - 1;
+ p3 = yyt3 - 1;
+ {
+ printf("'%.*s', '%.*s', '%.*s', '%.*s', '%s'\n",
+ p1 - p0, p0,
+ p2 - p1, p1,
+ p3 - p2, p2,
+ YYCURSOR - p3, p3,
+ YYCURSOR);
+ return;
+ }
+yy14:
+ yych = *++YYCURSOR;
+yy15:
+ switch (yych) {
+ case '4': goto yy14;
+ default: goto yy13;
+ }
+}
+
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ lex(argv[i]);
+ }
+ return 0;
+}
diff --git a/test/tags/fix5_trail.i--tags.re b/test/tags/fix5_trail.i--tags.re
new file mode 100644
index 00000000..c080646f
--- /dev/null
+++ b/test/tags/fix5_trail.i--tags.re
@@ -0,0 +1,35 @@
+#include <stddef.h>
+#include <stdio.h>
+
+static void lex(const char *YYCURSOR)
+{
+ const char *YYMARKER, *p0, *p1, *p2, *p3;
+ /*!stags:re2c format = "const char *@@;"; */
+ /*!re2c
+ re2c:define:YYCTYPE = char;
+ re2c:yyfill:enable = 0;
+
+ * { printf("error\n"); return; }
+ @p0 "0"*
+ @p1 "1"
+ @p2 "2"*
+ @p3 "3"
+ / "4"* {
+ printf("'%.*s', '%.*s', '%.*s', '%.*s', '%s'\n",
+ p1 - p0, p0,
+ p2 - p1, p1,
+ p3 - p2, p2,
+ YYCURSOR - p3, p3,
+ YYCURSOR);
+ return;
+ }
+ */
+}
+
+int main(int argc, char **argv)
+{
+ for (int i = 1; i < argc; ++i) {
+ lex(argv[i]);
+ }
+ return 0;
+}
diff --git a/test/tags/interference.i--tags.c b/test/tags/interference.i--tags.c
new file mode 100644
index 00000000..2567e19e
--- /dev/null
+++ b/test/tags/interference.i--tags.c
@@ -0,0 +1,72 @@
+/* Generated by re2c */
+// shows the neccesity of tracking interference induced by copy commands
+
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a': goto yy3;
+ case 'b':
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt1 = yyt2 = NULL;
+ goto yy2;
+ }
+yy2:
+ p = yyt1;
+ q = yyt2;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt3 = NULL;
+ yyt4 = YYCURSOR;
+ goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ yyt1 = yyt2 = NULL;
+ goto yy2;
+ } else {
+ goto yy2;
+ }
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt3;
+ yyt2 = yyt4;
+ goto yy3;
+ case 'b':
+ yyt1 = yyt3;
+ yyt2 = yyt4;
+ yyt3 = yyt4 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt1 = yyt3;
+ yyt2 = yyt4;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 5: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/tags/interference.i--tags.re b/test/tags/interference.i--tags.re
new file mode 100644
index 00000000..0e4a5b8b
--- /dev/null
+++ b/test/tags/interference.i--tags.re
@@ -0,0 +1,7 @@
+// shows the neccesity of tracking interference induced by copy commands
+
+/*!re2c
+
+(("a" | @p) @q "ba")* {}
+
+*/
diff --git a/test/tags/iter_plus.i--tags.c b/test/tags/iter_plus.i--tags.c
new file mode 100644
index 00000000..1505b65a
--- /dev/null
+++ b/test/tags/iter_plus.i--tags.c
@@ -0,0 +1,33 @@
+/* Generated by re2c */
+// ensure 'r+' (one or more repetitions) expansion does not duplicate 'r'
+// this is crucial if 'r' contains tags (tag duplication is forbidden)
+
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ ++YYCURSOR;
+ { d }
+yy4:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy4;
+ default: goto yy6;
+ }
+yy6:
+ p = yyt1;
+ { p }
+}
+
diff --git a/test/tags/iter_plus.i--tags.re b/test/tags/iter_plus.i--tags.re
new file mode 100644
index 00000000..4b11079f
--- /dev/null
+++ b/test/tags/iter_plus.i--tags.re
@@ -0,0 +1,7 @@
+// ensure 'r+' (one or more repetitions) expansion does not duplicate 'r'
+// this is crucial if 'r' contains tags (tag duplication is forbidden)
+
+/*!re2c
+ (@p "a")+ { p }
+ * { d }
+*/
diff --git a/test/tags/lost_tag.i--tags--no-lookahead--input(custom).c b/test/tags/lost_tag.i--tags--no-lookahead--input(custom).c
new file mode 100644
index 00000000..68558bc5
--- /dev/null
+++ b/test/tags/lost_tag.i--tags--no-lookahead--input(custom).c
@@ -0,0 +1,24 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ YYSTAGP (yyt2);
+ if (YYLESSTHAN (1)) YYFILL(1);
+ yych = YYPEEK ();
+ YYSKIP ();
+ switch (yych) {
+ case 'a':
+ YYSTAGP (yyt1);
+ goto yy2;
+ default:
+ YYSTAGP (yyt1);
+ YYSTAGN (yyt2);
+ goto yy2;
+ }
+yy2:
+ a = yyt2;
+ b = yyt1;
+ {}
+}
+
+re2c: warning: line 3: tag 'a' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
diff --git a/test/tags/lost_tag.i--tags--no-lookahead--input(custom).re b/test/tags/lost_tag.i--tags--no-lookahead--input(custom).re
new file mode 100644
index 00000000..ca0144e9
--- /dev/null
+++ b/test/tags/lost_tag.i--tags--no-lookahead--input(custom).re
@@ -0,0 +1,5 @@
+/*!re2c
+
+(@a [a] | [^a]) @b {}
+
+*/
diff --git a/test/tags/map_ord1.i--tags--no-lookahead.c b/test/tags/map_ord1.i--tags--no-lookahead.c
new file mode 100644
index 00000000..86b3f8c1
--- /dev/null
+++ b/test/tags/map_ord1.i--tags--no-lookahead.c
@@ -0,0 +1,51 @@
+/* Generated by re2c */
+// incorrect automaton if mapping of TDFA states ignores version order
+
+{
+ YYCTYPE yych;
+ yyt1 = NULL;
+ yyt2 = YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ ++YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ t = yyt1;
+ {}
+yy3:
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ ++YYCURSOR;
+ goto yy4;
+ default:
+ yyt1 = yyt2;
+ goto yy2;
+ }
+yy4:
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ ++YYCURSOR;
+ goto yy5;
+ default: goto yy2;
+ }
+yy5:
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ ++YYCURSOR;
+ goto yy5;
+ default:
+ yyt1 = yyt2;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 4: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 4: tag 't' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
diff --git a/test/tags/map_ord1.i--tags--no-lookahead.re b/test/tags/map_ord1.i--tags--no-lookahead.re
new file mode 100644
index 00000000..fc42a33e
--- /dev/null
+++ b/test/tags/map_ord1.i--tags--no-lookahead.re
@@ -0,0 +1,6 @@
+// incorrect automaton if mapping of TDFA states ignores version order
+/*!re2c
+
+(@t "a")? ("aa""a"?)* {}
+
+*/
diff --git a/test/tags/map_ord1.i--tags.c b/test/tags/map_ord1.i--tags.c
new file mode 100644
index 00000000..86307d47
--- /dev/null
+++ b/test/tags/map_ord1.i--tags.c
@@ -0,0 +1,45 @@
+/* Generated by re2c */
+// incorrect automaton if mapping of TDFA states ignores version order
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt1 = NULL;
+ goto yy2;
+ }
+yy2:
+ t = yyt1;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy4;
+ default: goto yy2;
+ }
+yy4:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy5;
+ default:
+ yyt1 = yyt2;
+ goto yy2;
+ }
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy5;
+ default: goto yy2;
+ }
+}
+
+re2c: warning: line 4: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 4: tag 't' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
diff --git a/test/tags/map_ord1.i--tags.re b/test/tags/map_ord1.i--tags.re
new file mode 100644
index 00000000..fc42a33e
--- /dev/null
+++ b/test/tags/map_ord1.i--tags.re
@@ -0,0 +1,6 @@
+// incorrect automaton if mapping of TDFA states ignores version order
+/*!re2c
+
+(@t "a")? ("aa""a"?)* {}
+
+*/
diff --git a/test/tags/map_ord2.i--tags--no-lookahead.c b/test/tags/map_ord2.i--tags--no-lookahead.c
new file mode 100644
index 00000000..8ab15f1a
--- /dev/null
+++ b/test/tags/map_ord2.i--tags--no-lookahead.c
@@ -0,0 +1,98 @@
+/* Generated by re2c */
+// incorrect automaton if mapping of TDFA states ignores version order
+
+{
+ YYCTYPE yych;
+ yyt1 = NULL;
+ yyt2 = YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 8) YYFILL(8);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ ++YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ t = yyt1;
+ {}
+yy3:
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ ++YYCURSOR;
+ goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ ++YYCURSOR;
+ goto yy6;
+ default:
+ yyt1 = yyt2;
+ goto yy2;
+ }
+yy6:
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ ++YYCURSOR;
+ goto yy7;
+ default: goto yy2;
+ }
+yy7:
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ ++YYCURSOR;
+ goto yy8;
+ default: goto yy2;
+ }
+yy8:
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ ++YYCURSOR;
+ goto yy9;
+ default:
+ yyt1 = yyt2;
+ goto yy2;
+ }
+yy9:
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ ++YYCURSOR;
+ goto yy10;
+ default:
+ yyt1 = yyt2;
+ goto yy2;
+ }
+yy10:
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ ++YYCURSOR;
+ goto yy11;
+ default: goto yy2;
+ }
+yy11:
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ ++YYCURSOR;
+ goto yy11;
+ default:
+ yyt1 = yyt2;
+ goto yy2;
+ }
+}
+
+re2c: warning: line 4: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 4: tag 't' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
diff --git a/test/tags/map_ord2.i--tags--no-lookahead.re b/test/tags/map_ord2.i--tags--no-lookahead.re
new file mode 100644
index 00000000..e1084512
--- /dev/null
+++ b/test/tags/map_ord2.i--tags--no-lookahead.re
@@ -0,0 +1,6 @@
+// incorrect automaton if mapping of TDFA states ignores version order
+/*!re2c
+
+(@t "aa")? ("a"?"aaa")* {}
+
+*/
diff --git a/test/tags/map_ord2.i--tags.c b/test/tags/map_ord2.i--tags.c
new file mode 100644
index 00000000..9c16e71a
--- /dev/null
+++ b/test/tags/map_ord2.i--tags.c
@@ -0,0 +1,83 @@
+/* Generated by re2c */
+// incorrect automaton if mapping of TDFA states ignores version order
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 8) YYFILL(8);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt2 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy3;
+ default:
+ yyt1 = NULL;
+ goto yy2;
+ }
+yy2:
+ t = yyt1;
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ yyt1 = NULL;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy6;
+ default: goto yy2;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ default:
+ yyt1 = yyt2;
+ goto yy2;
+ }
+yy7:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy8;
+ default:
+ yyt1 = yyt2;
+ goto yy2;
+ }
+yy8:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy9;
+ default: goto yy2;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy10;
+ default: goto yy2;
+ }
+yy10:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy11;
+ default:
+ yyt1 = yyt2;
+ goto yy2;
+ }
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy11;
+ default: goto yy2;
+ }
+}
+
+re2c: warning: line 4: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 4: tag 't' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
diff --git a/test/tags/map_ord2.i--tags.re b/test/tags/map_ord2.i--tags.re
new file mode 100644
index 00000000..e1084512
--- /dev/null
+++ b/test/tags/map_ord2.i--tags.re
@@ -0,0 +1,6 @@
+// incorrect automaton if mapping of TDFA states ignores version order
+/*!re2c
+
+(@t "aa")? ("a"?"aaa")* {}
+
+*/
diff --git a/test/tags/minimization.i.c b/test/tags/minimization.i.c
new file mode 100644
index 00000000..cd16044a
--- /dev/null
+++ b/test/tags/minimization.i.c
@@ -0,0 +1,70 @@
+/* Generated by re2c */
+// Rules are the same except for the tag in the 2nd case.
+// In the 1st case common tail "a" is deduplicated after DFA minimization.
+// In the 2nd case tag prevents minimization.
+
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b':
+ case 'c': goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ ++YYCURSOR;
+yy3:
+ {}
+yy4:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy5;
+ default: goto yy3;
+ }
+yy5:
+ ++YYCURSOR;
+ {}
+}
+
+
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy11;
+ case 'c': goto yy12;
+ default: goto yy9;
+ }
+yy9:
+ ++YYCURSOR;
+yy10:
+ {}
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = YYCURSOR;
+ goto yy13;
+ default: goto yy10;
+ }
+yy12:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy15;
+ default: goto yy10;
+ }
+yy13:
+ ++YYCURSOR;
+yy14:
+ p = yyt1;
+ { p }
+yy15:
+ ++YYCURSOR;
+ yyt1 = NULL;
+ goto yy14;
+}
+
diff --git a/test/tags/minimization.i.re b/test/tags/minimization.i.re
new file mode 100644
index 00000000..e8ce365b
--- /dev/null
+++ b/test/tags/minimization.i.re
@@ -0,0 +1,14 @@
+// Rules are the same except for the tag in the 2nd case.
+// In the 1st case common tail "a" is deduplicated after DFA minimization.
+// In the 2nd case tag prevents minimization.
+
+/*!re2c
+ "ba" | "ca" {}
+ * {}
+*/
+
+/*!re2c
+ re2c:flags:tags = 1;
+ "b" @p "a" | "ca" { p }
+ * {}
+*/
diff --git a/test/tags/skip_tags_disorder1.i--tags--no-lookahead.c b/test/tags/skip_tags_disorder1.i--tags--no-lookahead.c
new file mode 100644
index 00000000..c78e224c
--- /dev/null
+++ b/test/tags/skip_tags_disorder1.i--tags--no-lookahead.c
@@ -0,0 +1,30 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ yyt1 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy0;
+yy1:
+yy0:
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ ++YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ a = yyt1;
+ {}
+yy3:
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR++;
+ yyt1 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy1;
+}
+
+re2c: warning: line 3: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 3: tag 'a' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
diff --git a/test/tags/skip_tags_disorder1.i--tags--no-lookahead.re b/test/tags/skip_tags_disorder1.i--tags--no-lookahead.re
new file mode 100644
index 00000000..7e17c2d6
--- /dev/null
+++ b/test/tags/skip_tags_disorder1.i--tags--no-lookahead.re
@@ -0,0 +1,5 @@
+/*!re2c
+
+(@a "a" [^])* {}
+
+*/
diff --git a/test/tags/skip_tags_disorder2.i--tags--no-lookahead.c b/test/tags/skip_tags_disorder2.i--tags--no-lookahead.c
new file mode 100644
index 00000000..574ad7ce
--- /dev/null
+++ b/test/tags/skip_tags_disorder2.i--tags--no-lookahead.c
@@ -0,0 +1,55 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ yyt1 = YYCURSOR;
+ goto yy0;
+yy1:
+yy0:
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR++;
+ switch (yych) {
+ case 'a':
+ yyt2 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default:
+ yyt1 = YYCURSOR;
+ goto yy1;
+ }
+yy3:
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default:
+ ++YYCURSOR;
+ yyt1 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy3;
+ }
+yy5:
+ b = yyt1;
+ {}
+yy6:
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy8;
+ default:
+ ++YYCURSOR;
+ yyt1 = yyt2;
+ yyt2 = YYCURSOR;
+ goto yy6;
+ }
+yy8:
+ a = yyt1;
+ {}
+}
+
+re2c: warning: line 3: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 4: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 3: tag 'a' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 4: tag 'b' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
diff --git a/test/tags/skip_tags_disorder2.i--tags--no-lookahead.re b/test/tags/skip_tags_disorder2.i--tags--no-lookahead.re
new file mode 100644
index 00000000..1984e15e
--- /dev/null
+++ b/test/tags/skip_tags_disorder2.i--tags--no-lookahead.re
@@ -0,0 +1,6 @@
+/*!re2c
+
+(@a [^a])* {}
+(@b [^b])* {}
+
+*/
diff --git a/test/tags/skip_tags_disorder3.i--eager-skip.c b/test/tags/skip_tags_disorder3.i--eager-skip.c
new file mode 100644
index 00000000..b5db6b82
--- /dev/null
+++ b/test/tags/skip_tags_disorder3.i--eager-skip.c
@@ -0,0 +1,47 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b':
+ ++YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {}
+yy3:
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'c': goto yy2;
+ default: goto yy7;
+ }
+yy4:
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c':
+ ++YYCURSOR;
+ goto yy8;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ YYMARKER = YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+yy7:
+ ++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy6;
+ case 'c': goto yy8;
+ default: goto yy4;
+ }
+yy8:
+ {}
+}
+
+re2c: warning: line 3: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/tags/skip_tags_disorder3.i--eager-skip.re b/test/tags/skip_tags_disorder3.i--eager-skip.re
new file mode 100644
index 00000000..06a63624
--- /dev/null
+++ b/test/tags/skip_tags_disorder3.i--eager-skip.re
@@ -0,0 +1,6 @@
+/*!re2c
+
+"b"* {}
+"b"+ [^c] "c" {}
+
+*/
diff --git a/test/tags/skip_tags_disorder4.i--tags--no-lookahead.c b/test/tags/skip_tags_disorder4.i--tags--no-lookahead.c
new file mode 100644
index 00000000..ebd23fb3
--- /dev/null
+++ b/test/tags/skip_tags_disorder4.i--tags--no-lookahead.c
@@ -0,0 +1,66 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR++;
+ switch (yych) {
+ case 'c': goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR++;
+ switch (yych) {
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ default: goto yy2;
+ }
+yy4:
+ yych = *YYCURSOR++;
+ yyt1 = YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy10;
+ case 'c': goto yy5;
+ default: goto yy8;
+ }
+yy5:
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ default:
+ ++YYCURSOR;
+ yyt1 = YYCURSOR;
+ goto yy5;
+ }
+yy7:
+ t = yyt1;
+ {}
+yy8:
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR++;
+ switch (yych) {
+ case 'a': goto yy10;
+ case 'c':
+ yyt1 = YYCURSOR;
+ goto yy5;
+ default: goto yy8;
+ }
+yy10:
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy12;
+ default:
+ ++YYCURSOR;
+ goto yy10;
+ }
+yy12:
+ t = yyt1;
+ {}
+}
+
+re2c: warning: line 3: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 3: tag 't' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
diff --git a/test/tags/skip_tags_disorder4.i--tags--no-lookahead.re b/test/tags/skip_tags_disorder4.i--tags--no-lookahead.re
new file mode 100644
index 00000000..7adbd4e3
--- /dev/null
+++ b/test/tags/skip_tags_disorder4.i--tags--no-lookahead.re
@@ -0,0 +1,6 @@
+/*!re2c
+
+[^c]* ([^a] @t)* {}
+"c" [^c] @t [^c]* {}
+
+*/
diff --git a/test/tags/syntax_error0.c b/test/tags/syntax_error0.c
new file mode 100644
index 00000000..25719da6
--- /dev/null
+++ b/test/tags/syntax_error0.c
@@ -0,0 +1 @@
+re2c: error: line 3, column 8: tags are only allowed with '-T, --tags' option
diff --git a/test/tags/syntax_error0.re b/test/tags/syntax_error0.re
new file mode 100644
index 00000000..402ae8d2
--- /dev/null
+++ b/test/tags/syntax_error0.re
@@ -0,0 +1,4 @@
+/*!re2c
+ x = "a" @p "b"; // unused; ok
+ "a" @q "b" {} // used without '-T, --tags'; error
+*/
diff --git a/test/tags/tags_in_trail.i--tags.c b/test/tags/tags_in_trail.i--tags.c
new file mode 100644
index 00000000..7d9687b5
--- /dev/null
+++ b/test/tags/tags_in_trail.i--tags.c
@@ -0,0 +1,50 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ goto yy0;
+yy1:
+ ++YYCURSOR;
+yy0:
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy1;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy4;
+ case 'c':
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy6;
+ default:
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy3;
+ }
+yy3:
+ YYCURSOR = yyt1;
+ p = yyt2;
+ {}
+yy4:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy4;
+ case 'c':
+ yyt2 = YYCURSOR;
+ goto yy6;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy3;
+ }
+yy6:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy6;
+ default: goto yy3;
+ }
+}
+
+re2c: warning: line 3: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/tags/tags_in_trail.i--tags.re b/test/tags/tags_in_trail.i--tags.re
new file mode 100644
index 00000000..0f0826db
--- /dev/null
+++ b/test/tags/tags_in_trail.i--tags.re
@@ -0,0 +1,5 @@
+/*!re2c
+
+"a"* / "b"* @p "c"* {}
+
+*/
diff --git a/test/tags/topsort1.i--tags.c b/test/tags/topsort1.i--tags.c
new file mode 100644
index 00000000..eb254ad1
--- /dev/null
+++ b/test/tags/topsort1.i--tags.c
@@ -0,0 +1,63 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 4) YYFILL(4);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt1 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {}
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy5:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt5 = YYCURSOR;
+ goto yy7;
+ default: goto yy4;
+ }
+yy7:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2;
+ yyt2 = yyt3;
+ yyt3 = yyt4;
+ yyt4 = yyt5;
+ yyt5 = YYCURSOR;
+ goto yy7;
+ default: goto yy9;
+ }
+yy9:
+ p = yyt1;
+ {}
+}
+
+re2c: warning: line 4: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 3: tag 'p' has 5th degree of nondeterminism [-Wnondeterministic-tags]
diff --git a/test/tags/topsort1.i--tags.re b/test/tags/topsort1.i--tags.re
new file mode 100644
index 00000000..adfd1ea9
--- /dev/null
+++ b/test/tags/topsort1.i--tags.re
@@ -0,0 +1,6 @@
+/*!re2c
+
+ (@p "a")* "a"{4} {}
+ "" {}
+
+*/
diff --git a/test/tags/topsort2.i--tags.c b/test/tags/topsort2.i--tags.c
new file mode 100644
index 00000000..4986ed81
--- /dev/null
+++ b/test/tags/topsort2.i--tags.c
@@ -0,0 +1,57 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy3;
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ default:
+ yyt2 = NULL;
+ yyt1 = YYCURSOR;
+ goto yy2;
+ }
+yy2:
+ p = yyt2;
+ q = yyt1;
+ {}
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+yy4:
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+yy5:
+ yych = *(YYMARKER = ++YYCURSOR);
+ yyt1 = NULL;
+ switch (yych) {
+ case 'b': goto yy6;
+ default: goto yy4;
+ }
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy8;
+ default: goto yy7;
+ }
+yy7:
+ YYCURSOR = YYMARKER;
+ yyt1 = NULL;
+ goto yy2;
+yy8:
+ ++YYCURSOR;
+ goto yy2;
+}
+
+re2c: warning: line 3: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 3: tag 'p' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 3: tag 'q' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
diff --git a/test/tags/topsort2.i--tags.re b/test/tags/topsort2.i--tags.re
new file mode 100644
index 00000000..ffc8130f
--- /dev/null
+++ b/test/tags/topsort2.i--tags.re
@@ -0,0 +1,5 @@
+/*!re2c
+
+(@p "b" | @q) ("a"* | "ba") {}
+
+*/
diff --git a/test/tags/topsort3.i--tags--no-lookahead.c b/test/tags/topsort3.i--tags--no-lookahead.c
new file mode 100644
index 00000000..d15beb0a
--- /dev/null
+++ b/test/tags/topsort3.i--tags--no-lookahead.c
@@ -0,0 +1,71 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ yyt2 = YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *(YYMARKER = YYCURSOR++);
+ yyt1 = NULL;
+ switch (yych) {
+ case 'a': goto yy4;
+ case 'b': goto yy6;
+ default: goto yy3;
+ }
+yy2:
+ {}
+yy3:
+ yych = *YYCURSOR++;
+ switch (yych) {
+ case 'a': goto yy9;
+ case 'b': goto yy10;
+ default: goto yy8;
+ }
+yy4:
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy5;
+ default:
+ ++YYCURSOR;
+ goto yy10;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ goto yy2;
+yy6:
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy7;
+ default:
+ ++YYCURSOR;
+ goto yy9;
+ }
+yy7:
+ c = yyt1;
+ {}
+yy8:
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt1 = yyt2;
+ goto yy7;
+ default:
+ ++YYCURSOR;
+ yyt2 = yyt1;
+ goto yy9;
+ }
+yy9:
+ yyt1 = yyt2;
+ goto yy7;
+yy10:
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default:
+ ++YYCURSOR;
+ yyt2 = yyt1;
+ goto yy9;
+ }
+}
+
+re2c: warning: line 4: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 3: tag 'c' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
diff --git a/test/tags/topsort3.i--tags--no-lookahead.re b/test/tags/topsort3.i--tags--no-lookahead.re
new file mode 100644
index 00000000..d64c7f1c
--- /dev/null
+++ b/test/tags/topsort3.i--tags--no-lookahead.re
@@ -0,0 +1,6 @@
+/*!re2c
+
+("b"|((@c |[^b])([^a][^b]))) {}
+"" {}
+
+*/
diff --git a/test/tags/twopass.i--tags.c b/test/tags/twopass.i--tags.c
new file mode 100644
index 00000000..609c5a98
--- /dev/null
+++ b/test/tags/twopass.i--tags.c
@@ -0,0 +1,210 @@
+/* Generated by re2c */
+// need two passes in liveness analyses for chains of copy commands:
+// same version may occur as both LHS and RHS, e.g. 'x = y; y = z;'
+
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 6) YYFILL(6);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt3 = YYCURSOR;
+ goto yy4;
+ case 'b':
+ yyt1 = yyt2 = yyt3 = YYCURSOR;
+ goto yy6;
+ default:
+ yyt2 = YYCURSOR;
+ goto yy3;
+ }
+yy2:
+ r = yyt1;
+ s = yyt4;
+ {}
+yy3:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy10;
+ case 'b':
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt1 = YYCURSOR;
+ goto yy8;
+ }
+yy4:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy13;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYMARKER;
+ switch (yyaccept) {
+ case 0:
+ yyt1 = yyt4 = NULL;
+ goto yy2;
+ case 1:
+ yyt1 = yyt2;
+ yyt4 = YYCURSOR;
+ goto yy2;
+ case 2: goto yy7;
+ case 3:
+ yyt4 = YYCURSOR;
+ goto yy2;
+ default:
+ yyt1 = yyt2;
+ goto yy2;
+ }
+yy6:
+ yyaccept = 2;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'a':
+ yyt4 = YYCURSOR;
+ goto yy10;
+ case 'b':
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt1 = YYCURSOR;
+ goto yy8;
+ }
+yy7:
+ p = yyt3;
+ q = yyt1;
+ y = yyt2;
+ {}
+yy8:
+ yyaccept = 3;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt2 = yyt1;
+ yyt4 = YYCURSOR;
+ goto yy10;
+ case 'b':
+ yyt2 = yyt1;
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt1 = YYCURSOR;
+ goto yy8;
+ }
+yy10:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy14;
+ default: goto yy5;
+ }
+yy11:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy14;
+ case 'b':
+ yyt2 = yyt1;
+ yyt1 = yyt4 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt1 = YYCURSOR;
+ goto yy8;
+ }
+yy13:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy17;
+ case 'b':
+ yyt1 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy18;
+ default:
+ yyt1 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy15;
+ }
+yy14:
+ yyaccept = 4;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy10;
+ case 'b':
+ yyt1 = YYCURSOR;
+ goto yy11;
+ default:
+ yyt1 = YYCURSOR;
+ goto yy8;
+ }
+yy15:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy5;
+ case 'b': goto yy18;
+ default: goto yy15;
+ }
+yy17:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt3 = NULL;
+ goto yy20;
+ case 'b':
+ yyt3 = NULL;
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy18;
+ default:
+ yyt3 = NULL;
+ yyt1 = yyt2 = YYCURSOR;
+ goto yy15;
+ }
+yy18:
+ yyaccept = 2;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ case 'b': goto yy18;
+ default: goto yy15;
+ }
+yy20:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy21;
+ default: goto yy5;
+ }
+yy21:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy5;
+ case 'b':
+ yyt1 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy18;
+ default:
+ yyt1 = NULL;
+ yyt2 = YYCURSOR;
+ goto yy15;
+ }
+}
+
+re2c: warning: line 7: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 6: tag 'p' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 6: tag 'q' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 6: tag 'y' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 7: tag 'r' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 7: tag 's' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
diff --git a/test/tags/twopass.i--tags.re b/test/tags/twopass.i--tags.re
new file mode 100644
index 00000000..69005366
--- /dev/null
+++ b/test/tags/twopass.i--tags.re
@@ -0,0 +1,9 @@
+// need two passes in liveness analyses for chains of copy commands:
+// same version may occur as both LHS and RHS, e.g. 'x = y; y = z;'
+
+/*!re2c
+
+(@p | [^b] "ba") ("ab" | @q) @y [^a]* "b" {}
+(@r [^a] @s ("ab" | "ba")*)* {}
+
+*/
diff --git a/test/tags/uniq.i--tags.c b/test/tags/uniq.i--tags.c
new file mode 100644
index 00000000..93d0e532
--- /dev/null
+++ b/test/tags/uniq.i--tags.c
@@ -0,0 +1,56 @@
+/* Generated by re2c */
+// all tags collapse to one variable, and so should commands
+
+
+{
+ YYCTYPE yych;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = NULL;
+ goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ {}
+yy3:
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b':
+ yyt2 = YYCURSOR;
+ goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ u = yyt1;
+ v = yyt1;
+ w = yyt1;
+ x = yyt1;
+ y = yyt1;
+ z = yyt1;
+ {}
+yy5:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a':
+ yyt1 = yyt2;
+ goto yy3;
+ default: goto yy6;
+ }
+yy6:
+ YYCURSOR = YYMARKER;
+ goto yy4;
+}
+
+re2c: warning: line 6: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 5: tag 'u' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 5: tag 'v' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 5: tag 'w' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 5: tag 'x' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 5: tag 'y' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
+re2c: warning: line 5: tag 'z' has 2nd degree of nondeterminism [-Wnondeterministic-tags]
diff --git a/test/tags/uniq.i--tags.re b/test/tags/uniq.i--tags.re
new file mode 100644
index 00000000..87dbb3d8
--- /dev/null
+++ b/test/tags/uniq.i--tags.re
@@ -0,0 +1,8 @@
+// all tags collapse to one variable, and so should commands
+
+/*!re2c
+
+("a" @u @v @w @x @y @z "b")* "a" {}
+"" {}
+
+*/
diff --git a/test/tags/yyaccept1.i.c b/test/tags/yyaccept1.i.c
new file mode 100644
index 00000000..a072e678
--- /dev/null
+++ b/test/tags/yyaccept1.i.c
@@ -0,0 +1,63 @@
+/* Generated by re2c */
+// Normally re2c generates one 'yyaccept' value for each rule
+// that is shadowed by a longer rule.
+// However, if two different accepting states accept the same
+// rule, but their epsilon-transitions to this rule have
+// different sets of tags, re2c should split 'yyaccept' value.
+
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy4;
+ default: goto yy2;
+ }
+yy2:
+ ++YYCURSOR;
+ {}
+yy4:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ YYCTXMARKER = YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy6;
+ default: goto yy5;
+ }
+yy5:
+ YYCURSOR = YYCTXMARKER;
+ {}
+yy6:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'c': goto yy8;
+ default: goto yy7;
+ }
+yy7:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ YYCTXMARKER = YYCURSOR;
+ goto yy5;
+ } else {
+ goto yy5;
+ }
+yy8:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ switch (yych) {
+ case 'd': goto yy9;
+ default: goto yy5;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'e': goto yy10;
+ default: goto yy7;
+ }
+yy10:
+ ++YYCURSOR;
+ {}
+}
+
diff --git a/test/tags/yyaccept1.i.re b/test/tags/yyaccept1.i.re
new file mode 100644
index 00000000..ed7a9f0a
--- /dev/null
+++ b/test/tags/yyaccept1.i.re
@@ -0,0 +1,11 @@
+// Normally re2c generates one 'yyaccept' value for each rule
+// that is shadowed by a longer rule.
+// However, if two different accepting states accept the same
+// rule, but their epsilon-transitions to this rule have
+// different sets of tags, re2c should split 'yyaccept' value.
+
+/*!re2c
+ "a" / "bc"? {}
+ "abcde" {}
+ * {}
+*/
diff --git a/test/unicode_blocks.8--encoding-policy(fail).c b/test/unicode_blocks.8--encoding-policy(fail).c
index d275c4c2..a6e6074b 100644
--- a/test/unicode_blocks.8--encoding-policy(fail).c
+++ b/test/unicode_blocks.8--encoding-policy(fail).c
@@ -1 +1 @@
-re2c: error: line 322, column 21: Bad code point range: '0xD800 - 0xDB7F'
+re2c: error: line 322, column 21: bad code point range: '0xD800 - 0xDB7F'
diff --git a/test/unicode_blocks.8--encoding-policy(ignore).c b/test/unicode_blocks.8--encoding-policy(ignore).c
index 43f63c4f..128edcd3 100644
--- a/test/unicode_blocks.8--encoding-policy(ignore).c
+++ b/test/unicode_blocks.8--encoding-policy(ignore).c
@@ -12734,8 +12734,8 @@ yy977:
default: goto yy972;
}
yy978:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_blocks.8--encoding-policy(substitute).c b/test/unicode_blocks.8--encoding-policy(substitute).c
index 7ed885ca..c4854e80 100644
--- a/test/unicode_blocks.8--encoding-policy(substitute).c
+++ b/test/unicode_blocks.8--encoding-policy(substitute).c
@@ -12484,8 +12484,8 @@ yy977:
default: goto yy972;
}
yy978:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_blocks.8--skeleton--encoding-policy(ignore).c b/test/unicode_blocks.8--skeleton--encoding-policy(ignore).c
index cb3407cd..9e034633 100644
--- a/test/unicode_blocks.8--skeleton--encoding-policy(ignore).c
+++ b/test/unicode_blocks.8--skeleton--encoding-policy(ignore).c
@@ -1,7 +1,9 @@
/* Generated by re2c */
+#include <stddef.h> /* size_t */
#include <stdio.h>
#include <stdlib.h> /* malloc, free */
+#include <string.h> /* memcpy */
static void *read_file
( const char *fname
@@ -56,7 +58,7 @@ error:
#define YYFILL(n) { break; }
static int action_line344
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -64,10 +66,12 @@ static int action_line344
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -77,17 +81,17 @@ static int action_line344
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line344: at position %ld (iteration %u):\n"
+ , "error: lex_line344: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -97,6 +101,13 @@ static int action_line344
}
}
+static int check_key_count_line344(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line344: not enough keys\n");
+ return 1;
+}
+
int lex_line344()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -124,7 +135,7 @@ int lex_line344()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line344.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -137,7 +148,7 @@ int lex_line344()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -145,11 +156,13 @@ int lex_line344()
yych = YYPEEK ();
if (yych >= 0x80) goto yy4;
YYSKIP ();
- status = action_line344(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line344(keys_count, i, 3)
+ || action_line344(&i, keys, input, token, &cursor, 0);
continue;
yy4:
YYSKIP ();
- status = action_line344(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line344(keys_count, i, 3)
+ || action_line344(&i, keys, input, token, &cursor, 254);
continue;
}
@@ -161,7 +174,7 @@ yy4:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line344: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line344: unused keys left after %u keys\n", i);
}
}
@@ -187,7 +200,7 @@ end:
#define YYFILL(n) { break; }
static int action_line351
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -195,10 +208,12 @@ static int action_line351
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -208,17 +223,17 @@ static int action_line351
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line351: at position %ld (iteration %u):\n"
+ , "error: lex_line351: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -228,6 +243,13 @@ static int action_line351
}
}
+static int check_key_count_line351(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line351: not enough keys\n");
+ return 1;
+}
+
int lex_line351()
{
const size_t padding = 2; /* YYMAXFILL */
@@ -255,7 +277,7 @@ int lex_line351()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line351.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -268,7 +290,7 @@ int lex_line351()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -282,7 +304,8 @@ int lex_line351()
yy8:
YYSKIP ();
yy9:
- status = action_line351(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line351(keys_count, i, 3)
+ || action_line351(&i, keys, input, token, &cursor, 254);
continue;
yy10:
YYSKIP ();
@@ -356,7 +379,8 @@ yy10:
}
yy11:
YYSKIP ();
- status = action_line351(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line351(keys_count, i, 3)
+ || action_line351(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -368,7 +392,7 @@ yy11:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line351: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line351: unused keys left after %u keys\n", i);
}
}
@@ -394,7 +418,7 @@ end:
#define YYFILL(n) { break; }
static int action_line358
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -402,10 +426,12 @@ static int action_line358
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -415,17 +441,17 @@ static int action_line358
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line358: at position %ld (iteration %u):\n"
+ , "error: lex_line358: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -435,6 +461,13 @@ static int action_line358
}
}
+static int check_key_count_line358(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line358: not enough keys\n");
+ return 1;
+}
+
int lex_line358()
{
const size_t padding = 2; /* YYMAXFILL */
@@ -462,7 +495,7 @@ int lex_line358()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line358.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -475,7 +508,7 @@ int lex_line358()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -489,7 +522,8 @@ int lex_line358()
yy15:
YYSKIP ();
yy16:
- status = action_line358(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line358(keys_count, i, 3)
+ || action_line358(&i, keys, input, token, &cursor, 254);
continue;
yy17:
YYSKIP ();
@@ -563,7 +597,8 @@ yy17:
}
yy18:
YYSKIP ();
- status = action_line358(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line358(keys_count, i, 3)
+ || action_line358(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -575,7 +610,7 @@ yy18:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line358: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line358: unused keys left after %u keys\n", i);
}
}
@@ -601,7 +636,7 @@ end:
#define YYFILL(n) { break; }
static int action_line365
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -609,10 +644,12 @@ static int action_line365
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -622,17 +659,17 @@ static int action_line365
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line365: at position %ld (iteration %u):\n"
+ , "error: lex_line365: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -642,6 +679,13 @@ static int action_line365
}
}
+static int check_key_count_line365(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line365: not enough keys\n");
+ return 1;
+}
+
int lex_line365()
{
const size_t padding = 2; /* YYMAXFILL */
@@ -669,7 +713,7 @@ int lex_line365()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line365.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -682,7 +726,7 @@ int lex_line365()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -698,7 +742,8 @@ int lex_line365()
yy22:
YYSKIP ();
yy23:
- status = action_line365(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line365(keys_count, i, 3)
+ || action_line365(&i, keys, input, token, &cursor, 254);
continue;
yy24:
YYSKIP ();
@@ -794,7 +839,8 @@ yy25:
}
yy26:
YYSKIP ();
- status = action_line365(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line365(keys_count, i, 3)
+ || action_line365(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -806,7 +852,7 @@ yy26:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line365: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line365: unused keys left after %u keys\n", i);
}
}
@@ -832,7 +878,7 @@ end:
#define YYFILL(n) { break; }
static int action_line372
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -840,10 +886,12 @@ static int action_line372
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -853,17 +901,17 @@ static int action_line372
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line372: at position %ld (iteration %u):\n"
+ , "error: lex_line372: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -873,6 +921,13 @@ static int action_line372
}
}
+static int check_key_count_line372(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line372: not enough keys\n");
+ return 1;
+}
+
int lex_line372()
{
const size_t padding = 2; /* YYMAXFILL */
@@ -900,7 +955,7 @@ int lex_line372()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line372.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -913,7 +968,7 @@ int lex_line372()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -927,7 +982,8 @@ int lex_line372()
yy30:
YYSKIP ();
yy31:
- status = action_line372(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line372(keys_count, i, 3)
+ || action_line372(&i, keys, input, token, &cursor, 254);
continue;
yy32:
YYSKIP ();
@@ -1039,7 +1095,8 @@ yy33:
}
yy34:
YYSKIP ();
- status = action_line372(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line372(keys_count, i, 3)
+ || action_line372(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -1051,7 +1108,7 @@ yy34:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line372: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line372: unused keys left after %u keys\n", i);
}
}
@@ -1077,7 +1134,7 @@ end:
#define YYFILL(n) { break; }
static int action_line379
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -1085,10 +1142,12 @@ static int action_line379
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -1098,17 +1157,17 @@ static int action_line379
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line379: at position %ld (iteration %u):\n"
+ , "error: lex_line379: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -1118,6 +1177,13 @@ static int action_line379
}
}
+static int check_key_count_line379(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line379: not enough keys\n");
+ return 1;
+}
+
int lex_line379()
{
const size_t padding = 2; /* YYMAXFILL */
@@ -1145,7 +1211,7 @@ int lex_line379()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line379.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -1158,7 +1224,7 @@ int lex_line379()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -1172,7 +1238,8 @@ int lex_line379()
yy38:
YYSKIP ();
yy39:
- status = action_line379(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line379(keys_count, i, 3)
+ || action_line379(&i, keys, input, token, &cursor, 254);
continue;
yy40:
YYSKIP ();
@@ -1268,7 +1335,8 @@ yy41:
}
yy42:
YYSKIP ();
- status = action_line379(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line379(keys_count, i, 3)
+ || action_line379(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -1280,7 +1348,7 @@ yy42:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line379: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line379: unused keys left after %u keys\n", i);
}
}
@@ -1306,7 +1374,7 @@ end:
#define YYFILL(n) { break; }
static int action_line386
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -1314,10 +1382,12 @@ static int action_line386
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -1327,17 +1397,17 @@ static int action_line386
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line386: at position %ld (iteration %u):\n"
+ , "error: lex_line386: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -1347,6 +1417,13 @@ static int action_line386
}
}
+static int check_key_count_line386(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line386: not enough keys\n");
+ return 1;
+}
+
int lex_line386()
{
const size_t padding = 2; /* YYMAXFILL */
@@ -1374,7 +1451,7 @@ int lex_line386()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line386.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -1387,7 +1464,7 @@ int lex_line386()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -1401,7 +1478,8 @@ int lex_line386()
yy46:
YYSKIP ();
yy47:
- status = action_line386(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line386(keys_count, i, 3)
+ || action_line386(&i, keys, input, token, &cursor, 254);
continue;
yy48:
YYSKIP ();
@@ -1529,7 +1607,8 @@ yy49:
}
yy50:
YYSKIP ();
- status = action_line386(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line386(keys_count, i, 3)
+ || action_line386(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -1541,7 +1620,7 @@ yy50:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line386: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line386: unused keys left after %u keys\n", i);
}
}
@@ -1567,7 +1646,7 @@ end:
#define YYFILL(n) { break; }
static int action_line393
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -1575,10 +1654,12 @@ static int action_line393
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -1588,17 +1669,17 @@ static int action_line393
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line393: at position %ld (iteration %u):\n"
+ , "error: lex_line393: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -1608,6 +1689,13 @@ static int action_line393
}
}
+static int check_key_count_line393(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line393: not enough keys\n");
+ return 1;
+}
+
int lex_line393()
{
const size_t padding = 2; /* YYMAXFILL */
@@ -1635,7 +1723,7 @@ int lex_line393()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line393.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -1648,7 +1736,7 @@ int lex_line393()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -1663,7 +1751,8 @@ int lex_line393()
yy54:
YYSKIP ();
yy55:
- status = action_line393(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line393(keys_count, i, 3)
+ || action_line393(&i, keys, input, token, &cursor, 254);
continue;
yy56:
YYSKIP ();
@@ -1759,7 +1848,8 @@ yy57:
}
yy58:
YYSKIP ();
- status = action_line393(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line393(keys_count, i, 3)
+ || action_line393(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -1771,7 +1861,7 @@ yy58:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line393: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line393: unused keys left after %u keys\n", i);
}
}
@@ -1797,7 +1887,7 @@ end:
#define YYFILL(n) { break; }
static int action_line400
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -1805,10 +1895,12 @@ static int action_line400
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -1818,17 +1910,17 @@ static int action_line400
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line400: at position %ld (iteration %u):\n"
+ , "error: lex_line400: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -1838,6 +1930,13 @@ static int action_line400
}
}
+static int check_key_count_line400(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line400: not enough keys\n");
+ return 1;
+}
+
int lex_line400()
{
const size_t padding = 2; /* YYMAXFILL */
@@ -1865,7 +1964,7 @@ int lex_line400()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line400.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -1878,7 +1977,7 @@ int lex_line400()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -1894,7 +1993,8 @@ int lex_line400()
yy62:
YYSKIP ();
yy63:
- status = action_line400(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line400(keys_count, i, 3)
+ || action_line400(&i, keys, input, token, &cursor, 254);
continue;
yy64:
YYSKIP ();
@@ -1968,7 +2068,8 @@ yy64:
}
yy65:
YYSKIP ();
- status = action_line400(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line400(keys_count, i, 3)
+ || action_line400(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -1980,7 +2081,7 @@ yy65:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line400: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line400: unused keys left after %u keys\n", i);
}
}
@@ -2006,7 +2107,7 @@ end:
#define YYFILL(n) { break; }
static int action_line407
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -2014,10 +2115,12 @@ static int action_line407
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -2027,17 +2130,17 @@ static int action_line407
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line407: at position %ld (iteration %u):\n"
+ , "error: lex_line407: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -2047,6 +2150,13 @@ static int action_line407
}
}
+static int check_key_count_line407(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line407: not enough keys\n");
+ return 1;
+}
+
int lex_line407()
{
const size_t padding = 2; /* YYMAXFILL */
@@ -2074,7 +2184,7 @@ int lex_line407()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line407.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -2087,7 +2197,7 @@ int lex_line407()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -2100,7 +2210,8 @@ int lex_line407()
yy69:
YYSKIP ();
yy70:
- status = action_line407(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line407(keys_count, i, 3)
+ || action_line407(&i, keys, input, token, &cursor, 254);
continue;
yy71:
YYSKIP ();
@@ -2158,7 +2269,8 @@ yy71:
}
yy72:
YYSKIP ();
- status = action_line407(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line407(keys_count, i, 3)
+ || action_line407(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -2170,7 +2282,7 @@ yy72:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line407: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line407: unused keys left after %u keys\n", i);
}
}
@@ -2196,7 +2308,7 @@ end:
#define YYFILL(n) { break; }
static int action_line414
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -2204,10 +2316,12 @@ static int action_line414
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -2217,17 +2331,17 @@ static int action_line414
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line414: at position %ld (iteration %u):\n"
+ , "error: lex_line414: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -2237,6 +2351,13 @@ static int action_line414
}
}
+static int check_key_count_line414(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line414: not enough keys\n");
+ return 1;
+}
+
int lex_line414()
{
const size_t padding = 2; /* YYMAXFILL */
@@ -2264,7 +2385,7 @@ int lex_line414()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line414.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -2277,7 +2398,7 @@ int lex_line414()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -2292,7 +2413,8 @@ int lex_line414()
yy76:
YYSKIP ();
yy77:
- status = action_line414(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line414(keys_count, i, 3)
+ || action_line414(&i, keys, input, token, &cursor, 254);
continue;
yy78:
YYSKIP ();
@@ -2410,7 +2532,8 @@ yy80:
}
yy81:
YYSKIP ();
- status = action_line414(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line414(keys_count, i, 3)
+ || action_line414(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -2422,7 +2545,7 @@ yy81:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line414: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line414: unused keys left after %u keys\n", i);
}
}
@@ -2448,7 +2571,7 @@ end:
#define YYFILL(n) { break; }
static int action_line421
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -2456,10 +2579,12 @@ static int action_line421
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -2469,17 +2594,17 @@ static int action_line421
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line421: at position %ld (iteration %u):\n"
+ , "error: lex_line421: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -2489,6 +2614,13 @@ static int action_line421
}
}
+static int check_key_count_line421(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line421: not enough keys\n");
+ return 1;
+}
+
int lex_line421()
{
const size_t padding = 2; /* YYMAXFILL */
@@ -2516,7 +2648,7 @@ int lex_line421()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line421.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -2529,7 +2661,7 @@ int lex_line421()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -2543,7 +2675,8 @@ int lex_line421()
yy85:
YYSKIP ();
yy86:
- status = action_line421(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line421(keys_count, i, 3)
+ || action_line421(&i, keys, input, token, &cursor, 254);
continue;
yy87:
YYSKIP ();
@@ -2671,7 +2804,8 @@ yy88:
}
yy89:
YYSKIP ();
- status = action_line421(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line421(keys_count, i, 3)
+ || action_line421(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -2683,7 +2817,7 @@ yy89:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line421: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line421: unused keys left after %u keys\n", i);
}
}
@@ -2709,7 +2843,7 @@ end:
#define YYFILL(n) { break; }
static int action_line428
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -2717,10 +2851,12 @@ static int action_line428
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -2730,17 +2866,17 @@ static int action_line428
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line428: at position %ld (iteration %u):\n"
+ , "error: lex_line428: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -2750,6 +2886,13 @@ static int action_line428
}
}
+static int check_key_count_line428(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line428: not enough keys\n");
+ return 1;
+}
+
int lex_line428()
{
const size_t padding = 2; /* YYMAXFILL */
@@ -2777,7 +2920,7 @@ int lex_line428()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line428.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -2790,7 +2933,7 @@ int lex_line428()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -2806,7 +2949,8 @@ int lex_line428()
yy93:
YYSKIP ();
yy94:
- status = action_line428(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line428(keys_count, i, 3)
+ || action_line428(&i, keys, input, token, &cursor, 254);
continue;
yy95:
YYSKIP ();
@@ -2880,7 +3024,8 @@ yy95:
}
yy96:
YYSKIP ();
- status = action_line428(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line428(keys_count, i, 3)
+ || action_line428(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -2892,7 +3037,7 @@ yy96:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line428: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line428: unused keys left after %u keys\n", i);
}
}
@@ -2918,7 +3063,7 @@ end:
#define YYFILL(n) { break; }
static int action_line435
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -2926,10 +3071,12 @@ static int action_line435
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -2939,17 +3086,17 @@ static int action_line435
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line435: at position %ld (iteration %u):\n"
+ , "error: lex_line435: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -2959,6 +3106,13 @@ static int action_line435
}
}
+static int check_key_count_line435(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line435: not enough keys\n");
+ return 1;
+}
+
int lex_line435()
{
const size_t padding = 2; /* YYMAXFILL */
@@ -2986,7 +3140,7 @@ int lex_line435()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line435.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -2999,7 +3153,7 @@ int lex_line435()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -3013,7 +3167,8 @@ int lex_line435()
yy100:
YYSKIP ();
yy101:
- status = action_line435(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line435(keys_count, i, 3)
+ || action_line435(&i, keys, input, token, &cursor, 254);
continue;
yy102:
YYSKIP ();
@@ -3109,7 +3264,8 @@ yy103:
}
yy104:
YYSKIP ();
- status = action_line435(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line435(keys_count, i, 3)
+ || action_line435(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -3121,7 +3277,7 @@ yy104:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line435: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line435: unused keys left after %u keys\n", i);
}
}
@@ -3147,7 +3303,7 @@ end:
#define YYFILL(n) { break; }
static int action_line442
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -3155,10 +3311,12 @@ static int action_line442
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -3168,17 +3326,17 @@ static int action_line442
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line442: at position %ld (iteration %u):\n"
+ , "error: lex_line442: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -3188,6 +3346,13 @@ static int action_line442
}
}
+static int check_key_count_line442(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line442: not enough keys\n");
+ return 1;
+}
+
int lex_line442()
{
const size_t padding = 2; /* YYMAXFILL */
@@ -3215,7 +3380,7 @@ int lex_line442()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line442.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -3228,7 +3393,7 @@ int lex_line442()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -3241,7 +3406,8 @@ int lex_line442()
yy108:
YYSKIP ();
yy109:
- status = action_line442(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line442(keys_count, i, 3)
+ || action_line442(&i, keys, input, token, &cursor, 254);
continue;
yy110:
YYSKIP ();
@@ -3315,7 +3481,8 @@ yy110:
}
yy111:
YYSKIP ();
- status = action_line442(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line442(keys_count, i, 3)
+ || action_line442(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -3327,7 +3494,7 @@ yy111:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line442: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line442: unused keys left after %u keys\n", i);
}
}
@@ -3355,7 +3522,7 @@ end:
#define YYFILL(n) { break; }
static int action_line449
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -3363,10 +3530,12 @@ static int action_line449
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -3376,17 +3545,17 @@ static int action_line449
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line449: at position %ld (iteration %u):\n"
+ , "error: lex_line449: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -3396,6 +3565,13 @@ static int action_line449
}
}
+static int check_key_count_line449(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line449: not enough keys\n");
+ return 1;
+}
+
int lex_line449()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -3423,7 +3599,7 @@ int lex_line449()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line449.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -3436,7 +3612,7 @@ int lex_line449()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -3450,7 +3626,8 @@ int lex_line449()
yy115:
YYSKIP ();
yy116:
- status = action_line449(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line449(keys_count, i, 3)
+ || action_line449(&i, keys, input, token, &cursor, 254);
continue;
yy117:
YYSKIP ();
@@ -3536,7 +3713,8 @@ yy119:
goto yy116;
yy120:
YYSKIP ();
- status = action_line449(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line449(keys_count, i, 3)
+ || action_line449(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -3548,7 +3726,7 @@ yy120:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line449: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line449: unused keys left after %u keys\n", i);
}
}
@@ -3578,7 +3756,7 @@ end:
#define YYFILL(n) { break; }
static int action_line456
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -3586,10 +3764,12 @@ static int action_line456
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -3599,17 +3779,17 @@ static int action_line456
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line456: at position %ld (iteration %u):\n"
+ , "error: lex_line456: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -3619,6 +3799,13 @@ static int action_line456
}
}
+static int check_key_count_line456(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line456: not enough keys\n");
+ return 1;
+}
+
int lex_line456()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -3646,7 +3833,7 @@ int lex_line456()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line456.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -3659,7 +3846,7 @@ int lex_line456()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -3673,7 +3860,8 @@ int lex_line456()
yy124:
YYSKIP ();
yy125:
- status = action_line456(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line456(keys_count, i, 3)
+ || action_line456(&i, keys, input, token, &cursor, 254);
continue;
yy126:
YYSKIP ();
@@ -3759,7 +3947,8 @@ yy128:
goto yy125;
yy129:
YYSKIP ();
- status = action_line456(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line456(keys_count, i, 3)
+ || action_line456(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -3771,7 +3960,7 @@ yy129:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line456: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line456: unused keys left after %u keys\n", i);
}
}
@@ -3801,7 +3990,7 @@ end:
#define YYFILL(n) { break; }
static int action_line463
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -3809,10 +3998,12 @@ static int action_line463
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -3822,17 +4013,17 @@ static int action_line463
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line463: at position %ld (iteration %u):\n"
+ , "error: lex_line463: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -3842,6 +4033,13 @@ static int action_line463
}
}
+static int check_key_count_line463(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line463: not enough keys\n");
+ return 1;
+}
+
int lex_line463()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -3869,7 +4067,7 @@ int lex_line463()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line463.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -3882,7 +4080,7 @@ int lex_line463()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -3896,7 +4094,8 @@ int lex_line463()
yy133:
YYSKIP ();
yy134:
- status = action_line463(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line463(keys_count, i, 3)
+ || action_line463(&i, keys, input, token, &cursor, 254);
continue;
yy135:
YYSKIP ();
@@ -3982,7 +4181,8 @@ yy137:
goto yy134;
yy138:
YYSKIP ();
- status = action_line463(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line463(keys_count, i, 3)
+ || action_line463(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -3994,7 +4194,7 @@ yy138:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line463: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line463: unused keys left after %u keys\n", i);
}
}
@@ -4024,7 +4224,7 @@ end:
#define YYFILL(n) { break; }
static int action_line470
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -4032,10 +4232,12 @@ static int action_line470
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -4045,17 +4247,17 @@ static int action_line470
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line470: at position %ld (iteration %u):\n"
+ , "error: lex_line470: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -4065,6 +4267,13 @@ static int action_line470
}
}
+static int check_key_count_line470(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line470: not enough keys\n");
+ return 1;
+}
+
int lex_line470()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -4092,7 +4301,7 @@ int lex_line470()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line470.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -4105,7 +4314,7 @@ int lex_line470()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -4119,7 +4328,8 @@ int lex_line470()
yy142:
YYSKIP ();
yy143:
- status = action_line470(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line470(keys_count, i, 3)
+ || action_line470(&i, keys, input, token, &cursor, 254);
continue;
yy144:
YYSKIP ();
@@ -4205,7 +4415,8 @@ yy146:
goto yy143;
yy147:
YYSKIP ();
- status = action_line470(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line470(keys_count, i, 3)
+ || action_line470(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -4217,7 +4428,7 @@ yy147:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line470: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line470: unused keys left after %u keys\n", i);
}
}
@@ -4247,7 +4458,7 @@ end:
#define YYFILL(n) { break; }
static int action_line477
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -4255,10 +4466,12 @@ static int action_line477
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -4268,17 +4481,17 @@ static int action_line477
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line477: at position %ld (iteration %u):\n"
+ , "error: lex_line477: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -4288,6 +4501,13 @@ static int action_line477
}
}
+static int check_key_count_line477(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line477: not enough keys\n");
+ return 1;
+}
+
int lex_line477()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -4315,7 +4535,7 @@ int lex_line477()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line477.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -4328,7 +4548,7 @@ int lex_line477()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -4342,7 +4562,8 @@ int lex_line477()
yy151:
YYSKIP ();
yy152:
- status = action_line477(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line477(keys_count, i, 3)
+ || action_line477(&i, keys, input, token, &cursor, 254);
continue;
yy153:
YYSKIP ();
@@ -4428,7 +4649,8 @@ yy155:
goto yy152;
yy156:
YYSKIP ();
- status = action_line477(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line477(keys_count, i, 3)
+ || action_line477(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -4440,7 +4662,7 @@ yy156:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line477: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line477: unused keys left after %u keys\n", i);
}
}
@@ -4470,7 +4692,7 @@ end:
#define YYFILL(n) { break; }
static int action_line484
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -4478,10 +4700,12 @@ static int action_line484
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -4491,17 +4715,17 @@ static int action_line484
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line484: at position %ld (iteration %u):\n"
+ , "error: lex_line484: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -4511,6 +4735,13 @@ static int action_line484
}
}
+static int check_key_count_line484(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line484: not enough keys\n");
+ return 1;
+}
+
int lex_line484()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -4538,7 +4769,7 @@ int lex_line484()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line484.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -4551,7 +4782,7 @@ int lex_line484()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -4565,7 +4796,8 @@ int lex_line484()
yy160:
YYSKIP ();
yy161:
- status = action_line484(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line484(keys_count, i, 3)
+ || action_line484(&i, keys, input, token, &cursor, 254);
continue;
yy162:
YYSKIP ();
@@ -4651,7 +4883,8 @@ yy164:
goto yy161;
yy165:
YYSKIP ();
- status = action_line484(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line484(keys_count, i, 3)
+ || action_line484(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -4663,7 +4896,7 @@ yy165:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line484: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line484: unused keys left after %u keys\n", i);
}
}
@@ -4693,7 +4926,7 @@ end:
#define YYFILL(n) { break; }
static int action_line491
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -4701,10 +4934,12 @@ static int action_line491
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -4714,17 +4949,17 @@ static int action_line491
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line491: at position %ld (iteration %u):\n"
+ , "error: lex_line491: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -4734,6 +4969,13 @@ static int action_line491
}
}
+static int check_key_count_line491(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line491: not enough keys\n");
+ return 1;
+}
+
int lex_line491()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -4761,7 +5003,7 @@ int lex_line491()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line491.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -4774,7 +5016,7 @@ int lex_line491()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -4788,7 +5030,8 @@ int lex_line491()
yy169:
YYSKIP ();
yy170:
- status = action_line491(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line491(keys_count, i, 3)
+ || action_line491(&i, keys, input, token, &cursor, 254);
continue;
yy171:
YYSKIP ();
@@ -4874,7 +5117,8 @@ yy173:
goto yy170;
yy174:
YYSKIP ();
- status = action_line491(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line491(keys_count, i, 3)
+ || action_line491(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -4886,7 +5130,7 @@ yy174:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line491: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line491: unused keys left after %u keys\n", i);
}
}
@@ -4916,7 +5160,7 @@ end:
#define YYFILL(n) { break; }
static int action_line498
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -4924,10 +5168,12 @@ static int action_line498
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -4937,17 +5183,17 @@ static int action_line498
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line498: at position %ld (iteration %u):\n"
+ , "error: lex_line498: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -4957,6 +5203,13 @@ static int action_line498
}
}
+static int check_key_count_line498(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line498: not enough keys\n");
+ return 1;
+}
+
int lex_line498()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -4984,7 +5237,7 @@ int lex_line498()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line498.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -4997,7 +5250,7 @@ int lex_line498()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -5011,7 +5264,8 @@ int lex_line498()
yy178:
YYSKIP ();
yy179:
- status = action_line498(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line498(keys_count, i, 3)
+ || action_line498(&i, keys, input, token, &cursor, 254);
continue;
yy180:
YYSKIP ();
@@ -5097,7 +5351,8 @@ yy182:
goto yy179;
yy183:
YYSKIP ();
- status = action_line498(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line498(keys_count, i, 3)
+ || action_line498(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -5109,7 +5364,7 @@ yy183:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line498: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line498: unused keys left after %u keys\n", i);
}
}
@@ -5139,7 +5394,7 @@ end:
#define YYFILL(n) { break; }
static int action_line505
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -5147,10 +5402,12 @@ static int action_line505
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -5160,17 +5417,17 @@ static int action_line505
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line505: at position %ld (iteration %u):\n"
+ , "error: lex_line505: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -5180,6 +5437,13 @@ static int action_line505
}
}
+static int check_key_count_line505(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line505: not enough keys\n");
+ return 1;
+}
+
int lex_line505()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -5207,7 +5471,7 @@ int lex_line505()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line505.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -5220,7 +5484,7 @@ int lex_line505()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -5234,7 +5498,8 @@ int lex_line505()
yy187:
YYSKIP ();
yy188:
- status = action_line505(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line505(keys_count, i, 3)
+ || action_line505(&i, keys, input, token, &cursor, 254);
continue;
yy189:
YYSKIP ();
@@ -5320,7 +5585,8 @@ yy191:
goto yy188;
yy192:
YYSKIP ();
- status = action_line505(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line505(keys_count, i, 3)
+ || action_line505(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -5332,7 +5598,7 @@ yy192:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line505: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line505: unused keys left after %u keys\n", i);
}
}
@@ -5362,7 +5628,7 @@ end:
#define YYFILL(n) { break; }
static int action_line512
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -5370,10 +5636,12 @@ static int action_line512
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -5383,17 +5651,17 @@ static int action_line512
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line512: at position %ld (iteration %u):\n"
+ , "error: lex_line512: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -5403,6 +5671,13 @@ static int action_line512
}
}
+static int check_key_count_line512(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line512: not enough keys\n");
+ return 1;
+}
+
int lex_line512()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -5430,7 +5705,7 @@ int lex_line512()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line512.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -5443,7 +5718,7 @@ int lex_line512()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -5457,7 +5732,8 @@ int lex_line512()
yy196:
YYSKIP ();
yy197:
- status = action_line512(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line512(keys_count, i, 3)
+ || action_line512(&i, keys, input, token, &cursor, 254);
continue;
yy198:
YYSKIP ();
@@ -5543,7 +5819,8 @@ yy200:
goto yy197;
yy201:
YYSKIP ();
- status = action_line512(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line512(keys_count, i, 3)
+ || action_line512(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -5555,7 +5832,7 @@ yy201:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line512: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line512: unused keys left after %u keys\n", i);
}
}
@@ -5585,7 +5862,7 @@ end:
#define YYFILL(n) { break; }
static int action_line519
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -5593,10 +5870,12 @@ static int action_line519
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -5606,17 +5885,17 @@ static int action_line519
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line519: at position %ld (iteration %u):\n"
+ , "error: lex_line519: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -5626,6 +5905,13 @@ static int action_line519
}
}
+static int check_key_count_line519(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line519: not enough keys\n");
+ return 1;
+}
+
int lex_line519()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -5653,7 +5939,7 @@ int lex_line519()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line519.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -5666,7 +5952,7 @@ int lex_line519()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -5680,7 +5966,8 @@ int lex_line519()
yy205:
YYSKIP ();
yy206:
- status = action_line519(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line519(keys_count, i, 3)
+ || action_line519(&i, keys, input, token, &cursor, 254);
continue;
yy207:
YYSKIP ();
@@ -5766,7 +6053,8 @@ yy209:
goto yy206;
yy210:
YYSKIP ();
- status = action_line519(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line519(keys_count, i, 3)
+ || action_line519(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -5778,7 +6066,7 @@ yy210:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line519: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line519: unused keys left after %u keys\n", i);
}
}
@@ -5808,7 +6096,7 @@ end:
#define YYFILL(n) { break; }
static int action_line526
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -5816,10 +6104,12 @@ static int action_line526
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -5829,17 +6119,17 @@ static int action_line526
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line526: at position %ld (iteration %u):\n"
+ , "error: lex_line526: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -5849,6 +6139,13 @@ static int action_line526
}
}
+static int check_key_count_line526(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line526: not enough keys\n");
+ return 1;
+}
+
int lex_line526()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -5876,7 +6173,7 @@ int lex_line526()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line526.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -5889,7 +6186,7 @@ int lex_line526()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -5903,7 +6200,8 @@ int lex_line526()
yy214:
YYSKIP ();
yy215:
- status = action_line526(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line526(keys_count, i, 3)
+ || action_line526(&i, keys, input, token, &cursor, 254);
continue;
yy216:
YYSKIP ();
@@ -5989,7 +6287,8 @@ yy218:
goto yy215;
yy219:
YYSKIP ();
- status = action_line526(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line526(keys_count, i, 3)
+ || action_line526(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -6001,7 +6300,7 @@ yy219:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line526: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line526: unused keys left after %u keys\n", i);
}
}
@@ -6031,7 +6330,7 @@ end:
#define YYFILL(n) { break; }
static int action_line533
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -6039,10 +6338,12 @@ static int action_line533
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -6052,17 +6353,17 @@ static int action_line533
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line533: at position %ld (iteration %u):\n"
+ , "error: lex_line533: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -6072,6 +6373,13 @@ static int action_line533
}
}
+static int check_key_count_line533(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line533: not enough keys\n");
+ return 1;
+}
+
int lex_line533()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -6099,7 +6407,7 @@ int lex_line533()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line533.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -6112,7 +6420,7 @@ int lex_line533()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -6126,7 +6434,8 @@ int lex_line533()
yy223:
YYSKIP ();
yy224:
- status = action_line533(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line533(keys_count, i, 3)
+ || action_line533(&i, keys, input, token, &cursor, 254);
continue;
yy225:
YYSKIP ();
@@ -6214,7 +6523,8 @@ yy227:
goto yy224;
yy228:
YYSKIP ();
- status = action_line533(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line533(keys_count, i, 3)
+ || action_line533(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -6226,7 +6536,7 @@ yy228:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line533: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line533: unused keys left after %u keys\n", i);
}
}
@@ -6256,7 +6566,7 @@ end:
#define YYFILL(n) { break; }
static int action_line540
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -6264,10 +6574,12 @@ static int action_line540
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -6277,17 +6589,17 @@ static int action_line540
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line540: at position %ld (iteration %u):\n"
+ , "error: lex_line540: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -6297,6 +6609,13 @@ static int action_line540
}
}
+static int check_key_count_line540(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line540: not enough keys\n");
+ return 1;
+}
+
int lex_line540()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -6324,7 +6643,7 @@ int lex_line540()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line540.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -6337,7 +6656,7 @@ int lex_line540()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -6351,7 +6670,8 @@ int lex_line540()
yy232:
YYSKIP ();
yy233:
- status = action_line540(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line540(keys_count, i, 3)
+ || action_line540(&i, keys, input, token, &cursor, 254);
continue;
yy234:
YYSKIP ();
@@ -6476,7 +6796,8 @@ yy237:
}
yy238:
YYSKIP ();
- status = action_line540(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line540(keys_count, i, 3)
+ || action_line540(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -6488,7 +6809,7 @@ yy238:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line540: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line540: unused keys left after %u keys\n", i);
}
}
@@ -6518,7 +6839,7 @@ end:
#define YYFILL(n) { break; }
static int action_line547
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -6526,10 +6847,12 @@ static int action_line547
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -6539,17 +6862,17 @@ static int action_line547
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line547: at position %ld (iteration %u):\n"
+ , "error: lex_line547: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -6559,6 +6882,13 @@ static int action_line547
}
}
+static int check_key_count_line547(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line547: not enough keys\n");
+ return 1;
+}
+
int lex_line547()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -6586,7 +6916,7 @@ int lex_line547()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line547.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -6599,7 +6929,7 @@ int lex_line547()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -6613,7 +6943,8 @@ int lex_line547()
yy242:
YYSKIP ();
yy243:
- status = action_line547(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line547(keys_count, i, 3)
+ || action_line547(&i, keys, input, token, &cursor, 254);
continue;
yy244:
YYSKIP ();
@@ -6737,7 +7068,8 @@ yy247:
}
yy248:
YYSKIP ();
- status = action_line547(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line547(keys_count, i, 3)
+ || action_line547(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -6749,7 +7081,7 @@ yy248:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line547: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line547: unused keys left after %u keys\n", i);
}
}
@@ -6779,7 +7111,7 @@ end:
#define YYFILL(n) { break; }
static int action_line554
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -6787,10 +7119,12 @@ static int action_line554
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -6800,17 +7134,17 @@ static int action_line554
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line554: at position %ld (iteration %u):\n"
+ , "error: lex_line554: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -6820,6 +7154,13 @@ static int action_line554
}
}
+static int check_key_count_line554(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line554: not enough keys\n");
+ return 1;
+}
+
int lex_line554()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -6847,7 +7188,7 @@ int lex_line554()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line554.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -6860,7 +7201,7 @@ int lex_line554()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -6874,7 +7215,8 @@ int lex_line554()
yy252:
YYSKIP ();
yy253:
- status = action_line554(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line554(keys_count, i, 3)
+ || action_line554(&i, keys, input, token, &cursor, 254);
continue;
yy254:
YYSKIP ();
@@ -6962,7 +7304,8 @@ yy256:
goto yy253;
yy257:
YYSKIP ();
- status = action_line554(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line554(keys_count, i, 3)
+ || action_line554(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -6974,7 +7317,7 @@ yy257:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line554: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line554: unused keys left after %u keys\n", i);
}
}
@@ -7004,7 +7347,7 @@ end:
#define YYFILL(n) { break; }
static int action_line561
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -7012,10 +7355,12 @@ static int action_line561
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -7025,17 +7370,17 @@ static int action_line561
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line561: at position %ld (iteration %u):\n"
+ , "error: lex_line561: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -7045,6 +7390,13 @@ static int action_line561
}
}
+static int check_key_count_line561(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line561: not enough keys\n");
+ return 1;
+}
+
int lex_line561()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -7072,7 +7424,7 @@ int lex_line561()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line561.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -7085,7 +7437,7 @@ int lex_line561()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -7099,7 +7451,8 @@ int lex_line561()
yy261:
YYSKIP ();
yy262:
- status = action_line561(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line561(keys_count, i, 3)
+ || action_line561(&i, keys, input, token, &cursor, 254);
continue;
yy263:
YYSKIP ();
@@ -7189,7 +7542,8 @@ yy265:
goto yy262;
yy266:
YYSKIP ();
- status = action_line561(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line561(keys_count, i, 3)
+ || action_line561(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -7201,7 +7555,7 @@ yy266:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line561: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line561: unused keys left after %u keys\n", i);
}
}
@@ -7231,7 +7585,7 @@ end:
#define YYFILL(n) { break; }
static int action_line568
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -7239,10 +7593,12 @@ static int action_line568
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -7252,17 +7608,17 @@ static int action_line568
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line568: at position %ld (iteration %u):\n"
+ , "error: lex_line568: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -7272,6 +7628,13 @@ static int action_line568
}
}
+static int check_key_count_line568(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line568: not enough keys\n");
+ return 1;
+}
+
int lex_line568()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -7299,7 +7662,7 @@ int lex_line568()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line568.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -7312,7 +7675,7 @@ int lex_line568()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -7326,7 +7689,8 @@ int lex_line568()
yy270:
YYSKIP ();
yy271:
- status = action_line568(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line568(keys_count, i, 3)
+ || action_line568(&i, keys, input, token, &cursor, 254);
continue;
yy272:
YYSKIP ();
@@ -7450,7 +7814,8 @@ yy275:
}
yy276:
YYSKIP ();
- status = action_line568(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line568(keys_count, i, 3)
+ || action_line568(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -7462,7 +7827,7 @@ yy276:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line568: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line568: unused keys left after %u keys\n", i);
}
}
@@ -7492,7 +7857,7 @@ end:
#define YYFILL(n) { break; }
static int action_line575
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -7500,10 +7865,12 @@ static int action_line575
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -7513,17 +7880,17 @@ static int action_line575
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line575: at position %ld (iteration %u):\n"
+ , "error: lex_line575: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -7533,6 +7900,13 @@ static int action_line575
}
}
+static int check_key_count_line575(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line575: not enough keys\n");
+ return 1;
+}
+
int lex_line575()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -7560,7 +7934,7 @@ int lex_line575()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line575.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -7573,7 +7947,7 @@ int lex_line575()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -7587,7 +7961,8 @@ int lex_line575()
yy280:
YYSKIP ();
yy281:
- status = action_line575(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line575(keys_count, i, 3)
+ || action_line575(&i, keys, input, token, &cursor, 254);
continue;
yy282:
YYSKIP ();
@@ -7681,7 +8056,8 @@ yy284:
goto yy281;
yy285:
YYSKIP ();
- status = action_line575(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line575(keys_count, i, 3)
+ || action_line575(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -7693,7 +8069,7 @@ yy285:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line575: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line575: unused keys left after %u keys\n", i);
}
}
@@ -7723,7 +8099,7 @@ end:
#define YYFILL(n) { break; }
static int action_line582
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -7731,10 +8107,12 @@ static int action_line582
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -7744,17 +8122,17 @@ static int action_line582
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line582: at position %ld (iteration %u):\n"
+ , "error: lex_line582: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -7764,6 +8142,13 @@ static int action_line582
}
}
+static int check_key_count_line582(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line582: not enough keys\n");
+ return 1;
+}
+
int lex_line582()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -7791,7 +8176,7 @@ int lex_line582()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line582.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -7804,7 +8189,7 @@ int lex_line582()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -7818,7 +8203,8 @@ int lex_line582()
yy289:
YYSKIP ();
yy290:
- status = action_line582(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line582(keys_count, i, 3)
+ || action_line582(&i, keys, input, token, &cursor, 254);
continue;
yy291:
YYSKIP ();
@@ -7871,7 +8257,8 @@ yy293:
goto yy290;
yy294:
YYSKIP ();
- status = action_line582(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line582(keys_count, i, 3)
+ || action_line582(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -7883,7 +8270,7 @@ yy294:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line582: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line582: unused keys left after %u keys\n", i);
}
}
@@ -7913,7 +8300,7 @@ end:
#define YYFILL(n) { break; }
static int action_line589
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -7921,10 +8308,12 @@ static int action_line589
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -7934,17 +8323,17 @@ static int action_line589
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line589: at position %ld (iteration %u):\n"
+ , "error: lex_line589: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -7954,6 +8343,13 @@ static int action_line589
}
}
+static int check_key_count_line589(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line589: not enough keys\n");
+ return 1;
+}
+
int lex_line589()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -7981,7 +8377,7 @@ int lex_line589()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line589.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -7994,7 +8390,7 @@ int lex_line589()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -8008,7 +8404,8 @@ int lex_line589()
yy298:
YYSKIP ();
yy299:
- status = action_line589(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line589(keys_count, i, 3)
+ || action_line589(&i, keys, input, token, &cursor, 254);
continue;
yy300:
YYSKIP ();
@@ -8132,7 +8529,8 @@ yy303:
}
yy304:
YYSKIP ();
- status = action_line589(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line589(keys_count, i, 3)
+ || action_line589(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -8144,7 +8542,7 @@ yy304:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line589: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line589: unused keys left after %u keys\n", i);
}
}
@@ -8174,7 +8572,7 @@ end:
#define YYFILL(n) { break; }
static int action_line596
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -8182,10 +8580,12 @@ static int action_line596
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -8195,17 +8595,17 @@ static int action_line596
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line596: at position %ld (iteration %u):\n"
+ , "error: lex_line596: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -8215,6 +8615,13 @@ static int action_line596
}
}
+static int check_key_count_line596(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line596: not enough keys\n");
+ return 1;
+}
+
int lex_line596()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -8242,7 +8649,7 @@ int lex_line596()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line596.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -8255,7 +8662,7 @@ int lex_line596()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -8269,7 +8676,8 @@ int lex_line596()
yy308:
YYSKIP ();
yy309:
- status = action_line596(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line596(keys_count, i, 3)
+ || action_line596(&i, keys, input, token, &cursor, 254);
continue;
yy310:
YYSKIP ();
@@ -8322,7 +8730,8 @@ yy312:
goto yy309;
yy313:
YYSKIP ();
- status = action_line596(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line596(keys_count, i, 3)
+ || action_line596(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -8334,7 +8743,7 @@ yy313:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line596: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line596: unused keys left after %u keys\n", i);
}
}
@@ -8364,7 +8773,7 @@ end:
#define YYFILL(n) { break; }
static int action_line603
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -8372,10 +8781,12 @@ static int action_line603
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -8385,17 +8796,17 @@ static int action_line603
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line603: at position %ld (iteration %u):\n"
+ , "error: lex_line603: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -8405,6 +8816,13 @@ static int action_line603
}
}
+static int check_key_count_line603(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line603: not enough keys\n");
+ return 1;
+}
+
int lex_line603()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -8432,7 +8850,7 @@ int lex_line603()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line603.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -8445,7 +8863,7 @@ int lex_line603()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -8459,7 +8877,8 @@ int lex_line603()
yy317:
YYSKIP ();
yy318:
- status = action_line603(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line603(keys_count, i, 3)
+ || action_line603(&i, keys, input, token, &cursor, 254);
continue;
yy319:
YYSKIP ();
@@ -8512,7 +8931,8 @@ yy321:
goto yy318;
yy322:
YYSKIP ();
- status = action_line603(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line603(keys_count, i, 3)
+ || action_line603(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -8524,7 +8944,7 @@ yy322:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line603: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line603: unused keys left after %u keys\n", i);
}
}
@@ -8554,7 +8974,7 @@ end:
#define YYFILL(n) { break; }
static int action_line610
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -8562,10 +8982,12 @@ static int action_line610
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -8575,17 +8997,17 @@ static int action_line610
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line610: at position %ld (iteration %u):\n"
+ , "error: lex_line610: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -8595,6 +9017,13 @@ static int action_line610
}
}
+static int check_key_count_line610(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line610: not enough keys\n");
+ return 1;
+}
+
int lex_line610()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -8622,7 +9051,7 @@ int lex_line610()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line610.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -8635,7 +9064,7 @@ int lex_line610()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -8649,7 +9078,8 @@ int lex_line610()
yy326:
YYSKIP ();
yy327:
- status = action_line610(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line610(keys_count, i, 3)
+ || action_line610(&i, keys, input, token, &cursor, 254);
continue;
yy328:
YYSKIP ();
@@ -8702,7 +9132,8 @@ yy330:
goto yy327;
yy331:
YYSKIP ();
- status = action_line610(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line610(keys_count, i, 3)
+ || action_line610(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -8714,7 +9145,7 @@ yy331:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line610: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line610: unused keys left after %u keys\n", i);
}
}
@@ -8744,7 +9175,7 @@ end:
#define YYFILL(n) { break; }
static int action_line617
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -8752,10 +9183,12 @@ static int action_line617
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -8765,17 +9198,17 @@ static int action_line617
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line617: at position %ld (iteration %u):\n"
+ , "error: lex_line617: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -8785,6 +9218,13 @@ static int action_line617
}
}
+static int check_key_count_line617(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line617: not enough keys\n");
+ return 1;
+}
+
int lex_line617()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -8812,7 +9252,7 @@ int lex_line617()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line617.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -8825,7 +9265,7 @@ int lex_line617()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -8839,7 +9279,8 @@ int lex_line617()
yy335:
YYSKIP ();
yy336:
- status = action_line617(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line617(keys_count, i, 3)
+ || action_line617(&i, keys, input, token, &cursor, 254);
continue;
yy337:
YYSKIP ();
@@ -8892,7 +9333,8 @@ yy339:
goto yy336;
yy340:
YYSKIP ();
- status = action_line617(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line617(keys_count, i, 3)
+ || action_line617(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -8904,7 +9346,7 @@ yy340:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line617: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line617: unused keys left after %u keys\n", i);
}
}
@@ -8934,7 +9376,7 @@ end:
#define YYFILL(n) { break; }
static int action_line624
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -8942,10 +9384,12 @@ static int action_line624
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -8955,17 +9399,17 @@ static int action_line624
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line624: at position %ld (iteration %u):\n"
+ , "error: lex_line624: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -8975,6 +9419,13 @@ static int action_line624
}
}
+static int check_key_count_line624(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line624: not enough keys\n");
+ return 1;
+}
+
int lex_line624()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -9002,7 +9453,7 @@ int lex_line624()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line624.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -9015,7 +9466,7 @@ int lex_line624()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -9029,7 +9480,8 @@ int lex_line624()
yy344:
YYSKIP ();
yy345:
- status = action_line624(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line624(keys_count, i, 3)
+ || action_line624(&i, keys, input, token, &cursor, 254);
continue;
yy346:
YYSKIP ();
@@ -9115,7 +9567,8 @@ yy348:
goto yy345;
yy349:
YYSKIP ();
- status = action_line624(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line624(keys_count, i, 3)
+ || action_line624(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -9127,7 +9580,7 @@ yy349:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line624: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line624: unused keys left after %u keys\n", i);
}
}
@@ -9157,7 +9610,7 @@ end:
#define YYFILL(n) { break; }
static int action_line631
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -9165,10 +9618,12 @@ static int action_line631
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -9178,17 +9633,17 @@ static int action_line631
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line631: at position %ld (iteration %u):\n"
+ , "error: lex_line631: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -9198,6 +9653,13 @@ static int action_line631
}
}
+static int check_key_count_line631(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line631: not enough keys\n");
+ return 1;
+}
+
int lex_line631()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -9225,7 +9687,7 @@ int lex_line631()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line631.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -9238,7 +9700,7 @@ int lex_line631()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -9252,7 +9714,8 @@ int lex_line631()
yy353:
YYSKIP ();
yy354:
- status = action_line631(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line631(keys_count, i, 3)
+ || action_line631(&i, keys, input, token, &cursor, 254);
continue;
yy355:
YYSKIP ();
@@ -9393,7 +9856,8 @@ yy358:
}
yy359:
YYSKIP ();
- status = action_line631(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line631(keys_count, i, 3)
+ || action_line631(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -9405,7 +9869,7 @@ yy359:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line631: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line631: unused keys left after %u keys\n", i);
}
}
@@ -9435,7 +9899,7 @@ end:
#define YYFILL(n) { break; }
static int action_line638
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -9443,10 +9907,12 @@ static int action_line638
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -9456,17 +9922,17 @@ static int action_line638
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line638: at position %ld (iteration %u):\n"
+ , "error: lex_line638: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -9476,6 +9942,13 @@ static int action_line638
}
}
+static int check_key_count_line638(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line638: not enough keys\n");
+ return 1;
+}
+
int lex_line638()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -9503,7 +9976,7 @@ int lex_line638()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line638.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -9516,7 +9989,7 @@ int lex_line638()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -9530,7 +10003,8 @@ int lex_line638()
yy363:
YYSKIP ();
yy364:
- status = action_line638(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line638(keys_count, i, 3)
+ || action_line638(&i, keys, input, token, &cursor, 254);
continue;
yy365:
YYSKIP ();
@@ -9638,7 +10112,8 @@ yy368:
}
yy369:
YYSKIP ();
- status = action_line638(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line638(keys_count, i, 3)
+ || action_line638(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -9650,7 +10125,7 @@ yy369:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line638: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line638: unused keys left after %u keys\n", i);
}
}
@@ -9680,7 +10155,7 @@ end:
#define YYFILL(n) { break; }
static int action_line645
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -9688,10 +10163,12 @@ static int action_line645
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -9701,17 +10178,17 @@ static int action_line645
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line645: at position %ld (iteration %u):\n"
+ , "error: lex_line645: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -9721,6 +10198,13 @@ static int action_line645
}
}
+static int check_key_count_line645(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line645: not enough keys\n");
+ return 1;
+}
+
int lex_line645()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -9748,7 +10232,7 @@ int lex_line645()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line645.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -9761,7 +10245,7 @@ int lex_line645()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -9775,7 +10259,8 @@ int lex_line645()
yy373:
YYSKIP ();
yy374:
- status = action_line645(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line645(keys_count, i, 3)
+ || action_line645(&i, keys, input, token, &cursor, 254);
continue;
yy375:
YYSKIP ();
@@ -9844,7 +10329,8 @@ yy377:
goto yy374;
yy378:
YYSKIP ();
- status = action_line645(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line645(keys_count, i, 3)
+ || action_line645(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -9856,7 +10342,7 @@ yy378:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line645: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line645: unused keys left after %u keys\n", i);
}
}
@@ -9886,7 +10372,7 @@ end:
#define YYFILL(n) { break; }
static int action_line652
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -9894,10 +10380,12 @@ static int action_line652
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -9907,17 +10395,17 @@ static int action_line652
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line652: at position %ld (iteration %u):\n"
+ , "error: lex_line652: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -9927,6 +10415,13 @@ static int action_line652
}
}
+static int check_key_count_line652(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line652: not enough keys\n");
+ return 1;
+}
+
int lex_line652()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -9954,7 +10449,7 @@ int lex_line652()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line652.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -9967,7 +10462,7 @@ int lex_line652()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -9981,7 +10476,8 @@ int lex_line652()
yy382:
YYSKIP ();
yy383:
- status = action_line652(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line652(keys_count, i, 3)
+ || action_line652(&i, keys, input, token, &cursor, 254);
continue;
yy384:
YYSKIP ();
@@ -10034,7 +10530,8 @@ yy386:
goto yy383;
yy387:
YYSKIP ();
- status = action_line652(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line652(keys_count, i, 3)
+ || action_line652(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -10046,7 +10543,7 @@ yy387:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line652: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line652: unused keys left after %u keys\n", i);
}
}
@@ -10076,7 +10573,7 @@ end:
#define YYFILL(n) { break; }
static int action_line659
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -10084,10 +10581,12 @@ static int action_line659
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -10097,17 +10596,17 @@ static int action_line659
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line659: at position %ld (iteration %u):\n"
+ , "error: lex_line659: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -10117,6 +10616,13 @@ static int action_line659
}
}
+static int check_key_count_line659(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line659: not enough keys\n");
+ return 1;
+}
+
int lex_line659()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -10144,7 +10650,7 @@ int lex_line659()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line659.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -10157,7 +10663,7 @@ int lex_line659()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -10171,7 +10677,8 @@ int lex_line659()
yy391:
YYSKIP ();
yy392:
- status = action_line659(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line659(keys_count, i, 3)
+ || action_line659(&i, keys, input, token, &cursor, 254);
continue;
yy393:
YYSKIP ();
@@ -10257,7 +10764,8 @@ yy395:
goto yy392;
yy396:
YYSKIP ();
- status = action_line659(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line659(keys_count, i, 3)
+ || action_line659(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -10269,7 +10777,7 @@ yy396:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line659: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line659: unused keys left after %u keys\n", i);
}
}
@@ -10299,7 +10807,7 @@ end:
#define YYFILL(n) { break; }
static int action_line666
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -10307,10 +10815,12 @@ static int action_line666
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -10320,17 +10830,17 @@ static int action_line666
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line666: at position %ld (iteration %u):\n"
+ , "error: lex_line666: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -10340,6 +10850,13 @@ static int action_line666
}
}
+static int check_key_count_line666(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line666: not enough keys\n");
+ return 1;
+}
+
int lex_line666()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -10367,7 +10884,7 @@ int lex_line666()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line666.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -10380,7 +10897,7 @@ int lex_line666()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -10394,7 +10911,8 @@ int lex_line666()
yy400:
YYSKIP ();
yy401:
- status = action_line666(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line666(keys_count, i, 3)
+ || action_line666(&i, keys, input, token, &cursor, 254);
continue;
yy402:
YYSKIP ();
@@ -10482,7 +11000,8 @@ yy404:
goto yy401;
yy405:
YYSKIP ();
- status = action_line666(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line666(keys_count, i, 3)
+ || action_line666(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -10494,7 +11013,7 @@ yy405:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line666: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line666: unused keys left after %u keys\n", i);
}
}
@@ -10524,7 +11043,7 @@ end:
#define YYFILL(n) { break; }
static int action_line673
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -10532,10 +11051,12 @@ static int action_line673
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -10545,17 +11066,17 @@ static int action_line673
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line673: at position %ld (iteration %u):\n"
+ , "error: lex_line673: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -10565,6 +11086,13 @@ static int action_line673
}
}
+static int check_key_count_line673(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line673: not enough keys\n");
+ return 1;
+}
+
int lex_line673()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -10592,7 +11120,7 @@ int lex_line673()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line673.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -10605,7 +11133,7 @@ int lex_line673()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -10619,7 +11147,8 @@ int lex_line673()
yy409:
YYSKIP ();
yy410:
- status = action_line673(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line673(keys_count, i, 3)
+ || action_line673(&i, keys, input, token, &cursor, 254);
continue;
yy411:
YYSKIP ();
@@ -10707,7 +11236,8 @@ yy413:
goto yy410;
yy414:
YYSKIP ();
- status = action_line673(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line673(keys_count, i, 3)
+ || action_line673(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -10719,7 +11249,7 @@ yy414:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line673: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line673: unused keys left after %u keys\n", i);
}
}
@@ -10749,7 +11279,7 @@ end:
#define YYFILL(n) { break; }
static int action_line680
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -10757,10 +11287,12 @@ static int action_line680
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -10770,17 +11302,17 @@ static int action_line680
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line680: at position %ld (iteration %u):\n"
+ , "error: lex_line680: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -10790,6 +11322,13 @@ static int action_line680
}
}
+static int check_key_count_line680(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line680: not enough keys\n");
+ return 1;
+}
+
int lex_line680()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -10817,7 +11356,7 @@ int lex_line680()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line680.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -10830,7 +11369,7 @@ int lex_line680()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -10844,7 +11383,8 @@ int lex_line680()
yy418:
YYSKIP ();
yy419:
- status = action_line680(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line680(keys_count, i, 3)
+ || action_line680(&i, keys, input, token, &cursor, 254);
continue;
yy420:
YYSKIP ();
@@ -10984,7 +11524,8 @@ yy423:
}
yy424:
YYSKIP ();
- status = action_line680(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line680(keys_count, i, 3)
+ || action_line680(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -10996,7 +11537,7 @@ yy424:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line680: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line680: unused keys left after %u keys\n", i);
}
}
@@ -11026,7 +11567,7 @@ end:
#define YYFILL(n) { break; }
static int action_line687
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -11034,10 +11575,12 @@ static int action_line687
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -11047,17 +11590,17 @@ static int action_line687
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line687: at position %ld (iteration %u):\n"
+ , "error: lex_line687: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -11067,6 +11610,13 @@ static int action_line687
}
}
+static int check_key_count_line687(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line687: not enough keys\n");
+ return 1;
+}
+
int lex_line687()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -11094,7 +11644,7 @@ int lex_line687()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line687.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -11107,7 +11657,7 @@ int lex_line687()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -11121,7 +11671,8 @@ int lex_line687()
yy428:
YYSKIP ();
yy429:
- status = action_line687(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line687(keys_count, i, 3)
+ || action_line687(&i, keys, input, token, &cursor, 254);
continue;
yy430:
YYSKIP ();
@@ -11197,7 +11748,8 @@ yy433:
}
yy434:
YYSKIP ();
- status = action_line687(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line687(keys_count, i, 3)
+ || action_line687(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -11209,7 +11761,7 @@ yy434:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line687: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line687: unused keys left after %u keys\n", i);
}
}
@@ -11239,7 +11791,7 @@ end:
#define YYFILL(n) { break; }
static int action_line694
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -11247,10 +11799,12 @@ static int action_line694
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -11260,17 +11814,17 @@ static int action_line694
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line694: at position %ld (iteration %u):\n"
+ , "error: lex_line694: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -11280,6 +11834,13 @@ static int action_line694
}
}
+static int check_key_count_line694(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line694: not enough keys\n");
+ return 1;
+}
+
int lex_line694()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -11307,7 +11868,7 @@ int lex_line694()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line694.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -11320,7 +11881,7 @@ int lex_line694()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -11334,7 +11895,8 @@ int lex_line694()
yy438:
YYSKIP ();
yy439:
- status = action_line694(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line694(keys_count, i, 3)
+ || action_line694(&i, keys, input, token, &cursor, 254);
continue;
yy440:
YYSKIP ();
@@ -11410,7 +11972,8 @@ yy443:
}
yy444:
YYSKIP ();
- status = action_line694(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line694(keys_count, i, 3)
+ || action_line694(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -11422,7 +11985,7 @@ yy444:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line694: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line694: unused keys left after %u keys\n", i);
}
}
@@ -11452,7 +12015,7 @@ end:
#define YYFILL(n) { break; }
static int action_line701
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -11460,10 +12023,12 @@ static int action_line701
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -11473,17 +12038,17 @@ static int action_line701
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line701: at position %ld (iteration %u):\n"
+ , "error: lex_line701: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -11493,6 +12058,13 @@ static int action_line701
}
}
+static int check_key_count_line701(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line701: not enough keys\n");
+ return 1;
+}
+
int lex_line701()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -11520,7 +12092,7 @@ int lex_line701()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line701.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -11533,7 +12105,7 @@ int lex_line701()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -11547,7 +12119,8 @@ int lex_line701()
yy448:
YYSKIP ();
yy449:
- status = action_line701(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line701(keys_count, i, 3)
+ || action_line701(&i, keys, input, token, &cursor, 254);
continue;
yy450:
YYSKIP ();
@@ -11616,7 +12189,8 @@ yy452:
goto yy449;
yy453:
YYSKIP ();
- status = action_line701(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line701(keys_count, i, 3)
+ || action_line701(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -11628,7 +12202,7 @@ yy453:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line701: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line701: unused keys left after %u keys\n", i);
}
}
@@ -11658,7 +12232,7 @@ end:
#define YYFILL(n) { break; }
static int action_line708
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -11666,10 +12240,12 @@ static int action_line708
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -11679,17 +12255,17 @@ static int action_line708
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line708: at position %ld (iteration %u):\n"
+ , "error: lex_line708: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -11699,6 +12275,13 @@ static int action_line708
}
}
+static int check_key_count_line708(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line708: not enough keys\n");
+ return 1;
+}
+
int lex_line708()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -11726,7 +12309,7 @@ int lex_line708()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line708.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -11739,7 +12322,7 @@ int lex_line708()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -11753,7 +12336,8 @@ int lex_line708()
yy457:
YYSKIP ();
yy458:
- status = action_line708(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line708(keys_count, i, 3)
+ || action_line708(&i, keys, input, token, &cursor, 254);
continue;
yy459:
YYSKIP ();
@@ -11861,7 +12445,8 @@ yy462:
}
yy463:
YYSKIP ();
- status = action_line708(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line708(keys_count, i, 3)
+ || action_line708(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -11873,7 +12458,7 @@ yy463:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line708: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line708: unused keys left after %u keys\n", i);
}
}
@@ -11903,7 +12488,7 @@ end:
#define YYFILL(n) { break; }
static int action_line715
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -11911,10 +12496,12 @@ static int action_line715
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -11924,17 +12511,17 @@ static int action_line715
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line715: at position %ld (iteration %u):\n"
+ , "error: lex_line715: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -11944,6 +12531,13 @@ static int action_line715
}
}
+static int check_key_count_line715(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line715: not enough keys\n");
+ return 1;
+}
+
int lex_line715()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -11971,7 +12565,7 @@ int lex_line715()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line715.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -11984,7 +12578,7 @@ int lex_line715()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -11998,7 +12592,8 @@ int lex_line715()
yy467:
YYSKIP ();
yy468:
- status = action_line715(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line715(keys_count, i, 3)
+ || action_line715(&i, keys, input, token, &cursor, 254);
continue;
yy469:
YYSKIP ();
@@ -12090,7 +12685,8 @@ yy472:
}
yy473:
YYSKIP ();
- status = action_line715(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line715(keys_count, i, 3)
+ || action_line715(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -12102,7 +12698,7 @@ yy473:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line715: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line715: unused keys left after %u keys\n", i);
}
}
@@ -12132,7 +12728,7 @@ end:
#define YYFILL(n) { break; }
static int action_line722
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -12140,10 +12736,12 @@ static int action_line722
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -12153,17 +12751,17 @@ static int action_line722
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line722: at position %ld (iteration %u):\n"
+ , "error: lex_line722: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -12173,6 +12771,13 @@ static int action_line722
}
}
+static int check_key_count_line722(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line722: not enough keys\n");
+ return 1;
+}
+
int lex_line722()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -12200,7 +12805,7 @@ int lex_line722()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line722.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -12213,7 +12818,7 @@ int lex_line722()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -12227,7 +12832,8 @@ int lex_line722()
yy477:
YYSKIP ();
yy478:
- status = action_line722(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line722(keys_count, i, 3)
+ || action_line722(&i, keys, input, token, &cursor, 254);
continue;
yy479:
YYSKIP ();
@@ -12367,7 +12973,8 @@ yy482:
}
yy483:
YYSKIP ();
- status = action_line722(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line722(keys_count, i, 3)
+ || action_line722(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -12379,7 +12986,7 @@ yy483:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line722: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line722: unused keys left after %u keys\n", i);
}
}
@@ -12409,7 +13016,7 @@ end:
#define YYFILL(n) { break; }
static int action_line729
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -12417,10 +13024,12 @@ static int action_line729
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -12430,17 +13039,17 @@ static int action_line729
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line729: at position %ld (iteration %u):\n"
+ , "error: lex_line729: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -12450,6 +13059,13 @@ static int action_line729
}
}
+static int check_key_count_line729(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line729: not enough keys\n");
+ return 1;
+}
+
int lex_line729()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -12477,7 +13093,7 @@ int lex_line729()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line729.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -12490,7 +13106,7 @@ int lex_line729()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -12504,7 +13120,8 @@ int lex_line729()
yy487:
YYSKIP ();
yy488:
- status = action_line729(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line729(keys_count, i, 3)
+ || action_line729(&i, keys, input, token, &cursor, 254);
continue;
yy489:
YYSKIP ();
@@ -12592,7 +13209,8 @@ yy491:
goto yy488;
yy492:
YYSKIP ();
- status = action_line729(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line729(keys_count, i, 3)
+ || action_line729(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -12604,7 +13222,7 @@ yy492:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line729: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line729: unused keys left after %u keys\n", i);
}
}
@@ -12634,7 +13252,7 @@ end:
#define YYFILL(n) { break; }
static int action_line736
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -12642,10 +13260,12 @@ static int action_line736
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -12655,17 +13275,17 @@ static int action_line736
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line736: at position %ld (iteration %u):\n"
+ , "error: lex_line736: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -12675,6 +13295,13 @@ static int action_line736
}
}
+static int check_key_count_line736(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line736: not enough keys\n");
+ return 1;
+}
+
int lex_line736()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -12702,7 +13329,7 @@ int lex_line736()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line736.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -12715,7 +13342,7 @@ int lex_line736()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -12729,7 +13356,8 @@ int lex_line736()
yy496:
YYSKIP ();
yy497:
- status = action_line736(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line736(keys_count, i, 3)
+ || action_line736(&i, keys, input, token, &cursor, 254);
continue;
yy498:
YYSKIP ();
@@ -12817,7 +13445,8 @@ yy500:
goto yy497;
yy501:
YYSKIP ();
- status = action_line736(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line736(keys_count, i, 3)
+ || action_line736(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -12829,7 +13458,7 @@ yy501:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line736: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line736: unused keys left after %u keys\n", i);
}
}
@@ -12859,7 +13488,7 @@ end:
#define YYFILL(n) { break; }
static int action_line743
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -12867,10 +13496,12 @@ static int action_line743
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -12880,17 +13511,17 @@ static int action_line743
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line743: at position %ld (iteration %u):\n"
+ , "error: lex_line743: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -12900,6 +13531,13 @@ static int action_line743
}
}
+static int check_key_count_line743(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line743: not enough keys\n");
+ return 1;
+}
+
int lex_line743()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -12927,7 +13565,7 @@ int lex_line743()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line743.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -12940,7 +13578,7 @@ int lex_line743()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -12954,7 +13592,8 @@ int lex_line743()
yy505:
YYSKIP ();
yy506:
- status = action_line743(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line743(keys_count, i, 3)
+ || action_line743(&i, keys, input, token, &cursor, 254);
continue;
yy507:
YYSKIP ();
@@ -13039,7 +13678,8 @@ yy509:
goto yy506;
yy510:
YYSKIP ();
- status = action_line743(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line743(keys_count, i, 3)
+ || action_line743(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -13051,7 +13691,7 @@ yy510:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line743: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line743: unused keys left after %u keys\n", i);
}
}
@@ -13081,7 +13721,7 @@ end:
#define YYFILL(n) { break; }
static int action_line750
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -13089,10 +13729,12 @@ static int action_line750
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -13102,17 +13744,17 @@ static int action_line750
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line750: at position %ld (iteration %u):\n"
+ , "error: lex_line750: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -13122,6 +13764,13 @@ static int action_line750
}
}
+static int check_key_count_line750(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line750: not enough keys\n");
+ return 1;
+}
+
int lex_line750()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -13149,7 +13798,7 @@ int lex_line750()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line750.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -13162,7 +13811,7 @@ int lex_line750()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -13176,7 +13825,8 @@ int lex_line750()
yy514:
YYSKIP ();
yy515:
- status = action_line750(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line750(keys_count, i, 3)
+ || action_line750(&i, keys, input, token, &cursor, 254);
continue;
yy516:
YYSKIP ();
@@ -13229,7 +13879,8 @@ yy518:
goto yy515;
yy519:
YYSKIP ();
- status = action_line750(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line750(keys_count, i, 3)
+ || action_line750(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -13241,7 +13892,7 @@ yy519:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line750: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line750: unused keys left after %u keys\n", i);
}
}
@@ -13271,7 +13922,7 @@ end:
#define YYFILL(n) { break; }
static int action_line757
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -13279,10 +13930,12 @@ static int action_line757
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -13292,17 +13945,17 @@ static int action_line757
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line757: at position %ld (iteration %u):\n"
+ , "error: lex_line757: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -13312,6 +13965,13 @@ static int action_line757
}
}
+static int check_key_count_line757(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line757: not enough keys\n");
+ return 1;
+}
+
int lex_line757()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -13339,7 +13999,7 @@ int lex_line757()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line757.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -13352,7 +14012,7 @@ int lex_line757()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -13366,7 +14026,8 @@ int lex_line757()
yy523:
YYSKIP ();
yy524:
- status = action_line757(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line757(keys_count, i, 3)
+ || action_line757(&i, keys, input, token, &cursor, 254);
continue;
yy525:
YYSKIP ();
@@ -13491,7 +14152,8 @@ yy528:
}
yy529:
YYSKIP ();
- status = action_line757(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line757(keys_count, i, 3)
+ || action_line757(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -13503,7 +14165,7 @@ yy529:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line757: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line757: unused keys left after %u keys\n", i);
}
}
@@ -13533,7 +14195,7 @@ end:
#define YYFILL(n) { break; }
static int action_line764
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -13541,10 +14203,12 @@ static int action_line764
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -13554,17 +14218,17 @@ static int action_line764
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line764: at position %ld (iteration %u):\n"
+ , "error: lex_line764: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -13574,6 +14238,13 @@ static int action_line764
}
}
+static int check_key_count_line764(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line764: not enough keys\n");
+ return 1;
+}
+
int lex_line764()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -13601,7 +14272,7 @@ int lex_line764()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line764.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -13614,7 +14285,7 @@ int lex_line764()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -13628,7 +14299,8 @@ int lex_line764()
yy533:
YYSKIP ();
yy534:
- status = action_line764(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line764(keys_count, i, 3)
+ || action_line764(&i, keys, input, token, &cursor, 254);
continue;
yy535:
YYSKIP ();
@@ -13714,7 +14386,8 @@ yy537:
goto yy534;
yy538:
YYSKIP ();
- status = action_line764(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line764(keys_count, i, 3)
+ || action_line764(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -13726,7 +14399,7 @@ yy538:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line764: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line764: unused keys left after %u keys\n", i);
}
}
@@ -13756,7 +14429,7 @@ end:
#define YYFILL(n) { break; }
static int action_line771
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -13764,10 +14437,12 @@ static int action_line771
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -13777,17 +14452,17 @@ static int action_line771
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line771: at position %ld (iteration %u):\n"
+ , "error: lex_line771: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -13797,6 +14472,13 @@ static int action_line771
}
}
+static int check_key_count_line771(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line771: not enough keys\n");
+ return 1;
+}
+
int lex_line771()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -13824,7 +14506,7 @@ int lex_line771()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line771.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -13837,7 +14519,7 @@ int lex_line771()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -13851,7 +14533,8 @@ int lex_line771()
yy542:
YYSKIP ();
yy543:
- status = action_line771(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line771(keys_count, i, 3)
+ || action_line771(&i, keys, input, token, &cursor, 254);
continue;
yy544:
YYSKIP ();
@@ -13904,7 +14587,8 @@ yy546:
goto yy543;
yy547:
YYSKIP ();
- status = action_line771(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line771(keys_count, i, 3)
+ || action_line771(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -13916,7 +14600,7 @@ yy547:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line771: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line771: unused keys left after %u keys\n", i);
}
}
@@ -13946,7 +14630,7 @@ end:
#define YYFILL(n) { break; }
static int action_line778
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -13954,10 +14638,12 @@ static int action_line778
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -13967,17 +14653,17 @@ static int action_line778
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line778: at position %ld (iteration %u):\n"
+ , "error: lex_line778: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -13987,6 +14673,13 @@ static int action_line778
}
}
+static int check_key_count_line778(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line778: not enough keys\n");
+ return 1;
+}
+
int lex_line778()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -14014,7 +14707,7 @@ int lex_line778()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line778.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -14027,7 +14720,7 @@ int lex_line778()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -14041,7 +14734,8 @@ int lex_line778()
yy551:
YYSKIP ();
yy552:
- status = action_line778(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line778(keys_count, i, 3)
+ || action_line778(&i, keys, input, token, &cursor, 254);
continue;
yy553:
YYSKIP ();
@@ -14165,7 +14859,8 @@ yy556:
}
yy557:
YYSKIP ();
- status = action_line778(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line778(keys_count, i, 3)
+ || action_line778(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -14177,7 +14872,7 @@ yy557:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line778: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line778: unused keys left after %u keys\n", i);
}
}
@@ -14207,7 +14902,7 @@ end:
#define YYFILL(n) { break; }
static int action_line785
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -14215,10 +14910,12 @@ static int action_line785
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -14228,17 +14925,17 @@ static int action_line785
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line785: at position %ld (iteration %u):\n"
+ , "error: lex_line785: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -14248,6 +14945,13 @@ static int action_line785
}
}
+static int check_key_count_line785(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line785: not enough keys\n");
+ return 1;
+}
+
int lex_line785()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -14275,7 +14979,7 @@ int lex_line785()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line785.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -14288,7 +14992,7 @@ int lex_line785()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -14302,7 +15006,8 @@ int lex_line785()
yy561:
YYSKIP ();
yy562:
- status = action_line785(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line785(keys_count, i, 3)
+ || action_line785(&i, keys, input, token, &cursor, 254);
continue;
yy563:
YYSKIP ();
@@ -14390,7 +15095,8 @@ yy565:
goto yy562;
yy566:
YYSKIP ();
- status = action_line785(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line785(keys_count, i, 3)
+ || action_line785(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -14402,7 +15108,7 @@ yy566:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line785: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line785: unused keys left after %u keys\n", i);
}
}
@@ -14432,7 +15138,7 @@ end:
#define YYFILL(n) { break; }
static int action_line792
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -14440,10 +15146,12 @@ static int action_line792
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -14453,17 +15161,17 @@ static int action_line792
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line792: at position %ld (iteration %u):\n"
+ , "error: lex_line792: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -14473,6 +15181,13 @@ static int action_line792
}
}
+static int check_key_count_line792(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line792: not enough keys\n");
+ return 1;
+}
+
int lex_line792()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -14500,7 +15215,7 @@ int lex_line792()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line792.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -14513,7 +15228,7 @@ int lex_line792()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -14527,7 +15242,8 @@ int lex_line792()
yy570:
YYSKIP ();
yy571:
- status = action_line792(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line792(keys_count, i, 3)
+ || action_line792(&i, keys, input, token, &cursor, 254);
continue;
yy572:
YYSKIP ();
@@ -14614,7 +15330,8 @@ yy574:
goto yy571;
yy575:
YYSKIP ();
- status = action_line792(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line792(keys_count, i, 3)
+ || action_line792(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -14626,7 +15343,7 @@ yy575:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line792: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line792: unused keys left after %u keys\n", i);
}
}
@@ -14656,7 +15373,7 @@ end:
#define YYFILL(n) { break; }
static int action_line799
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -14664,10 +15381,12 @@ static int action_line799
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -14677,17 +15396,17 @@ static int action_line799
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line799: at position %ld (iteration %u):\n"
+ , "error: lex_line799: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -14697,6 +15416,13 @@ static int action_line799
}
}
+static int check_key_count_line799(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line799: not enough keys\n");
+ return 1;
+}
+
int lex_line799()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -14724,7 +15450,7 @@ int lex_line799()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line799.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -14737,7 +15463,7 @@ int lex_line799()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -14751,7 +15477,8 @@ int lex_line799()
yy579:
YYSKIP ();
yy580:
- status = action_line799(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line799(keys_count, i, 3)
+ || action_line799(&i, keys, input, token, &cursor, 254);
continue;
yy581:
YYSKIP ();
@@ -14820,7 +15547,8 @@ yy583:
goto yy580;
yy584:
YYSKIP ();
- status = action_line799(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line799(keys_count, i, 3)
+ || action_line799(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -14832,7 +15560,7 @@ yy584:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line799: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line799: unused keys left after %u keys\n", i);
}
}
@@ -14862,7 +15590,7 @@ end:
#define YYFILL(n) { break; }
static int action_line806
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -14870,10 +15598,12 @@ static int action_line806
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -14883,17 +15613,17 @@ static int action_line806
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line806: at position %ld (iteration %u):\n"
+ , "error: lex_line806: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -14903,6 +15633,13 @@ static int action_line806
}
}
+static int check_key_count_line806(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line806: not enough keys\n");
+ return 1;
+}
+
int lex_line806()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -14930,7 +15667,7 @@ int lex_line806()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line806.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -14943,7 +15680,7 @@ int lex_line806()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -14957,7 +15694,8 @@ int lex_line806()
yy588:
YYSKIP ();
yy589:
- status = action_line806(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line806(keys_count, i, 3)
+ || action_line806(&i, keys, input, token, &cursor, 254);
continue;
yy590:
YYSKIP ();
@@ -14994,7 +15732,8 @@ yy592:
goto yy589;
yy593:
YYSKIP ();
- status = action_line806(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line806(keys_count, i, 3)
+ || action_line806(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -15006,7 +15745,7 @@ yy593:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line806: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line806: unused keys left after %u keys\n", i);
}
}
@@ -15036,7 +15775,7 @@ end:
#define YYFILL(n) { break; }
static int action_line813
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -15044,10 +15783,12 @@ static int action_line813
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -15057,17 +15798,17 @@ static int action_line813
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line813: at position %ld (iteration %u):\n"
+ , "error: lex_line813: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -15077,6 +15818,13 @@ static int action_line813
}
}
+static int check_key_count_line813(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line813: not enough keys\n");
+ return 1;
+}
+
int lex_line813()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -15104,7 +15852,7 @@ int lex_line813()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line813.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -15117,7 +15865,7 @@ int lex_line813()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -15131,7 +15879,8 @@ int lex_line813()
yy597:
YYSKIP ();
yy598:
- status = action_line813(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line813(keys_count, i, 3)
+ || action_line813(&i, keys, input, token, &cursor, 254);
continue;
yy599:
YYSKIP ();
@@ -15219,7 +15968,8 @@ yy601:
goto yy598;
yy602:
YYSKIP ();
- status = action_line813(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line813(keys_count, i, 3)
+ || action_line813(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -15231,7 +15981,7 @@ yy602:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line813: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line813: unused keys left after %u keys\n", i);
}
}
@@ -15261,7 +16011,7 @@ end:
#define YYFILL(n) { break; }
static int action_line820
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -15269,10 +16019,12 @@ static int action_line820
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -15282,17 +16034,17 @@ static int action_line820
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line820: at position %ld (iteration %u):\n"
+ , "error: lex_line820: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -15302,6 +16054,13 @@ static int action_line820
}
}
+static int check_key_count_line820(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line820: not enough keys\n");
+ return 1;
+}
+
int lex_line820()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -15329,7 +16088,7 @@ int lex_line820()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line820.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -15342,7 +16101,7 @@ int lex_line820()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -15356,7 +16115,8 @@ int lex_line820()
yy606:
YYSKIP ();
yy607:
- status = action_line820(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line820(keys_count, i, 3)
+ || action_line820(&i, keys, input, token, &cursor, 254);
continue;
yy608:
YYSKIP ();
@@ -15442,7 +16202,8 @@ yy610:
goto yy607;
yy611:
YYSKIP ();
- status = action_line820(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line820(keys_count, i, 3)
+ || action_line820(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -15454,7 +16215,7 @@ yy611:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line820: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line820: unused keys left after %u keys\n", i);
}
}
@@ -15484,7 +16245,7 @@ end:
#define YYFILL(n) { break; }
static int action_line827
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -15492,10 +16253,12 @@ static int action_line827
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -15505,17 +16268,17 @@ static int action_line827
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line827: at position %ld (iteration %u):\n"
+ , "error: lex_line827: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -15525,6 +16288,13 @@ static int action_line827
}
}
+static int check_key_count_line827(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line827: not enough keys\n");
+ return 1;
+}
+
int lex_line827()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -15552,7 +16322,7 @@ int lex_line827()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line827.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -15565,7 +16335,7 @@ int lex_line827()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -15579,7 +16349,8 @@ int lex_line827()
yy615:
YYSKIP ();
yy616:
- status = action_line827(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line827(keys_count, i, 3)
+ || action_line827(&i, keys, input, token, &cursor, 254);
continue;
yy617:
YYSKIP ();
@@ -15665,7 +16436,8 @@ yy619:
goto yy616;
yy620:
YYSKIP ();
- status = action_line827(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line827(keys_count, i, 3)
+ || action_line827(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -15677,7 +16449,7 @@ yy620:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line827: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line827: unused keys left after %u keys\n", i);
}
}
@@ -15707,7 +16479,7 @@ end:
#define YYFILL(n) { break; }
static int action_line834
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -15715,10 +16487,12 @@ static int action_line834
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -15728,17 +16502,17 @@ static int action_line834
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line834: at position %ld (iteration %u):\n"
+ , "error: lex_line834: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -15748,6 +16522,13 @@ static int action_line834
}
}
+static int check_key_count_line834(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line834: not enough keys\n");
+ return 1;
+}
+
int lex_line834()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -15775,7 +16556,7 @@ int lex_line834()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line834.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -15788,7 +16569,7 @@ int lex_line834()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -15802,7 +16583,8 @@ int lex_line834()
yy624:
YYSKIP ();
yy625:
- status = action_line834(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line834(keys_count, i, 3)
+ || action_line834(&i, keys, input, token, &cursor, 254);
continue;
yy626:
YYSKIP ();
@@ -15890,7 +16672,8 @@ yy628:
goto yy625;
yy629:
YYSKIP ();
- status = action_line834(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line834(keys_count, i, 3)
+ || action_line834(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -15902,7 +16685,7 @@ yy629:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line834: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line834: unused keys left after %u keys\n", i);
}
}
@@ -15932,7 +16715,7 @@ end:
#define YYFILL(n) { break; }
static int action_line841
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -15940,10 +16723,12 @@ static int action_line841
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -15953,17 +16738,17 @@ static int action_line841
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line841: at position %ld (iteration %u):\n"
+ , "error: lex_line841: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -15973,6 +16758,13 @@ static int action_line841
}
}
+static int check_key_count_line841(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line841: not enough keys\n");
+ return 1;
+}
+
int lex_line841()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -16000,7 +16792,7 @@ int lex_line841()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line841.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -16013,7 +16805,7 @@ int lex_line841()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -16027,7 +16819,8 @@ int lex_line841()
yy633:
YYSKIP ();
yy634:
- status = action_line841(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line841(keys_count, i, 3)
+ || action_line841(&i, keys, input, token, &cursor, 254);
continue;
yy635:
YYSKIP ();
@@ -16115,7 +16908,8 @@ yy637:
goto yy634;
yy638:
YYSKIP ();
- status = action_line841(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line841(keys_count, i, 3)
+ || action_line841(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -16127,7 +16921,7 @@ yy638:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line841: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line841: unused keys left after %u keys\n", i);
}
}
@@ -16157,7 +16951,7 @@ end:
#define YYFILL(n) { break; }
static int action_line848
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -16165,10 +16959,12 @@ static int action_line848
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -16178,17 +16974,17 @@ static int action_line848
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line848: at position %ld (iteration %u):\n"
+ , "error: lex_line848: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -16198,6 +16994,13 @@ static int action_line848
}
}
+static int check_key_count_line848(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line848: not enough keys\n");
+ return 1;
+}
+
int lex_line848()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -16225,7 +17028,7 @@ int lex_line848()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line848.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -16238,7 +17041,7 @@ int lex_line848()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -16252,7 +17055,8 @@ int lex_line848()
yy642:
YYSKIP ();
yy643:
- status = action_line848(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line848(keys_count, i, 3)
+ || action_line848(&i, keys, input, token, &cursor, 254);
continue;
yy644:
YYSKIP ();
@@ -16338,7 +17142,8 @@ yy646:
goto yy643;
yy647:
YYSKIP ();
- status = action_line848(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line848(keys_count, i, 3)
+ || action_line848(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -16350,7 +17155,7 @@ yy647:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line848: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line848: unused keys left after %u keys\n", i);
}
}
@@ -16380,7 +17185,7 @@ end:
#define YYFILL(n) { break; }
static int action_line855
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -16388,10 +17193,12 @@ static int action_line855
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -16401,17 +17208,17 @@ static int action_line855
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line855: at position %ld (iteration %u):\n"
+ , "error: lex_line855: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -16421,6 +17228,13 @@ static int action_line855
}
}
+static int check_key_count_line855(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line855: not enough keys\n");
+ return 1;
+}
+
int lex_line855()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -16448,7 +17262,7 @@ int lex_line855()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line855.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -16461,7 +17275,7 @@ int lex_line855()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -16475,7 +17289,8 @@ int lex_line855()
yy651:
YYSKIP ();
yy652:
- status = action_line855(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line855(keys_count, i, 3)
+ || action_line855(&i, keys, input, token, &cursor, 254);
continue;
yy653:
YYSKIP ();
@@ -16601,7 +17416,8 @@ yy656:
}
yy657:
YYSKIP ();
- status = action_line855(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line855(keys_count, i, 3)
+ || action_line855(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -16613,7 +17429,7 @@ yy657:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line855: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line855: unused keys left after %u keys\n", i);
}
}
@@ -16643,7 +17459,7 @@ end:
#define YYFILL(n) { break; }
static int action_line862
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -16651,10 +17467,12 @@ static int action_line862
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -16664,17 +17482,17 @@ static int action_line862
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line862: at position %ld (iteration %u):\n"
+ , "error: lex_line862: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -16684,6 +17502,13 @@ static int action_line862
}
}
+static int check_key_count_line862(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line862: not enough keys\n");
+ return 1;
+}
+
int lex_line862()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -16711,7 +17536,7 @@ int lex_line862()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line862.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -16724,7 +17549,7 @@ int lex_line862()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -16738,7 +17563,8 @@ int lex_line862()
yy661:
YYSKIP ();
yy662:
- status = action_line862(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line862(keys_count, i, 3)
+ || action_line862(&i, keys, input, token, &cursor, 254);
continue;
yy663:
YYSKIP ();
@@ -16775,7 +17601,8 @@ yy665:
goto yy662;
yy666:
YYSKIP ();
- status = action_line862(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line862(keys_count, i, 3)
+ || action_line862(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -16787,7 +17614,7 @@ yy666:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line862: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line862: unused keys left after %u keys\n", i);
}
}
@@ -16817,7 +17644,7 @@ end:
#define YYFILL(n) { break; }
static int action_line869
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -16825,10 +17652,12 @@ static int action_line869
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -16838,17 +17667,17 @@ static int action_line869
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line869: at position %ld (iteration %u):\n"
+ , "error: lex_line869: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -16858,6 +17687,13 @@ static int action_line869
}
}
+static int check_key_count_line869(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line869: not enough keys\n");
+ return 1;
+}
+
int lex_line869()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -16885,7 +17721,7 @@ int lex_line869()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line869.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -16898,7 +17734,7 @@ int lex_line869()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -16912,7 +17748,8 @@ int lex_line869()
yy670:
YYSKIP ();
yy671:
- status = action_line869(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line869(keys_count, i, 3)
+ || action_line869(&i, keys, input, token, &cursor, 254);
continue;
yy672:
YYSKIP ();
@@ -16997,7 +17834,8 @@ yy674:
goto yy671;
yy675:
YYSKIP ();
- status = action_line869(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line869(keys_count, i, 3)
+ || action_line869(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -17009,7 +17847,7 @@ yy675:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line869: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line869: unused keys left after %u keys\n", i);
}
}
@@ -17039,7 +17877,7 @@ end:
#define YYFILL(n) { break; }
static int action_line876
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -17047,10 +17885,12 @@ static int action_line876
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -17060,17 +17900,17 @@ static int action_line876
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line876: at position %ld (iteration %u):\n"
+ , "error: lex_line876: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -17080,6 +17920,13 @@ static int action_line876
}
}
+static int check_key_count_line876(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line876: not enough keys\n");
+ return 1;
+}
+
int lex_line876()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -17107,7 +17954,7 @@ int lex_line876()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line876.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -17120,7 +17967,7 @@ int lex_line876()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -17134,7 +17981,8 @@ int lex_line876()
yy679:
YYSKIP ();
yy680:
- status = action_line876(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line876(keys_count, i, 3)
+ || action_line876(&i, keys, input, token, &cursor, 254);
continue;
yy681:
YYSKIP ();
@@ -17258,7 +18106,8 @@ yy684:
}
yy685:
YYSKIP ();
- status = action_line876(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line876(keys_count, i, 3)
+ || action_line876(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -17270,7 +18119,7 @@ yy685:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line876: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line876: unused keys left after %u keys\n", i);
}
}
@@ -17300,7 +18149,7 @@ end:
#define YYFILL(n) { break; }
static int action_line883
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -17308,10 +18157,12 @@ static int action_line883
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -17321,17 +18172,17 @@ static int action_line883
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line883: at position %ld (iteration %u):\n"
+ , "error: lex_line883: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -17341,6 +18192,13 @@ static int action_line883
}
}
+static int check_key_count_line883(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line883: not enough keys\n");
+ return 1;
+}
+
int lex_line883()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -17368,7 +18226,7 @@ int lex_line883()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line883.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -17381,7 +18239,7 @@ int lex_line883()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -17395,7 +18253,8 @@ int lex_line883()
yy689:
YYSKIP ();
yy690:
- status = action_line883(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line883(keys_count, i, 3)
+ || action_line883(&i, keys, input, token, &cursor, 254);
continue;
yy691:
YYSKIP ();
@@ -17519,7 +18378,8 @@ yy694:
}
yy695:
YYSKIP ();
- status = action_line883(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line883(keys_count, i, 3)
+ || action_line883(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -17531,7 +18391,7 @@ yy695:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line883: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line883: unused keys left after %u keys\n", i);
}
}
@@ -17561,7 +18421,7 @@ end:
#define YYFILL(n) { break; }
static int action_line890
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -17569,10 +18429,12 @@ static int action_line890
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -17582,17 +18444,17 @@ static int action_line890
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line890: at position %ld (iteration %u):\n"
+ , "error: lex_line890: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -17602,6 +18464,13 @@ static int action_line890
}
}
+static int check_key_count_line890(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line890: not enough keys\n");
+ return 1;
+}
+
int lex_line890()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -17629,7 +18498,7 @@ int lex_line890()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line890.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -17642,7 +18511,7 @@ int lex_line890()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -17656,7 +18525,8 @@ int lex_line890()
yy699:
YYSKIP ();
yy700:
- status = action_line890(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line890(keys_count, i, 3)
+ || action_line890(&i, keys, input, token, &cursor, 254);
continue;
yy701:
YYSKIP ();
@@ -17725,7 +18595,8 @@ yy703:
goto yy700;
yy704:
YYSKIP ();
- status = action_line890(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line890(keys_count, i, 3)
+ || action_line890(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -17737,7 +18608,7 @@ yy704:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line890: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line890: unused keys left after %u keys\n", i);
}
}
@@ -17767,7 +18638,7 @@ end:
#define YYFILL(n) { break; }
static int action_line897
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -17775,10 +18646,12 @@ static int action_line897
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -17788,17 +18661,17 @@ static int action_line897
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line897: at position %ld (iteration %u):\n"
+ , "error: lex_line897: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -17808,6 +18681,13 @@ static int action_line897
}
}
+static int check_key_count_line897(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line897: not enough keys\n");
+ return 1;
+}
+
int lex_line897()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -17835,7 +18715,7 @@ int lex_line897()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line897.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -17848,7 +18728,7 @@ int lex_line897()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -17862,7 +18742,8 @@ int lex_line897()
yy708:
YYSKIP ();
yy709:
- status = action_line897(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line897(keys_count, i, 3)
+ || action_line897(&i, keys, input, token, &cursor, 254);
continue;
yy710:
YYSKIP ();
@@ -17993,7 +18874,8 @@ yy714:
}
yy715:
YYSKIP ();
- status = action_line897(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line897(keys_count, i, 3)
+ || action_line897(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -18005,7 +18887,7 @@ yy715:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line897: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line897: unused keys left after %u keys\n", i);
}
}
@@ -18035,7 +18917,7 @@ end:
#define YYFILL(n) { break; }
static int action_line904
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -18043,10 +18925,12 @@ static int action_line904
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -18056,17 +18940,17 @@ static int action_line904
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line904: at position %ld (iteration %u):\n"
+ , "error: lex_line904: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -18076,6 +18960,13 @@ static int action_line904
}
}
+static int check_key_count_line904(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line904: not enough keys\n");
+ return 1;
+}
+
int lex_line904()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -18103,7 +18994,7 @@ int lex_line904()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line904.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -18116,7 +19007,7 @@ int lex_line904()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -18130,7 +19021,8 @@ int lex_line904()
yy719:
YYSKIP ();
yy720:
- status = action_line904(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line904(keys_count, i, 3)
+ || action_line904(&i, keys, input, token, &cursor, 254);
continue;
yy721:
YYSKIP ();
@@ -18167,7 +19059,8 @@ yy723:
goto yy720;
yy724:
YYSKIP ();
- status = action_line904(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line904(keys_count, i, 3)
+ || action_line904(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -18179,7 +19072,7 @@ yy724:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line904: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line904: unused keys left after %u keys\n", i);
}
}
@@ -18209,7 +19102,7 @@ end:
#define YYFILL(n) { break; }
static int action_line911
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -18217,10 +19110,12 @@ static int action_line911
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -18230,17 +19125,17 @@ static int action_line911
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line911: at position %ld (iteration %u):\n"
+ , "error: lex_line911: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -18250,6 +19145,13 @@ static int action_line911
}
}
+static int check_key_count_line911(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line911: not enough keys\n");
+ return 1;
+}
+
int lex_line911()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -18277,7 +19179,7 @@ int lex_line911()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line911.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -18290,7 +19192,7 @@ int lex_line911()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -18304,7 +19206,8 @@ int lex_line911()
yy728:
YYSKIP ();
yy729:
- status = action_line911(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line911(keys_count, i, 3)
+ || action_line911(&i, keys, input, token, &cursor, 254);
continue;
yy730:
YYSKIP ();
@@ -18357,7 +19260,8 @@ yy732:
goto yy729;
yy733:
YYSKIP ();
- status = action_line911(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line911(keys_count, i, 3)
+ || action_line911(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -18369,7 +19273,7 @@ yy733:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line911: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line911: unused keys left after %u keys\n", i);
}
}
@@ -18399,7 +19303,7 @@ end:
#define YYFILL(n) { break; }
static int action_line918
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -18407,10 +19311,12 @@ static int action_line918
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -18420,17 +19326,17 @@ static int action_line918
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line918: at position %ld (iteration %u):\n"
+ , "error: lex_line918: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -18440,6 +19346,13 @@ static int action_line918
}
}
+static int check_key_count_line918(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line918: not enough keys\n");
+ return 1;
+}
+
int lex_line918()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -18467,7 +19380,7 @@ int lex_line918()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line918.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -18480,7 +19393,7 @@ int lex_line918()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -18494,7 +19407,8 @@ int lex_line918()
yy737:
YYSKIP ();
yy738:
- status = action_line918(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line918(keys_count, i, 3)
+ || action_line918(&i, keys, input, token, &cursor, 254);
continue;
yy739:
YYSKIP ();
@@ -18531,7 +19445,8 @@ yy741:
goto yy738;
yy742:
YYSKIP ();
- status = action_line918(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line918(keys_count, i, 3)
+ || action_line918(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -18543,7 +19458,7 @@ yy742:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line918: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line918: unused keys left after %u keys\n", i);
}
}
@@ -18573,7 +19488,7 @@ end:
#define YYFILL(n) { break; }
static int action_line925
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -18581,10 +19496,12 @@ static int action_line925
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -18594,17 +19511,17 @@ static int action_line925
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line925: at position %ld (iteration %u):\n"
+ , "error: lex_line925: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -18614,6 +19531,13 @@ static int action_line925
}
}
+static int check_key_count_line925(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line925: not enough keys\n");
+ return 1;
+}
+
int lex_line925()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -18641,7 +19565,7 @@ int lex_line925()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line925.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -18654,7 +19578,7 @@ int lex_line925()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -18668,7 +19592,8 @@ int lex_line925()
yy746:
YYSKIP ();
yy747:
- status = action_line925(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line925(keys_count, i, 3)
+ || action_line925(&i, keys, input, token, &cursor, 254);
continue;
yy748:
YYSKIP ();
@@ -18756,7 +19681,8 @@ yy750:
goto yy747;
yy751:
YYSKIP ();
- status = action_line925(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line925(keys_count, i, 3)
+ || action_line925(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -18768,7 +19694,7 @@ yy751:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line925: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line925: unused keys left after %u keys\n", i);
}
}
@@ -18798,7 +19724,7 @@ end:
#define YYFILL(n) { break; }
static int action_line932
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -18806,10 +19732,12 @@ static int action_line932
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -18819,17 +19747,17 @@ static int action_line932
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line932: at position %ld (iteration %u):\n"
+ , "error: lex_line932: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -18839,6 +19767,13 @@ static int action_line932
}
}
+static int check_key_count_line932(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line932: not enough keys\n");
+ return 1;
+}
+
int lex_line932()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -18866,7 +19801,7 @@ int lex_line932()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line932.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -18879,7 +19814,7 @@ int lex_line932()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -18893,7 +19828,8 @@ int lex_line932()
yy755:
YYSKIP ();
yy756:
- status = action_line932(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line932(keys_count, i, 3)
+ || action_line932(&i, keys, input, token, &cursor, 254);
continue;
yy757:
YYSKIP ();
@@ -18981,7 +19917,8 @@ yy759:
goto yy756;
yy760:
YYSKIP ();
- status = action_line932(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line932(keys_count, i, 3)
+ || action_line932(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -18993,7 +19930,7 @@ yy760:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line932: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line932: unused keys left after %u keys\n", i);
}
}
@@ -19023,7 +19960,7 @@ end:
#define YYFILL(n) { break; }
static int action_line939
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -19031,10 +19968,12 @@ static int action_line939
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -19044,17 +19983,17 @@ static int action_line939
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line939: at position %ld (iteration %u):\n"
+ , "error: lex_line939: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -19064,6 +20003,13 @@ static int action_line939
}
}
+static int check_key_count_line939(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line939: not enough keys\n");
+ return 1;
+}
+
int lex_line939()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -19091,7 +20037,7 @@ int lex_line939()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line939.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -19104,7 +20050,7 @@ int lex_line939()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -19119,7 +20065,8 @@ int lex_line939()
yy764:
YYSKIP ();
yy765:
- status = action_line939(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line939(keys_count, i, 3)
+ || action_line939(&i, keys, input, token, &cursor, 254);
continue;
yy766:
YYSKIP ();
@@ -19313,7 +20260,8 @@ yy769:
goto yy765;
yy770:
YYSKIP ();
- status = action_line939(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line939(keys_count, i, 3)
+ || action_line939(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -19325,7 +20273,7 @@ yy770:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line939: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line939: unused keys left after %u keys\n", i);
}
}
@@ -19355,7 +20303,7 @@ end:
#define YYFILL(n) { break; }
static int action_line946
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -19363,10 +20311,12 @@ static int action_line946
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -19376,17 +20326,17 @@ static int action_line946
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line946: at position %ld (iteration %u):\n"
+ , "error: lex_line946: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -19396,6 +20346,13 @@ static int action_line946
}
}
+static int check_key_count_line946(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line946: not enough keys\n");
+ return 1;
+}
+
int lex_line946()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -19423,7 +20380,7 @@ int lex_line946()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line946.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -19436,7 +20393,7 @@ int lex_line946()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -19450,7 +20407,8 @@ int lex_line946()
yy774:
YYSKIP ();
yy775:
- status = action_line946(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line946(keys_count, i, 3)
+ || action_line946(&i, keys, input, token, &cursor, 254);
continue;
yy776:
YYSKIP ();
@@ -19535,7 +20493,8 @@ yy778:
goto yy775;
yy779:
YYSKIP ();
- status = action_line946(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line946(keys_count, i, 3)
+ || action_line946(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -19547,7 +20506,7 @@ yy779:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line946: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line946: unused keys left after %u keys\n", i);
}
}
@@ -19577,7 +20536,7 @@ end:
#define YYFILL(n) { break; }
static int action_line953
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -19585,10 +20544,12 @@ static int action_line953
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -19598,17 +20559,17 @@ static int action_line953
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line953: at position %ld (iteration %u):\n"
+ , "error: lex_line953: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -19618,6 +20579,13 @@ static int action_line953
}
}
+static int check_key_count_line953(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line953: not enough keys\n");
+ return 1;
+}
+
int lex_line953()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -19645,7 +20613,7 @@ int lex_line953()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line953.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -19658,7 +20626,7 @@ int lex_line953()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -19677,7 +20645,8 @@ int lex_line953()
yy783:
YYSKIP ();
yy784:
- status = action_line953(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line953(keys_count, i, 3)
+ || action_line953(&i, keys, input, token, &cursor, 254);
continue;
yy785:
YYSKIP ();
@@ -19840,7 +20809,8 @@ yy788:
goto yy784;
yy789:
YYSKIP ();
- status = action_line953(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line953(keys_count, i, 3)
+ || action_line953(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -19852,7 +20822,7 @@ yy789:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line953: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line953: unused keys left after %u keys\n", i);
}
}
@@ -19882,7 +20852,7 @@ end:
#define YYFILL(n) { break; }
static int action_line960
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -19890,10 +20860,12 @@ static int action_line960
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -19903,17 +20875,17 @@ static int action_line960
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line960: at position %ld (iteration %u):\n"
+ , "error: lex_line960: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -19923,6 +20895,13 @@ static int action_line960
}
}
+static int check_key_count_line960(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line960: not enough keys\n");
+ return 1;
+}
+
int lex_line960()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -19950,7 +20929,7 @@ int lex_line960()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line960.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -19963,7 +20942,7 @@ int lex_line960()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -19977,7 +20956,8 @@ int lex_line960()
yy793:
YYSKIP ();
yy794:
- status = action_line960(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line960(keys_count, i, 3)
+ || action_line960(&i, keys, input, token, &cursor, 254);
continue;
yy795:
YYSKIP ();
@@ -20102,7 +21082,8 @@ yy798:
}
yy799:
YYSKIP ();
- status = action_line960(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line960(keys_count, i, 3)
+ || action_line960(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -20114,7 +21095,7 @@ yy799:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line960: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line960: unused keys left after %u keys\n", i);
}
}
@@ -20144,7 +21125,7 @@ end:
#define YYFILL(n) { break; }
static int action_line967
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -20152,10 +21133,12 @@ static int action_line967
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -20165,17 +21148,17 @@ static int action_line967
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line967: at position %ld (iteration %u):\n"
+ , "error: lex_line967: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -20185,6 +21168,13 @@ static int action_line967
}
}
+static int check_key_count_line967(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line967: not enough keys\n");
+ return 1;
+}
+
int lex_line967()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -20212,7 +21202,7 @@ int lex_line967()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line967.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -20225,7 +21215,7 @@ int lex_line967()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -20239,7 +21229,8 @@ int lex_line967()
yy803:
YYSKIP ();
yy804:
- status = action_line967(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line967(keys_count, i, 3)
+ || action_line967(&i, keys, input, token, &cursor, 254);
continue;
yy805:
YYSKIP ();
@@ -20331,7 +21322,8 @@ yy808:
}
yy809:
YYSKIP ();
- status = action_line967(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line967(keys_count, i, 3)
+ || action_line967(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -20343,7 +21335,7 @@ yy809:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line967: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line967: unused keys left after %u keys\n", i);
}
}
@@ -20373,7 +21365,7 @@ end:
#define YYFILL(n) { break; }
static int action_line974
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -20381,10 +21373,12 @@ static int action_line974
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -20394,17 +21388,17 @@ static int action_line974
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line974: at position %ld (iteration %u):\n"
+ , "error: lex_line974: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -20414,6 +21408,13 @@ static int action_line974
}
}
+static int check_key_count_line974(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line974: not enough keys\n");
+ return 1;
+}
+
int lex_line974()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -20441,7 +21442,7 @@ int lex_line974()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line974.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -20454,7 +21455,7 @@ int lex_line974()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -20471,7 +21472,8 @@ int lex_line974()
yy813:
YYSKIP ();
yy814:
- status = action_line974(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line974(keys_count, i, 3)
+ || action_line974(&i, keys, input, token, &cursor, 254);
continue;
yy815:
YYSKIP ();
@@ -20734,7 +21736,8 @@ yy820:
}
yy821:
YYSKIP ();
- status = action_line974(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line974(keys_count, i, 3)
+ || action_line974(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -20746,7 +21749,7 @@ yy821:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line974: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line974: unused keys left after %u keys\n", i);
}
}
@@ -20776,7 +21779,7 @@ end:
#define YYFILL(n) { break; }
static int action_line981
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -20784,10 +21787,12 @@ static int action_line981
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -20797,17 +21802,17 @@ static int action_line981
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line981: at position %ld (iteration %u):\n"
+ , "error: lex_line981: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -20817,6 +21822,13 @@ static int action_line981
}
}
+static int check_key_count_line981(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line981: not enough keys\n");
+ return 1;
+}
+
int lex_line981()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -20844,7 +21856,7 @@ int lex_line981()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line981.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -20857,7 +21869,7 @@ int lex_line981()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -20871,7 +21883,8 @@ int lex_line981()
yy825:
YYSKIP ();
yy826:
- status = action_line981(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line981(keys_count, i, 3)
+ || action_line981(&i, keys, input, token, &cursor, 254);
continue;
yy827:
YYSKIP ();
@@ -20969,7 +21982,8 @@ yy829:
goto yy826;
yy830:
YYSKIP ();
- status = action_line981(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line981(keys_count, i, 3)
+ || action_line981(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -20981,7 +21995,7 @@ yy830:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line981: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line981: unused keys left after %u keys\n", i);
}
}
@@ -21011,7 +22025,7 @@ end:
#define YYFILL(n) { break; }
static int action_line988
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -21019,10 +22033,12 @@ static int action_line988
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -21032,17 +22048,17 @@ static int action_line988
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line988: at position %ld (iteration %u):\n"
+ , "error: lex_line988: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -21052,6 +22068,13 @@ static int action_line988
}
}
+static int check_key_count_line988(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line988: not enough keys\n");
+ return 1;
+}
+
int lex_line988()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -21079,7 +22102,7 @@ int lex_line988()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line988.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -21092,7 +22115,7 @@ int lex_line988()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -21106,7 +22129,8 @@ int lex_line988()
yy834:
YYSKIP ();
yy835:
- status = action_line988(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line988(keys_count, i, 3)
+ || action_line988(&i, keys, input, token, &cursor, 254);
continue;
yy836:
YYSKIP ();
@@ -21192,7 +22216,8 @@ yy838:
goto yy835;
yy839:
YYSKIP ();
- status = action_line988(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line988(keys_count, i, 3)
+ || action_line988(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -21204,7 +22229,7 @@ yy839:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line988: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line988: unused keys left after %u keys\n", i);
}
}
@@ -21234,7 +22259,7 @@ end:
#define YYFILL(n) { break; }
static int action_line995
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -21242,10 +22267,12 @@ static int action_line995
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -21255,17 +22282,17 @@ static int action_line995
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line995: at position %ld (iteration %u):\n"
+ , "error: lex_line995: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -21275,6 +22302,13 @@ static int action_line995
}
}
+static int check_key_count_line995(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line995: not enough keys\n");
+ return 1;
+}
+
int lex_line995()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -21302,7 +22336,7 @@ int lex_line995()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line995.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -21315,7 +22349,7 @@ int lex_line995()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -21329,7 +22363,8 @@ int lex_line995()
yy843:
YYSKIP ();
yy844:
- status = action_line995(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line995(keys_count, i, 3)
+ || action_line995(&i, keys, input, token, &cursor, 254);
continue;
yy845:
YYSKIP ();
@@ -21429,7 +22464,8 @@ yy847:
goto yy844;
yy848:
YYSKIP ();
- status = action_line995(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line995(keys_count, i, 3)
+ || action_line995(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -21441,7 +22477,7 @@ yy848:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line995: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line995: unused keys left after %u keys\n", i);
}
}
@@ -21471,7 +22507,7 @@ end:
#define YYFILL(n) { break; }
static int action_line1002
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -21479,10 +22515,12 @@ static int action_line1002
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -21492,17 +22530,17 @@ static int action_line1002
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line1002: at position %ld (iteration %u):\n"
+ , "error: lex_line1002: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -21512,6 +22550,13 @@ static int action_line1002
}
}
+static int check_key_count_line1002(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line1002: not enough keys\n");
+ return 1;
+}
+
int lex_line1002()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -21539,7 +22584,7 @@ int lex_line1002()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line1002.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -21552,7 +22597,7 @@ int lex_line1002()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -21567,7 +22612,8 @@ int lex_line1002()
yy852:
YYSKIP ();
yy853:
- status = action_line1002(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line1002(keys_count, i, 3)
+ || action_line1002(&i, keys, input, token, &cursor, 254);
continue;
yy854:
YYSKIP ();
@@ -21758,7 +22804,8 @@ yy857:
goto yy853;
yy858:
YYSKIP ();
- status = action_line1002(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line1002(keys_count, i, 3)
+ || action_line1002(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -21770,7 +22817,7 @@ yy858:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line1002: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line1002: unused keys left after %u keys\n", i);
}
}
@@ -21800,7 +22847,7 @@ end:
#define YYFILL(n) { break; }
static int action_line1009
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -21808,10 +22855,12 @@ static int action_line1009
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -21821,17 +22870,17 @@ static int action_line1009
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line1009: at position %ld (iteration %u):\n"
+ , "error: lex_line1009: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -21841,6 +22890,13 @@ static int action_line1009
}
}
+static int check_key_count_line1009(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line1009: not enough keys\n");
+ return 1;
+}
+
int lex_line1009()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -21868,7 +22924,7 @@ int lex_line1009()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line1009.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -21881,7 +22937,7 @@ int lex_line1009()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -21895,7 +22951,8 @@ int lex_line1009()
yy862:
YYSKIP ();
yy863:
- status = action_line1009(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line1009(keys_count, i, 3)
+ || action_line1009(&i, keys, input, token, &cursor, 254);
continue;
yy864:
YYSKIP ();
@@ -21987,7 +23044,8 @@ yy866:
goto yy863;
yy867:
YYSKIP ();
- status = action_line1009(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line1009(keys_count, i, 3)
+ || action_line1009(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -21999,7 +23057,7 @@ yy867:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line1009: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line1009: unused keys left after %u keys\n", i);
}
}
@@ -22029,7 +23087,7 @@ end:
#define YYFILL(n) { break; }
static int action_line1016
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -22037,10 +23095,12 @@ static int action_line1016
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -22050,17 +23110,17 @@ static int action_line1016
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line1016: at position %ld (iteration %u):\n"
+ , "error: lex_line1016: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -22070,6 +23130,13 @@ static int action_line1016
}
}
+static int check_key_count_line1016(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line1016: not enough keys\n");
+ return 1;
+}
+
int lex_line1016()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -22097,7 +23164,7 @@ int lex_line1016()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line1016.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -22110,7 +23177,7 @@ int lex_line1016()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -22124,7 +23191,8 @@ int lex_line1016()
yy871:
YYSKIP ();
yy872:
- status = action_line1016(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line1016(keys_count, i, 3)
+ || action_line1016(&i, keys, input, token, &cursor, 254);
continue;
yy873:
YYSKIP ();
@@ -22232,7 +23300,8 @@ yy876:
}
yy877:
YYSKIP ();
- status = action_line1016(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line1016(keys_count, i, 3)
+ || action_line1016(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -22244,7 +23313,7 @@ yy877:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line1016: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line1016: unused keys left after %u keys\n", i);
}
}
@@ -22274,7 +23343,7 @@ end:
#define YYFILL(n) { break; }
static int action_line1023
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -22282,10 +23351,12 @@ static int action_line1023
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -22295,17 +23366,17 @@ static int action_line1023
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line1023: at position %ld (iteration %u):\n"
+ , "error: lex_line1023: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -22315,6 +23386,13 @@ static int action_line1023
}
}
+static int check_key_count_line1023(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line1023: not enough keys\n");
+ return 1;
+}
+
int lex_line1023()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -22342,7 +23420,7 @@ int lex_line1023()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line1023.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -22355,7 +23433,7 @@ int lex_line1023()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -22369,7 +23447,8 @@ int lex_line1023()
yy881:
YYSKIP ();
yy882:
- status = action_line1023(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line1023(keys_count, i, 3)
+ || action_line1023(&i, keys, input, token, &cursor, 254);
continue;
yy883:
YYSKIP ();
@@ -22518,7 +23597,8 @@ yy886:
}
yy887:
YYSKIP ();
- status = action_line1023(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line1023(keys_count, i, 3)
+ || action_line1023(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -22530,7 +23610,7 @@ yy887:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line1023: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line1023: unused keys left after %u keys\n", i);
}
}
@@ -22560,7 +23640,7 @@ end:
#define YYFILL(n) { break; }
static int action_line1030
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -22568,10 +23648,12 @@ static int action_line1030
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -22581,17 +23663,17 @@ static int action_line1030
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line1030: at position %ld (iteration %u):\n"
+ , "error: lex_line1030: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -22601,6 +23683,13 @@ static int action_line1030
}
}
+static int check_key_count_line1030(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line1030: not enough keys\n");
+ return 1;
+}
+
int lex_line1030()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -22628,7 +23717,7 @@ int lex_line1030()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line1030.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -22641,7 +23730,7 @@ int lex_line1030()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -22655,7 +23744,8 @@ int lex_line1030()
yy891:
YYSKIP ();
yy892:
- status = action_line1030(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line1030(keys_count, i, 3)
+ || action_line1030(&i, keys, input, token, &cursor, 254);
continue;
yy893:
YYSKIP ();
@@ -22692,7 +23782,8 @@ yy895:
goto yy892;
yy896:
YYSKIP ();
- status = action_line1030(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line1030(keys_count, i, 3)
+ || action_line1030(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -22704,7 +23795,7 @@ yy896:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line1030: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line1030: unused keys left after %u keys\n", i);
}
}
@@ -22734,7 +23825,7 @@ end:
#define YYFILL(n) { break; }
static int action_line1037
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -22742,10 +23833,12 @@ static int action_line1037
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -22755,17 +23848,17 @@ static int action_line1037
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line1037: at position %ld (iteration %u):\n"
+ , "error: lex_line1037: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -22775,6 +23868,13 @@ static int action_line1037
}
}
+static int check_key_count_line1037(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line1037: not enough keys\n");
+ return 1;
+}
+
int lex_line1037()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -22802,7 +23902,7 @@ int lex_line1037()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line1037.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -22815,7 +23915,7 @@ int lex_line1037()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -22829,7 +23929,8 @@ int lex_line1037()
yy900:
YYSKIP ();
yy901:
- status = action_line1037(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line1037(keys_count, i, 3)
+ || action_line1037(&i, keys, input, token, &cursor, 254);
continue;
yy902:
YYSKIP ();
@@ -22866,7 +23967,8 @@ yy904:
goto yy901;
yy905:
YYSKIP ();
- status = action_line1037(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line1037(keys_count, i, 3)
+ || action_line1037(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -22878,7 +23980,7 @@ yy905:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line1037: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line1037: unused keys left after %u keys\n", i);
}
}
@@ -22908,7 +24010,7 @@ end:
#define YYFILL(n) { break; }
static int action_line1044
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -22916,10 +24018,12 @@ static int action_line1044
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -22929,17 +24033,17 @@ static int action_line1044
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line1044: at position %ld (iteration %u):\n"
+ , "error: lex_line1044: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -22949,6 +24053,13 @@ static int action_line1044
}
}
+static int check_key_count_line1044(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line1044: not enough keys\n");
+ return 1;
+}
+
int lex_line1044()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -22976,7 +24087,7 @@ int lex_line1044()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line1044.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -22989,7 +24100,7 @@ int lex_line1044()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -23003,7 +24114,8 @@ int lex_line1044()
yy909:
YYSKIP ();
yy910:
- status = action_line1044(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line1044(keys_count, i, 3)
+ || action_line1044(&i, keys, input, token, &cursor, 254);
continue;
yy911:
YYSKIP ();
@@ -23063,7 +24175,8 @@ yy914:
}
yy915:
YYSKIP ();
- status = action_line1044(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line1044(keys_count, i, 3)
+ || action_line1044(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -23075,7 +24188,7 @@ yy915:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line1044: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line1044: unused keys left after %u keys\n", i);
}
}
@@ -23105,7 +24218,7 @@ end:
#define YYFILL(n) { break; }
static int action_line1051
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -23113,10 +24226,12 @@ static int action_line1051
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -23126,17 +24241,17 @@ static int action_line1051
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line1051: at position %ld (iteration %u):\n"
+ , "error: lex_line1051: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -23146,6 +24261,13 @@ static int action_line1051
}
}
+static int check_key_count_line1051(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line1051: not enough keys\n");
+ return 1;
+}
+
int lex_line1051()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -23173,7 +24295,7 @@ int lex_line1051()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line1051.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -23186,7 +24308,7 @@ int lex_line1051()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -23200,7 +24322,8 @@ int lex_line1051()
yy919:
YYSKIP ();
yy920:
- status = action_line1051(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line1051(keys_count, i, 3)
+ || action_line1051(&i, keys, input, token, &cursor, 254);
continue;
yy921:
YYSKIP ();
@@ -23253,7 +24376,8 @@ yy923:
goto yy920;
yy924:
YYSKIP ();
- status = action_line1051(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line1051(keys_count, i, 3)
+ || action_line1051(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -23265,7 +24389,7 @@ yy924:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line1051: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line1051: unused keys left after %u keys\n", i);
}
}
@@ -23295,7 +24419,7 @@ end:
#define YYFILL(n) { break; }
static int action_line1058
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -23303,10 +24427,12 @@ static int action_line1058
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -23316,17 +24442,17 @@ static int action_line1058
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line1058: at position %ld (iteration %u):\n"
+ , "error: lex_line1058: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -23336,6 +24462,13 @@ static int action_line1058
}
}
+static int check_key_count_line1058(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line1058: not enough keys\n");
+ return 1;
+}
+
int lex_line1058()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -23363,7 +24496,7 @@ int lex_line1058()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line1058.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -23376,7 +24509,7 @@ int lex_line1058()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -23390,7 +24523,8 @@ int lex_line1058()
yy928:
YYSKIP ();
yy929:
- status = action_line1058(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line1058(keys_count, i, 3)
+ || action_line1058(&i, keys, input, token, &cursor, 254);
continue;
yy930:
YYSKIP ();
@@ -23499,7 +24633,8 @@ yy933:
}
yy934:
YYSKIP ();
- status = action_line1058(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line1058(keys_count, i, 3)
+ || action_line1058(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -23511,7 +24646,7 @@ yy934:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line1058: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line1058: unused keys left after %u keys\n", i);
}
}
@@ -23541,7 +24676,7 @@ end:
#define YYFILL(n) { break; }
static int action_line1065
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -23549,10 +24684,12 @@ static int action_line1065
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -23562,17 +24699,17 @@ static int action_line1065
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line1065: at position %ld (iteration %u):\n"
+ , "error: lex_line1065: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -23582,6 +24719,13 @@ static int action_line1065
}
}
+static int check_key_count_line1065(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line1065: not enough keys\n");
+ return 1;
+}
+
int lex_line1065()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -23609,7 +24753,7 @@ int lex_line1065()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line1065.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -23622,7 +24766,7 @@ int lex_line1065()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -23636,7 +24780,8 @@ int lex_line1065()
yy938:
YYSKIP ();
yy939:
- status = action_line1065(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line1065(keys_count, i, 3)
+ || action_line1065(&i, keys, input, token, &cursor, 254);
continue;
yy940:
YYSKIP ();
@@ -23778,7 +24923,8 @@ yy943:
}
yy944:
YYSKIP ();
- status = action_line1065(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line1065(keys_count, i, 3)
+ || action_line1065(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -23790,7 +24936,7 @@ yy944:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line1065: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line1065: unused keys left after %u keys\n", i);
}
}
@@ -23820,7 +24966,7 @@ end:
#define YYFILL(n) { break; }
static int action_line1072
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -23828,10 +24974,12 @@ static int action_line1072
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -23841,17 +24989,17 @@ static int action_line1072
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line1072: at position %ld (iteration %u):\n"
+ , "error: lex_line1072: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -23861,6 +25009,13 @@ static int action_line1072
}
}
+static int check_key_count_line1072(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line1072: not enough keys\n");
+ return 1;
+}
+
int lex_line1072()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -23888,7 +25043,7 @@ int lex_line1072()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line1072.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -23901,7 +25056,7 @@ int lex_line1072()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -23915,7 +25070,8 @@ int lex_line1072()
yy948:
YYSKIP ();
yy949:
- status = action_line1072(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line1072(keys_count, i, 3)
+ || action_line1072(&i, keys, input, token, &cursor, 254);
continue;
yy950:
YYSKIP ();
@@ -23952,7 +25108,8 @@ yy952:
goto yy949;
yy953:
YYSKIP ();
- status = action_line1072(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line1072(keys_count, i, 3)
+ || action_line1072(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -23964,7 +25121,7 @@ yy953:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line1072: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line1072: unused keys left after %u keys\n", i);
}
}
@@ -23994,7 +25151,7 @@ end:
#define YYFILL(n) { break; }
static int action_line1079
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -24002,10 +25159,12 @@ static int action_line1079
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -24015,17 +25174,17 @@ static int action_line1079
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line1079: at position %ld (iteration %u):\n"
+ , "error: lex_line1079: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -24035,6 +25194,13 @@ static int action_line1079
}
}
+static int check_key_count_line1079(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line1079: not enough keys\n");
+ return 1;
+}
+
int lex_line1079()
{
const size_t padding = 3; /* YYMAXFILL */
@@ -24062,7 +25228,7 @@ int lex_line1079()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.8--skeleton--encoding-policy(ignore).c.line1079.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -24075,7 +25241,7 @@ int lex_line1079()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
const YYCTYPE *marker = NULL;
YYCTYPE yych;
@@ -24260,12 +25426,14 @@ int lex_line1079()
}
yy957:
YYSKIP ();
- status = action_line1079(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line1079(keys_count, i, 3)
+ || action_line1079(&i, keys, input, token, &cursor, 0);
continue;
yy959:
YYSKIP ();
yy960:
- status = action_line1079(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line1079(keys_count, i, 3)
+ || action_line1079(&i, keys, input, token, &cursor, 254);
continue;
yy961:
YYSKIP ();
@@ -25101,7 +26269,8 @@ yy977:
}
yy978:
YYSKIP ();
- switch ((yych = YYPEEK ())) {
+ yych = YYPEEK ();
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
@@ -25162,7 +26331,7 @@ yy978:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line1079: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line1079: unused keys left after %u keys\n", i);
}
}
diff --git a/test/unicode_blocks.u--encoding-policy(fail).c b/test/unicode_blocks.u--encoding-policy(fail).c
index d275c4c2..a6e6074b 100644
--- a/test/unicode_blocks.u--encoding-policy(fail).c
+++ b/test/unicode_blocks.u--encoding-policy(fail).c
@@ -1 +1 @@
-re2c: error: line 322, column 21: Bad code point range: '0xD800 - 0xDB7F'
+re2c: error: line 322, column 21: bad code point range: '0xD800 - 0xDB7F'
diff --git a/test/unicode_blocks.u--skeleton--encoding-policy(ignore).c b/test/unicode_blocks.u--skeleton--encoding-policy(ignore).c
index f7fdb9a2..5e1f4736 100644
--- a/test/unicode_blocks.u--skeleton--encoding-policy(ignore).c
+++ b/test/unicode_blocks.u--skeleton--encoding-policy(ignore).c
@@ -1,7 +1,9 @@
/* Generated by re2c */
+#include <stddef.h> /* size_t */
#include <stdio.h>
#include <stdlib.h> /* malloc, free */
+#include <string.h> /* memcpy */
static void *read_file
( const char *fname
@@ -56,7 +58,7 @@ error:
#define YYFILL(n) { break; }
static int action_line344
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -64,10 +66,12 @@ static int action_line344
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -77,17 +81,17 @@ static int action_line344
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line344: at position %ld (iteration %u):\n"
+ , "error: lex_line344: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -97,6 +101,13 @@ static int action_line344
}
}
+static int check_key_count_line344(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line344: not enough keys\n");
+ return 1;
+}
+
int lex_line344()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -130,7 +141,7 @@ int lex_line344()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line344.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -143,7 +154,7 @@ int lex_line344()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -151,11 +162,13 @@ int lex_line344()
yych = YYPEEK ();
if (yych >= 0x00000080) goto yy4;
YYSKIP ();
- status = action_line344(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line344(keys_count, i, 3)
+ || action_line344(&i, keys, input, token, &cursor, 0);
continue;
yy4:
YYSKIP ();
- status = action_line344(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line344(keys_count, i, 3)
+ || action_line344(&i, keys, input, token, &cursor, 254);
continue;
}
@@ -167,7 +180,7 @@ yy4:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line344: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line344: unused keys left after %u keys\n", i);
}
}
@@ -193,7 +206,7 @@ end:
#define YYFILL(n) { break; }
static int action_line351
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -201,10 +214,12 @@ static int action_line351
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -214,17 +229,17 @@ static int action_line351
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line351: at position %ld (iteration %u):\n"
+ , "error: lex_line351: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -234,6 +249,13 @@ static int action_line351
}
}
+static int check_key_count_line351(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line351: not enough keys\n");
+ return 1;
+}
+
int lex_line351()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -267,7 +289,7 @@ int lex_line351()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line351.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -280,7 +302,7 @@ int lex_line351()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -290,11 +312,13 @@ int lex_line351()
if (yych <= 0x000000FF) goto yy10;
yy8:
YYSKIP ();
- status = action_line351(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line351(keys_count, i, 3)
+ || action_line351(&i, keys, input, token, &cursor, 254);
continue;
yy10:
YYSKIP ();
- status = action_line351(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line351(keys_count, i, 3)
+ || action_line351(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -306,7 +330,7 @@ yy10:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line351: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line351: unused keys left after %u keys\n", i);
}
}
@@ -332,7 +356,7 @@ end:
#define YYFILL(n) { break; }
static int action_line358
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -340,10 +364,12 @@ static int action_line358
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -353,17 +379,17 @@ static int action_line358
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line358: at position %ld (iteration %u):\n"
+ , "error: lex_line358: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -373,6 +399,13 @@ static int action_line358
}
}
+static int check_key_count_line358(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line358: not enough keys\n");
+ return 1;
+}
+
int lex_line358()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -406,7 +439,7 @@ int lex_line358()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line358.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -419,7 +452,7 @@ int lex_line358()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -429,11 +462,13 @@ int lex_line358()
if (yych <= 0x0000017F) goto yy16;
yy14:
YYSKIP ();
- status = action_line358(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line358(keys_count, i, 3)
+ || action_line358(&i, keys, input, token, &cursor, 254);
continue;
yy16:
YYSKIP ();
- status = action_line358(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line358(keys_count, i, 3)
+ || action_line358(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -445,7 +480,7 @@ yy16:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line358: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line358: unused keys left after %u keys\n", i);
}
}
@@ -471,7 +506,7 @@ end:
#define YYFILL(n) { break; }
static int action_line365
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -479,10 +514,12 @@ static int action_line365
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -492,17 +529,17 @@ static int action_line365
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line365: at position %ld (iteration %u):\n"
+ , "error: lex_line365: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -512,6 +549,13 @@ static int action_line365
}
}
+static int check_key_count_line365(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line365: not enough keys\n");
+ return 1;
+}
+
int lex_line365()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -545,7 +589,7 @@ int lex_line365()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line365.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -558,7 +602,7 @@ int lex_line365()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -568,11 +612,13 @@ int lex_line365()
if (yych <= 0x0000024F) goto yy22;
yy20:
YYSKIP ();
- status = action_line365(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line365(keys_count, i, 3)
+ || action_line365(&i, keys, input, token, &cursor, 254);
continue;
yy22:
YYSKIP ();
- status = action_line365(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line365(keys_count, i, 3)
+ || action_line365(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -584,7 +630,7 @@ yy22:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line365: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line365: unused keys left after %u keys\n", i);
}
}
@@ -610,7 +656,7 @@ end:
#define YYFILL(n) { break; }
static int action_line372
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -618,10 +664,12 @@ static int action_line372
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -631,17 +679,17 @@ static int action_line372
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line372: at position %ld (iteration %u):\n"
+ , "error: lex_line372: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -651,6 +699,13 @@ static int action_line372
}
}
+static int check_key_count_line372(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line372: not enough keys\n");
+ return 1;
+}
+
int lex_line372()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -684,7 +739,7 @@ int lex_line372()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line372.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -697,7 +752,7 @@ int lex_line372()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -707,11 +762,13 @@ int lex_line372()
if (yych <= 0x000002AF) goto yy28;
yy26:
YYSKIP ();
- status = action_line372(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line372(keys_count, i, 3)
+ || action_line372(&i, keys, input, token, &cursor, 254);
continue;
yy28:
YYSKIP ();
- status = action_line372(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line372(keys_count, i, 3)
+ || action_line372(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -723,7 +780,7 @@ yy28:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line372: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line372: unused keys left after %u keys\n", i);
}
}
@@ -749,7 +806,7 @@ end:
#define YYFILL(n) { break; }
static int action_line379
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -757,10 +814,12 @@ static int action_line379
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -770,17 +829,17 @@ static int action_line379
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line379: at position %ld (iteration %u):\n"
+ , "error: lex_line379: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -790,6 +849,13 @@ static int action_line379
}
}
+static int check_key_count_line379(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line379: not enough keys\n");
+ return 1;
+}
+
int lex_line379()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -823,7 +889,7 @@ int lex_line379()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line379.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -836,7 +902,7 @@ int lex_line379()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -846,11 +912,13 @@ int lex_line379()
if (yych <= 0x000002FF) goto yy34;
yy32:
YYSKIP ();
- status = action_line379(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line379(keys_count, i, 3)
+ || action_line379(&i, keys, input, token, &cursor, 254);
continue;
yy34:
YYSKIP ();
- status = action_line379(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line379(keys_count, i, 3)
+ || action_line379(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -862,7 +930,7 @@ yy34:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line379: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line379: unused keys left after %u keys\n", i);
}
}
@@ -888,7 +956,7 @@ end:
#define YYFILL(n) { break; }
static int action_line386
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -896,10 +964,12 @@ static int action_line386
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -909,17 +979,17 @@ static int action_line386
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line386: at position %ld (iteration %u):\n"
+ , "error: lex_line386: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -929,6 +999,13 @@ static int action_line386
}
}
+static int check_key_count_line386(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line386: not enough keys\n");
+ return 1;
+}
+
int lex_line386()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -962,7 +1039,7 @@ int lex_line386()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line386.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -975,7 +1052,7 @@ int lex_line386()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -985,11 +1062,13 @@ int lex_line386()
if (yych <= 0x0000036F) goto yy40;
yy38:
YYSKIP ();
- status = action_line386(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line386(keys_count, i, 3)
+ || action_line386(&i, keys, input, token, &cursor, 254);
continue;
yy40:
YYSKIP ();
- status = action_line386(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line386(keys_count, i, 3)
+ || action_line386(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -1001,7 +1080,7 @@ yy40:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line386: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line386: unused keys left after %u keys\n", i);
}
}
@@ -1027,7 +1106,7 @@ end:
#define YYFILL(n) { break; }
static int action_line393
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -1035,10 +1114,12 @@ static int action_line393
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -1048,17 +1129,17 @@ static int action_line393
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line393: at position %ld (iteration %u):\n"
+ , "error: lex_line393: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -1068,6 +1149,13 @@ static int action_line393
}
}
+static int check_key_count_line393(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line393: not enough keys\n");
+ return 1;
+}
+
int lex_line393()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -1101,7 +1189,7 @@ int lex_line393()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line393.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -1114,7 +1202,7 @@ int lex_line393()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -1124,11 +1212,13 @@ int lex_line393()
if (yych <= 0x000003FF) goto yy46;
yy44:
YYSKIP ();
- status = action_line393(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line393(keys_count, i, 3)
+ || action_line393(&i, keys, input, token, &cursor, 254);
continue;
yy46:
YYSKIP ();
- status = action_line393(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line393(keys_count, i, 3)
+ || action_line393(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -1140,7 +1230,7 @@ yy46:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line393: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line393: unused keys left after %u keys\n", i);
}
}
@@ -1166,7 +1256,7 @@ end:
#define YYFILL(n) { break; }
static int action_line400
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -1174,10 +1264,12 @@ static int action_line400
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -1187,17 +1279,17 @@ static int action_line400
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line400: at position %ld (iteration %u):\n"
+ , "error: lex_line400: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -1207,6 +1299,13 @@ static int action_line400
}
}
+static int check_key_count_line400(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line400: not enough keys\n");
+ return 1;
+}
+
int lex_line400()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -1240,7 +1339,7 @@ int lex_line400()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line400.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -1253,7 +1352,7 @@ int lex_line400()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -1263,11 +1362,13 @@ int lex_line400()
if (yych <= 0x000004FF) goto yy52;
yy50:
YYSKIP ();
- status = action_line400(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line400(keys_count, i, 3)
+ || action_line400(&i, keys, input, token, &cursor, 254);
continue;
yy52:
YYSKIP ();
- status = action_line400(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line400(keys_count, i, 3)
+ || action_line400(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -1279,7 +1380,7 @@ yy52:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line400: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line400: unused keys left after %u keys\n", i);
}
}
@@ -1305,7 +1406,7 @@ end:
#define YYFILL(n) { break; }
static int action_line407
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -1313,10 +1414,12 @@ static int action_line407
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -1326,17 +1429,17 @@ static int action_line407
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line407: at position %ld (iteration %u):\n"
+ , "error: lex_line407: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -1346,6 +1449,13 @@ static int action_line407
}
}
+static int check_key_count_line407(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line407: not enough keys\n");
+ return 1;
+}
+
int lex_line407()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -1379,7 +1489,7 @@ int lex_line407()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line407.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -1392,7 +1502,7 @@ int lex_line407()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -1402,11 +1512,13 @@ int lex_line407()
if (yych <= 0x0000052F) goto yy58;
yy56:
YYSKIP ();
- status = action_line407(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line407(keys_count, i, 3)
+ || action_line407(&i, keys, input, token, &cursor, 254);
continue;
yy58:
YYSKIP ();
- status = action_line407(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line407(keys_count, i, 3)
+ || action_line407(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -1418,7 +1530,7 @@ yy58:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line407: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line407: unused keys left after %u keys\n", i);
}
}
@@ -1444,7 +1556,7 @@ end:
#define YYFILL(n) { break; }
static int action_line414
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -1452,10 +1564,12 @@ static int action_line414
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -1465,17 +1579,17 @@ static int action_line414
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line414: at position %ld (iteration %u):\n"
+ , "error: lex_line414: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -1485,6 +1599,13 @@ static int action_line414
}
}
+static int check_key_count_line414(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line414: not enough keys\n");
+ return 1;
+}
+
int lex_line414()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -1518,7 +1639,7 @@ int lex_line414()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line414.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -1531,7 +1652,7 @@ int lex_line414()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -1541,11 +1662,13 @@ int lex_line414()
if (yych <= 0x0000058F) goto yy64;
yy62:
YYSKIP ();
- status = action_line414(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line414(keys_count, i, 3)
+ || action_line414(&i, keys, input, token, &cursor, 254);
continue;
yy64:
YYSKIP ();
- status = action_line414(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line414(keys_count, i, 3)
+ || action_line414(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -1557,7 +1680,7 @@ yy64:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line414: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line414: unused keys left after %u keys\n", i);
}
}
@@ -1583,7 +1706,7 @@ end:
#define YYFILL(n) { break; }
static int action_line421
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -1591,10 +1714,12 @@ static int action_line421
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -1604,17 +1729,17 @@ static int action_line421
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line421: at position %ld (iteration %u):\n"
+ , "error: lex_line421: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -1624,6 +1749,13 @@ static int action_line421
}
}
+static int check_key_count_line421(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line421: not enough keys\n");
+ return 1;
+}
+
int lex_line421()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -1657,7 +1789,7 @@ int lex_line421()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line421.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -1670,7 +1802,7 @@ int lex_line421()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -1680,11 +1812,13 @@ int lex_line421()
if (yych <= 0x000005FF) goto yy70;
yy68:
YYSKIP ();
- status = action_line421(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line421(keys_count, i, 3)
+ || action_line421(&i, keys, input, token, &cursor, 254);
continue;
yy70:
YYSKIP ();
- status = action_line421(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line421(keys_count, i, 3)
+ || action_line421(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -1696,7 +1830,7 @@ yy70:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line421: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line421: unused keys left after %u keys\n", i);
}
}
@@ -1722,7 +1856,7 @@ end:
#define YYFILL(n) { break; }
static int action_line428
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -1730,10 +1864,12 @@ static int action_line428
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -1743,17 +1879,17 @@ static int action_line428
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line428: at position %ld (iteration %u):\n"
+ , "error: lex_line428: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -1763,6 +1899,13 @@ static int action_line428
}
}
+static int check_key_count_line428(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line428: not enough keys\n");
+ return 1;
+}
+
int lex_line428()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -1796,7 +1939,7 @@ int lex_line428()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line428.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -1809,7 +1952,7 @@ int lex_line428()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -1819,11 +1962,13 @@ int lex_line428()
if (yych <= 0x000006FF) goto yy76;
yy74:
YYSKIP ();
- status = action_line428(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line428(keys_count, i, 3)
+ || action_line428(&i, keys, input, token, &cursor, 254);
continue;
yy76:
YYSKIP ();
- status = action_line428(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line428(keys_count, i, 3)
+ || action_line428(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -1835,7 +1980,7 @@ yy76:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line428: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line428: unused keys left after %u keys\n", i);
}
}
@@ -1861,7 +2006,7 @@ end:
#define YYFILL(n) { break; }
static int action_line435
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -1869,10 +2014,12 @@ static int action_line435
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -1882,17 +2029,17 @@ static int action_line435
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line435: at position %ld (iteration %u):\n"
+ , "error: lex_line435: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -1902,6 +2049,13 @@ static int action_line435
}
}
+static int check_key_count_line435(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line435: not enough keys\n");
+ return 1;
+}
+
int lex_line435()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -1935,7 +2089,7 @@ int lex_line435()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line435.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -1948,7 +2102,7 @@ int lex_line435()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -1958,11 +2112,13 @@ int lex_line435()
if (yych <= 0x0000074F) goto yy82;
yy80:
YYSKIP ();
- status = action_line435(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line435(keys_count, i, 3)
+ || action_line435(&i, keys, input, token, &cursor, 254);
continue;
yy82:
YYSKIP ();
- status = action_line435(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line435(keys_count, i, 3)
+ || action_line435(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -1974,7 +2130,7 @@ yy82:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line435: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line435: unused keys left after %u keys\n", i);
}
}
@@ -2000,7 +2156,7 @@ end:
#define YYFILL(n) { break; }
static int action_line442
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -2008,10 +2164,12 @@ static int action_line442
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -2021,17 +2179,17 @@ static int action_line442
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line442: at position %ld (iteration %u):\n"
+ , "error: lex_line442: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -2041,6 +2199,13 @@ static int action_line442
}
}
+static int check_key_count_line442(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line442: not enough keys\n");
+ return 1;
+}
+
int lex_line442()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -2074,7 +2239,7 @@ int lex_line442()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line442.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -2087,7 +2252,7 @@ int lex_line442()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -2097,11 +2262,13 @@ int lex_line442()
if (yych <= 0x000007BF) goto yy88;
yy86:
YYSKIP ();
- status = action_line442(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line442(keys_count, i, 3)
+ || action_line442(&i, keys, input, token, &cursor, 254);
continue;
yy88:
YYSKIP ();
- status = action_line442(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line442(keys_count, i, 3)
+ || action_line442(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -2113,7 +2280,7 @@ yy88:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line442: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line442: unused keys left after %u keys\n", i);
}
}
@@ -2139,7 +2306,7 @@ end:
#define YYFILL(n) { break; }
static int action_line449
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -2147,10 +2314,12 @@ static int action_line449
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -2160,17 +2329,17 @@ static int action_line449
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line449: at position %ld (iteration %u):\n"
+ , "error: lex_line449: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -2180,6 +2349,13 @@ static int action_line449
}
}
+static int check_key_count_line449(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line449: not enough keys\n");
+ return 1;
+}
+
int lex_line449()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -2213,7 +2389,7 @@ int lex_line449()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line449.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -2226,7 +2402,7 @@ int lex_line449()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -2236,11 +2412,13 @@ int lex_line449()
if (yych <= 0x0000097F) goto yy94;
yy92:
YYSKIP ();
- status = action_line449(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line449(keys_count, i, 3)
+ || action_line449(&i, keys, input, token, &cursor, 254);
continue;
yy94:
YYSKIP ();
- status = action_line449(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line449(keys_count, i, 3)
+ || action_line449(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -2252,7 +2430,7 @@ yy94:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line449: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line449: unused keys left after %u keys\n", i);
}
}
@@ -2278,7 +2456,7 @@ end:
#define YYFILL(n) { break; }
static int action_line456
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -2286,10 +2464,12 @@ static int action_line456
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -2299,17 +2479,17 @@ static int action_line456
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line456: at position %ld (iteration %u):\n"
+ , "error: lex_line456: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -2319,6 +2499,13 @@ static int action_line456
}
}
+static int check_key_count_line456(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line456: not enough keys\n");
+ return 1;
+}
+
int lex_line456()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -2352,7 +2539,7 @@ int lex_line456()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line456.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -2365,7 +2552,7 @@ int lex_line456()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -2375,11 +2562,13 @@ int lex_line456()
if (yych <= 0x000009FF) goto yy100;
yy98:
YYSKIP ();
- status = action_line456(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line456(keys_count, i, 3)
+ || action_line456(&i, keys, input, token, &cursor, 254);
continue;
yy100:
YYSKIP ();
- status = action_line456(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line456(keys_count, i, 3)
+ || action_line456(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -2391,7 +2580,7 @@ yy100:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line456: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line456: unused keys left after %u keys\n", i);
}
}
@@ -2417,7 +2606,7 @@ end:
#define YYFILL(n) { break; }
static int action_line463
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -2425,10 +2614,12 @@ static int action_line463
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -2438,17 +2629,17 @@ static int action_line463
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line463: at position %ld (iteration %u):\n"
+ , "error: lex_line463: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -2458,6 +2649,13 @@ static int action_line463
}
}
+static int check_key_count_line463(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line463: not enough keys\n");
+ return 1;
+}
+
int lex_line463()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -2491,7 +2689,7 @@ int lex_line463()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line463.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -2504,7 +2702,7 @@ int lex_line463()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -2514,11 +2712,13 @@ int lex_line463()
if (yych <= 0x00000A7F) goto yy106;
yy104:
YYSKIP ();
- status = action_line463(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line463(keys_count, i, 3)
+ || action_line463(&i, keys, input, token, &cursor, 254);
continue;
yy106:
YYSKIP ();
- status = action_line463(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line463(keys_count, i, 3)
+ || action_line463(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -2530,7 +2730,7 @@ yy106:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line463: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line463: unused keys left after %u keys\n", i);
}
}
@@ -2556,7 +2756,7 @@ end:
#define YYFILL(n) { break; }
static int action_line470
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -2564,10 +2764,12 @@ static int action_line470
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -2577,17 +2779,17 @@ static int action_line470
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line470: at position %ld (iteration %u):\n"
+ , "error: lex_line470: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -2597,6 +2799,13 @@ static int action_line470
}
}
+static int check_key_count_line470(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line470: not enough keys\n");
+ return 1;
+}
+
int lex_line470()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -2630,7 +2839,7 @@ int lex_line470()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line470.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -2643,7 +2852,7 @@ int lex_line470()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -2653,11 +2862,13 @@ int lex_line470()
if (yych <= 0x00000AFF) goto yy112;
yy110:
YYSKIP ();
- status = action_line470(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line470(keys_count, i, 3)
+ || action_line470(&i, keys, input, token, &cursor, 254);
continue;
yy112:
YYSKIP ();
- status = action_line470(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line470(keys_count, i, 3)
+ || action_line470(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -2669,7 +2880,7 @@ yy112:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line470: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line470: unused keys left after %u keys\n", i);
}
}
@@ -2695,7 +2906,7 @@ end:
#define YYFILL(n) { break; }
static int action_line477
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -2703,10 +2914,12 @@ static int action_line477
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -2716,17 +2929,17 @@ static int action_line477
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line477: at position %ld (iteration %u):\n"
+ , "error: lex_line477: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -2736,6 +2949,13 @@ static int action_line477
}
}
+static int check_key_count_line477(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line477: not enough keys\n");
+ return 1;
+}
+
int lex_line477()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -2769,7 +2989,7 @@ int lex_line477()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line477.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -2782,7 +3002,7 @@ int lex_line477()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -2792,11 +3012,13 @@ int lex_line477()
if (yych <= 0x00000B7F) goto yy118;
yy116:
YYSKIP ();
- status = action_line477(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line477(keys_count, i, 3)
+ || action_line477(&i, keys, input, token, &cursor, 254);
continue;
yy118:
YYSKIP ();
- status = action_line477(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line477(keys_count, i, 3)
+ || action_line477(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -2808,7 +3030,7 @@ yy118:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line477: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line477: unused keys left after %u keys\n", i);
}
}
@@ -2834,7 +3056,7 @@ end:
#define YYFILL(n) { break; }
static int action_line484
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -2842,10 +3064,12 @@ static int action_line484
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -2855,17 +3079,17 @@ static int action_line484
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line484: at position %ld (iteration %u):\n"
+ , "error: lex_line484: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -2875,6 +3099,13 @@ static int action_line484
}
}
+static int check_key_count_line484(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line484: not enough keys\n");
+ return 1;
+}
+
int lex_line484()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -2908,7 +3139,7 @@ int lex_line484()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line484.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -2921,7 +3152,7 @@ int lex_line484()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -2931,11 +3162,13 @@ int lex_line484()
if (yych <= 0x00000BFF) goto yy124;
yy122:
YYSKIP ();
- status = action_line484(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line484(keys_count, i, 3)
+ || action_line484(&i, keys, input, token, &cursor, 254);
continue;
yy124:
YYSKIP ();
- status = action_line484(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line484(keys_count, i, 3)
+ || action_line484(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -2947,7 +3180,7 @@ yy124:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line484: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line484: unused keys left after %u keys\n", i);
}
}
@@ -2973,7 +3206,7 @@ end:
#define YYFILL(n) { break; }
static int action_line491
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -2981,10 +3214,12 @@ static int action_line491
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -2994,17 +3229,17 @@ static int action_line491
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line491: at position %ld (iteration %u):\n"
+ , "error: lex_line491: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -3014,6 +3249,13 @@ static int action_line491
}
}
+static int check_key_count_line491(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line491: not enough keys\n");
+ return 1;
+}
+
int lex_line491()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -3047,7 +3289,7 @@ int lex_line491()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line491.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -3060,7 +3302,7 @@ int lex_line491()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -3070,11 +3312,13 @@ int lex_line491()
if (yych <= 0x00000C7F) goto yy130;
yy128:
YYSKIP ();
- status = action_line491(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line491(keys_count, i, 3)
+ || action_line491(&i, keys, input, token, &cursor, 254);
continue;
yy130:
YYSKIP ();
- status = action_line491(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line491(keys_count, i, 3)
+ || action_line491(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -3086,7 +3330,7 @@ yy130:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line491: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line491: unused keys left after %u keys\n", i);
}
}
@@ -3112,7 +3356,7 @@ end:
#define YYFILL(n) { break; }
static int action_line498
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -3120,10 +3364,12 @@ static int action_line498
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -3133,17 +3379,17 @@ static int action_line498
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line498: at position %ld (iteration %u):\n"
+ , "error: lex_line498: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -3153,6 +3399,13 @@ static int action_line498
}
}
+static int check_key_count_line498(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line498: not enough keys\n");
+ return 1;
+}
+
int lex_line498()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -3186,7 +3439,7 @@ int lex_line498()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line498.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -3199,7 +3452,7 @@ int lex_line498()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -3209,11 +3462,13 @@ int lex_line498()
if (yych <= 0x00000CFF) goto yy136;
yy134:
YYSKIP ();
- status = action_line498(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line498(keys_count, i, 3)
+ || action_line498(&i, keys, input, token, &cursor, 254);
continue;
yy136:
YYSKIP ();
- status = action_line498(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line498(keys_count, i, 3)
+ || action_line498(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -3225,7 +3480,7 @@ yy136:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line498: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line498: unused keys left after %u keys\n", i);
}
}
@@ -3251,7 +3506,7 @@ end:
#define YYFILL(n) { break; }
static int action_line505
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -3259,10 +3514,12 @@ static int action_line505
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -3272,17 +3529,17 @@ static int action_line505
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line505: at position %ld (iteration %u):\n"
+ , "error: lex_line505: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -3292,6 +3549,13 @@ static int action_line505
}
}
+static int check_key_count_line505(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line505: not enough keys\n");
+ return 1;
+}
+
int lex_line505()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -3325,7 +3589,7 @@ int lex_line505()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line505.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -3338,7 +3602,7 @@ int lex_line505()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -3348,11 +3612,13 @@ int lex_line505()
if (yych <= 0x00000D7F) goto yy142;
yy140:
YYSKIP ();
- status = action_line505(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line505(keys_count, i, 3)
+ || action_line505(&i, keys, input, token, &cursor, 254);
continue;
yy142:
YYSKIP ();
- status = action_line505(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line505(keys_count, i, 3)
+ || action_line505(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -3364,7 +3630,7 @@ yy142:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line505: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line505: unused keys left after %u keys\n", i);
}
}
@@ -3390,7 +3656,7 @@ end:
#define YYFILL(n) { break; }
static int action_line512
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -3398,10 +3664,12 @@ static int action_line512
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -3411,17 +3679,17 @@ static int action_line512
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line512: at position %ld (iteration %u):\n"
+ , "error: lex_line512: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -3431,6 +3699,13 @@ static int action_line512
}
}
+static int check_key_count_line512(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line512: not enough keys\n");
+ return 1;
+}
+
int lex_line512()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -3464,7 +3739,7 @@ int lex_line512()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line512.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -3477,7 +3752,7 @@ int lex_line512()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -3487,11 +3762,13 @@ int lex_line512()
if (yych <= 0x00000DFF) goto yy148;
yy146:
YYSKIP ();
- status = action_line512(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line512(keys_count, i, 3)
+ || action_line512(&i, keys, input, token, &cursor, 254);
continue;
yy148:
YYSKIP ();
- status = action_line512(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line512(keys_count, i, 3)
+ || action_line512(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -3503,7 +3780,7 @@ yy148:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line512: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line512: unused keys left after %u keys\n", i);
}
}
@@ -3529,7 +3806,7 @@ end:
#define YYFILL(n) { break; }
static int action_line519
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -3537,10 +3814,12 @@ static int action_line519
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -3550,17 +3829,17 @@ static int action_line519
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line519: at position %ld (iteration %u):\n"
+ , "error: lex_line519: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -3570,6 +3849,13 @@ static int action_line519
}
}
+static int check_key_count_line519(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line519: not enough keys\n");
+ return 1;
+}
+
int lex_line519()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -3603,7 +3889,7 @@ int lex_line519()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line519.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -3616,7 +3902,7 @@ int lex_line519()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -3626,11 +3912,13 @@ int lex_line519()
if (yych <= 0x00000E7F) goto yy154;
yy152:
YYSKIP ();
- status = action_line519(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line519(keys_count, i, 3)
+ || action_line519(&i, keys, input, token, &cursor, 254);
continue;
yy154:
YYSKIP ();
- status = action_line519(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line519(keys_count, i, 3)
+ || action_line519(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -3642,7 +3930,7 @@ yy154:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line519: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line519: unused keys left after %u keys\n", i);
}
}
@@ -3668,7 +3956,7 @@ end:
#define YYFILL(n) { break; }
static int action_line526
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -3676,10 +3964,12 @@ static int action_line526
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -3689,17 +3979,17 @@ static int action_line526
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line526: at position %ld (iteration %u):\n"
+ , "error: lex_line526: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -3709,6 +3999,13 @@ static int action_line526
}
}
+static int check_key_count_line526(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line526: not enough keys\n");
+ return 1;
+}
+
int lex_line526()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -3742,7 +4039,7 @@ int lex_line526()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line526.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -3755,7 +4052,7 @@ int lex_line526()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -3765,11 +4062,13 @@ int lex_line526()
if (yych <= 0x00000EFF) goto yy160;
yy158:
YYSKIP ();
- status = action_line526(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line526(keys_count, i, 3)
+ || action_line526(&i, keys, input, token, &cursor, 254);
continue;
yy160:
YYSKIP ();
- status = action_line526(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line526(keys_count, i, 3)
+ || action_line526(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -3781,7 +4080,7 @@ yy160:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line526: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line526: unused keys left after %u keys\n", i);
}
}
@@ -3807,7 +4106,7 @@ end:
#define YYFILL(n) { break; }
static int action_line533
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -3815,10 +4114,12 @@ static int action_line533
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -3828,17 +4129,17 @@ static int action_line533
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line533: at position %ld (iteration %u):\n"
+ , "error: lex_line533: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -3848,6 +4149,13 @@ static int action_line533
}
}
+static int check_key_count_line533(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line533: not enough keys\n");
+ return 1;
+}
+
int lex_line533()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -3881,7 +4189,7 @@ int lex_line533()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line533.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -3894,7 +4202,7 @@ int lex_line533()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -3904,11 +4212,13 @@ int lex_line533()
if (yych <= 0x00000FFF) goto yy166;
yy164:
YYSKIP ();
- status = action_line533(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line533(keys_count, i, 3)
+ || action_line533(&i, keys, input, token, &cursor, 254);
continue;
yy166:
YYSKIP ();
- status = action_line533(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line533(keys_count, i, 3)
+ || action_line533(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -3920,7 +4230,7 @@ yy166:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line533: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line533: unused keys left after %u keys\n", i);
}
}
@@ -3946,7 +4256,7 @@ end:
#define YYFILL(n) { break; }
static int action_line540
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -3954,10 +4264,12 @@ static int action_line540
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -3967,17 +4279,17 @@ static int action_line540
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line540: at position %ld (iteration %u):\n"
+ , "error: lex_line540: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -3987,6 +4299,13 @@ static int action_line540
}
}
+static int check_key_count_line540(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line540: not enough keys\n");
+ return 1;
+}
+
int lex_line540()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -4020,7 +4339,7 @@ int lex_line540()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line540.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -4033,7 +4352,7 @@ int lex_line540()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -4043,11 +4362,13 @@ int lex_line540()
if (yych <= 0x0000109F) goto yy172;
yy170:
YYSKIP ();
- status = action_line540(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line540(keys_count, i, 3)
+ || action_line540(&i, keys, input, token, &cursor, 254);
continue;
yy172:
YYSKIP ();
- status = action_line540(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line540(keys_count, i, 3)
+ || action_line540(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -4059,7 +4380,7 @@ yy172:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line540: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line540: unused keys left after %u keys\n", i);
}
}
@@ -4085,7 +4406,7 @@ end:
#define YYFILL(n) { break; }
static int action_line547
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -4093,10 +4414,12 @@ static int action_line547
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -4106,17 +4429,17 @@ static int action_line547
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line547: at position %ld (iteration %u):\n"
+ , "error: lex_line547: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -4126,6 +4449,13 @@ static int action_line547
}
}
+static int check_key_count_line547(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line547: not enough keys\n");
+ return 1;
+}
+
int lex_line547()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -4159,7 +4489,7 @@ int lex_line547()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line547.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -4172,7 +4502,7 @@ int lex_line547()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -4182,11 +4512,13 @@ int lex_line547()
if (yych <= 0x000010FF) goto yy178;
yy176:
YYSKIP ();
- status = action_line547(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line547(keys_count, i, 3)
+ || action_line547(&i, keys, input, token, &cursor, 254);
continue;
yy178:
YYSKIP ();
- status = action_line547(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line547(keys_count, i, 3)
+ || action_line547(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -4198,7 +4530,7 @@ yy178:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line547: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line547: unused keys left after %u keys\n", i);
}
}
@@ -4224,7 +4556,7 @@ end:
#define YYFILL(n) { break; }
static int action_line554
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -4232,10 +4564,12 @@ static int action_line554
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -4245,17 +4579,17 @@ static int action_line554
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line554: at position %ld (iteration %u):\n"
+ , "error: lex_line554: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -4265,6 +4599,13 @@ static int action_line554
}
}
+static int check_key_count_line554(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line554: not enough keys\n");
+ return 1;
+}
+
int lex_line554()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -4298,7 +4639,7 @@ int lex_line554()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line554.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -4311,7 +4652,7 @@ int lex_line554()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -4321,11 +4662,13 @@ int lex_line554()
if (yych <= 0x000011FF) goto yy184;
yy182:
YYSKIP ();
- status = action_line554(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line554(keys_count, i, 3)
+ || action_line554(&i, keys, input, token, &cursor, 254);
continue;
yy184:
YYSKIP ();
- status = action_line554(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line554(keys_count, i, 3)
+ || action_line554(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -4337,7 +4680,7 @@ yy184:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line554: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line554: unused keys left after %u keys\n", i);
}
}
@@ -4363,7 +4706,7 @@ end:
#define YYFILL(n) { break; }
static int action_line561
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -4371,10 +4714,12 @@ static int action_line561
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -4384,17 +4729,17 @@ static int action_line561
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line561: at position %ld (iteration %u):\n"
+ , "error: lex_line561: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -4404,6 +4749,13 @@ static int action_line561
}
}
+static int check_key_count_line561(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line561: not enough keys\n");
+ return 1;
+}
+
int lex_line561()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -4437,7 +4789,7 @@ int lex_line561()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line561.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -4450,7 +4802,7 @@ int lex_line561()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -4460,11 +4812,13 @@ int lex_line561()
if (yych <= 0x0000137F) goto yy190;
yy188:
YYSKIP ();
- status = action_line561(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line561(keys_count, i, 3)
+ || action_line561(&i, keys, input, token, &cursor, 254);
continue;
yy190:
YYSKIP ();
- status = action_line561(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line561(keys_count, i, 3)
+ || action_line561(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -4476,7 +4830,7 @@ yy190:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line561: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line561: unused keys left after %u keys\n", i);
}
}
@@ -4502,7 +4856,7 @@ end:
#define YYFILL(n) { break; }
static int action_line568
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -4510,10 +4864,12 @@ static int action_line568
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -4523,17 +4879,17 @@ static int action_line568
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line568: at position %ld (iteration %u):\n"
+ , "error: lex_line568: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -4543,6 +4899,13 @@ static int action_line568
}
}
+static int check_key_count_line568(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line568: not enough keys\n");
+ return 1;
+}
+
int lex_line568()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -4576,7 +4939,7 @@ int lex_line568()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line568.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -4589,7 +4952,7 @@ int lex_line568()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -4599,11 +4962,13 @@ int lex_line568()
if (yych <= 0x000013FF) goto yy196;
yy194:
YYSKIP ();
- status = action_line568(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line568(keys_count, i, 3)
+ || action_line568(&i, keys, input, token, &cursor, 254);
continue;
yy196:
YYSKIP ();
- status = action_line568(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line568(keys_count, i, 3)
+ || action_line568(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -4615,7 +4980,7 @@ yy196:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line568: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line568: unused keys left after %u keys\n", i);
}
}
@@ -4641,7 +5006,7 @@ end:
#define YYFILL(n) { break; }
static int action_line575
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -4649,10 +5014,12 @@ static int action_line575
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -4662,17 +5029,17 @@ static int action_line575
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line575: at position %ld (iteration %u):\n"
+ , "error: lex_line575: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -4682,6 +5049,13 @@ static int action_line575
}
}
+static int check_key_count_line575(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line575: not enough keys\n");
+ return 1;
+}
+
int lex_line575()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -4715,7 +5089,7 @@ int lex_line575()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line575.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -4728,7 +5102,7 @@ int lex_line575()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -4738,11 +5112,13 @@ int lex_line575()
if (yych <= 0x0000167F) goto yy202;
yy200:
YYSKIP ();
- status = action_line575(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line575(keys_count, i, 3)
+ || action_line575(&i, keys, input, token, &cursor, 254);
continue;
yy202:
YYSKIP ();
- status = action_line575(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line575(keys_count, i, 3)
+ || action_line575(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -4754,7 +5130,7 @@ yy202:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line575: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line575: unused keys left after %u keys\n", i);
}
}
@@ -4780,7 +5156,7 @@ end:
#define YYFILL(n) { break; }
static int action_line582
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -4788,10 +5164,12 @@ static int action_line582
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -4801,17 +5179,17 @@ static int action_line582
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line582: at position %ld (iteration %u):\n"
+ , "error: lex_line582: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -4821,6 +5199,13 @@ static int action_line582
}
}
+static int check_key_count_line582(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line582: not enough keys\n");
+ return 1;
+}
+
int lex_line582()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -4854,7 +5239,7 @@ int lex_line582()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line582.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -4867,7 +5252,7 @@ int lex_line582()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -4877,11 +5262,13 @@ int lex_line582()
if (yych <= 0x0000169F) goto yy208;
yy206:
YYSKIP ();
- status = action_line582(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line582(keys_count, i, 3)
+ || action_line582(&i, keys, input, token, &cursor, 254);
continue;
yy208:
YYSKIP ();
- status = action_line582(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line582(keys_count, i, 3)
+ || action_line582(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -4893,7 +5280,7 @@ yy208:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line582: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line582: unused keys left after %u keys\n", i);
}
}
@@ -4919,7 +5306,7 @@ end:
#define YYFILL(n) { break; }
static int action_line589
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -4927,10 +5314,12 @@ static int action_line589
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -4940,17 +5329,17 @@ static int action_line589
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line589: at position %ld (iteration %u):\n"
+ , "error: lex_line589: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -4960,6 +5349,13 @@ static int action_line589
}
}
+static int check_key_count_line589(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line589: not enough keys\n");
+ return 1;
+}
+
int lex_line589()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -4993,7 +5389,7 @@ int lex_line589()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line589.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -5006,7 +5402,7 @@ int lex_line589()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -5016,11 +5412,13 @@ int lex_line589()
if (yych <= 0x000016FF) goto yy214;
yy212:
YYSKIP ();
- status = action_line589(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line589(keys_count, i, 3)
+ || action_line589(&i, keys, input, token, &cursor, 254);
continue;
yy214:
YYSKIP ();
- status = action_line589(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line589(keys_count, i, 3)
+ || action_line589(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -5032,7 +5430,7 @@ yy214:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line589: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line589: unused keys left after %u keys\n", i);
}
}
@@ -5058,7 +5456,7 @@ end:
#define YYFILL(n) { break; }
static int action_line596
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -5066,10 +5464,12 @@ static int action_line596
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -5079,17 +5479,17 @@ static int action_line596
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line596: at position %ld (iteration %u):\n"
+ , "error: lex_line596: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -5099,6 +5499,13 @@ static int action_line596
}
}
+static int check_key_count_line596(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line596: not enough keys\n");
+ return 1;
+}
+
int lex_line596()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -5132,7 +5539,7 @@ int lex_line596()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line596.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -5145,7 +5552,7 @@ int lex_line596()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -5155,11 +5562,13 @@ int lex_line596()
if (yych <= 0x0000171F) goto yy220;
yy218:
YYSKIP ();
- status = action_line596(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line596(keys_count, i, 3)
+ || action_line596(&i, keys, input, token, &cursor, 254);
continue;
yy220:
YYSKIP ();
- status = action_line596(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line596(keys_count, i, 3)
+ || action_line596(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -5171,7 +5580,7 @@ yy220:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line596: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line596: unused keys left after %u keys\n", i);
}
}
@@ -5197,7 +5606,7 @@ end:
#define YYFILL(n) { break; }
static int action_line603
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -5205,10 +5614,12 @@ static int action_line603
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -5218,17 +5629,17 @@ static int action_line603
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line603: at position %ld (iteration %u):\n"
+ , "error: lex_line603: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -5238,6 +5649,13 @@ static int action_line603
}
}
+static int check_key_count_line603(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line603: not enough keys\n");
+ return 1;
+}
+
int lex_line603()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -5271,7 +5689,7 @@ int lex_line603()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line603.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -5284,7 +5702,7 @@ int lex_line603()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -5294,11 +5712,13 @@ int lex_line603()
if (yych <= 0x0000173F) goto yy226;
yy224:
YYSKIP ();
- status = action_line603(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line603(keys_count, i, 3)
+ || action_line603(&i, keys, input, token, &cursor, 254);
continue;
yy226:
YYSKIP ();
- status = action_line603(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line603(keys_count, i, 3)
+ || action_line603(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -5310,7 +5730,7 @@ yy226:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line603: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line603: unused keys left after %u keys\n", i);
}
}
@@ -5336,7 +5756,7 @@ end:
#define YYFILL(n) { break; }
static int action_line610
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -5344,10 +5764,12 @@ static int action_line610
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -5357,17 +5779,17 @@ static int action_line610
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line610: at position %ld (iteration %u):\n"
+ , "error: lex_line610: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -5377,6 +5799,13 @@ static int action_line610
}
}
+static int check_key_count_line610(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line610: not enough keys\n");
+ return 1;
+}
+
int lex_line610()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -5410,7 +5839,7 @@ int lex_line610()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line610.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -5423,7 +5852,7 @@ int lex_line610()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -5433,11 +5862,13 @@ int lex_line610()
if (yych <= 0x0000175F) goto yy232;
yy230:
YYSKIP ();
- status = action_line610(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line610(keys_count, i, 3)
+ || action_line610(&i, keys, input, token, &cursor, 254);
continue;
yy232:
YYSKIP ();
- status = action_line610(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line610(keys_count, i, 3)
+ || action_line610(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -5449,7 +5880,7 @@ yy232:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line610: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line610: unused keys left after %u keys\n", i);
}
}
@@ -5475,7 +5906,7 @@ end:
#define YYFILL(n) { break; }
static int action_line617
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -5483,10 +5914,12 @@ static int action_line617
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -5496,17 +5929,17 @@ static int action_line617
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line617: at position %ld (iteration %u):\n"
+ , "error: lex_line617: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -5516,6 +5949,13 @@ static int action_line617
}
}
+static int check_key_count_line617(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line617: not enough keys\n");
+ return 1;
+}
+
int lex_line617()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -5549,7 +5989,7 @@ int lex_line617()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line617.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -5562,7 +6002,7 @@ int lex_line617()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -5572,11 +6012,13 @@ int lex_line617()
if (yych <= 0x0000177F) goto yy238;
yy236:
YYSKIP ();
- status = action_line617(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line617(keys_count, i, 3)
+ || action_line617(&i, keys, input, token, &cursor, 254);
continue;
yy238:
YYSKIP ();
- status = action_line617(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line617(keys_count, i, 3)
+ || action_line617(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -5588,7 +6030,7 @@ yy238:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line617: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line617: unused keys left after %u keys\n", i);
}
}
@@ -5614,7 +6056,7 @@ end:
#define YYFILL(n) { break; }
static int action_line624
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -5622,10 +6064,12 @@ static int action_line624
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -5635,17 +6079,17 @@ static int action_line624
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line624: at position %ld (iteration %u):\n"
+ , "error: lex_line624: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -5655,6 +6099,13 @@ static int action_line624
}
}
+static int check_key_count_line624(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line624: not enough keys\n");
+ return 1;
+}
+
int lex_line624()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -5688,7 +6139,7 @@ int lex_line624()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line624.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -5701,7 +6152,7 @@ int lex_line624()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -5711,11 +6162,13 @@ int lex_line624()
if (yych <= 0x000017FF) goto yy244;
yy242:
YYSKIP ();
- status = action_line624(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line624(keys_count, i, 3)
+ || action_line624(&i, keys, input, token, &cursor, 254);
continue;
yy244:
YYSKIP ();
- status = action_line624(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line624(keys_count, i, 3)
+ || action_line624(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -5727,7 +6180,7 @@ yy244:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line624: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line624: unused keys left after %u keys\n", i);
}
}
@@ -5753,7 +6206,7 @@ end:
#define YYFILL(n) { break; }
static int action_line631
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -5761,10 +6214,12 @@ static int action_line631
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -5774,17 +6229,17 @@ static int action_line631
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line631: at position %ld (iteration %u):\n"
+ , "error: lex_line631: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -5794,6 +6249,13 @@ static int action_line631
}
}
+static int check_key_count_line631(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line631: not enough keys\n");
+ return 1;
+}
+
int lex_line631()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -5827,7 +6289,7 @@ int lex_line631()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line631.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -5840,7 +6302,7 @@ int lex_line631()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -5850,11 +6312,13 @@ int lex_line631()
if (yych <= 0x000018AF) goto yy250;
yy248:
YYSKIP ();
- status = action_line631(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line631(keys_count, i, 3)
+ || action_line631(&i, keys, input, token, &cursor, 254);
continue;
yy250:
YYSKIP ();
- status = action_line631(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line631(keys_count, i, 3)
+ || action_line631(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -5866,7 +6330,7 @@ yy250:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line631: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line631: unused keys left after %u keys\n", i);
}
}
@@ -5892,7 +6356,7 @@ end:
#define YYFILL(n) { break; }
static int action_line638
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -5900,10 +6364,12 @@ static int action_line638
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -5913,17 +6379,17 @@ static int action_line638
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line638: at position %ld (iteration %u):\n"
+ , "error: lex_line638: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -5933,6 +6399,13 @@ static int action_line638
}
}
+static int check_key_count_line638(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line638: not enough keys\n");
+ return 1;
+}
+
int lex_line638()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -5966,7 +6439,7 @@ int lex_line638()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line638.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -5979,7 +6452,7 @@ int lex_line638()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -5989,11 +6462,13 @@ int lex_line638()
if (yych <= 0x0000194F) goto yy256;
yy254:
YYSKIP ();
- status = action_line638(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line638(keys_count, i, 3)
+ || action_line638(&i, keys, input, token, &cursor, 254);
continue;
yy256:
YYSKIP ();
- status = action_line638(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line638(keys_count, i, 3)
+ || action_line638(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -6005,7 +6480,7 @@ yy256:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line638: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line638: unused keys left after %u keys\n", i);
}
}
@@ -6031,7 +6506,7 @@ end:
#define YYFILL(n) { break; }
static int action_line645
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -6039,10 +6514,12 @@ static int action_line645
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -6052,17 +6529,17 @@ static int action_line645
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line645: at position %ld (iteration %u):\n"
+ , "error: lex_line645: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -6072,6 +6549,13 @@ static int action_line645
}
}
+static int check_key_count_line645(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line645: not enough keys\n");
+ return 1;
+}
+
int lex_line645()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -6105,7 +6589,7 @@ int lex_line645()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line645.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -6118,7 +6602,7 @@ int lex_line645()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -6128,11 +6612,13 @@ int lex_line645()
if (yych <= 0x0000197F) goto yy262;
yy260:
YYSKIP ();
- status = action_line645(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line645(keys_count, i, 3)
+ || action_line645(&i, keys, input, token, &cursor, 254);
continue;
yy262:
YYSKIP ();
- status = action_line645(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line645(keys_count, i, 3)
+ || action_line645(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -6144,7 +6630,7 @@ yy262:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line645: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line645: unused keys left after %u keys\n", i);
}
}
@@ -6170,7 +6656,7 @@ end:
#define YYFILL(n) { break; }
static int action_line652
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -6178,10 +6664,12 @@ static int action_line652
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -6191,17 +6679,17 @@ static int action_line652
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line652: at position %ld (iteration %u):\n"
+ , "error: lex_line652: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -6211,6 +6699,13 @@ static int action_line652
}
}
+static int check_key_count_line652(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line652: not enough keys\n");
+ return 1;
+}
+
int lex_line652()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -6244,7 +6739,7 @@ int lex_line652()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line652.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -6257,7 +6752,7 @@ int lex_line652()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -6267,11 +6762,13 @@ int lex_line652()
if (yych <= 0x000019FF) goto yy268;
yy266:
YYSKIP ();
- status = action_line652(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line652(keys_count, i, 3)
+ || action_line652(&i, keys, input, token, &cursor, 254);
continue;
yy268:
YYSKIP ();
- status = action_line652(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line652(keys_count, i, 3)
+ || action_line652(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -6283,7 +6780,7 @@ yy268:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line652: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line652: unused keys left after %u keys\n", i);
}
}
@@ -6309,7 +6806,7 @@ end:
#define YYFILL(n) { break; }
static int action_line659
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -6317,10 +6814,12 @@ static int action_line659
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -6330,17 +6829,17 @@ static int action_line659
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line659: at position %ld (iteration %u):\n"
+ , "error: lex_line659: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -6350,6 +6849,13 @@ static int action_line659
}
}
+static int check_key_count_line659(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line659: not enough keys\n");
+ return 1;
+}
+
int lex_line659()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -6383,7 +6889,7 @@ int lex_line659()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line659.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -6396,7 +6902,7 @@ int lex_line659()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -6406,11 +6912,13 @@ int lex_line659()
if (yych <= 0x00001D7F) goto yy274;
yy272:
YYSKIP ();
- status = action_line659(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line659(keys_count, i, 3)
+ || action_line659(&i, keys, input, token, &cursor, 254);
continue;
yy274:
YYSKIP ();
- status = action_line659(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line659(keys_count, i, 3)
+ || action_line659(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -6422,7 +6930,7 @@ yy274:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line659: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line659: unused keys left after %u keys\n", i);
}
}
@@ -6448,7 +6956,7 @@ end:
#define YYFILL(n) { break; }
static int action_line666
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -6456,10 +6964,12 @@ static int action_line666
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -6469,17 +6979,17 @@ static int action_line666
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line666: at position %ld (iteration %u):\n"
+ , "error: lex_line666: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -6489,6 +6999,13 @@ static int action_line666
}
}
+static int check_key_count_line666(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line666: not enough keys\n");
+ return 1;
+}
+
int lex_line666()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -6522,7 +7039,7 @@ int lex_line666()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line666.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -6535,7 +7052,7 @@ int lex_line666()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -6545,11 +7062,13 @@ int lex_line666()
if (yych <= 0x00001EFF) goto yy280;
yy278:
YYSKIP ();
- status = action_line666(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line666(keys_count, i, 3)
+ || action_line666(&i, keys, input, token, &cursor, 254);
continue;
yy280:
YYSKIP ();
- status = action_line666(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line666(keys_count, i, 3)
+ || action_line666(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -6561,7 +7080,7 @@ yy280:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line666: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line666: unused keys left after %u keys\n", i);
}
}
@@ -6587,7 +7106,7 @@ end:
#define YYFILL(n) { break; }
static int action_line673
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -6595,10 +7114,12 @@ static int action_line673
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -6608,17 +7129,17 @@ static int action_line673
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line673: at position %ld (iteration %u):\n"
+ , "error: lex_line673: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -6628,6 +7149,13 @@ static int action_line673
}
}
+static int check_key_count_line673(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line673: not enough keys\n");
+ return 1;
+}
+
int lex_line673()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -6661,7 +7189,7 @@ int lex_line673()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line673.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -6674,7 +7202,7 @@ int lex_line673()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -6684,11 +7212,13 @@ int lex_line673()
if (yych <= 0x00001FFF) goto yy286;
yy284:
YYSKIP ();
- status = action_line673(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line673(keys_count, i, 3)
+ || action_line673(&i, keys, input, token, &cursor, 254);
continue;
yy286:
YYSKIP ();
- status = action_line673(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line673(keys_count, i, 3)
+ || action_line673(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -6700,7 +7230,7 @@ yy286:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line673: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line673: unused keys left after %u keys\n", i);
}
}
@@ -6726,7 +7256,7 @@ end:
#define YYFILL(n) { break; }
static int action_line680
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -6734,10 +7264,12 @@ static int action_line680
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -6747,17 +7279,17 @@ static int action_line680
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line680: at position %ld (iteration %u):\n"
+ , "error: lex_line680: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -6767,6 +7299,13 @@ static int action_line680
}
}
+static int check_key_count_line680(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line680: not enough keys\n");
+ return 1;
+}
+
int lex_line680()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -6800,7 +7339,7 @@ int lex_line680()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line680.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -6813,7 +7352,7 @@ int lex_line680()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -6823,11 +7362,13 @@ int lex_line680()
if (yych <= 0x0000206F) goto yy292;
yy290:
YYSKIP ();
- status = action_line680(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line680(keys_count, i, 3)
+ || action_line680(&i, keys, input, token, &cursor, 254);
continue;
yy292:
YYSKIP ();
- status = action_line680(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line680(keys_count, i, 3)
+ || action_line680(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -6839,7 +7380,7 @@ yy292:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line680: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line680: unused keys left after %u keys\n", i);
}
}
@@ -6865,7 +7406,7 @@ end:
#define YYFILL(n) { break; }
static int action_line687
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -6873,10 +7414,12 @@ static int action_line687
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -6886,17 +7429,17 @@ static int action_line687
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line687: at position %ld (iteration %u):\n"
+ , "error: lex_line687: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -6906,6 +7449,13 @@ static int action_line687
}
}
+static int check_key_count_line687(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line687: not enough keys\n");
+ return 1;
+}
+
int lex_line687()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -6939,7 +7489,7 @@ int lex_line687()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line687.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -6952,7 +7502,7 @@ int lex_line687()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -6962,11 +7512,13 @@ int lex_line687()
if (yych <= 0x0000209F) goto yy298;
yy296:
YYSKIP ();
- status = action_line687(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line687(keys_count, i, 3)
+ || action_line687(&i, keys, input, token, &cursor, 254);
continue;
yy298:
YYSKIP ();
- status = action_line687(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line687(keys_count, i, 3)
+ || action_line687(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -6978,7 +7530,7 @@ yy298:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line687: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line687: unused keys left after %u keys\n", i);
}
}
@@ -7004,7 +7556,7 @@ end:
#define YYFILL(n) { break; }
static int action_line694
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -7012,10 +7564,12 @@ static int action_line694
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -7025,17 +7579,17 @@ static int action_line694
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line694: at position %ld (iteration %u):\n"
+ , "error: lex_line694: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -7045,6 +7599,13 @@ static int action_line694
}
}
+static int check_key_count_line694(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line694: not enough keys\n");
+ return 1;
+}
+
int lex_line694()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -7078,7 +7639,7 @@ int lex_line694()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line694.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -7091,7 +7652,7 @@ int lex_line694()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -7101,11 +7662,13 @@ int lex_line694()
if (yych <= 0x000020CF) goto yy304;
yy302:
YYSKIP ();
- status = action_line694(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line694(keys_count, i, 3)
+ || action_line694(&i, keys, input, token, &cursor, 254);
continue;
yy304:
YYSKIP ();
- status = action_line694(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line694(keys_count, i, 3)
+ || action_line694(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -7117,7 +7680,7 @@ yy304:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line694: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line694: unused keys left after %u keys\n", i);
}
}
@@ -7143,7 +7706,7 @@ end:
#define YYFILL(n) { break; }
static int action_line701
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -7151,10 +7714,12 @@ static int action_line701
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -7164,17 +7729,17 @@ static int action_line701
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line701: at position %ld (iteration %u):\n"
+ , "error: lex_line701: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -7184,6 +7749,13 @@ static int action_line701
}
}
+static int check_key_count_line701(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line701: not enough keys\n");
+ return 1;
+}
+
int lex_line701()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -7217,7 +7789,7 @@ int lex_line701()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line701.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -7230,7 +7802,7 @@ int lex_line701()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -7240,11 +7812,13 @@ int lex_line701()
if (yych <= 0x000020FF) goto yy310;
yy308:
YYSKIP ();
- status = action_line701(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line701(keys_count, i, 3)
+ || action_line701(&i, keys, input, token, &cursor, 254);
continue;
yy310:
YYSKIP ();
- status = action_line701(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line701(keys_count, i, 3)
+ || action_line701(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -7256,7 +7830,7 @@ yy310:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line701: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line701: unused keys left after %u keys\n", i);
}
}
@@ -7282,7 +7856,7 @@ end:
#define YYFILL(n) { break; }
static int action_line708
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -7290,10 +7864,12 @@ static int action_line708
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -7303,17 +7879,17 @@ static int action_line708
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line708: at position %ld (iteration %u):\n"
+ , "error: lex_line708: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -7323,6 +7899,13 @@ static int action_line708
}
}
+static int check_key_count_line708(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line708: not enough keys\n");
+ return 1;
+}
+
int lex_line708()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -7356,7 +7939,7 @@ int lex_line708()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line708.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -7369,7 +7952,7 @@ int lex_line708()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -7379,11 +7962,13 @@ int lex_line708()
if (yych <= 0x0000214F) goto yy316;
yy314:
YYSKIP ();
- status = action_line708(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line708(keys_count, i, 3)
+ || action_line708(&i, keys, input, token, &cursor, 254);
continue;
yy316:
YYSKIP ();
- status = action_line708(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line708(keys_count, i, 3)
+ || action_line708(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -7395,7 +7980,7 @@ yy316:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line708: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line708: unused keys left after %u keys\n", i);
}
}
@@ -7421,7 +8006,7 @@ end:
#define YYFILL(n) { break; }
static int action_line715
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -7429,10 +8014,12 @@ static int action_line715
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -7442,17 +8029,17 @@ static int action_line715
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line715: at position %ld (iteration %u):\n"
+ , "error: lex_line715: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -7462,6 +8049,13 @@ static int action_line715
}
}
+static int check_key_count_line715(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line715: not enough keys\n");
+ return 1;
+}
+
int lex_line715()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -7495,7 +8089,7 @@ int lex_line715()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line715.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -7508,7 +8102,7 @@ int lex_line715()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -7518,11 +8112,13 @@ int lex_line715()
if (yych <= 0x0000218F) goto yy322;
yy320:
YYSKIP ();
- status = action_line715(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line715(keys_count, i, 3)
+ || action_line715(&i, keys, input, token, &cursor, 254);
continue;
yy322:
YYSKIP ();
- status = action_line715(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line715(keys_count, i, 3)
+ || action_line715(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -7534,7 +8130,7 @@ yy322:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line715: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line715: unused keys left after %u keys\n", i);
}
}
@@ -7560,7 +8156,7 @@ end:
#define YYFILL(n) { break; }
static int action_line722
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -7568,10 +8164,12 @@ static int action_line722
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -7581,17 +8179,17 @@ static int action_line722
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line722: at position %ld (iteration %u):\n"
+ , "error: lex_line722: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -7601,6 +8199,13 @@ static int action_line722
}
}
+static int check_key_count_line722(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line722: not enough keys\n");
+ return 1;
+}
+
int lex_line722()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -7634,7 +8239,7 @@ int lex_line722()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line722.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -7647,7 +8252,7 @@ int lex_line722()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -7657,11 +8262,13 @@ int lex_line722()
if (yych <= 0x000021FF) goto yy328;
yy326:
YYSKIP ();
- status = action_line722(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line722(keys_count, i, 3)
+ || action_line722(&i, keys, input, token, &cursor, 254);
continue;
yy328:
YYSKIP ();
- status = action_line722(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line722(keys_count, i, 3)
+ || action_line722(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -7673,7 +8280,7 @@ yy328:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line722: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line722: unused keys left after %u keys\n", i);
}
}
@@ -7699,7 +8306,7 @@ end:
#define YYFILL(n) { break; }
static int action_line729
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -7707,10 +8314,12 @@ static int action_line729
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -7720,17 +8329,17 @@ static int action_line729
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line729: at position %ld (iteration %u):\n"
+ , "error: lex_line729: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -7740,6 +8349,13 @@ static int action_line729
}
}
+static int check_key_count_line729(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line729: not enough keys\n");
+ return 1;
+}
+
int lex_line729()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -7773,7 +8389,7 @@ int lex_line729()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line729.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -7786,7 +8402,7 @@ int lex_line729()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -7796,11 +8412,13 @@ int lex_line729()
if (yych <= 0x000022FF) goto yy334;
yy332:
YYSKIP ();
- status = action_line729(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line729(keys_count, i, 3)
+ || action_line729(&i, keys, input, token, &cursor, 254);
continue;
yy334:
YYSKIP ();
- status = action_line729(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line729(keys_count, i, 3)
+ || action_line729(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -7812,7 +8430,7 @@ yy334:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line729: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line729: unused keys left after %u keys\n", i);
}
}
@@ -7838,7 +8456,7 @@ end:
#define YYFILL(n) { break; }
static int action_line736
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -7846,10 +8464,12 @@ static int action_line736
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -7859,17 +8479,17 @@ static int action_line736
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line736: at position %ld (iteration %u):\n"
+ , "error: lex_line736: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -7879,6 +8499,13 @@ static int action_line736
}
}
+static int check_key_count_line736(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line736: not enough keys\n");
+ return 1;
+}
+
int lex_line736()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -7912,7 +8539,7 @@ int lex_line736()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line736.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -7925,7 +8552,7 @@ int lex_line736()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -7935,11 +8562,13 @@ int lex_line736()
if (yych <= 0x000023FF) goto yy340;
yy338:
YYSKIP ();
- status = action_line736(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line736(keys_count, i, 3)
+ || action_line736(&i, keys, input, token, &cursor, 254);
continue;
yy340:
YYSKIP ();
- status = action_line736(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line736(keys_count, i, 3)
+ || action_line736(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -7951,7 +8580,7 @@ yy340:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line736: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line736: unused keys left after %u keys\n", i);
}
}
@@ -7977,7 +8606,7 @@ end:
#define YYFILL(n) { break; }
static int action_line743
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -7985,10 +8614,12 @@ static int action_line743
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -7998,17 +8629,17 @@ static int action_line743
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line743: at position %ld (iteration %u):\n"
+ , "error: lex_line743: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -8018,6 +8649,13 @@ static int action_line743
}
}
+static int check_key_count_line743(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line743: not enough keys\n");
+ return 1;
+}
+
int lex_line743()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -8051,7 +8689,7 @@ int lex_line743()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line743.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -8064,7 +8702,7 @@ int lex_line743()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -8074,11 +8712,13 @@ int lex_line743()
if (yych <= 0x0000243F) goto yy346;
yy344:
YYSKIP ();
- status = action_line743(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line743(keys_count, i, 3)
+ || action_line743(&i, keys, input, token, &cursor, 254);
continue;
yy346:
YYSKIP ();
- status = action_line743(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line743(keys_count, i, 3)
+ || action_line743(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -8090,7 +8730,7 @@ yy346:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line743: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line743: unused keys left after %u keys\n", i);
}
}
@@ -8116,7 +8756,7 @@ end:
#define YYFILL(n) { break; }
static int action_line750
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -8124,10 +8764,12 @@ static int action_line750
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -8137,17 +8779,17 @@ static int action_line750
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line750: at position %ld (iteration %u):\n"
+ , "error: lex_line750: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -8157,6 +8799,13 @@ static int action_line750
}
}
+static int check_key_count_line750(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line750: not enough keys\n");
+ return 1;
+}
+
int lex_line750()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -8190,7 +8839,7 @@ int lex_line750()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line750.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -8203,7 +8852,7 @@ int lex_line750()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -8213,11 +8862,13 @@ int lex_line750()
if (yych <= 0x0000245F) goto yy352;
yy350:
YYSKIP ();
- status = action_line750(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line750(keys_count, i, 3)
+ || action_line750(&i, keys, input, token, &cursor, 254);
continue;
yy352:
YYSKIP ();
- status = action_line750(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line750(keys_count, i, 3)
+ || action_line750(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -8229,7 +8880,7 @@ yy352:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line750: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line750: unused keys left after %u keys\n", i);
}
}
@@ -8255,7 +8906,7 @@ end:
#define YYFILL(n) { break; }
static int action_line757
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -8263,10 +8914,12 @@ static int action_line757
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -8276,17 +8929,17 @@ static int action_line757
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line757: at position %ld (iteration %u):\n"
+ , "error: lex_line757: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -8296,6 +8949,13 @@ static int action_line757
}
}
+static int check_key_count_line757(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line757: not enough keys\n");
+ return 1;
+}
+
int lex_line757()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -8329,7 +8989,7 @@ int lex_line757()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line757.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -8342,7 +9002,7 @@ int lex_line757()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -8352,11 +9012,13 @@ int lex_line757()
if (yych <= 0x000024FF) goto yy358;
yy356:
YYSKIP ();
- status = action_line757(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line757(keys_count, i, 3)
+ || action_line757(&i, keys, input, token, &cursor, 254);
continue;
yy358:
YYSKIP ();
- status = action_line757(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line757(keys_count, i, 3)
+ || action_line757(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -8368,7 +9030,7 @@ yy358:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line757: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line757: unused keys left after %u keys\n", i);
}
}
@@ -8394,7 +9056,7 @@ end:
#define YYFILL(n) { break; }
static int action_line764
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -8402,10 +9064,12 @@ static int action_line764
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -8415,17 +9079,17 @@ static int action_line764
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line764: at position %ld (iteration %u):\n"
+ , "error: lex_line764: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -8435,6 +9099,13 @@ static int action_line764
}
}
+static int check_key_count_line764(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line764: not enough keys\n");
+ return 1;
+}
+
int lex_line764()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -8468,7 +9139,7 @@ int lex_line764()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line764.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -8481,7 +9152,7 @@ int lex_line764()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -8491,11 +9162,13 @@ int lex_line764()
if (yych <= 0x0000257F) goto yy364;
yy362:
YYSKIP ();
- status = action_line764(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line764(keys_count, i, 3)
+ || action_line764(&i, keys, input, token, &cursor, 254);
continue;
yy364:
YYSKIP ();
- status = action_line764(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line764(keys_count, i, 3)
+ || action_line764(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -8507,7 +9180,7 @@ yy364:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line764: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line764: unused keys left after %u keys\n", i);
}
}
@@ -8533,7 +9206,7 @@ end:
#define YYFILL(n) { break; }
static int action_line771
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -8541,10 +9214,12 @@ static int action_line771
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -8554,17 +9229,17 @@ static int action_line771
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line771: at position %ld (iteration %u):\n"
+ , "error: lex_line771: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -8574,6 +9249,13 @@ static int action_line771
}
}
+static int check_key_count_line771(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line771: not enough keys\n");
+ return 1;
+}
+
int lex_line771()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -8607,7 +9289,7 @@ int lex_line771()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line771.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -8620,7 +9302,7 @@ int lex_line771()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -8630,11 +9312,13 @@ int lex_line771()
if (yych <= 0x0000259F) goto yy370;
yy368:
YYSKIP ();
- status = action_line771(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line771(keys_count, i, 3)
+ || action_line771(&i, keys, input, token, &cursor, 254);
continue;
yy370:
YYSKIP ();
- status = action_line771(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line771(keys_count, i, 3)
+ || action_line771(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -8646,7 +9330,7 @@ yy370:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line771: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line771: unused keys left after %u keys\n", i);
}
}
@@ -8672,7 +9356,7 @@ end:
#define YYFILL(n) { break; }
static int action_line778
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -8680,10 +9364,12 @@ static int action_line778
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -8693,17 +9379,17 @@ static int action_line778
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line778: at position %ld (iteration %u):\n"
+ , "error: lex_line778: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -8713,6 +9399,13 @@ static int action_line778
}
}
+static int check_key_count_line778(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line778: not enough keys\n");
+ return 1;
+}
+
int lex_line778()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -8746,7 +9439,7 @@ int lex_line778()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line778.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -8759,7 +9452,7 @@ int lex_line778()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -8769,11 +9462,13 @@ int lex_line778()
if (yych <= 0x000025FF) goto yy376;
yy374:
YYSKIP ();
- status = action_line778(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line778(keys_count, i, 3)
+ || action_line778(&i, keys, input, token, &cursor, 254);
continue;
yy376:
YYSKIP ();
- status = action_line778(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line778(keys_count, i, 3)
+ || action_line778(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -8785,7 +9480,7 @@ yy376:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line778: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line778: unused keys left after %u keys\n", i);
}
}
@@ -8811,7 +9506,7 @@ end:
#define YYFILL(n) { break; }
static int action_line785
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -8819,10 +9514,12 @@ static int action_line785
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -8832,17 +9529,17 @@ static int action_line785
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line785: at position %ld (iteration %u):\n"
+ , "error: lex_line785: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -8852,6 +9549,13 @@ static int action_line785
}
}
+static int check_key_count_line785(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line785: not enough keys\n");
+ return 1;
+}
+
int lex_line785()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -8885,7 +9589,7 @@ int lex_line785()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line785.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -8898,7 +9602,7 @@ int lex_line785()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -8908,11 +9612,13 @@ int lex_line785()
if (yych <= 0x000026FF) goto yy382;
yy380:
YYSKIP ();
- status = action_line785(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line785(keys_count, i, 3)
+ || action_line785(&i, keys, input, token, &cursor, 254);
continue;
yy382:
YYSKIP ();
- status = action_line785(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line785(keys_count, i, 3)
+ || action_line785(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -8924,7 +9630,7 @@ yy382:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line785: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line785: unused keys left after %u keys\n", i);
}
}
@@ -8950,7 +9656,7 @@ end:
#define YYFILL(n) { break; }
static int action_line792
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -8958,10 +9664,12 @@ static int action_line792
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -8971,17 +9679,17 @@ static int action_line792
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line792: at position %ld (iteration %u):\n"
+ , "error: lex_line792: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -8991,6 +9699,13 @@ static int action_line792
}
}
+static int check_key_count_line792(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line792: not enough keys\n");
+ return 1;
+}
+
int lex_line792()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -9024,7 +9739,7 @@ int lex_line792()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line792.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -9037,7 +9752,7 @@ int lex_line792()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -9047,11 +9762,13 @@ int lex_line792()
if (yych <= 0x000027BF) goto yy388;
yy386:
YYSKIP ();
- status = action_line792(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line792(keys_count, i, 3)
+ || action_line792(&i, keys, input, token, &cursor, 254);
continue;
yy388:
YYSKIP ();
- status = action_line792(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line792(keys_count, i, 3)
+ || action_line792(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -9063,7 +9780,7 @@ yy388:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line792: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line792: unused keys left after %u keys\n", i);
}
}
@@ -9089,7 +9806,7 @@ end:
#define YYFILL(n) { break; }
static int action_line799
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -9097,10 +9814,12 @@ static int action_line799
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -9110,17 +9829,17 @@ static int action_line799
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line799: at position %ld (iteration %u):\n"
+ , "error: lex_line799: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -9130,6 +9849,13 @@ static int action_line799
}
}
+static int check_key_count_line799(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line799: not enough keys\n");
+ return 1;
+}
+
int lex_line799()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -9163,7 +9889,7 @@ int lex_line799()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line799.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -9176,7 +9902,7 @@ int lex_line799()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -9186,11 +9912,13 @@ int lex_line799()
if (yych <= 0x000027EF) goto yy394;
yy392:
YYSKIP ();
- status = action_line799(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line799(keys_count, i, 3)
+ || action_line799(&i, keys, input, token, &cursor, 254);
continue;
yy394:
YYSKIP ();
- status = action_line799(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line799(keys_count, i, 3)
+ || action_line799(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -9202,7 +9930,7 @@ yy394:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line799: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line799: unused keys left after %u keys\n", i);
}
}
@@ -9228,7 +9956,7 @@ end:
#define YYFILL(n) { break; }
static int action_line806
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -9236,10 +9964,12 @@ static int action_line806
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -9249,17 +9979,17 @@ static int action_line806
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line806: at position %ld (iteration %u):\n"
+ , "error: lex_line806: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -9269,6 +9999,13 @@ static int action_line806
}
}
+static int check_key_count_line806(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line806: not enough keys\n");
+ return 1;
+}
+
int lex_line806()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -9302,7 +10039,7 @@ int lex_line806()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line806.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -9315,7 +10052,7 @@ int lex_line806()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -9325,11 +10062,13 @@ int lex_line806()
if (yych <= 0x000027FF) goto yy400;
yy398:
YYSKIP ();
- status = action_line806(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line806(keys_count, i, 3)
+ || action_line806(&i, keys, input, token, &cursor, 254);
continue;
yy400:
YYSKIP ();
- status = action_line806(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line806(keys_count, i, 3)
+ || action_line806(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -9341,7 +10080,7 @@ yy400:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line806: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line806: unused keys left after %u keys\n", i);
}
}
@@ -9367,7 +10106,7 @@ end:
#define YYFILL(n) { break; }
static int action_line813
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -9375,10 +10114,12 @@ static int action_line813
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -9388,17 +10129,17 @@ static int action_line813
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line813: at position %ld (iteration %u):\n"
+ , "error: lex_line813: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -9408,6 +10149,13 @@ static int action_line813
}
}
+static int check_key_count_line813(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line813: not enough keys\n");
+ return 1;
+}
+
int lex_line813()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -9441,7 +10189,7 @@ int lex_line813()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line813.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -9454,7 +10202,7 @@ int lex_line813()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -9464,11 +10212,13 @@ int lex_line813()
if (yych <= 0x000028FF) goto yy406;
yy404:
YYSKIP ();
- status = action_line813(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line813(keys_count, i, 3)
+ || action_line813(&i, keys, input, token, &cursor, 254);
continue;
yy406:
YYSKIP ();
- status = action_line813(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line813(keys_count, i, 3)
+ || action_line813(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -9480,7 +10230,7 @@ yy406:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line813: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line813: unused keys left after %u keys\n", i);
}
}
@@ -9506,7 +10256,7 @@ end:
#define YYFILL(n) { break; }
static int action_line820
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -9514,10 +10264,12 @@ static int action_line820
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -9527,17 +10279,17 @@ static int action_line820
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line820: at position %ld (iteration %u):\n"
+ , "error: lex_line820: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -9547,6 +10299,13 @@ static int action_line820
}
}
+static int check_key_count_line820(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line820: not enough keys\n");
+ return 1;
+}
+
int lex_line820()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -9580,7 +10339,7 @@ int lex_line820()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line820.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -9593,7 +10352,7 @@ int lex_line820()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -9603,11 +10362,13 @@ int lex_line820()
if (yych <= 0x0000297F) goto yy412;
yy410:
YYSKIP ();
- status = action_line820(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line820(keys_count, i, 3)
+ || action_line820(&i, keys, input, token, &cursor, 254);
continue;
yy412:
YYSKIP ();
- status = action_line820(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line820(keys_count, i, 3)
+ || action_line820(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -9619,7 +10380,7 @@ yy412:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line820: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line820: unused keys left after %u keys\n", i);
}
}
@@ -9645,7 +10406,7 @@ end:
#define YYFILL(n) { break; }
static int action_line827
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -9653,10 +10414,12 @@ static int action_line827
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -9666,17 +10429,17 @@ static int action_line827
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line827: at position %ld (iteration %u):\n"
+ , "error: lex_line827: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -9686,6 +10449,13 @@ static int action_line827
}
}
+static int check_key_count_line827(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line827: not enough keys\n");
+ return 1;
+}
+
int lex_line827()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -9719,7 +10489,7 @@ int lex_line827()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line827.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -9732,7 +10502,7 @@ int lex_line827()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -9742,11 +10512,13 @@ int lex_line827()
if (yych <= 0x000029FF) goto yy418;
yy416:
YYSKIP ();
- status = action_line827(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line827(keys_count, i, 3)
+ || action_line827(&i, keys, input, token, &cursor, 254);
continue;
yy418:
YYSKIP ();
- status = action_line827(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line827(keys_count, i, 3)
+ || action_line827(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -9758,7 +10530,7 @@ yy418:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line827: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line827: unused keys left after %u keys\n", i);
}
}
@@ -9784,7 +10556,7 @@ end:
#define YYFILL(n) { break; }
static int action_line834
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -9792,10 +10564,12 @@ static int action_line834
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -9805,17 +10579,17 @@ static int action_line834
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line834: at position %ld (iteration %u):\n"
+ , "error: lex_line834: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -9825,6 +10599,13 @@ static int action_line834
}
}
+static int check_key_count_line834(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line834: not enough keys\n");
+ return 1;
+}
+
int lex_line834()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -9858,7 +10639,7 @@ int lex_line834()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line834.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -9871,7 +10652,7 @@ int lex_line834()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -9881,11 +10662,13 @@ int lex_line834()
if (yych <= 0x00002AFF) goto yy424;
yy422:
YYSKIP ();
- status = action_line834(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line834(keys_count, i, 3)
+ || action_line834(&i, keys, input, token, &cursor, 254);
continue;
yy424:
YYSKIP ();
- status = action_line834(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line834(keys_count, i, 3)
+ || action_line834(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -9897,7 +10680,7 @@ yy424:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line834: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line834: unused keys left after %u keys\n", i);
}
}
@@ -9923,7 +10706,7 @@ end:
#define YYFILL(n) { break; }
static int action_line841
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -9931,10 +10714,12 @@ static int action_line841
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -9944,17 +10729,17 @@ static int action_line841
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line841: at position %ld (iteration %u):\n"
+ , "error: lex_line841: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -9964,6 +10749,13 @@ static int action_line841
}
}
+static int check_key_count_line841(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line841: not enough keys\n");
+ return 1;
+}
+
int lex_line841()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -9997,7 +10789,7 @@ int lex_line841()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line841.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -10010,7 +10802,7 @@ int lex_line841()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -10020,11 +10812,13 @@ int lex_line841()
if (yych <= 0x00002BFF) goto yy430;
yy428:
YYSKIP ();
- status = action_line841(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line841(keys_count, i, 3)
+ || action_line841(&i, keys, input, token, &cursor, 254);
continue;
yy430:
YYSKIP ();
- status = action_line841(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line841(keys_count, i, 3)
+ || action_line841(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -10036,7 +10830,7 @@ yy430:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line841: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line841: unused keys left after %u keys\n", i);
}
}
@@ -10062,7 +10856,7 @@ end:
#define YYFILL(n) { break; }
static int action_line848
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -10070,10 +10864,12 @@ static int action_line848
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -10083,17 +10879,17 @@ static int action_line848
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line848: at position %ld (iteration %u):\n"
+ , "error: lex_line848: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -10103,6 +10899,13 @@ static int action_line848
}
}
+static int check_key_count_line848(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line848: not enough keys\n");
+ return 1;
+}
+
int lex_line848()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -10136,7 +10939,7 @@ int lex_line848()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line848.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -10149,7 +10952,7 @@ int lex_line848()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -10159,11 +10962,13 @@ int lex_line848()
if (yych <= 0x00002EFF) goto yy436;
yy434:
YYSKIP ();
- status = action_line848(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line848(keys_count, i, 3)
+ || action_line848(&i, keys, input, token, &cursor, 254);
continue;
yy436:
YYSKIP ();
- status = action_line848(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line848(keys_count, i, 3)
+ || action_line848(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -10175,7 +10980,7 @@ yy436:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line848: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line848: unused keys left after %u keys\n", i);
}
}
@@ -10201,7 +11006,7 @@ end:
#define YYFILL(n) { break; }
static int action_line855
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -10209,10 +11014,12 @@ static int action_line855
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -10222,17 +11029,17 @@ static int action_line855
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line855: at position %ld (iteration %u):\n"
+ , "error: lex_line855: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -10242,6 +11049,13 @@ static int action_line855
}
}
+static int check_key_count_line855(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line855: not enough keys\n");
+ return 1;
+}
+
int lex_line855()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -10275,7 +11089,7 @@ int lex_line855()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line855.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -10288,7 +11102,7 @@ int lex_line855()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -10298,11 +11112,13 @@ int lex_line855()
if (yych <= 0x00002FDF) goto yy442;
yy440:
YYSKIP ();
- status = action_line855(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line855(keys_count, i, 3)
+ || action_line855(&i, keys, input, token, &cursor, 254);
continue;
yy442:
YYSKIP ();
- status = action_line855(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line855(keys_count, i, 3)
+ || action_line855(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -10314,7 +11130,7 @@ yy442:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line855: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line855: unused keys left after %u keys\n", i);
}
}
@@ -10340,7 +11156,7 @@ end:
#define YYFILL(n) { break; }
static int action_line862
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -10348,10 +11164,12 @@ static int action_line862
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -10361,17 +11179,17 @@ static int action_line862
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line862: at position %ld (iteration %u):\n"
+ , "error: lex_line862: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -10381,6 +11199,13 @@ static int action_line862
}
}
+static int check_key_count_line862(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line862: not enough keys\n");
+ return 1;
+}
+
int lex_line862()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -10414,7 +11239,7 @@ int lex_line862()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line862.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -10427,7 +11252,7 @@ int lex_line862()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -10437,11 +11262,13 @@ int lex_line862()
if (yych <= 0x00002FFF) goto yy448;
yy446:
YYSKIP ();
- status = action_line862(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line862(keys_count, i, 3)
+ || action_line862(&i, keys, input, token, &cursor, 254);
continue;
yy448:
YYSKIP ();
- status = action_line862(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line862(keys_count, i, 3)
+ || action_line862(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -10453,7 +11280,7 @@ yy448:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line862: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line862: unused keys left after %u keys\n", i);
}
}
@@ -10479,7 +11306,7 @@ end:
#define YYFILL(n) { break; }
static int action_line869
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -10487,10 +11314,12 @@ static int action_line869
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -10500,17 +11329,17 @@ static int action_line869
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line869: at position %ld (iteration %u):\n"
+ , "error: lex_line869: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -10520,6 +11349,13 @@ static int action_line869
}
}
+static int check_key_count_line869(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line869: not enough keys\n");
+ return 1;
+}
+
int lex_line869()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -10553,7 +11389,7 @@ int lex_line869()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line869.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -10566,7 +11402,7 @@ int lex_line869()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -10576,11 +11412,13 @@ int lex_line869()
if (yych <= 0x0000303F) goto yy454;
yy452:
YYSKIP ();
- status = action_line869(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line869(keys_count, i, 3)
+ || action_line869(&i, keys, input, token, &cursor, 254);
continue;
yy454:
YYSKIP ();
- status = action_line869(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line869(keys_count, i, 3)
+ || action_line869(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -10592,7 +11430,7 @@ yy454:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line869: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line869: unused keys left after %u keys\n", i);
}
}
@@ -10618,7 +11456,7 @@ end:
#define YYFILL(n) { break; }
static int action_line876
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -10626,10 +11464,12 @@ static int action_line876
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -10639,17 +11479,17 @@ static int action_line876
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line876: at position %ld (iteration %u):\n"
+ , "error: lex_line876: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -10659,6 +11499,13 @@ static int action_line876
}
}
+static int check_key_count_line876(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line876: not enough keys\n");
+ return 1;
+}
+
int lex_line876()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -10692,7 +11539,7 @@ int lex_line876()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line876.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -10705,7 +11552,7 @@ int lex_line876()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -10715,11 +11562,13 @@ int lex_line876()
if (yych <= 0x0000309F) goto yy460;
yy458:
YYSKIP ();
- status = action_line876(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line876(keys_count, i, 3)
+ || action_line876(&i, keys, input, token, &cursor, 254);
continue;
yy460:
YYSKIP ();
- status = action_line876(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line876(keys_count, i, 3)
+ || action_line876(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -10731,7 +11580,7 @@ yy460:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line876: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line876: unused keys left after %u keys\n", i);
}
}
@@ -10757,7 +11606,7 @@ end:
#define YYFILL(n) { break; }
static int action_line883
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -10765,10 +11614,12 @@ static int action_line883
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -10778,17 +11629,17 @@ static int action_line883
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line883: at position %ld (iteration %u):\n"
+ , "error: lex_line883: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -10798,6 +11649,13 @@ static int action_line883
}
}
+static int check_key_count_line883(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line883: not enough keys\n");
+ return 1;
+}
+
int lex_line883()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -10831,7 +11689,7 @@ int lex_line883()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line883.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -10844,7 +11702,7 @@ int lex_line883()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -10854,11 +11712,13 @@ int lex_line883()
if (yych <= 0x000030FF) goto yy466;
yy464:
YYSKIP ();
- status = action_line883(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line883(keys_count, i, 3)
+ || action_line883(&i, keys, input, token, &cursor, 254);
continue;
yy466:
YYSKIP ();
- status = action_line883(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line883(keys_count, i, 3)
+ || action_line883(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -10870,7 +11730,7 @@ yy466:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line883: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line883: unused keys left after %u keys\n", i);
}
}
@@ -10896,7 +11756,7 @@ end:
#define YYFILL(n) { break; }
static int action_line890
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -10904,10 +11764,12 @@ static int action_line890
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -10917,17 +11779,17 @@ static int action_line890
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line890: at position %ld (iteration %u):\n"
+ , "error: lex_line890: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -10937,6 +11799,13 @@ static int action_line890
}
}
+static int check_key_count_line890(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line890: not enough keys\n");
+ return 1;
+}
+
int lex_line890()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -10970,7 +11839,7 @@ int lex_line890()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line890.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -10983,7 +11852,7 @@ int lex_line890()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -10993,11 +11862,13 @@ int lex_line890()
if (yych <= 0x0000312F) goto yy472;
yy470:
YYSKIP ();
- status = action_line890(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line890(keys_count, i, 3)
+ || action_line890(&i, keys, input, token, &cursor, 254);
continue;
yy472:
YYSKIP ();
- status = action_line890(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line890(keys_count, i, 3)
+ || action_line890(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -11009,7 +11880,7 @@ yy472:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line890: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line890: unused keys left after %u keys\n", i);
}
}
@@ -11035,7 +11906,7 @@ end:
#define YYFILL(n) { break; }
static int action_line897
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -11043,10 +11914,12 @@ static int action_line897
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -11056,17 +11929,17 @@ static int action_line897
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line897: at position %ld (iteration %u):\n"
+ , "error: lex_line897: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -11076,6 +11949,13 @@ static int action_line897
}
}
+static int check_key_count_line897(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line897: not enough keys\n");
+ return 1;
+}
+
int lex_line897()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -11109,7 +11989,7 @@ int lex_line897()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line897.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -11122,7 +12002,7 @@ int lex_line897()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -11132,11 +12012,13 @@ int lex_line897()
if (yych <= 0x0000318F) goto yy478;
yy476:
YYSKIP ();
- status = action_line897(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line897(keys_count, i, 3)
+ || action_line897(&i, keys, input, token, &cursor, 254);
continue;
yy478:
YYSKIP ();
- status = action_line897(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line897(keys_count, i, 3)
+ || action_line897(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -11148,7 +12030,7 @@ yy478:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line897: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line897: unused keys left after %u keys\n", i);
}
}
@@ -11174,7 +12056,7 @@ end:
#define YYFILL(n) { break; }
static int action_line904
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -11182,10 +12064,12 @@ static int action_line904
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -11195,17 +12079,17 @@ static int action_line904
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line904: at position %ld (iteration %u):\n"
+ , "error: lex_line904: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -11215,6 +12099,13 @@ static int action_line904
}
}
+static int check_key_count_line904(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line904: not enough keys\n");
+ return 1;
+}
+
int lex_line904()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -11248,7 +12139,7 @@ int lex_line904()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line904.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -11261,7 +12152,7 @@ int lex_line904()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -11271,11 +12162,13 @@ int lex_line904()
if (yych <= 0x0000319F) goto yy484;
yy482:
YYSKIP ();
- status = action_line904(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line904(keys_count, i, 3)
+ || action_line904(&i, keys, input, token, &cursor, 254);
continue;
yy484:
YYSKIP ();
- status = action_line904(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line904(keys_count, i, 3)
+ || action_line904(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -11287,7 +12180,7 @@ yy484:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line904: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line904: unused keys left after %u keys\n", i);
}
}
@@ -11313,7 +12206,7 @@ end:
#define YYFILL(n) { break; }
static int action_line911
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -11321,10 +12214,12 @@ static int action_line911
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -11334,17 +12229,17 @@ static int action_line911
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line911: at position %ld (iteration %u):\n"
+ , "error: lex_line911: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -11354,6 +12249,13 @@ static int action_line911
}
}
+static int check_key_count_line911(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line911: not enough keys\n");
+ return 1;
+}
+
int lex_line911()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -11387,7 +12289,7 @@ int lex_line911()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line911.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -11400,7 +12302,7 @@ int lex_line911()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -11410,11 +12312,13 @@ int lex_line911()
if (yych <= 0x000031BF) goto yy490;
yy488:
YYSKIP ();
- status = action_line911(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line911(keys_count, i, 3)
+ || action_line911(&i, keys, input, token, &cursor, 254);
continue;
yy490:
YYSKIP ();
- status = action_line911(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line911(keys_count, i, 3)
+ || action_line911(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -11426,7 +12330,7 @@ yy490:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line911: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line911: unused keys left after %u keys\n", i);
}
}
@@ -11452,7 +12356,7 @@ end:
#define YYFILL(n) { break; }
static int action_line918
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -11460,10 +12364,12 @@ static int action_line918
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -11473,17 +12379,17 @@ static int action_line918
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line918: at position %ld (iteration %u):\n"
+ , "error: lex_line918: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -11493,6 +12399,13 @@ static int action_line918
}
}
+static int check_key_count_line918(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line918: not enough keys\n");
+ return 1;
+}
+
int lex_line918()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -11526,7 +12439,7 @@ int lex_line918()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line918.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -11539,7 +12452,7 @@ int lex_line918()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -11549,11 +12462,13 @@ int lex_line918()
if (yych <= 0x000031FF) goto yy496;
yy494:
YYSKIP ();
- status = action_line918(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line918(keys_count, i, 3)
+ || action_line918(&i, keys, input, token, &cursor, 254);
continue;
yy496:
YYSKIP ();
- status = action_line918(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line918(keys_count, i, 3)
+ || action_line918(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -11565,7 +12480,7 @@ yy496:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line918: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line918: unused keys left after %u keys\n", i);
}
}
@@ -11591,7 +12506,7 @@ end:
#define YYFILL(n) { break; }
static int action_line925
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -11599,10 +12514,12 @@ static int action_line925
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -11612,17 +12529,17 @@ static int action_line925
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line925: at position %ld (iteration %u):\n"
+ , "error: lex_line925: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -11632,6 +12549,13 @@ static int action_line925
}
}
+static int check_key_count_line925(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line925: not enough keys\n");
+ return 1;
+}
+
int lex_line925()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -11665,7 +12589,7 @@ int lex_line925()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line925.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -11678,7 +12602,7 @@ int lex_line925()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -11688,11 +12612,13 @@ int lex_line925()
if (yych <= 0x000032FF) goto yy502;
yy500:
YYSKIP ();
- status = action_line925(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line925(keys_count, i, 3)
+ || action_line925(&i, keys, input, token, &cursor, 254);
continue;
yy502:
YYSKIP ();
- status = action_line925(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line925(keys_count, i, 3)
+ || action_line925(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -11704,7 +12630,7 @@ yy502:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line925: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line925: unused keys left after %u keys\n", i);
}
}
@@ -11730,7 +12656,7 @@ end:
#define YYFILL(n) { break; }
static int action_line932
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -11738,10 +12664,12 @@ static int action_line932
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -11751,17 +12679,17 @@ static int action_line932
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line932: at position %ld (iteration %u):\n"
+ , "error: lex_line932: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -11771,6 +12699,13 @@ static int action_line932
}
}
+static int check_key_count_line932(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line932: not enough keys\n");
+ return 1;
+}
+
int lex_line932()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -11804,7 +12739,7 @@ int lex_line932()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line932.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -11817,7 +12752,7 @@ int lex_line932()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -11827,11 +12762,13 @@ int lex_line932()
if (yych <= 0x000033FF) goto yy508;
yy506:
YYSKIP ();
- status = action_line932(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line932(keys_count, i, 3)
+ || action_line932(&i, keys, input, token, &cursor, 254);
continue;
yy508:
YYSKIP ();
- status = action_line932(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line932(keys_count, i, 3)
+ || action_line932(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -11843,7 +12780,7 @@ yy508:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line932: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line932: unused keys left after %u keys\n", i);
}
}
@@ -11869,7 +12806,7 @@ end:
#define YYFILL(n) { break; }
static int action_line939
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -11877,10 +12814,12 @@ static int action_line939
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -11890,17 +12829,17 @@ static int action_line939
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line939: at position %ld (iteration %u):\n"
+ , "error: lex_line939: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -11910,6 +12849,13 @@ static int action_line939
}
}
+static int check_key_count_line939(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line939: not enough keys\n");
+ return 1;
+}
+
int lex_line939()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -11943,7 +12889,7 @@ int lex_line939()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line939.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -11956,7 +12902,7 @@ int lex_line939()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -11966,11 +12912,13 @@ int lex_line939()
if (yych <= 0x00004DBF) goto yy514;
yy512:
YYSKIP ();
- status = action_line939(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line939(keys_count, i, 3)
+ || action_line939(&i, keys, input, token, &cursor, 254);
continue;
yy514:
YYSKIP ();
- status = action_line939(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line939(keys_count, i, 3)
+ || action_line939(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -11982,7 +12930,7 @@ yy514:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line939: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line939: unused keys left after %u keys\n", i);
}
}
@@ -12008,7 +12956,7 @@ end:
#define YYFILL(n) { break; }
static int action_line946
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -12016,10 +12964,12 @@ static int action_line946
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -12029,17 +12979,17 @@ static int action_line946
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line946: at position %ld (iteration %u):\n"
+ , "error: lex_line946: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -12049,6 +12999,13 @@ static int action_line946
}
}
+static int check_key_count_line946(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line946: not enough keys\n");
+ return 1;
+}
+
int lex_line946()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -12082,7 +13039,7 @@ int lex_line946()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line946.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -12095,7 +13052,7 @@ int lex_line946()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -12105,11 +13062,13 @@ int lex_line946()
if (yych <= 0x00004DFF) goto yy520;
yy518:
YYSKIP ();
- status = action_line946(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line946(keys_count, i, 3)
+ || action_line946(&i, keys, input, token, &cursor, 254);
continue;
yy520:
YYSKIP ();
- status = action_line946(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line946(keys_count, i, 3)
+ || action_line946(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -12121,7 +13080,7 @@ yy520:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line946: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line946: unused keys left after %u keys\n", i);
}
}
@@ -12147,7 +13106,7 @@ end:
#define YYFILL(n) { break; }
static int action_line953
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -12155,10 +13114,12 @@ static int action_line953
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -12168,17 +13129,17 @@ static int action_line953
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line953: at position %ld (iteration %u):\n"
+ , "error: lex_line953: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -12188,6 +13149,13 @@ static int action_line953
}
}
+static int check_key_count_line953(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line953: not enough keys\n");
+ return 1;
+}
+
int lex_line953()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -12221,7 +13189,7 @@ int lex_line953()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line953.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -12234,7 +13202,7 @@ int lex_line953()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -12244,11 +13212,13 @@ int lex_line953()
if (yych <= 0x00009FFF) goto yy526;
yy524:
YYSKIP ();
- status = action_line953(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line953(keys_count, i, 3)
+ || action_line953(&i, keys, input, token, &cursor, 254);
continue;
yy526:
YYSKIP ();
- status = action_line953(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line953(keys_count, i, 3)
+ || action_line953(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -12260,7 +13230,7 @@ yy526:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line953: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line953: unused keys left after %u keys\n", i);
}
}
@@ -12286,7 +13256,7 @@ end:
#define YYFILL(n) { break; }
static int action_line960
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -12294,10 +13264,12 @@ static int action_line960
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -12307,17 +13279,17 @@ static int action_line960
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line960: at position %ld (iteration %u):\n"
+ , "error: lex_line960: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -12327,6 +13299,13 @@ static int action_line960
}
}
+static int check_key_count_line960(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line960: not enough keys\n");
+ return 1;
+}
+
int lex_line960()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -12360,7 +13339,7 @@ int lex_line960()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line960.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -12373,7 +13352,7 @@ int lex_line960()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -12383,11 +13362,13 @@ int lex_line960()
if (yych <= 0x0000A48F) goto yy532;
yy530:
YYSKIP ();
- status = action_line960(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line960(keys_count, i, 3)
+ || action_line960(&i, keys, input, token, &cursor, 254);
continue;
yy532:
YYSKIP ();
- status = action_line960(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line960(keys_count, i, 3)
+ || action_line960(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -12399,7 +13380,7 @@ yy532:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line960: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line960: unused keys left after %u keys\n", i);
}
}
@@ -12425,7 +13406,7 @@ end:
#define YYFILL(n) { break; }
static int action_line967
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -12433,10 +13414,12 @@ static int action_line967
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -12446,17 +13429,17 @@ static int action_line967
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line967: at position %ld (iteration %u):\n"
+ , "error: lex_line967: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -12466,6 +13449,13 @@ static int action_line967
}
}
+static int check_key_count_line967(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line967: not enough keys\n");
+ return 1;
+}
+
int lex_line967()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -12499,7 +13489,7 @@ int lex_line967()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line967.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -12512,7 +13502,7 @@ int lex_line967()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -12522,11 +13512,13 @@ int lex_line967()
if (yych <= 0x0000A4CF) goto yy538;
yy536:
YYSKIP ();
- status = action_line967(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line967(keys_count, i, 3)
+ || action_line967(&i, keys, input, token, &cursor, 254);
continue;
yy538:
YYSKIP ();
- status = action_line967(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line967(keys_count, i, 3)
+ || action_line967(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -12538,7 +13530,7 @@ yy538:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line967: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line967: unused keys left after %u keys\n", i);
}
}
@@ -12564,7 +13556,7 @@ end:
#define YYFILL(n) { break; }
static int action_line974
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -12572,10 +13564,12 @@ static int action_line974
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -12585,17 +13579,17 @@ static int action_line974
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line974: at position %ld (iteration %u):\n"
+ , "error: lex_line974: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -12605,6 +13599,13 @@ static int action_line974
}
}
+static int check_key_count_line974(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line974: not enough keys\n");
+ return 1;
+}
+
int lex_line974()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -12638,7 +13639,7 @@ int lex_line974()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line974.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -12651,7 +13652,7 @@ int lex_line974()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -12661,11 +13662,13 @@ int lex_line974()
if (yych <= 0x0000D7AF) goto yy544;
yy542:
YYSKIP ();
- status = action_line974(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line974(keys_count, i, 3)
+ || action_line974(&i, keys, input, token, &cursor, 254);
continue;
yy544:
YYSKIP ();
- status = action_line974(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line974(keys_count, i, 3)
+ || action_line974(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -12677,7 +13680,7 @@ yy544:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line974: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line974: unused keys left after %u keys\n", i);
}
}
@@ -12703,7 +13706,7 @@ end:
#define YYFILL(n) { break; }
static int action_line981
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -12711,10 +13714,12 @@ static int action_line981
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -12724,17 +13729,17 @@ static int action_line981
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line981: at position %ld (iteration %u):\n"
+ , "error: lex_line981: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -12744,6 +13749,13 @@ static int action_line981
}
}
+static int check_key_count_line981(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line981: not enough keys\n");
+ return 1;
+}
+
int lex_line981()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -12777,7 +13789,7 @@ int lex_line981()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line981.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -12790,7 +13802,7 @@ int lex_line981()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -12800,11 +13812,13 @@ int lex_line981()
if (yych <= 0x0000DB7F) goto yy550;
yy548:
YYSKIP ();
- status = action_line981(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line981(keys_count, i, 3)
+ || action_line981(&i, keys, input, token, &cursor, 254);
continue;
yy550:
YYSKIP ();
- status = action_line981(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line981(keys_count, i, 3)
+ || action_line981(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -12816,7 +13830,7 @@ yy550:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line981: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line981: unused keys left after %u keys\n", i);
}
}
@@ -12842,7 +13856,7 @@ end:
#define YYFILL(n) { break; }
static int action_line988
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -12850,10 +13864,12 @@ static int action_line988
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -12863,17 +13879,17 @@ static int action_line988
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line988: at position %ld (iteration %u):\n"
+ , "error: lex_line988: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -12883,6 +13899,13 @@ static int action_line988
}
}
+static int check_key_count_line988(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line988: not enough keys\n");
+ return 1;
+}
+
int lex_line988()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -12916,7 +13939,7 @@ int lex_line988()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line988.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -12929,7 +13952,7 @@ int lex_line988()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -12939,11 +13962,13 @@ int lex_line988()
if (yych <= 0x0000DBFF) goto yy556;
yy554:
YYSKIP ();
- status = action_line988(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line988(keys_count, i, 3)
+ || action_line988(&i, keys, input, token, &cursor, 254);
continue;
yy556:
YYSKIP ();
- status = action_line988(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line988(keys_count, i, 3)
+ || action_line988(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -12955,7 +13980,7 @@ yy556:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line988: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line988: unused keys left after %u keys\n", i);
}
}
@@ -12981,7 +14006,7 @@ end:
#define YYFILL(n) { break; }
static int action_line995
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -12989,10 +14014,12 @@ static int action_line995
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -13002,17 +14029,17 @@ static int action_line995
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line995: at position %ld (iteration %u):\n"
+ , "error: lex_line995: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -13022,6 +14049,13 @@ static int action_line995
}
}
+static int check_key_count_line995(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line995: not enough keys\n");
+ return 1;
+}
+
int lex_line995()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -13055,7 +14089,7 @@ int lex_line995()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line995.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -13068,7 +14102,7 @@ int lex_line995()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -13078,11 +14112,13 @@ int lex_line995()
if (yych <= 0x0000DFFF) goto yy562;
yy560:
YYSKIP ();
- status = action_line995(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line995(keys_count, i, 3)
+ || action_line995(&i, keys, input, token, &cursor, 254);
continue;
yy562:
YYSKIP ();
- status = action_line995(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line995(keys_count, i, 3)
+ || action_line995(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -13094,7 +14130,7 @@ yy562:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line995: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line995: unused keys left after %u keys\n", i);
}
}
@@ -13120,7 +14156,7 @@ end:
#define YYFILL(n) { break; }
static int action_line1002
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -13128,10 +14164,12 @@ static int action_line1002
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -13141,17 +14179,17 @@ static int action_line1002
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line1002: at position %ld (iteration %u):\n"
+ , "error: lex_line1002: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -13161,6 +14199,13 @@ static int action_line1002
}
}
+static int check_key_count_line1002(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line1002: not enough keys\n");
+ return 1;
+}
+
int lex_line1002()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -13194,7 +14239,7 @@ int lex_line1002()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line1002.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -13207,7 +14252,7 @@ int lex_line1002()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -13217,11 +14262,13 @@ int lex_line1002()
if (yych <= 0x0000F8FF) goto yy568;
yy566:
YYSKIP ();
- status = action_line1002(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line1002(keys_count, i, 3)
+ || action_line1002(&i, keys, input, token, &cursor, 254);
continue;
yy568:
YYSKIP ();
- status = action_line1002(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line1002(keys_count, i, 3)
+ || action_line1002(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -13233,7 +14280,7 @@ yy568:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line1002: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line1002: unused keys left after %u keys\n", i);
}
}
@@ -13259,7 +14306,7 @@ end:
#define YYFILL(n) { break; }
static int action_line1009
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -13267,10 +14314,12 @@ static int action_line1009
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -13280,17 +14329,17 @@ static int action_line1009
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line1009: at position %ld (iteration %u):\n"
+ , "error: lex_line1009: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -13300,6 +14349,13 @@ static int action_line1009
}
}
+static int check_key_count_line1009(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line1009: not enough keys\n");
+ return 1;
+}
+
int lex_line1009()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -13333,7 +14389,7 @@ int lex_line1009()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line1009.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -13346,7 +14402,7 @@ int lex_line1009()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -13356,11 +14412,13 @@ int lex_line1009()
if (yych <= 0x0000FAFF) goto yy574;
yy572:
YYSKIP ();
- status = action_line1009(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line1009(keys_count, i, 3)
+ || action_line1009(&i, keys, input, token, &cursor, 254);
continue;
yy574:
YYSKIP ();
- status = action_line1009(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line1009(keys_count, i, 3)
+ || action_line1009(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -13372,7 +14430,7 @@ yy574:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line1009: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line1009: unused keys left after %u keys\n", i);
}
}
@@ -13398,7 +14456,7 @@ end:
#define YYFILL(n) { break; }
static int action_line1016
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -13406,10 +14464,12 @@ static int action_line1016
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -13419,17 +14479,17 @@ static int action_line1016
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line1016: at position %ld (iteration %u):\n"
+ , "error: lex_line1016: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -13439,6 +14499,13 @@ static int action_line1016
}
}
+static int check_key_count_line1016(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line1016: not enough keys\n");
+ return 1;
+}
+
int lex_line1016()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -13472,7 +14539,7 @@ int lex_line1016()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line1016.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -13485,7 +14552,7 @@ int lex_line1016()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -13495,11 +14562,13 @@ int lex_line1016()
if (yych <= 0x0000FB4F) goto yy580;
yy578:
YYSKIP ();
- status = action_line1016(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line1016(keys_count, i, 3)
+ || action_line1016(&i, keys, input, token, &cursor, 254);
continue;
yy580:
YYSKIP ();
- status = action_line1016(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line1016(keys_count, i, 3)
+ || action_line1016(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -13511,7 +14580,7 @@ yy580:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line1016: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line1016: unused keys left after %u keys\n", i);
}
}
@@ -13537,7 +14606,7 @@ end:
#define YYFILL(n) { break; }
static int action_line1023
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -13545,10 +14614,12 @@ static int action_line1023
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -13558,17 +14629,17 @@ static int action_line1023
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line1023: at position %ld (iteration %u):\n"
+ , "error: lex_line1023: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -13578,6 +14649,13 @@ static int action_line1023
}
}
+static int check_key_count_line1023(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line1023: not enough keys\n");
+ return 1;
+}
+
int lex_line1023()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -13611,7 +14689,7 @@ int lex_line1023()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line1023.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -13624,7 +14702,7 @@ int lex_line1023()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -13634,11 +14712,13 @@ int lex_line1023()
if (yych <= 0x0000FDFF) goto yy586;
yy584:
YYSKIP ();
- status = action_line1023(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line1023(keys_count, i, 3)
+ || action_line1023(&i, keys, input, token, &cursor, 254);
continue;
yy586:
YYSKIP ();
- status = action_line1023(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line1023(keys_count, i, 3)
+ || action_line1023(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -13650,7 +14730,7 @@ yy586:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line1023: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line1023: unused keys left after %u keys\n", i);
}
}
@@ -13676,7 +14756,7 @@ end:
#define YYFILL(n) { break; }
static int action_line1030
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -13684,10 +14764,12 @@ static int action_line1030
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -13697,17 +14779,17 @@ static int action_line1030
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line1030: at position %ld (iteration %u):\n"
+ , "error: lex_line1030: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -13717,6 +14799,13 @@ static int action_line1030
}
}
+static int check_key_count_line1030(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line1030: not enough keys\n");
+ return 1;
+}
+
int lex_line1030()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -13750,7 +14839,7 @@ int lex_line1030()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line1030.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -13763,7 +14852,7 @@ int lex_line1030()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -13773,11 +14862,13 @@ int lex_line1030()
if (yych <= 0x0000FE0F) goto yy592;
yy590:
YYSKIP ();
- status = action_line1030(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line1030(keys_count, i, 3)
+ || action_line1030(&i, keys, input, token, &cursor, 254);
continue;
yy592:
YYSKIP ();
- status = action_line1030(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line1030(keys_count, i, 3)
+ || action_line1030(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -13789,7 +14880,7 @@ yy592:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line1030: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line1030: unused keys left after %u keys\n", i);
}
}
@@ -13815,7 +14906,7 @@ end:
#define YYFILL(n) { break; }
static int action_line1037
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -13823,10 +14914,12 @@ static int action_line1037
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -13836,17 +14929,17 @@ static int action_line1037
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line1037: at position %ld (iteration %u):\n"
+ , "error: lex_line1037: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -13856,6 +14949,13 @@ static int action_line1037
}
}
+static int check_key_count_line1037(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line1037: not enough keys\n");
+ return 1;
+}
+
int lex_line1037()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -13889,7 +14989,7 @@ int lex_line1037()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line1037.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -13902,7 +15002,7 @@ int lex_line1037()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -13912,11 +15012,13 @@ int lex_line1037()
if (yych <= 0x0000FE2F) goto yy598;
yy596:
YYSKIP ();
- status = action_line1037(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line1037(keys_count, i, 3)
+ || action_line1037(&i, keys, input, token, &cursor, 254);
continue;
yy598:
YYSKIP ();
- status = action_line1037(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line1037(keys_count, i, 3)
+ || action_line1037(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -13928,7 +15030,7 @@ yy598:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line1037: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line1037: unused keys left after %u keys\n", i);
}
}
@@ -13954,7 +15056,7 @@ end:
#define YYFILL(n) { break; }
static int action_line1044
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -13962,10 +15064,12 @@ static int action_line1044
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -13975,17 +15079,17 @@ static int action_line1044
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line1044: at position %ld (iteration %u):\n"
+ , "error: lex_line1044: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -13995,6 +15099,13 @@ static int action_line1044
}
}
+static int check_key_count_line1044(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line1044: not enough keys\n");
+ return 1;
+}
+
int lex_line1044()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -14028,7 +15139,7 @@ int lex_line1044()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line1044.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -14041,7 +15152,7 @@ int lex_line1044()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -14051,11 +15162,13 @@ int lex_line1044()
if (yych <= 0x0000FE4F) goto yy604;
yy602:
YYSKIP ();
- status = action_line1044(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line1044(keys_count, i, 3)
+ || action_line1044(&i, keys, input, token, &cursor, 254);
continue;
yy604:
YYSKIP ();
- status = action_line1044(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line1044(keys_count, i, 3)
+ || action_line1044(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -14067,7 +15180,7 @@ yy604:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line1044: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line1044: unused keys left after %u keys\n", i);
}
}
@@ -14093,7 +15206,7 @@ end:
#define YYFILL(n) { break; }
static int action_line1051
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -14101,10 +15214,12 @@ static int action_line1051
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -14114,17 +15229,17 @@ static int action_line1051
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line1051: at position %ld (iteration %u):\n"
+ , "error: lex_line1051: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -14134,6 +15249,13 @@ static int action_line1051
}
}
+static int check_key_count_line1051(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line1051: not enough keys\n");
+ return 1;
+}
+
int lex_line1051()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -14167,7 +15289,7 @@ int lex_line1051()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line1051.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -14180,7 +15302,7 @@ int lex_line1051()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -14190,11 +15312,13 @@ int lex_line1051()
if (yych <= 0x0000FE6F) goto yy610;
yy608:
YYSKIP ();
- status = action_line1051(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line1051(keys_count, i, 3)
+ || action_line1051(&i, keys, input, token, &cursor, 254);
continue;
yy610:
YYSKIP ();
- status = action_line1051(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line1051(keys_count, i, 3)
+ || action_line1051(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -14206,7 +15330,7 @@ yy610:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line1051: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line1051: unused keys left after %u keys\n", i);
}
}
@@ -14232,7 +15356,7 @@ end:
#define YYFILL(n) { break; }
static int action_line1058
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -14240,10 +15364,12 @@ static int action_line1058
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -14253,17 +15379,17 @@ static int action_line1058
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line1058: at position %ld (iteration %u):\n"
+ , "error: lex_line1058: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -14273,6 +15399,13 @@ static int action_line1058
}
}
+static int check_key_count_line1058(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line1058: not enough keys\n");
+ return 1;
+}
+
int lex_line1058()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -14306,7 +15439,7 @@ int lex_line1058()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line1058.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -14319,7 +15452,7 @@ int lex_line1058()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -14329,11 +15462,13 @@ int lex_line1058()
if (yych <= 0x0000FEFF) goto yy616;
yy614:
YYSKIP ();
- status = action_line1058(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line1058(keys_count, i, 3)
+ || action_line1058(&i, keys, input, token, &cursor, 254);
continue;
yy616:
YYSKIP ();
- status = action_line1058(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line1058(keys_count, i, 3)
+ || action_line1058(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -14345,7 +15480,7 @@ yy616:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line1058: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line1058: unused keys left after %u keys\n", i);
}
}
@@ -14371,7 +15506,7 @@ end:
#define YYFILL(n) { break; }
static int action_line1065
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -14379,10 +15514,12 @@ static int action_line1065
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -14392,17 +15529,17 @@ static int action_line1065
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line1065: at position %ld (iteration %u):\n"
+ , "error: lex_line1065: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -14412,6 +15549,13 @@ static int action_line1065
}
}
+static int check_key_count_line1065(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line1065: not enough keys\n");
+ return 1;
+}
+
int lex_line1065()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -14445,7 +15589,7 @@ int lex_line1065()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line1065.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -14458,7 +15602,7 @@ int lex_line1065()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -14468,11 +15612,13 @@ int lex_line1065()
if (yych <= 0x0000FFEF) goto yy622;
yy620:
YYSKIP ();
- status = action_line1065(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line1065(keys_count, i, 3)
+ || action_line1065(&i, keys, input, token, &cursor, 254);
continue;
yy622:
YYSKIP ();
- status = action_line1065(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line1065(keys_count, i, 3)
+ || action_line1065(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -14484,7 +15630,7 @@ yy622:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line1065: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line1065: unused keys left after %u keys\n", i);
}
}
@@ -14510,7 +15656,7 @@ end:
#define YYFILL(n) { break; }
static int action_line1072
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -14518,10 +15664,12 @@ static int action_line1072
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -14531,17 +15679,17 @@ static int action_line1072
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line1072: at position %ld (iteration %u):\n"
+ , "error: lex_line1072: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -14551,6 +15699,13 @@ static int action_line1072
}
}
+static int check_key_count_line1072(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line1072: not enough keys\n");
+ return 1;
+}
+
int lex_line1072()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -14584,7 +15739,7 @@ int lex_line1072()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line1072.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -14597,7 +15752,7 @@ int lex_line1072()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -14607,11 +15762,13 @@ int lex_line1072()
if (yych <= 0x0000FFFF) goto yy628;
yy626:
YYSKIP ();
- status = action_line1072(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line1072(keys_count, i, 3)
+ || action_line1072(&i, keys, input, token, &cursor, 254);
continue;
yy628:
YYSKIP ();
- status = action_line1072(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line1072(keys_count, i, 3)
+ || action_line1072(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -14623,7 +15780,7 @@ yy628:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line1072: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line1072: unused keys left after %u keys\n", i);
}
}
@@ -14649,7 +15806,7 @@ end:
#define YYFILL(n) { break; }
static int action_line1079
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -14657,10 +15814,12 @@ static int action_line1079
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -14670,17 +15829,17 @@ static int action_line1079
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line1079: at position %ld (iteration %u):\n"
+ , "error: lex_line1079: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -14690,6 +15849,13 @@ static int action_line1079
}
}
+static int check_key_count_line1079(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line1079: not enough keys\n");
+ return 1;
+}
+
int lex_line1079()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -14723,7 +15889,7 @@ int lex_line1079()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.u--skeleton--encoding-policy(ignore).c.line1079.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -14736,7 +15902,7 @@ int lex_line1079()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -14785,11 +15951,13 @@ int lex_line1079()
}
yy632:
YYSKIP ();
- status = action_line1079(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line1079(keys_count, i, 3)
+ || action_line1079(&i, keys, input, token, &cursor, 0);
continue;
yy634:
YYSKIP ();
- status = action_line1079(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line1079(keys_count, i, 3)
+ || action_line1079(&i, keys, input, token, &cursor, 254);
continue;
}
@@ -14801,7 +15969,7 @@ yy634:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line1079: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line1079: unused keys left after %u keys\n", i);
}
}
diff --git a/test/unicode_blocks.x--encoding-policy(fail).c b/test/unicode_blocks.x--encoding-policy(fail).c
index d275c4c2..a6e6074b 100644
--- a/test/unicode_blocks.x--encoding-policy(fail).c
+++ b/test/unicode_blocks.x--encoding-policy(fail).c
@@ -1 +1 @@
-re2c: error: line 322, column 21: Bad code point range: '0xD800 - 0xDB7F'
+re2c: error: line 322, column 21: bad code point range: '0xD800 - 0xDB7F'
diff --git a/test/unicode_blocks.x--skeleton--encoding-policy(ignore).c b/test/unicode_blocks.x--skeleton--encoding-policy(ignore).c
index ed0ac52e..5d991e7d 100644
--- a/test/unicode_blocks.x--skeleton--encoding-policy(ignore).c
+++ b/test/unicode_blocks.x--skeleton--encoding-policy(ignore).c
@@ -1,7 +1,9 @@
/* Generated by re2c */
+#include <stddef.h> /* size_t */
#include <stdio.h>
#include <stdlib.h> /* malloc, free */
+#include <string.h> /* memcpy */
static void *read_file
( const char *fname
@@ -56,7 +58,7 @@ error:
#define YYFILL(n) { break; }
static int action_line344
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -64,10 +66,12 @@ static int action_line344
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -77,17 +81,17 @@ static int action_line344
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line344: at position %ld (iteration %u):\n"
+ , "error: lex_line344: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -97,6 +101,13 @@ static int action_line344
}
}
+static int check_key_count_line344(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line344: not enough keys\n");
+ return 1;
+}
+
int lex_line344()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -130,7 +141,7 @@ int lex_line344()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line344.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -143,7 +154,7 @@ int lex_line344()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -151,11 +162,13 @@ int lex_line344()
yych = YYPEEK ();
if (yych >= 0x0080) goto yy4;
YYSKIP ();
- status = action_line344(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line344(keys_count, i, 3)
+ || action_line344(&i, keys, input, token, &cursor, 0);
continue;
yy4:
YYSKIP ();
- status = action_line344(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line344(keys_count, i, 3)
+ || action_line344(&i, keys, input, token, &cursor, 254);
continue;
}
@@ -167,7 +180,7 @@ yy4:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line344: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line344: unused keys left after %u keys\n", i);
}
}
@@ -193,7 +206,7 @@ end:
#define YYFILL(n) { break; }
static int action_line351
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -201,10 +214,12 @@ static int action_line351
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -214,17 +229,17 @@ static int action_line351
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line351: at position %ld (iteration %u):\n"
+ , "error: lex_line351: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -234,6 +249,13 @@ static int action_line351
}
}
+static int check_key_count_line351(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line351: not enough keys\n");
+ return 1;
+}
+
int lex_line351()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -267,7 +289,7 @@ int lex_line351()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line351.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -280,7 +302,7 @@ int lex_line351()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -290,11 +312,13 @@ int lex_line351()
if (yych <= 0x00FF) goto yy10;
yy8:
YYSKIP ();
- status = action_line351(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line351(keys_count, i, 3)
+ || action_line351(&i, keys, input, token, &cursor, 254);
continue;
yy10:
YYSKIP ();
- status = action_line351(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line351(keys_count, i, 3)
+ || action_line351(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -306,7 +330,7 @@ yy10:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line351: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line351: unused keys left after %u keys\n", i);
}
}
@@ -332,7 +356,7 @@ end:
#define YYFILL(n) { break; }
static int action_line358
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -340,10 +364,12 @@ static int action_line358
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -353,17 +379,17 @@ static int action_line358
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line358: at position %ld (iteration %u):\n"
+ , "error: lex_line358: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -373,6 +399,13 @@ static int action_line358
}
}
+static int check_key_count_line358(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line358: not enough keys\n");
+ return 1;
+}
+
int lex_line358()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -406,7 +439,7 @@ int lex_line358()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line358.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -419,7 +452,7 @@ int lex_line358()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -429,11 +462,13 @@ int lex_line358()
if (yych <= 0x017F) goto yy16;
yy14:
YYSKIP ();
- status = action_line358(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line358(keys_count, i, 3)
+ || action_line358(&i, keys, input, token, &cursor, 254);
continue;
yy16:
YYSKIP ();
- status = action_line358(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line358(keys_count, i, 3)
+ || action_line358(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -445,7 +480,7 @@ yy16:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line358: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line358: unused keys left after %u keys\n", i);
}
}
@@ -471,7 +506,7 @@ end:
#define YYFILL(n) { break; }
static int action_line365
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -479,10 +514,12 @@ static int action_line365
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -492,17 +529,17 @@ static int action_line365
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line365: at position %ld (iteration %u):\n"
+ , "error: lex_line365: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -512,6 +549,13 @@ static int action_line365
}
}
+static int check_key_count_line365(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line365: not enough keys\n");
+ return 1;
+}
+
int lex_line365()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -545,7 +589,7 @@ int lex_line365()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line365.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -558,7 +602,7 @@ int lex_line365()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -568,11 +612,13 @@ int lex_line365()
if (yych <= 0x024F) goto yy22;
yy20:
YYSKIP ();
- status = action_line365(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line365(keys_count, i, 3)
+ || action_line365(&i, keys, input, token, &cursor, 254);
continue;
yy22:
YYSKIP ();
- status = action_line365(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line365(keys_count, i, 3)
+ || action_line365(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -584,7 +630,7 @@ yy22:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line365: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line365: unused keys left after %u keys\n", i);
}
}
@@ -610,7 +656,7 @@ end:
#define YYFILL(n) { break; }
static int action_line372
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -618,10 +664,12 @@ static int action_line372
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -631,17 +679,17 @@ static int action_line372
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line372: at position %ld (iteration %u):\n"
+ , "error: lex_line372: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -651,6 +699,13 @@ static int action_line372
}
}
+static int check_key_count_line372(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line372: not enough keys\n");
+ return 1;
+}
+
int lex_line372()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -684,7 +739,7 @@ int lex_line372()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line372.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -697,7 +752,7 @@ int lex_line372()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -707,11 +762,13 @@ int lex_line372()
if (yych <= 0x02AF) goto yy28;
yy26:
YYSKIP ();
- status = action_line372(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line372(keys_count, i, 3)
+ || action_line372(&i, keys, input, token, &cursor, 254);
continue;
yy28:
YYSKIP ();
- status = action_line372(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line372(keys_count, i, 3)
+ || action_line372(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -723,7 +780,7 @@ yy28:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line372: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line372: unused keys left after %u keys\n", i);
}
}
@@ -749,7 +806,7 @@ end:
#define YYFILL(n) { break; }
static int action_line379
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -757,10 +814,12 @@ static int action_line379
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -770,17 +829,17 @@ static int action_line379
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line379: at position %ld (iteration %u):\n"
+ , "error: lex_line379: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -790,6 +849,13 @@ static int action_line379
}
}
+static int check_key_count_line379(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line379: not enough keys\n");
+ return 1;
+}
+
int lex_line379()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -823,7 +889,7 @@ int lex_line379()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line379.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -836,7 +902,7 @@ int lex_line379()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -846,11 +912,13 @@ int lex_line379()
if (yych <= 0x02FF) goto yy34;
yy32:
YYSKIP ();
- status = action_line379(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line379(keys_count, i, 3)
+ || action_line379(&i, keys, input, token, &cursor, 254);
continue;
yy34:
YYSKIP ();
- status = action_line379(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line379(keys_count, i, 3)
+ || action_line379(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -862,7 +930,7 @@ yy34:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line379: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line379: unused keys left after %u keys\n", i);
}
}
@@ -888,7 +956,7 @@ end:
#define YYFILL(n) { break; }
static int action_line386
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -896,10 +964,12 @@ static int action_line386
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -909,17 +979,17 @@ static int action_line386
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line386: at position %ld (iteration %u):\n"
+ , "error: lex_line386: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -929,6 +999,13 @@ static int action_line386
}
}
+static int check_key_count_line386(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line386: not enough keys\n");
+ return 1;
+}
+
int lex_line386()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -962,7 +1039,7 @@ int lex_line386()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line386.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -975,7 +1052,7 @@ int lex_line386()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -985,11 +1062,13 @@ int lex_line386()
if (yych <= 0x036F) goto yy40;
yy38:
YYSKIP ();
- status = action_line386(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line386(keys_count, i, 3)
+ || action_line386(&i, keys, input, token, &cursor, 254);
continue;
yy40:
YYSKIP ();
- status = action_line386(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line386(keys_count, i, 3)
+ || action_line386(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -1001,7 +1080,7 @@ yy40:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line386: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line386: unused keys left after %u keys\n", i);
}
}
@@ -1027,7 +1106,7 @@ end:
#define YYFILL(n) { break; }
static int action_line393
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -1035,10 +1114,12 @@ static int action_line393
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -1048,17 +1129,17 @@ static int action_line393
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line393: at position %ld (iteration %u):\n"
+ , "error: lex_line393: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -1068,6 +1149,13 @@ static int action_line393
}
}
+static int check_key_count_line393(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line393: not enough keys\n");
+ return 1;
+}
+
int lex_line393()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -1101,7 +1189,7 @@ int lex_line393()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line393.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -1114,7 +1202,7 @@ int lex_line393()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -1124,11 +1212,13 @@ int lex_line393()
if (yych <= 0x03FF) goto yy46;
yy44:
YYSKIP ();
- status = action_line393(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line393(keys_count, i, 3)
+ || action_line393(&i, keys, input, token, &cursor, 254);
continue;
yy46:
YYSKIP ();
- status = action_line393(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line393(keys_count, i, 3)
+ || action_line393(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -1140,7 +1230,7 @@ yy46:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line393: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line393: unused keys left after %u keys\n", i);
}
}
@@ -1166,7 +1256,7 @@ end:
#define YYFILL(n) { break; }
static int action_line400
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -1174,10 +1264,12 @@ static int action_line400
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -1187,17 +1279,17 @@ static int action_line400
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line400: at position %ld (iteration %u):\n"
+ , "error: lex_line400: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -1207,6 +1299,13 @@ static int action_line400
}
}
+static int check_key_count_line400(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line400: not enough keys\n");
+ return 1;
+}
+
int lex_line400()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -1240,7 +1339,7 @@ int lex_line400()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line400.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -1253,7 +1352,7 @@ int lex_line400()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -1263,11 +1362,13 @@ int lex_line400()
if (yych <= 0x04FF) goto yy52;
yy50:
YYSKIP ();
- status = action_line400(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line400(keys_count, i, 3)
+ || action_line400(&i, keys, input, token, &cursor, 254);
continue;
yy52:
YYSKIP ();
- status = action_line400(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line400(keys_count, i, 3)
+ || action_line400(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -1279,7 +1380,7 @@ yy52:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line400: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line400: unused keys left after %u keys\n", i);
}
}
@@ -1305,7 +1406,7 @@ end:
#define YYFILL(n) { break; }
static int action_line407
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -1313,10 +1414,12 @@ static int action_line407
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -1326,17 +1429,17 @@ static int action_line407
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line407: at position %ld (iteration %u):\n"
+ , "error: lex_line407: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -1346,6 +1449,13 @@ static int action_line407
}
}
+static int check_key_count_line407(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line407: not enough keys\n");
+ return 1;
+}
+
int lex_line407()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -1379,7 +1489,7 @@ int lex_line407()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line407.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -1392,7 +1502,7 @@ int lex_line407()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -1402,11 +1512,13 @@ int lex_line407()
if (yych <= 0x052F) goto yy58;
yy56:
YYSKIP ();
- status = action_line407(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line407(keys_count, i, 3)
+ || action_line407(&i, keys, input, token, &cursor, 254);
continue;
yy58:
YYSKIP ();
- status = action_line407(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line407(keys_count, i, 3)
+ || action_line407(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -1418,7 +1530,7 @@ yy58:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line407: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line407: unused keys left after %u keys\n", i);
}
}
@@ -1444,7 +1556,7 @@ end:
#define YYFILL(n) { break; }
static int action_line414
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -1452,10 +1564,12 @@ static int action_line414
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -1465,17 +1579,17 @@ static int action_line414
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line414: at position %ld (iteration %u):\n"
+ , "error: lex_line414: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -1485,6 +1599,13 @@ static int action_line414
}
}
+static int check_key_count_line414(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line414: not enough keys\n");
+ return 1;
+}
+
int lex_line414()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -1518,7 +1639,7 @@ int lex_line414()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line414.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -1531,7 +1652,7 @@ int lex_line414()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -1541,11 +1662,13 @@ int lex_line414()
if (yych <= 0x058F) goto yy64;
yy62:
YYSKIP ();
- status = action_line414(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line414(keys_count, i, 3)
+ || action_line414(&i, keys, input, token, &cursor, 254);
continue;
yy64:
YYSKIP ();
- status = action_line414(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line414(keys_count, i, 3)
+ || action_line414(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -1557,7 +1680,7 @@ yy64:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line414: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line414: unused keys left after %u keys\n", i);
}
}
@@ -1583,7 +1706,7 @@ end:
#define YYFILL(n) { break; }
static int action_line421
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -1591,10 +1714,12 @@ static int action_line421
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -1604,17 +1729,17 @@ static int action_line421
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line421: at position %ld (iteration %u):\n"
+ , "error: lex_line421: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -1624,6 +1749,13 @@ static int action_line421
}
}
+static int check_key_count_line421(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line421: not enough keys\n");
+ return 1;
+}
+
int lex_line421()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -1657,7 +1789,7 @@ int lex_line421()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line421.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -1670,7 +1802,7 @@ int lex_line421()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -1680,11 +1812,13 @@ int lex_line421()
if (yych <= 0x05FF) goto yy70;
yy68:
YYSKIP ();
- status = action_line421(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line421(keys_count, i, 3)
+ || action_line421(&i, keys, input, token, &cursor, 254);
continue;
yy70:
YYSKIP ();
- status = action_line421(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line421(keys_count, i, 3)
+ || action_line421(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -1696,7 +1830,7 @@ yy70:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line421: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line421: unused keys left after %u keys\n", i);
}
}
@@ -1722,7 +1856,7 @@ end:
#define YYFILL(n) { break; }
static int action_line428
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -1730,10 +1864,12 @@ static int action_line428
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -1743,17 +1879,17 @@ static int action_line428
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line428: at position %ld (iteration %u):\n"
+ , "error: lex_line428: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -1763,6 +1899,13 @@ static int action_line428
}
}
+static int check_key_count_line428(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line428: not enough keys\n");
+ return 1;
+}
+
int lex_line428()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -1796,7 +1939,7 @@ int lex_line428()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line428.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -1809,7 +1952,7 @@ int lex_line428()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -1819,11 +1962,13 @@ int lex_line428()
if (yych <= 0x06FF) goto yy76;
yy74:
YYSKIP ();
- status = action_line428(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line428(keys_count, i, 3)
+ || action_line428(&i, keys, input, token, &cursor, 254);
continue;
yy76:
YYSKIP ();
- status = action_line428(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line428(keys_count, i, 3)
+ || action_line428(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -1835,7 +1980,7 @@ yy76:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line428: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line428: unused keys left after %u keys\n", i);
}
}
@@ -1861,7 +2006,7 @@ end:
#define YYFILL(n) { break; }
static int action_line435
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -1869,10 +2014,12 @@ static int action_line435
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -1882,17 +2029,17 @@ static int action_line435
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line435: at position %ld (iteration %u):\n"
+ , "error: lex_line435: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -1902,6 +2049,13 @@ static int action_line435
}
}
+static int check_key_count_line435(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line435: not enough keys\n");
+ return 1;
+}
+
int lex_line435()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -1935,7 +2089,7 @@ int lex_line435()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line435.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -1948,7 +2102,7 @@ int lex_line435()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -1958,11 +2112,13 @@ int lex_line435()
if (yych <= 0x074F) goto yy82;
yy80:
YYSKIP ();
- status = action_line435(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line435(keys_count, i, 3)
+ || action_line435(&i, keys, input, token, &cursor, 254);
continue;
yy82:
YYSKIP ();
- status = action_line435(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line435(keys_count, i, 3)
+ || action_line435(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -1974,7 +2130,7 @@ yy82:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line435: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line435: unused keys left after %u keys\n", i);
}
}
@@ -2000,7 +2156,7 @@ end:
#define YYFILL(n) { break; }
static int action_line442
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -2008,10 +2164,12 @@ static int action_line442
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -2021,17 +2179,17 @@ static int action_line442
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line442: at position %ld (iteration %u):\n"
+ , "error: lex_line442: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -2041,6 +2199,13 @@ static int action_line442
}
}
+static int check_key_count_line442(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line442: not enough keys\n");
+ return 1;
+}
+
int lex_line442()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -2074,7 +2239,7 @@ int lex_line442()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line442.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -2087,7 +2252,7 @@ int lex_line442()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -2097,11 +2262,13 @@ int lex_line442()
if (yych <= 0x07BF) goto yy88;
yy86:
YYSKIP ();
- status = action_line442(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line442(keys_count, i, 3)
+ || action_line442(&i, keys, input, token, &cursor, 254);
continue;
yy88:
YYSKIP ();
- status = action_line442(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line442(keys_count, i, 3)
+ || action_line442(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -2113,7 +2280,7 @@ yy88:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line442: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line442: unused keys left after %u keys\n", i);
}
}
@@ -2139,7 +2306,7 @@ end:
#define YYFILL(n) { break; }
static int action_line449
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -2147,10 +2314,12 @@ static int action_line449
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -2160,17 +2329,17 @@ static int action_line449
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line449: at position %ld (iteration %u):\n"
+ , "error: lex_line449: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -2180,6 +2349,13 @@ static int action_line449
}
}
+static int check_key_count_line449(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line449: not enough keys\n");
+ return 1;
+}
+
int lex_line449()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -2213,7 +2389,7 @@ int lex_line449()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line449.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -2226,7 +2402,7 @@ int lex_line449()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -2236,11 +2412,13 @@ int lex_line449()
if (yych <= 0x097F) goto yy94;
yy92:
YYSKIP ();
- status = action_line449(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line449(keys_count, i, 3)
+ || action_line449(&i, keys, input, token, &cursor, 254);
continue;
yy94:
YYSKIP ();
- status = action_line449(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line449(keys_count, i, 3)
+ || action_line449(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -2252,7 +2430,7 @@ yy94:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line449: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line449: unused keys left after %u keys\n", i);
}
}
@@ -2278,7 +2456,7 @@ end:
#define YYFILL(n) { break; }
static int action_line456
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -2286,10 +2464,12 @@ static int action_line456
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -2299,17 +2479,17 @@ static int action_line456
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line456: at position %ld (iteration %u):\n"
+ , "error: lex_line456: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -2319,6 +2499,13 @@ static int action_line456
}
}
+static int check_key_count_line456(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line456: not enough keys\n");
+ return 1;
+}
+
int lex_line456()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -2352,7 +2539,7 @@ int lex_line456()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line456.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -2365,7 +2552,7 @@ int lex_line456()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -2375,11 +2562,13 @@ int lex_line456()
if (yych <= 0x09FF) goto yy100;
yy98:
YYSKIP ();
- status = action_line456(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line456(keys_count, i, 3)
+ || action_line456(&i, keys, input, token, &cursor, 254);
continue;
yy100:
YYSKIP ();
- status = action_line456(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line456(keys_count, i, 3)
+ || action_line456(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -2391,7 +2580,7 @@ yy100:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line456: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line456: unused keys left after %u keys\n", i);
}
}
@@ -2417,7 +2606,7 @@ end:
#define YYFILL(n) { break; }
static int action_line463
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -2425,10 +2614,12 @@ static int action_line463
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -2438,17 +2629,17 @@ static int action_line463
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line463: at position %ld (iteration %u):\n"
+ , "error: lex_line463: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -2458,6 +2649,13 @@ static int action_line463
}
}
+static int check_key_count_line463(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line463: not enough keys\n");
+ return 1;
+}
+
int lex_line463()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -2491,7 +2689,7 @@ int lex_line463()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line463.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -2504,7 +2702,7 @@ int lex_line463()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -2514,11 +2712,13 @@ int lex_line463()
if (yych <= 0x0A7F) goto yy106;
yy104:
YYSKIP ();
- status = action_line463(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line463(keys_count, i, 3)
+ || action_line463(&i, keys, input, token, &cursor, 254);
continue;
yy106:
YYSKIP ();
- status = action_line463(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line463(keys_count, i, 3)
+ || action_line463(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -2530,7 +2730,7 @@ yy106:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line463: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line463: unused keys left after %u keys\n", i);
}
}
@@ -2556,7 +2756,7 @@ end:
#define YYFILL(n) { break; }
static int action_line470
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -2564,10 +2764,12 @@ static int action_line470
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -2577,17 +2779,17 @@ static int action_line470
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line470: at position %ld (iteration %u):\n"
+ , "error: lex_line470: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -2597,6 +2799,13 @@ static int action_line470
}
}
+static int check_key_count_line470(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line470: not enough keys\n");
+ return 1;
+}
+
int lex_line470()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -2630,7 +2839,7 @@ int lex_line470()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line470.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -2643,7 +2852,7 @@ int lex_line470()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -2653,11 +2862,13 @@ int lex_line470()
if (yych <= 0x0AFF) goto yy112;
yy110:
YYSKIP ();
- status = action_line470(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line470(keys_count, i, 3)
+ || action_line470(&i, keys, input, token, &cursor, 254);
continue;
yy112:
YYSKIP ();
- status = action_line470(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line470(keys_count, i, 3)
+ || action_line470(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -2669,7 +2880,7 @@ yy112:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line470: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line470: unused keys left after %u keys\n", i);
}
}
@@ -2695,7 +2906,7 @@ end:
#define YYFILL(n) { break; }
static int action_line477
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -2703,10 +2914,12 @@ static int action_line477
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -2716,17 +2929,17 @@ static int action_line477
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line477: at position %ld (iteration %u):\n"
+ , "error: lex_line477: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -2736,6 +2949,13 @@ static int action_line477
}
}
+static int check_key_count_line477(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line477: not enough keys\n");
+ return 1;
+}
+
int lex_line477()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -2769,7 +2989,7 @@ int lex_line477()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line477.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -2782,7 +3002,7 @@ int lex_line477()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -2792,11 +3012,13 @@ int lex_line477()
if (yych <= 0x0B7F) goto yy118;
yy116:
YYSKIP ();
- status = action_line477(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line477(keys_count, i, 3)
+ || action_line477(&i, keys, input, token, &cursor, 254);
continue;
yy118:
YYSKIP ();
- status = action_line477(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line477(keys_count, i, 3)
+ || action_line477(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -2808,7 +3030,7 @@ yy118:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line477: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line477: unused keys left after %u keys\n", i);
}
}
@@ -2834,7 +3056,7 @@ end:
#define YYFILL(n) { break; }
static int action_line484
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -2842,10 +3064,12 @@ static int action_line484
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -2855,17 +3079,17 @@ static int action_line484
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line484: at position %ld (iteration %u):\n"
+ , "error: lex_line484: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -2875,6 +3099,13 @@ static int action_line484
}
}
+static int check_key_count_line484(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line484: not enough keys\n");
+ return 1;
+}
+
int lex_line484()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -2908,7 +3139,7 @@ int lex_line484()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line484.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -2921,7 +3152,7 @@ int lex_line484()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -2931,11 +3162,13 @@ int lex_line484()
if (yych <= 0x0BFF) goto yy124;
yy122:
YYSKIP ();
- status = action_line484(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line484(keys_count, i, 3)
+ || action_line484(&i, keys, input, token, &cursor, 254);
continue;
yy124:
YYSKIP ();
- status = action_line484(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line484(keys_count, i, 3)
+ || action_line484(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -2947,7 +3180,7 @@ yy124:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line484: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line484: unused keys left after %u keys\n", i);
}
}
@@ -2973,7 +3206,7 @@ end:
#define YYFILL(n) { break; }
static int action_line491
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -2981,10 +3214,12 @@ static int action_line491
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -2994,17 +3229,17 @@ static int action_line491
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line491: at position %ld (iteration %u):\n"
+ , "error: lex_line491: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -3014,6 +3249,13 @@ static int action_line491
}
}
+static int check_key_count_line491(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line491: not enough keys\n");
+ return 1;
+}
+
int lex_line491()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -3047,7 +3289,7 @@ int lex_line491()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line491.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -3060,7 +3302,7 @@ int lex_line491()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -3070,11 +3312,13 @@ int lex_line491()
if (yych <= 0x0C7F) goto yy130;
yy128:
YYSKIP ();
- status = action_line491(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line491(keys_count, i, 3)
+ || action_line491(&i, keys, input, token, &cursor, 254);
continue;
yy130:
YYSKIP ();
- status = action_line491(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line491(keys_count, i, 3)
+ || action_line491(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -3086,7 +3330,7 @@ yy130:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line491: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line491: unused keys left after %u keys\n", i);
}
}
@@ -3112,7 +3356,7 @@ end:
#define YYFILL(n) { break; }
static int action_line498
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -3120,10 +3364,12 @@ static int action_line498
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -3133,17 +3379,17 @@ static int action_line498
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line498: at position %ld (iteration %u):\n"
+ , "error: lex_line498: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -3153,6 +3399,13 @@ static int action_line498
}
}
+static int check_key_count_line498(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line498: not enough keys\n");
+ return 1;
+}
+
int lex_line498()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -3186,7 +3439,7 @@ int lex_line498()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line498.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -3199,7 +3452,7 @@ int lex_line498()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -3209,11 +3462,13 @@ int lex_line498()
if (yych <= 0x0CFF) goto yy136;
yy134:
YYSKIP ();
- status = action_line498(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line498(keys_count, i, 3)
+ || action_line498(&i, keys, input, token, &cursor, 254);
continue;
yy136:
YYSKIP ();
- status = action_line498(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line498(keys_count, i, 3)
+ || action_line498(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -3225,7 +3480,7 @@ yy136:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line498: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line498: unused keys left after %u keys\n", i);
}
}
@@ -3251,7 +3506,7 @@ end:
#define YYFILL(n) { break; }
static int action_line505
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -3259,10 +3514,12 @@ static int action_line505
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -3272,17 +3529,17 @@ static int action_line505
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line505: at position %ld (iteration %u):\n"
+ , "error: lex_line505: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -3292,6 +3549,13 @@ static int action_line505
}
}
+static int check_key_count_line505(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line505: not enough keys\n");
+ return 1;
+}
+
int lex_line505()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -3325,7 +3589,7 @@ int lex_line505()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line505.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -3338,7 +3602,7 @@ int lex_line505()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -3348,11 +3612,13 @@ int lex_line505()
if (yych <= 0x0D7F) goto yy142;
yy140:
YYSKIP ();
- status = action_line505(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line505(keys_count, i, 3)
+ || action_line505(&i, keys, input, token, &cursor, 254);
continue;
yy142:
YYSKIP ();
- status = action_line505(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line505(keys_count, i, 3)
+ || action_line505(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -3364,7 +3630,7 @@ yy142:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line505: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line505: unused keys left after %u keys\n", i);
}
}
@@ -3390,7 +3656,7 @@ end:
#define YYFILL(n) { break; }
static int action_line512
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -3398,10 +3664,12 @@ static int action_line512
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -3411,17 +3679,17 @@ static int action_line512
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line512: at position %ld (iteration %u):\n"
+ , "error: lex_line512: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -3431,6 +3699,13 @@ static int action_line512
}
}
+static int check_key_count_line512(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line512: not enough keys\n");
+ return 1;
+}
+
int lex_line512()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -3464,7 +3739,7 @@ int lex_line512()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line512.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -3477,7 +3752,7 @@ int lex_line512()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -3487,11 +3762,13 @@ int lex_line512()
if (yych <= 0x0DFF) goto yy148;
yy146:
YYSKIP ();
- status = action_line512(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line512(keys_count, i, 3)
+ || action_line512(&i, keys, input, token, &cursor, 254);
continue;
yy148:
YYSKIP ();
- status = action_line512(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line512(keys_count, i, 3)
+ || action_line512(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -3503,7 +3780,7 @@ yy148:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line512: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line512: unused keys left after %u keys\n", i);
}
}
@@ -3529,7 +3806,7 @@ end:
#define YYFILL(n) { break; }
static int action_line519
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -3537,10 +3814,12 @@ static int action_line519
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -3550,17 +3829,17 @@ static int action_line519
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line519: at position %ld (iteration %u):\n"
+ , "error: lex_line519: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -3570,6 +3849,13 @@ static int action_line519
}
}
+static int check_key_count_line519(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line519: not enough keys\n");
+ return 1;
+}
+
int lex_line519()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -3603,7 +3889,7 @@ int lex_line519()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line519.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -3616,7 +3902,7 @@ int lex_line519()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -3626,11 +3912,13 @@ int lex_line519()
if (yych <= 0x0E7F) goto yy154;
yy152:
YYSKIP ();
- status = action_line519(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line519(keys_count, i, 3)
+ || action_line519(&i, keys, input, token, &cursor, 254);
continue;
yy154:
YYSKIP ();
- status = action_line519(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line519(keys_count, i, 3)
+ || action_line519(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -3642,7 +3930,7 @@ yy154:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line519: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line519: unused keys left after %u keys\n", i);
}
}
@@ -3668,7 +3956,7 @@ end:
#define YYFILL(n) { break; }
static int action_line526
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -3676,10 +3964,12 @@ static int action_line526
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -3689,17 +3979,17 @@ static int action_line526
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line526: at position %ld (iteration %u):\n"
+ , "error: lex_line526: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -3709,6 +3999,13 @@ static int action_line526
}
}
+static int check_key_count_line526(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line526: not enough keys\n");
+ return 1;
+}
+
int lex_line526()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -3742,7 +4039,7 @@ int lex_line526()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line526.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -3755,7 +4052,7 @@ int lex_line526()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -3765,11 +4062,13 @@ int lex_line526()
if (yych <= 0x0EFF) goto yy160;
yy158:
YYSKIP ();
- status = action_line526(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line526(keys_count, i, 3)
+ || action_line526(&i, keys, input, token, &cursor, 254);
continue;
yy160:
YYSKIP ();
- status = action_line526(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line526(keys_count, i, 3)
+ || action_line526(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -3781,7 +4080,7 @@ yy160:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line526: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line526: unused keys left after %u keys\n", i);
}
}
@@ -3807,7 +4106,7 @@ end:
#define YYFILL(n) { break; }
static int action_line533
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -3815,10 +4114,12 @@ static int action_line533
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -3828,17 +4129,17 @@ static int action_line533
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line533: at position %ld (iteration %u):\n"
+ , "error: lex_line533: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -3848,6 +4149,13 @@ static int action_line533
}
}
+static int check_key_count_line533(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line533: not enough keys\n");
+ return 1;
+}
+
int lex_line533()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -3881,7 +4189,7 @@ int lex_line533()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line533.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -3894,7 +4202,7 @@ int lex_line533()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -3904,11 +4212,13 @@ int lex_line533()
if (yych <= 0x0FFF) goto yy166;
yy164:
YYSKIP ();
- status = action_line533(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line533(keys_count, i, 3)
+ || action_line533(&i, keys, input, token, &cursor, 254);
continue;
yy166:
YYSKIP ();
- status = action_line533(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line533(keys_count, i, 3)
+ || action_line533(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -3920,7 +4230,7 @@ yy166:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line533: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line533: unused keys left after %u keys\n", i);
}
}
@@ -3946,7 +4256,7 @@ end:
#define YYFILL(n) { break; }
static int action_line540
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -3954,10 +4264,12 @@ static int action_line540
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -3967,17 +4279,17 @@ static int action_line540
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line540: at position %ld (iteration %u):\n"
+ , "error: lex_line540: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -3987,6 +4299,13 @@ static int action_line540
}
}
+static int check_key_count_line540(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line540: not enough keys\n");
+ return 1;
+}
+
int lex_line540()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -4020,7 +4339,7 @@ int lex_line540()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line540.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -4033,7 +4352,7 @@ int lex_line540()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -4043,11 +4362,13 @@ int lex_line540()
if (yych <= 0x109F) goto yy172;
yy170:
YYSKIP ();
- status = action_line540(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line540(keys_count, i, 3)
+ || action_line540(&i, keys, input, token, &cursor, 254);
continue;
yy172:
YYSKIP ();
- status = action_line540(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line540(keys_count, i, 3)
+ || action_line540(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -4059,7 +4380,7 @@ yy172:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line540: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line540: unused keys left after %u keys\n", i);
}
}
@@ -4085,7 +4406,7 @@ end:
#define YYFILL(n) { break; }
static int action_line547
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -4093,10 +4414,12 @@ static int action_line547
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -4106,17 +4429,17 @@ static int action_line547
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line547: at position %ld (iteration %u):\n"
+ , "error: lex_line547: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -4126,6 +4449,13 @@ static int action_line547
}
}
+static int check_key_count_line547(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line547: not enough keys\n");
+ return 1;
+}
+
int lex_line547()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -4159,7 +4489,7 @@ int lex_line547()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line547.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -4172,7 +4502,7 @@ int lex_line547()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -4182,11 +4512,13 @@ int lex_line547()
if (yych <= 0x10FF) goto yy178;
yy176:
YYSKIP ();
- status = action_line547(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line547(keys_count, i, 3)
+ || action_line547(&i, keys, input, token, &cursor, 254);
continue;
yy178:
YYSKIP ();
- status = action_line547(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line547(keys_count, i, 3)
+ || action_line547(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -4198,7 +4530,7 @@ yy178:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line547: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line547: unused keys left after %u keys\n", i);
}
}
@@ -4224,7 +4556,7 @@ end:
#define YYFILL(n) { break; }
static int action_line554
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -4232,10 +4564,12 @@ static int action_line554
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -4245,17 +4579,17 @@ static int action_line554
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line554: at position %ld (iteration %u):\n"
+ , "error: lex_line554: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -4265,6 +4599,13 @@ static int action_line554
}
}
+static int check_key_count_line554(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line554: not enough keys\n");
+ return 1;
+}
+
int lex_line554()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -4298,7 +4639,7 @@ int lex_line554()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line554.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -4311,7 +4652,7 @@ int lex_line554()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -4321,11 +4662,13 @@ int lex_line554()
if (yych <= 0x11FF) goto yy184;
yy182:
YYSKIP ();
- status = action_line554(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line554(keys_count, i, 3)
+ || action_line554(&i, keys, input, token, &cursor, 254);
continue;
yy184:
YYSKIP ();
- status = action_line554(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line554(keys_count, i, 3)
+ || action_line554(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -4337,7 +4680,7 @@ yy184:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line554: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line554: unused keys left after %u keys\n", i);
}
}
@@ -4363,7 +4706,7 @@ end:
#define YYFILL(n) { break; }
static int action_line561
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -4371,10 +4714,12 @@ static int action_line561
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -4384,17 +4729,17 @@ static int action_line561
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line561: at position %ld (iteration %u):\n"
+ , "error: lex_line561: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -4404,6 +4749,13 @@ static int action_line561
}
}
+static int check_key_count_line561(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line561: not enough keys\n");
+ return 1;
+}
+
int lex_line561()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -4437,7 +4789,7 @@ int lex_line561()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line561.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -4450,7 +4802,7 @@ int lex_line561()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -4460,11 +4812,13 @@ int lex_line561()
if (yych <= 0x137F) goto yy190;
yy188:
YYSKIP ();
- status = action_line561(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line561(keys_count, i, 3)
+ || action_line561(&i, keys, input, token, &cursor, 254);
continue;
yy190:
YYSKIP ();
- status = action_line561(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line561(keys_count, i, 3)
+ || action_line561(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -4476,7 +4830,7 @@ yy190:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line561: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line561: unused keys left after %u keys\n", i);
}
}
@@ -4502,7 +4856,7 @@ end:
#define YYFILL(n) { break; }
static int action_line568
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -4510,10 +4864,12 @@ static int action_line568
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -4523,17 +4879,17 @@ static int action_line568
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line568: at position %ld (iteration %u):\n"
+ , "error: lex_line568: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -4543,6 +4899,13 @@ static int action_line568
}
}
+static int check_key_count_line568(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line568: not enough keys\n");
+ return 1;
+}
+
int lex_line568()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -4576,7 +4939,7 @@ int lex_line568()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line568.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -4589,7 +4952,7 @@ int lex_line568()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -4599,11 +4962,13 @@ int lex_line568()
if (yych <= 0x13FF) goto yy196;
yy194:
YYSKIP ();
- status = action_line568(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line568(keys_count, i, 3)
+ || action_line568(&i, keys, input, token, &cursor, 254);
continue;
yy196:
YYSKIP ();
- status = action_line568(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line568(keys_count, i, 3)
+ || action_line568(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -4615,7 +4980,7 @@ yy196:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line568: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line568: unused keys left after %u keys\n", i);
}
}
@@ -4641,7 +5006,7 @@ end:
#define YYFILL(n) { break; }
static int action_line575
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -4649,10 +5014,12 @@ static int action_line575
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -4662,17 +5029,17 @@ static int action_line575
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line575: at position %ld (iteration %u):\n"
+ , "error: lex_line575: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -4682,6 +5049,13 @@ static int action_line575
}
}
+static int check_key_count_line575(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line575: not enough keys\n");
+ return 1;
+}
+
int lex_line575()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -4715,7 +5089,7 @@ int lex_line575()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line575.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -4728,7 +5102,7 @@ int lex_line575()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -4738,11 +5112,13 @@ int lex_line575()
if (yych <= 0x167F) goto yy202;
yy200:
YYSKIP ();
- status = action_line575(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line575(keys_count, i, 3)
+ || action_line575(&i, keys, input, token, &cursor, 254);
continue;
yy202:
YYSKIP ();
- status = action_line575(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line575(keys_count, i, 3)
+ || action_line575(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -4754,7 +5130,7 @@ yy202:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line575: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line575: unused keys left after %u keys\n", i);
}
}
@@ -4780,7 +5156,7 @@ end:
#define YYFILL(n) { break; }
static int action_line582
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -4788,10 +5164,12 @@ static int action_line582
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -4801,17 +5179,17 @@ static int action_line582
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line582: at position %ld (iteration %u):\n"
+ , "error: lex_line582: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -4821,6 +5199,13 @@ static int action_line582
}
}
+static int check_key_count_line582(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line582: not enough keys\n");
+ return 1;
+}
+
int lex_line582()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -4854,7 +5239,7 @@ int lex_line582()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line582.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -4867,7 +5252,7 @@ int lex_line582()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -4877,11 +5262,13 @@ int lex_line582()
if (yych <= 0x169F) goto yy208;
yy206:
YYSKIP ();
- status = action_line582(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line582(keys_count, i, 3)
+ || action_line582(&i, keys, input, token, &cursor, 254);
continue;
yy208:
YYSKIP ();
- status = action_line582(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line582(keys_count, i, 3)
+ || action_line582(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -4893,7 +5280,7 @@ yy208:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line582: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line582: unused keys left after %u keys\n", i);
}
}
@@ -4919,7 +5306,7 @@ end:
#define YYFILL(n) { break; }
static int action_line589
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -4927,10 +5314,12 @@ static int action_line589
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -4940,17 +5329,17 @@ static int action_line589
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line589: at position %ld (iteration %u):\n"
+ , "error: lex_line589: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -4960,6 +5349,13 @@ static int action_line589
}
}
+static int check_key_count_line589(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line589: not enough keys\n");
+ return 1;
+}
+
int lex_line589()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -4993,7 +5389,7 @@ int lex_line589()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line589.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -5006,7 +5402,7 @@ int lex_line589()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -5016,11 +5412,13 @@ int lex_line589()
if (yych <= 0x16FF) goto yy214;
yy212:
YYSKIP ();
- status = action_line589(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line589(keys_count, i, 3)
+ || action_line589(&i, keys, input, token, &cursor, 254);
continue;
yy214:
YYSKIP ();
- status = action_line589(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line589(keys_count, i, 3)
+ || action_line589(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -5032,7 +5430,7 @@ yy214:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line589: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line589: unused keys left after %u keys\n", i);
}
}
@@ -5058,7 +5456,7 @@ end:
#define YYFILL(n) { break; }
static int action_line596
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -5066,10 +5464,12 @@ static int action_line596
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -5079,17 +5479,17 @@ static int action_line596
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line596: at position %ld (iteration %u):\n"
+ , "error: lex_line596: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -5099,6 +5499,13 @@ static int action_line596
}
}
+static int check_key_count_line596(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line596: not enough keys\n");
+ return 1;
+}
+
int lex_line596()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -5132,7 +5539,7 @@ int lex_line596()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line596.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -5145,7 +5552,7 @@ int lex_line596()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -5155,11 +5562,13 @@ int lex_line596()
if (yych <= 0x171F) goto yy220;
yy218:
YYSKIP ();
- status = action_line596(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line596(keys_count, i, 3)
+ || action_line596(&i, keys, input, token, &cursor, 254);
continue;
yy220:
YYSKIP ();
- status = action_line596(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line596(keys_count, i, 3)
+ || action_line596(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -5171,7 +5580,7 @@ yy220:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line596: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line596: unused keys left after %u keys\n", i);
}
}
@@ -5197,7 +5606,7 @@ end:
#define YYFILL(n) { break; }
static int action_line603
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -5205,10 +5614,12 @@ static int action_line603
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -5218,17 +5629,17 @@ static int action_line603
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line603: at position %ld (iteration %u):\n"
+ , "error: lex_line603: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -5238,6 +5649,13 @@ static int action_line603
}
}
+static int check_key_count_line603(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line603: not enough keys\n");
+ return 1;
+}
+
int lex_line603()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -5271,7 +5689,7 @@ int lex_line603()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line603.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -5284,7 +5702,7 @@ int lex_line603()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -5294,11 +5712,13 @@ int lex_line603()
if (yych <= 0x173F) goto yy226;
yy224:
YYSKIP ();
- status = action_line603(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line603(keys_count, i, 3)
+ || action_line603(&i, keys, input, token, &cursor, 254);
continue;
yy226:
YYSKIP ();
- status = action_line603(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line603(keys_count, i, 3)
+ || action_line603(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -5310,7 +5730,7 @@ yy226:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line603: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line603: unused keys left after %u keys\n", i);
}
}
@@ -5336,7 +5756,7 @@ end:
#define YYFILL(n) { break; }
static int action_line610
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -5344,10 +5764,12 @@ static int action_line610
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -5357,17 +5779,17 @@ static int action_line610
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line610: at position %ld (iteration %u):\n"
+ , "error: lex_line610: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -5377,6 +5799,13 @@ static int action_line610
}
}
+static int check_key_count_line610(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line610: not enough keys\n");
+ return 1;
+}
+
int lex_line610()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -5410,7 +5839,7 @@ int lex_line610()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line610.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -5423,7 +5852,7 @@ int lex_line610()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -5433,11 +5862,13 @@ int lex_line610()
if (yych <= 0x175F) goto yy232;
yy230:
YYSKIP ();
- status = action_line610(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line610(keys_count, i, 3)
+ || action_line610(&i, keys, input, token, &cursor, 254);
continue;
yy232:
YYSKIP ();
- status = action_line610(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line610(keys_count, i, 3)
+ || action_line610(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -5449,7 +5880,7 @@ yy232:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line610: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line610: unused keys left after %u keys\n", i);
}
}
@@ -5475,7 +5906,7 @@ end:
#define YYFILL(n) { break; }
static int action_line617
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -5483,10 +5914,12 @@ static int action_line617
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -5496,17 +5929,17 @@ static int action_line617
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line617: at position %ld (iteration %u):\n"
+ , "error: lex_line617: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -5516,6 +5949,13 @@ static int action_line617
}
}
+static int check_key_count_line617(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line617: not enough keys\n");
+ return 1;
+}
+
int lex_line617()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -5549,7 +5989,7 @@ int lex_line617()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line617.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -5562,7 +6002,7 @@ int lex_line617()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -5572,11 +6012,13 @@ int lex_line617()
if (yych <= 0x177F) goto yy238;
yy236:
YYSKIP ();
- status = action_line617(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line617(keys_count, i, 3)
+ || action_line617(&i, keys, input, token, &cursor, 254);
continue;
yy238:
YYSKIP ();
- status = action_line617(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line617(keys_count, i, 3)
+ || action_line617(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -5588,7 +6030,7 @@ yy238:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line617: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line617: unused keys left after %u keys\n", i);
}
}
@@ -5614,7 +6056,7 @@ end:
#define YYFILL(n) { break; }
static int action_line624
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -5622,10 +6064,12 @@ static int action_line624
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -5635,17 +6079,17 @@ static int action_line624
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line624: at position %ld (iteration %u):\n"
+ , "error: lex_line624: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -5655,6 +6099,13 @@ static int action_line624
}
}
+static int check_key_count_line624(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line624: not enough keys\n");
+ return 1;
+}
+
int lex_line624()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -5688,7 +6139,7 @@ int lex_line624()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line624.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -5701,7 +6152,7 @@ int lex_line624()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -5711,11 +6162,13 @@ int lex_line624()
if (yych <= 0x17FF) goto yy244;
yy242:
YYSKIP ();
- status = action_line624(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line624(keys_count, i, 3)
+ || action_line624(&i, keys, input, token, &cursor, 254);
continue;
yy244:
YYSKIP ();
- status = action_line624(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line624(keys_count, i, 3)
+ || action_line624(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -5727,7 +6180,7 @@ yy244:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line624: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line624: unused keys left after %u keys\n", i);
}
}
@@ -5753,7 +6206,7 @@ end:
#define YYFILL(n) { break; }
static int action_line631
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -5761,10 +6214,12 @@ static int action_line631
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -5774,17 +6229,17 @@ static int action_line631
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line631: at position %ld (iteration %u):\n"
+ , "error: lex_line631: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -5794,6 +6249,13 @@ static int action_line631
}
}
+static int check_key_count_line631(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line631: not enough keys\n");
+ return 1;
+}
+
int lex_line631()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -5827,7 +6289,7 @@ int lex_line631()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line631.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -5840,7 +6302,7 @@ int lex_line631()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -5850,11 +6312,13 @@ int lex_line631()
if (yych <= 0x18AF) goto yy250;
yy248:
YYSKIP ();
- status = action_line631(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line631(keys_count, i, 3)
+ || action_line631(&i, keys, input, token, &cursor, 254);
continue;
yy250:
YYSKIP ();
- status = action_line631(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line631(keys_count, i, 3)
+ || action_line631(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -5866,7 +6330,7 @@ yy250:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line631: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line631: unused keys left after %u keys\n", i);
}
}
@@ -5892,7 +6356,7 @@ end:
#define YYFILL(n) { break; }
static int action_line638
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -5900,10 +6364,12 @@ static int action_line638
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -5913,17 +6379,17 @@ static int action_line638
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line638: at position %ld (iteration %u):\n"
+ , "error: lex_line638: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -5933,6 +6399,13 @@ static int action_line638
}
}
+static int check_key_count_line638(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line638: not enough keys\n");
+ return 1;
+}
+
int lex_line638()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -5966,7 +6439,7 @@ int lex_line638()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line638.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -5979,7 +6452,7 @@ int lex_line638()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -5989,11 +6462,13 @@ int lex_line638()
if (yych <= 0x194F) goto yy256;
yy254:
YYSKIP ();
- status = action_line638(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line638(keys_count, i, 3)
+ || action_line638(&i, keys, input, token, &cursor, 254);
continue;
yy256:
YYSKIP ();
- status = action_line638(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line638(keys_count, i, 3)
+ || action_line638(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -6005,7 +6480,7 @@ yy256:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line638: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line638: unused keys left after %u keys\n", i);
}
}
@@ -6031,7 +6506,7 @@ end:
#define YYFILL(n) { break; }
static int action_line645
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -6039,10 +6514,12 @@ static int action_line645
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -6052,17 +6529,17 @@ static int action_line645
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line645: at position %ld (iteration %u):\n"
+ , "error: lex_line645: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -6072,6 +6549,13 @@ static int action_line645
}
}
+static int check_key_count_line645(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line645: not enough keys\n");
+ return 1;
+}
+
int lex_line645()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -6105,7 +6589,7 @@ int lex_line645()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line645.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -6118,7 +6602,7 @@ int lex_line645()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -6128,11 +6612,13 @@ int lex_line645()
if (yych <= 0x197F) goto yy262;
yy260:
YYSKIP ();
- status = action_line645(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line645(keys_count, i, 3)
+ || action_line645(&i, keys, input, token, &cursor, 254);
continue;
yy262:
YYSKIP ();
- status = action_line645(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line645(keys_count, i, 3)
+ || action_line645(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -6144,7 +6630,7 @@ yy262:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line645: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line645: unused keys left after %u keys\n", i);
}
}
@@ -6170,7 +6656,7 @@ end:
#define YYFILL(n) { break; }
static int action_line652
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -6178,10 +6664,12 @@ static int action_line652
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -6191,17 +6679,17 @@ static int action_line652
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line652: at position %ld (iteration %u):\n"
+ , "error: lex_line652: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -6211,6 +6699,13 @@ static int action_line652
}
}
+static int check_key_count_line652(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line652: not enough keys\n");
+ return 1;
+}
+
int lex_line652()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -6244,7 +6739,7 @@ int lex_line652()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line652.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -6257,7 +6752,7 @@ int lex_line652()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -6267,11 +6762,13 @@ int lex_line652()
if (yych <= 0x19FF) goto yy268;
yy266:
YYSKIP ();
- status = action_line652(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line652(keys_count, i, 3)
+ || action_line652(&i, keys, input, token, &cursor, 254);
continue;
yy268:
YYSKIP ();
- status = action_line652(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line652(keys_count, i, 3)
+ || action_line652(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -6283,7 +6780,7 @@ yy268:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line652: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line652: unused keys left after %u keys\n", i);
}
}
@@ -6309,7 +6806,7 @@ end:
#define YYFILL(n) { break; }
static int action_line659
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -6317,10 +6814,12 @@ static int action_line659
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -6330,17 +6829,17 @@ static int action_line659
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line659: at position %ld (iteration %u):\n"
+ , "error: lex_line659: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -6350,6 +6849,13 @@ static int action_line659
}
}
+static int check_key_count_line659(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line659: not enough keys\n");
+ return 1;
+}
+
int lex_line659()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -6383,7 +6889,7 @@ int lex_line659()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line659.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -6396,7 +6902,7 @@ int lex_line659()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -6406,11 +6912,13 @@ int lex_line659()
if (yych <= 0x1D7F) goto yy274;
yy272:
YYSKIP ();
- status = action_line659(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line659(keys_count, i, 3)
+ || action_line659(&i, keys, input, token, &cursor, 254);
continue;
yy274:
YYSKIP ();
- status = action_line659(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line659(keys_count, i, 3)
+ || action_line659(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -6422,7 +6930,7 @@ yy274:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line659: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line659: unused keys left after %u keys\n", i);
}
}
@@ -6448,7 +6956,7 @@ end:
#define YYFILL(n) { break; }
static int action_line666
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -6456,10 +6964,12 @@ static int action_line666
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -6469,17 +6979,17 @@ static int action_line666
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line666: at position %ld (iteration %u):\n"
+ , "error: lex_line666: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -6489,6 +6999,13 @@ static int action_line666
}
}
+static int check_key_count_line666(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line666: not enough keys\n");
+ return 1;
+}
+
int lex_line666()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -6522,7 +7039,7 @@ int lex_line666()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line666.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -6535,7 +7052,7 @@ int lex_line666()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -6545,11 +7062,13 @@ int lex_line666()
if (yych <= 0x1EFF) goto yy280;
yy278:
YYSKIP ();
- status = action_line666(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line666(keys_count, i, 3)
+ || action_line666(&i, keys, input, token, &cursor, 254);
continue;
yy280:
YYSKIP ();
- status = action_line666(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line666(keys_count, i, 3)
+ || action_line666(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -6561,7 +7080,7 @@ yy280:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line666: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line666: unused keys left after %u keys\n", i);
}
}
@@ -6587,7 +7106,7 @@ end:
#define YYFILL(n) { break; }
static int action_line673
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -6595,10 +7114,12 @@ static int action_line673
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -6608,17 +7129,17 @@ static int action_line673
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line673: at position %ld (iteration %u):\n"
+ , "error: lex_line673: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -6628,6 +7149,13 @@ static int action_line673
}
}
+static int check_key_count_line673(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line673: not enough keys\n");
+ return 1;
+}
+
int lex_line673()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -6661,7 +7189,7 @@ int lex_line673()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line673.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -6674,7 +7202,7 @@ int lex_line673()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -6684,11 +7212,13 @@ int lex_line673()
if (yych <= 0x1FFF) goto yy286;
yy284:
YYSKIP ();
- status = action_line673(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line673(keys_count, i, 3)
+ || action_line673(&i, keys, input, token, &cursor, 254);
continue;
yy286:
YYSKIP ();
- status = action_line673(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line673(keys_count, i, 3)
+ || action_line673(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -6700,7 +7230,7 @@ yy286:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line673: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line673: unused keys left after %u keys\n", i);
}
}
@@ -6726,7 +7256,7 @@ end:
#define YYFILL(n) { break; }
static int action_line680
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -6734,10 +7264,12 @@ static int action_line680
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -6747,17 +7279,17 @@ static int action_line680
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line680: at position %ld (iteration %u):\n"
+ , "error: lex_line680: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -6767,6 +7299,13 @@ static int action_line680
}
}
+static int check_key_count_line680(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line680: not enough keys\n");
+ return 1;
+}
+
int lex_line680()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -6800,7 +7339,7 @@ int lex_line680()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line680.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -6813,7 +7352,7 @@ int lex_line680()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -6823,11 +7362,13 @@ int lex_line680()
if (yych <= 0x206F) goto yy292;
yy290:
YYSKIP ();
- status = action_line680(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line680(keys_count, i, 3)
+ || action_line680(&i, keys, input, token, &cursor, 254);
continue;
yy292:
YYSKIP ();
- status = action_line680(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line680(keys_count, i, 3)
+ || action_line680(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -6839,7 +7380,7 @@ yy292:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line680: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line680: unused keys left after %u keys\n", i);
}
}
@@ -6865,7 +7406,7 @@ end:
#define YYFILL(n) { break; }
static int action_line687
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -6873,10 +7414,12 @@ static int action_line687
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -6886,17 +7429,17 @@ static int action_line687
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line687: at position %ld (iteration %u):\n"
+ , "error: lex_line687: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -6906,6 +7449,13 @@ static int action_line687
}
}
+static int check_key_count_line687(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line687: not enough keys\n");
+ return 1;
+}
+
int lex_line687()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -6939,7 +7489,7 @@ int lex_line687()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line687.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -6952,7 +7502,7 @@ int lex_line687()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -6962,11 +7512,13 @@ int lex_line687()
if (yych <= 0x209F) goto yy298;
yy296:
YYSKIP ();
- status = action_line687(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line687(keys_count, i, 3)
+ || action_line687(&i, keys, input, token, &cursor, 254);
continue;
yy298:
YYSKIP ();
- status = action_line687(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line687(keys_count, i, 3)
+ || action_line687(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -6978,7 +7530,7 @@ yy298:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line687: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line687: unused keys left after %u keys\n", i);
}
}
@@ -7004,7 +7556,7 @@ end:
#define YYFILL(n) { break; }
static int action_line694
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -7012,10 +7564,12 @@ static int action_line694
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -7025,17 +7579,17 @@ static int action_line694
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line694: at position %ld (iteration %u):\n"
+ , "error: lex_line694: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -7045,6 +7599,13 @@ static int action_line694
}
}
+static int check_key_count_line694(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line694: not enough keys\n");
+ return 1;
+}
+
int lex_line694()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -7078,7 +7639,7 @@ int lex_line694()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line694.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -7091,7 +7652,7 @@ int lex_line694()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -7101,11 +7662,13 @@ int lex_line694()
if (yych <= 0x20CF) goto yy304;
yy302:
YYSKIP ();
- status = action_line694(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line694(keys_count, i, 3)
+ || action_line694(&i, keys, input, token, &cursor, 254);
continue;
yy304:
YYSKIP ();
- status = action_line694(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line694(keys_count, i, 3)
+ || action_line694(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -7117,7 +7680,7 @@ yy304:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line694: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line694: unused keys left after %u keys\n", i);
}
}
@@ -7143,7 +7706,7 @@ end:
#define YYFILL(n) { break; }
static int action_line701
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -7151,10 +7714,12 @@ static int action_line701
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -7164,17 +7729,17 @@ static int action_line701
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line701: at position %ld (iteration %u):\n"
+ , "error: lex_line701: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -7184,6 +7749,13 @@ static int action_line701
}
}
+static int check_key_count_line701(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line701: not enough keys\n");
+ return 1;
+}
+
int lex_line701()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -7217,7 +7789,7 @@ int lex_line701()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line701.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -7230,7 +7802,7 @@ int lex_line701()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -7240,11 +7812,13 @@ int lex_line701()
if (yych <= 0x20FF) goto yy310;
yy308:
YYSKIP ();
- status = action_line701(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line701(keys_count, i, 3)
+ || action_line701(&i, keys, input, token, &cursor, 254);
continue;
yy310:
YYSKIP ();
- status = action_line701(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line701(keys_count, i, 3)
+ || action_line701(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -7256,7 +7830,7 @@ yy310:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line701: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line701: unused keys left after %u keys\n", i);
}
}
@@ -7282,7 +7856,7 @@ end:
#define YYFILL(n) { break; }
static int action_line708
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -7290,10 +7864,12 @@ static int action_line708
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -7303,17 +7879,17 @@ static int action_line708
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line708: at position %ld (iteration %u):\n"
+ , "error: lex_line708: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -7323,6 +7899,13 @@ static int action_line708
}
}
+static int check_key_count_line708(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line708: not enough keys\n");
+ return 1;
+}
+
int lex_line708()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -7356,7 +7939,7 @@ int lex_line708()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line708.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -7369,7 +7952,7 @@ int lex_line708()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -7379,11 +7962,13 @@ int lex_line708()
if (yych <= 0x214F) goto yy316;
yy314:
YYSKIP ();
- status = action_line708(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line708(keys_count, i, 3)
+ || action_line708(&i, keys, input, token, &cursor, 254);
continue;
yy316:
YYSKIP ();
- status = action_line708(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line708(keys_count, i, 3)
+ || action_line708(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -7395,7 +7980,7 @@ yy316:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line708: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line708: unused keys left after %u keys\n", i);
}
}
@@ -7421,7 +8006,7 @@ end:
#define YYFILL(n) { break; }
static int action_line715
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -7429,10 +8014,12 @@ static int action_line715
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -7442,17 +8029,17 @@ static int action_line715
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line715: at position %ld (iteration %u):\n"
+ , "error: lex_line715: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -7462,6 +8049,13 @@ static int action_line715
}
}
+static int check_key_count_line715(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line715: not enough keys\n");
+ return 1;
+}
+
int lex_line715()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -7495,7 +8089,7 @@ int lex_line715()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line715.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -7508,7 +8102,7 @@ int lex_line715()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -7518,11 +8112,13 @@ int lex_line715()
if (yych <= 0x218F) goto yy322;
yy320:
YYSKIP ();
- status = action_line715(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line715(keys_count, i, 3)
+ || action_line715(&i, keys, input, token, &cursor, 254);
continue;
yy322:
YYSKIP ();
- status = action_line715(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line715(keys_count, i, 3)
+ || action_line715(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -7534,7 +8130,7 @@ yy322:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line715: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line715: unused keys left after %u keys\n", i);
}
}
@@ -7560,7 +8156,7 @@ end:
#define YYFILL(n) { break; }
static int action_line722
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -7568,10 +8164,12 @@ static int action_line722
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -7581,17 +8179,17 @@ static int action_line722
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line722: at position %ld (iteration %u):\n"
+ , "error: lex_line722: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -7601,6 +8199,13 @@ static int action_line722
}
}
+static int check_key_count_line722(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line722: not enough keys\n");
+ return 1;
+}
+
int lex_line722()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -7634,7 +8239,7 @@ int lex_line722()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line722.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -7647,7 +8252,7 @@ int lex_line722()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -7657,11 +8262,13 @@ int lex_line722()
if (yych <= 0x21FF) goto yy328;
yy326:
YYSKIP ();
- status = action_line722(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line722(keys_count, i, 3)
+ || action_line722(&i, keys, input, token, &cursor, 254);
continue;
yy328:
YYSKIP ();
- status = action_line722(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line722(keys_count, i, 3)
+ || action_line722(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -7673,7 +8280,7 @@ yy328:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line722: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line722: unused keys left after %u keys\n", i);
}
}
@@ -7699,7 +8306,7 @@ end:
#define YYFILL(n) { break; }
static int action_line729
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -7707,10 +8314,12 @@ static int action_line729
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -7720,17 +8329,17 @@ static int action_line729
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line729: at position %ld (iteration %u):\n"
+ , "error: lex_line729: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -7740,6 +8349,13 @@ static int action_line729
}
}
+static int check_key_count_line729(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line729: not enough keys\n");
+ return 1;
+}
+
int lex_line729()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -7773,7 +8389,7 @@ int lex_line729()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line729.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -7786,7 +8402,7 @@ int lex_line729()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -7796,11 +8412,13 @@ int lex_line729()
if (yych <= 0x22FF) goto yy334;
yy332:
YYSKIP ();
- status = action_line729(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line729(keys_count, i, 3)
+ || action_line729(&i, keys, input, token, &cursor, 254);
continue;
yy334:
YYSKIP ();
- status = action_line729(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line729(keys_count, i, 3)
+ || action_line729(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -7812,7 +8430,7 @@ yy334:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line729: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line729: unused keys left after %u keys\n", i);
}
}
@@ -7838,7 +8456,7 @@ end:
#define YYFILL(n) { break; }
static int action_line736
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -7846,10 +8464,12 @@ static int action_line736
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -7859,17 +8479,17 @@ static int action_line736
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line736: at position %ld (iteration %u):\n"
+ , "error: lex_line736: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -7879,6 +8499,13 @@ static int action_line736
}
}
+static int check_key_count_line736(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line736: not enough keys\n");
+ return 1;
+}
+
int lex_line736()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -7912,7 +8539,7 @@ int lex_line736()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line736.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -7925,7 +8552,7 @@ int lex_line736()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -7935,11 +8562,13 @@ int lex_line736()
if (yych <= 0x23FF) goto yy340;
yy338:
YYSKIP ();
- status = action_line736(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line736(keys_count, i, 3)
+ || action_line736(&i, keys, input, token, &cursor, 254);
continue;
yy340:
YYSKIP ();
- status = action_line736(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line736(keys_count, i, 3)
+ || action_line736(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -7951,7 +8580,7 @@ yy340:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line736: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line736: unused keys left after %u keys\n", i);
}
}
@@ -7977,7 +8606,7 @@ end:
#define YYFILL(n) { break; }
static int action_line743
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -7985,10 +8614,12 @@ static int action_line743
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -7998,17 +8629,17 @@ static int action_line743
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line743: at position %ld (iteration %u):\n"
+ , "error: lex_line743: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -8018,6 +8649,13 @@ static int action_line743
}
}
+static int check_key_count_line743(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line743: not enough keys\n");
+ return 1;
+}
+
int lex_line743()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -8051,7 +8689,7 @@ int lex_line743()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line743.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -8064,7 +8702,7 @@ int lex_line743()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -8074,11 +8712,13 @@ int lex_line743()
if (yych <= 0x243F) goto yy346;
yy344:
YYSKIP ();
- status = action_line743(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line743(keys_count, i, 3)
+ || action_line743(&i, keys, input, token, &cursor, 254);
continue;
yy346:
YYSKIP ();
- status = action_line743(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line743(keys_count, i, 3)
+ || action_line743(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -8090,7 +8730,7 @@ yy346:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line743: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line743: unused keys left after %u keys\n", i);
}
}
@@ -8116,7 +8756,7 @@ end:
#define YYFILL(n) { break; }
static int action_line750
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -8124,10 +8764,12 @@ static int action_line750
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -8137,17 +8779,17 @@ static int action_line750
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line750: at position %ld (iteration %u):\n"
+ , "error: lex_line750: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -8157,6 +8799,13 @@ static int action_line750
}
}
+static int check_key_count_line750(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line750: not enough keys\n");
+ return 1;
+}
+
int lex_line750()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -8190,7 +8839,7 @@ int lex_line750()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line750.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -8203,7 +8852,7 @@ int lex_line750()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -8213,11 +8862,13 @@ int lex_line750()
if (yych <= 0x245F) goto yy352;
yy350:
YYSKIP ();
- status = action_line750(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line750(keys_count, i, 3)
+ || action_line750(&i, keys, input, token, &cursor, 254);
continue;
yy352:
YYSKIP ();
- status = action_line750(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line750(keys_count, i, 3)
+ || action_line750(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -8229,7 +8880,7 @@ yy352:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line750: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line750: unused keys left after %u keys\n", i);
}
}
@@ -8255,7 +8906,7 @@ end:
#define YYFILL(n) { break; }
static int action_line757
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -8263,10 +8914,12 @@ static int action_line757
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -8276,17 +8929,17 @@ static int action_line757
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line757: at position %ld (iteration %u):\n"
+ , "error: lex_line757: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -8296,6 +8949,13 @@ static int action_line757
}
}
+static int check_key_count_line757(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line757: not enough keys\n");
+ return 1;
+}
+
int lex_line757()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -8329,7 +8989,7 @@ int lex_line757()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line757.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -8342,7 +9002,7 @@ int lex_line757()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -8352,11 +9012,13 @@ int lex_line757()
if (yych <= 0x24FF) goto yy358;
yy356:
YYSKIP ();
- status = action_line757(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line757(keys_count, i, 3)
+ || action_line757(&i, keys, input, token, &cursor, 254);
continue;
yy358:
YYSKIP ();
- status = action_line757(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line757(keys_count, i, 3)
+ || action_line757(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -8368,7 +9030,7 @@ yy358:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line757: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line757: unused keys left after %u keys\n", i);
}
}
@@ -8394,7 +9056,7 @@ end:
#define YYFILL(n) { break; }
static int action_line764
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -8402,10 +9064,12 @@ static int action_line764
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -8415,17 +9079,17 @@ static int action_line764
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line764: at position %ld (iteration %u):\n"
+ , "error: lex_line764: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -8435,6 +9099,13 @@ static int action_line764
}
}
+static int check_key_count_line764(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line764: not enough keys\n");
+ return 1;
+}
+
int lex_line764()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -8468,7 +9139,7 @@ int lex_line764()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line764.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -8481,7 +9152,7 @@ int lex_line764()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -8491,11 +9162,13 @@ int lex_line764()
if (yych <= 0x257F) goto yy364;
yy362:
YYSKIP ();
- status = action_line764(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line764(keys_count, i, 3)
+ || action_line764(&i, keys, input, token, &cursor, 254);
continue;
yy364:
YYSKIP ();
- status = action_line764(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line764(keys_count, i, 3)
+ || action_line764(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -8507,7 +9180,7 @@ yy364:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line764: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line764: unused keys left after %u keys\n", i);
}
}
@@ -8533,7 +9206,7 @@ end:
#define YYFILL(n) { break; }
static int action_line771
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -8541,10 +9214,12 @@ static int action_line771
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -8554,17 +9229,17 @@ static int action_line771
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line771: at position %ld (iteration %u):\n"
+ , "error: lex_line771: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -8574,6 +9249,13 @@ static int action_line771
}
}
+static int check_key_count_line771(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line771: not enough keys\n");
+ return 1;
+}
+
int lex_line771()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -8607,7 +9289,7 @@ int lex_line771()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line771.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -8620,7 +9302,7 @@ int lex_line771()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -8630,11 +9312,13 @@ int lex_line771()
if (yych <= 0x259F) goto yy370;
yy368:
YYSKIP ();
- status = action_line771(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line771(keys_count, i, 3)
+ || action_line771(&i, keys, input, token, &cursor, 254);
continue;
yy370:
YYSKIP ();
- status = action_line771(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line771(keys_count, i, 3)
+ || action_line771(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -8646,7 +9330,7 @@ yy370:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line771: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line771: unused keys left after %u keys\n", i);
}
}
@@ -8672,7 +9356,7 @@ end:
#define YYFILL(n) { break; }
static int action_line778
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -8680,10 +9364,12 @@ static int action_line778
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -8693,17 +9379,17 @@ static int action_line778
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line778: at position %ld (iteration %u):\n"
+ , "error: lex_line778: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -8713,6 +9399,13 @@ static int action_line778
}
}
+static int check_key_count_line778(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line778: not enough keys\n");
+ return 1;
+}
+
int lex_line778()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -8746,7 +9439,7 @@ int lex_line778()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line778.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -8759,7 +9452,7 @@ int lex_line778()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -8769,11 +9462,13 @@ int lex_line778()
if (yych <= 0x25FF) goto yy376;
yy374:
YYSKIP ();
- status = action_line778(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line778(keys_count, i, 3)
+ || action_line778(&i, keys, input, token, &cursor, 254);
continue;
yy376:
YYSKIP ();
- status = action_line778(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line778(keys_count, i, 3)
+ || action_line778(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -8785,7 +9480,7 @@ yy376:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line778: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line778: unused keys left after %u keys\n", i);
}
}
@@ -8811,7 +9506,7 @@ end:
#define YYFILL(n) { break; }
static int action_line785
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -8819,10 +9514,12 @@ static int action_line785
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -8832,17 +9529,17 @@ static int action_line785
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line785: at position %ld (iteration %u):\n"
+ , "error: lex_line785: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -8852,6 +9549,13 @@ static int action_line785
}
}
+static int check_key_count_line785(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line785: not enough keys\n");
+ return 1;
+}
+
int lex_line785()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -8885,7 +9589,7 @@ int lex_line785()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line785.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -8898,7 +9602,7 @@ int lex_line785()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -8908,11 +9612,13 @@ int lex_line785()
if (yych <= 0x26FF) goto yy382;
yy380:
YYSKIP ();
- status = action_line785(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line785(keys_count, i, 3)
+ || action_line785(&i, keys, input, token, &cursor, 254);
continue;
yy382:
YYSKIP ();
- status = action_line785(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line785(keys_count, i, 3)
+ || action_line785(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -8924,7 +9630,7 @@ yy382:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line785: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line785: unused keys left after %u keys\n", i);
}
}
@@ -8950,7 +9656,7 @@ end:
#define YYFILL(n) { break; }
static int action_line792
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -8958,10 +9664,12 @@ static int action_line792
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -8971,17 +9679,17 @@ static int action_line792
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line792: at position %ld (iteration %u):\n"
+ , "error: lex_line792: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -8991,6 +9699,13 @@ static int action_line792
}
}
+static int check_key_count_line792(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line792: not enough keys\n");
+ return 1;
+}
+
int lex_line792()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -9024,7 +9739,7 @@ int lex_line792()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line792.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -9037,7 +9752,7 @@ int lex_line792()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -9047,11 +9762,13 @@ int lex_line792()
if (yych <= 0x27BF) goto yy388;
yy386:
YYSKIP ();
- status = action_line792(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line792(keys_count, i, 3)
+ || action_line792(&i, keys, input, token, &cursor, 254);
continue;
yy388:
YYSKIP ();
- status = action_line792(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line792(keys_count, i, 3)
+ || action_line792(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -9063,7 +9780,7 @@ yy388:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line792: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line792: unused keys left after %u keys\n", i);
}
}
@@ -9089,7 +9806,7 @@ end:
#define YYFILL(n) { break; }
static int action_line799
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -9097,10 +9814,12 @@ static int action_line799
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -9110,17 +9829,17 @@ static int action_line799
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line799: at position %ld (iteration %u):\n"
+ , "error: lex_line799: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -9130,6 +9849,13 @@ static int action_line799
}
}
+static int check_key_count_line799(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line799: not enough keys\n");
+ return 1;
+}
+
int lex_line799()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -9163,7 +9889,7 @@ int lex_line799()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line799.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -9176,7 +9902,7 @@ int lex_line799()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -9186,11 +9912,13 @@ int lex_line799()
if (yych <= 0x27EF) goto yy394;
yy392:
YYSKIP ();
- status = action_line799(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line799(keys_count, i, 3)
+ || action_line799(&i, keys, input, token, &cursor, 254);
continue;
yy394:
YYSKIP ();
- status = action_line799(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line799(keys_count, i, 3)
+ || action_line799(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -9202,7 +9930,7 @@ yy394:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line799: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line799: unused keys left after %u keys\n", i);
}
}
@@ -9228,7 +9956,7 @@ end:
#define YYFILL(n) { break; }
static int action_line806
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -9236,10 +9964,12 @@ static int action_line806
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -9249,17 +9979,17 @@ static int action_line806
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line806: at position %ld (iteration %u):\n"
+ , "error: lex_line806: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -9269,6 +9999,13 @@ static int action_line806
}
}
+static int check_key_count_line806(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line806: not enough keys\n");
+ return 1;
+}
+
int lex_line806()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -9302,7 +10039,7 @@ int lex_line806()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line806.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -9315,7 +10052,7 @@ int lex_line806()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -9325,11 +10062,13 @@ int lex_line806()
if (yych <= 0x27FF) goto yy400;
yy398:
YYSKIP ();
- status = action_line806(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line806(keys_count, i, 3)
+ || action_line806(&i, keys, input, token, &cursor, 254);
continue;
yy400:
YYSKIP ();
- status = action_line806(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line806(keys_count, i, 3)
+ || action_line806(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -9341,7 +10080,7 @@ yy400:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line806: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line806: unused keys left after %u keys\n", i);
}
}
@@ -9367,7 +10106,7 @@ end:
#define YYFILL(n) { break; }
static int action_line813
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -9375,10 +10114,12 @@ static int action_line813
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -9388,17 +10129,17 @@ static int action_line813
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line813: at position %ld (iteration %u):\n"
+ , "error: lex_line813: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -9408,6 +10149,13 @@ static int action_line813
}
}
+static int check_key_count_line813(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line813: not enough keys\n");
+ return 1;
+}
+
int lex_line813()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -9441,7 +10189,7 @@ int lex_line813()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line813.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -9454,7 +10202,7 @@ int lex_line813()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -9464,11 +10212,13 @@ int lex_line813()
if (yych <= 0x28FF) goto yy406;
yy404:
YYSKIP ();
- status = action_line813(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line813(keys_count, i, 3)
+ || action_line813(&i, keys, input, token, &cursor, 254);
continue;
yy406:
YYSKIP ();
- status = action_line813(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line813(keys_count, i, 3)
+ || action_line813(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -9480,7 +10230,7 @@ yy406:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line813: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line813: unused keys left after %u keys\n", i);
}
}
@@ -9506,7 +10256,7 @@ end:
#define YYFILL(n) { break; }
static int action_line820
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -9514,10 +10264,12 @@ static int action_line820
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -9527,17 +10279,17 @@ static int action_line820
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line820: at position %ld (iteration %u):\n"
+ , "error: lex_line820: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -9547,6 +10299,13 @@ static int action_line820
}
}
+static int check_key_count_line820(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line820: not enough keys\n");
+ return 1;
+}
+
int lex_line820()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -9580,7 +10339,7 @@ int lex_line820()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line820.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -9593,7 +10352,7 @@ int lex_line820()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -9603,11 +10362,13 @@ int lex_line820()
if (yych <= 0x297F) goto yy412;
yy410:
YYSKIP ();
- status = action_line820(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line820(keys_count, i, 3)
+ || action_line820(&i, keys, input, token, &cursor, 254);
continue;
yy412:
YYSKIP ();
- status = action_line820(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line820(keys_count, i, 3)
+ || action_line820(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -9619,7 +10380,7 @@ yy412:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line820: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line820: unused keys left after %u keys\n", i);
}
}
@@ -9645,7 +10406,7 @@ end:
#define YYFILL(n) { break; }
static int action_line827
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -9653,10 +10414,12 @@ static int action_line827
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -9666,17 +10429,17 @@ static int action_line827
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line827: at position %ld (iteration %u):\n"
+ , "error: lex_line827: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -9686,6 +10449,13 @@ static int action_line827
}
}
+static int check_key_count_line827(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line827: not enough keys\n");
+ return 1;
+}
+
int lex_line827()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -9719,7 +10489,7 @@ int lex_line827()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line827.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -9732,7 +10502,7 @@ int lex_line827()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -9742,11 +10512,13 @@ int lex_line827()
if (yych <= 0x29FF) goto yy418;
yy416:
YYSKIP ();
- status = action_line827(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line827(keys_count, i, 3)
+ || action_line827(&i, keys, input, token, &cursor, 254);
continue;
yy418:
YYSKIP ();
- status = action_line827(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line827(keys_count, i, 3)
+ || action_line827(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -9758,7 +10530,7 @@ yy418:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line827: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line827: unused keys left after %u keys\n", i);
}
}
@@ -9784,7 +10556,7 @@ end:
#define YYFILL(n) { break; }
static int action_line834
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -9792,10 +10564,12 @@ static int action_line834
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -9805,17 +10579,17 @@ static int action_line834
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line834: at position %ld (iteration %u):\n"
+ , "error: lex_line834: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -9825,6 +10599,13 @@ static int action_line834
}
}
+static int check_key_count_line834(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line834: not enough keys\n");
+ return 1;
+}
+
int lex_line834()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -9858,7 +10639,7 @@ int lex_line834()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line834.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -9871,7 +10652,7 @@ int lex_line834()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -9881,11 +10662,13 @@ int lex_line834()
if (yych <= 0x2AFF) goto yy424;
yy422:
YYSKIP ();
- status = action_line834(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line834(keys_count, i, 3)
+ || action_line834(&i, keys, input, token, &cursor, 254);
continue;
yy424:
YYSKIP ();
- status = action_line834(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line834(keys_count, i, 3)
+ || action_line834(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -9897,7 +10680,7 @@ yy424:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line834: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line834: unused keys left after %u keys\n", i);
}
}
@@ -9923,7 +10706,7 @@ end:
#define YYFILL(n) { break; }
static int action_line841
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -9931,10 +10714,12 @@ static int action_line841
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -9944,17 +10729,17 @@ static int action_line841
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line841: at position %ld (iteration %u):\n"
+ , "error: lex_line841: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -9964,6 +10749,13 @@ static int action_line841
}
}
+static int check_key_count_line841(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line841: not enough keys\n");
+ return 1;
+}
+
int lex_line841()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -9997,7 +10789,7 @@ int lex_line841()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line841.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -10010,7 +10802,7 @@ int lex_line841()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -10020,11 +10812,13 @@ int lex_line841()
if (yych <= 0x2BFF) goto yy430;
yy428:
YYSKIP ();
- status = action_line841(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line841(keys_count, i, 3)
+ || action_line841(&i, keys, input, token, &cursor, 254);
continue;
yy430:
YYSKIP ();
- status = action_line841(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line841(keys_count, i, 3)
+ || action_line841(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -10036,7 +10830,7 @@ yy430:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line841: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line841: unused keys left after %u keys\n", i);
}
}
@@ -10062,7 +10856,7 @@ end:
#define YYFILL(n) { break; }
static int action_line848
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -10070,10 +10864,12 @@ static int action_line848
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -10083,17 +10879,17 @@ static int action_line848
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line848: at position %ld (iteration %u):\n"
+ , "error: lex_line848: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -10103,6 +10899,13 @@ static int action_line848
}
}
+static int check_key_count_line848(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line848: not enough keys\n");
+ return 1;
+}
+
int lex_line848()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -10136,7 +10939,7 @@ int lex_line848()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line848.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -10149,7 +10952,7 @@ int lex_line848()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -10159,11 +10962,13 @@ int lex_line848()
if (yych <= 0x2EFF) goto yy436;
yy434:
YYSKIP ();
- status = action_line848(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line848(keys_count, i, 3)
+ || action_line848(&i, keys, input, token, &cursor, 254);
continue;
yy436:
YYSKIP ();
- status = action_line848(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line848(keys_count, i, 3)
+ || action_line848(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -10175,7 +10980,7 @@ yy436:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line848: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line848: unused keys left after %u keys\n", i);
}
}
@@ -10201,7 +11006,7 @@ end:
#define YYFILL(n) { break; }
static int action_line855
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -10209,10 +11014,12 @@ static int action_line855
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -10222,17 +11029,17 @@ static int action_line855
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line855: at position %ld (iteration %u):\n"
+ , "error: lex_line855: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -10242,6 +11049,13 @@ static int action_line855
}
}
+static int check_key_count_line855(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line855: not enough keys\n");
+ return 1;
+}
+
int lex_line855()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -10275,7 +11089,7 @@ int lex_line855()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line855.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -10288,7 +11102,7 @@ int lex_line855()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -10298,11 +11112,13 @@ int lex_line855()
if (yych <= 0x2FDF) goto yy442;
yy440:
YYSKIP ();
- status = action_line855(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line855(keys_count, i, 3)
+ || action_line855(&i, keys, input, token, &cursor, 254);
continue;
yy442:
YYSKIP ();
- status = action_line855(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line855(keys_count, i, 3)
+ || action_line855(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -10314,7 +11130,7 @@ yy442:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line855: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line855: unused keys left after %u keys\n", i);
}
}
@@ -10340,7 +11156,7 @@ end:
#define YYFILL(n) { break; }
static int action_line862
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -10348,10 +11164,12 @@ static int action_line862
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -10361,17 +11179,17 @@ static int action_line862
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line862: at position %ld (iteration %u):\n"
+ , "error: lex_line862: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -10381,6 +11199,13 @@ static int action_line862
}
}
+static int check_key_count_line862(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line862: not enough keys\n");
+ return 1;
+}
+
int lex_line862()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -10414,7 +11239,7 @@ int lex_line862()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line862.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -10427,7 +11252,7 @@ int lex_line862()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -10437,11 +11262,13 @@ int lex_line862()
if (yych <= 0x2FFF) goto yy448;
yy446:
YYSKIP ();
- status = action_line862(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line862(keys_count, i, 3)
+ || action_line862(&i, keys, input, token, &cursor, 254);
continue;
yy448:
YYSKIP ();
- status = action_line862(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line862(keys_count, i, 3)
+ || action_line862(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -10453,7 +11280,7 @@ yy448:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line862: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line862: unused keys left after %u keys\n", i);
}
}
@@ -10479,7 +11306,7 @@ end:
#define YYFILL(n) { break; }
static int action_line869
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -10487,10 +11314,12 @@ static int action_line869
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -10500,17 +11329,17 @@ static int action_line869
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line869: at position %ld (iteration %u):\n"
+ , "error: lex_line869: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -10520,6 +11349,13 @@ static int action_line869
}
}
+static int check_key_count_line869(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line869: not enough keys\n");
+ return 1;
+}
+
int lex_line869()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -10553,7 +11389,7 @@ int lex_line869()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line869.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -10566,7 +11402,7 @@ int lex_line869()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -10576,11 +11412,13 @@ int lex_line869()
if (yych <= 0x303F) goto yy454;
yy452:
YYSKIP ();
- status = action_line869(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line869(keys_count, i, 3)
+ || action_line869(&i, keys, input, token, &cursor, 254);
continue;
yy454:
YYSKIP ();
- status = action_line869(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line869(keys_count, i, 3)
+ || action_line869(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -10592,7 +11430,7 @@ yy454:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line869: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line869: unused keys left after %u keys\n", i);
}
}
@@ -10618,7 +11456,7 @@ end:
#define YYFILL(n) { break; }
static int action_line876
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -10626,10 +11464,12 @@ static int action_line876
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -10639,17 +11479,17 @@ static int action_line876
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line876: at position %ld (iteration %u):\n"
+ , "error: lex_line876: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -10659,6 +11499,13 @@ static int action_line876
}
}
+static int check_key_count_line876(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line876: not enough keys\n");
+ return 1;
+}
+
int lex_line876()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -10692,7 +11539,7 @@ int lex_line876()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line876.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -10705,7 +11552,7 @@ int lex_line876()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -10715,11 +11562,13 @@ int lex_line876()
if (yych <= 0x309F) goto yy460;
yy458:
YYSKIP ();
- status = action_line876(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line876(keys_count, i, 3)
+ || action_line876(&i, keys, input, token, &cursor, 254);
continue;
yy460:
YYSKIP ();
- status = action_line876(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line876(keys_count, i, 3)
+ || action_line876(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -10731,7 +11580,7 @@ yy460:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line876: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line876: unused keys left after %u keys\n", i);
}
}
@@ -10757,7 +11606,7 @@ end:
#define YYFILL(n) { break; }
static int action_line883
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -10765,10 +11614,12 @@ static int action_line883
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -10778,17 +11629,17 @@ static int action_line883
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line883: at position %ld (iteration %u):\n"
+ , "error: lex_line883: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -10798,6 +11649,13 @@ static int action_line883
}
}
+static int check_key_count_line883(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line883: not enough keys\n");
+ return 1;
+}
+
int lex_line883()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -10831,7 +11689,7 @@ int lex_line883()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line883.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -10844,7 +11702,7 @@ int lex_line883()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -10854,11 +11712,13 @@ int lex_line883()
if (yych <= 0x30FF) goto yy466;
yy464:
YYSKIP ();
- status = action_line883(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line883(keys_count, i, 3)
+ || action_line883(&i, keys, input, token, &cursor, 254);
continue;
yy466:
YYSKIP ();
- status = action_line883(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line883(keys_count, i, 3)
+ || action_line883(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -10870,7 +11730,7 @@ yy466:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line883: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line883: unused keys left after %u keys\n", i);
}
}
@@ -10896,7 +11756,7 @@ end:
#define YYFILL(n) { break; }
static int action_line890
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -10904,10 +11764,12 @@ static int action_line890
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -10917,17 +11779,17 @@ static int action_line890
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line890: at position %ld (iteration %u):\n"
+ , "error: lex_line890: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -10937,6 +11799,13 @@ static int action_line890
}
}
+static int check_key_count_line890(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line890: not enough keys\n");
+ return 1;
+}
+
int lex_line890()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -10970,7 +11839,7 @@ int lex_line890()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line890.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -10983,7 +11852,7 @@ int lex_line890()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -10993,11 +11862,13 @@ int lex_line890()
if (yych <= 0x312F) goto yy472;
yy470:
YYSKIP ();
- status = action_line890(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line890(keys_count, i, 3)
+ || action_line890(&i, keys, input, token, &cursor, 254);
continue;
yy472:
YYSKIP ();
- status = action_line890(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line890(keys_count, i, 3)
+ || action_line890(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -11009,7 +11880,7 @@ yy472:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line890: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line890: unused keys left after %u keys\n", i);
}
}
@@ -11035,7 +11906,7 @@ end:
#define YYFILL(n) { break; }
static int action_line897
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -11043,10 +11914,12 @@ static int action_line897
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -11056,17 +11929,17 @@ static int action_line897
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line897: at position %ld (iteration %u):\n"
+ , "error: lex_line897: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -11076,6 +11949,13 @@ static int action_line897
}
}
+static int check_key_count_line897(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line897: not enough keys\n");
+ return 1;
+}
+
int lex_line897()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -11109,7 +11989,7 @@ int lex_line897()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line897.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -11122,7 +12002,7 @@ int lex_line897()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -11132,11 +12012,13 @@ int lex_line897()
if (yych <= 0x318F) goto yy478;
yy476:
YYSKIP ();
- status = action_line897(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line897(keys_count, i, 3)
+ || action_line897(&i, keys, input, token, &cursor, 254);
continue;
yy478:
YYSKIP ();
- status = action_line897(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line897(keys_count, i, 3)
+ || action_line897(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -11148,7 +12030,7 @@ yy478:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line897: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line897: unused keys left after %u keys\n", i);
}
}
@@ -11174,7 +12056,7 @@ end:
#define YYFILL(n) { break; }
static int action_line904
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -11182,10 +12064,12 @@ static int action_line904
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -11195,17 +12079,17 @@ static int action_line904
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line904: at position %ld (iteration %u):\n"
+ , "error: lex_line904: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -11215,6 +12099,13 @@ static int action_line904
}
}
+static int check_key_count_line904(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line904: not enough keys\n");
+ return 1;
+}
+
int lex_line904()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -11248,7 +12139,7 @@ int lex_line904()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line904.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -11261,7 +12152,7 @@ int lex_line904()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -11271,11 +12162,13 @@ int lex_line904()
if (yych <= 0x319F) goto yy484;
yy482:
YYSKIP ();
- status = action_line904(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line904(keys_count, i, 3)
+ || action_line904(&i, keys, input, token, &cursor, 254);
continue;
yy484:
YYSKIP ();
- status = action_line904(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line904(keys_count, i, 3)
+ || action_line904(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -11287,7 +12180,7 @@ yy484:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line904: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line904: unused keys left after %u keys\n", i);
}
}
@@ -11313,7 +12206,7 @@ end:
#define YYFILL(n) { break; }
static int action_line911
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -11321,10 +12214,12 @@ static int action_line911
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -11334,17 +12229,17 @@ static int action_line911
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line911: at position %ld (iteration %u):\n"
+ , "error: lex_line911: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -11354,6 +12249,13 @@ static int action_line911
}
}
+static int check_key_count_line911(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line911: not enough keys\n");
+ return 1;
+}
+
int lex_line911()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -11387,7 +12289,7 @@ int lex_line911()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line911.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -11400,7 +12302,7 @@ int lex_line911()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -11410,11 +12312,13 @@ int lex_line911()
if (yych <= 0x31BF) goto yy490;
yy488:
YYSKIP ();
- status = action_line911(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line911(keys_count, i, 3)
+ || action_line911(&i, keys, input, token, &cursor, 254);
continue;
yy490:
YYSKIP ();
- status = action_line911(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line911(keys_count, i, 3)
+ || action_line911(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -11426,7 +12330,7 @@ yy490:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line911: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line911: unused keys left after %u keys\n", i);
}
}
@@ -11452,7 +12356,7 @@ end:
#define YYFILL(n) { break; }
static int action_line918
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -11460,10 +12364,12 @@ static int action_line918
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -11473,17 +12379,17 @@ static int action_line918
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line918: at position %ld (iteration %u):\n"
+ , "error: lex_line918: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -11493,6 +12399,13 @@ static int action_line918
}
}
+static int check_key_count_line918(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line918: not enough keys\n");
+ return 1;
+}
+
int lex_line918()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -11526,7 +12439,7 @@ int lex_line918()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line918.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -11539,7 +12452,7 @@ int lex_line918()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -11549,11 +12462,13 @@ int lex_line918()
if (yych <= 0x31FF) goto yy496;
yy494:
YYSKIP ();
- status = action_line918(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line918(keys_count, i, 3)
+ || action_line918(&i, keys, input, token, &cursor, 254);
continue;
yy496:
YYSKIP ();
- status = action_line918(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line918(keys_count, i, 3)
+ || action_line918(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -11565,7 +12480,7 @@ yy496:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line918: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line918: unused keys left after %u keys\n", i);
}
}
@@ -11591,7 +12506,7 @@ end:
#define YYFILL(n) { break; }
static int action_line925
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -11599,10 +12514,12 @@ static int action_line925
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -11612,17 +12529,17 @@ static int action_line925
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line925: at position %ld (iteration %u):\n"
+ , "error: lex_line925: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -11632,6 +12549,13 @@ static int action_line925
}
}
+static int check_key_count_line925(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line925: not enough keys\n");
+ return 1;
+}
+
int lex_line925()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -11665,7 +12589,7 @@ int lex_line925()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line925.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -11678,7 +12602,7 @@ int lex_line925()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -11688,11 +12612,13 @@ int lex_line925()
if (yych <= 0x32FF) goto yy502;
yy500:
YYSKIP ();
- status = action_line925(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line925(keys_count, i, 3)
+ || action_line925(&i, keys, input, token, &cursor, 254);
continue;
yy502:
YYSKIP ();
- status = action_line925(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line925(keys_count, i, 3)
+ || action_line925(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -11704,7 +12630,7 @@ yy502:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line925: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line925: unused keys left after %u keys\n", i);
}
}
@@ -11730,7 +12656,7 @@ end:
#define YYFILL(n) { break; }
static int action_line932
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -11738,10 +12664,12 @@ static int action_line932
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -11751,17 +12679,17 @@ static int action_line932
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line932: at position %ld (iteration %u):\n"
+ , "error: lex_line932: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -11771,6 +12699,13 @@ static int action_line932
}
}
+static int check_key_count_line932(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line932: not enough keys\n");
+ return 1;
+}
+
int lex_line932()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -11804,7 +12739,7 @@ int lex_line932()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line932.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -11817,7 +12752,7 @@ int lex_line932()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -11827,11 +12762,13 @@ int lex_line932()
if (yych <= 0x33FF) goto yy508;
yy506:
YYSKIP ();
- status = action_line932(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line932(keys_count, i, 3)
+ || action_line932(&i, keys, input, token, &cursor, 254);
continue;
yy508:
YYSKIP ();
- status = action_line932(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line932(keys_count, i, 3)
+ || action_line932(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -11843,7 +12780,7 @@ yy508:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line932: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line932: unused keys left after %u keys\n", i);
}
}
@@ -11869,7 +12806,7 @@ end:
#define YYFILL(n) { break; }
static int action_line939
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -11877,10 +12814,12 @@ static int action_line939
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -11890,17 +12829,17 @@ static int action_line939
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line939: at position %ld (iteration %u):\n"
+ , "error: lex_line939: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -11910,6 +12849,13 @@ static int action_line939
}
}
+static int check_key_count_line939(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line939: not enough keys\n");
+ return 1;
+}
+
int lex_line939()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -11943,7 +12889,7 @@ int lex_line939()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line939.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -11956,7 +12902,7 @@ int lex_line939()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -11966,11 +12912,13 @@ int lex_line939()
if (yych <= 0x4DBF) goto yy514;
yy512:
YYSKIP ();
- status = action_line939(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line939(keys_count, i, 3)
+ || action_line939(&i, keys, input, token, &cursor, 254);
continue;
yy514:
YYSKIP ();
- status = action_line939(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line939(keys_count, i, 3)
+ || action_line939(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -11982,7 +12930,7 @@ yy514:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line939: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line939: unused keys left after %u keys\n", i);
}
}
@@ -12008,7 +12956,7 @@ end:
#define YYFILL(n) { break; }
static int action_line946
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -12016,10 +12964,12 @@ static int action_line946
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -12029,17 +12979,17 @@ static int action_line946
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line946: at position %ld (iteration %u):\n"
+ , "error: lex_line946: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -12049,6 +12999,13 @@ static int action_line946
}
}
+static int check_key_count_line946(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line946: not enough keys\n");
+ return 1;
+}
+
int lex_line946()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -12082,7 +13039,7 @@ int lex_line946()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line946.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -12095,7 +13052,7 @@ int lex_line946()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -12105,11 +13062,13 @@ int lex_line946()
if (yych <= 0x4DFF) goto yy520;
yy518:
YYSKIP ();
- status = action_line946(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line946(keys_count, i, 3)
+ || action_line946(&i, keys, input, token, &cursor, 254);
continue;
yy520:
YYSKIP ();
- status = action_line946(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line946(keys_count, i, 3)
+ || action_line946(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -12121,7 +13080,7 @@ yy520:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line946: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line946: unused keys left after %u keys\n", i);
}
}
@@ -12147,7 +13106,7 @@ end:
#define YYFILL(n) { break; }
static int action_line953
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -12155,10 +13114,12 @@ static int action_line953
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -12168,17 +13129,17 @@ static int action_line953
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line953: at position %ld (iteration %u):\n"
+ , "error: lex_line953: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -12188,6 +13149,13 @@ static int action_line953
}
}
+static int check_key_count_line953(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line953: not enough keys\n");
+ return 1;
+}
+
int lex_line953()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -12221,7 +13189,7 @@ int lex_line953()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line953.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -12234,7 +13202,7 @@ int lex_line953()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -12244,11 +13212,13 @@ int lex_line953()
if (yych <= 0x9FFF) goto yy526;
yy524:
YYSKIP ();
- status = action_line953(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line953(keys_count, i, 3)
+ || action_line953(&i, keys, input, token, &cursor, 254);
continue;
yy526:
YYSKIP ();
- status = action_line953(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line953(keys_count, i, 3)
+ || action_line953(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -12260,7 +13230,7 @@ yy526:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line953: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line953: unused keys left after %u keys\n", i);
}
}
@@ -12286,7 +13256,7 @@ end:
#define YYFILL(n) { break; }
static int action_line960
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -12294,10 +13264,12 @@ static int action_line960
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -12307,17 +13279,17 @@ static int action_line960
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line960: at position %ld (iteration %u):\n"
+ , "error: lex_line960: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -12327,6 +13299,13 @@ static int action_line960
}
}
+static int check_key_count_line960(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line960: not enough keys\n");
+ return 1;
+}
+
int lex_line960()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -12360,7 +13339,7 @@ int lex_line960()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line960.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -12373,7 +13352,7 @@ int lex_line960()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -12383,11 +13362,13 @@ int lex_line960()
if (yych <= 0xA48F) goto yy532;
yy530:
YYSKIP ();
- status = action_line960(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line960(keys_count, i, 3)
+ || action_line960(&i, keys, input, token, &cursor, 254);
continue;
yy532:
YYSKIP ();
- status = action_line960(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line960(keys_count, i, 3)
+ || action_line960(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -12399,7 +13380,7 @@ yy532:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line960: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line960: unused keys left after %u keys\n", i);
}
}
@@ -12425,7 +13406,7 @@ end:
#define YYFILL(n) { break; }
static int action_line967
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -12433,10 +13414,12 @@ static int action_line967
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -12446,17 +13429,17 @@ static int action_line967
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line967: at position %ld (iteration %u):\n"
+ , "error: lex_line967: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -12466,6 +13449,13 @@ static int action_line967
}
}
+static int check_key_count_line967(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line967: not enough keys\n");
+ return 1;
+}
+
int lex_line967()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -12499,7 +13489,7 @@ int lex_line967()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line967.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -12512,7 +13502,7 @@ int lex_line967()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -12522,11 +13512,13 @@ int lex_line967()
if (yych <= 0xA4CF) goto yy538;
yy536:
YYSKIP ();
- status = action_line967(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line967(keys_count, i, 3)
+ || action_line967(&i, keys, input, token, &cursor, 254);
continue;
yy538:
YYSKIP ();
- status = action_line967(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line967(keys_count, i, 3)
+ || action_line967(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -12538,7 +13530,7 @@ yy538:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line967: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line967: unused keys left after %u keys\n", i);
}
}
@@ -12564,7 +13556,7 @@ end:
#define YYFILL(n) { break; }
static int action_line974
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -12572,10 +13564,12 @@ static int action_line974
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -12585,17 +13579,17 @@ static int action_line974
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line974: at position %ld (iteration %u):\n"
+ , "error: lex_line974: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -12605,6 +13599,13 @@ static int action_line974
}
}
+static int check_key_count_line974(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line974: not enough keys\n");
+ return 1;
+}
+
int lex_line974()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -12638,7 +13639,7 @@ int lex_line974()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line974.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -12651,7 +13652,7 @@ int lex_line974()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -12661,11 +13662,13 @@ int lex_line974()
if (yych <= 0xD7AF) goto yy544;
yy542:
YYSKIP ();
- status = action_line974(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line974(keys_count, i, 3)
+ || action_line974(&i, keys, input, token, &cursor, 254);
continue;
yy544:
YYSKIP ();
- status = action_line974(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line974(keys_count, i, 3)
+ || action_line974(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -12677,7 +13680,7 @@ yy544:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line974: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line974: unused keys left after %u keys\n", i);
}
}
@@ -12703,7 +13706,7 @@ end:
#define YYFILL(n) { break; }
static int action_line981
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -12711,10 +13714,12 @@ static int action_line981
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -12724,17 +13729,17 @@ static int action_line981
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line981: at position %ld (iteration %u):\n"
+ , "error: lex_line981: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -12744,6 +13749,13 @@ static int action_line981
}
}
+static int check_key_count_line981(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line981: not enough keys\n");
+ return 1;
+}
+
int lex_line981()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -12777,7 +13789,7 @@ int lex_line981()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line981.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -12790,7 +13802,7 @@ int lex_line981()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -12800,11 +13812,13 @@ int lex_line981()
if (yych <= 0xDB7F) goto yy550;
yy548:
YYSKIP ();
- status = action_line981(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line981(keys_count, i, 3)
+ || action_line981(&i, keys, input, token, &cursor, 254);
continue;
yy550:
YYSKIP ();
- status = action_line981(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line981(keys_count, i, 3)
+ || action_line981(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -12816,7 +13830,7 @@ yy550:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line981: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line981: unused keys left after %u keys\n", i);
}
}
@@ -12842,7 +13856,7 @@ end:
#define YYFILL(n) { break; }
static int action_line988
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -12850,10 +13864,12 @@ static int action_line988
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -12863,17 +13879,17 @@ static int action_line988
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line988: at position %ld (iteration %u):\n"
+ , "error: lex_line988: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -12883,6 +13899,13 @@ static int action_line988
}
}
+static int check_key_count_line988(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line988: not enough keys\n");
+ return 1;
+}
+
int lex_line988()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -12916,7 +13939,7 @@ int lex_line988()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line988.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -12929,7 +13952,7 @@ int lex_line988()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -12939,11 +13962,13 @@ int lex_line988()
if (yych <= 0xDBFF) goto yy556;
yy554:
YYSKIP ();
- status = action_line988(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line988(keys_count, i, 3)
+ || action_line988(&i, keys, input, token, &cursor, 254);
continue;
yy556:
YYSKIP ();
- status = action_line988(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line988(keys_count, i, 3)
+ || action_line988(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -12955,7 +13980,7 @@ yy556:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line988: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line988: unused keys left after %u keys\n", i);
}
}
@@ -12981,7 +14006,7 @@ end:
#define YYFILL(n) { break; }
static int action_line995
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -12989,10 +14014,12 @@ static int action_line995
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -13002,17 +14029,17 @@ static int action_line995
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line995: at position %ld (iteration %u):\n"
+ , "error: lex_line995: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -13022,6 +14049,13 @@ static int action_line995
}
}
+static int check_key_count_line995(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line995: not enough keys\n");
+ return 1;
+}
+
int lex_line995()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -13055,7 +14089,7 @@ int lex_line995()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line995.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -13068,7 +14102,7 @@ int lex_line995()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -13078,11 +14112,13 @@ int lex_line995()
if (yych <= 0xDFFF) goto yy562;
yy560:
YYSKIP ();
- status = action_line995(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line995(keys_count, i, 3)
+ || action_line995(&i, keys, input, token, &cursor, 254);
continue;
yy562:
YYSKIP ();
- status = action_line995(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line995(keys_count, i, 3)
+ || action_line995(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -13094,7 +14130,7 @@ yy562:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line995: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line995: unused keys left after %u keys\n", i);
}
}
@@ -13120,7 +14156,7 @@ end:
#define YYFILL(n) { break; }
static int action_line1002
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -13128,10 +14164,12 @@ static int action_line1002
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -13141,17 +14179,17 @@ static int action_line1002
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line1002: at position %ld (iteration %u):\n"
+ , "error: lex_line1002: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -13161,6 +14199,13 @@ static int action_line1002
}
}
+static int check_key_count_line1002(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line1002: not enough keys\n");
+ return 1;
+}
+
int lex_line1002()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -13194,7 +14239,7 @@ int lex_line1002()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line1002.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -13207,7 +14252,7 @@ int lex_line1002()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -13217,11 +14262,13 @@ int lex_line1002()
if (yych <= 0xF8FF) goto yy568;
yy566:
YYSKIP ();
- status = action_line1002(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line1002(keys_count, i, 3)
+ || action_line1002(&i, keys, input, token, &cursor, 254);
continue;
yy568:
YYSKIP ();
- status = action_line1002(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line1002(keys_count, i, 3)
+ || action_line1002(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -13233,7 +14280,7 @@ yy568:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line1002: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line1002: unused keys left after %u keys\n", i);
}
}
@@ -13259,7 +14306,7 @@ end:
#define YYFILL(n) { break; }
static int action_line1009
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -13267,10 +14314,12 @@ static int action_line1009
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -13280,17 +14329,17 @@ static int action_line1009
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line1009: at position %ld (iteration %u):\n"
+ , "error: lex_line1009: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -13300,6 +14349,13 @@ static int action_line1009
}
}
+static int check_key_count_line1009(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line1009: not enough keys\n");
+ return 1;
+}
+
int lex_line1009()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -13333,7 +14389,7 @@ int lex_line1009()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line1009.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -13346,7 +14402,7 @@ int lex_line1009()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -13356,11 +14412,13 @@ int lex_line1009()
if (yych <= 0xFAFF) goto yy574;
yy572:
YYSKIP ();
- status = action_line1009(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line1009(keys_count, i, 3)
+ || action_line1009(&i, keys, input, token, &cursor, 254);
continue;
yy574:
YYSKIP ();
- status = action_line1009(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line1009(keys_count, i, 3)
+ || action_line1009(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -13372,7 +14430,7 @@ yy574:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line1009: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line1009: unused keys left after %u keys\n", i);
}
}
@@ -13398,7 +14456,7 @@ end:
#define YYFILL(n) { break; }
static int action_line1016
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -13406,10 +14464,12 @@ static int action_line1016
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -13419,17 +14479,17 @@ static int action_line1016
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line1016: at position %ld (iteration %u):\n"
+ , "error: lex_line1016: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -13439,6 +14499,13 @@ static int action_line1016
}
}
+static int check_key_count_line1016(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line1016: not enough keys\n");
+ return 1;
+}
+
int lex_line1016()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -13472,7 +14539,7 @@ int lex_line1016()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line1016.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -13485,7 +14552,7 @@ int lex_line1016()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -13495,11 +14562,13 @@ int lex_line1016()
if (yych <= 0xFB4F) goto yy580;
yy578:
YYSKIP ();
- status = action_line1016(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line1016(keys_count, i, 3)
+ || action_line1016(&i, keys, input, token, &cursor, 254);
continue;
yy580:
YYSKIP ();
- status = action_line1016(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line1016(keys_count, i, 3)
+ || action_line1016(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -13511,7 +14580,7 @@ yy580:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line1016: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line1016: unused keys left after %u keys\n", i);
}
}
@@ -13537,7 +14606,7 @@ end:
#define YYFILL(n) { break; }
static int action_line1023
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -13545,10 +14614,12 @@ static int action_line1023
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -13558,17 +14629,17 @@ static int action_line1023
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line1023: at position %ld (iteration %u):\n"
+ , "error: lex_line1023: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -13578,6 +14649,13 @@ static int action_line1023
}
}
+static int check_key_count_line1023(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line1023: not enough keys\n");
+ return 1;
+}
+
int lex_line1023()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -13611,7 +14689,7 @@ int lex_line1023()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line1023.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -13624,7 +14702,7 @@ int lex_line1023()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -13634,11 +14712,13 @@ int lex_line1023()
if (yych <= 0xFDFF) goto yy586;
yy584:
YYSKIP ();
- status = action_line1023(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line1023(keys_count, i, 3)
+ || action_line1023(&i, keys, input, token, &cursor, 254);
continue;
yy586:
YYSKIP ();
- status = action_line1023(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line1023(keys_count, i, 3)
+ || action_line1023(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -13650,7 +14730,7 @@ yy586:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line1023: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line1023: unused keys left after %u keys\n", i);
}
}
@@ -13676,7 +14756,7 @@ end:
#define YYFILL(n) { break; }
static int action_line1030
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -13684,10 +14764,12 @@ static int action_line1030
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -13697,17 +14779,17 @@ static int action_line1030
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line1030: at position %ld (iteration %u):\n"
+ , "error: lex_line1030: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -13717,6 +14799,13 @@ static int action_line1030
}
}
+static int check_key_count_line1030(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line1030: not enough keys\n");
+ return 1;
+}
+
int lex_line1030()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -13750,7 +14839,7 @@ int lex_line1030()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line1030.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -13763,7 +14852,7 @@ int lex_line1030()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -13773,11 +14862,13 @@ int lex_line1030()
if (yych <= 0xFE0F) goto yy592;
yy590:
YYSKIP ();
- status = action_line1030(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line1030(keys_count, i, 3)
+ || action_line1030(&i, keys, input, token, &cursor, 254);
continue;
yy592:
YYSKIP ();
- status = action_line1030(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line1030(keys_count, i, 3)
+ || action_line1030(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -13789,7 +14880,7 @@ yy592:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line1030: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line1030: unused keys left after %u keys\n", i);
}
}
@@ -13815,7 +14906,7 @@ end:
#define YYFILL(n) { break; }
static int action_line1037
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -13823,10 +14914,12 @@ static int action_line1037
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -13836,17 +14929,17 @@ static int action_line1037
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line1037: at position %ld (iteration %u):\n"
+ , "error: lex_line1037: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -13856,6 +14949,13 @@ static int action_line1037
}
}
+static int check_key_count_line1037(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line1037: not enough keys\n");
+ return 1;
+}
+
int lex_line1037()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -13889,7 +14989,7 @@ int lex_line1037()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line1037.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -13902,7 +15002,7 @@ int lex_line1037()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -13912,11 +15012,13 @@ int lex_line1037()
if (yych <= 0xFE2F) goto yy598;
yy596:
YYSKIP ();
- status = action_line1037(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line1037(keys_count, i, 3)
+ || action_line1037(&i, keys, input, token, &cursor, 254);
continue;
yy598:
YYSKIP ();
- status = action_line1037(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line1037(keys_count, i, 3)
+ || action_line1037(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -13928,7 +15030,7 @@ yy598:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line1037: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line1037: unused keys left after %u keys\n", i);
}
}
@@ -13954,7 +15056,7 @@ end:
#define YYFILL(n) { break; }
static int action_line1044
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -13962,10 +15064,12 @@ static int action_line1044
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -13975,17 +15079,17 @@ static int action_line1044
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line1044: at position %ld (iteration %u):\n"
+ , "error: lex_line1044: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -13995,6 +15099,13 @@ static int action_line1044
}
}
+static int check_key_count_line1044(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line1044: not enough keys\n");
+ return 1;
+}
+
int lex_line1044()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -14028,7 +15139,7 @@ int lex_line1044()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line1044.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -14041,7 +15152,7 @@ int lex_line1044()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -14051,11 +15162,13 @@ int lex_line1044()
if (yych <= 0xFE4F) goto yy604;
yy602:
YYSKIP ();
- status = action_line1044(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line1044(keys_count, i, 3)
+ || action_line1044(&i, keys, input, token, &cursor, 254);
continue;
yy604:
YYSKIP ();
- status = action_line1044(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line1044(keys_count, i, 3)
+ || action_line1044(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -14067,7 +15180,7 @@ yy604:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line1044: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line1044: unused keys left after %u keys\n", i);
}
}
@@ -14093,7 +15206,7 @@ end:
#define YYFILL(n) { break; }
static int action_line1051
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -14101,10 +15214,12 @@ static int action_line1051
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -14114,17 +15229,17 @@ static int action_line1051
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line1051: at position %ld (iteration %u):\n"
+ , "error: lex_line1051: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -14134,6 +15249,13 @@ static int action_line1051
}
}
+static int check_key_count_line1051(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line1051: not enough keys\n");
+ return 1;
+}
+
int lex_line1051()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -14167,7 +15289,7 @@ int lex_line1051()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line1051.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -14180,7 +15302,7 @@ int lex_line1051()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -14190,11 +15312,13 @@ int lex_line1051()
if (yych <= 0xFE6F) goto yy610;
yy608:
YYSKIP ();
- status = action_line1051(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line1051(keys_count, i, 3)
+ || action_line1051(&i, keys, input, token, &cursor, 254);
continue;
yy610:
YYSKIP ();
- status = action_line1051(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line1051(keys_count, i, 3)
+ || action_line1051(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -14206,7 +15330,7 @@ yy610:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line1051: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line1051: unused keys left after %u keys\n", i);
}
}
@@ -14232,7 +15356,7 @@ end:
#define YYFILL(n) { break; }
static int action_line1058
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -14240,10 +15364,12 @@ static int action_line1058
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -14253,17 +15379,17 @@ static int action_line1058
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line1058: at position %ld (iteration %u):\n"
+ , "error: lex_line1058: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -14273,6 +15399,13 @@ static int action_line1058
}
}
+static int check_key_count_line1058(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line1058: not enough keys\n");
+ return 1;
+}
+
int lex_line1058()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -14306,7 +15439,7 @@ int lex_line1058()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line1058.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -14319,7 +15452,7 @@ int lex_line1058()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -14329,11 +15462,13 @@ int lex_line1058()
if (yych <= 0xFEFF) goto yy616;
yy614:
YYSKIP ();
- status = action_line1058(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line1058(keys_count, i, 3)
+ || action_line1058(&i, keys, input, token, &cursor, 254);
continue;
yy616:
YYSKIP ();
- status = action_line1058(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line1058(keys_count, i, 3)
+ || action_line1058(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -14345,7 +15480,7 @@ yy616:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line1058: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line1058: unused keys left after %u keys\n", i);
}
}
@@ -14371,7 +15506,7 @@ end:
#define YYFILL(n) { break; }
static int action_line1065
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -14379,10 +15514,12 @@ static int action_line1065
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -14392,17 +15529,17 @@ static int action_line1065
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line1065: at position %ld (iteration %u):\n"
+ , "error: lex_line1065: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -14412,6 +15549,13 @@ static int action_line1065
}
}
+static int check_key_count_line1065(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line1065: not enough keys\n");
+ return 1;
+}
+
int lex_line1065()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -14445,7 +15589,7 @@ int lex_line1065()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line1065.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -14458,7 +15602,7 @@ int lex_line1065()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -14468,11 +15612,13 @@ int lex_line1065()
if (yych <= 0xFFEF) goto yy622;
yy620:
YYSKIP ();
- status = action_line1065(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line1065(keys_count, i, 3)
+ || action_line1065(&i, keys, input, token, &cursor, 254);
continue;
yy622:
YYSKIP ();
- status = action_line1065(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line1065(keys_count, i, 3)
+ || action_line1065(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -14484,7 +15630,7 @@ yy622:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line1065: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line1065: unused keys left after %u keys\n", i);
}
}
@@ -14510,7 +15656,7 @@ end:
#define YYFILL(n) { break; }
static int action_line1072
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -14518,10 +15664,12 @@ static int action_line1072
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -14531,17 +15679,17 @@ static int action_line1072
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line1072: at position %ld (iteration %u):\n"
+ , "error: lex_line1072: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -14551,6 +15699,13 @@ static int action_line1072
}
}
+static int check_key_count_line1072(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line1072: not enough keys\n");
+ return 1;
+}
+
int lex_line1072()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -14584,7 +15739,7 @@ int lex_line1072()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line1072.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -14597,7 +15752,7 @@ int lex_line1072()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -14605,11 +15760,13 @@ int lex_line1072()
yych = YYPEEK ();
if (yych >= 0xFFF0) goto yy628;
YYSKIP ();
- status = action_line1072(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line1072(keys_count, i, 3)
+ || action_line1072(&i, keys, input, token, &cursor, 254);
continue;
yy628:
YYSKIP ();
- status = action_line1072(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line1072(keys_count, i, 3)
+ || action_line1072(&i, keys, input, token, &cursor, 0);
continue;
}
@@ -14621,7 +15778,7 @@ yy628:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line1072: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line1072: unused keys left after %u keys\n", i);
}
}
@@ -14647,7 +15804,7 @@ end:
#define YYFILL(n) { break; }
static int action_line1079
- ( unsigned int i
+ ( unsigned *pkix
, const YYKEYTYPE *keys
, const YYCTYPE *start
, const YYCTYPE *token
@@ -14655,10 +15812,12 @@ static int action_line1079
, YYKEYTYPE rule_act
)
{
+ const unsigned kix = *pkix;
const long pos = token - start;
const long len_act = *cursor - token;
- const long len_exp = (long) keys [3 * i + 1];
- const YYKEYTYPE rule_exp = keys [3 * i + 2];
+ const long len_exp = (long) keys[kix + 1];
+ const YYKEYTYPE rule_exp = keys[kix + 2];
+ *pkix = kix + 3;
if (rule_exp == 255) {
fprintf
( stderr
@@ -14668,17 +15827,17 @@ static int action_line1079
);
}
if (len_act == len_exp && rule_act == rule_exp) {
- const YYKEYTYPE offset = keys[3 * i];
+ const YYKEYTYPE offset = keys[kix];
*cursor = token + offset;
return 0;
} else {
fprintf
( stderr
- , "error: lex_line1079: at position %ld (iteration %u):\n"
+ , "error: lex_line1079: at position %ld (key %u):\n"
"\texpected: match length %ld, rule %u\n"
"\tactual: match length %ld, rule %u\n"
, pos
- , i
+ , kix
, len_exp
, rule_exp
, len_act
@@ -14688,6 +15847,13 @@ static int action_line1079
}
}
+static int check_key_count_line1079(unsigned have, unsigned used, unsigned need)
+{
+ if (used + need <= have) return 0;
+ fprintf(stderr, "error: lex_line1079: not enough keys\n");
+ return 1;
+}
+
int lex_line1079()
{
const size_t padding = 1; /* YYMAXFILL */
@@ -14721,7 +15887,7 @@ int lex_line1079()
keys = (YYKEYTYPE *) read_file
("unicode_blocks.x--skeleton--encoding-policy(ignore).c.line1079.keys"
- , 3 * sizeof (YYKEYTYPE)
+ , sizeof (YYKEYTYPE)
, 0
, &keys_count
);
@@ -14734,7 +15900,7 @@ int lex_line1079()
limit = input + input_len + padding;
eof = input + input_len;
- for (i = 0; status == 0 && i < keys_count; ++i) {
+ for (i = 0; status == 0 && cursor < eof && i < keys_count;) {
token = cursor;
YYCTYPE yych;
@@ -14782,11 +15948,13 @@ int lex_line1079()
}
yy632:
YYSKIP ();
- status = action_line1079(i, keys, input, token, &cursor, 0);
+ status = check_key_count_line1079(keys_count, i, 3)
+ || action_line1079(&i, keys, input, token, &cursor, 0);
continue;
yy634:
YYSKIP ();
- status = action_line1079(i, keys, input, token, &cursor, 254);
+ status = check_key_count_line1079(keys_count, i, 3)
+ || action_line1079(&i, keys, input, token, &cursor, 254);
continue;
}
@@ -14798,7 +15966,7 @@ yy634:
}
if (i != keys_count) {
status = 1;
- fprintf(stderr, "error: lex_line1079: unused keys left after %u iterations\n", i);
+ fprintf(stderr, "error: lex_line1079: unused keys left after %u keys\n", i);
}
}
diff --git a/test/unicode_group_C.8--encoding-policy(fail).c b/test/unicode_group_C.8--encoding-policy(fail).c
index e2239a1d..26c4a8d0 100644
--- a/test/unicode_group_C.8--encoding-policy(fail).c
+++ b/test/unicode_group_C.8--encoding-policy(fail).c
@@ -1 +1 @@
-re2c: error: line 11, column 7: Bad code point range: '0xD7FC - 0xF8FF'
+re2c: error: line 11, column 4428: bad code point range: '0xD7FC - 0xF8FF'
diff --git a/test/unicode_group_C.8--encoding-policy(ignore).c b/test/unicode_group_C.8--encoding-policy(ignore).c
index ea8c32cc..b4246130 100644
--- a/test/unicode_group_C.8--encoding-policy(ignore).c
+++ b/test/unicode_group_C.8--encoding-policy(ignore).c
@@ -5525,8 +5525,8 @@ yy224:
default: goto yy34;
}
yy225:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xB0:
case 0xB1:
case 0xB2:
diff --git a/test/unicode_group_C.8--encoding-policy(substitute).c b/test/unicode_group_C.8--encoding-policy(substitute).c
index f04b0cfd..14e94f4e 100644
--- a/test/unicode_group_C.8--encoding-policy(substitute).c
+++ b/test/unicode_group_C.8--encoding-policy(substitute).c
@@ -5494,8 +5494,8 @@ yy224:
default: goto yy34;
}
yy225:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xB0:
case 0xB1:
case 0xB2:
diff --git a/test/unicode_group_C.u--encoding-policy(fail).c b/test/unicode_group_C.u--encoding-policy(fail).c
index e2239a1d..26c4a8d0 100644
--- a/test/unicode_group_C.u--encoding-policy(fail).c
+++ b/test/unicode_group_C.u--encoding-policy(fail).c
@@ -1 +1 @@
-re2c: error: line 11, column 7: Bad code point range: '0xD7FC - 0xF8FF'
+re2c: error: line 11, column 4428: bad code point range: '0xD7FC - 0xF8FF'
diff --git a/test/unicode_group_C.x--encoding-policy(fail).c b/test/unicode_group_C.x--encoding-policy(fail).c
index e2239a1d..26c4a8d0 100644
--- a/test/unicode_group_C.x--encoding-policy(fail).c
+++ b/test/unicode_group_C.x--encoding-policy(fail).c
@@ -1 +1 @@
-re2c: error: line 11, column 7: Bad code point range: '0xD7FC - 0xF8FF'
+re2c: error: line 11, column 4428: bad code point range: '0xD7FC - 0xF8FF'
diff --git a/test/unicode_group_C.x--encoding-policy(ignore).c b/test/unicode_group_C.x--encoding-policy(ignore).c
index 2d0d0af0..70019373 100644
--- a/test/unicode_group_C.x--encoding-policy(ignore).c
+++ b/test/unicode_group_C.x--encoding-policy(ignore).c
@@ -1806,8 +1806,8 @@ yy24:
if (yych <= 0xDFFF) goto yy2;
goto yy3;
yy25:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDBFF) goto yy3;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDBFF) goto yy3;
if (yych <= 0xDCFF) goto yy2;
if (yych <= 0xDDEF) goto yy3;
if (yych <= 0xDFFF) goto yy2;
diff --git a/test/unicode_group_C.x--encoding-policy(substitute).c b/test/unicode_group_C.x--encoding-policy(substitute).c
index 1fe2a092..5d196d44 100644
--- a/test/unicode_group_C.x--encoding-policy(substitute).c
+++ b/test/unicode_group_C.x--encoding-policy(substitute).c
@@ -1809,8 +1809,8 @@ yy24:
if (yych <= 0xDFFF) goto yy2;
goto yy5;
yy25:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDBFF) goto yy5;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDBFF) goto yy5;
if (yych <= 0xDCFF) goto yy2;
if (yych <= 0xDDEF) goto yy5;
if (yych <= 0xDFFF) goto yy2;
diff --git a/test/unicode_group_Cc.8--encoding-policy(fail).c b/test/unicode_group_Cc.8--encoding-policy(fail).c
index 7d736f1e..0877f4c9 100644
--- a/test/unicode_group_Cc.8--encoding-policy(fail).c
+++ b/test/unicode_group_Cc.8--encoding-policy(fail).c
@@ -62,8 +62,8 @@ yy5:
{ return YYCURSOR == limit; }
#line 64 "unicode_group_Cc.8--encoding-policy(fail).c"
yy6:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_group_Cc.8--encoding-policy(ignore).c b/test/unicode_group_Cc.8--encoding-policy(ignore).c
index 7d1cd525..0aa8c58a 100644
--- a/test/unicode_group_Cc.8--encoding-policy(ignore).c
+++ b/test/unicode_group_Cc.8--encoding-policy(ignore).c
@@ -62,8 +62,8 @@ yy5:
{ return YYCURSOR == limit; }
#line 64 "unicode_group_Cc.8--encoding-policy(ignore).c"
yy6:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_group_Cc.8--encoding-policy(substitute).c b/test/unicode_group_Cc.8--encoding-policy(substitute).c
index 6fd61319..b3154e8f 100644
--- a/test/unicode_group_Cc.8--encoding-policy(substitute).c
+++ b/test/unicode_group_Cc.8--encoding-policy(substitute).c
@@ -62,8 +62,8 @@ yy5:
{ return YYCURSOR == limit; }
#line 64 "unicode_group_Cc.8--encoding-policy(substitute).c"
yy6:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_group_Cf.8--encoding-policy(fail).c b/test/unicode_group_Cf.8--encoding-policy(fail).c
index d6971660..140050d3 100644
--- a/test/unicode_group_Cf.8--encoding-policy(fail).c
+++ b/test/unicode_group_Cf.8--encoding-policy(fail).c
@@ -228,8 +228,8 @@ yy26:
default: goto yy16;
}
yy27:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_group_Cf.8--encoding-policy(ignore).c b/test/unicode_group_Cf.8--encoding-policy(ignore).c
index 31988d7a..e0964c42 100644
--- a/test/unicode_group_Cf.8--encoding-policy(ignore).c
+++ b/test/unicode_group_Cf.8--encoding-policy(ignore).c
@@ -228,8 +228,8 @@ yy26:
default: goto yy16;
}
yy27:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_group_Cf.8--encoding-policy(substitute).c b/test/unicode_group_Cf.8--encoding-policy(substitute).c
index c19602cc..f496b423 100644
--- a/test/unicode_group_Cf.8--encoding-policy(substitute).c
+++ b/test/unicode_group_Cf.8--encoding-policy(substitute).c
@@ -228,8 +228,8 @@ yy26:
default: goto yy16;
}
yy27:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_group_Cf.x--encoding-policy(fail).c b/test/unicode_group_Cf.x--encoding-policy(fail).c
index 7d14f925..403dd027 100644
--- a/test/unicode_group_Cf.x--encoding-policy(fail).c
+++ b/test/unicode_group_Cf.x--encoding-policy(fail).c
@@ -72,8 +72,8 @@ yy7:
if (yych <= 0xDD7A) goto yy4;
goto yy3;
yy8:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == 0xDC01) goto yy4;
+ yych = *++YYCURSOR;
+ if (yych == 0xDC01) goto yy4;
if (yych <= 0xDC1F) goto yy3;
if (yych <= 0xDC7F) goto yy4;
goto yy3;
diff --git a/test/unicode_group_Cf.x--encoding-policy(ignore).c b/test/unicode_group_Cf.x--encoding-policy(ignore).c
index 9c675597..e0a7c7e6 100644
--- a/test/unicode_group_Cf.x--encoding-policy(ignore).c
+++ b/test/unicode_group_Cf.x--encoding-policy(ignore).c
@@ -72,8 +72,8 @@ yy7:
if (yych <= 0xDD7A) goto yy4;
goto yy3;
yy8:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == 0xDC01) goto yy4;
+ yych = *++YYCURSOR;
+ if (yych == 0xDC01) goto yy4;
if (yych <= 0xDC1F) goto yy3;
if (yych <= 0xDC7F) goto yy4;
goto yy3;
diff --git a/test/unicode_group_Cf.x--encoding-policy(substitute).c b/test/unicode_group_Cf.x--encoding-policy(substitute).c
index cf1bc26d..08dcdbd1 100644
--- a/test/unicode_group_Cf.x--encoding-policy(substitute).c
+++ b/test/unicode_group_Cf.x--encoding-policy(substitute).c
@@ -72,8 +72,8 @@ yy7:
if (yych <= 0xDD7A) goto yy4;
goto yy3;
yy8:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) == 0xDC01) goto yy4;
+ yych = *++YYCURSOR;
+ if (yych == 0xDC01) goto yy4;
if (yych <= 0xDC1F) goto yy3;
if (yych <= 0xDC7F) goto yy4;
goto yy3;
diff --git a/test/unicode_group_Cn.8--encoding-policy(fail).c b/test/unicode_group_Cn.8--encoding-policy(fail).c
index e2098345..ed74eb6e 100644
--- a/test/unicode_group_Cn.8--encoding-policy(fail).c
+++ b/test/unicode_group_Cn.8--encoding-policy(fail).c
@@ -5262,8 +5262,8 @@ yy220:
default: goto yy31;
}
yy221:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xB0:
case 0xB1:
case 0xB2:
diff --git a/test/unicode_group_Cn.8--encoding-policy(ignore).c b/test/unicode_group_Cn.8--encoding-policy(ignore).c
index 68511716..5301d832 100644
--- a/test/unicode_group_Cn.8--encoding-policy(ignore).c
+++ b/test/unicode_group_Cn.8--encoding-policy(ignore).c
@@ -5262,8 +5262,8 @@ yy220:
default: goto yy31;
}
yy221:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xB0:
case 0xB1:
case 0xB2:
diff --git a/test/unicode_group_Cn.8--encoding-policy(substitute).c b/test/unicode_group_Cn.8--encoding-policy(substitute).c
index eeb2afbe..3525a3d0 100644
--- a/test/unicode_group_Cn.8--encoding-policy(substitute).c
+++ b/test/unicode_group_Cn.8--encoding-policy(substitute).c
@@ -5262,8 +5262,8 @@ yy220:
default: goto yy31;
}
yy221:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xB0:
case 0xB1:
case 0xB2:
diff --git a/test/unicode_group_Cn.x--encoding-policy(fail).c b/test/unicode_group_Cn.x--encoding-policy(fail).c
index 5236ff33..aa307c17 100644
--- a/test/unicode_group_Cn.x--encoding-policy(fail).c
+++ b/test/unicode_group_Cn.x--encoding-policy(fail).c
@@ -1803,8 +1803,8 @@ yy25:
}
}
yy26:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDFFD) goto yy3;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDFFD) goto yy3;
if (yych <= 0xDFFF) goto yy4;
goto yy3;
}
diff --git a/test/unicode_group_Cn.x--encoding-policy(ignore).c b/test/unicode_group_Cn.x--encoding-policy(ignore).c
index 50c776d3..bed2209f 100644
--- a/test/unicode_group_Cn.x--encoding-policy(ignore).c
+++ b/test/unicode_group_Cn.x--encoding-policy(ignore).c
@@ -1803,8 +1803,8 @@ yy25:
}
}
yy26:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDFFD) goto yy3;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDFFD) goto yy3;
if (yych <= 0xDFFF) goto yy4;
goto yy3;
}
diff --git a/test/unicode_group_Cn.x--encoding-policy(substitute).c b/test/unicode_group_Cn.x--encoding-policy(substitute).c
index 8aee9d55..4590e9cb 100644
--- a/test/unicode_group_Cn.x--encoding-policy(substitute).c
+++ b/test/unicode_group_Cn.x--encoding-policy(substitute).c
@@ -1803,8 +1803,8 @@ yy25:
}
}
yy26:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDFFD) goto yy3;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDFFD) goto yy3;
if (yych <= 0xDFFF) goto yy4;
goto yy3;
}
diff --git a/test/unicode_group_Co.8--encoding-policy(fail).c b/test/unicode_group_Co.8--encoding-policy(fail).c
index 5fb0a2fa..373eba3f 100644
--- a/test/unicode_group_Co.8--encoding-policy(fail).c
+++ b/test/unicode_group_Co.8--encoding-policy(fail).c
@@ -394,8 +394,8 @@ yy12:
{ goto Co; }
#line 396 "unicode_group_Co.8--encoding-policy(fail).c"
yy14:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_group_Co.8--encoding-policy(ignore).c b/test/unicode_group_Co.8--encoding-policy(ignore).c
index 688955bc..a528c041 100644
--- a/test/unicode_group_Co.8--encoding-policy(ignore).c
+++ b/test/unicode_group_Co.8--encoding-policy(ignore).c
@@ -394,8 +394,8 @@ yy12:
{ goto Co; }
#line 396 "unicode_group_Co.8--encoding-policy(ignore).c"
yy14:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_group_Co.8--encoding-policy(substitute).c b/test/unicode_group_Co.8--encoding-policy(substitute).c
index 6a01e9fa..62765a8b 100644
--- a/test/unicode_group_Co.8--encoding-policy(substitute).c
+++ b/test/unicode_group_Co.8--encoding-policy(substitute).c
@@ -394,8 +394,8 @@ yy12:
{ goto Co; }
#line 396 "unicode_group_Co.8--encoding-policy(substitute).c"
yy14:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_group_Cs.8--encoding-policy(fail).c b/test/unicode_group_Cs.8--encoding-policy(fail).c
index dd77d193..9247e4da 100644
--- a/test/unicode_group_Cs.8--encoding-policy(fail).c
+++ b/test/unicode_group_Cs.8--encoding-policy(fail).c
@@ -1 +1 @@
-re2c: error: line 11, column 8: Bad code point range: '0xD800 - 0xDFFF'
+re2c: error: line 11, column 8: bad code point range: '0xD800 - 0xDFFF'
diff --git a/test/unicode_group_Cs.u--encoding-policy(fail).c b/test/unicode_group_Cs.u--encoding-policy(fail).c
index dd77d193..9247e4da 100644
--- a/test/unicode_group_Cs.u--encoding-policy(fail).c
+++ b/test/unicode_group_Cs.u--encoding-policy(fail).c
@@ -1 +1 @@
-re2c: error: line 11, column 8: Bad code point range: '0xD800 - 0xDFFF'
+re2c: error: line 11, column 8: bad code point range: '0xD800 - 0xDFFF'
diff --git a/test/unicode_group_Cs.x--encoding-policy(fail).c b/test/unicode_group_Cs.x--encoding-policy(fail).c
index dd77d193..9247e4da 100644
--- a/test/unicode_group_Cs.x--encoding-policy(fail).c
+++ b/test/unicode_group_Cs.x--encoding-policy(fail).c
@@ -1 +1 @@
-re2c: error: line 11, column 8: Bad code point range: '0xD800 - 0xDFFF'
+re2c: error: line 11, column 8: bad code point range: '0xD800 - 0xDFFF'
diff --git a/test/unicode_group_L.8--encoding-policy(fail).c b/test/unicode_group_L.8--encoding-policy(fail).c
index 137b25cd..1545b28b 100644
--- a/test/unicode_group_L.8--encoding-policy(fail).c
+++ b/test/unicode_group_L.8--encoding-policy(fail).c
@@ -8666,8 +8666,8 @@ yy208:
default: goto yy37;
}
yy209:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_group_L.8--encoding-policy(ignore).c b/test/unicode_group_L.8--encoding-policy(ignore).c
index 7d4cbf6e..b4356b4f 100644
--- a/test/unicode_group_L.8--encoding-policy(ignore).c
+++ b/test/unicode_group_L.8--encoding-policy(ignore).c
@@ -8666,8 +8666,8 @@ yy208:
default: goto yy37;
}
yy209:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_group_L.8--encoding-policy(substitute).c b/test/unicode_group_L.8--encoding-policy(substitute).c
index 6e73c5fa..4980cfb2 100644
--- a/test/unicode_group_L.8--encoding-policy(substitute).c
+++ b/test/unicode_group_L.8--encoding-policy(substitute).c
@@ -8666,8 +8666,8 @@ yy208:
default: goto yy37;
}
yy209:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_group_L.x--encoding-policy(fail).c b/test/unicode_group_L.x--encoding-policy(fail).c
index a6ee8078..9fddae99 100644
--- a/test/unicode_group_L.x--encoding-policy(fail).c
+++ b/test/unicode_group_L.x--encoding-policy(fail).c
@@ -1488,8 +1488,8 @@ yy19:
if (yych <= 0xDC1D) goto yy4;
goto yy3;
yy20:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDBFF) goto yy3;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDBFF) goto yy3;
if (yych <= 0xDE1D) goto yy4;
goto yy3;
}
diff --git a/test/unicode_group_L.x--encoding-policy(ignore).c b/test/unicode_group_L.x--encoding-policy(ignore).c
index 78cc4cfd..28da5e86 100644
--- a/test/unicode_group_L.x--encoding-policy(ignore).c
+++ b/test/unicode_group_L.x--encoding-policy(ignore).c
@@ -1488,8 +1488,8 @@ yy19:
if (yych <= 0xDC1D) goto yy4;
goto yy3;
yy20:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDBFF) goto yy3;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDBFF) goto yy3;
if (yych <= 0xDE1D) goto yy4;
goto yy3;
}
diff --git a/test/unicode_group_L.x--encoding-policy(substitute).c b/test/unicode_group_L.x--encoding-policy(substitute).c
index 7e0587c2..31902958 100644
--- a/test/unicode_group_L.x--encoding-policy(substitute).c
+++ b/test/unicode_group_L.x--encoding-policy(substitute).c
@@ -1488,8 +1488,8 @@ yy19:
if (yych <= 0xDC1D) goto yy4;
goto yy3;
yy20:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDBFF) goto yy3;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDBFF) goto yy3;
if (yych <= 0xDE1D) goto yy4;
goto yy3;
}
diff --git a/test/unicode_group_L_.8--encoding-policy(fail).c b/test/unicode_group_L_.8--encoding-policy(fail).c
index 94330375..cd5b5e39 100644
--- a/test/unicode_group_L_.8--encoding-policy(fail).c
+++ b/test/unicode_group_L_.8--encoding-policy(fail).c
@@ -2581,8 +2581,8 @@ yy63:
default: goto yy25;
}
yy64:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_group_L_.8--encoding-policy(ignore).c b/test/unicode_group_L_.8--encoding-policy(ignore).c
index cd570316..de82962e 100644
--- a/test/unicode_group_L_.8--encoding-policy(ignore).c
+++ b/test/unicode_group_L_.8--encoding-policy(ignore).c
@@ -2581,8 +2581,8 @@ yy63:
default: goto yy25;
}
yy64:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_group_L_.8--encoding-policy(substitute).c b/test/unicode_group_L_.8--encoding-policy(substitute).c
index bc01b1bd..f55e44ad 100644
--- a/test/unicode_group_L_.8--encoding-policy(substitute).c
+++ b/test/unicode_group_L_.8--encoding-policy(substitute).c
@@ -2581,8 +2581,8 @@ yy63:
default: goto yy25;
}
yy64:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_group_L_.x--encoding-policy(fail).c b/test/unicode_group_L_.x--encoding-policy(fail).c
index f9add804..74bce5a3 100644
--- a/test/unicode_group_L_.x--encoding-policy(fail).c
+++ b/test/unicode_group_L_.x--encoding-policy(fail).c
@@ -311,8 +311,8 @@ yy6:
if (yych <= 0xDC4F) goto yy4;
goto yy3;
yy7:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDD3E) {
+ yych = *++YYCURSOR;
+ if (yych <= 0xDD3E) {
if (yych <= 0xDCBA) {
if (yych <= 0xDCA1) {
if (yych <= 0xDC55) {
diff --git a/test/unicode_group_L_.x--encoding-policy(ignore).c b/test/unicode_group_L_.x--encoding-policy(ignore).c
index 779d5de7..ce4c2405 100644
--- a/test/unicode_group_L_.x--encoding-policy(ignore).c
+++ b/test/unicode_group_L_.x--encoding-policy(ignore).c
@@ -311,8 +311,8 @@ yy6:
if (yych <= 0xDC4F) goto yy4;
goto yy3;
yy7:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDD3E) {
+ yych = *++YYCURSOR;
+ if (yych <= 0xDD3E) {
if (yych <= 0xDCBA) {
if (yych <= 0xDCA1) {
if (yych <= 0xDC55) {
diff --git a/test/unicode_group_L_.x--encoding-policy(substitute).c b/test/unicode_group_L_.x--encoding-policy(substitute).c
index b76eacc6..7bfea871 100644
--- a/test/unicode_group_L_.x--encoding-policy(substitute).c
+++ b/test/unicode_group_L_.x--encoding-policy(substitute).c
@@ -311,8 +311,8 @@ yy6:
if (yych <= 0xDC4F) goto yy4;
goto yy3;
yy7:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDD3E) {
+ yych = *++YYCURSOR;
+ if (yych <= 0xDD3E) {
if (yych <= 0xDCBA) {
if (yych <= 0xDCA1) {
if (yych <= 0xDC55) {
diff --git a/test/unicode_group_Ll.8--encoding-policy(fail).c b/test/unicode_group_Ll.8--encoding-policy(fail).c
index 533516cf..8c4d749a 100644
--- a/test/unicode_group_Ll.8--encoding-policy(fail).c
+++ b/test/unicode_group_Ll.8--encoding-policy(fail).c
@@ -2090,8 +2090,8 @@ yy73:
default: goto yy31;
}
yy74:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_group_Ll.8--encoding-policy(ignore).c b/test/unicode_group_Ll.8--encoding-policy(ignore).c
index 6291668f..be516c40 100644
--- a/test/unicode_group_Ll.8--encoding-policy(ignore).c
+++ b/test/unicode_group_Ll.8--encoding-policy(ignore).c
@@ -2090,8 +2090,8 @@ yy73:
default: goto yy31;
}
yy74:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_group_Ll.8--encoding-policy(substitute).c b/test/unicode_group_Ll.8--encoding-policy(substitute).c
index d9d03a3a..0e09c91b 100644
--- a/test/unicode_group_Ll.8--encoding-policy(substitute).c
+++ b/test/unicode_group_Ll.8--encoding-policy(substitute).c
@@ -2090,8 +2090,8 @@ yy73:
default: goto yy31;
}
yy74:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_group_Ll.x--encoding-policy(fail).c b/test/unicode_group_Ll.x--encoding-policy(fail).c
index fc3bac4d..7da961ea 100644
--- a/test/unicode_group_Ll.x--encoding-policy(fail).c
+++ b/test/unicode_group_Ll.x--encoding-policy(fail).c
@@ -1757,8 +1757,8 @@ yy6:
if (yych <= 0xDC4F) goto yy4;
goto yy3;
yy7:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDE07) {
+ yych = *++YYCURSOR;
+ if (yych <= 0xDE07) {
if (yych <= 0xDCC3) {
if (yych <= 0xDC81) {
if (yych <= 0xDC4D) {
diff --git a/test/unicode_group_Ll.x--encoding-policy(ignore).c b/test/unicode_group_Ll.x--encoding-policy(ignore).c
index 70839a7d..3659fda8 100644
--- a/test/unicode_group_Ll.x--encoding-policy(ignore).c
+++ b/test/unicode_group_Ll.x--encoding-policy(ignore).c
@@ -1757,8 +1757,8 @@ yy6:
if (yych <= 0xDC4F) goto yy4;
goto yy3;
yy7:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDE07) {
+ yych = *++YYCURSOR;
+ if (yych <= 0xDE07) {
if (yych <= 0xDCC3) {
if (yych <= 0xDC81) {
if (yych <= 0xDC4D) {
diff --git a/test/unicode_group_Ll.x--encoding-policy(substitute).c b/test/unicode_group_Ll.x--encoding-policy(substitute).c
index e528501a..20c85088 100644
--- a/test/unicode_group_Ll.x--encoding-policy(substitute).c
+++ b/test/unicode_group_Ll.x--encoding-policy(substitute).c
@@ -1757,8 +1757,8 @@ yy6:
if (yych <= 0xDC4F) goto yy4;
goto yy3;
yy7:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDE07) {
+ yych = *++YYCURSOR;
+ if (yych <= 0xDE07) {
if (yych <= 0xDCC3) {
if (yych <= 0xDC81) {
if (yych <= 0xDC4D) {
diff --git a/test/unicode_group_Lm.8--encoding-policy(fail).c b/test/unicode_group_Lm.8--encoding-policy(fail).c
index ebfd0ca0..14d0acc5 100644
--- a/test/unicode_group_Lm.8--encoding-policy(fail).c
+++ b/test/unicode_group_Lm.8--encoding-policy(fail).c
@@ -469,8 +469,8 @@ yy45:
default: goto yy20;
}
yy46:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x9E:
case 0x9F: goto yy17;
default: goto yy20;
diff --git a/test/unicode_group_Lm.8--encoding-policy(ignore).c b/test/unicode_group_Lm.8--encoding-policy(ignore).c
index fa572364..2340519c 100644
--- a/test/unicode_group_Lm.8--encoding-policy(ignore).c
+++ b/test/unicode_group_Lm.8--encoding-policy(ignore).c
@@ -469,8 +469,8 @@ yy45:
default: goto yy20;
}
yy46:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x9E:
case 0x9F: goto yy17;
default: goto yy20;
diff --git a/test/unicode_group_Lm.8--encoding-policy(substitute).c b/test/unicode_group_Lm.8--encoding-policy(substitute).c
index 950d7471..541ea711 100644
--- a/test/unicode_group_Lm.8--encoding-policy(substitute).c
+++ b/test/unicode_group_Lm.8--encoding-policy(substitute).c
@@ -469,8 +469,8 @@ yy45:
default: goto yy20;
}
yy46:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x9E:
case 0x9F: goto yy17;
default: goto yy20;
diff --git a/test/unicode_group_Lo.8--encoding-policy(fail).c b/test/unicode_group_Lo.8--encoding-policy(fail).c
index 98ab0384..4761edd0 100644
--- a/test/unicode_group_Lo.8--encoding-policy(fail).c
+++ b/test/unicode_group_Lo.8--encoding-policy(fail).c
@@ -6558,8 +6558,8 @@ yy170:
default: goto yy30;
}
yy171:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_group_Lo.8--encoding-policy(ignore).c b/test/unicode_group_Lo.8--encoding-policy(ignore).c
index d8abdaf8..569905fc 100644
--- a/test/unicode_group_Lo.8--encoding-policy(ignore).c
+++ b/test/unicode_group_Lo.8--encoding-policy(ignore).c
@@ -6558,8 +6558,8 @@ yy170:
default: goto yy30;
}
yy171:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_group_Lo.8--encoding-policy(substitute).c b/test/unicode_group_Lo.8--encoding-policy(substitute).c
index ac641bc0..9fb5ba7f 100644
--- a/test/unicode_group_Lo.8--encoding-policy(substitute).c
+++ b/test/unicode_group_Lo.8--encoding-policy(substitute).c
@@ -6558,8 +6558,8 @@ yy170:
default: goto yy30;
}
yy171:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_group_Lo.x--encoding-policy(fail).c b/test/unicode_group_Lo.x--encoding-policy(fail).c
index d600b1a2..aa05e72f 100644
--- a/test/unicode_group_Lo.x--encoding-policy(fail).c
+++ b/test/unicode_group_Lo.x--encoding-policy(fail).c
@@ -1132,8 +1132,8 @@ yy18:
if (yych <= 0xDC1D) goto yy4;
goto yy3;
yy19:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDBFF) goto yy3;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDBFF) goto yy3;
if (yych <= 0xDE1D) goto yy4;
goto yy3;
}
diff --git a/test/unicode_group_Lo.x--encoding-policy(ignore).c b/test/unicode_group_Lo.x--encoding-policy(ignore).c
index 0c9a9f54..b99e1e28 100644
--- a/test/unicode_group_Lo.x--encoding-policy(ignore).c
+++ b/test/unicode_group_Lo.x--encoding-policy(ignore).c
@@ -1132,8 +1132,8 @@ yy18:
if (yych <= 0xDC1D) goto yy4;
goto yy3;
yy19:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDBFF) goto yy3;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDBFF) goto yy3;
if (yych <= 0xDE1D) goto yy4;
goto yy3;
}
diff --git a/test/unicode_group_Lo.x--encoding-policy(substitute).c b/test/unicode_group_Lo.x--encoding-policy(substitute).c
index 7c28cd98..130e45ca 100644
--- a/test/unicode_group_Lo.x--encoding-policy(substitute).c
+++ b/test/unicode_group_Lo.x--encoding-policy(substitute).c
@@ -1132,8 +1132,8 @@ yy18:
if (yych <= 0xDC1D) goto yy4;
goto yy3;
yy19:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDBFF) goto yy3;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDBFF) goto yy3;
if (yych <= 0xDE1D) goto yy4;
goto yy3;
}
diff --git a/test/unicode_group_Lt.8--encoding-policy(fail).c b/test/unicode_group_Lt.8--encoding-policy(fail).c
index df74665a..db664d86 100644
--- a/test/unicode_group_Lt.8--encoding-policy(fail).c
+++ b/test/unicode_group_Lt.8--encoding-policy(fail).c
@@ -79,8 +79,8 @@ yy9:
YYCURSOR = YYMARKER;
goto yy3;
yy10:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x8C:
case 0xBC: goto yy6;
default: goto yy9;
diff --git a/test/unicode_group_Lt.8--encoding-policy(ignore).c b/test/unicode_group_Lt.8--encoding-policy(ignore).c
index 32a5002b..92d00618 100644
--- a/test/unicode_group_Lt.8--encoding-policy(ignore).c
+++ b/test/unicode_group_Lt.8--encoding-policy(ignore).c
@@ -79,8 +79,8 @@ yy9:
YYCURSOR = YYMARKER;
goto yy3;
yy10:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x8C:
case 0xBC: goto yy6;
default: goto yy9;
diff --git a/test/unicode_group_Lt.8--encoding-policy(substitute).c b/test/unicode_group_Lt.8--encoding-policy(substitute).c
index a25a0ef6..891638e3 100644
--- a/test/unicode_group_Lt.8--encoding-policy(substitute).c
+++ b/test/unicode_group_Lt.8--encoding-policy(substitute).c
@@ -79,8 +79,8 @@ yy9:
YYCURSOR = YYMARKER;
goto yy3;
yy10:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x8C:
case 0xBC: goto yy6;
default: goto yy9;
diff --git a/test/unicode_group_Lu.8--encoding-policy(fail).c b/test/unicode_group_Lu.8--encoding-policy(fail).c
index 9f045add..7d83c6d3 100644
--- a/test/unicode_group_Lu.8--encoding-policy(fail).c
+++ b/test/unicode_group_Lu.8--encoding-policy(fail).c
@@ -1728,8 +1728,8 @@ yy65:
default: goto yy28;
}
yy66:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x8A: goto yy4;
default: goto yy28;
}
diff --git a/test/unicode_group_Lu.8--encoding-policy(ignore).c b/test/unicode_group_Lu.8--encoding-policy(ignore).c
index 4235a598..52f6b058 100644
--- a/test/unicode_group_Lu.8--encoding-policy(ignore).c
+++ b/test/unicode_group_Lu.8--encoding-policy(ignore).c
@@ -1728,8 +1728,8 @@ yy65:
default: goto yy28;
}
yy66:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x8A: goto yy4;
default: goto yy28;
}
diff --git a/test/unicode_group_Lu.8--encoding-policy(substitute).c b/test/unicode_group_Lu.8--encoding-policy(substitute).c
index 267710a7..43660278 100644
--- a/test/unicode_group_Lu.8--encoding-policy(substitute).c
+++ b/test/unicode_group_Lu.8--encoding-policy(substitute).c
@@ -1728,8 +1728,8 @@ yy65:
default: goto yy28;
}
yy66:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x8A: goto yy4;
default: goto yy28;
}
diff --git a/test/unicode_group_Lu.x--encoding-policy(fail).c b/test/unicode_group_Lu.x--encoding-policy(fail).c
index e9c51687..7aab3b66 100644
--- a/test/unicode_group_Lu.x--encoding-policy(fail).c
+++ b/test/unicode_group_Lu.x--encoding-policy(fail).c
@@ -1699,8 +1699,8 @@ yy6:
if (yych <= 0xDC27) goto yy4;
goto yy3;
yy7:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDD3A) {
+ yych = *++YYCURSOR;
+ if (yych <= 0xDD3A) {
if (yych <= 0xDCA8) {
if (yych <= 0xDC9B) {
if (yych <= 0xDC33) {
diff --git a/test/unicode_group_Lu.x--encoding-policy(ignore).c b/test/unicode_group_Lu.x--encoding-policy(ignore).c
index 0ec41295..b973e891 100644
--- a/test/unicode_group_Lu.x--encoding-policy(ignore).c
+++ b/test/unicode_group_Lu.x--encoding-policy(ignore).c
@@ -1699,8 +1699,8 @@ yy6:
if (yych <= 0xDC27) goto yy4;
goto yy3;
yy7:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDD3A) {
+ yych = *++YYCURSOR;
+ if (yych <= 0xDD3A) {
if (yych <= 0xDCA8) {
if (yych <= 0xDC9B) {
if (yych <= 0xDC33) {
diff --git a/test/unicode_group_Lu.x--encoding-policy(substitute).c b/test/unicode_group_Lu.x--encoding-policy(substitute).c
index 41e58aef..1cd2e9f9 100644
--- a/test/unicode_group_Lu.x--encoding-policy(substitute).c
+++ b/test/unicode_group_Lu.x--encoding-policy(substitute).c
@@ -1699,8 +1699,8 @@ yy6:
if (yych <= 0xDC27) goto yy4;
goto yy3;
yy7:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDD3A) {
+ yych = *++YYCURSOR;
+ if (yych <= 0xDD3A) {
if (yych <= 0xDCA8) {
if (yych <= 0xDC9B) {
if (yych <= 0xDC33) {
diff --git a/test/unicode_group_M.8--encoding-policy(fail).c b/test/unicode_group_M.8--encoding-policy(fail).c
index 5bc0b4c2..e8ad75cd 100644
--- a/test/unicode_group_M.8--encoding-policy(fail).c
+++ b/test/unicode_group_M.8--encoding-policy(fail).c
@@ -1944,8 +1944,8 @@ yy109:
default: goto yy27;
}
yy110:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_group_M.8--encoding-policy(ignore).c b/test/unicode_group_M.8--encoding-policy(ignore).c
index 45dd8872..712259f3 100644
--- a/test/unicode_group_M.8--encoding-policy(ignore).c
+++ b/test/unicode_group_M.8--encoding-policy(ignore).c
@@ -1944,8 +1944,8 @@ yy109:
default: goto yy27;
}
yy110:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_group_M.8--encoding-policy(substitute).c b/test/unicode_group_M.8--encoding-policy(substitute).c
index 28876ac0..af5a7501 100644
--- a/test/unicode_group_M.8--encoding-policy(substitute).c
+++ b/test/unicode_group_M.8--encoding-policy(substitute).c
@@ -1944,8 +1944,8 @@ yy109:
default: goto yy27;
}
yy110:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_group_M.x--encoding-policy(fail).c b/test/unicode_group_M.x--encoding-policy(fail).c
index 2d930a78..46abb49a 100644
--- a/test/unicode_group_M.x--encoding-policy(fail).c
+++ b/test/unicode_group_M.x--encoding-policy(fail).c
@@ -687,8 +687,8 @@ yy9:
}
}
yy10:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDCFF) goto yy3;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDCFF) goto yy3;
if (yych <= 0xDDEF) goto yy4;
goto yy3;
}
diff --git a/test/unicode_group_M.x--encoding-policy(ignore).c b/test/unicode_group_M.x--encoding-policy(ignore).c
index 6a467987..773916f3 100644
--- a/test/unicode_group_M.x--encoding-policy(ignore).c
+++ b/test/unicode_group_M.x--encoding-policy(ignore).c
@@ -687,8 +687,8 @@ yy9:
}
}
yy10:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDCFF) goto yy3;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDCFF) goto yy3;
if (yych <= 0xDDEF) goto yy4;
goto yy3;
}
diff --git a/test/unicode_group_M.x--encoding-policy(substitute).c b/test/unicode_group_M.x--encoding-policy(substitute).c
index 880f1d5f..1b3ebb74 100644
--- a/test/unicode_group_M.x--encoding-policy(substitute).c
+++ b/test/unicode_group_M.x--encoding-policy(substitute).c
@@ -687,8 +687,8 @@ yy9:
}
}
yy10:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDCFF) goto yy3;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDCFF) goto yy3;
if (yych <= 0xDDEF) goto yy4;
goto yy3;
}
diff --git a/test/unicode_group_Mc.8--encoding-policy(fail).c b/test/unicode_group_Mc.8--encoding-policy(fail).c
index dd39bb95..90455c05 100644
--- a/test/unicode_group_Mc.8--encoding-policy(fail).c
+++ b/test/unicode_group_Mc.8--encoding-policy(fail).c
@@ -592,8 +592,8 @@ yy55:
default: goto yy9;
}
yy56:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xA5:
case 0xA6:
case 0xAD:
diff --git a/test/unicode_group_Mc.8--encoding-policy(ignore).c b/test/unicode_group_Mc.8--encoding-policy(ignore).c
index 74b6c8dd..16a32b33 100644
--- a/test/unicode_group_Mc.8--encoding-policy(ignore).c
+++ b/test/unicode_group_Mc.8--encoding-policy(ignore).c
@@ -592,8 +592,8 @@ yy55:
default: goto yy9;
}
yy56:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xA5:
case 0xA6:
case 0xAD:
diff --git a/test/unicode_group_Mc.8--encoding-policy(substitute).c b/test/unicode_group_Mc.8--encoding-policy(substitute).c
index dfb0111c..9ed4aa90 100644
--- a/test/unicode_group_Mc.8--encoding-policy(substitute).c
+++ b/test/unicode_group_Mc.8--encoding-policy(substitute).c
@@ -592,8 +592,8 @@ yy55:
default: goto yy9;
}
yy56:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xA5:
case 0xA6:
case 0xAD:
diff --git a/test/unicode_group_Mc.x--encoding-policy(fail).c b/test/unicode_group_Mc.x--encoding-policy(fail).c
index 40d35ef0..35ae73e9 100644
--- a/test/unicode_group_Mc.x--encoding-policy(fail).c
+++ b/test/unicode_group_Mc.x--encoding-policy(fail).c
@@ -365,8 +365,8 @@ yy6:
}
}
yy7:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDD64) goto yy3;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDD64) goto yy3;
if (yych <= 0xDD66) goto yy4;
if (yych <= 0xDD6C) goto yy3;
if (yych <= 0xDD72) goto yy4;
diff --git a/test/unicode_group_Mc.x--encoding-policy(ignore).c b/test/unicode_group_Mc.x--encoding-policy(ignore).c
index 65a8c24e..5766c976 100644
--- a/test/unicode_group_Mc.x--encoding-policy(ignore).c
+++ b/test/unicode_group_Mc.x--encoding-policy(ignore).c
@@ -365,8 +365,8 @@ yy6:
}
}
yy7:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDD64) goto yy3;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDD64) goto yy3;
if (yych <= 0xDD66) goto yy4;
if (yych <= 0xDD6C) goto yy3;
if (yych <= 0xDD72) goto yy4;
diff --git a/test/unicode_group_Mc.x--encoding-policy(substitute).c b/test/unicode_group_Mc.x--encoding-policy(substitute).c
index 95e709e0..122802f8 100644
--- a/test/unicode_group_Mc.x--encoding-policy(substitute).c
+++ b/test/unicode_group_Mc.x--encoding-policy(substitute).c
@@ -365,8 +365,8 @@ yy6:
}
}
yy7:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDD64) goto yy3;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDD64) goto yy3;
if (yych <= 0xDD66) goto yy4;
if (yych <= 0xDD6C) goto yy3;
if (yych <= 0xDD72) goto yy4;
diff --git a/test/unicode_group_Me.8--encoding-policy(fail).c b/test/unicode_group_Me.8--encoding-policy(fail).c
index 3e447fb7..7c23edf1 100644
--- a/test/unicode_group_Me.8--encoding-policy(fail).c
+++ b/test/unicode_group_Me.8--encoding-policy(fail).c
@@ -65,8 +65,8 @@ yy10:
YYCURSOR = YYMARKER;
goto yy3;
yy11:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xB0:
case 0xB1:
case 0xB2: goto yy7;
diff --git a/test/unicode_group_Me.8--encoding-policy(ignore).c b/test/unicode_group_Me.8--encoding-policy(ignore).c
index 6c982d91..d14da4aa 100644
--- a/test/unicode_group_Me.8--encoding-policy(ignore).c
+++ b/test/unicode_group_Me.8--encoding-policy(ignore).c
@@ -65,8 +65,8 @@ yy10:
YYCURSOR = YYMARKER;
goto yy3;
yy11:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xB0:
case 0xB1:
case 0xB2: goto yy7;
diff --git a/test/unicode_group_Me.8--encoding-policy(substitute).c b/test/unicode_group_Me.8--encoding-policy(substitute).c
index 1c5701d6..23e6da2e 100644
--- a/test/unicode_group_Me.8--encoding-policy(substitute).c
+++ b/test/unicode_group_Me.8--encoding-policy(substitute).c
@@ -65,8 +65,8 @@ yy10:
YYCURSOR = YYMARKER;
goto yy3;
yy11:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xB0:
case 0xB1:
case 0xB2: goto yy7;
diff --git a/test/unicode_group_Mn.8--encoding-policy(fail).c b/test/unicode_group_Mn.8--encoding-policy(fail).c
index 128587d0..981eb697 100644
--- a/test/unicode_group_Mn.8--encoding-policy(fail).c
+++ b/test/unicode_group_Mn.8--encoding-policy(fail).c
@@ -1643,8 +1643,8 @@ yy105:
default: goto yy27;
}
yy106:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_group_Mn.8--encoding-policy(ignore).c b/test/unicode_group_Mn.8--encoding-policy(ignore).c
index ffe826a7..6cef5c6c 100644
--- a/test/unicode_group_Mn.8--encoding-policy(ignore).c
+++ b/test/unicode_group_Mn.8--encoding-policy(ignore).c
@@ -1643,8 +1643,8 @@ yy105:
default: goto yy27;
}
yy106:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_group_Mn.8--encoding-policy(substitute).c b/test/unicode_group_Mn.8--encoding-policy(substitute).c
index f72349f1..a2fcdb1f 100644
--- a/test/unicode_group_Mn.8--encoding-policy(substitute).c
+++ b/test/unicode_group_Mn.8--encoding-policy(substitute).c
@@ -1643,8 +1643,8 @@ yy105:
default: goto yy27;
}
yy106:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_group_Mn.x--encoding-policy(fail).c b/test/unicode_group_Mn.x--encoding-policy(fail).c
index 91ed679e..1b9087ea 100644
--- a/test/unicode_group_Mn.x--encoding-policy(fail).c
+++ b/test/unicode_group_Mn.x--encoding-policy(fail).c
@@ -699,8 +699,8 @@ yy9:
}
}
yy10:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDCFF) goto yy3;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDCFF) goto yy3;
if (yych <= 0xDDEF) goto yy4;
goto yy3;
}
diff --git a/test/unicode_group_Mn.x--encoding-policy(ignore).c b/test/unicode_group_Mn.x--encoding-policy(ignore).c
index 41fcb5b2..d69d171d 100644
--- a/test/unicode_group_Mn.x--encoding-policy(ignore).c
+++ b/test/unicode_group_Mn.x--encoding-policy(ignore).c
@@ -699,8 +699,8 @@ yy9:
}
}
yy10:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDCFF) goto yy3;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDCFF) goto yy3;
if (yych <= 0xDDEF) goto yy4;
goto yy3;
}
diff --git a/test/unicode_group_Mn.x--encoding-policy(substitute).c b/test/unicode_group_Mn.x--encoding-policy(substitute).c
index 85ce25bb..e082533b 100644
--- a/test/unicode_group_Mn.x--encoding-policy(substitute).c
+++ b/test/unicode_group_Mn.x--encoding-policy(substitute).c
@@ -699,8 +699,8 @@ yy9:
}
}
yy10:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDCFF) goto yy3;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDCFF) goto yy3;
if (yych <= 0xDDEF) goto yy4;
goto yy3;
}
diff --git a/test/unicode_group_N.8--encoding-policy(fail).c b/test/unicode_group_N.8--encoding-policy(fail).c
index 946b7c0d..1fc1f4db 100644
--- a/test/unicode_group_N.8--encoding-policy(fail).c
+++ b/test/unicode_group_N.8--encoding-policy(fail).c
@@ -1327,8 +1327,8 @@ yy69:
default: goto yy18;
}
yy70:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_group_N.8--encoding-policy(ignore).c b/test/unicode_group_N.8--encoding-policy(ignore).c
index cf1b94cd..426c8a00 100644
--- a/test/unicode_group_N.8--encoding-policy(ignore).c
+++ b/test/unicode_group_N.8--encoding-policy(ignore).c
@@ -1327,8 +1327,8 @@ yy69:
default: goto yy18;
}
yy70:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_group_N.8--encoding-policy(substitute).c b/test/unicode_group_N.8--encoding-policy(substitute).c
index ffa04a89..a6f6497d 100644
--- a/test/unicode_group_N.8--encoding-policy(substitute).c
+++ b/test/unicode_group_N.8--encoding-policy(substitute).c
@@ -1327,8 +1327,8 @@ yy69:
default: goto yy18;
}
yy70:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_group_N.x--encoding-policy(fail).c b/test/unicode_group_N.x--encoding-policy(fail).c
index 730864e7..59031699 100644
--- a/test/unicode_group_N.x--encoding-policy(fail).c
+++ b/test/unicode_group_N.x--encoding-policy(fail).c
@@ -328,8 +328,8 @@ yy13:
if (yych <= 0xDFFF) goto yy4;
goto yy3;
yy14:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDCFF) goto yy3;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDCFF) goto yy3;
if (yych <= 0xDD0A) goto yy4;
goto yy3;
}
diff --git a/test/unicode_group_N.x--encoding-policy(ignore).c b/test/unicode_group_N.x--encoding-policy(ignore).c
index ffb9afd3..6b4d9fce 100644
--- a/test/unicode_group_N.x--encoding-policy(ignore).c
+++ b/test/unicode_group_N.x--encoding-policy(ignore).c
@@ -328,8 +328,8 @@ yy13:
if (yych <= 0xDFFF) goto yy4;
goto yy3;
yy14:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDCFF) goto yy3;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDCFF) goto yy3;
if (yych <= 0xDD0A) goto yy4;
goto yy3;
}
diff --git a/test/unicode_group_N.x--encoding-policy(substitute).c b/test/unicode_group_N.x--encoding-policy(substitute).c
index 9054f3b2..08e15fda 100644
--- a/test/unicode_group_N.x--encoding-policy(substitute).c
+++ b/test/unicode_group_N.x--encoding-policy(substitute).c
@@ -328,8 +328,8 @@ yy13:
if (yych <= 0xDFFF) goto yy4;
goto yy3;
yy14:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDCFF) goto yy3;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDCFF) goto yy3;
if (yych <= 0xDD0A) goto yy4;
goto yy3;
}
diff --git a/test/unicode_group_Nd.8--encoding-policy(fail).c b/test/unicode_group_Nd.8--encoding-policy(fail).c
index 77d8c5ac..3e9c8a56 100644
--- a/test/unicode_group_Nd.8--encoding-policy(fail).c
+++ b/test/unicode_group_Nd.8--encoding-policy(fail).c
@@ -284,8 +284,8 @@ yy24:
default: goto yy15;
}
yy25:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x8E:
case 0x8F:
case 0x90:
diff --git a/test/unicode_group_Nd.8--encoding-policy(ignore).c b/test/unicode_group_Nd.8--encoding-policy(ignore).c
index b91a60d3..036f91a4 100644
--- a/test/unicode_group_Nd.8--encoding-policy(ignore).c
+++ b/test/unicode_group_Nd.8--encoding-policy(ignore).c
@@ -284,8 +284,8 @@ yy24:
default: goto yy15;
}
yy25:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x8E:
case 0x8F:
case 0x90:
diff --git a/test/unicode_group_Nd.8--encoding-policy(substitute).c b/test/unicode_group_Nd.8--encoding-policy(substitute).c
index fd3f1023..de046c7d 100644
--- a/test/unicode_group_Nd.8--encoding-policy(substitute).c
+++ b/test/unicode_group_Nd.8--encoding-policy(substitute).c
@@ -284,8 +284,8 @@ yy24:
default: goto yy15;
}
yy25:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x8E:
case 0x8F:
case 0x90:
diff --git a/test/unicode_group_Nd.x--encoding-policy(fail).c b/test/unicode_group_Nd.x--encoding-policy(fail).c
index e9ac5548..98bfd2a9 100644
--- a/test/unicode_group_Nd.x--encoding-policy(fail).c
+++ b/test/unicode_group_Nd.x--encoding-policy(fail).c
@@ -167,8 +167,8 @@ yy7:
if (yych <= 0xDC6F) goto yy4;
goto yy3;
yy8:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDFCD) goto yy3;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDFCD) goto yy3;
if (yych <= 0xDFFF) goto yy4;
goto yy3;
}
diff --git a/test/unicode_group_Nd.x--encoding-policy(ignore).c b/test/unicode_group_Nd.x--encoding-policy(ignore).c
index 30013793..cfda1b72 100644
--- a/test/unicode_group_Nd.x--encoding-policy(ignore).c
+++ b/test/unicode_group_Nd.x--encoding-policy(ignore).c
@@ -167,8 +167,8 @@ yy7:
if (yych <= 0xDC6F) goto yy4;
goto yy3;
yy8:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDFCD) goto yy3;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDFCD) goto yy3;
if (yych <= 0xDFFF) goto yy4;
goto yy3;
}
diff --git a/test/unicode_group_Nd.x--encoding-policy(substitute).c b/test/unicode_group_Nd.x--encoding-policy(substitute).c
index 161823d4..17e83559 100644
--- a/test/unicode_group_Nd.x--encoding-policy(substitute).c
+++ b/test/unicode_group_Nd.x--encoding-policy(substitute).c
@@ -167,8 +167,8 @@ yy7:
if (yych <= 0xDC6F) goto yy4;
goto yy3;
yy8:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDFCD) goto yy3;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDFCD) goto yy3;
if (yych <= 0xDFFF) goto yy4;
goto yy3;
}
diff --git a/test/unicode_group_Nl.8--encoding-policy(fail).c b/test/unicode_group_Nl.8--encoding-policy(fail).c
index 120a04eb..d6faba1b 100644
--- a/test/unicode_group_Nl.8--encoding-policy(fail).c
+++ b/test/unicode_group_Nl.8--encoding-policy(fail).c
@@ -317,8 +317,8 @@ yy22:
default: goto yy10;
}
yy23:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_group_Nl.8--encoding-policy(ignore).c b/test/unicode_group_Nl.8--encoding-policy(ignore).c
index 08e31a5b..d00c1e8e 100644
--- a/test/unicode_group_Nl.8--encoding-policy(ignore).c
+++ b/test/unicode_group_Nl.8--encoding-policy(ignore).c
@@ -317,8 +317,8 @@ yy22:
default: goto yy10;
}
yy23:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_group_Nl.8--encoding-policy(substitute).c b/test/unicode_group_Nl.8--encoding-policy(substitute).c
index f151e5ce..2fe9e8d0 100644
--- a/test/unicode_group_Nl.8--encoding-policy(substitute).c
+++ b/test/unicode_group_Nl.8--encoding-policy(substitute).c
@@ -317,8 +317,8 @@ yy22:
default: goto yy10;
}
yy23:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_group_Nl.x--encoding-policy(fail).c b/test/unicode_group_Nl.x--encoding-policy(fail).c
index 0576fda6..e6ede98e 100644
--- a/test/unicode_group_Nl.x--encoding-policy(fail).c
+++ b/test/unicode_group_Nl.x--encoding-policy(fail).c
@@ -70,8 +70,8 @@ yy6:
}
}
yy7:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDBFF) goto yy3;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDBFF) goto yy3;
if (yych <= 0xDC62) goto yy4;
goto yy3;
}
diff --git a/test/unicode_group_Nl.x--encoding-policy(ignore).c b/test/unicode_group_Nl.x--encoding-policy(ignore).c
index 2f9db7ce..fbd97081 100644
--- a/test/unicode_group_Nl.x--encoding-policy(ignore).c
+++ b/test/unicode_group_Nl.x--encoding-policy(ignore).c
@@ -70,8 +70,8 @@ yy6:
}
}
yy7:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDBFF) goto yy3;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDBFF) goto yy3;
if (yych <= 0xDC62) goto yy4;
goto yy3;
}
diff --git a/test/unicode_group_Nl.x--encoding-policy(substitute).c b/test/unicode_group_Nl.x--encoding-policy(substitute).c
index 1569c3f1..743b392d 100644
--- a/test/unicode_group_Nl.x--encoding-policy(substitute).c
+++ b/test/unicode_group_Nl.x--encoding-policy(substitute).c
@@ -70,8 +70,8 @@ yy6:
}
}
yy7:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDBFF) goto yy3;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDBFF) goto yy3;
if (yych <= 0xDC62) goto yy4;
goto yy3;
}
diff --git a/test/unicode_group_No.8--encoding-policy(fail).c b/test/unicode_group_No.8--encoding-policy(fail).c
index 3779e311..de11fcb2 100644
--- a/test/unicode_group_No.8--encoding-policy(fail).c
+++ b/test/unicode_group_No.8--encoding-policy(fail).c
@@ -742,8 +742,8 @@ yy51:
default: goto yy14;
}
yy52:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_group_No.8--encoding-policy(ignore).c b/test/unicode_group_No.8--encoding-policy(ignore).c
index 9e9499ac..86df05d5 100644
--- a/test/unicode_group_No.8--encoding-policy(ignore).c
+++ b/test/unicode_group_No.8--encoding-policy(ignore).c
@@ -742,8 +742,8 @@ yy51:
default: goto yy14;
}
yy52:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_group_No.8--encoding-policy(substitute).c b/test/unicode_group_No.8--encoding-policy(substitute).c
index 108d75d8..da442858 100644
--- a/test/unicode_group_No.8--encoding-policy(substitute).c
+++ b/test/unicode_group_No.8--encoding-policy(substitute).c
@@ -742,8 +742,8 @@ yy51:
default: goto yy14;
}
yy52:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_group_No.x--encoding-policy(fail).c b/test/unicode_group_No.x--encoding-policy(fail).c
index 85978242..0660a6bc 100644
--- a/test/unicode_group_No.x--encoding-policy(fail).c
+++ b/test/unicode_group_No.x--encoding-policy(fail).c
@@ -174,8 +174,8 @@ yy10:
if (yych <= 0xDF71) goto yy4;
goto yy3;
yy11:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDCFF) goto yy3;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDCFF) goto yy3;
if (yych <= 0xDD0A) goto yy4;
goto yy3;
}
diff --git a/test/unicode_group_No.x--encoding-policy(ignore).c b/test/unicode_group_No.x--encoding-policy(ignore).c
index 21a388f8..cb41b5eb 100644
--- a/test/unicode_group_No.x--encoding-policy(ignore).c
+++ b/test/unicode_group_No.x--encoding-policy(ignore).c
@@ -174,8 +174,8 @@ yy10:
if (yych <= 0xDF71) goto yy4;
goto yy3;
yy11:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDCFF) goto yy3;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDCFF) goto yy3;
if (yych <= 0xDD0A) goto yy4;
goto yy3;
}
diff --git a/test/unicode_group_No.x--encoding-policy(substitute).c b/test/unicode_group_No.x--encoding-policy(substitute).c
index 875599b6..1fc718b4 100644
--- a/test/unicode_group_No.x--encoding-policy(substitute).c
+++ b/test/unicode_group_No.x--encoding-policy(substitute).c
@@ -174,8 +174,8 @@ yy10:
if (yych <= 0xDF71) goto yy4;
goto yy3;
yy11:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDCFF) goto yy3;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDCFF) goto yy3;
if (yych <= 0xDD0A) goto yy4;
goto yy3;
}
diff --git a/test/unicode_group_P.8--encoding-policy(fail).c b/test/unicode_group_P.8--encoding-policy(fail).c
index f3a6160d..b80ed543 100644
--- a/test/unicode_group_P.8--encoding-policy(fail).c
+++ b/test/unicode_group_P.8--encoding-policy(fail).c
@@ -1114,8 +1114,8 @@ yy88:
default: goto yy25;
}
yy89:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xB0:
case 0xB1:
case 0xB2:
diff --git a/test/unicode_group_P.8--encoding-policy(ignore).c b/test/unicode_group_P.8--encoding-policy(ignore).c
index 15db5ff5..62fc6784 100644
--- a/test/unicode_group_P.8--encoding-policy(ignore).c
+++ b/test/unicode_group_P.8--encoding-policy(ignore).c
@@ -1114,8 +1114,8 @@ yy88:
default: goto yy25;
}
yy89:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xB0:
case 0xB1:
case 0xB2:
diff --git a/test/unicode_group_P.8--encoding-policy(substitute).c b/test/unicode_group_P.8--encoding-policy(substitute).c
index b2149832..12f0a8ac 100644
--- a/test/unicode_group_P.8--encoding-policy(substitute).c
+++ b/test/unicode_group_P.8--encoding-policy(substitute).c
@@ -1114,8 +1114,8 @@ yy88:
default: goto yy25;
}
yy89:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xB0:
case 0xB1:
case 0xB2:
diff --git a/test/unicode_group_P.x--encoding-policy(fail).c b/test/unicode_group_P.x--encoding-policy(fail).c
index bc4b4346..d01c028d 100644
--- a/test/unicode_group_P.x--encoding-policy(fail).c
+++ b/test/unicode_group_P.x--encoding-policy(fail).c
@@ -418,8 +418,8 @@ yy8:
goto yy3;
}
yy9:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDC6F) goto yy3;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDC6F) goto yy3;
if (yych <= 0xDC73) goto yy4;
goto yy3;
}
diff --git a/test/unicode_group_P.x--encoding-policy(ignore).c b/test/unicode_group_P.x--encoding-policy(ignore).c
index 2c833a90..88f9f548 100644
--- a/test/unicode_group_P.x--encoding-policy(ignore).c
+++ b/test/unicode_group_P.x--encoding-policy(ignore).c
@@ -418,8 +418,8 @@ yy8:
goto yy3;
}
yy9:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDC6F) goto yy3;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDC6F) goto yy3;
if (yych <= 0xDC73) goto yy4;
goto yy3;
}
diff --git a/test/unicode_group_P.x--encoding-policy(substitute).c b/test/unicode_group_P.x--encoding-policy(substitute).c
index b748ba9a..e9e4a65f 100644
--- a/test/unicode_group_P.x--encoding-policy(substitute).c
+++ b/test/unicode_group_P.x--encoding-policy(substitute).c
@@ -418,8 +418,8 @@ yy8:
goto yy3;
}
yy9:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDC6F) goto yy3;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDC6F) goto yy3;
if (yych <= 0xDC73) goto yy4;
goto yy3;
}
diff --git a/test/unicode_group_Pc.8--encoding-policy(fail).c b/test/unicode_group_Pc.8--encoding-policy(fail).c
index 286e0c3c..7f366597 100644
--- a/test/unicode_group_Pc.8--encoding-policy(fail).c
+++ b/test/unicode_group_Pc.8--encoding-policy(fail).c
@@ -69,8 +69,8 @@ yy11:
default: goto yy9;
}
yy12:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x8D:
case 0x8E:
case 0x8F: goto yy4;
diff --git a/test/unicode_group_Pc.8--encoding-policy(ignore).c b/test/unicode_group_Pc.8--encoding-policy(ignore).c
index cd28dcbf..e9b00990 100644
--- a/test/unicode_group_Pc.8--encoding-policy(ignore).c
+++ b/test/unicode_group_Pc.8--encoding-policy(ignore).c
@@ -69,8 +69,8 @@ yy11:
default: goto yy9;
}
yy12:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x8D:
case 0x8E:
case 0x8F: goto yy4;
diff --git a/test/unicode_group_Pc.8--encoding-policy(substitute).c b/test/unicode_group_Pc.8--encoding-policy(substitute).c
index 8e70dc76..233ec841 100644
--- a/test/unicode_group_Pc.8--encoding-policy(substitute).c
+++ b/test/unicode_group_Pc.8--encoding-policy(substitute).c
@@ -69,8 +69,8 @@ yy11:
default: goto yy9;
}
yy12:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x8D:
case 0x8E:
case 0x8F: goto yy4;
diff --git a/test/unicode_group_Pd.8--encoding-policy(fail).c b/test/unicode_group_Pd.8--encoding-policy(fail).c
index fb8d2a46..8c5eeceb 100644
--- a/test/unicode_group_Pd.8--encoding-policy(fail).c
+++ b/test/unicode_group_Pd.8--encoding-policy(fail).c
@@ -130,8 +130,8 @@ yy19:
default: goto yy12;
}
yy20:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x8D: goto yy4;
default: goto yy12;
}
diff --git a/test/unicode_group_Pd.8--encoding-policy(ignore).c b/test/unicode_group_Pd.8--encoding-policy(ignore).c
index 6d571316..bbe18909 100644
--- a/test/unicode_group_Pd.8--encoding-policy(ignore).c
+++ b/test/unicode_group_Pd.8--encoding-policy(ignore).c
@@ -130,8 +130,8 @@ yy19:
default: goto yy12;
}
yy20:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x8D: goto yy4;
default: goto yy12;
}
diff --git a/test/unicode_group_Pd.8--encoding-policy(substitute).c b/test/unicode_group_Pd.8--encoding-policy(substitute).c
index ec3d4e50..fa650bf8 100644
--- a/test/unicode_group_Pd.8--encoding-policy(substitute).c
+++ b/test/unicode_group_Pd.8--encoding-policy(substitute).c
@@ -130,8 +130,8 @@ yy19:
default: goto yy12;
}
yy20:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x8D: goto yy4;
default: goto yy12;
}
diff --git a/test/unicode_group_Pe.8--encoding-policy(fail).c b/test/unicode_group_Pe.8--encoding-policy(fail).c
index 789c76da..50a16dcb 100644
--- a/test/unicode_group_Pe.8--encoding-policy(fail).c
+++ b/test/unicode_group_Pe.8--encoding-policy(fail).c
@@ -220,8 +220,8 @@ yy26:
default: goto yy12;
}
yy27:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x9D:
case 0xA0:
case 0xA3: goto yy4;
diff --git a/test/unicode_group_Pe.8--encoding-policy(ignore).c b/test/unicode_group_Pe.8--encoding-policy(ignore).c
index 3b01af53..92626cf3 100644
--- a/test/unicode_group_Pe.8--encoding-policy(ignore).c
+++ b/test/unicode_group_Pe.8--encoding-policy(ignore).c
@@ -220,8 +220,8 @@ yy26:
default: goto yy12;
}
yy27:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x9D:
case 0xA0:
case 0xA3: goto yy4;
diff --git a/test/unicode_group_Pe.8--encoding-policy(substitute).c b/test/unicode_group_Pe.8--encoding-policy(substitute).c
index 467607dc..448d818b 100644
--- a/test/unicode_group_Pe.8--encoding-policy(substitute).c
+++ b/test/unicode_group_Pe.8--encoding-policy(substitute).c
@@ -220,8 +220,8 @@ yy26:
default: goto yy12;
}
yy27:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x9D:
case 0xA0:
case 0xA3: goto yy4;
diff --git a/test/unicode_group_Pf.8--encoding-policy(fail).c b/test/unicode_group_Pf.8--encoding-policy(fail).c
index 775846a1..148dfa4b 100644
--- a/test/unicode_group_Pf.8--encoding-policy(fail).c
+++ b/test/unicode_group_Pf.8--encoding-policy(fail).c
@@ -54,8 +54,8 @@ yy9:
YYCURSOR = YYMARKER;
goto yy3;
yy10:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x83:
case 0x85:
case 0x8A:
diff --git a/test/unicode_group_Pf.8--encoding-policy(ignore).c b/test/unicode_group_Pf.8--encoding-policy(ignore).c
index 006f1bbe..95a7157c 100644
--- a/test/unicode_group_Pf.8--encoding-policy(ignore).c
+++ b/test/unicode_group_Pf.8--encoding-policy(ignore).c
@@ -54,8 +54,8 @@ yy9:
YYCURSOR = YYMARKER;
goto yy3;
yy10:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x83:
case 0x85:
case 0x8A:
diff --git a/test/unicode_group_Pf.8--encoding-policy(substitute).c b/test/unicode_group_Pf.8--encoding-policy(substitute).c
index ebccd384..58d9c170 100644
--- a/test/unicode_group_Pf.8--encoding-policy(substitute).c
+++ b/test/unicode_group_Pf.8--encoding-policy(substitute).c
@@ -54,8 +54,8 @@ yy9:
YYCURSOR = YYMARKER;
goto yy3;
yy10:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x83:
case 0x85:
case 0x8A:
diff --git a/test/unicode_group_Pi.8--encoding-policy(fail).c b/test/unicode_group_Pi.8--encoding-policy(fail).c
index ccea256f..c103f5d6 100644
--- a/test/unicode_group_Pi.8--encoding-policy(fail).c
+++ b/test/unicode_group_Pi.8--encoding-policy(fail).c
@@ -56,8 +56,8 @@ yy9:
YYCURSOR = YYMARKER;
goto yy3;
yy10:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x82:
case 0x84:
case 0x89:
diff --git a/test/unicode_group_Pi.8--encoding-policy(ignore).c b/test/unicode_group_Pi.8--encoding-policy(ignore).c
index 60601a38..9aee7c80 100644
--- a/test/unicode_group_Pi.8--encoding-policy(ignore).c
+++ b/test/unicode_group_Pi.8--encoding-policy(ignore).c
@@ -56,8 +56,8 @@ yy9:
YYCURSOR = YYMARKER;
goto yy3;
yy10:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x82:
case 0x84:
case 0x89:
diff --git a/test/unicode_group_Pi.8--encoding-policy(substitute).c b/test/unicode_group_Pi.8--encoding-policy(substitute).c
index 3164f2f9..b2fdd5f4 100644
--- a/test/unicode_group_Pi.8--encoding-policy(substitute).c
+++ b/test/unicode_group_Pi.8--encoding-policy(substitute).c
@@ -56,8 +56,8 @@ yy9:
YYCURSOR = YYMARKER;
goto yy3;
yy10:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x82:
case 0x84:
case 0x89:
diff --git a/test/unicode_group_Po.8--encoding-policy(fail).c b/test/unicode_group_Po.8--encoding-policy(fail).c
index 46c8fab2..3a0a29e8 100644
--- a/test/unicode_group_Po.8--encoding-policy(fail).c
+++ b/test/unicode_group_Po.8--encoding-policy(fail).c
@@ -865,8 +865,8 @@ yy79:
default: goto yy25;
}
yy80:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xB0:
case 0xB1:
case 0xB2:
diff --git a/test/unicode_group_Po.8--encoding-policy(ignore).c b/test/unicode_group_Po.8--encoding-policy(ignore).c
index 114c863d..786087f7 100644
--- a/test/unicode_group_Po.8--encoding-policy(ignore).c
+++ b/test/unicode_group_Po.8--encoding-policy(ignore).c
@@ -865,8 +865,8 @@ yy79:
default: goto yy25;
}
yy80:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xB0:
case 0xB1:
case 0xB2:
diff --git a/test/unicode_group_Po.8--encoding-policy(substitute).c b/test/unicode_group_Po.8--encoding-policy(substitute).c
index d0c88668..700ab545 100644
--- a/test/unicode_group_Po.8--encoding-policy(substitute).c
+++ b/test/unicode_group_Po.8--encoding-policy(substitute).c
@@ -865,8 +865,8 @@ yy79:
default: goto yy25;
}
yy80:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xB0:
case 0xB1:
case 0xB2:
diff --git a/test/unicode_group_Po.x--encoding-policy(fail).c b/test/unicode_group_Po.x--encoding-policy(fail).c
index 36d81481..52f2f0da 100644
--- a/test/unicode_group_Po.x--encoding-policy(fail).c
+++ b/test/unicode_group_Po.x--encoding-policy(fail).c
@@ -407,8 +407,8 @@ yy8:
goto yy3;
}
yy9:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDC6F) goto yy3;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDC6F) goto yy3;
if (yych <= 0xDC73) goto yy4;
goto yy3;
}
diff --git a/test/unicode_group_Po.x--encoding-policy(ignore).c b/test/unicode_group_Po.x--encoding-policy(ignore).c
index 2f3f9095..e31948b6 100644
--- a/test/unicode_group_Po.x--encoding-policy(ignore).c
+++ b/test/unicode_group_Po.x--encoding-policy(ignore).c
@@ -407,8 +407,8 @@ yy8:
goto yy3;
}
yy9:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDC6F) goto yy3;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDC6F) goto yy3;
if (yych <= 0xDC73) goto yy4;
goto yy3;
}
diff --git a/test/unicode_group_Po.x--encoding-policy(substitute).c b/test/unicode_group_Po.x--encoding-policy(substitute).c
index 851feae4..2656e1fb 100644
--- a/test/unicode_group_Po.x--encoding-policy(substitute).c
+++ b/test/unicode_group_Po.x--encoding-policy(substitute).c
@@ -407,8 +407,8 @@ yy8:
goto yy3;
}
yy9:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDC6F) goto yy3;
+ yych = *++YYCURSOR;
+ if (yych <= 0xDC6F) goto yy3;
if (yych <= 0xDC73) goto yy4;
goto yy3;
}
diff --git a/test/unicode_group_Ps.8--encoding-policy(fail).c b/test/unicode_group_Ps.8--encoding-policy(fail).c
index b23f3746..c6c92ac1 100644
--- a/test/unicode_group_Ps.8--encoding-policy(fail).c
+++ b/test/unicode_group_Ps.8--encoding-policy(fail).c
@@ -227,8 +227,8 @@ yy27:
default: goto yy12;
}
yy28:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x9B:
case 0x9F:
case 0xA2: goto yy4;
diff --git a/test/unicode_group_Ps.8--encoding-policy(ignore).c b/test/unicode_group_Ps.8--encoding-policy(ignore).c
index 761ff779..53ba6eb3 100644
--- a/test/unicode_group_Ps.8--encoding-policy(ignore).c
+++ b/test/unicode_group_Ps.8--encoding-policy(ignore).c
@@ -227,8 +227,8 @@ yy27:
default: goto yy12;
}
yy28:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x9B:
case 0x9F:
case 0xA2: goto yy4;
diff --git a/test/unicode_group_Ps.8--encoding-policy(substitute).c b/test/unicode_group_Ps.8--encoding-policy(substitute).c
index fbfd12b2..4b7f1ce4 100644
--- a/test/unicode_group_Ps.8--encoding-policy(substitute).c
+++ b/test/unicode_group_Ps.8--encoding-policy(substitute).c
@@ -227,8 +227,8 @@ yy27:
default: goto yy12;
}
yy28:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x9B:
case 0x9F:
case 0xA2: goto yy4;
diff --git a/test/unicode_group_S.8--encoding-policy(fail).c b/test/unicode_group_S.8--encoding-policy(fail).c
index 4e7a1634..7dfca42e 100644
--- a/test/unicode_group_S.8--encoding-policy(fail).c
+++ b/test/unicode_group_S.8--encoding-policy(fail).c
@@ -3379,8 +3379,8 @@ yy123:
default: goto yy24;
}
yy124:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_group_S.8--encoding-policy(ignore).c b/test/unicode_group_S.8--encoding-policy(ignore).c
index f4e9ef6d..ffd8f61e 100644
--- a/test/unicode_group_S.8--encoding-policy(ignore).c
+++ b/test/unicode_group_S.8--encoding-policy(ignore).c
@@ -3379,8 +3379,8 @@ yy123:
default: goto yy24;
}
yy124:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_group_S.8--encoding-policy(substitute).c b/test/unicode_group_S.8--encoding-policy(substitute).c
index fb1cbee7..e871f6e8 100644
--- a/test/unicode_group_S.8--encoding-policy(substitute).c
+++ b/test/unicode_group_S.8--encoding-policy(substitute).c
@@ -3379,8 +3379,8 @@ yy123:
default: goto yy24;
}
yy124:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_group_S.x--encoding-policy(fail).c b/test/unicode_group_S.x--encoding-policy(fail).c
index 6aa99c3f..68f93142 100644
--- a/test/unicode_group_S.x--encoding-policy(fail).c
+++ b/test/unicode_group_S.x--encoding-policy(fail).c
@@ -687,8 +687,8 @@ yy9:
}
}
yy10:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDE17) {
+ yych = *++YYCURSOR;
+ if (yych <= 0xDE17) {
if (yych <= 0xDD3D) {
if (yych <= 0xDC41) {
if (yych <= 0xDC3E) {
diff --git a/test/unicode_group_S.x--encoding-policy(ignore).c b/test/unicode_group_S.x--encoding-policy(ignore).c
index cb89ded2..76da1c2b 100644
--- a/test/unicode_group_S.x--encoding-policy(ignore).c
+++ b/test/unicode_group_S.x--encoding-policy(ignore).c
@@ -687,8 +687,8 @@ yy9:
}
}
yy10:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDE17) {
+ yych = *++YYCURSOR;
+ if (yych <= 0xDE17) {
if (yych <= 0xDD3D) {
if (yych <= 0xDC41) {
if (yych <= 0xDC3E) {
diff --git a/test/unicode_group_S.x--encoding-policy(substitute).c b/test/unicode_group_S.x--encoding-policy(substitute).c
index 200ef27d..8aef98ae 100644
--- a/test/unicode_group_S.x--encoding-policy(substitute).c
+++ b/test/unicode_group_S.x--encoding-policy(substitute).c
@@ -687,8 +687,8 @@ yy9:
}
}
yy10:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDE17) {
+ yych = *++YYCURSOR;
+ if (yych <= 0xDE17) {
if (yych <= 0xDD3D) {
if (yych <= 0xDC41) {
if (yych <= 0xDC3E) {
diff --git a/test/unicode_group_Sc.8--encoding-policy(fail).c b/test/unicode_group_Sc.8--encoding-policy(fail).c
index ee921524..4236c213 100644
--- a/test/unicode_group_Sc.8--encoding-policy(fail).c
+++ b/test/unicode_group_Sc.8--encoding-policy(fail).c
@@ -177,8 +177,8 @@ yy23:
default: goto yy14;
}
yy24:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xA0:
case 0xA1:
case 0xA5:
diff --git a/test/unicode_group_Sc.8--encoding-policy(ignore).c b/test/unicode_group_Sc.8--encoding-policy(ignore).c
index 6a300230..e5f2a8c9 100644
--- a/test/unicode_group_Sc.8--encoding-policy(ignore).c
+++ b/test/unicode_group_Sc.8--encoding-policy(ignore).c
@@ -177,8 +177,8 @@ yy23:
default: goto yy14;
}
yy24:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xA0:
case 0xA1:
case 0xA5:
diff --git a/test/unicode_group_Sc.8--encoding-policy(substitute).c b/test/unicode_group_Sc.8--encoding-policy(substitute).c
index 4e4edb65..7798dd90 100644
--- a/test/unicode_group_Sc.8--encoding-policy(substitute).c
+++ b/test/unicode_group_Sc.8--encoding-policy(substitute).c
@@ -177,8 +177,8 @@ yy23:
default: goto yy14;
}
yy24:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xA0:
case 0xA1:
case 0xA5:
diff --git a/test/unicode_group_Sk.8--encoding-policy(fail).c b/test/unicode_group_Sk.8--encoding-policy(fail).c
index c440c6e5..59e966c4 100644
--- a/test/unicode_group_Sk.8--encoding-policy(fail).c
+++ b/test/unicode_group_Sk.8--encoding-policy(fail).c
@@ -248,8 +248,8 @@ yy23:
default: goto yy15;
}
yy24:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xA3: goto yy4;
default: goto yy15;
}
diff --git a/test/unicode_group_Sk.8--encoding-policy(ignore).c b/test/unicode_group_Sk.8--encoding-policy(ignore).c
index 519785d6..5efbed16 100644
--- a/test/unicode_group_Sk.8--encoding-policy(ignore).c
+++ b/test/unicode_group_Sk.8--encoding-policy(ignore).c
@@ -248,8 +248,8 @@ yy23:
default: goto yy15;
}
yy24:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xA3: goto yy4;
default: goto yy15;
}
diff --git a/test/unicode_group_Sk.8--encoding-policy(substitute).c b/test/unicode_group_Sk.8--encoding-policy(substitute).c
index 254697e6..01d9786e 100644
--- a/test/unicode_group_Sk.8--encoding-policy(substitute).c
+++ b/test/unicode_group_Sk.8--encoding-policy(substitute).c
@@ -248,8 +248,8 @@ yy23:
default: goto yy15;
}
yy24:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0xA3: goto yy4;
default: goto yy15;
}
diff --git a/test/unicode_group_Sm.8--encoding-policy(fail).c b/test/unicode_group_Sm.8--encoding-policy(fail).c
index 1bef859f..d3dc4c37 100644
--- a/test/unicode_group_Sm.8--encoding-policy(fail).c
+++ b/test/unicode_group_Sm.8--encoding-policy(fail).c
@@ -628,8 +628,8 @@ yy42:
default: goto yy14;
}
yy43:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x83: goto yy4;
default: goto yy14;
}
diff --git a/test/unicode_group_Sm.8--encoding-policy(ignore).c b/test/unicode_group_Sm.8--encoding-policy(ignore).c
index c578f26f..1251f31c 100644
--- a/test/unicode_group_Sm.8--encoding-policy(ignore).c
+++ b/test/unicode_group_Sm.8--encoding-policy(ignore).c
@@ -628,8 +628,8 @@ yy42:
default: goto yy14;
}
yy43:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x83: goto yy4;
default: goto yy14;
}
diff --git a/test/unicode_group_Sm.8--encoding-policy(substitute).c b/test/unicode_group_Sm.8--encoding-policy(substitute).c
index 812557a7..db600cb6 100644
--- a/test/unicode_group_Sm.8--encoding-policy(substitute).c
+++ b/test/unicode_group_Sm.8--encoding-policy(substitute).c
@@ -628,8 +628,8 @@ yy42:
default: goto yy14;
}
yy43:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x83: goto yy4;
default: goto yy14;
}
diff --git a/test/unicode_group_Sm.x--encoding-policy(fail).c b/test/unicode_group_Sm.x--encoding-policy(fail).c
index f3a76639..d8085595 100644
--- a/test/unicode_group_Sm.x--encoding-policy(fail).c
+++ b/test/unicode_group_Sm.x--encoding-policy(fail).c
@@ -188,8 +188,8 @@ yy4:
{ goto Sm; }
#line 190 "unicode_group_Sm.x--encoding-policy(fail).c"
yy6:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDF35) {
+ yych = *++YYCURSOR;
+ if (yych <= 0xDF35) {
if (yych <= 0xDEFA) {
if (yych <= 0xDEC1) {
if (yych <= 0xDEC0) goto yy3;
diff --git a/test/unicode_group_Sm.x--encoding-policy(ignore).c b/test/unicode_group_Sm.x--encoding-policy(ignore).c
index d79a37c2..a97f96c8 100644
--- a/test/unicode_group_Sm.x--encoding-policy(ignore).c
+++ b/test/unicode_group_Sm.x--encoding-policy(ignore).c
@@ -188,8 +188,8 @@ yy4:
{ goto Sm; }
#line 190 "unicode_group_Sm.x--encoding-policy(ignore).c"
yy6:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDF35) {
+ yych = *++YYCURSOR;
+ if (yych <= 0xDF35) {
if (yych <= 0xDEFA) {
if (yych <= 0xDEC1) {
if (yych <= 0xDEC0) goto yy3;
diff --git a/test/unicode_group_Sm.x--encoding-policy(substitute).c b/test/unicode_group_Sm.x--encoding-policy(substitute).c
index 6fb3970a..63edeefe 100644
--- a/test/unicode_group_Sm.x--encoding-policy(substitute).c
+++ b/test/unicode_group_Sm.x--encoding-policy(substitute).c
@@ -188,8 +188,8 @@ yy4:
{ goto Sm; }
#line 190 "unicode_group_Sm.x--encoding-policy(substitute).c"
yy6:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDF35) {
+ yych = *++YYCURSOR;
+ if (yych <= 0xDF35) {
if (yych <= 0xDEFA) {
if (yych <= 0xDEC1) {
if (yych <= 0xDEC0) goto yy3;
diff --git a/test/unicode_group_So.8--encoding-policy(fail).c b/test/unicode_group_So.8--encoding-policy(fail).c
index 00c864b0..3378404f 100644
--- a/test/unicode_group_So.8--encoding-policy(fail).c
+++ b/test/unicode_group_So.8--encoding-policy(fail).c
@@ -3330,8 +3330,8 @@ yy105:
default: goto yy20;
}
yy106:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_group_So.8--encoding-policy(ignore).c b/test/unicode_group_So.8--encoding-policy(ignore).c
index bbc11159..34788425 100644
--- a/test/unicode_group_So.8--encoding-policy(ignore).c
+++ b/test/unicode_group_So.8--encoding-policy(ignore).c
@@ -3330,8 +3330,8 @@ yy105:
default: goto yy20;
}
yy106:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_group_So.8--encoding-policy(substitute).c b/test/unicode_group_So.8--encoding-policy(substitute).c
index 070a0275..02306e79 100644
--- a/test/unicode_group_So.8--encoding-policy(substitute).c
+++ b/test/unicode_group_So.8--encoding-policy(substitute).c
@@ -3330,8 +3330,8 @@ yy105:
default: goto yy20;
}
yy106:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x80:
case 0x81:
case 0x82:
diff --git a/test/unicode_group_So.x--encoding-policy(fail).c b/test/unicode_group_So.x--encoding-policy(fail).c
index d0d36670..bea155e5 100644
--- a/test/unicode_group_So.x--encoding-policy(fail).c
+++ b/test/unicode_group_So.x--encoding-policy(fail).c
@@ -505,8 +505,8 @@ yy8:
}
}
yy9:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDE17) {
+ yych = *++YYCURSOR;
+ if (yych <= 0xDE17) {
if (yych <= 0xDD3D) {
if (yych <= 0xDC41) {
if (yych <= 0xDC3E) {
diff --git a/test/unicode_group_So.x--encoding-policy(ignore).c b/test/unicode_group_So.x--encoding-policy(ignore).c
index 9e983c87..53f4cb5e 100644
--- a/test/unicode_group_So.x--encoding-policy(ignore).c
+++ b/test/unicode_group_So.x--encoding-policy(ignore).c
@@ -505,8 +505,8 @@ yy8:
}
}
yy9:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDE17) {
+ yych = *++YYCURSOR;
+ if (yych <= 0xDE17) {
if (yych <= 0xDD3D) {
if (yych <= 0xDC41) {
if (yych <= 0xDC3E) {
diff --git a/test/unicode_group_So.x--encoding-policy(substitute).c b/test/unicode_group_So.x--encoding-policy(substitute).c
index d299a793..fd158075 100644
--- a/test/unicode_group_So.x--encoding-policy(substitute).c
+++ b/test/unicode_group_So.x--encoding-policy(substitute).c
@@ -505,8 +505,8 @@ yy8:
}
}
yy9:
- ++YYCURSOR;
- if ((yych = *YYCURSOR) <= 0xDE17) {
+ yych = *++YYCURSOR;
+ if (yych <= 0xDE17) {
if (yych <= 0xDD3D) {
if (yych <= 0xDC41) {
if (yych <= 0xDC3E) {
diff --git a/test/unicode_group_Z.8--encoding-policy(fail).c b/test/unicode_group_Z.8--encoding-policy(fail).c
index 2bfb7c36..1186ef9c 100644
--- a/test/unicode_group_Z.8--encoding-policy(fail).c
+++ b/test/unicode_group_Z.8--encoding-policy(fail).c
@@ -93,8 +93,8 @@ yy13:
default: goto yy11;
}
yy14:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x9F: goto yy4;
default: goto yy11;
}
diff --git a/test/unicode_group_Z.8--encoding-policy(ignore).c b/test/unicode_group_Z.8--encoding-policy(ignore).c
index c6d22639..6049a335 100644
--- a/test/unicode_group_Z.8--encoding-policy(ignore).c
+++ b/test/unicode_group_Z.8--encoding-policy(ignore).c
@@ -93,8 +93,8 @@ yy13:
default: goto yy11;
}
yy14:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x9F: goto yy4;
default: goto yy11;
}
diff --git a/test/unicode_group_Z.8--encoding-policy(substitute).c b/test/unicode_group_Z.8--encoding-policy(substitute).c
index 3da8f1c6..d03e7bcd 100644
--- a/test/unicode_group_Z.8--encoding-policy(substitute).c
+++ b/test/unicode_group_Z.8--encoding-policy(substitute).c
@@ -93,8 +93,8 @@ yy13:
default: goto yy11;
}
yy14:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x9F: goto yy4;
default: goto yy11;
}
diff --git a/test/unicode_group_Zs.8--encoding-policy(fail).c b/test/unicode_group_Zs.8--encoding-policy(fail).c
index 6809bb39..1b226f19 100644
--- a/test/unicode_group_Zs.8--encoding-policy(fail).c
+++ b/test/unicode_group_Zs.8--encoding-policy(fail).c
@@ -91,8 +91,8 @@ yy13:
default: goto yy11;
}
yy14:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x9F: goto yy4;
default: goto yy11;
}
diff --git a/test/unicode_group_Zs.8--encoding-policy(ignore).c b/test/unicode_group_Zs.8--encoding-policy(ignore).c
index d5fd4ecb..9654824f 100644
--- a/test/unicode_group_Zs.8--encoding-policy(ignore).c
+++ b/test/unicode_group_Zs.8--encoding-policy(ignore).c
@@ -91,8 +91,8 @@ yy13:
default: goto yy11;
}
yy14:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x9F: goto yy4;
default: goto yy11;
}
diff --git a/test/unicode_group_Zs.8--encoding-policy(substitute).c b/test/unicode_group_Zs.8--encoding-policy(substitute).c
index 249e8419..301182dc 100644
--- a/test/unicode_group_Zs.8--encoding-policy(substitute).c
+++ b/test/unicode_group_Zs.8--encoding-policy(substitute).c
@@ -91,8 +91,8 @@ yy13:
default: goto yy11;
}
yy14:
- ++YYCURSOR;
- switch ((yych = *YYCURSOR)) {
+ yych = *++YYCURSOR;
+ switch (yych) {
case 0x9F: goto yy4;
default: goto yy11;
}
diff --git a/test/wunreachable_rules.i.c b/test/wunreachable_rules.i.c
new file mode 100644
index 00000000..739ded01
--- /dev/null
+++ b/test/wunreachable_rules.i.c
@@ -0,0 +1,110 @@
+/* Generated by re2c */
+
+{
+ YYCTYPE yych;
+ goto yy0;
+yy1:
+ ++YYCURSOR;
+yy0:
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy1;
+ }
+yy3:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ { 0 }
+yy5:
+ ++YYCURSOR;
+ goto yy4;
+}
+
+
+
+{
+ YYCTYPE yych;
+ goto yy6;
+yy7:
+ ++YYCURSOR;
+yy6:
+ if ((YYLIMIT - YYCURSOR) < 3) YYFILL(3);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy9;
+ default: goto yy7;
+ }
+yy9:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy11;
+ default: goto yy10;
+ }
+yy10:
+ { 0 }
+yy11:
+ yych = *++YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy12;
+ default: goto yy10;
+ }
+yy12:
+ ++YYCURSOR;
+ goto yy10;
+}
+
+
+
+{
+ YYCTYPE yych;
+ goto yy13;
+yy14:
+ ++YYCURSOR;
+yy13:
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy16;
+ default: goto yy14;
+ }
+yy16:
+ ++YYCURSOR;
+ { 0 }
+}
+
+
+
+{
+ YYCTYPE yych;
+ goto yy18;
+yy19:
+ ++YYCURSOR;
+yy18:
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy21;
+ default: goto yy19;
+ }
+yy21:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy21;
+ default: goto yy23;
+ }
+yy23:
+ { 0 }
+}
+
+re2c: warning: line 3: unreachable rule (shadowed by rule at line 2) [-Wunreachable-rules]
+re2c: warning: line 8: unreachable rule (shadowed by rule at line 7) [-Wunreachable-rules]
+re2c: warning: line 12: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 13: unreachable rule (shadowed by rule at line 12) [-Wunreachable-rules]
+re2c: warning: line 18: unreachable rule (shadowed by rule at line 17) [-Wunreachable-rules]
diff --git a/test/wunreachable_rules.i.re b/test/wunreachable_rules.i.re
new file mode 100644
index 00000000..11841163
--- /dev/null
+++ b/test/wunreachable_rules.i.re
@@ -0,0 +1,19 @@
+/*!re2c
+ [^a]* ("aa"|"a") { 0 }
+ [^] { 1 }
+*/
+
+/*!re2c
+ [^a]* "a"{1,3} { 0 }
+ [^] { 1 }
+*/
+
+/*!re2c
+ [^a]* "a"? { 0 }
+ [^] { 1 }
+*/
+
+/*!re2c
+ [^a]* "a"+ { 0 }
+ [^] { 1 }
+*/
diff --git a/test/yyaccept_initial.i.c b/test/yyaccept_initial.i.c
new file mode 100644
index 00000000..97fff034
--- /dev/null
+++ b/test/yyaccept_initial.i.c
@@ -0,0 +1,61 @@
+/* Generated by re2c */
+// In this example initial state coincides with fallback state
+// which must update 'yyaccept'. There is a loop through initial
+// state that changes 'yyaccept' value, so if the initial state
+// forgets to update 'yyaccept', the wrong rule will match.
+
+
+{
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ goto yy0;
+yy1:
+ yyaccept = 0;
+ ++YYCURSOR;
+yy0:
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ switch (yych) {
+ case 'a': goto yy3;
+ default: goto yy2;
+ }
+yy2:
+ { 1 }
+yy3:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy5;
+ default: goto yy4;
+ }
+yy4:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy2;
+ } else {
+ goto yy6;
+ }
+yy5:
+ yyaccept = 1;
+ YYMARKER = ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'a': goto yy7;
+ default: goto yy6;
+ }
+yy6:
+ { 2 }
+yy7:
+ ++YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ switch (yych) {
+ case 'b': goto yy1;
+ default: goto yy4;
+ }
+}
+
+re2c: warning: line 8: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 9: rule matches empty string [-Wmatch-empty-string]
diff --git a/test/yyaccept_initial.i.re b/test/yyaccept_initial.i.re
new file mode 100644
index 00000000..b1a1b794
--- /dev/null
+++ b/test/yyaccept_initial.i.re
@@ -0,0 +1,11 @@
+// In this example initial state coincides with fallback state
+// which must update 'yyaccept'. There is a loop through initial
+// state that changes 'yyaccept' value, so if the initial state
+// forgets to update 'yyaccept', the wrong rule will match.
+
+/*!re2c
+
+ "abab"* { 1 }
+ "ab"* { 2 }
+
+*/
diff --git a/test/yyaccept_missing.bci--eager-skip.c b/test/yyaccept_missing.bci--eager-skip.c
new file mode 100644
index 00000000..7e297b33
--- /dev/null
+++ b/test/yyaccept_missing.bci--eager-skip.c
@@ -0,0 +1,158 @@
+/* Generated by re2c */
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
+#define YYGETCONDITION() yy_state
+#define YYSETCONDITION(s) yy_state = s
+#define YYCTYPE char
+#define YYCURSOR p
+#define YYLIMIT (s+l)
+#define YYMARKER q
+#define YYFILL(n)
+
+#define STATE(name) yyc##name
+
+static enum YYCONDTYPE yy_state;
+
+enum YYCONDTYPE {
+ yycINITIAL,
+ yycST_VALUE,
+};
+
+
+int scan(char *s, int l)
+{
+ char *p = s;
+ char *q = 0;
+ char *t;
+
+ for(;;)
+ {
+ t = p;
+
+ {
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+ if (YYGETCONDITION() < 1) {
+ goto yyc_INITIAL;
+ } else {
+ goto yyc_ST_VALUE;
+ }
+/* *********************************** */
+yyc_INITIAL:
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+ yych = *YYCURSOR++;
+ if (yych <= 0x00) goto yy3;
+ if (yych == '$') goto yy7;
+ goto yy5;
+yy3:
+ { printf("EOF\n"); return 0; }
+yy5:
+yy6:
+ { printf("ERR\n"); return 1; }
+yy7:
+ yych = *YYCURSOR;
+ if (yych <= '@') goto yy6;
+ if (yych <= 'Z') {
+ ++YYCURSOR;
+ goto yy8;
+ }
+ if (yych <= '`') goto yy6;
+ if (yych >= '{') goto yy6;
+ ++YYCURSOR;
+yy8:
+ {
+ printf("FOUND %s\n", t);
+ continue;
+ }
+/* *********************************** */
+yyc_ST_VALUE:
+ {
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *(YYMARKER = YYCURSOR);
+ if (yych <= 0x1F) {
+ if (yych == '\t') {
+ ++YYCURSOR;
+ goto yy13;
+ }
+ } else {
+ if (yych <= ' ') {
+ ++YYCURSOR;
+ goto yy13;
+ }
+ if (yych == '$') {
+ ++YYCURSOR;
+ goto yy15;
+ }
+ }
+yy12:
+ {
+ YYSETCONDITION(STATE(INITIAL));
+ printf("Found spaces\n");
+ }
+yy13:
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych == '\t') {
+ ++YYCURSOR;
+ goto yy13;
+ }
+ if (yych == ' ') {
+ ++YYCURSOR;
+ goto yy13;
+ }
+ goto yy12;
+yy15:
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych <= '@') goto yy16;
+ if (yych <= 'Z') {
+ ++YYCURSOR;
+ goto yy17;
+ }
+ if (yych <= '`') goto yy16;
+ if (yych <= 'z') {
+ ++YYCURSOR;
+ goto yy17;
+ }
+yy16:
+ YYCURSOR = YYMARKER;
+ if (yyaccept == 0) {
+ goto yy12;
+ } else {
+ goto yy18;
+ }
+yy17:
+ yyaccept = 1;
+ YYMARKER = YYCURSOR;
+ if (YYLIMIT <= YYCURSOR) YYFILL(1);
+ yych = *YYCURSOR;
+ if (yych == '$') {
+ ++YYCURSOR;
+ goto yy15;
+ }
+yy18:
+ {
+ printf("Found $ or $\\<x>\n");
+ continue;
+ }
+ }
+ }
+
+ }
+}
+
+int main(int argc, char **argv)
+{
+ if (argc > 1)
+ {
+ return scan(argv[1], strlen(argv[1]));
+ }
+ else
+ {
+ fprintf(stderr, "%s <expr>\n", argv[0]);
+ return 1;
+ }
+}
+re2c: warning: line 44: rule in condition 'ST_VALUE' matches empty string [-Wmatch-empty-string]
diff --git a/test/yyaccept_missing.bci--eager-skip.re b/test/yyaccept_missing.bci--eager-skip.re
new file mode 100644
index 00000000..842a27e5
--- /dev/null
+++ b/test/yyaccept_missing.bci--eager-skip.re
@@ -0,0 +1,67 @@
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
+#define YYGETCONDITION() yy_state
+#define YYSETCONDITION(s) yy_state = s
+#define YYCTYPE char
+#define YYCURSOR p
+#define YYLIMIT (s+l)
+#define YYMARKER q
+#define YYFILL(n)
+
+#define STATE(name) yyc##name
+
+static enum YYCONDTYPE yy_state;
+
+/*!types:re2c */
+
+int scan(char *s, int l)
+{
+ char *p = s;
+ char *q = 0;
+ char *t;
+
+ for(;;)
+ {
+ t = p;
+/*!re2c
+ re2c:indent:top = 2;
+
+ TABS_AND_SPACES = [ \t]*;
+ LITERAL_DOLLAR = "$"[a-zA-Z];
+
+ <INITIAL>LITERAL_DOLLAR {
+ printf("FOUND %s\n", t);
+ continue;
+ }
+
+ <ST_VALUE>LITERAL_DOLLAR+ {
+ printf("Found $ or $\\<x>\n");
+ continue;
+ }
+
+ <ST_VALUE>TABS_AND_SPACES {
+ YYSETCONDITION(STATE(INITIAL));
+ printf("Found spaces\n");
+ }
+
+ <INITIAL>"\000" { printf("EOF\n"); return 0; }
+ <INITIAL>[^] { printf("ERR\n"); return 1; }
+
+*/
+ }
+}
+
+int main(int argc, char **argv)
+{
+ if (argc > 1)
+ {
+ return scan(argv[1], strlen(argv[1]));
+ }
+ else
+ {
+ fprintf(stderr, "%s <expr>\n", argv[0]);
+ return 1;
+ }
+}
diff --git a/test/yyaccept_missing.bci.c b/test/yyaccept_missing.bci.c
index 637e6cd6..71e7ba45 100644
--- a/test/yyaccept_missing.bci.c
+++ b/test/yyaccept_missing.bci.c
@@ -15,7 +15,6 @@
static enum YYCONDTYPE yy_state;
-
enum YYCONDTYPE {
yycINITIAL,
yycST_VALUE,
@@ -166,4 +165,4 @@ int main(int argc, char **argv)
return 1;
}
}
-re2c: warning: line 44: rule matches empty string [-Wmatch-empty-string]
+re2c: warning: line 44: rule in condition 'ST_VALUE' matches empty string [-Wmatch-empty-string]